summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2004-01-26 19:11:50 +0000
committerDavid Carlton <carlton@bactrian.org>2004-01-26 19:11:50 +0000
commit473f7a3bdf4431d8b738ec5e0f06df9745cfa278 (patch)
treea0d72108a597eec779cb5ada83ee40f11be3cb13
parentd24d1d3b1955a582cb0f6ca968a5ceec1d739986 (diff)
downloadbinutils-redhat-carlton_dictionary-branch.tar.gz
2004-01-26 David Carlton <carlton@kealia.com>carlton_dictionary-branch
* Merge with mainline; tag is carlton_dictionary-20040126-merge.
-rw-r--r--COPYING.NEWLIB56
-rw-r--r--Makefile.in396
-rw-r--r--bfd/ChangeLog11595
-rw-r--r--bfd/ChangeLog-020311405
-rw-r--r--bfd/acinclude.m410
-rw-r--r--bfd/bfd-in2.h34
-rw-r--r--bfd/coff-arm.c25
-rw-r--r--bfd/coff-h8300.c152
-rw-r--r--bfd/coffcode.h6
-rw-r--r--bfd/config.bfd19
-rwxr-xr-xbfd/configure31
-rw-r--r--bfd/configure.in3
-rw-r--r--bfd/doc/ChangeLog593
-rw-r--r--bfd/doc/ChangeLog-9103594
-rw-r--r--bfd/dwarf2.c331
-rw-r--r--bfd/elf32-arm.h185
-rw-r--r--bfd/elf32-cris.c13
-rw-r--r--bfd/elf32-frv.c2999
-rw-r--r--bfd/elf32-h8300.c210
-rw-r--r--bfd/elf32-i386.c77
-rw-r--r--bfd/elf32-m32r.c2754
-rw-r--r--bfd/elf32-m68k.c13
-rw-r--r--bfd/elf32-mips.c374
-rw-r--r--bfd/elf32-sparc.c30
-rw-r--r--bfd/elf32-vax.c11
-rw-r--r--bfd/elf64-mips.c230
-rw-r--r--bfd/elf64-ppc.c18
-rw-r--r--bfd/elflink.h5
-rw-r--r--bfd/elfn32-mips.c396
-rw-r--r--bfd/elfxx-ia64.c21
-rw-r--r--bfd/elfxx-mips.c258
-rw-r--r--bfd/elfxx-mips.h8
-rw-r--r--bfd/libbfd.h29
-rw-r--r--bfd/opncls.c22
-rw-r--r--bfd/peXXigen.c18
-rw-r--r--bfd/peicode.h38
-rw-r--r--bfd/reloc.c66
-rw-r--r--bfd/targets.c6
-rw-r--r--bfd/version.h2
-rw-r--r--config-ml.in3
-rw-r--r--config/ChangeLog7
-rwxr-xr-xconfig/acinclude.m480
-rwxr-xr-xconfigure86
-rw-r--r--configure.in20
-rw-r--r--gettext.m48
-rw-r--r--include/ChangeLog734
-rw-r--r--include/ChangeLog-91032737
-rw-r--r--include/aout/ChangeLog4
-rw-r--r--include/aout/stab.def29
-rw-r--r--include/coff/ChangeLog1159
-rw-r--r--include/coff/ChangeLog-91031160
-rw-r--r--include/demangle.h368
-rw-r--r--include/elf/ChangeLog1906
-rw-r--r--include/elf/ChangeLog-91031914
-rw-r--r--include/elf/common.h4
-rw-r--r--include/elf/frv.h18
-rw-r--r--include/elf/m32r.h54
-rw-r--r--include/fibheap.h5
-rw-r--r--include/opcode/ChangeLog3105
-rw-r--r--include/opcode/ChangeLog-91033102
-rw-r--r--include/opcode/h8300.h51
-rw-r--r--libiberty/ChangeLog192
-rw-r--r--libiberty/Makefile.in824
-rw-r--r--libiberty/README2
-rw-r--r--libiberty/config.in391
-rwxr-xr-xlibiberty/configure20
-rw-r--r--libiberty/configure.ac (renamed from libiberty/configure.in)20
-rw-r--r--libiberty/cp-demangle.c2375
-rw-r--r--libiberty/cp-demangle.h139
-rw-r--r--libiberty/cp-demint.c241
-rw-r--r--libiberty/cplus-dem.c23
-rw-r--r--libiberty/getpwd.c3
-rw-r--r--libiberty/lbasename.c20
-rw-r--r--libiberty/maint-tool17
-rw-r--r--libiberty/strdup.c2
-rw-r--r--libiberty/testsuite/demangle-expected2262
-rw-r--r--libiberty/testsuite/test-demangle.c164
-rw-r--r--opcodes/ChangeLog4330
-rw-r--r--opcodes/ChangeLog-00012224
-rw-r--r--opcodes/ChangeLog-02032110
-rw-r--r--opcodes/Makefile.am9
-rw-r--r--opcodes/Makefile.in15
-rw-r--r--opcodes/arm-opc.h5
-rw-r--r--opcodes/frv-asm.c276
-rw-r--r--opcodes/frv-desc.c7
-rw-r--r--opcodes/frv-desc.h6
-rw-r--r--opcodes/frv-opc.c3
-rw-r--r--opcodes/i386-dis.c6
-rw-r--r--opcodes/m10300-opc.c6
-rw-r--r--opcodes/msp430-dis.c6
-rw-r--r--opcodes/sh-dis.c2
-rw-r--r--opcodes/sparc-opc.c14
-rw-r--r--opcodes/z8k-dis.c69
93 files changed, 38392 insertions, 26978 deletions
diff --git a/COPYING.NEWLIB b/COPYING.NEWLIB
index e0eff07176..743c821059 100644
--- a/COPYING.NEWLIB
+++ b/COPYING.NEWLIB
@@ -670,7 +670,61 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-(27) Red Hat Incorporated
+(27) Konstantin Chuguev (--enable-newlib-iconv)
+
+Copyright (c) 1999, 2000
+ Konstantin Chuguev. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+ iconv (Charset Conversion Library) v2.0
+
+(27) Artem Bityuckiy (--enable-newlib-iconv)
+
+Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
+Rights transferred to Franklin Electronic Publishers.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(28) Red Hat Incorporated
Unless otherwise stated in each remaining newlib file, the remaining
files in the newlib subdirectory default to the following copyright.
diff --git a/Makefile.in b/Makefile.in
index 13d9be09b7..e9fa3d74d2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -446,6 +446,7 @@ BASE_FLAGS_TO_PASS = \
"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
"RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
"WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
+ "CONFIG_SHELL=$(SHELL)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"
# For any flags above that may contain shell code that varies from one
@@ -17608,6 +17609,7 @@ configure-build-libiberty:
AS="$(AS_FOR_BUILD)"; export AS; \
CC="$(CC_FOR_BUILD)"; export CC; \
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX_FOR_BUILD)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
@@ -17679,6 +17681,7 @@ configure-ash:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -17745,6 +17748,7 @@ configure-autoconf:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -17811,6 +17815,7 @@ configure-automake:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -17877,6 +17882,7 @@ configure-bash:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -17943,6 +17949,7 @@ configure-bfd:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18009,6 +18016,7 @@ configure-opcodes:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18075,6 +18083,7 @@ configure-binutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18141,6 +18150,7 @@ configure-bison:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18210,6 +18220,7 @@ configure-byacc:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18279,6 +18290,7 @@ configure-bzip2:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18345,6 +18357,7 @@ configure-dejagnu:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18411,6 +18424,7 @@ configure-diff:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18477,6 +18491,7 @@ configure-dosutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18539,6 +18554,7 @@ configure-etc:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18605,6 +18621,7 @@ configure-fastjar:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18674,6 +18691,7 @@ configure-fileutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18740,6 +18758,7 @@ configure-findutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18806,6 +18825,7 @@ configure-find:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18872,6 +18892,7 @@ configure-flex:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -18941,6 +18962,7 @@ configure-gas:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19007,6 +19029,7 @@ configure-gawk:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19073,6 +19096,7 @@ configure-gettext:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19139,6 +19163,7 @@ configure-gnuserv:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19205,6 +19230,7 @@ configure-gprof:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19271,6 +19297,7 @@ configure-gzip:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19337,6 +19364,7 @@ configure-hello:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19403,6 +19431,7 @@ configure-indent:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19469,6 +19498,7 @@ configure-intl:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19535,6 +19565,7 @@ configure-tcl:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19601,6 +19632,7 @@ configure-itcl:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19667,6 +19699,7 @@ configure-ld:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19733,6 +19766,7 @@ configure-libgui:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19799,6 +19833,7 @@ configure-libiberty:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19865,6 +19900,7 @@ configure-libtool:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19931,6 +19967,7 @@ configure-m4:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -19997,6 +20034,7 @@ configure-make:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20063,6 +20101,7 @@ configure-mmalloc:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20125,6 +20164,7 @@ configure-patch:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20191,6 +20231,7 @@ configure-perl:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20257,6 +20298,7 @@ configure-prms:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20323,6 +20365,7 @@ configure-rcs:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20389,6 +20432,7 @@ configure-readline:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20455,6 +20499,7 @@ configure-release:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20513,6 +20558,7 @@ configure-recode:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20579,6 +20625,7 @@ configure-sed:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20645,6 +20692,7 @@ configure-send-pr:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20711,6 +20759,7 @@ configure-shellutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20777,6 +20826,7 @@ configure-sid:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20843,6 +20893,7 @@ configure-sim:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20909,6 +20960,7 @@ configure-tar:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -20975,6 +21027,7 @@ configure-texinfo:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21037,6 +21090,7 @@ configure-textutils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21103,6 +21157,7 @@ configure-time:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21169,6 +21224,7 @@ configure-uudecode:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21235,6 +21291,7 @@ configure-wdiff:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21301,6 +21358,7 @@ configure-zip:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21370,6 +21428,7 @@ configure-zlib:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21428,6 +21487,7 @@ configure-gdb:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21494,6 +21554,7 @@ configure-expect:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21560,6 +21621,7 @@ configure-guile:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21626,6 +21688,7 @@ configure-tk:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21692,6 +21755,7 @@ configure-tix:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21758,6 +21822,7 @@ configure-libtermcap:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21820,6 +21885,7 @@ configure-utils:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
AR="$(AR)"; export AR; \
@@ -21897,6 +21963,7 @@ configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
@@ -21919,30 +21986,8 @@ configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libstdc++-v3 "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
libsrcdir="$$s/libstdc++-v3"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -21999,6 +22044,7 @@ configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22020,30 +22066,8 @@ configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/newlib "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/newlib"; \
libsrcdir="$$s/newlib"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22100,6 +22124,7 @@ configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22121,30 +22146,8 @@ configure-target-libf2c: $(TARGET_SUBDIR)/libf2c/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libf2c "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libf2c"; \
libsrcdir="$$s/libf2c"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22201,6 +22204,7 @@ configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22222,30 +22226,8 @@ configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libobjc "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libobjc"; \
libsrcdir="$$s/libobjc"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22302,6 +22284,7 @@ configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22399,6 +22382,7 @@ configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22420,30 +22404,8 @@ configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/winsup "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/winsup"; \
libsrcdir="$$s/winsup"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22500,6 +22462,7 @@ configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22521,30 +22484,8 @@ configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libgloss "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libgloss"; \
libsrcdir="$$s/libgloss"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22597,6 +22538,7 @@ configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22618,30 +22560,8 @@ configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libiberty"; \
libsrcdir="$$s/libiberty"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22698,6 +22618,7 @@ configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22719,30 +22640,8 @@ configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/gperf "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/gperf"; \
libsrcdir="$$s/gperf"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22799,6 +22698,7 @@ configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22820,30 +22720,8 @@ configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/examples "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/examples"; \
libsrcdir="$$s/examples"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22892,6 +22770,7 @@ configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -22913,30 +22792,8 @@ configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libffi "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libffi"; \
libsrcdir="$$s/libffi"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -22993,6 +22850,7 @@ configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
@@ -23015,30 +22873,8 @@ configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/libjava "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/libjava"; \
libsrcdir="$$s/libjava"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -23095,6 +22931,7 @@ configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -23196,6 +23033,7 @@ configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -23217,30 +23055,8 @@ configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/boehm-gc "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
libsrcdir="$$s/boehm-gc"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -23297,6 +23113,7 @@ configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -23318,30 +23135,8 @@ configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/qthreads "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/qthreads"; \
libsrcdir="$$s/qthreads"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -23398,6 +23193,7 @@ configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out
AS="$(AS_FOR_TARGET)"; export AS; \
CC="$(CC_FOR_TARGET)"; export CC; \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CFLAGS_FOR_TARGET)"; export CPPFLAGS; \
CXX="$(CXX_FOR_TARGET)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
@@ -23419,30 +23215,8 @@ configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out
*) topdir="../../$(srcdir)" ;; \
esac ;; \
esac; \
- if [ "$(srcdir)" = "." ] ; then \
- if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- if $(SHELL) $$s/symlink-tree $${topdir}/rda "no-such-file" ; then \
- if [ -f Makefile ]; then \
- if $(MAKE) distclean; then \
- true; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- else \
- exit 1; \
- fi; \
- else \
- true; \
- fi; \
- srcdiroption="--srcdir=."; \
- libsrcdir="."; \
- else \
srcdiroption="--srcdir=$${topdir}/rda"; \
libsrcdir="$$s/rda"; \
- fi; \
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) $${srcdiroption} \
@@ -23490,6 +23264,9 @@ install-target-rda: installdirs
# build modules. So GCC is a sort of hybrid.
# gcc is the only module which uses GCC_FLAGS_TO_PASS.
+# Don't use shared host config.cache, as it will confuse later
+# directories; GCC wants slightly different values for some
+# precious variables. *sigh*
.PHONY: configure-gcc maybe-configure-gcc
maybe-configure-gcc:
configure-gcc:
@@ -23499,6 +23276,7 @@ configure-gcc:
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
CC="$(CC)"; export CC; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
@@ -23832,7 +23610,7 @@ Makefile: $(srcdir)/Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
config.status: configure $(gcc_version_trigger)
- $(SHELL) ./config.status --recheck
+ CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
# Rebuilding configure.
AUTOCONF = autoconf
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index bb4c9ce908..00748f33cc 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,11299 +1,380 @@
-2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
- Nick Clifton <nickc@redhat.com>
+2004-01-23 Daniel Jacobowitz <drow@mvista.com>
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
- are set on known section types.
-
-2003-12-12 Nick Clifton <nickc@redhat.com>
+ * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
+ change.
- * po/ro.po: Updated translation.
+2004-01-21 Tom Rix <tcrix@worldnet.att.net>
-2003-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
- NULL dyn_h.
-
-2003-12-11 Nick Clifton <nickc@redhat.com>
-
- * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
-
-2003-12-08 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
- Remove casts that were only needed for K&R compatibility.
-
-2003-12-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
- "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
- Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
- * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
- and pass to output_symbol_hook.
- (elf_bfd_final_link): Adjust elf_link_output_sym calls.
- (elf_link_output_extsym): Likewise.
- (elf_link_input_bfd): Likewise.
- * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
- * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
- * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
- * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
- * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
- Validate dynh->h against h.
- * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
- (link_hash_newfunc): Init it.
- (adjust_opd_syms): New function.
- (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
- Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
- (ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
- (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
- (ppc64_elf_output_symbol_hook): New function.
- (elf_backend_link_output_symbol_hook): Define.
-
-2003-12-07 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
- Remove casts that were only needed for K&R compatibility.
-
-2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
- partial_inplace for these relocs to FALSE for comptability with
- the MS linker.
- Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
- generated by MS linker, and brings the relocation in line the MS
- PE documentation.
-
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
-
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use the
- need_relax_finalize field in link_info instead of
- relax_finalizing to check if the relax finalize pass is being
- done.
-
-2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
- Change ARM26* to ARM_26* in comments to match definitions.
- (coff_arm_adjust_symndx): Replace hard-coded constants with
- appropriate definitions (ARM_26*).
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
- * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
- (mn10300_elf_relax_section): Likewise.
- * nlm32-alpha.c (ONES): Define.
- (nlm32_alpha_howto_table): Use it to avoid warnings.
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_object_p): Delete.
- (elf_backend_object_p): Don't define.
- * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
- * elf32-sh.c (sh_elf_object_p): Likewise.
- * elf32-sparc.c (elf32_sparc_object_p): Likewise.
- * elf64-alpha.c (elf64_alpha_object_p): Likewise.
- * elf64-s390.c (elf_s390_object_p): Likewise.
- * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
-
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * archures.c (bfd_mach_m32r2): Add new machine type.
- * bfd-in2.h: Regenerate.
- * cpu-m32r.c : Add new machine type.
- * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
- m32r_elf_merge_private_bfd_data): Add support for new machine
- type.
-
-2003-12-03 Dave Airlie <airlied@linux.ie>
-
- * config.bfd: Add vax-linux-gnu target.
- * configure.in: Likewise.
- * configure: Regenerate.
-
-2003-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
- bfd_link_hash_entry field "next" -> "und_next".
- * linker.c (_bfd_link_hash_newfunc): Likewise.
- (bfd_link_add_undef): Likewise.
- (_bfd_generic_link_add_archive_symbols): Likewise.
- (_bfd_generic_link_add_one_symbol): Likewise.
- * xcofflink.c (xcoff_link_add_symbols): Likewise.
-
-2003-12-02 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add ro.
- * po/ro.po: New Romanian translation.
-
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
-
- * coffcode.h (coff_compute_section_file_positions): Set page_size
- to 1 instead of 0 in the case file alignment value is zero.
-
-2003-12-01 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-rs6000.c: Remove ARGSUSED and VARARGS.
- * coff64-rs6000.c: Likewise.
- * coffcode.h: Likewise.
- * elf32-vax.c: Likewise.
- * hash.c: Likewise.
- * hppabsd-core.c: Likewise.
- * hpux-core.c: Likewise.
- * ihex.c: Likewise.
- * netbsd-core.c: Likewise.
- * osf-core.c: Likewise.
- * pdp11.c: Likewise.
- * ptrace-core.c: Likewise.
- * sco5-core.c: Likewise.
- * section.c: Likewise.
- * sunos.c: Likewise.
- * trad-core.c: Likewise.
-
-2003-12-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
- * elf.c (_bfd_elf_merge_sections): Adjust to suit.
- (_bfd_elf_link_just_syms): Likewise.
- (bfd_elf_get_needed_list): Likewise.
- (bfd_elf_get_runpath_list): Likewise.
- (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
- * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
- creator flavour.
- (elf32_hppa_set_gp): Look up output sections rather than using htab.
- * elf32-i960.c: Comment fix. Formatting.
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
- rather than testing creator flavour.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
- is_elf_hash_table change. Remove redundant test.
- (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
- testing creator flavour.
- (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
- (_bfd_elf_fix_symbol_flags): Likewise.
- (_bfd_elf_adjust_dynamic_symbol): Likewise.
- * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
- checks. Use is_elf_hash_table rather than testing creator flavour.
- Use hash_table throughout in place of info->hash.
- (elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
- check.
- (elf_bfd_final_link): Adjust for is_elf_hash_table change.
- (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
- testing creator flavour.
- (elf_gc_sections): Add is_elf_hash_table check.
- (elf_gc_common_finalize_got_offsets): Likewise.
- (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
- redundant check.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
- rather than testing creator flavour.
-
-2003-11-28 Christian Groessler <chris@groessler.org>
-
- * cpu-z8k.c: Convert to ISO C90.
- * coff-z8k.c: Likewise.
-
-2003-11-27 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
- Add link info argument.
- * elf32-i370.c (elf_backend_modify_segment_map): Likewise.
- * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
- * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
- * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
- * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
- * elf.c (assign_file_positions_except_relocs,
- assign_file_positions_for_segments): Likewise. Adjust calls.
-
-2003-11-27 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
- of the note.
-
-2003-11-26 Daniel Jacobowitz <drow@mvista.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
- (mips_elf_set_no_stub): New function.
- (mips_elf_multi_got): Call it.
- (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
- a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
- use mips_elf_create_dynamic_relocation to deal with any compatibility
- issues. Store the adjusted addend in the GOT slot.
-
-2003-11-25 Mattias Engdegård <mattias@virtutech.se>
-
- * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
- procesing N_BINCL stabs.
-
-2003-11-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
- ppc_stub_plt_call to symbols defined in shared libs.
-
-2003-11-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
- * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- (elf_i386_check_relocs): Set it.
- (elf_i386_finish_dynamic_symbol): If it is not set,
- clear st_value of SHN_UNDEF symbol.
-
-2003-11-20 Jim Blandy <jimb@redhat.com>
-
- * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
- family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
-
-2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
- section for reloc output and subtract the output section's address
- from the addend when converting a relocation into one against a
- section symbol.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
-
-2003-11-18 James E Wilson <wilson@specifixinc.com>
-
- * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
- (elfNN_ia64_size_dynamic_sections): When stripping sections, check
- for ia64_info->rel_fptr_sec.
-
-2003-11-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
- size is zero.
-
-2003-11-17 Daniel Jacobowitz <drow@mvista.com>
-
- * elf.c (_bfd_elf_link_hash_copy_indirect): Copy
- ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
- * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
- * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
- * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
- * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
- (elf_backend_copy_indirect_symbol): Don't define.
-
-2003-11-14 Daniel Jacobowitz <drow@mvista.com>
-
- * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
- GOT entries.
-
-2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
- to R_390_RELATIVE. Convert the other relocations against local
- symbols to relocations against the start of the section.
- * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
- to R_390_RELATIVE. Convert the other relocations against local
- symbols to relocations against the start of the section.
-
-2003-11-11 Nick Clifton <nickc@redhat.com>
-
- * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
- info->executable not info->shared to decide if a .interp section
- should be present.
- * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
- * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
- * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
- * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
- * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
- * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
- * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
- * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
- * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
- * elflink.h (size_dynamic_sections): Likewise.
-
-2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
- (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If
- found initialise the tls data directory entry.
-
-2003-11-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_install_value): Delete.
- (shared_stub_entry, stub_entry): Make them arrays of ints.
- Remove initial branch.
- (ppc_elf_relax_section): Write one branch around all trampolines
- instead. Correct bogus R_PPC_PLTREL24 handling. Correct
- branch range check. Only use shared_stub_entry when shared.
- Test that branches can reach stubs. Write trampolines out at
- end so that just one realloc is used. Handle little-endian
- mode. Move relevant code from ppc_elf_install_value to here.
- (ppc_elf_relocate_section): Move code handling RELAX32 from
- ppc_elf_install_value to here.
-
-2003-11-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
- (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
- cases.
- (shared_stub_entry): Correct opcode.
- (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
- (ppc_elf_relocate_section): Handle them.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
- updated section in case of merged section.
- * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
- * elf-hppa.h (elf_hppa_relocate_section): Adjust call.
- * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
- * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise.
- * elf32-avr.c (elf32_avr_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
- * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_relocate_section) Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
- * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
- section for reloc output.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
- for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
- return value.
- * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
- sec->id.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
- (elf32_d10v_relocate_section): Use them to handle -r reloc
- adjustments, and in place of _bfd_elf_rela_local_sym.
-
- * cpu-iq2000.c (arch_info_struct): Warning fix.
-
-2003-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
- (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
- weakdefs.
- (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
- (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
- NON_GOT_REF.
- (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
- SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
- non-default visibility.
- (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
- SYMBOL_CALLS_LOCAL.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
- * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
- * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
- * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
- * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
- * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
- * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
-
- * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
- "dereferencing type-punned pointer" warnings.
-
- * aout-adobe.c (aout_adobe_set_section_contents): Constify location.
- * aoutx.h (NAME(aout,set_section_contents)): Ditto.
- * bfd-in2.h: Regenerate.
- * binary.c (binary_set_section_contents): Ditto.
- * bout.c (b_out_set_section_contents): Ditto.
- * coff-tic54x.c (tic54x_set_section_contents): Ditto.
- * coffcode.h (coff_set_section_contents): Ditto.
- * ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
- * elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
- * elf.c (_bfd_elf_set_section_contents): Ditto.
- * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
- * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
- * i386msdos.c (msdos_set_section_contents): Ditto.
- * ieee.c (ieee_set_section_contents): Ditto.
- * ihex.c (ihex_set_section_contents): Ditto.
- * libaout.h (NAME(aout,set_section_contents)): Ditto.
- * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
- (_bfd_generic_set_section_contents): Ditto.
- * libbfd.h: Regenerate.
- * libbfd.c (_bfd_generic_set_section_contents): Ditto.
- * libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
- * libnlm.h (nlmNAME(set_section_contents)): Ditto.
- (struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
- * mmo.c (mmo_set_section_contents): Ditto.
- * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
- * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
- * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
- * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
- * nlmcode.h (nlm_set_section_contents): Ditto.
- * oasys.c (oasys_set_section_contents): Ditto.
- * pdp11.c (NAME(aout,set_section_contents)): Ditto.
- * ppcboot.c (ppcboot_set_section_contents): Ditto.
- * srec.c (srec_set_section_contents): Ditto.
- * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
- * tekhex.c (tekhex_set_section_contents): Ditto.
- (move_section_contents): Ditto.
- * versados.c (versados_set_section_contents): Ditto.
- * vms-misc.c (_bfd_save_vms_section): Ditto.
- * vms.c (vms_set_section_contents): Ditto.
- * vms.h (_bfd_save_vms_section): Ditto.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
- rather than htab.
- (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
- relbrlt size.
- (ppc64_elf_build_stubs): Allocate space for relbrlt.
-
-2003-11-04 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (_bfd_elf_tls_setup): Declare.
- * bfd-in2.h: Regenerate.
- * elf-bfd.h (struct elf_link_tls_segment): Delete.
- (struct elf_link_hash_table): Add tls_sec and tls_size.
- * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
- * elflink.c (_bfd_elf_tls_setup): New function.
- * elflink.h (struct elf_final_link_info): Remove first_tls_sec.
- (elf_bfd_final_link): Don't set first_tls_sec here. Update code
- saving tls segment info, round segment size up.
- (elf_link_output_extsym): Adjust code using tls segment info.
- (elf_link_input_bfd): Likewise.
- * elf32-i386.c (dtpoff_base, tpoff): Likewise.
- * elf32-s390.c (dtpoff_base, tpoff): Likewise.
- * elf32-sh.c (dtpoff_base, tpoff): Likewise.
- * elf32-sparc.c (dtpoff_base, tpoff): Likewise.
- * elf64-s390.c (dtpoff_base, tpoff): Likewise.
- * elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
- * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
- (elfNN_ia64_dtprel_base): Likewise.
- * elf64-alpha.c (alpha_get_dtprel_base): Likewise.
- (alpha_get_tprel_base): Likewise.
- (struct alpha_relax_info): Remove tls_segment.
- (elf64_alpha_relax_got_load): Adjust invocation of
- alpha_get_dtprel_base and alpha_get_tprel_base.
- (elf64_alpha_relax_tls_get_addr): Likewise.
- (elf64_alpha_relax_section): Likewise.
- (elf64_alpha_relocate_section): Likewise.
- (elf64_alpha_relax_find_tls_segment): Delete.
- * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
- (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
- (ppc_elf_relocate_section): Adjust to use elf.tls_sec.
- * elf32-ppc.h (ppc_elf_tls_setup): Update.
- * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
- (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
- (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
- (ppc64_elf_relocate_section): Likewise.
- * elf64-ppc.h (ppc64_elf_tls_setup): Update.
-
-2003-11-03 Daniel Jacobowitz <drow@mvista.com>
-
- * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
- * elf-m10300.c (elf_backend_plt_header_size): Don't define.
- * elf32-arm.h (elf_backend_plt_header_size): Don't define.
- * elf32-cris.c (elf_backend_plt_header_size): Don't define.
- * elf32-i386.c (elf_backend_plt_header_size): Don't define.
- * elf32-mips.c (elf_backend_plt_header_size): Don't define.
- * elf32-ppc.c (elf_backend_plt_header_size): Don't define.
- * elf32-s390.c (elf_backend_plt_header_size): Don't define.
- * elf32-sh.c (elf_backend_plt_header_size): Don't define.
- * elf32-sparc.c (elf_backend_plt_header_size): Don't define.
- * elf64-alpha.c (elf_backend_plt_header_size): Don't define.
- * elf64-hppa.c (elf_backend_plt_header_size): Don't define.
- * elf64-mips.c (elf_backend_plt_header_size): Don't define.
- * elf64-ppc.c (elf_backend_plt_header_size): Don't define.
- * elf64-s390.c (elf_backend_plt_header_size): Don't define.
- * elf64-sh64.c (elf_backend_plt_header_size): Don't define.
- * elf64-sparc.c (elf_backend_plt_header_size): Don't define.
- * elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
- * elfn32-mips.c (elf_backend_plt_header_size): Don't define.
- * elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
- * elfxx-target.h (elf_backend_plt_header_size): Don't define
- or include in target initializer.
-
-2003-11-03 Andrew Cagney <cagney@redhat.com>
-
- * section.c (bfd_set_section_contents): Make the "location" buffer
- constant.
- * bfd-in2.h: Re-generate.
-
-2003-10-30 Andrew Cagney <cagney@redhat.com>
-
- * syms.c: Replace "struct symbol_cache_entry" with "struct
- bfd_symbol".
- * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
- * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
- * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
- * bfd-in2.h: Re-generate.
-
-2003-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c: Include objalloc.h, hashtab.h.
- (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
- fields.
- (struct elfNN_ia64_local_hash_table): Remove.
- (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
- to htab_t. Add loc_hash_memory field.
- (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
- Removed.
- (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
- functions.
- (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
- loc_hash_table. Initialize loc_hash_memory.
- (elfNN_ia64_hash_table_free): New function.
- (elfNN_ia64_local_hash_lookup): Remove.
- (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
- callback.
- (elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
- (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
- (bfd_elfNN_bfd_link_hash_table_free): Define.
-
-2003-10-30 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
- symbol string in place.
-
-2003-10-30 Jim Blandy <jimb@redhat.com>
-
- * cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
- object's mach field: all PowerPC machines are supersets of the
- original rs6000, but not later rs6000 machines.
-
-2003-10-30 Alan Modra <amodra@bigpond.net.au>
-
- * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
- Add "val" and "sval" fields.
- (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
- (read_attribute_value): Expand and adjust DW_* occurrences.
- (scan_unit_for_functions, parse_comp_unit): Likewise.
-
-2003-10-30 Phil Edwards <phil@codesourcery.com>
-
- * config.bfd (arm-*-vxworks): Remove separate stanza; merge with
- other common ELF triples.
- (i[3-7]86-*-vxworks): Change to ELF format.
- (mips*-*-windiss): New triple, add to common MIPS/ELF stanza.
- (sh-*-vxworks): New stanza.
-
-2003-10-30 Lars Knoll <lars@trolltech.com>
- Michael Matz <matz@suse.de>
- Jakub Jelinek <jakub@redhat.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * merge.c (struct sec_merge_sec_info): Update comment.
- (struct sec_merge_hash_entry): Remove entsize.
- (sec_merge_hash_lookup): Only adjust alignment when creating.
- (sec_merge_emit): Remove register keyword.
- (cmplengthentry, last4_eq, last_eq): Delete.
- (strrevcmp, strrevcmp_align, is_suffix): New.
- (merge_strings): Use them to implement fast suffix merging.
- * elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
- Make "len" signed.
- (_bfd_elf_strtab_add): Lose on >2G strings.
- (_bfd_elf_strtab_emit): Don't emit strings with len < 0.
- (cmplengthentry, last4_eq): Delete.
- (strrevcmp, is_suffix): New.
- (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
-
-2003-10-29 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Move check for
- SEC_ALLOC.
-
-2003-10-29 Philip Blundell <philb@gnu.org>
-
- * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
- code sequence.
- (PLT_HEADER_SIZE): New.
- (struct elf32_arm_pcrel_relocs_copied): Rename to ...
- (struct elf32_arm_relocs_copied): ... this. Count both
- pcrel and non-pcrel relocs. All uses updated.
- (struct elf32_arm_link_hash_table): Add pointers to dynamic linker
- sections and symbol/section mapping cache.
- (create_got_section): New.
- (elf32_arm_create_dynamic_sections): New.
- (elf_backend_create_dynamic_sections): Use it.
- (elf32_arm_final_link_relocate): Support garbage collection of relocs.
- (elf32_arm_check_relocs): Likewise.
- (elf32_arm_adjust_dynamic_symbol): Likewise.
- (elf32_arm_copy_indirect_symbol): New.
- (elf32_arm_link_hash_table_create): Initialise new fields.
- (elf32_arm_gc_sweep_hook): Implement.
- (elf32_arm_discard_copies): Delete.
- (elf32_arm_finish_dynamic_symbol): Use new PLT code.
- (elf32_arm_finish_dynamic_sections): Likewise.
- (elf_backend_can_refcount): Define.
- (elf_backend_copy_indirect_symbol): Likewise.
- (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
-
-2003-10-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (elf_backend_grok_prstatus): Define.
- (elf_backend_grok_psinfo): Define.
- (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
-
- * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
- sections with the same name.
- (elfcore_grok_lwpstatus): Likewise.
- (elfcore_grok_win32pstatus): Likewise.
- (elfcore_grok_note): Likewise.
- (elfcore_grok_nto_status): Likewise.
- (elfcore_grok_nto_gregs): Likewise.
-
-2003-10-27 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
- objects.
-
-2003-10-14 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
-
-2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
- hash table for real symbols.
-
-2003-10-23 Michael Snyder <msnyder@redhat.com>
-
- * section.c (asection): Fix typo in comment.
-
-2003-10-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
- reloc symbol index to it. Don't allow gd syms in shared libs
- to be optimized.
- (ppc64_elf_tls_optimize): Adjust get_tls_mask call.
- (ppc64_elf_size_stubs): Likewise.
- (ppc64_elf_relocate_section): Check that tls relocs are only used
- with tls syms, and similarly for non-tls. Correct symbol used
- when optimizing toc tls code.
-
-2003-10-22 Nick Clifton <nickc@redhat.com>
-
- * peicode.h (coff_swap_scnhdr_in): Only remove padding when
- processing an executable.
-
-2003-10-22 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
- field changes.
- (_bfd_elf_link_assign_sym_version): Likewise.
- * elflink.h (size_dynamic_sections): Likewise.
-
-2003-10-21 Alexandre Oliva <aoliva@redhat.com>,
- Michael Snyder <msnyder@redhat.com>
-
- * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
- bfd_mach_sh4a_nofpu): New machine types.
- * bfd-in2.h: Rebuilt.
- * cpu-sh.c (compatible): Remove unused function.
- (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
- (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
- * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
-
-2003-10-21 Wouter van Heyst <wouter@vidicode.nl>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
- describing mismatched formats involving the Maverick FP type.
-
-2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
-
- * binary.c (binary_object_p): Pass machine flag along with
- architecture.
-
-2003-10-21 Thorsten Brehm <brehm@gmx.net>
-
- * archures.c (bfd_default_scan): Add support for mcf528x.
- * ieee.c (ieee_write_processor): Likewise.
-
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
-
- * archures.c: Add MCF528x (MCFv4) support.
- * bfd/cpu-m68k.c (arch_info_struct): Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-10-20 Andrew Cagney <cagney@redhat.com>
-
- * targets.c: Replace "struct sec" with "struct bfd_section"
- * syms.c, sparclynx.c, section.c, opncls.c: Ditto.
- * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
- * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
- * aout-tic30.c, aout-target.h:
- * bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
-
-2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
-
- Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
- * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
- (struct _mmix_elf_section_data): New member pjs.
- (mmix_set_relaxable_size, mmix_elf_get_section_contents): New
- functions.
- (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
- (mmix_reloc_map): Ditto.
- (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
- (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
- (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
- unused.
- (mmix_elf_check_relocs): Move early return to after
- mmix_elf_check_common_relocs call.
- (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
- (_bfd_mmix_before_linker_allocation): Rename from
- _bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
- Arrange to set the initial relaxable size of sections.
- (_bfd_mmix_after_linker_allocation): Rename from
- _bfd_mmix_finalize_linker_allocated_gregs.
- (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
- (bfd_elf64_get_section_contents): Define.
- * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
- * libbfd.h, bfd-in2.h: Regenerate.
-
- * reloc.c (bfd_generic_relax_section): Default-set
- section->_cooked_size here.
- (bfd_generic_get_relocated_section_contents): Don't set it here.
- Explain why.
-
-2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
- output section has been discarded.
-
-2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
-
- * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
- (h8300_reloc16_extra_cases): Likewise.
- (h8300_bfd_link_add_symbols): Likewise.
-
-2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * cpu-h8300.c (h8300sxn_info_struct): Correct address size.
- (h8300sn_info_struct): Likewise.
- (h8300hn_info_struct): Likewise.
-
-2003-10-16 Pavel Roskin <proski@gnu.org>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
- for sections which lack size info.
-
-2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
- mingw32.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
- undefined patterns with '*'.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
- use the last CIE from a different section.
- (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
- size of the output section.
-
-2003-10-07 Roland McGrath <roland@redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
- new section from p_align header field.
-
-2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-xtensa.c (xtensa_read_table_entries): The external size
- of entry is 8 bytes.
-
-2003-10-15 Andrew Cagney <cagney@redhat.com>
-
- * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
- with NAME##_canonicalize_symtab.
- * libcoff-in.h (coff_canonicalize_symtab): Update.
- * xsym.h (bfd_sym_canonicalize_symtab): Update.
- * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
- * coffgen.c (coff_canonicalize_symtab): Update.
- * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
- * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
- * ieee.c (ieee_vec): Update comment.
- * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
- * mmo.c (mmo_canonicalize_symtab): Update.
- * nlm-target.h (nlm_canonicalize_symtab): Update.
- * nlmcode.h (nlm_canonicalize_symtab): Update.
- * i386msdos.c (msdos_canonicalize_symtab): Update.
- * hp300hpux.c (MY (canonicalize_symtab)): Update.
- * oasys.c (oasys_canonicalize_symtab): Update.
- * som.c (som_canonicalize_symtab): Update.
- * pef.c (bfd_pef_canonicalize_symtab): Update.
- * nlmcode.h (nlm_canonicalize_symtab): Update.
- * xsym.c (bfd_sym_canonicalize_symtab): Update.
- * vms.c (vms_canonicalize_symtab): Update.
- * versados.c (versados_canonicalize_symtab): Update.
- * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
- * ieee.c (ieee_canonicalize_symtab): Update.
- * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
- * reloc.c: Update comment.
- * libaout.h (NAME(aout,canonicalize_symtab)): Update.
- * coff64-rs6000.c (aix5coff64_vec): Update.
- * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
- * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
- * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
- * hp300hpux.c (MY_canonicalize_symtab): Update.
- * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
- * aout-tic30.c (MY_canonicalize_symtab): Update.
- * aout-target.h (MY_canonicalize_symtab): Update.
- * ppcboot.c (ppcboot_canonicalize_symtab): Update.
- * elf.c (_bfd_elf_canonicalize_symtab): Update.
- * elfcode.h (elf_canonicalize_symtab): Update.
- * ihex.c (ihex_canonicalize_symtab): Update.
- * tekhex.c (tekhex_canonicalize_symtab): Update.
- * binary.c (binary_canonicalize_symtab): Update.
- * srec.c (srec_canonicalize_symtab): Update.
-
-2003-10-15 Kazu Hirata <kazu@cs.umass.edu>
-
- * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
-
-2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
- relocations.
- (sh_elf_check_relocs): Likewise.
-
- * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
- (sh64_elf_merge_symbol_attribute): New.
- * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
- (sh64_elf64_merge_symbol_attribute): New.
-
-2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf-bfd.h (struct elf_backend_data): New function pointer member
- elf_backend_merge_symbol_attribute.
- * elflink.h (elf_link_add_object_symbols): Adjust call to
- elf_backend_merge_symbol_attribute if the backend defined it.
- * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
- (elfNN_bed): Add that to the initializer.
-
-2003-10-14 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (get_is_linkonce_section): Delete.
- (xtensa_is_property_section, xtensa_is_littable_section): Use
- XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
- linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
- (xtensa_get_property_section_name): Check section name instead of
- calling get_is_linkonce_section. Remove unused bfd parameter. Use
- XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
- linkonce section names by appending ".xt.insn" or ".xt.lit".
- (xtensa_read_table_entries): Remove bfd argument in call to
- xtensa_get_property_section_name. Free section name when done.
- (elf_xtensa_combine_prop_entries): Free leaking table.
-
-2003-10-13 Richard Sandiford <rsandifo@redht.com>
-
- * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
- DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
- (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
- handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
- that were needed.
- (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
- (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
-
-2003-10-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
- (bfd_elf64_ia64_after_parse): Likewise.
- * bfd-in2.h: Regenerated.
-
- * elfxx-ia64.c (oor_ip): New.
- (oor_branch_size): Likewise.
- (bfd_elfNN_ia64_after_parse): Likewise.
- (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
- equals sizeof (oor_ip).
-
-2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
- renumbering of some relocation numbers.
-
-2003-10-11 Alan Modra <amodra@bigpond.net.au>
-
- * coff-sh.c: Move definition of MAP and guard more code with
- COFF_IMAGE_WITH_PE.
-
- * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
- * bfd-in2.h: Regenerate.
-
-2003-10-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Likewise.
-
-2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * cofflink.c: Include "safe-ctype.h".
- (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
-
-2003-10-08 Dave Brolley <brolley@redhat.com>
- On behalf of Michael Snyder <msnyder@redhat.com>
-
- * archures.c: Add FRV fr550 machine.
- * cpu-frv.c: Ditto.
- * elf32-frv.c: Ditto.
- * bfd-in2.h: Regenerate.
-
-2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
- for non-SGI N64 ABI. Improve code consitency.
-
-2003-10-07 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
- rightshift to 2.
-
-2003-10-07 Nathan Sidwell <nathan@codesourcery.com>
-
- * libbfd-in.h (_bfd_link_section_stabs): Add string offset
- parameter.
- * cofflink.c (coff_link_add_symbols): Deal with split stab
- sections.
- * elflink.h (elf_link_add_object_symbols): Deal with split stab
- sections.
- * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
- * libbfd.h: Regenerated.
-
- * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
- overflow, set reloc start position to after the count
- reloc. Subtract one from num relocs. Give error on 0xffff relocs
- and no overflow.
- * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
- overflow.
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
- 0xffff.
-
-2003-10-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
- last CIE/FDE if needed.
-
-2003-10-06 Nick Clifton <nickc@redhat.com>
-
- * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
- BFD64 is enabled.
-
-2003-10-06 Matt Thomas <matt@3am-software.com>
-
- * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
-
-2003-10-06 Robert Millan <robertmh@gnu.org>
-
- * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
- * config.bfd: Likewise.
- * configure: Regenerate.
-
-2003-10-04 Christian Groessler <chris@groessler.org>
-
- * coff-z8k.c (extra_case): Fix displacement length check for R_JR
- and R_CALLR.
-
-2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc12.c: Likewise.
- * elf32-m68hc1x.h: Likewise.
-
-2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
- of flags between HC12 and HCS12.
-
-2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
-
- * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
- which become empty after merging.
-
-2003-09-30 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
- R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * archures.c (bfd_mach_mipsisa64r2): New define.
- * bfd-in2.h: Regenerate.
- * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
- * cpu-mips.c (I_mipsisa64r2): New enum value.
- (arch_info_struct): Add entry for I_mipsisa64r2.
- * elfxx-mips.c (_bfd_elf_mips_mach)
- (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
- (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
- (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
-
-2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
- Handle SHN_IA_64_ANSI_COMMON.
- (elf_backend_section_from_bfd_section): Defined.
-
-2003-09-26 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (elf_link_read_relocs_from_section): Add an argument
- of a pointer to section. Check bad symbol index.
- (_bfd_elf_link_read_relocs): Modify calls to
- elf_link_read_relocs_from_section.
-
-2003-09-23 DJ Delorie <dj@redhat.com>
-
- * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
- R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
- R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
- R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
- R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
- R_SH_PSHA, R_SH_PSHL added.
- (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
- (sh_elf_relocate_section): Support new relocs.
-
-2003-09-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
- dynamic relocation offsets.
-
-2003-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Free the
- hash table using _bfd_generic_link_hash_table_free.
-
-2003-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
- type of prefix_length and suffix_length to int. Rename "attributes"
- to "attr". Comment.
- (_bfd_elf_get_sec_type_attr): Update prototype.
- * elf.c (get_special_section): Rewrite.
- (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
- attr and type pointers.
- (_bfd_elf_new_section_hook): Adjust for above.
- (special_sections): Merge suffix with prefix. Set
- prefix_length for all entries. Set suffix_length appropriately.
- * elf32-m32r.c (m32r_elf_special_sections): Likewise.
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
- * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
- * elf32-mcore.c (mcore_elf_special_sections): Likewise.
- * elf32-sh64.c (sh64_elf_special_sections): Likewise.
- * elf32-v850.c (v850_elf_special_sections): Likewise.
- * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
- * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
- * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
- * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
- * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
- * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
- * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
-
-2003-09-21 Daniel Jacobowitz <drow@mvista.com>
-
- * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
- ->got if the section already exists.
-
-2003-09-19 Nathan Sidwell <nathan@codesourcery.com>
-
- * dwarf2.c (decode_line_info): Cope with an initially empty
- filename table.
-
-2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * acinclude.m4: Include ../config/accross.m4.
- * aclocal.m4: Regenerated.
-
- * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
- or long long.
- (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
- (host64): Remove if HOST_64BIT_TYPE is set to long.
-
- * configure.in (HOST_64BIT_TYPE): Set according to the size of
- long and long long.
- (HOST_U_64BIT_TYPE): Likewise.
- (host64): Likewise.
- * configure: Regenerated.
-
-2003-09-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
- since some ABIs round up the size of the struct.
-
-2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_merge_symbol): Allow type change if
- the old symbol is undefined and the new symbol is defined.
-
-2003-09-18 Andreas Schwab <schwab@suse.de>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Use
- _bfd_generic_link_hash_table_create instead of
- bfd_link_hash_table_create.
-
-2003-09-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
- started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
-
-2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
- Randolph Chung <randolph@tausq.org>
-
- * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
- hppa_link_hash_newfunc, hppa_build_one_stub,
- elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
- allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
- elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
- for generating import stubs for calls to statically linked PIC
- functions.
- (hppa_type_of_stub): Don't generate an import stub for calls to
- statically linked pic functions. Generate import stubs for calls
- in a shared object, to functions not in a regular file, and to
- defined weak functions. Add new argument INFO.
- (hppa_build_one_stub): Don't undef ADDIL_DP.
- (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
- (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
- (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
- non-shared link. Convert instructions that use the the linkage table
- pointer, or a facsimile thereof, to use the global data pointer when
- the reloc has been changed.
-
-2003-09-08 Joel Brobecker <brobecker@gnat.com>
-
- * archures.c: Add new machine names for hppa.
- * bfd-in2.h: Regenerate.
- * cpu-hppa.c: Use the new machine names.
-
-2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
- all_local_syms member.
- * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
- to get the local symbols.
-
-2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
- (elf_backend_special_sections): Define.a
-
- PR savannah/4950:
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
- section is read-only.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_v850e1): Define.
- * bfd-in2.h: Regenerate.
- * cpu-v850.h (scan): Accept bfd_mach_v850e1.
- (arch_info_struct): Include an entry for bfd_mach_v850e1.
- * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
- (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
- (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
- (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
- linked with v850e binaries. Mark the output as v850e.
-
-2003-09-03 Nick Clifton <nickc@redhat.com>
-
- * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
- symbols that are used in relocs.
-
-2003-08-30 Robert Millan <robertmh@gnu.org>
-
- * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
- * config.bfd: Likewise.
- * configure: Regenerate.
-
-2003-08-31 Christian Groessler <chris@groessler.org>
-
- * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
- instead of returning bfd_reloc_continue.
-
-2003-08-31 Andreas Jaeger <aj@suse.de>
-
- * merge.c: Update to ISO C90.
-
-2003-08-27 Ian Lance Taylor <ian@airs.com>
-
- * configure.in: Check for strtoull.
- * bfd.c (bfd_scan_vma): Use strtoull when available.
- * configure, config.in: Regenerate.
-
- * configure.in: Define and substitute BFD_HOST_LONG_LONG.
- * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
- __GNUC__ when deciding whether to use long long for
- BFD_HOST_64_BIT.
- * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
-
-2003-08-27 Christian Groessler <chris@groessler.org>
-
- * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
- i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
- functions.
- (elf32_i860_howto_table): Insert the new functions as
- 'special_function's in the proper reloc type entries.
-
-2003-08-27 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-frv.c (elf32_frv_relocate_section): Use
- _bfd_elf_rela_local_sym.
-
-2003-08-26 Michael Snyder <msnyder@redhat.com>
-
- * cpu-frv.c: Remove unused enum.
-
-2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * reloc.c: Fix documentation for MIPS ELF relocations.
- libbfd.h: Regenerate.
- bfd-in2.h: Regenerate.
-
-2003-08-24 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c (CALC_ADDEND): Define to be a no-op.
-
-2003-08-24 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
- shift by 2 before storing the relocated value.
-
-2003-08-23 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c (coff_i860_reloc_nyi): New function.
- (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
- LOWn, SPLITn, and BRADDR.
- (RTYPE2HOWTO): Check that the r_type is within the howto_table
- before trying to access the entry.
- (coff_i860_rtype_to_howto): Likewise.
- (coff_i860_reloc_type_lookup): New function.
- (i860_reloc_processing): New function.
- (coff_bfd_reloc_type_lookup): Define macro.
- (RELOC_PROCESSING): Define macro.
- Minor formatting adjustments.
-
-2003-08-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
-
-2003-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
- .got section at 8 bytes.
-
-2003-08-21 Nick Clifton <nickc@redhat.com>
-
- * cofflink.c: Update to ISO C90 and tidy up formatting.
-
-2003-08-21 Randolph Chung <tausq@debian.org>
-
- * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
- can have OSABI=Linux or OSABI=SysV. Check for both.
- * elf64-hppa.c (elf64_hppa_object_p): Likewise.
-
-2003-08-21 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2003-08-20 Richard Sandiford <rsandifo@redhat.com>
-
- * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
-
-2003-08-20 Nick Clifton <nickc@redhat.com>
-
- * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
- replace some duplicated code in most elfxx-xxxx.c files. This
- version uses the new fields in bfd_link_info.
-
- * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
- * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
- elf_hppa_remark_useless_dynamic_symbols,
- elf_hppa_relocate_section): Use the new fields in
- bfd_link_info structure.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
- * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
-
- * elflink.h (elf_link_output_extsym): Fix test for reporting
- undefined symbols in shared libraries. Remove redundant test
- of shlib_undefined when reporting references to forced local
- symbols.
-
-2003-08-18 Andreas Schwab <schwab@suse.de>
-
- * libpei.h (bfd_pe_executable_p): Also recognize efi-app
- executables.
-
-2003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Move
- reloc_done hack to before first bfd_section_size call. Change all
- returns to use new wrapper macro RETURN, restoring sec->reloc_done.
-
-2003-08-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Don't include elf/ppc.h.
-
-2003-08-14 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
- code to work with 64-bit bfds.
-
-2003-08-14 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Remove libintl.h.
- * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
- (POTFILES.in): Remove target.
- * Makefile.in: Regenerate.
-
-2003-08-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
- (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
- use the function sym from the previous reloc.
-
-2003-08-11 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
- fatal if -pie.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
- on undefined symbols if -pie.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
-
-2003-08-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
- branch to __libc_start_main.
-
-2003-08-08 Dmitry Diky <diwil@mail.ru>
-
- * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
- gcc order.
- * cpu-msp430.c: Likewise.
- * elf32-msp430.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-target.h: Remove PTR cast.
- * targets.c (bfd_target): Make backend_data const void *.
- * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
- * elf-m10300.c: Likewise.
- * elf.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-mips.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfcode.h: Likewise.
- * elfcore.h: Likewise.
- * elflink.c: Likewise.
- * elflink.h: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * elfxx-mips.h: Likewise.
- * elf.c (prep_headers): Remove useless check for null backend_data.
- * bfd-in2.h: Regenerate.
-
- * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
- (NAME): Use ## rather than CONCAT4 macro.
- * elfcode.h: Remove one remaining PARAMS macro.
- * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
- * elf-strtab.c: Likewise.
- * elf-hppa.h: Likewise.
- * elf32-hppa.h: Likewise.
- * elf32-hppa.c: Likewise.
- (elf32_hppa_add_symbol_hook): Delete.
- (elf_backend_add_symbol_hook): Don't define.
- * libhppa.h: Convert to C90. Replace INLINE with inline.
-
-2003-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
- (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
- function descriptors, but warn.
- (ppc_build_one_stub): Remove a couple of vars. Move code creating
- stub syms so that we can avoid a stub sym if we already have a
- plt sym. Do not redefine an existing symbol.
- (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
- glink.
-
-2003-08-06 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
- SEC_LINKER_CREATED.
-
-2003-08-05 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
-
-2003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
-
- * coffcode.h (coff_slurp_line_table): Return with a warning
- message if the line number table could not be read.
-
-2003-08-04 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
- to messages produced for .gnu.warning.SYMBOL sections.
-
-2003-08-04 Alan Modra <amodra@bigpond.net.au>
-
- * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
- * elfcore.h: Likewise.
- * elflink.c: Likewise.
- * elflink.h: Likewise.
- * elf.c (sym_is_global): Remove INLINE.
- (align_file_position): Replace INLINE with inline.
- * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
- (elf_file_p): Replace INLINE with inline.
-
-2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
-
-2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
-
-2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
- ElfNN_External_Rela instead of Elf64_External_Rela.
-
-2003-08-01 Nick Clifton <nickc@redhat.com>
-
- * config.bfd: Add code to catch obsolete configurations and warn
- about them unless --enable-obsolete is used. Use this to mark
- vax-vms port as obsolete.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_install_value): Tidy.
- (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
- Formatting.
- * elfxx-target.h: Remove PARAMS macro. Formatting.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
- * elf64-ppc.c (get_fdh): New function, split out from
- ppc64_elf_edit_opd.
- (ppc64_elf_check_relocs): Use get_fdh.
- (func_desc_adjust): Likewise. Tidy.
- (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
- exit. Use get_fdh. Account for superfluous dynamic relocs.
- (ppc64_elf_relocate_section): Warning fix.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Randolph Chung <tausq@debian.org>
-
- * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
- * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
-
-2003-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c: Convert to C90, remove unnecessary prototypes and casts.
- Replace PTR with void *. Formatting.
- (_bfd_elf_assign_file_position_for_section): Remove INLINE.
- (make_mapping): Likewise.
-
-2003-07-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): Give linker created function
- descriptor symbols a size and type.
- (ppc64_elf_relocate_section): Correct lq insn test.
-
-2003-07-28 Eric Christopher <echristo@redhat.com>
-
- * elf32-ppc.c (R_PPC_RELAX32): New relocation.
- (ppc_elf_install_value): New function.
- (ppc_elf_sort_rela): Remove.
- (ppc_elf_relax_section): Rewrite. Remove old relaxation
- and replace with out of range branch stubs.
- (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
-
-2003-07-29 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
- from input_bfd.
-
-2003-07-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (special_sections): Set attributes for .got and .plt.
-
-2003-07-27 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
- on function descriptors.
- (ELIMINATE_COPY_RELOCS): Expand comment.
- (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
- Do include ".toc1".
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf.c (_bfd_elf_new_section_hook): Set the default section
- type to SHT_NULL.
- (elf_fake_sections): Set the section type based on asect->flags
- if it is SHT_NULL. Don't abort on processor specific section
- types.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfd-in2.h: Regenerated.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (bfd_elf_special_section): New.
- (elf_backend_data): Add special_sections, a pointer to
- bfd_elf_special_section.
- (elf_section_type). New.
- (elf_section_flags): New.
- (_bfd_elf_get_sec_type_attr): New.
-
- * elf.c (_bfd_elf_make_section_from_shdr): Always use the
- real section type/flags.
- (special_sections): New.
- (get_special_section): New.
- (_bfd_elf_get_sec_type_attr): New.
- (_bfd_elf_new_section_hook): Check special_section to set
- elf_section_type and elf_section_flags.
- (elf_fake_sections): Don't use section name to set ELF section
- data.
-
- * elf32-m32r.c (m32r_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-mcore.c (mcore_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-ppc.c (ppc_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-sh64.c (sh64_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-v850.c (v850_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf32-xtensa.c (elf_xtensa_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-alpha.c (elf64_alpha_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-hppa.c (elf64_hppa_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-ppc.c (ppc64_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elf64-sh64.c (sh64_elf64_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-ia64.c (elfNN_ia64_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
-
- * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
- (elf_backend_special_sections): Defined.
-
- * elfxx-target.h (elf_backend_special_sections): New. Default
- to NULL.
- (elfNN_bed): Initialize special_sections.
-
- * section.c (bfd_abs_section): Remove const.
- (bfd_und_section): Likewise.
- (bfd_com_section): Likewise.
- (bfd_ind_section): Likewise.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
- sections are assigned the LOAD attribute.
-
-2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c: Convert to C90. Replace PTR with void *.
- * elf32-sh64-com.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sh64.h: Likewise.
- * elf64-sh64.c: Likewise.
-
-2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
- (allocate_dynrelocs): Likewise.
- (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
- (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-07-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
- near the beginning of the file. Swap order of arguments. Call
- _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
- (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
- (elf_xtensa_relocate_section): Likewise.
- (shrink_dynamic_reloc_sections): Likewise.
-
-2003-07-23 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
- (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
- (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
- first printing an error message.
- (elf_xtensa_finish_dynamic_sections): Likewise.
- (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
- discarding literal table entries.
- (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
- (elf_xtensa_do_asm_simplify): Likewise.
-
-2003-07-23 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
- we have a local symbol in common section.
-
-2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
- weak symbols.
-
-2003-07-22 Nick Clifton <nickc@redhat.com>
-
- * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
- expected RS6000 storage classes.
-
-2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
- output_bfd unused to silence gcc.
-
-2003-07-21 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2003-07-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
- (_bfd_elf_symbol_refs_local_p): ..this. Declare.
- * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
- * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
- now done in _bfd_elf_symbol_refs_local_p.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
-
-2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
- (SYMBOL_CALLS_LOCAL): Likewise.
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
- immediately if symbol isn't defined locally.
-
-2003-07-18 Richard Henderson <rth@redhat.com>
-
- * elflink.c (_bfd_elf_dynamic_symbol_p): New.
- * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
- (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
- * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
- * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
- * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
- Update all callers to provide the relocation being resolved.
-
-2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
-
- * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
- targ_cflags.
-
-2003-07-17 Nick Clifton <nickc@redhat.com>
-
- * po/es.po: New Spanish translation.
- * po/sv.po: New Swedish translation.
- * po/opcodes.pot: Regenerate.
-
-2003-07-16 Richard Henderson <rth@redhat.com>
-
- * config.bfd, configure.host, configure.in: Remove ia64-aix support.
- * elfxx-ia64.c, targets.c: Likewise.
-
-2003-07-16 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
- for symbols defined locally plus -Bsymbolic. Tidy logic.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_mips7000): New.
- * bfd-in2.h: Regenerated.
- * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
- * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
- (mips_mach_extensions): Add an entry for it.
-
-2003-07-14 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Update with latest version.
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * Makfile.in: Regenerate.
- * configure: Regenerate.
-
-2003-07-12 Jeff Baker <jbaker@qnx.com>
-
- * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
- * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
- * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
- * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
-
-2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
-
- * coffcode.h (coff_set_section_contents): Set the
- IMAGE_FILE_32BIT_MACHINE flag for PE targets.
-
-2003-07-11 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd-in.h (bfd_h8300_pad_address): Declare.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (bfd_h8300_pad_address): New function.
- * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
- addresses before checking whether they can be relaxed.
- (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
- Don't complain about overflows in general 8-bit relocations.
- * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
- Fix handling of R_H8_DIR24A8.
-
-2003-07-11 Richard Sandiford <rsandifo@redhat.com>
-
- * elf32-h8300.c: Convert function prototypes and definitions
- to C90 syntax.
- * coff-h8300.c: Likewise.
- * cpu-h8300.c: Likewise.
-
-2003-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Likewise.
-
-2003-07-10 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
- .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
- .xt.lit.plt section.
- (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
- and allocate memory for it.
- (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
- section to the .got.loc section.
- (elf_xtensa_finish_dynamic_sections): Fix up call to
- elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
- the address of .got.loc.
- (relax_property_section): Shrink .got.loc to match changes in any
- literal table section.
- (xtensa_is_property_section): Change to match
- xtensa_get_property_section_name.
- (xtensa_is_littable_section): New.
-
-2003-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
- -1LL.
-
-2003-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
- (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-07-10 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
- * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
- (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
- 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
- * elf32-am33lin.c: Rename global functions.
- 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
- * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
- * configure.in (bfd_elf32_am33lin_vec): Added.
- * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
- (elf32-am33lin.lo): List dependencies.
- * aclocal.m4, configure, Makefile.in: Rebuilt.
- * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
- ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
- ELF_ARCH was not defined before.
- (elf_symbol_leading_char): Define if not defined.
- * elf32-am33lin.c: Override the definitions above.
- * targets.c (bfd_elf32_am33lin_vec): New.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
- pcrel_relocs_copied.
- 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
- ld-linux.so.2 to ld.so.1.
- 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
- (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
- (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
- * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
- .rela.* section contents with bfd_zalloc.
- 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c: Added declarations for functions missing them.
- Merge some shared-library changes from the i386 back-end. Use
- R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
- R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
- (struct elf32_mn10300_link_hash_entry): Remove duplicates of
- members of elf_link_hash_entry. Adjusted references.
- (mn10300_elf_final_link_relocate): dynobj was already loaded
- into a local variable, use it.
- 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
- * elf-m10300.c: Add missing function prototypes.
- 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
- relocation for dynamic relocations.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
- * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
- PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
- (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
- (_bfd_mn10300_elf_create_got_section): ... here, so that its
- adress is already known at the time we compute relaxations.
- (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
- and PLT32 to narrower relocations.
- * libbfd.h, bfd-in2.h: Rebuilt.
- 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
- BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
- BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
- BFD_RELOC_MN10300_RELATIVE): New relocs.
- * libbfd.h, bfd-in2.h: Rebuilt.
- * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
- (struct elf32_mn10300_link_hash_entry): Added DSO-related
- fields.
- (elf_mn10300_howto): Defined new relocation types.
- (mn10300_reloc_map): Map them.
- (_bfd_mn10300_elf_create_got_section): New fn.
- (mn10300_elf_check_relocs): Handle PIC relocs.
- (mn10300_elf_final_link_relocate): Likewise.
- (mn10300_elf_relocate_section): Handle DSOs.
- (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
- (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
- elf_mn10300_pic_plt_entry): New.
- (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
- elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
- elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
- elf_mn10300_plt_reloc_offset: New macros.
- (ELF_DYNAMIC_INTERPRETER): Likewise.
- (_bfd_mn10300_elf_create_dynamic_sections): New function.
- (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
- (_bfd_mn10300_elf_discard_copies): Likewise.
- (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
- (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
- (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
- (elf_backend_can_gc_sections,
- elf_backend_create_dynamic_sections,
- elf_backend_adjust_dynamic_sections,
- elf_backend_size_dynamic_sections,
- elf_backend_finish_dynamic_symbol,
- elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
- elf_backend_plt_readonly, elf_backend_want_plt_sym,
- elf_backend_got_header_size, elf_backend_plt_header_size): New
- macros.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
- * elf-m10300.c (compute_function_info): Account for AM33
- registers in `movm' when computing stack space for `call' when
- linking for AM33/2.0 link.
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
- * bfd-in2.h: Rebuilt.
- * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
- * elf-m10300.c: Updated.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * archures.c (bfd_mach_am332): Defined.
- * bfd-in2.h: Rebuilt.
- * cpu-m10300.c (bfd_am332_arch): Defined.
- (bfd_am33_arch): Chained with am33-2.
- * elf-m10300.c (elf_mn10300_mach): Handle am332.
- (_bfd_mn10300_elf_final_write_processing): Likewise.
-
-2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
-
-2003-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (bfd_elf64_mkobject): Define.
- (struct ppc64_elf_obj_tdata): New.
- (ppc64_elf_tdata, ppc64_tlsld_got): Define.
- (ppc64_elf_mkobject): New function.
- (struct got_entry): Add "owner". Move "tls_type".
- (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
- (ppc64_elf_init_stub_bfd): New function.
- (create_got_section): Create header .got in dynobj. Create .got
- and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
- (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
- Look for dynobj .got, and test it.
- (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
- (update_local_sym_info): Likewise.
- (ppc64_elf_check_relocs): Likewise.
- (ppc64_elf_gc_sweep_hook): Likewise.
- (ppc64_elf_tls_optimize): Likewise.
- (allocate_dynrelocs): Likewise.
- (ppc64_elf_size_dynamic_sections): Likewise.
- (ppc64_elf_relocate_section): Likewise.
- (ppc64_elf_next_toc_section): Update comment.
- (toc_adjusting_stub_needed): Remove unneeded cast.
- (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
- testing section flags.
- (ppc64_elf_build_stubs): Likewise.
- (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
- (ppc64_elf_finish_dynamic_sections): Write out got sections.
- (func_desc_adjust): Copy over dynamic info for undef weaks.
- * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
- (ppc64_elf_size_stubs): Update prototype.
- * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
- input sections rather than scanning dynobj.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
- (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
- (mips_elf_create_msym_section): Delete.
- (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
- (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
- (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
- (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
- (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
- (_bfd_mips_elf_finish_dynamic_sections): Likewise.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
- symbols protected.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
- of relocations whose offset is -2.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
- forced-local symbols like other locals. Don't create relocations
- against STN_UNDEF in irix objects.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
- compatible objects, add the values of defined external symbols
- to the addend.
-
-2003-07-09 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
- initialize a GOT entry to the symbol's st_value.
-
-2003-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
- * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
- (ppc_elf_tdata): Define.
- (elf_local_ptr_offsets): Adjust.
- (ppc_elf_mkobject): New function.
- (bfd_elf32_mkobject): Define.
-
- * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
- * elfcore.h (elf_core_file_p): Likewise.
- * section.c (bfd_section_init): Remove prototype.
-
-2003-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
- field.
- (enum elf_linker_section_enum): Delete.
- (struct elf_linker_section): Delete.
- (struct elf_linker_section_pointers): Delete.
- (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
- Make linker_section_pointers a void**.
- (elf_local_ptr_offsets, elf_linker_section): Don't define.
- * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
- of old item in elf-bfd.h.
- (struct elf_linker_section): Likewise.
- (struct elf_linker_section_pointers): Likewise.
- (elf_local_ptr_offsets): Define.
- (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
- (ppc_elf_link_hash_newfunc): Init it.
- (struct ppc_elf_link_hash_table): Add sbss.
- (ppc_elf_link_hash_table_create): zmalloc rather than clearing
- individual fields.
- (elf_create_linker_section): Fold into..
- (ppc_elf_create_linker_section): ..here. Remove hole_size code.
- Make rela section here if shared.
- (elf_find_pointer_linker_section): Pass lsect rather than enum.
- (elf_create_pointer_linker_section): Adjust. zalloc rather than
- clearing in a loop.
- (elf_finish_pointer_linker_section): Adjust. Don't make rela
- section here.
- (ppc_elf_check_relocs): Adjust.
- (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
- creating .sbss by hand.
- * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
- complain_overflow_bitfield.
- * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
- complain_overflow_bitfield.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
- true even if -pie.
-
-2003-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
- (elfNN_ia64_dynamic_symbol_p): Change info->shared into
- !info->executable.
- (get_fptr): For -pie create .opd as writable section and create
- .rela.opd as well.
- (elfNN_ia64_check_relocs): Change info->shared into
- !info->executable.
- (allocate_fptr): Likewise.
- (allocate_dynrel_entries): Account for a relative reloc for -pie
- @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
- for undefweak symbol. Account for an IPLT reloc in .rela.opd
- section if -pie.
- (set_got_entry): Don't create a relative reloc if -pie
- want_ltoff_fptr for undefweak symbol.
- (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
- (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
- @fptr().
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
- even if -pie.
- * elf32-i386.c (elf_i386_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
-
-2003-07-04 Paul Clarke <paulc@senet.com.au>
-
- * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
- (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
- <R_H8_DIR32A16>: Fix type of relocation.
-
-2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
- sections were created already. Remove unnecessary tests of
- the previous change.
-
-2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
- bfd_make_section for existing sections.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
- create_got_section if we already have done so.
- * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
- htab->root.dynobj instead.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_sections): Likewise.
-
- * section.c (bfd_make_section): Return NULL for existing section.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
- ppc_elf_create_got if we've already done so.
-
- * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
- (_bfd_elf_find_pointer_linker_section): Likewise.
- (bfd_elf32_create_pointer_linker_section): Likewise.
- (bfd_elf32_finish_pointer_linker_section): Likewise.
- (bfd_elf64_create_pointer_linker_section): Likewise.
- (bfd_elf64_finish_pointer_linker_section): Likewise.
- (_bfd_elf_make_linker_section_rela): Likewise.
- * elfcode.h (elf_create_pointer_linker_section): Don't define.
- (elf_finish_pointer_linker_section): Likewise.
- * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
- (_bfd_elf_create_linker_section): Move this function..
- (_bfd_elf_find_pointer_linker_section): ..and this..
- * elflink.h (elf_create_pointer_linker_section): ..and this..
- (elf_finish_pointer_linker_section): ..and this..
- * elf32-ppc.c: ..to here, renaming to the following, and adjusting
- calls.
- (elf_create_linker_section): Convert to C90, tidy.
- (elf_find_pointer_linker_section): Likewise.
- (elf_create_pointer_linker_section): Likewise.
- (elf_finish_pointer_linker_section): Likewise.
- * elf32-i370.c: Delete #if 0 code.
-
-2003-07-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
- _restf* to be satisfied by shared libs, and always force them local.
- (toc_adjusting_stub_needed): Avoid scanning linker created sections.
- Correct test for "bl".
- (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
- primary opcode 31.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
- (s390_tls_reloc): New function.
- (elf_howto_table): Add long displacement relocations R_390_20,
- R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_check_relocs): Likewise.
- (elf_s390_gc_sweep_hook): Likewise.
- (elf_s390_relocate_section): Likewise.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
- BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
- BFD_RELOC_390_TLS_GOTIE20.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Likewise.
-
-2003-06-30 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
- (ins_imms, ins_immsm1u4): Likewise. Warning fix.
-
-2003-06-29 Alan Modra <amodra@bigpond.net.au>
-
- * archive.c: Convert to C90, remove unnecessary prototypes and casts.
- Replace PTR with void *. Formatting.
- * archive64.c: Likewise.
- * archures.c: Likewise.
- * bfd-in.h: Likewise.
- * bfd.c: Likewise.
- * bfdio.c: Likewise.
- * bfdwin.c: Likewise.
- * cache.c: Likewise.
- * corefile.c: Likewise.
- * format.c: Likewise.
- * init.c: Likewise.
- * libbfd-in.h: Likewise.
- * libbfd.c: Likewise.
- * linker.c: Likewise.
- * opncls.c: Likewise.
- * reloc.c: Likewise.
- * section.c: Likewise.
- * simple.c: Likewise.
- * syms.c: Likewise.
- * targets.c: Likewise.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
- * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
- * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
- * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
- (bfd_getb64): Rewrite without parens.
- (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
- * cache.c (insert, snip): Remove INLINE.
- * linker.c (bfd_link_add_undef): Likewise.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
- unnecessary prototypes. Replace PTR with void *.
- (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
- trim plt entries. Move undefweak non-default visibility test ...
- (allocate_dynrelocs): ... from here.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- Change all callers.
- (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
- SYMBOL_REFERENCES_LOCAL for dynreloc check.
- (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
- dynreloc and .got relocs.
- (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
- for .got relocs.
-
-2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
-
-2003-06-27 Nick Clifton <nickc@redhat.com>
-
- * opncls.c (bfd_add_gnu_debuglink_section): Rename to
- bfd_add_gnu_debuglink_section and only create the section, do not
- fill in its contents.
- (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
- contents of a .gnu-debuglink section.
- * bfd-in2.h: Regenerate.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Revert .got alignment to 2**4.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c: Fix addend for _gp_disp special symbol.
-
-2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
- relocation header setup.
+ * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
+ * bfd-in2.h, libbfd.h: Rebuilt.
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
+2004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
- * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
- (ppc_elf_reloc_type_lookup): Modify comment.
- (ppc_elf_info_to_howto): Ditto.
- (ppc_elf_relocate_section): Ditto.
- (ppc_elf_check_relocs): Call ppc_elf_howto_init.
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
+ IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
+ flag has been cleared.
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
+2004-01-19 Kazu Hirata <kazu@cs.umass.edu>
- * aout-ns32k.c: Correct spelling of "relocatable".
- * aoutx.h: Likewise.
- * bfd-in.h: Likewise.
- * bfd.c: Likewise.
- * bout.c: Likewise.
- * coff-a29k.c: Likewise.
- * coff-alpha.c: Likewise.
- * coff-arm.c: Likewise.
- * coff-i386.c: Likewise.
- * coff-i860.c: Likewise.
- * coff-i960.c: Likewise.
- * coff-m68k.c: Likewise.
- * coff-m88k.c: Likewise.
- * coff-mcore.c: Likewise.
- * coff-mips.c: Likewise.
- * coff-or32.c: Likewise.
- * coff-ppc.c: Likewise.
- * coff-rs6000.c: Likewise.
- * coff-sh.c: Likewise.
- * coff-tic80.c: Likewise.
- * coff64-rs6000.c: Likewise.
- * cofflink.c: Likewise.
- * cpu-ns32k.c: Likewise.
- * ecoff.c: Likewise.
- * ecofflink.c: Likewise.
- * elf-bfd.h: Likewise.
- * elf-eh-frame.c: Likewise.
- * elf-hppa.h: Likewise.
- * elf-m10200.c: Likewise.
- * elf-m10300.c: Likewise.
- * elf.c: Likewise.
- * elf32-arm.h: Likewise.
- * elf32-avr.c: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-d10v.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf32-fr30.c: Likewise.
- * elf32-frv.c: Likewise.
+ * coff-h8300.c: Add and adjust comments about relaxation.
* elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i370.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-i860.c: Likewise.
- * elf32-i960.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-iq2000.c: Likewise.
- * elf32-m32r.c: Likewise.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-mips.c: Likewise.
- * elf32-msp430.c: Likewise.
- * elf32-openrisc.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf32-xstormy16.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-mips.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfcode.h: Likewise.
- * elflink.h: Likewise.
- * elfn32-mips.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * i386linux.c: Likewise.
- * ieee.c: Likewise.
- * libcoff-in.h: Likewise.
- * linker.c: Likewise.
- * m68klinux.c: Likewise.
- * pdp11.c: Likewise.
- * pe-mips.c: Likewise.
- * peXXigen.c: Likewise.
- * reloc.c: Likewise.
- * reloc16.c: Likewise.
- * sparclinux.c: Likewise.
- * sunos.c: Likewise.
- * syms.c: Likewise.
- * versados.c: Likewise.
- * vms.c: Likewise.
- * xcofflink.c: Likewise.
- * bfd-in2.h: Regenerate.
- * libcoff.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2003-06-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
- local sym errors.
-
- * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
- prototypes and casts. Replace PTR with void *. Formatting.
- * elf32-ppc.c: Likewise. Break long strings too.
- (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
- (ppc_elf_unhandled_reloc): Internationalize error message.
- * elf32-ppc.h: Remove PARAMS.
-
-2003-06-23 Mark Mitchell <mark@codesourcery.com>
-
- * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
- APUinfo slots.
- (ppc_elf_final_write_processing): Likewise.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_input_bfd): Check raw size when using
- kept_section to preserve debug information discarded by
- linkonce.
-
-2003-06-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
- (ppc64_elf_setup_section_lists): Set it.
- (ppc64_elf_relocate_section): Check sym section id against top_id.
- (ppc_build_one_stub): Comment on top_id.
-
-2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * config.bfd: Add tic4x-*-rtems*.
-
-2003-06-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
- prototypes and casts. Replace PTR with void *. Format copyright.
- Mention ABI links.
- (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
- sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
- (ppc_type_of_stub): Make r_type an enum.
- (ppc64_elf_size_stubs): Likewise.
- * elf64-ppc.h: Remove PARAMS macro.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
- elf hash tab fields.
-
- * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
- (ppc64_elf_info_to_howto): Likewise.
- (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
- * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
- reloc overflow on discarded eh_frame entries.
-
-2003-06-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (toc_adjusting_stub_needed): New function.
- (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
- Return error condition.
- (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
- that have has_gp_reloc set.
- (struct ppc_link_hash_table): Add stub_count.
- (ppc_build_one_stub): Increment it.
- (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
- individual fields.
- * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
-
-2003-06-18 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
- size calculation from addend. Round size up.
-
-2003-06-18 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case
- R_CRIS_32_GOTREL>: When linking a program, don't complain about a
- symbol from a normal object or an undefined weak symbol.
-
-2003-06-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
- R_PPC64_TOC relocs.
-
-2003-06-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * section.c (struct sec): Put back kept_section.
- (STD_SECTION): Put back kept_section initialization.
- * bfd-in2.h: Regenerate.
-
- * elflink.h (elf_link_input_bfd): Also check discarded linkonce
- sections for relocateable output. Use kept_section to preserve
- debug information discarded by linkonce.
-
-2003-06-17 Roland McGrath <roland@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
- segment-relative relocation between different segments.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
- optimizations earlier.
-
- * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
- Restore previous input_list type.
- (ppc64_elf_link_hash_table_create): Undo last change.
- (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
- per output section, but don't bother with bfd_abs_section marker.
- (ppc64_elf_next_input_section): Adjust for multiple input section
- lists.
- (group_sections): Likewise.
-
-2003-06-17 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
- *r_offset == r_addend for RELATIVE relocs against .got.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
-
-2003-06-17 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_gc_record_vtentry): Allocate an extra element
- in the vtable_entries_used array to allow for the accessing
- the largest element.
-
-2003-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
- input_list.
- (ppc64_elf_link_hash_table_create): Init input_list here.
- (ppc64_elf_setup_section_lists): Remove code setting up input lists
- per output section. Set toc_off for abs and other standard sections.
- (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
- (ppc64_elf_next_input_section): Adjust for single input section list.
- Don't set toc_curr from input bfds that haven't set elf_gp.
- (group_sections): Adjust for single input section list.
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
-
-2003-06-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
- tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
- dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
- got section for RELATIVE relocs. Fix wrong comment. Change condition
- under which dynamic relocs update the section contents.
-
-2003-06-13 Robert Millan <zeratul2@wanadoo.es>
-
- * config.bfd: Add i386-netbsd-gnu target.
-
-2003-06-12 Nick Clifton <nickc@redhat.com>
-
- * opncls.c (calc_crc32): Rename to
- bfd_calc_gnu_debuglink_crc32 and export.
- (GNU_DEBUGLINK): Define and use to replace occurrences of
- hard-coded ".gnu_debuglink" in the code.
- (get_debug_link_info): Prevent aborts by replacing call to
- xmalloc with a call to malloc.
- (find_separate_debug_file): Prevent aborts by replacing calls
- to xmalloc and xstrdup with calls to malloc and strdup.
- (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
- section to a bfd.
- * bfd-in2.h: Regenerate.
-
-2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
-
- * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
- New target (was i[3-7]86-*-openbsd* before).
- (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
- (vax-*-openbsd*): New target.
-
-2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
- for n32, too.
- (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
- (mips_elf_rel_dyn_section): Use appropriate section alignment.
- (mips_elf_create_got_section): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Likewise.
-
-2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
- * elf32-mips.c (mips_elf_generic_reloc): New Function.
- (elf_mips_howto_table_rel): Use it.
- (gprel32_with_gp): Move prototype.
- (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Use mips_elf_generic_reloc.
- (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Code cleanup.
- (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
- zero addend.
- (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
- as in the other *_gprel*_reloc functions.
- (gprel32_with_gp): Handle partial_inplace properly.
- (mips32_64bit_reloc): Use mips_elf_generic_reloc.
- (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
- Do addend handling directly instead of calling
- _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
- * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
- of zero addend. Handle partial_inplace properly.
- (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
- addend.
- (mips_elf64_gprel16_reloc): Likewise.
- (mips_elf64_literal_reloc): Likewise.
- (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
- logic as in the other *_gprel*_reloc functions. Handle
- partial_inplace properly.
- (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
- addend. Handle partial_inplace properly.
- (mips16_gprel_reloc): Likewise. Do addend handling directly instead
- of calling _bfd_mips_elf_gprel16_with_gp.
- * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
- (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
- of zero addend.
- (mips_elf_shift6_reloc): Handle partial_inplace properly.
- (mips16_gprel_reloc): Likewise. Do addend handling directly instead
- of calling _bfd_mips_elf_gprel16_with_gp.
- * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
- partial_inplace properly. Fix wrong addend handling. Fix overflow
- check.
- (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
- exported.
- (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
- (_bfd_mips_elf_relocate_section): Likewise.
- (mips_elf_create_dynamic_relocation): Update sec_info_type access.
- * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
- (_bfd_mips_elf_sign_extend): New prototype.
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
-2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
-
- * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
- New target (was sparc-*-openbsd* before).
- (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
-
- * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
- * configure: Regenerate.
-
-2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * po/Make-in (DESTDIR): New.
- (install-data-yes): Support $(DESTDIR).
- (uninstall): Likewise.
-
-2003-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (config.status): Depend on version.h.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2003-06-10 Alan Modra <amodra@bigpond.net.au>
- Gary Hade <garyhade@us.ibm.com>
-
- * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_h8300sxn): New architecture.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (h8300_scan): Check for 'sxn'.
- (h8300sxn_info_struct): New.
- (h8300sx_info_struct): Link to it.
- * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
- (elf32_h8_final_write_processing): Likewise.
-
-2003-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
- elfxx-target.h so that we can use elf_backend_got_header_size.
- (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
- (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
- associated macros.
- (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
- dst_mask.
- (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
- ppc_stub_plt_branch_r2off.
- (struct ppc_stub_hash_entry): Reorganize.
- (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
- toc_curr, toc_off and emit_stub_syms.
- (ppc64_elf_link_hash_table_create): Init them.
- (ppc_stub_name): Correct string size.
- (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
- (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
- used.
- (ppc_type_of_stub): Tweak root.type test.
- (build_plt_stub): Remove glink code. Adjust for insn macro changes.
- (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
- ppc_stub_plt_branch_r2off.
- (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
- range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
- (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
- Initialize elf_gp and toc_curr.
- (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
- (ppc64_elf_next_input_section): Set toc_off.
- (group_sections): Ensure groups have the same TOC.
- (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
- (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
- Build new glink stub.
- (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
- (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
- * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
- (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
- * section.c (struct sec): Rename flag12 to has_gp_reloc.
- (STD_SECTION): Update.
- * ecoff.c (bfd_debug_section): Update comment.
- * bfd-in2.h: Regenerate.
-
-2003-06-05 Daniel Jacobowitz <drow@mvista.com>
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
- NULL function pointers.
-
-2003-06-05 Daniel Jacobowitz <drow@mvista.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Call
- _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
-
-2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
- ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
- swaptables.
- * coff-tic4x.c: Ditto
- * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
- and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
- CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
- ticoff1_bad_format_hook() functions. Created the coff0 and coff1
- swap tables.
- * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
- * coff-a29k.c: Append COFF_SWAP_TABLE argument
- * coff-apollo.c: Ditto
- * coff-arm.c: Ditto
- * coff-h8300.c: Ditto
- * coff-h8500.c: Ditto
- * coff-i960.c: Ditto
- * coff-m68k.c: Ditto
- * coff-m88k.c: Ditto
- * coff-mcore.c: Ditto
- * coff-sh.c: Ditto
- * coff-sparc.c: Ditto
- * coff-tic80.c: Ditto
- * coff-we32k.c: Ditto
- * coff-z8k.c: Ditto
- * coff-w65.c: Ditto
-
-2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
- initialization bug
-
-2003-06-03 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
- (bfd_section_from_phdr): Likewise.
- (map_sections_to_segments): Create PT_GNU_STACK segment header.
- (get_program_header_size): Count with PT_GNU_STACK.
- * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
- * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
-
-2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_input_bfd): Call linker error_handler
- for discarded definitions.
-
-2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * syms.c (decode_section_type): Return 'n' if section flags are
- SEC_HAS_CONTENTS && SEC_READONLY.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
- R_V850_ABS32. Add entry for R_V850_REL32.
- (v850_elf_reloc_map): Likewise.
- (v850_elf_check_relocs): Likewise.
- (v850_elf_perform_relocation): Likewise.
- (v850_elf_final_link_relocate): Likewise. Include computation
- to make R_V850_REl32 pc-relative.
-
-2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
- and DT_DEBUG dynamic tag even for position independent executables.
- * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
-
-2003-06-02 Daniel Jacobowitz <drow@mvista.com>
-
- * config.bfd: Move obsolete entries out of the range of the
- targmatch sed script.
-
-2003-06-02 Daniel Jacobowitz <drow@mvista.com>
-
- * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
-
-2003-05-31 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
- plt entries, not just 8191.
-
-2003-05-30 Daniel Jacobowitz <drow@mvista.com>
-
- * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
- Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
-
-2003-05-30 Ulrich Drepper <drepper@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Use !info->executable
- instead of info->shared where appropriate.
- (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
- * elflink.c (_bfd_elf_create_got_section): Likewise.
- (_bfd_elf_link_create_dynamic_sections): Likewise.
- (_bfd_elf_link_assign_sym_version): Likewise.
- * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
- and DT_DEBUG dynamic tag even for position independent executables.
- * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
- * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
- * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
- * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
- * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
- * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
- * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
- * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
-
-2003-05-30 Kris Warkentin <kewarken@qnx.com>
-
- * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
- signalled thread.
- (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
-
-2003-05-29 Nick Clifton <nickc@redhat.com>
-
- * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
- Tidy up formatting.
- * Makefile.am: Add dependency on safe-ctype.h.
- * Makefile.in: Regenerate.
-
-2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Don't force symbols local unconditionally.
-
-2003-05-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
- undefined_symbol call.
-
-2003-05-27 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
- (mips_elf_link_hash_table): Likewise.
-
-2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
- R_MIPS_GNU_REL16_S2 support.
- (bfd_elf64_bfd_reloc_type_lookup): Use it.
- (mips_elf64_rtype_to_howto): Use it.
- * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
- R_MIPS_GNU_REL16_S2 support.
- (bfd_elf32_bfd_reloc_type_lookup): Use it.
- (mips_elf_n32_rtype_to_howto): Use it.
-
-2003-05-21 Stuart F. Downing <sdowning@fame.com>
-
- * som.h: Define PA_2_0 before including a.out.h
-
-2003-05-07 Eric Christopher <echristo@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
- pic tests, change to warning.
- (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
-
-2003-05-21 Marcus Comstedt <marcus@mc.pp.se>
-
- * config.bfd: Check for a target triplet of shl-...-netbsdelf as
- well as shle-...-netbsdelf. Remove duplicate entry.
-
-2003-05-21 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
- for X_STORMY16_REL_12 reloc.
-
- * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
- the type of the hash table in the bfd_link_info structure.
- (bfd_elf_get_runpath_list): Likewise.
-
-2003-05-19 Roland McGrath <roland@redhat.com>
-
- * elf.c (bfd_elf_bfd_from_remote_memory): New function.
- * bfd-in.h: Declare it.
- * bfd-in2.h: Regenerated.
- * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
- * elf-bfd.h (struct elf_backend_data): New function pointer member
- elf_backend_bfd_from_remote_memory.
- (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
- Declare them.
- * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
- (elfNN_bed): Add that to the initializer.
-
-2003-05-15 Roland McGrath <roland@redhat.com>
-
- * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
-
-2003-05-20 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_output_extsym): Only issue error about !=
- STV_DEFAULT symbols if they are bfd_link_hash_undefined.
-
-2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
- when removing the old definition for symbols with non-default
- visibility.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
-
-2003-05-17 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
- elf_section_data during processing of pc-relative and absolute
- relocations.
- (elf_m68k_relocate_section): Use the cached reloc section instead
- of computing it again. Fix handling of visibility. Don't modify
- addend when copying over a relocation into the output.
-
-2003-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
- to trim plt entries. Move undefweak non-default visibility test..
- (allocate_dynrelocs): ..from here.
- * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
- dynamic_sections_created here. Update comment. Move undefweak
- non-default visibility test..
- (allocate_dynrelocs): ..from here. Fix comment.
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
- to trim plt entries. Move undefweak non-default visibility test..
- (allocate_dynrelocs): ..from here. Fix comment.
- * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
- STV_DEFAULT rather than comparing with zero.
- * elflink.c (_bfd_elf_merge_symbol): Likewise.
- (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
-
-2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
- pointers.
- (_bfd_set_gp_value): Likewise.
-
-2003-05-16 Michael Snyder <msnyder@redhat.com>
- From Bernd Schmidt <bernds@redhat.com>
- * archures.c (bfd_mach_h8300sx): New.
- * bfd-in2.h: Regenerate.
- * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
- (h8300sx_info_struct): New.
- (h8300s_info_struct): Link to it.
- * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
- (elf32_h8_final_write_processing): Likewise.
- (elf32_h8_relax_section): Likewise.
-
-2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
-
- * config.bfd: Accept i[3-7]86 variants.
- * configure.host: Likewise.
- * configure.in: Likewise.
- * configure: Regenerate.
-
-2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
- symbol.
-
-2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_check_versioned_symbol): Also allow
- the base version.
-
-2003-05-15 Alan Modra <amodra@bigpond.net.au>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
- (elf_i386_relocate_section): Likewise.
- * elf32-ppc.c (allocate_dynrelocs): Likewise.
- (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (allocate_dynrelocs): Likewise.
- (ppc64_elf_relocate_section): Likewise.
-
-2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
-
-2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
- processor capability, allow merge of HC12 and HCS12 in some cases.
- (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
- * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
- (bfd_m68hc12_arch): Link it.
- (scan_mach): New function.
-
-2003-05-13 Andrew Haley <aph@redhat.com>
-
- * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
-
-2003-05-13 Alan Modra <amodra@bigpond.net.au>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
- elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
- * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
- (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
- (ppc_elf_relocate_section): Likewise.
- * elf64-ppc.c (allocate_dynrelocs): Likewise.
- (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
- (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
- relocs need no other types.
- * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
- dynreloc check.
- (elf_i386_relocate_section): Likewise. Use for .got relocs too.
- (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
- .got relocs.
-
-2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
- copy ELF_LINK_NON_GOT_REF from weakdef.
- (allocate_dynrelocs): For undef weak syms with non-default
- visibility, a) don't allocate plt entries, b) don't allocate
- .got relocs, c) discard dyn rel space
- (sh_elf_relocate_section): d) don't generate .got relocs, e)
- don't generate dynamic relocs.
- (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
- for weakdefs when symbol already adjusted.
-
-2003-05-12 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
- overflow detection for R_XSTORMY16_16 reloc.
-
-2003-05-12 Paul Clarke <paulc@senet.com.au>
-
- * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
-
-2003-05-11 Jason Eckhardt <jle@rice.edu>
-
- * elf32-i860.c (elf32_i860_relocate_highadj): Properly
- adjust upper bits.
- (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
- proper place.
- (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
- proper place.
-
-2003-05-11 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
- complicated tests for unresolvable relocs with a simple direct
- scheme using "unresolved_reloc" var. Report some detail on
- bfd_reloc_outofrange and similar errors.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
- Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- * elf64-s390.c: Likewise.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
- (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
- already been adjusted before treating it specially.
- * el64-s390.c: Likwise.
-
-2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't make them dynamic, b) discard
- space for dynamic relocs.
- (elf_s390_relocate_section): Initialize the GOT entries and skip
- R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
- symbols with non-default visibility.
- * elf64-s390.c: Likewise.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-arm.c (arm_check_note): Warning fix.
- * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
- to keep relocs if edited.
- (iq2000_elf_print_private_bfd_data): Return TRUE.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
- ELF64_R_SYM.
- (elfNN_ia64_relax_ldxmov): Warning fix.
- * xtensa-isa.c (xtensa_add_isa): Warning fix.
- * xtensa-modules.c (get_num_opcodes): Warning fix.
-
-2003-05-09 Andrey Petrov <petrov@netbsd.org>
-
- * elf.c (elf_fake_sections): Use correct cast for sh_name.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
- elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
- (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
- (bfd_elf_record_link_assignment): Move from elflink.h.
- (_bfd_elf_merge_symbol): Likewise.
- (_bfd_elf_add_default_symbol): Likewise.
- (_bfd_elf_export_symbol): Likewise.
- (_bfd_elf_link_find_version_dependencies): Likewise.
- (_bfd_elf_link_assign_sym_version): Likewise.
- (_bfd_elf_link_read_relocs): Likewise.
- (_bfd_elf_link_size_reloc_section): Likewise.
- (_bfd_elf_fix_symbol_flags): Likewise.
- (_bfd_elf_adjust_dynamic_symbol): Likewise.
- (_bfd_elf_link_sec_merge_syms): Likewise.
- (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
- and bed->s->sizeof_rela.
- (_bfd_elf_link_output_relocs): Likewise.
- * elf-bfd.h (struct elf_size_info): Rename file_align to
- log_file_align.
- (struct elf_info_failed): Move from elflink.h.
- (struct elf_assign_sym_version_info): Likewise.
- (struct elf_find_verdep_info): Likewise.
- (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
- (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
- _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
- _bfd_elf_link_assign_sym_version,
- _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
- _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
- _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
- _bfd_elf_link_sec_merge_syms): Declare.
- (bfd_elf32_link_create_dynamic_sections): Don't declare.
- (_bfd_elf32_link_read_relocs): Likewise.
- (bfd_elf64_link_create_dynamic_sections): Likewise.
- (_bfd_elf64_link_read_relocs): Likewise.
- * elflink.h: Move lots o' stuff elsewhere.
- * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
- (bfd_elf64_record_link_assignment): Likewise.
- (bfd_elf_record_link_assignment): Declare.
- * bfd-in2.h: Regenerate.
- * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
- (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
- * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
- (assign_file_positions_for_segments): Likewise.
- (assign_file_positions_except_relocs): Likewise.
- (swap_out_syms, elfcore_write_note): Likewise.
- * elf-m10200.c: Adjust for changed function names.
- * elf-m10300.c: Likewise.
- * elf32-arm.h: Likewise.
+ * coff-h8300.c: Fix comment typos.
* elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-m32r.c: Likewise.
- * elf32-m68hc11.c: Likewise.
- * elf32-m68hc1x.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mips.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-xtensa.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
- * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-mips.c (mips_elf64_size_info): Likewise.
- * elf64-s390.c (s390_elf64_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_add_default_symbol): After skipping the
- unversioned symbol, go to non-default one.
-
-2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
- want_plt field.
- (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
- for symbols with non-default visibility.
-
-2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * elflink.h (elf_link_check_versioned_symbol): Also handle the
- case that a DSO references a hidden symbol which may be
- satisfied by a versioned symbol in another DSO.
- (elf_link_output_extsym): Check versioned definition for hidden
- symbol referenced by a DSO.
-
-2003-05-07 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
- R_XSTORMY16_16 reloc to ignore overflows.
-
-2003-05-06 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
- error message for mixing different-endian files. Check for ABI
- compatibility of input files with the selected emulation.
-
-2003-05-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't make them dynamic, b) discard
- space for dynamic relocs.
- * elf64-x86-64.c (allocate_dynrelocs): Likewise.
-
- * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
- non-default visibility, a) don't allocate plt entries, b) don't
- allocate .got relocs, c) discard dyn rel space,
- (ppc_elf_relocate_section): d) don't generate .got relocs, e)
- don't generate dynamic relocs.
- * elf64-ppc.c (allocate_dynrelocs): As above.
- (ppc64_elf_relocate_section): As above.
-
-2003-05-05 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
- relocation entries for weak undefined symbols with non-default
- visibility.
- (elf64_x86_64_relocate_section): Initialize the GOT entries and
- skip R_386_32/R_386_PC32 for weak undefined symbols with
- non-default visibility.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
- relocation entries for weak undefined symbols with non-default
- visibility.
- (elf_i386_relocate_section): Initialize the GOT entries and
- skip R_386_32/R_386_PC32 for weak undefined symbols with
- non-default visibility.
-
- * elfxx-ia64.c (allocate_fptr): Don't allocate function
- descriptors for weak undefined symbols with non-default
- visibility.
- (allocate_dynrel_entries): Don't allocate relocation entries
- for symbols resolved to 0.
- (set_got_entry): Don't install dynamic relocation for weak
- undefined symbols with non-default visibility.
- (set_pltoff_entry): Likewise.
-
- * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
- with non-default visibility.
- (elf_link_output_extsym): Don't make weak undefined symbols
- with non-default visibility dynamic.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Correctly handle weak definition.
-
-2003-05-04 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Don't record a hidden/internal
- symbol dynamic. Check indirection when removing the old
- definition for symbols with non-default visibility.
- (elf_add_default_symbol): Skip when told by elf_merge_symbol.
-
-2003-05-02 Nick Clifton <nickc@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
- R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
- unsigned overflow.
-2003-05-02 Andreas Jaeger <aj@suse.de>
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
- * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
- ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
- (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
- (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
-
-2003-05-02 Charles Lepple <clepple@ghz.cc>
- Nick Clifton <nickc@redhat.com>
-
- * acinclude.m4: Fix name of --enable-install-libbfd switch.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2003-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
- weakdef sym has already been adjusted before treating it specially.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
- ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
-
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
- the relax finalize pass.
-
- * section.c (struct sec): Add need_finalize_relax and remove
- flag11.
- (STD_SECTION): Update struct sec initializer.
- * bfd-in2.h: Regenerated.
-
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
- to copy any information related to dynamic linking when we flip
- the indirection.
-
-2003-04-27 H.J. Lu <hjl@gnu.org>
-
- * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
- (ELF_LINK_DYNAMIC_WEAK): New.
-
- * elflink.h (elf_merge_symbol): Add one argument to indicate if
- a symbol should be skipped. Ignore definitions in dynamic
- objects for symbols with non-default visibility.
- (elf_add_default_symbol): Adjusted.
- (elf_link_add_object_symbols): Check if a symbol should be
- skipped. Don't merge the visibility field with the one from
- a dynamic object.
- (elf_link_check_versioned_symbol): Use undef_bfd.
- (elf_link_output_extsym): Warn if a forced local symbol is
- referenced from dynamic objects. Make non-weak undefined symbol
- with non-default visibility a fatal error.
-
-2003-04-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure.in: Bump version on HEAD to 2.14.90.
- * configure: Regenerated.
-
-2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
-
- PR savannah/3331:
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
- when we couldn't relax something.
-
-2003-04-25 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_merge_symbol): When we find a regular definition
- for an indirect symbol, flip the indirection so that the old
- direct symbol now points to the new definition.
-
-2003-04-24 Roland McGrath <roland@redhat.com>
-
- * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
-
-2003-04-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c: Formatting and comment fixes.
- (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
- (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
- * bfd-in2.h: Rebuilt.
- * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
- * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
- & H8300SNMAGIC.
- (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
- * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
- (h8300sn_info_struct, h8300hn_info_struct): New.
- * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
- (elf32_h8_final_write_processing): Likewise.
-
-2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (tpoff): New.
- (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (allocate_dynrelocs): Don't make unnecessary dynamic TLS
- relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
- (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
- (dtpoff_base): Fix wrong indentation.
- (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
- relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
- R_SH_TLS_TPOFF32 relocations.
-
-2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
-
- * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
- * cpu-sh.c: Likewise.
- * elf32-sh.c: Likewise.
- * reloc.c (bfd_reloc_code_real): Likewise.
- * elf32-sh64-com.c: Change comment to refer to SuperH.
- * elf32-sh64.c: Likewise.
- * elf64-sh64.c: Likewise.
- * bfd-in2.h (enum bfd_architecture): Regenerate.
-
-2003-04-23 Alan Modra <amodra@bigpond.net.au>
-
- From Julien LEMOINE <speedblue@debian.org>
- * elf32-i386.c (elf_i386_info_to_howto): Delete.
- (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
-
-2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * archures.c: Replace references to Mitsubishi M32R with references
- to Renesas M32R.
- * relocs.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-04-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
- executable when a symbol is defined both regular and dynamic.
-
-2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
- (elf32-m68hc1x.lo): Update dependencies
- * configure.in: Add elf32-m68hc1x.lo.
- * configure: Rebuild.
- * Makefile.in: Rebuild.
-
-2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
- (m68hc11_elf_hash_table_create): New function.
- (elf32_m68hc11_link_hash_table_free): New function.
- (stub_hash_newfunc): New function.
- (m68hc11_add_stub): New function.
- (elf32_m68hc11_add_symbol_hook): New function.
- (elf32_m68hc11_setup_section_lists): New function.
- (elf32_m68hc11_next_input_section): New function.
- (elf32_m68hc11_size_stubs): New function.
- (elf32_m68hc11_build_stubs): New function.
- (m68hc11_get_relocation_value): New function.
- (elf32_m68hc11_relocate_section): Call the above to redirect
- some relocations to the trampoline code.
- (m68hc11_elf_export_one_stub): New function.
- (m68hc11_elf_set_symbol): New function.
- (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
- (m68hc11_elf_get_bank_parameters): Get parameters only when the info
- is not yet initialized.
-
- * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
- (elf32_m68hc11_stub_hash_entry): New struct.
- (m68hc11_page_info): Add trampoline handler address.
- (m68hc11_elf_link_hash_table): Add stubs generation members.
- (elf32_m68hc11_add_symbol_hook): Declare.
- (elf32_m68hc11_setup_section_lists): Declare.
- (elf32_m68hc11_size_stubs): Declare.
- (elf32_m68hc11_build_stubs): Declare.
-
- * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
- (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
- (_bfd_m68hc11_elf_set_private_flags): Ditto.
- (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
- (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
- (bfd_elf32_bfd_link_hash_table_create): Define.
- (elf_backend_add_symbol_hook): Define.
- (m68hc11_elf_bfd_link_hash_table_create): New function.
- (m68hc11_elf_build_one_stub): New function.
- (m68hc11_elf_size_one_stub): New function.
- (m68hc11_elf_bfd_link_hash_table_create): Install the above.
- (bfd_elf32_bfd_link_hash_table_create): Define.
-
- * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
- (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
- (m68hc12_phys_addr): Ditto.
- (m68hc12_phys_page): Ditto.
- (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
- (elf32_m68hc11_gc_mark_hook): Likewise.
- (elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf32_m68hc11_check_relocs): Likewise.
- (elf32_m68hc11_relocate_section): Likewise.
- (_bfd_m68hc12_elf_set_private_flags): Likewise.
- (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
- (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
- (m68hc12_elf_build_one_stub): New function.
- (m68hc12_elf_size_one_stub): New function.
- (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
- (elf_backend_add_symbol_hook): Define.
- (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
-
-2003-04-18 Nick Clifton <nickc@redhat.com>
-
- * format.c (bfd_check_format_matches): Only check associated
- vector if the matching_vector has been created.
-
-2003-04-15 Alexandre Oliva <aoliva@redhat.com>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
- 2003-04-09's change.
-
-2003-04-15 Brian Ford <ford@vss.fsi.com>
-
- * peicode.h (coff_swap_scnhdr_in): If a section holds
- uninitialized data and is from an object file or from an
- executable image that has not initialized the s_size field, or if
- the physical size is padded, use the virtual size (stored in
- s_paddr) instead.
-
-2003-04-15 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Properly report
- filename for alignment reduction.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
- * reloc.c: Likewise.
- * coff-h8300.c: Likewise.
- * coff-h8500.c: Likewise.
- * coff-sh.c: Likewise.
- * cpu-h8300.c: Likewise.
- * cpu-sh.c: Likewise.
+ * coff-h8300.c: Add comments about relaxation.
* elf32-h8300.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64-com.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf64-sh64.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-04-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Maintain maximum
- alignment for common symbols. Warn reducing alignment for
- common symbols. Report old filename when symbol size changes.
-
-2003-04-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
- occurrences of the same test changed in the previous patch.
- Optimize.
-
-2003-04-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
- (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
- GOT_DISP/addend only if the symbol got a global GOT entry.
-
-2003-04-10 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Decay
- GOT_PAGE/GOT_OFST referencing overridable symbol to
- GOT_DISP/addend.
- (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
- global symbol as GOT_DISP.
-
-2003-04-10 Bob Wilson <bob.wilson@acm.org>
-
- * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
- next relocation on an undefined symbol.
-
-2003-04-09 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
- Ignore relocations against r_symndx == 0.
-
-2003-04-09 H.J. Lu <hjl@gnu.org>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
- FALSE for undefined symbols.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
-
-2003-04-09 Alexandre Oliva <aoliva@redhat.com>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
- and IRIX-specific shift-to-64-bit 4-byte lengths before following
- addr_size.
-
-2003-04-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
- pointer size from ABI, not arch_bits_per_address.
-
-2003-04-07 Kevin Buettner <kevinb@redhat.com>
-
- * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
- constants for n32 ABI.
-
-2003-04-06 Andrew Cagney <cagney@redhat.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Disable
- free that leads to GDB vs BFD memory corruption.
-
-2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
- symbols that mark the end of the section.
- (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
- converting to a relative branch so that the offset is computed after
- the relaxation; also relocate a jsr into a bsr if possible but don't
- relax them if they are to a far symbol as we need to call the
- trampoline code.
- (elf_m68hc11_howto_table): Set pcrel_offset to true.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
- bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
- * bfd-in2.h: Regenerate
- * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
- * cpu-tic4x.c: Ditto
-
-2003-04-03 Nick Clifton <nickc@redhat.com>
-
- * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
- differently for object files and executables.
- * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
- for object files or for executables who have not already
- initialised the field.
- * libpei.h (bfd_pe_executable_p): New macro. Return true if
- the PE format bfd is an executable.
-
-2003-04-03 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
- here as it's too early to reliably determine locality.
- (ppc_elf_gc_sweep_hook): Likewise.
- (SYMBOL_REFERENCES_LOCAL): Expand comment.
-
-2003-04-02 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-modules.c: Remove comment indicating that this is a
- generated file.
-
-2003-04-02 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
- (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
- (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
- xtensa-modules.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
- xtensa-modules.c.
- (cpu-xtensa.lo): New target.
- (elf32-xtensa.lo): Likewise.
- (xtensa-isa.lo): Likewise.
- (xtensa-modules.lo): Likewise.
- * Makefile.in: Regenerate.
- * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
- (bfd_archures_list): Add bfd_xtensa_arch.
- * config.bfd: Handle xtensa-*-*.
- * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
- * configure: Regenerate.
- * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
- PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
- * targets.c (bfd_elf32_xtensa_be_vec): Declare.
- (bfd_elf32_xtensa_le_vec): Likewise.
- (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
- * cpu-xtensa.c: New file.
- * elf32-xtensa.c: Likewise.
- * xtensa-isa.c: Likewise.
- * xtensa-modules.c: Likewise.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Likewise.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_arm_unknown): Define.
- * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
- bfd_arm_get_mach_from_notes): Prototype.
- * bfd-in2.h: Regenerate.
- * coff-arm.c (coff_arm_merge_private_bfd_data): Call
- bfd_arm_merge_machines.
- (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
- * coffcode.h (coff_set_arch_mach_hook): Call
- bfd_arm_get_mach_from_notes.
- * coffgen.c (coff_real_object_p): Revert previous delta.
- * cpu_arm.c (arm_check_note): New function. Examine a note in a
- .note section.
- (bfd_arm_merge_machines): New function: Handle the merging of ARM
- binaries compiled for different architectures..
- (bfd_arm_update_notes): New function: Update an ARM note section.
- (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
- number from an ARM note section.
- * elf32-arm.h (elf32_arm_object_p): Use
- bfd_arm_get_mach_from_notes.
- (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
- (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
-
-2003-04-01 Ben Elliston <bje@wasabisystems.com>
-
- * dwarf2.c (read_attribute_value): Correct typo in comment.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
- instead of concat().
- (decode_line_info): Only free filename if it is not NULL.
- (add_line_info): Make a copy of the filename when storing it into
- the info structure.
-
-2003-03-31 Andreas Schwab <schwab@suse.de>
- Daniel Jacobowitz <drow@mvista.com>
-
- * simple.c (bfd_simple_get_relocated_section_contents): Add
- parameter symbol_table. Optionally use it instead of the symbol
- table from the bfd. Save and restore output offsets and output
- sections around bfd_get_relocated_section_contents. Fix a memory
- leak.
- (simple_save_output_info, simple_restore_output_info): New
- functions.
- * bfd-in2.h: Regenerate.
- * dwarf2.c (read_abbrevs): Use
- bfd_simple_get_relocated_section_contents instead of
- bfd_get_section_contents.
- (decode_line_info): Likewise.
- (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
- find_rela_addend.
- (find_rela_addend): Remove.
- * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
- debugging sections.
- (elfNN_ia64_hash_table_create): Create the hash table with malloc,
- not bfd_zalloc.
-
-2003-03-31 David Heine <dlheine@suif.stanford.edu>
-
- * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
- bfd_alloc.
- * dwarf2.c (concat_filename): Always allocate space for the
- returned filename.
- (decode_line_info): Free the allocated filename returned by
- concat_filename.
- * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
- * elf.c (copy_private_bfd_data): Likewise.
- (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
- * elflink.h (elf_link_sort_relocs): Fix memory leak.
- * format.c (bfd_check_format_matches): Likewise.
- * linker.c (bfd_generic_final_link): Likewise.
- * opncls.c (find_separate_debug_info): Likewise.
- * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
-
-2003-03-28 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Correctly combine
- visibilities.
-
-2003-03-27 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
- to -1 before recomputing got offsets.
-
-2003-03-26 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (elf_m68k_relocate_section): Use it to correctly handle symbols
- forced to be local.
- (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
- entries for symbols that are forced to be local.
-
-2003-03-25 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_relax_section): New function.
- * elfxx-mips.h (_bfd_mips_relax_section): Declare.
- * elfn32-mips.c, elf64-mips.c: Use it.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * archures.c: Add bfd_mach_arm_iWMMXt.
- * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
- object files to be linked with XScale ones.
- (coff_arm_final_link_postscript): Update note section.
- * coffcode.h (coff_set_arch_mach_hook): Handle note section.
- * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
- after identifying a coff binary.
- * cpu-arm.c (processors): Add iWMMXt.
- (arch_inf): Likewise.
- * elf32-arm.h (arm_object_p): Handle note section.
- (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
- be linked with XScale ones.
- (elf32_arm_section_flags): New function: Set flags on note section.
- (elf32_arm_final_write_processing): Handle note section.
-
-2003-03-21 DJ Delorie <dj@redhat.com>
-
- * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
- _bfd_elf_rela_local_sym.
-
-2003-03-20 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
- non-ELF outputs.
-
-2003-03-20 Nick Clifton <nickc@redhat.com>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
- $idata5 in case bfd_coff_final_link is not called.
-
-2003-03-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
- field.
- (canon_reloc_count): Define.
- (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
- sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
- reloc_count.
- (sparc64_elf_canonicalize_reloc): New routine.
- (bfd_elf64_canonicalize_reloc): Define.
-
-2003-03-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
- againt mergeable sections. Take r_addend into account when caching
- trampolines.
-
-2003-03-18 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
- local symbols that have no dyninfo.
-
-2003-03-14 Gene Smith <gene.smith@siemens.com>
-
- * ieee.c (ieee_write_expression): Handle the case where symbol is
- NULL.
- General formatting improvements.
-
-2003-03-13 Nick Clifton <nickc@redhat.com>
-
- * configure.in (LINGUAS): Add zh_CN.
- * configure: Regenerate.
- * po/zh_CN.po: New file.
-
-2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * aout-cris.c (BYTES_IN_WORD): Don't define.
- aout-encap.c: Likewise.
- aout-ns32k.c: Likewise.
- aout-tic30.c: Likewise.
- hp300bsd.c: Likewise.
- i386aout.c: Likewise.
- i386dynix.c: Likewise.
- i386linux.c: Likewise.
- i386lynx.c: Likewise.
- i386mach3.c: Likewise.
- m68k4knetbsd.c: Likewise.
- m68klinux.c: Likewise.
- m68klynx.c: Likewise.
- m68knetbsd.c: Likewise.
- m88kmach3.c: Likewise.
- mipsbsd.c: Likewise.
- newsos3.c: Likewise.
- sparclinux.c: Likewise.
- sparclynx.c: Likewise.
- sparcnetbsd.c: Likewise.
- vaxbsd.c: Likewise. Fix comment formatting.
-
-2003-03-12 Alexandre Oliva <aoliva@redhat.com>
-
- * Reverted 2003-03-02's patch.
-
- * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
- overridable.
- * elf64-mips.c (mips_elf64_canonicalize_reloc,
- mips_elf64_get_dynamic_reloc_upper_bound,
- mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
- (bfd_elf64_get_canonicalize_reloc,
- bfd_elf64_get_dynamic_reloc_upper_bound,
- bfd_elf64_canonicalize_dynamic_reloc): Define.
- (mips_elf64_slurp_reloc_table): Support dynamic.
- (mips_elf64_slurp_one_reloc_table): Adjust.
-
-2003-03-12 Nick Clifton <nickc@redhat.com>
-
- * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
- 'index' to 'offset' in test for zero value.
-
-2003-03-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
- dynamic relocations pointing to local or section symbols, use the
- NULL symbol instead. Document the choice to not emit an
- additional R_MIPS_64 relocation.
-
-2003-03-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
- zero index dynamic tls relocs generated for the GOT. Tidy code.
- Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
-
-2003-03-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
- a tls_get_addr call.
- * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
- (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
- (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
- * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
- (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
- ELF_LINK_NON_GOT_REF from weakdef.
+2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-2003-03-06 Jakub Jelinek <jakub@redhat.com>
- Andrew Haley <aph@redhat.com>
-
- * elflink.h (elf_bfd_discard_info): Don't process eh frames if
- output is relocateable.
-
-2003-03-06 Steven Konopa <skonopa@kgo.csc.com>
-
- * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
- R_COMMENT.
-
-2003-03-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
- error messages.
- (ELIMINATE_COPY_RELOCS): Define to zero.
- (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
- TLSLD relocs. Report reloc types on a number of errors. Optimize
- LOCAL24PC check for non-local syms. Don't capitalize error messages.
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
- (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
- calculating TLSLD relocs. Report reloc types on a number of errors.
- Don't capitalize error messages.
-
-2003-03-03 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (USE_BRL): Removed.
- (oor_ip): Removed.
-
-2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
-
- * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
- relocation (no special function), and make it non-partial_inplace.
- (sh_elf_relax_section): When creating a bsr, use a consistent value
- no matter if the symbol is extern or not; set addend to -4.
- Don't swap load / non-load instructions for SH4.
- (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
- rather than if the symbol is external to determine if adjusting the
- offset makes sense. Adjust the addend too if appropriate.
- (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
- relocation.
-
-2003-03-03 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Installed latest translation.
-
-2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
- R_MIPS_PC16 to rightshift 2.
- (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
- (bfd_elf32_bfd_reloc_type_lookup): Support
- BFD_RELOC_MIPSEMB_16_PCREL_S2.
- * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
- R_MIPS_PC16 to rightshift 2.
- (mips_elf64_howto_table_rela): Likewise.
- (mips_reloc_map): Map to rightshifted BFD reloc.
- * elfn32-mips.c: The same as in elf64-mips.c.
- * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
- (mips_elf_calculate_relocation): Handle rightshifted addends for
- R_MIPS_PC16.
- * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
- MIPS Embedded PIC. Remove superfluous empty COMMENT.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2003-02-28 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
- for ltoff22x relaxation.
-
-2003-03-01 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (_bfd): Don't define.
- * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
- * syms.c: Likewise.
- * bfd-in2.h: Regenerate.
-
-2003-02-27 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
- (elfNN_ia64_check_relocs): Set it.
- (allocate_global_data_got): Check it.
- (allocate_local_got): Likewise.
- (allocate_dynrel_entries): Likewise.
- (elfNN_ia64_relax_ldxmov): New.
- (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
- (elfNN_ia64_choose_gp): Split out from ...
- (elfNN_ia64_final_link): ... here.
-
-2003-02-27 Andrew Cagney <cagney@redhat.com>
-
- * bfd.c (struct bfd): Rename "struct _bfd".
- * bfd-in.h: Update copyright.
- (struct bfd): Rename "struct _bfd".
- (_bfd): Define for backward compatibility.
- * bfd-in2.h: Regenerate.
-
-2003-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
- and rel_hdr2 when initially counting input relocs rather than after
- creating output reloc sections.
- (elf_link_read_relocs_from_section): Don't abort with wrong reloc
- sizes.
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-02-24 Kris Warkentin <kewarken@qnx.com>
-
- * elf.c (elfcore_read_notes): Add check for QNX style core file.
- (elfcore_grog_nto_note): New function.
- (elfcore_grog_nto_gregs): New function.
- (elfcore_grog_nto_status): New function.
-
-2003-02-24 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_got_section): Check existing .got
- section flags before concluding that we've already been called.
- Don't use register keyword.
- (_bfd_elf_create_dynamic_sections): Don't use register keyword.
- (_bfd_elf_create_linker_section): Formatting.
-
-2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
-
- * coff-h8300.c: Fix typo: intial -> initial.
- * coff-ppc.c: Likewise.
-
-2003-02-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c: Formatting.
- (allocate_dynrelocs): LD and GD relocs against the same sym need
- separate GOT entries.
- (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
- entries per symbol.
-
-2003-02-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
- removal. Localize vars. Remove unnecessary dynobj test.
- * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
- of INFO.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize.
- (elf_i386_relocate_section): Likewise.
- (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
- * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
- * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
- * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
- * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
- * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
- local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
- or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
- Formatting.
-
- * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
- (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
- test.
- (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize. Use ELIMINATE_COPY_RELOCS.
- (ppc64_elf_relocate_section): Likewise.
-
- * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
- (ppc_elf_copy_indirect_symbol): Copy pc_count field.
- (ELIMINATE_COPY_RELOCS): Define.
- (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
- (MUST_BE_DYN_RELOC): Define.
- (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
- and optimize. Trim dyn_relocs.
- (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
- not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
- track of pc_rel dyn relocs.
- (ppc_elf_relocate_section): Remove "will_become_local". Adjust
- WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
- allocate_dynrelocs. Don't recalculate "sec".
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
- * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
- on invalid LD relocs.
- (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
- (ppc64_elf_relocate_section): Unify new handling of LD relocs and
- tlsld_got entry. Use IS_PPC64_TLS_RELOC.
-
- * elf32-ppc.h: New file.
- * elf32-ppc.c: Include elf32-ppc.h.
- (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
- (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
- Add "tls_mask" field.
- (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
- (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
- Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
- sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
- Make use of htab shortcuts throughout file.
- (ppc_elf_link_hash_newfunc): Init tls_mask field.
- (ppc_elf_link_hash_table_create): Init new fields.
- (ppc_elf_copy_indirect_symbol): Copy tls_mask.
- (ppc_elf_howto_raw): Add tls relocs.
- (ppc_elf_reloc_type_lookup): Handle them.
- (ppc_elf_unhandled_reloc): New function.
- (ppc_elf_create_got): Stash got section pointer in hash table,
- return status. Make .rela.got too.
- (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
- (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
- NON_GOT_REF set. Don't allocate space in .plt here..
- (allocate_dynrelocs): ..do so here instead, properly ref-counting and
- not allocating plt entries unnecessarily. Allocate got entries here.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
- (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
- "info" during allocate_dynrelocs hash traversal. Use htab section
- shortcuts rather than searching for named sections. Get rid of
- "plt" and "strip" booleans.
- (update_local_sym_info, bad_shared_reloc): New functions.
- (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
- ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
- in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
- Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
- R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
- in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
- relocs that might use a plt entry. Set NON_GOT_REF too.
- Enumerate all do-nothing relocs.
- (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
- tls relocs and all plt relocs.
- (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
- (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
- (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
- shortcuts.
- (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
- bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
- entries and got relocs here. Warn on non-zero got reloc addend.
- Split out branch taken/not taken reloc code into a separate switch
- and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
- Split out HA reloc adjustments to separate switch statement. Don't
- warn on reloc overflow if we've already warned about undefined.
- Don't rebuild sym name when reporting errors. Report all possible
- errors from _bfd_final_link_relocate.
- (bfd_elf32_bfd_final_link): Don't define.
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
- rebuild sym name when reporting errors.
-
-2003-02-17 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_link_output_extsym): Only check
- allow_shlib_undefined for shared libraries.
- * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
- of allow_shlib_undefined.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
- * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
-
-2003-02-17 Nick Clifton <nickc@redhat.com>
-
- * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
- address field to use in the comparison.
- (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
-
-2003-02-14 Bob Wilson <bob.wilson@acm.org>
-
- * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
- backends when checking if the generic ELF target should be used.
-
- * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
- outside of functions, treat values as absolute addresses.
-
- * bfd.c: Change embedded documentation to use consistent indentation
- and to split up long lines. Change informal style of description
- for functions lacking real documentation.
- * coffcode.h: Break up long lines in embedded documentation.
- * format.c: Likewise.
- * targets.c: Likewise.
- * libcoff.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2003-02-14 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
- (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
- (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
- (allocate_dynrelocs): Don't treat undefined and undefweak specially.
- (ppc_size_one_stub): Fix warning, and tighten plt entry check.
- (group_sections): Don't share a stub section if stubs are for a large
- section. Adjust comment.
- (ppc64_elf_size_stubs): Roughly double the size left for stubs if
- !stubs_always_before_branch.
- (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
- treat undefined and undefweak specially when processing dyn relocs.
-
-2003-02-13 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
-
-2003-02-13 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
- in computation of offset to insert into BL instruction.
-
-2003-02-11 Uwe Stieber <uwe@wwws.de>
-
- * config.bfd: Add support for kaOS as cross build target system.
-
-2003-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
- .__tls_get_addr too.
- (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
-
-2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
- (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
- (sh_elf_link_hash_newfunc): Remove the initialization of
- tls_tpoff32 field.
- (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
- for which tls_tpoff32 flag is set.
- (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
- of the symbol includes the entry matched with the input_section
- and having tls_tpoff32 flag on. When linking statically, set
- symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
- is defined in this executable.
- (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
-
-2003-02-10 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
- even if there is just non-empty .rela.plt.
-
-2003-02-10 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_mach_arm_ep9312): Define.
- * bfd-in2.h: Regenerate.
- * cpu-arm.c (processors[]): Add ep9312.
- (bfd_arm_arch): Add ep9312.
- * elf32-arm.h (elf32_arm_merge_private_data): Update error
- messages and add test for Maverick floating point support.
- (elf32_arm_print_private_bfd_data): Handle
- EF_ARM_MAVERICK_FLOAT flag.
- (elf32_arm_object_p): New function.
- (elf_backend_object_p): Define.
-
-2003-02-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
- variables, structure fields or function params to tls_mask or
- similar to better reflect usage.
- (struct got_entry): Comment.
- (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
- (get_tls_mask): Rename from get_tls_type.
-
-2003-02-09 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (TLS_GD_LD): Don't define..
- (TLS_GD): ..define this instead and update all uses.
- (TLS_TPRELGD): Define.
- (ppc64_elf_link_hash_table_create): Tweak initialization of
- init_refcount and init_offset.
- (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
- Mark second slot of GD or LD toc entries.
- (get_tls_type): Return an int. Distinguish toc GD and LD entries
- from other tls types.
- (ppc64_elf_tls_setup): New function, split out from..
- (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
- defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
- on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
- return value to properly decide whether toc GD and LD entries can
- optimize away __tls_get_addr call. Check next reloc after DTPMOD64
- to determine GD or LD rather than looking at TLS_LD flag. Don't
- attempt to adjust got entry tls_type here..
- (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
- look for possible merges.
- (ppc64_elf_size_dynamic_sections): Adjust local got entries for
- optimization.
- (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
- (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
- Make use of return value from get_tls_type to properly detect GD and
- LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
- handle tls_get_addr removal when looking at REL24 relocs, do it when
- looking at the previous reloc. Check reloc after DTPMOD64 to determine
- GD or LD.
- * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
-
-2003-02-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (group_sections): Don't share a stub section if
- stubs are for a large section.
-
- * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
- stubs if !stubs_always_before_branch.
-
-2003-02-07 Nick Clifton <nickc@redhat.com>
-
- * elf.c (swap_out_syms): Generate an error message if an
- equivalent output section cannot be found for a symbol.
-
-2003-02-07 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
- local_got_entries is NULL.
-
-2003-02-06 Andreas Schwab <schwab@suse.de>
-
- * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
- (read_value): Add parameter is_signed, use signed extraction if
- the value is signed.
- (_bfd_elf_write_section_eh_frame): Pass signed flag of the
- encoding to read_value.
-
-2003-02-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
- plt info when called to transfer weak sym info.
-
-2003-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * reloc.c: Add PPC and PPC64 TLS relocs.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
- (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
- against a 32 bit field.
- (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
- (_ppc64_elf_section_data): Add t_symndx and comments.
- (ppc64_elf_section_data): Use elf_section_data macro.
- (ppc64_elf_new_section_hook): American spelling.
- (struct got_entry, struct plt_entry): New.
- (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
- (struct ppc_stub_hash_entry): Add "addend" field.
- (struct ppc_link_hash_entry): Add "tls_type".
- (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
- TLS_EXPLICIT): Define.
- (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
- (link_hash_newfunc): Init new fields.
- (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
- init_offset to NULL.
- (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
- _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
- there.
- (update_local_sym_info, update_plt_info): New functions.
- (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
- handling to use got.glist rather than got.refcount. Likewise for PLT.
- (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
- (func_desc_adjust): Adjust for new PLT list.
- (ppc64_elf_adjust_dynamic_symbol): Likewise.
- (get_sym_h, get_tls_type): New functions.
- (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
- (ppc64_elf_tls_optimize): New function.
- (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
- TLS relocs.
- (ppc64_elf_size_dynamic_sections): Likewise.
- (ppc_type_of_stub): Adjust for new PLT list.
- (ppc_build_one_stub): Likewise.
- (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
- calls specially.
- (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
- TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
- init GOT entries that have a reloc. Generate GOT relocs here..
- (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
- * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
-
-2003-02-04 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_hash_entry): Define.
- (elf_m68k_link_hash_traverse): Remove.
- (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
- elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
- reduce casting.
- (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
- casting.
- (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
- instead of elf_m68k_link_hash_traverse.
- (elf_m68k_discard_copies): Change first parameter to pointer to
- struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
- elf_m68k_link_hash_entry is needed.
-
-2003-02-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
- (struct elf_link_hash_entry): Add "glist" and "plist" fields to
- "got" union, and declare as gotplt_union. Use gotplt_uinion for
- "plt" field.
- (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
- Add "init_offset" field.
- (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
- (elf_local_got_ents): Declare.
- * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
- and "plt".
- (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
- (_bfd_elf_link_hash_table_init): Set "init_offset".
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
- from init_offset.
- (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
-
- * elf.c (bfd_elf_local_sym_name): Split out from..
- (group_signature): ..here.
- * elf-bfd.h (bfd_elf_local_sym_name): Declare.
-
-2003-02-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (enum elf_link_info_type): Remove.
- (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
- to struct sec. Remove linkonce_p field.
- (elf_linkonce_p): Delete.
- (elf_discarded_section): Update for sec_info_type change.
- * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
- flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
- (ELF_INFO_TYPE_NONE): Define.
- (ELF_INFO_TYPE_STABS): Define.
- (ELF_INFO_TYPE_MERGE): Define.
- (ELF_INFO_TYPE_EH_FRAME): Define.
- (ELF_INFO_TYPE_JUST_SYMS): Define.
- (STD_SECTION): Update struct sec initializer.
- * ecoff.c (bfd_debug_section): Likewise.
- * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
- * elflink.h: Likewise.
- * elf-eh-frame.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elfxx-mips.c: Likewise.
- * bfd-in2.h: Regenerate.
-
- * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
- referring to used_by_bfd.
- * elf64-sparc.c (sec_do_relax): Likewise.
- * elf64-mmix.c (mmix_elf_section_data): Likewise.
- * elfxx-mips.c (mips_elf_section_data): Likewise.
- * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
- (ieee_get_section_contents): Likewise.
- (ieee_new_section_hook): Formatting.
- (ieee_canonicalize_reloc): Remove commented out code.
- * mmo.c (mmo_section_data): Define. Use throughout file.
- * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
-
-2003-01-31 Graydon Hoare <graydon@redhat.com>
-
- * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
- * Makefile.in: Regenerate.
- * opncls.c (calc_crc32, get_debug_link_info,
- seperate_debug_file_exists, find_seperate_debug_file): New
- internal functions.
- (bfd_follow_gnu_debuglink): New function. Follow the pointer
- contained inside a .gnu_debuglink section.
- * bfd-in2.h: Regenerate.
-
-2003-01-29 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
- entry->abfd when it's NULL.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
- _bfd_elf_section_offset returning -2 the same way as -1.
-
- * elfxx-mips.c (mips_elf_multi_got): New function.
- (struct mips_got_entry): Make symndx and gotidx signed. Moved
- addend into union along with address and link hash entry.
- (struct mips_got_info): Added bfd2got and next.
- (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
- (mips_elf_got_section, mips_elf_create_got_section): Use
- SEC_EXCLUDE bit to tell whether we really need the got
- section. Take boolean arguments to disregard an excluded
- section, or to create it as excluded. Adjust all callers.
- Use mips_elf_got_section all over.
- (mips_elf_local_got_index, mips_elf_got_page,
- mips_elf_got16_entry): Take input bfd as argument, and pass it
- on to mips_elf_create_local_got_entry.
- (mips_elf_global_got_index, mips_elf_create_local_got_entry):
- Take input bfd as argument, and manage entries in the
- appropriate GOT.
- (mips_elf_got_offset_from_index): Take input bfd as argument,
- and use it to adjust the GP offset of the bfd.
- (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
- unreferenced GOT entries of global symbols to the end.
- (mips_elf_record_global_got_symbol): Take input bfd as
- argument. Add entries to the master GOT hash table.
- (struct mips_elf_bfd2got_hash): New.
- (struct mips_elf_got_per_bfd_arg): New.
- (struct mips_elf_set_global_got_offset_arg): New.
- (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
- mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
- mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
- mips_elf_merge_gots, mips_elf_set_global_got_offset,
- mips_elf_resolve_final_got_entry,
- mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
- mips_elf_got_for_ibfd): New functions.
- (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
- (MIPS_ELF_GOT_MAX_SIZE): New macro.
- (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
- (mips_elf_got_entry_hash): Take new fields into account. Use
- mips_elf_hash_bfd_vma.
- (mips_elf_got_entry_eq): Take new fields into account.
- (mips_elf_create_got_section): Initialize new fields.
- (mips_elf_calculate_relocation): Pass input_bfd to functions
- that now take it. Adjust gp for the input_bfd.
- (mips_elf_allocate_dynamic_relocation,
- mips_elf_create_dynamic_relocation,
- _bfd_mips_elf_create_dynamic_sections): Use...
- (mips_elf_rel_dyn_section): New function. Borrow code from...
- (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
- now take it. Create the got section if needed, even if
- excluded, before recording a global got symbol. Move some
- code to...
- (mips_elf_record_local_got_symbol): New fn.
- (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
- Compute multi-got global entries offsets. Move GOT code to...
- (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
- if the GOT is too big.
- (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
- undefweak symbol to zero. Generate dynamic relocations for
- non-primary GOT entries for global symbols.
- (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
- case. Generate dynamic relocations for local got entries.
- Sort dynamic relocations on N64 too, using...
- (sort_dynamic_relocs_64): New fns.
- (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
- (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * bfd.c (struct _bfd): Added id field.
- * opncls.c (_bfd_id_counter): New static variable.
- (_bfd_new_bfd): Use it.
- * bfd-in2.h: Rebuilt.
-
-2003-01-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
-
-2003-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
- (elf32_sparc_rev32_howto): New variable.
- (sparc_reloc_map): Add TLS relocs.
- (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
- Handle REV32.
- (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
- New functions.
- (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
- struct elf32_sparc_link_hash_table):
- New structures.
- (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
- elf32_sparc_hash_table): Define.
- (link_hash_newfunc, elf32_sparc_link_hash_table_create,
- create_got_section, elf32_sparc_create_dynamic_sections,
- elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
- functions.
- (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
- reference counting.
- (elf32_sparc_gc_sweep_hook): Likewise.
- (elf32_sparc_adjust_dynamic_symbol): Likewise.
- (elf32_sparc_size_dynamic_sections): Likewise.
- (elf32_sparc_relocate_section): Likewise.
- (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
- New functions.
- (elf32_sparc_object_p): Allocate backend private object data.
- (bfd_elf32_bfd_link_hash_table_create,
- elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
- elf_backend_can_refcount): Define.
- (elf_backend_create_dynamic_sections): Define to
- elf32_sparc_create_dynamic_sections.
- * reloc.c: Add SPARC TLS relocs.
- * bfd-in2.h, libbfd.h: Rebuilt.
- * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
- (sparc_reloc_map): Likewise.
-
-2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * bfd-in2.h: Regenerate.
- * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
- s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
- (elf_howto_table): Add TLS relocs.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_link_hash_entry): Add tls_type.
- (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
- New macros.
- (elf_s390_link_hash_table): Add tls_ldm_got.
- (link_hash_newfunc): Initialize tls_type.
- (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
- (elf_s390_copy_indirect_symbol): Copy tls_type information.
- (elf_s390_check_relocs): Support TLS relocs.
- (elf_s390_gc_sweep_hook): Likewise.
- (allocate_dynrelocs): Likewise.
- (elf_s390_size_dynamic_sections): Likewise.
- (elf_s390_relocate_section): Likewise.
- (elf_s390_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject): Define for TLS.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * libbfd.h: Regenerate.
- * reloc.c: Add s390 TLS relocations.
-
-2003-01-24 Charles Lepple <clepple@ghz.cc>
-
- * aclocal.m4: Fix name of --enable-install-libbfd switch.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
- 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
- * archures.c (bfd_mach_sh2e): Added.
- * bfd-in2.h: Rebuilt.
- * cpu-sh.c (arch_info_struct): Added SH2e.
- * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
- dynindx to an int. Rearrange for better packing.
- * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
- * elf32-mips.c (bfd_elf32_new_section_hook): Define.
- * elf32-sh64.h: New. Split out from include/elf/sh.h.
- (struct _sh64_elf_section_data): New struct.
- (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
- * elf32-sh64-com.c: Include elf32-sh64.h.
- * elf32-sh64.c: Likewise.
- (sh64_elf_new_section_hook): New function.
- (bfd_elf32_new_section_hook): Define.
- (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
- (sh64_bfd_elf_copy_private_section_data): Likewise.
- (sh64_elf_final_write_processing): Likewise.
- * elf32-sparc.c (struct elf32_sparc_section_data): New.
- (elf32_sparc_new_section_hook): New function.
- (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
- (sec_do_relax): Define.
- (elf32_sparc_relax_section): Adjust to use sec_do_relax.
- (elf32_sparc_relocate_section): Likewise.
- * elf64-mips.c (bfd_elf64_new_section_hook): Define.
- * elf64-mmix.c (struct _mmix_elf_section_data): New.
- (mmix_elf_section_data): Define. Use throughout file.
- (mmix_elf_new_section_hook): New function.
- (bfd_elf64_new_section_hook): Define.
- * elf64-ppc.c (struct _ppc64_elf_section_data): New.
- (ppc64_elf_section_data): Define. Use throughout.
- (ppc64_elf_new_section_hook): New function.
- (bfd_elf64_new_section_hook): Define.
- * elf64-sparc.c (struct sparc64_elf_section_data): New.
- (sparc64_elf_new_section_hook): New function.
- (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
- (sec_do_relax): Define.
- (sparc64_elf_relax_section): Adjust to use sec_do_relax.
- (sparc64_elf_relocate_section): Likewise.
- (bfd_elf64_new_section_hook): Define.
- * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
- * elfxx-mips.c (struct _mips_elf_section_data): New.
- (mips_elf_section_data): Define. Use throughout.
- (_bfd_mips_elf_new_section_hook): New function.
- (mips_elf_create_got_section): Don't alloc used_by_bfd.
- * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
- * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-01-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
- (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
- (elf64_alpha_adjust_dynamic_symbol): Set them.
- (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
- (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
- symbol index when relaxing LDM to TPREL.
- (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
- relocs, even if the target isn't locally defined.
- (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
- (elf64_alpha_relocate_section): Likewise. Force TP-relative
- relocs vs symndx 0 to the tp base.
-
-2003-01-21 Fabio Alemagna <falemagn@aros.org>
-
- * config.bfd: Handle i[3456]86-*-aros*.
-
-2003-01-21 Andreas Schwab <schwab@suse.de>
-
- * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
- (struct ppc_elf_link_hash_entry): Define.
- (ppc_elf_hash_entry): New function.
- (struct ppc_elf_link_hash_table): Define.
- (ppc_elf_hash_table): New function.
- (ppc_elf_link_hash_newfunc): New function.
- (ppc_elf_link_hash_table_create): New function.
- (ppc_elf_copy_indirect_symbol): New function.
- (allocate_dynrelocs): New function.
- (readonly_dynrelocs): New function.
- (ppc_elf_size_dynamic_sections): Allocate space for dynamic
- relocs and determine DT_TEXTREL.
- (ppc_elf_check_relocs): Don't do that here, just count the
- dynamic relocs.
- (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
- removed section.
- (bfd_elf32_bfd_link_hash_table_create): Define.
- (elf_backend_copy_indirect_symbol): Define.
-
-2003-01-21 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
- TPREL also get a reloc if shared. Remove SREL support.
- (elf64_alpha_emit_dynrel): New.
- (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
- and GOTTPREL relocs to local symbols against the tp base.
- (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
-
- * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
- use count before clobbering r_type.
- (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
- ordering would mean dataflow inspection is necessary.
-
-2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coffcode.h (coff_set_flags): Added get/set arch hooks.
-
-2003-01-20 Fabio Alemagna <falemagn@aros.org>
-
- * elf32-sh.c: Treat elfNN_bed like other macros defined in
- elfxx-target.h and #undef it before #define'ing it.
- * elf32-i386.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-sh64.c: Likewise.
-
-2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * bfd-in2.h: Regenerate.
- * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
- (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
- R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
- R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
- R_390_PLTOFF32 and R_390_PLTOFF64.
- (elf_s390_reloc_type_lookup): Likewise.
- (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
- of GOTPLT references to a function.
- (link_hash_newfunc): Initialize gotplt_refcount.
- (elf_s390_check_relocs): Move allocation of local_got_refcounts array
- and creation of the got section out of the main switch. Add support
- for the gotoff, gotplt and pltoff relocations.
- (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
- and pltoff.
- (elf_s390_adjust_gotplt): New function.
- (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
- plt entries.
- (allocate_dynrelocs): Add comment.
- (elf_s390_relocate_section): Change r_type to unsigned. Add support
- for gotoff, gotplt and pltoff relocations.
- * elf64-s390.c: Same changes as for elf32-s390.c.
- * libbfd.h: Regenerate.
- * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
- BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
- BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
- and BFD_RELOC_390_PLTOFF64.
-
-2003-01-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
- R_IA64_TPREL64[LM]SB against non-global symbol properly.
-
-2003-01-16 Jakub Jelinek <jakub@redhat.com>
-
- * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
- self_dtpmod_done and self_dtpmod_offset.
- (allocate_global_data_got): Only use one got entry for all
- dtpmod relocs against local symbols.
- (allocate_dynrel_entries): Only need .rela.got entry for
- dtpmod against global symbol.
- (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
- Reserve space in .rela.got for the local dtpmod entry.
- (set_got_entry): Initialize the common local dtpmod .got entry.
- (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
- and R_IA_64_DTPREL64MSB.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
- (R_PPC_*): Rename all occurrences to R_PPC64_*.
- (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
- (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
- (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
- relative relocs, not with absolute ones.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2003-01-15 Andreas Schwab <schwab@suse.de>
-
- * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
- relocation against a non-allocated readonly section.
-
-2003-01-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
-
-2002-01-08 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
- (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
- * Makefile.in: Regenerate.
-
-2003-01-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elfn32-mips.c (prev_reloc_section): New.
- (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
- (SET_RELOC_ADDEND): Parenthesize macro argument.
-
-2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
-
- * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
- adjust addil instructions if the symbol has no section.
-
-2003-01-07 DJ Delorie <dj@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
- partial_inplace.
-
-2003-01-07 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
- PC relative relocations.
- (elf_m68k_discard_copies): Set it here instead.
-
-2002-01-02 Ben Elliston <bje@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
- (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
- (BFD32_BACKENDS): Add elf32-iq2000.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
- (cpu-iq2000.lo): New target.
- * Makefile.in: Regenerate.
- * config.bfd: Handle iq2000-*-elf.
- * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
- (bfd_archures_list): Add bfd_iq2000_arch.
- * configure.in: Handle bfd_elf32_iq2000_vec.
- * configure: Regenerate.
- * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
- and BFD_RELOC_IQ2000_UHI16.
- * targets.c (bfd_elf32_iq2000_vec): Declare.
- (bfd_target_vector): Add bfd_elf32_iq2000_vec.
- * elf.c (prep_headers): Set e_machine to EM_IQ2000.
- * cpu-iq2000.c: New file.
- * elf32-iq2000.c: Likewise.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Likewise.
-
-2003-01-02 Richard Sandiford <rsandifo@redhat.com>
-
- * elfxx-mips.c: Include libiberty.h.
- (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
- (mips_set_isa_flags): New function, split out from...
- (_bfd_mips_elf_final_write_processing): ...here. Only call
- mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
- (mips_mach_extensions): New array.
- (mips_32bit_flags_p): New function.
- (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
- Use mips_32bit_flags_p to check if one binary is 32-bit and the
- other is 64-bit. When adopting IBFD's architecture, adopt the
- bfd_mach as well as the flags.
-
-2003-01-02 Nick Kelsey <nickk@ubicom.com>
-
- * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
- fix internal errors, fix bad code generation, fix incorrect stabs
- information, and improve ability to eliminate redundant page
- instructions. Added code to ip2k_final_link_relocate to self-verify
- the linker relaxation. Fix formatting problems.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
- * archures.c (bfd_mach_mipsisa32r2): New define.
- * bfd-in2.h: Regenerate.
- * cpu-mips.c (I_mipsisa32r2): New enum value.
- (arch_info_struct): Add entry for I_mipsisa32r2.
- * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
- (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
- (_bfd_mips_elf_final_write_processing): Add
- bfd_mach_mipsisa32r2 case.
- (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
- binaries marked as using MIPS32 Release 2.
-
-2002-12-30 Dmitry Diky <diwil@mail.ru>
-
- * Makefile.am: Add msp430 target.
- * configure.in: Likewise.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * archures.c: Add msp430 architecture vector.
- * config.bfd: Likewise.
- * reloc.c: Add msp430 relocs.
- * targets.c: Add msp320 target.
- * cpu-msp430.c: New file: msp430 cpu detection.
- * elf32-msp430.c: New file: msp430 reloc processing.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2002-12-28 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (elf_sort_sections): Don't reorder .tbss.
- (assign_file_positions_for_segments): Only adjust off/voff
- for increased alignment in PT_LOAD or PT_NOTE segment,
- but adjust p_filesz for .tbss too. in PT_LOAD consider
- .tbss to have zero memory size.
- (copy_private_bfd_data) [SECTION_SIZE]: Define.
- [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
- [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
- into PT_TLS segment. Never put SHF_TLS sections in
- segments other than PT_TLS or PT_LOAD.
-
- * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
- sh_entsize.
-
-2002-12-23 DJ Delorie <dj@redhat.com>
-
- * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_output_extsym): Heed strip_discarded.
-
-2002-12-23 Nick Clifton <nickc@redhat.com>
-
- * archures.c (bfd_arch_get_compatible): Add third parameter
- 'accept_unknowns'. Only accept unknown format BFDs if
- accept_unknowns is true, or if the format is "binary".
- * bfd-in2.h: Regenerate.
-
-2002-12-21 Nick Clifton <nickc@redhat.com>
-
- * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
- that subtracted 8 from pc relative relocations.
-
-2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c: Fix comment typos.
- * coffcode.h: Likewise.
- * cpu-cris.c: Likewise.
- * elf32-vax.c: Likewise.
- * genlink.h: Likewise.
- * linker.c: Likewise.
- * som.c: Likewise.
- * tekhex.c: Likewise.
- * vms-misc.c: Likewise.
-
-2002-12-20 DJ Delorie <dj@redhat.com>
-
- * reloc.c: Add BFD_RELOC_XSTORMY16_12.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
- (xstormy16_reloc_map): Add R_XSTORMY16_12.
-
-2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
-
- * doc/bfdint.texi: Fix typos.
-
-2002-12-20 Paul Eggert <eggert@twinsun.com>
-
- Port to POSIX 1003.1-2001.
- * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
- * configure.in (build-warnings): Likewise.
- (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
+ * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
+ throughout.
* aclocal.m4: Regenerate.
- * config.in: Regenerate.
* configure: Regenerate.
-2002-12-19 Alan Modra <amodra@bigpond.net.au>
-
- * coff-h8300.c: Include libiberty.h.
- (h8300_reloc16_extra_cases): Check the hash table creator before
- referencing h8300 specific fields. Stash the hash table pointer
- in a local var. Comment typo fixes.
- (h8300_bfd_link_add_symbols): Likewise.
-
- * reloc.c (struct reloc_howto_struct): Revise src_mask and
- dst_mask comments.
- * bfd-in2.h: Regenerate.
-
-2002-12-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
- code a little. Comment on dynamic relocs against section symbols.
-
-2002-12-17 Roger Sayle <roger@eyesopen.com>
-
- * configure.host (ia64-*-hpux*): Support 64 bit targets using
- the HP compiler's "long long".
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
- and R_XSTORMY16_HI16) howto entries.
- (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
- (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
- determine the start of the second reloc table.
-
-2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * ecofflink.c: Fix the reading of the debugging information
- of Tru64/Alpha binaries that are produced by recent Compaq
- compilers.
- (mk_fdrtab): Fix error in creating the FDR (file descriptor)
- table.
- (lookup_line): Because of the strange information sometimes
- generated by Compaq's recent compilers, change how the FDR
- table is searched so that PDRs (procedure descriptors) are
- correctly found. Note that this change is really more of a hack;
- however, I have included extensive documentation as to why
- this is the best solution short of an extensive rewrite or
- another hack.
- (fdrtab_lookup): Add comments to explain the algorithm.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
- initializers to match struct declaration.
-
-2002-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * dwarf2.c (comp_unit_contains_address): Comment typo fix.
- * elf.c (get_program_header_size): Likewise.
- * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
- (m32r_elf_generic_reloc): Likewise.
- * elf32-ppc.c (ppc_elf_howto_init): Likewise.
- * elflink.h (elf_bfd_discard_info): Likewise.
-
-2002-12-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
- to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
- DT_RELSZ adjustment, not output section. Avoid writing tags when
- unchanged. Don't assume linker script is sane, adjust DT_REL too.
- * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
- size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
- DT_RELASZ adjustment, not output section. Avoid writing tags when
- unchanged. Adjust DT_RELA.
- * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
- formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
- addend by 4.
-
-2002-12-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (struct mips_got_entry): New.
- (struct mips_got_info): Added got_entries field.
- (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
- (mips_elf_local_got_index, mips_elf_got_page,
- mips_elf_got16_entry): Re-implement in terms of new...
- (mips_elf_create_local_got_entry): Rewrite to use got_entries.
- Change return type.
- (mips_elf_highest): Warning clean-up.
- (mips_elf_create_got_section): Initialize got_entries.
- (_bfd_mips_elf_check_relocs): Use got_entries to estimate
- local got size.
- (_bfd_mips_elf_size_dynamic_sections): Do not account for
- GOT_PAGE entries, since we now reuse GOT16 entries.
-
-2002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
-
- * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
- read-only section that lies after .text and before .data to be
- written into the output file and included in a_text.
- (translate_to_native_sym_flags): If an otherwise unrepresentable
- section was merged with .text, convert its symbols to N_TEXT
- symbols.
- * libaout.h (aout_section_merge_with_text_p): New macro.
-
-2002-12-08 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h: Comment typo fix. Formatting.
- * bfd-in2.h: Regenerate.
- * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
- * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
- * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
-
-2002-12-05 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
- Only send PCREL21B though the plt. Fix installed reloc type.
- (elfNN_ia64_relocate_section): Give error for dynamic reloc
- against PCREL22 or PCREL64I; clean up error messages for
- branch relocs.
-
-2002-12-04 Kevin Buettner <kevinb@redhat.com>
-
- * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
- New functions.
- (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * cpu-ia64-opc.c: Add operand constant "ar.csd".
-
-2002-12-04 H.J. Lu <hjl@gnu.org>
-
- * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
- BFD address when constructing local name.
-
-2002-12-04 Andreas Schwab <schwab@suse.de>
-
- * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
- member.
- (elf_m68k_link_hash_table_create): Initialize it.
- (elf_m68k_check_relocs): Handle symbols that are forced to be
- local due to visibility changes.
- (elf_m68k_adjust_dynamic_symbol): Likewise.
- (elf_m68k_size_dynamic_sections): Likewise.
- (elf_m68k_discard_copies): Likewise.
- (elf_m68k_relocate_section): Likewise.
-
-2002-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
-
-2002-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * srec.c (srec_write_symbols): Restore '$' prefix to address
- accidentally removed in 2002-04-04 change.
- (srec_get_symtab): Use 0 instead of `(long) FALSE'.
-
-2002-12-03 Nick Clifton <nickc@redhat.com>
-
- * elf32-ppc.c (apuinfo_list_init): New function.
- (apuinfo_list_add): New function: Add a value to the list.
- (apuinfo_list_length): New function: Return the number of
- values on the list.
- (apuinfo_list_element): New function: Return a value on the
- list.
- (apuinfo_list_finish): New function: Free the resources used
- by the list.
- (ppc_elf_begin_write_processing): New function. Scan the
- input bfds for apuinfo sections.
- (ppc_elf_write_section): New function: Delay the creation of
- the contents of an apuinfo section in an output bfd.
- (ppc_elf_final_write_processing): New function. Create the
- contents of an apuinfo section in an output bfd.
- (elf_backend_begin_write_processing): Define.
- (elf_backend_final_write_processing): Define.
- (elf_backend_write_section): Define.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- Fix PR savannah/1417:
- * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
- branch if it goes to the start of the deleted region.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * bfd-in2.h (bfd_mach_m6812): Rebuild.
- * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
- bfd_mach_m6812s): Declare.
-
- * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
- (_bfd_m68hc12_elf_set_private_flags): Call it.
- (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
- (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
- report microcontroller incompatibilities (HC12 vs HCS12).
- (elf_backend_object_p): Update.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
- (enum bfd_boolean, boolean): Delete.
- (bfd_boolean): Typedef to an int.
- (FALSE, TRUE): Define.
- * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
- aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
- aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
- binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
- coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
- coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
- coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
- coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
- coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
- coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
- corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
- cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
- cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
- cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
- cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
- cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
- cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
- cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
- cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
- cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
- dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
- elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
- elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
- elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
- elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
- elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
- elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
- elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
- elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
- elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
- elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
- elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
- elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
- elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
- elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
- elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
- hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
- i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
- libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
- libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
- m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
- mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
- nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
- pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
- pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
- pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
- reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
- som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
- syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
- vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
- xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
- bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
- of bfd_boolean vars with TRUE/FALSE. Formatting.
- * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
-
-2002-11-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
- Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
- with Elf_Internal_Rela.
- * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
- elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
- elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
- elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
- elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
- elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
- elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
- elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
- elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
- elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
- elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
- * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
- throughout instead.
- * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
- * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
- Remove INLINE keyword.
- (elf_swap_reloc_in): Likewise. Also clear r_addend.
- (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
- as a bfd_byte *.
- (elf_write_relocs): Consolidate REL and RELA code.
- (elf_slurp_reloc_table_from_section): Simplify REL code.
- (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
- * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
- * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
- RELA code.
- (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
- reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
- (elf_link_output_relocs): Likewise.
- (elf_reloc_link_order): Likewise.
- (elf_finish_pointer_linker_section): Likewise.
- (struct elf_link_sort_rela): Remove union.
- (elf_link_sort_cmp1): Update to suit.
- (elf_link_sort_cmp2): Here too.
- (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
- over-allocation for int_rels_per_ext_rel != 1 case.
- * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
- * elf32-i386.c: Likewise.
- * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
- * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
- elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
- * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
- * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
- elf64-sparc.c, elf64-x86-64.c: Likewise.
- * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
- * elfxx-mips.c (sort_dynamic_relocs): Likewise for
- bfd_elf32_swap_reloc_in.
-
- * elf32-arm.h: Update elf32_arm_info_to_howto calls.
- * elf32-mips.c: Likewise for mips_info_to_howto_rel.
- (mips_elf64_swap_reloc_in): Zero r_addend.
- (mips_elf64_be_swap_reloc_in): Likewise.
- (mips_elf64_slurp_one_reloc_table): Simplify.
-
- * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_relocate_section): Don't complain about
- unresolved debugging relocs in dynamic applications.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
-
-2002-11-26 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
- (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
- on a relocatable link. Comment typos.
- * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
- in the order they are declared. Clear elf_hash_value too.
- (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
- eh_info and tls_segment.
- * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
- sorted when discarding relocs by turning them into R_*_NONE.
-
- * libbfd.c (warn_deprecated): Comment spelling.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-11-21 Richard Henderson <rth@redhat.com>
-
- * elflink.h (elf_link_add_object_symbols): Don't overwrite the
- arch's st_other bits when merging visibilities.
- (elf_link_output_extsym): Tidy clearing of visibility field.
-
-2002-11-21 Alan Modra <amodra@bigpond.net.au>
-
- * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
- (SWAP_OUT_RELOC_OFFSET): Define.
-
-2002-11-20 Alexandre Oliva <aoliva@redhat.com>
-
- * elf.c (_bfd_elf_link_hash_table_init): Make sure
- can_refcount is properly extended to the type of
- init_refcount.
-
-2002-11-19 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
- (_bfd_mips_elf_relocate_section): Use it.
-
- * elfxx-mips.c (MNAME): New macro.
- (_bfd_mips_elf_check_relocs): Use it.
- (_bfd_mips_elf_discard_info): Likewise.
- (_bfd_mips_elf_final_link): Likewise.
-
-2002-11-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
- rel_hdr.sh_size too.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
- (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
- (BFD_H_FILES): Add bfdwin.c, bfdio.c.
- (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
- Add dependencies for bfdwin.c, bfdio.c.
- * bfd.c: Remove bfd_get_mtime, bfd_get_size.
- * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
- bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
- bfd_tell, bfd_flush, bfd_stat, bfd_seek.
- * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
- bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
- bfd_get_size (moved from libbfd.c and bfd.c).
- * bfdwin.c New file. Contains _bfd_window_internal,
- bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
- libbfd.c and bfd.c).
- * po/SRC-POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * aclocal.m4: Regenerate.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
-
-2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
- jsr after a short jump.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
-
-2002-11-15 Klee Dienes <kdienes@apple.com>
-
- * pef.c (bfd_pef_convert_architecture): Move declaration of
- ARCH_POWERPC and ARCH_M68K to the start of the function.
-
-2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c (tic4x_howto_table): Formatting fixup
-
-2002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
- For bpo_gregs_section->contents, allocate _raw_size, not
- _cooked_size.
-
-2002-11-13 Klee Dienes <kdienes@apple.com>
-
- * config.bfd: Add entries for powerpc-*-darwin and cousins.
-
-2002-11-13 H.J. Lu <hjl@gnu.org>
-
- * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
-
-2002-11-13 Klee Dienes <kdienes@apple.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * bfd.c (struct bfd_preserve): New.
- (bfd_preserve_save): New function.
- (bfd_preserve_restore): Ditto.
- (bfd_preserve_finish): Ditto.
- * bfd-in2.h: Regenerate.
- * mach-o.c: Formatting.
- (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
- (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_mach_o_core_p): Ditto.
- (bfd_mach_o_scan): Pass in mdata.
- * mach-o.h (bfd_mach_o_scan): Update prototype.
- * pef.c: Formatting.
- (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_pef_xlib_object_p): Ditto.
- (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
- * pef.h (bfd_pef_scan): Update prototype.
- * xsym.c: Formatting, K&R fixes.
- (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
- (bfd_sym_scan): New function split out from bfd_sym_object_p.
- * xsym.h (bfd_sym_scan): Declare.
- * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
- * elfcore.h (elf_core_file_p): Likewise.
- * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
-
-2002-11-12 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation.
-
-2002-11-12 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Optimize stabs for
- relocatable link too.
- (elf_link_input_bfd): When emitting relocs, adjust offsets for
- eh_frame and stab sections. Zap deleted relocs.
- (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
- (elf_bfd_discard_info): Run for relocatable link too.
- * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
- Handle ld -r case.
- (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
- * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
-
- * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
- (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
- (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
- (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
- (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
- (struct elf_link_hash_table): Add eh_info.
- (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
- (_bfd_elf_discard_section_eh_frame): Update prototype.
- (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
- (_bfd_elf_write_section_eh_frame): Likewise.
- (_bfd_elf_write_section_eh_frame_hdr): Likewise.
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
- param. Get "hdr_info" from link hash table.
- (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
- header section from link hash table. Save header section to elf_tdata.
- (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
- header section from link hash table. Don't alloc hdr_info. Clear
- hdr_sec instead of setting "strip".
- (_bfd_elf_eh_frame_section_offset): Formatting.
- (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
- Get header section from link hash table.
- (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
- Get header section from link hash table.
- * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
- (get_program_header_size): Likewise.
- (_bfd_elf_section_offset): Formatting.
- * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
- section pointer in link hash table.
- (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
- and _bfd_elf_write_section_eh_frame calls. Update comment about
- eh_frame entries.
- (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
- _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
-
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
- relocs for discarded FDEs. Remove dead code.
- (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
- * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
- Tidy conditions under which stabs are edited. Formatting.
- * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
- from discarded relocs.
- * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
- section adjustments after testing magic values.
-
-2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
-
- * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
- references to large plt symbols.
-
-2002-11-12 Klee Dienes <kdienes@apple.com>
-
- * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
- looking for an unused section name.
-
-2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
-
- * coff-h8300.c: Fix formatting.
- * elf32-h8300.c: Likewise.
- * reloc16.c: Likewise.
-
-2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
-
- * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
- section when dynamic section unused; _bfd_strip_section_from_output
- instead.
-
-2002-11-08 Alan Modra <amodra@bigpond.net.au>
+2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
- * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
- and sym_vec.
+ * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
+ mips_elf64_rtype_to_howto instead of using howto_table.
- * dwarf2.c: Revert last change.
+2004-01-13 Daniel Jacobowitz <drow@mvista.com>
-2002-11-07 Michal Ludvig <mludvig@suse.cz>
+ * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
+ the .plt section.
+ (elf32_arm_check_relocs): Don't increment the PLT refcount for
+ relocs which would not use the PLT.
- * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
- _bfd_dwarf2_find_nearest_line): Use
- bfd_simple_get_relocated_section_contents() instead of
- bfd_get_section_contents().
- * reloc.c (bfd_perform_relocation): Add sanity check.
- * simple.c (simple_get_relocated_section_contents): If the section
- does not have any relocs associated with it, just return the
- unadjusted contents.
+2004-01-13 Alan Modra <amodra@bigpond.net.au>
-2002-11-07 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
- case R_CRIS_32_GOT>: Correct test for filling in constant .got
- contents, enabling for a non-DSO, for symbols defined in the
- program with --export-dynamic.
-
-2002-11-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Comment typo fixes.
- (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
-
-2002-11-07 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation.
-
-2002-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
- exactly three internal relocs per external reloc. Set reloc_count
- to the external reloc count.
-
-2002-11-06 Klee Dienes <kdienes@apple.com>
-
- * coff-stgo32.c (stub_bytes): Mark as const.
- Fix comment formatting.
-
-2002-11-06 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
- xsym.lo.
- (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
- (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
- * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
- * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
- * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
- sym.
- (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * bfd-in2.h: Regenerate.
- * xsym.c: New file. Contains support for the Apple/Metrowerks
- xSYM debugging format.
- * xsym.h: New file.
- * pef.c: New file. Contains support for the Apple Code Fragment
- Manager Preferred Executable Format
- * pef.h: New file.
- * pef-traceback.h: New file. Contains support for parsing PowerPC
- traceback tables as used by PEF executables (and perhaps other
- systems as well).
- * mach-o.c: New file. Contains support for the Mach-O object file
- format.
- * mach-o.h: New file.
- * mach-o-target.c: New file. Declares the mach-o targets
- themselves. Included three times by mach-o.c; each time with a
- different set of macros set.
-
-2002-11-06 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Remove entries for elf32-qnx.[ch].
- * Makefile.in: Regenerate.
- * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
- ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
- bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
- * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
- bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
- and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
- bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
- * configure: Regenerate.
- * elf32-qnx.c: Remove.
- * elf32-qnx.h: Remove.
- * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf32-i386.c: Remove QNX extended bfd support.
- * elf32-ppc.c: Remove QNX extended bfd support.
- * elf32-sh.c: Remove QNX extended bfd support.
- * elfarm-nabi.c: Remove QNX extended bfd support.
- * targets.c: Remove qnx vectors.
- * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
- (elf_backend_is_contained_by_filepos): Remove.
- (elf_backend_copy_private_bfd_data_p): Remove.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-11-06 David O'Brien <obrien@FreeBSD.org>
- Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
- dynamic relocs against section symbols for the output section vma.
-
-2002-11-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
- t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
-
-2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
- Alan Modra <amodra@bigpond.net.au>
-
- * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
- vectors in target_selvecs.
- (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
- in target_selvecs.
- (sh-*-netbsdelf*): Likewise.
- * configure.in (assocvecs): New variable. Handle assocvecs like
- selvecs.
- * configure: Regenerate.
- * format.c (bfd_check_format_matches): Store bfd_target pointers
- in matching_vector instead of target names. Select first target
- from bfd_associated_vector that matches a list of ambiguous targets.
- * targets.c (_bfd_associated_vector): New array.
- (bfd_associated_vector): New variable.
- (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
- * libbfd-in.h (bfd_associated_vector): Declare.
- * libbfd.h: Regenerate.
-
-2002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
-
- * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
- non-NULL before dereferencing.
-
-2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * vms.c (vms_object_p): Restore the start address when returning
- NULL.
-
-2002-11-04 Alan Modra <amodra@bigpond.net.au>
- Hans-Peter Nilsson <hp@axis.com>
-
- * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
- (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
- Set up a larger symshndxbuf, and write it out. Free it on
- exit rather than freeing symbuf twice. Correct section index
- on output section symbol loop.
- (elf_link_output_sym): Accumulate symbol extension section
- indices, reallocating symshndxbuf rather than writing it out.
- (elf_link_flush_output_syms): Don't flush symshndxbuf.
- * elf.c (assign_section_numbers): Init i_shdrp to all zero.
- Use bfd_zalloc to clear i_shdrp[0] too.
-
-2002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
-
- * elf32-sh64-com.c (sh64_address_in_cranges): Use
- _raw_size of cranges section if _cooked_size not yet set.
-
-2002-11-03 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
- for bfd_elf32_swap_symbol_out.
-
-2002-10-31 David O'Brien <obrien@FreeBSD.org>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
- signed and unsigned in comparison.
-
-2002-10-30 Daniel Jacobowitz <drow@mvista.com>
-
- * coffcode.h: Remove extraneous '\'.
-
-2002-10-28 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am (targets.lo): Depend on Makefile instead of
- config.status.
- (archures.lo): Likewise.
- * Makefile.in: Regenerated.
-
-2002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
- bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
- targ_selvecs.
-
-2002-10-25 Jim Wilson <wilson@redhat.com>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Call
- _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
- of SHF_MERGE section.
-
-2002-10-25 Hans-Peter Nilsson <hp@axis.com>
-
- * simple.c: Correct placement of ATTRIBUTE_UNUSED.
-
-2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
- unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
- unsigned int.
- (NAME(aout,final_link)): Cast enum used in assignment.
- (aout_link_write_symbols): Cast enums in comparisons, int values to
- boolean, enums in assignments to int.
- (aout_link_input_section_std): Cast rel->r_index to unsigned int.
- (aout_link_input_section_ext): Likewise. Cast enums used in
- comparisons with unsigned ints.
- (aout_link_reloc_link_order): Cast enum to int in assignment.
- * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
- calls to char *.
- * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
- assignment.
- * bfd-in2.h (bfd_set_section_vma): Likewise.
- * bfd.c (bfd_record_phdr): Cast enums in assignments.
- * binary.c (bfd_alloc): Cast enum to long.
- * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
- * dwarf2.c (read_abbrevs): Add casts to enum types.
- (read_attribute_value): Likewise.
- (arange_add): Cast result of bfd_zalloc call.
- (comp_unit_contains_address): Return true and false.
- (comp_unit_find_nearest_line): Cast return to boolean.
- * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
- * gen-aout.c: define macro '_' if not defined.
- * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
- (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
- (bfd_write_bigendian_4byte_int): Cast return to boolean.
- (bfd_seek): Cast bfd_realloc to bfd_byte *.
- (bfd_generic_is_local_label_name): Cast return to boolean.
- * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
- * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
- struct bfd_hash_entry *.
- (_bfd_generic_link_hash_newfunc): likewise.
- (_bfd_generic_final_link): Cast enum to unsigned int.
- * merge.c (sec_merge_emit): Cast return to boolean.
- (merge_strings): Add casts to const unsigned char *.
- * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
- (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
- * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
- to struct bfd_hash_entry *.
- (bfd_set_section_content): Add cast to PTR in comparison.
- * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
- simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
- simple_dummy_unattached_reloc,
- bfd_simple_get_relocated_section_contents): Add K&R declarations and
- function definitions.
- * srec.c (S3Forced): Initialize to false.
- (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
- * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
- (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
- * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
- (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
- comparisons.
-
-2002-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
- relocs into shared lib non-allocated reloc sections.
-
-2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (add_line_info): Ensure that the line_info_table is
- sorted even when given an out-of-order line sequence.
- (lookup_address_in_line_info_table): When an exact VMA match is
- not found, return line information with the closest VMA.
-
-2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
-
- * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
- HPUX 11.00 patch PHSS_26559.
-
-2002-10-22 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
- the options section into a separate section unless IRIX 6
- compatibility is enabled.
-
-2002-10-22 Alexandre Oliva <aoliva@redhat.com>
-
- * elflink.h (struct elf_link_sort_rela): Turn rel and rela
- into arrays.
- (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
- (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
- into account.
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
- R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
-
-2002-10-21 Graeme Peterson <gp@qnx.com>
-
- * targets.c (_bfd_target_vector): Add missing qnx vectors.
-
-2002-10-21 Alan Modra <amodra@bigpond.net.au>
-
- * targets.c (bfd_target_list): Don't return the default target twice.
-
-2002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
-
- * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
- perror with bfd_perror.
-
-2002-10-19 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_object_symbols): Correctly handle
- DT_RPATH and DT_RUNPATH.
-
-2002-10-19 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
-
-2002-10-17 Denis Chertykov <denisc@overta.ru>
-
- * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
- for ip2k port.
-
-2002-10-17 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-target.h (USE_REL): Don't define as 1.
- * elf32-arm.h (USE_REL): Provide a default define of 0.
- Use #if rather than #ifdef when testing USE_REL.
- * elf32-m32r.c: Likewise.
-
- * elf32-arc.c (USE_REL): Define as 1.
- * elf32-d10v.c (USE_REL): Likewise.
- * elf32-m32r.c (USE_REL): Likewise.
- * elf32-m68hc11.c (USE_REL): Likewise.
- * elf32-m68hc12.c (USE_REL): Likewise.
- * elf32-or32.c (USE_REL): Likewise.
- * elfarm-nabi.c (USE_REL): Likewise.
-
-2002-10-16 Jakub Jelinek <jakub@redhat.com>
-
- * config.bfd (s390-*-linux*): Add targ64_selvecs.
- (s390x-*-linux*): Add targ_selvecs.
-
-2002-10-16 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
- elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
- elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
- elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
- (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
- (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
- (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
- (SOURCE_HFILES): Add elf32-qnx.h.
- (BUILD_HFILES): Add bfdver.h.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * configure.in Update bfd vector dependencies.
- * configure: Regenerate.
- * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
- * elf32-i386qnx.c: Likewise.
- * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
- * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
- * elf32-sh-lin.c: Likewise.
- * elf32-shqnx.c: Likewise.
- * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
- * elf32-sh64-nbsd.c: Likewise.
- * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
- * elf64-sh64-nbsd.c: Likewise.
- * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
- * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
- * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
- * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
- * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
- (elf_backend_is_contained_by_filepos): Likewise.
- (elf_backend_copy_private_bfd_data_p): Likewise.
- Globalize and move functions to..
- * elf32-qnx.c: ..here. New file.
- * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
- emit target vectors when INCLUDE_SHMEDIA.
- * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
- end of file.
- * elf64-sh64.c: Remove ELF_ARCH test.
- * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
- * po/BLD-POTFILES.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-10-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
- loaded with --just-symbols.
-
- * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
- * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
- * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
- * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
-
-2002-10-15 Richard Henderson <rth@redhat.com>
-
- * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
- (BFD64_BACKENDS_CFILES): Likewise.
- * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
- * elf64-alpha-fbsd.c: Remove file, move code ...
- * elf64-alpha.c: ... here.
- * Makefile.in, configure: Rebuild.
-
-2002-10-14 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
- VALUE, not ADDEND.
-
-2002-10-14 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_link_hash_entry): Replace
- datalabel_got_offset with union of datalabel_got
- offset and refcount.
- (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
- (allocate_dynrelocs): Delete unnecessary code for
- STT_DATALABEL type. Create entry in got for
- datalabel version of symbol if datalabel_got.refcount > 0.
- (sh_elf_relocate_section): Use datalabel_got union.
- (sh_elf_gc_sweep_hook): Pull common code to initialize
- h and eh out of switch statement. Declare seen_stt_datalabel.
- Initialize it. Decrement datalabel_got.refcount for
- got relocs when seen_stt_datalabel is true.
- Decrement local_got_refcounts entry for datalabel got relocs
- of local symbols.
- (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
- (sh_elf_check_relocs): Declare seen_stt_datalabel.
- Initialize it. When seen_stt_datalabel is true, increment
- datalabel_got refcount rather than got.refcount.
- (sh_elf_finish_dynamic_symbol): Create relocs to
- initialize got entry for datalabel version of symbol.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- (BFD_H_FILES): Remove version.h.
- * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
- * version.h: ..to here.
- * configure.in (bfd_version_date): Remove.
- (AC_OUTPUT): Make bfdver.h from version.h.
- * bfd.c: #include "bfdver.h".
- * vms-hdr.c: Likewise.
- * Makefile.in: Regenerate.
- * bfd-in2.h: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
- bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
- bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
- bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
- bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
- bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
- bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
- bfd_mach_ip2022, bfd_mach_ip2022ext,
- bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
- * bfd-in2.h: Regenerate.
-
-2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
- endian vector to targ_selvecs.
-
-2002-10-13 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Take
- save_addend argument. Don't apply the 32-bit mask to a
- GPREL32 value if it's to be used in another relocation. Don't
- use forced-check computation of local_p to decide whether to
- add gp0 to GPREL16 value. Don't use only the lowest 16 bits
- of the addend of a non-in-place GPREL16 relocation.
- (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
- mips_elf_calculate_relocation().
-
-2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
- with symbols in other sections if we relaxed something; the sections
- output offsets must be re-computed before.
-
-2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
- handling to use Elf_Internal_Sym.
- (m68hc11_elf_relax_delete_bytes): Likewise.
-
-2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
- sh_elf_object_p, dtpoff_base): New functions.
- (sh_elf_howto_table): Add TLS relocs.
- (sh_reloc_map): Likewise.
- (sh_elf_info_to_howto): Support TLS relocs.
- (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
- (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
- New macros.
- (sh_elf_obj_tdata): New.
- (elf_sh_link_hash_table): Add tls_ldm_got.
- (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
- (allocate_dynrelocs): Support TLS relocs.
- (sh_elf_size_dynamic_sections): Likewise.
- (sh_elf_relocate_section): Support TLS relocs. Don't try to find
- .rela.got section when found already. Return false after printing
- error about unresolvable relocation.
- (sh_elf_gc_sweep_hook): Support TLS relocs.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
- * reloc.c: Add SH TLS relocs.
- * bfd-in2.h, libbfd.h: Regenerate.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in: Regenerated.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.am: Run dep-am.
- (BFD_H_DEP): Add simple.c and linker.c.
- (BFD32_LIBS): Add simple.lo.
- (BFD32_LIBS_CFILES): Add simple.c.
- * Makefile.in: Regenerated.
- * bfd-in2.h: Regenerated.
- * simple.c: New file.
-
-2002-10-11 Alan Modra <amodra@bigpond.net.au>
-
- * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
- (record_thumb_to_arm_glue): Likewise.
- * ecoff.c (ecoff_link_add_externals): Likewise.
- * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
- (record_thumb_to_arm_glue): Likewise.
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
- * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
- * elf64-ppc.c (func_desc_adjust): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- (sh64_elf64_create_dynamic_sections): Likewise.
- * elflink.c (_bfd_elf_create_got_section): Likewise.
- (_bfd_elf_create_dynamic_sections): Likewise.
- (_bfd_elf_create_linker_section): Likewise.
- * elflink.h (elf_add_default_symbol): Likewise.
- (elf_link_create_dynamic_sections): Likewise.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise.
- * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
- * elfxx-mips.c (mips_elf_create_got_section): Likewise.
- (_bfd_mips_elf_add_symbol_hook): Likewise.
- (_bfd_mips_elf_create_dynamic_sections): Likewise.
- * linker.c (generic_link_add_symbol_list): Likewise.
- * xcofflink.c (xcoff_link_add_symbols): Likewise.
-
- * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
-
- * elf64-ppc.c (edit_opd): Only zero opd syms when function is
- completely removed. Correct local sym adjustment.
-
-2002-10-10 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
- Correct mistake in calculation of address of .got.
- * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
- elf_sh64_pic_plt_entry_le): Likewise.
-
-2002-10-09 Richard Shann <richard.shann@superh.com>
- Stephen Clarke <stephen.clarke@superh.com>
-
- * Makefile.am: Add entries for elf32-sh64-lin.c and
- elf64-sh64-lin.c. Regenerate.
- * Makefile.in: Regenerate.
- * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
- to use sh64 vectors rather than sh vectors.
- * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
- bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
- * configure: Regenerate.
- * elf32-sh64-lin.c: New file.
- * elf64-sh64-lin.c: New file.
- * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
- bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
-
-2002-10-08 H.J. Lu <hjl@gnu.org>
-
- * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
- IE->LE transition for R_386_TLS_IE.
-
-2002-10-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (edit_opd): Correct test for discarded sections.
-
-2002-10-07 Mark Elbrecht <snowball3@softhome.net>
-
- * cofflink.c (mark_relocs): Don't mark relocations in excluded
+ * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
+ (ppc64_elf_gc_sweep_hook): Likewise.
+ (ppc64_elf_size_dynamic_sections): Test for .plt directly.
+
+2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ Adds linker relaxation support for bit manipulation insns like
+ band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
+ bst, btst, bxor.
+ * elf32-h8300.c: Opcode for bit manipulation insn is checked in
+ elf32_h8_relax_section function while relxation for aa:16 and aa:32.
+ * coff-h8300.c: Opcode for bit manipulation insn is checked in
+ h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
+
+2004-01-12 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
+
+2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-h8300.c: Fix formatting.
+
+2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
+ dynamic object is present. Declare r_symndx and h in an inner
+ scope.
+ * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
+
+2004-01-09 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
+ (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
+ (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
+ identically. Do not emit PC24 relocations for shared libraries.
+ (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
+ identically. Don't adjust pc_count.
+ (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
+ Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
+ adjust count for branch relocations.
+ (allocate_dynrelocs): Correct typo in call to
+ WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
+ PC24 or PLT32 relocs when linking.
+
+2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
+ relocation howto with ARM_26 one for consistency.
+ (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
+ that will be converted to ARM_26D ones, since we always want 'done'
+ relocations to be reflected in section's data.
+ (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
+ offset.
+ (_bfd_final_link_relocate): Do not modify "inplace" data, if not
+ requested.
+
+2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
+ are not partial_inplace during a relocatable link.
+
+2004-01-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
+ if no dynamic object is present. Declare r_symndx and h in an
+ inner scope.
+
+2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
+ trampoline if it is known out of range.
+
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_osec_readonly_p): New.
+ (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
+ undefweak symbol.
+ (_frv_count_got_plt_entries): Adjust expected count accordingly.
+ (elf32_frv_relocate_section): Likewise. Error out if attempting
+ to emit rofixups or dynamic relocs in read-only segments. Use
+ _bfd_elf_section_offset to adjust r_offsets in rofixups and
+ dynamic relocations.
+ 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
+ relocations or fixups involving merged sections correctly. Avoid
+ crash when undefined symbol is referenced by R_FRV_32 or
+ R_FRV_FUNCDESC_VALUE.
+ 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
+ input section holding local symbol to addend of R_FRV_32 or
+ R_FRV_FUNCDESC_VALUE dynamic relocation.
+ 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
+ (elf32_frv_always_size_sections): Don't store pointer to
+ __stacksize symbol in sec_info.
+ (elf32_frv_modify_segment_map): Look it up here.
+ 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
+ of the lazy PLT entry, not only its offset, as the low word of a
+ function descriptor.
+ 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
+ if a hash table entry already exists but is not a definition.
+ 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
+ (_frv_add_rofixup): Don't inline.
+ (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
+ for undefweak symbols.
+ (elf32_frv_relocate_section): Avoid crash while computing
+ relocation when linking with shared library. Only emit rofixups
+ and dynamic relocations for alloc&load sections. Mark binaries
+ with inter-segment relocations for relocation as a unit.
+ (_frv_create_got_section): Rename .rofixup.got to .rofixup.
+ (DEFAULT_STACK_SIZE): New.
+ (_frv_count_got_plt_entries): Fix thinko in deciding whether to
+ emit rofixups or dynamic relocs when linking dynamic non-PIE
+ executables.
+ (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
+ shared libs too. Reserve the last entry for the GOT pointer.
+ (elf32_frv_finish_dynamic_sections): Emit it.
+ (elf32_frv_always_size_sections): New.
+ (elf32_frv_modify_segment_map): New.
+ (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
sections.
-
-2002-10-07 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
- code.
-
- * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
-
-2002-10-06 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c: Formatting.
- (_bfd_new_bfd): Use a smaller section hash table.
-
-2002-10-05 Alexandre Oliva <aoliva@redhat.com>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
- of the other two relocations packed with a REL32 to NONE.
-
-2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
- (sh_elf_link_hash_newfunc): Initialize it.
- (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
- to got.refcount for symbols that are forced local or when
- we have direct got refs.
- (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
- to correctly adjust got.refcount and plt.refcount.
- (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
- (sh_elf_check_relocs): Increment gotplt_refcount.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fix
- movl foo@indntpoff, %eax IE->LE transition.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
- sequence and its transitions.
-
-2002-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
- to st_value + addend in non-code sections.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
- R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
- (bfd_mach_mips5500): New.
- * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
- (arch_info_struct): Add corresponding entries here.
- * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
- E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
- (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
- bfd_mach_mips5400 and bfd_mach_mips5500.
- (_bfd_mips_elf_mach_extends_p): New function.
- (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
- the EF_MIPS_MACH flags.
- * bfd-in2.h: Regenerate.
-
-2002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
- .got sections.
-
-2002-09-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (map_sections_to_segments): Correct test for start of
- writable section in the same page as end of read-only section.
-
-2002-09-27 Matt Thomas <matt@3am-software.com>
-
- * elf32-vax.c (elf_vax_check_relocs): Remove unused
- local_got_refcounts usage. Remove allocation of got slot.
- (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
- Remove de-allocation of got slot.
- (elf_vax_size_dynamic_section): Fix some indentation. Add hash
- traversal for elf_vax_instantiate_got_entries. Allow empty .got
- sections to be GC'ed.
- (elf_vax_instantiate_got_entries): New function.
- (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
- tests that are now handled by elf_vax_instantiate_got_entries.
- Assert GOT entry falls within .got section size. Remove redundant
- comparisions. Fix comments.
-
-2002-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * reloc.c: Add x86-64 TLS relocs.
+ (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
+ (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
+ (elf_backend_always_size_sections): New.
+ (elf_backend_modify_segment_map): New.
+ 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
+ * config.bfd: Added frv-*-*linux*.
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
+ ABS section, instead of crashing.
+ (elf32_frv_relocate_section): Don't crash before warning about
+ different segments in non-PIC relocation.
+ 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
+ relocs to undefweak symbols.
+ (elf32_frv_relocate_section): Ditto for undefined symbols.
+ 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
+ gotfixup section was created.
+ 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
+ FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
+ complain_overflow_signed.
+ * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
+ have not been allocated.
+ (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
+ privfd only if dynamic sections were created.
+ (elf32_frv_relocate_section): Compute gprel_segment, and use it
+ for GPREL relocs. When linking relocatable FDPIC executables,
+ emit warnings for relocations that would be illegal on PIE or
+ shared libraries. Emit rofixup for R_FRV_32 only if input object
+ is not FDPIC.
+ (_frv_create_got_section): Define _gp symbol in the rofixup
+ section.
+ (elf32_frv_finish_dynamic_sections): If rofixups needed but
+ dynamic sections missing, error out requesting -melf32frvfd.
+ 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
+ computation of addends from section and global or local symbol
+ value. Change return type to bfd_boolean, and return a failure if
+ a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
+ nonzero addend is required.
+ (elf32_frv_relocate_section): Likewise. Print error for
+ unsupported nonzero addends.
+ 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
+ force everything local.
+ (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
+ * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
+ (frv_gotfixup_section): New.
+ (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
+ (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
+ and relocsfdv.
+ (_frv_add_rofixup): New.
+ (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
+ fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
+ improve some ugly conditions.
+ (elf32_frv_relocate_section): Likewise. Reject inter-segment
+ relocations in fdpic.
+ (_frv_create_got_section): Create .rofixup.got section.
+ (struct _frv_dynamic_got_info): Added fixups.
+ (_frv_count_got_plt_entries): Account in-GOT relocations into
+ relocs32, relocsfd and relocsfdv. Account them into relocs or
+ fixups, as appropriate.
+ (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
+ sizing of gotrel.
+ (elf32_frv_finish_dynamic_sections): Verify that the right number
+ of relocations and fixups was generated.
+ (elf32_frv_check_relocs): Compute relocs32, relocsfd and
+ relocsfdv.
+ * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
+ SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
+ (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
+ descriptor of a (formerly-)global symbol is local.
+ (struct frv_pic_relocs_info): Adjust comments.
+ (_frv_emit_got_relocs_plt_entries): Adjust.
+ (elf32_frv_relocate_section): Likewise.
+ (_frv_count_got_plt_entries): Likewise.
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
+ symbol's value to addend in the common preamble. Decay dynamic
+ symbols to section+offset if they bind or call locally, for GOT
+ and FUNCDESC_VALUE, respectively.
+ (elf32_frv_relocate_section): Likewise.
+ (elf32_frv_check_relocs): Don't register as dynamic symbols of
+ internal or hidden visibility.
+ 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
+ argument, so as to not call _bfd_elf_rel_local_sym to compute it.
+ (elf32_frv_relocate_section): Pass relocation addend in. Use
+ original relocation addend to look up the got relocs/plt entries
+ table. Do not call _bfd_elf_rel_local_sym. Don't error out when
+ processing relocations that reference .scommon symbols.
+ 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
+ Introduce support for dynamic linking.
+ * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
+ (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
+ elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
+ (frv_reloc_type_lookup): Return REL howtos for executables and
+ dynamic libraries.
+ (frv_info_to_howto_rel): New.
+ (struct frv_elf_link_hash_table): New.
+ (frv_hash_table, frv_got_section, frv_gotrel_section,
+ frv_plt_section, frv_pltrel_section, frv_relocs_info,
+ frv_got_initial_offset, frv_plt_initial_offset): New macros.
+ (frv_elf_link_hash_table_create): New.
+ (struct frv_pic_relocs_info): New.
+ (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
+ (frv_pic_relocs_info_find): New.
+ (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
+ New.
+ (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
+ (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
+ (_frv_emit_got_relocs_plt_entries): New.
+ (elf32_frv_relocate_section): Add support for dynamic linking.
+ Handle new relocations.
+ (_frv_create_got_section): New.
+ (elf32_frv_create_dynamic_sections): New.
+ (ELF_DYNAMIC_INTERPRETER): New.
+ (struct _frv_dynamic_got_info): New.
+ (_frv_count_got_plt_entries): New.
+ (struct _frv_dynamic_got_plt_info): New.
+ (_frv_compute_got_alloc_data): New.
+ (_frv_get_got_entry, _frv_get_fd_entry): New.
+ (_frv_assign_got_entries, _frv_assign_plt_entries): New.
+ (_frv_resolve_final_relocs_info): New.
+ (elf32_frv_size_dynamic_sections): New.
+ (elf32_frv_finish_dynamic_sections): New.
+ (elf32_frv_adjust_dynamic_symbol): New.
+ (elf32_frv_finish_dynamic_symbol): New.
+ (elf32_frv_check_relocs): Handle new relocs. Explain how the
+ whole thing works.
+ (elf_info_to_howto_rel): Define.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_create_dynamic_sections): Define.
+ (elf_backend_adjust_dynamic_symbol): Define.
+ (elf_backend_size_dynamic_sections): Define.
+ (elf_backend_finish_dynamic_symbol): Define.
+ (elf_backend_finish_dynamic_sections): Define.
+ (elf_backend_want_got_sym): Define.
+ (elf_backend_got_header_size): Define.
+ (elf_backend_want_got_plt): Define.
+ (elf_backend_plt_readonly): Define.
+ (elf_backend_want_plt_sym): Define.
+ (elf_backend_plt_header_size): Define.
+ (elf_backend_may_use_rel_p): Define.
+ (elf_backend_may_use_rela_p): Define.
+ (elf_backend_default_use_rela_p): Define.
+ 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
+ R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
+ R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
+ (frv_reloc_map): Map the corresponding BFD relocs to them.
+ (frv_reloc_type_lookup): ... and back to BFD relocs.
+ * reloc.c: New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
- * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
- relocs. Add TLS relocs.
- (x86_64_reloc_map): Add TLS relocs.
- (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
- (struct elf64_x86_64_link_hash_entry): Add tls_type field.
- (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
- (elf64_x86_64_hash_entry): Define.
- (struct elf64_x86_64_obj_tdata): New.
- (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
- (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
- (link_hash_newfunc): Initialize tls_type.
- (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
- (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
- (elf64_x86_64_mkobject): New.
- (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
- (elf64_x86_64_tls_transition): New.
- (elf64_x86_64_check_relocs): Add r_type variable and use it.
- Handle TLS relocs.
- (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
- (allocate_dynrelocs): Allocate GOT space for TLS relocs.
- (elf64_x86_64_size_dynamic_sections): Likewise.
- (dtpoff_base, tpoff): New.
- (elf64_x86_64_relocate_section): Handle TLS relocs.
- (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
- entries.
- (bfd_elf64_mkobject): Define.
-
- * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
- DF_STATIC_TLS if shared.
-
-2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
- empty relocation sections.
-
-2002-09-26 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
- (ppc64_elf_build_stubs): Build them here instead.
-
-2002-09-24 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
- addend into r_addend, not *r_offset.
- (elf32_sparc_finish_dynamic_symbol): Likewise.
- * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
- R_SPARC_RELATIVE's r_offset.
-
-2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (decode_line_info): Update to correctly decode
- the (non-standard DWARF2) out-of-order address sequences
- generated by the Intel C++ 6.0 compiler for ia64-Linux.
-
-2002-09-23 Mark Elbrecht <snowball3@softhome.net>
-
- * config.bfd: For DJGPP targets, match with any cpu and any machine.
-
-2002-09-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
- for discarded FDEs. Remove redundant assignment.
- * elflink.h (elf_bfd_discard_info): Save edited relocs.
-
-2002-09-22 H.J. Lu <hjl@gnu.org>
-
- * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
- the relocation count between different .reloc sections.
-
-2002-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
- ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
- R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
- R_PPC_EMB_RELSDA.
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
- unsigned. Move "symcount" assignment out of loop.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regnerate.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
- zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
- (e.g. IRIX64).
-
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
- even if generating R_PPC_RELATIVE reloc.
- (ppc_elf_relocate_section): Make sure relocation is performed
- if skip == -2. Clear memory at r_offset when creating dynamic
- relocation.
-
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
- BFD_RELOC_386_TLS_GOTIE): Add.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
+ R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
+ R_FRV_FUNCDESC_GOTLO): New.
+ (frv_reloc_map): Map the corresponding BFD relocs to them.
+ (frv_reloc_type_lookup): ... and back to BFD relocs.
+ * reloc.c: New relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
- * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
- and R_386_TLS_GOTIE.
- (elf_i386_reloc_type_lookup): Handle it.
- (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
- char instead of enum, change GOT_* into defines.
- (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
- (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
- accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
- R_386_PLT32 cases so that R_386_TLS_IE can fall through.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
- tls_type is GOT_TLS_IE_BOTH.
- (elf_i386_size_dynamic_sections): Likewise.
- (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
- Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
- (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
- all 4 GOT_TLS_* TLS types.
-
-2002-09-19 Nick Clifton <nickc@redhat.com>
-
- * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
- follow indirect links.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
- correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
- on 64 bit machines.
- (ecoff_swap_sym_in) <iss>: Likewise.
- * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
- ECOFF information: 'ioptMax' refers to the actual *size*
- of the optimization symtab, not the number of entries.
-
-2002-09-19 Daniel Jacobowitz <drow@mvista.com>
-
- * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
- ELF_LINK_HASH_NEEDS_PLT logic.
-
-2002-09-18 Daniel Jacobowitz <drow@mvista.com>
-
- * elfcode.h (elf_slurp_reloc_table_from_section): Check
- correct relocation count.
-
-2002-09-17 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h (bfd_get_dynamic_symcount): Define.
- * bfd.c (struct _bfd): Add dynsymcount.
- * bfd-in2.h: Regenerated.
- * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
- abfd->dynsymcount.
- * elfcode.h (elf_slurp_reloc_table_from_section): Check
- for overflow.
-
-2002-09-17 Stan Cox <scox@redhat.com>
-
- * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
- (mips_elf64_final_gp): Don't make up gp value.
- * elfn32-mips.c (mips_elf_final_gp): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
- .MIPS.options/.options section.
-
-2002-09-17 David O'Brien <obrien@FreeBSD.org>
-
- * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
- It is benign for FreeBSD < 4.1. Minor reformatting.
- * elf64-alpha-fbsd.c: Likewise.
-
-2002-09-17 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
- addend.
-
-2002-09-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-alpha.c (alpha_elf_size_info): Make static.
-
-2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
- * cpu-tic4x.c: Ditto.
-
-2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
- duplicate define.
-
-2002-09-16 Bruno Haible <bruno@clisp.org>
-
- * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
- by a target variant implementation.
- * elf64-alpha.c: Likewise.
- * elf32-i386-fbsd.c: New file.
- * elf64-alpha-fbsd.c: New file.
- * targets.c: Support bfd_elf32_i386_freebsd_vec and
- bfd_elf64_alpha_freebsd_vec.
- * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
- bfd_elf64_alpha_freebsd_vec.
- * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
- (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
- (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
- * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
- specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
-
-2002-09-12 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
- NULL.
- (elf_i386_relocate_section): Return false after printing error about
- unresolvable relocation.
-
-2002-09-12 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
- R_ARM_THM_PC11.
-
-2002-09-11 Jeffrey Law <law@redhat.com>
-
- * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
-
-2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
-
- * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
- line_ptr before deciding we've found a symbol.
-
-2002-09-11 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: New Danish translation file.
- * configure.in (LINGUAS): Add 'da'.
- * configure: Regenerate.
-
-2002-09-10 Michael Snyder <msnyder@redhat.com>
-
- * irix-core.c (do_sections, do_sections64): New functions.
- (irix_core_core_file_p): Call new functions do_sections,
- do_sections64, depending on corefile (32-bit or 64-bit).
-
-2002-09-09 Richard Henderson <rth@redhat.com>
-
- * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
- and PCREL21F like PCREL21B.
-
-2002-09-04 Kevin Buettner <kevinb@redhat.com>
-
- * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
- vector.
-
-2002-09-02 Nick Clifton <nickc@redhat.com>
-
- * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
- names instead of cryptically overloaded bfd_reloc error
- codes.
- (v850_elf_relocate_section): Likewise.
- (v850_elf_relax_section): Replace caching of external symbols
- with caching of internal symbols obtained from calling
- bfd_elf_get_elf_syms().
- Fixup problems with freeing cached allocated memory blocks.
-
-2002-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
- (bfd_pj_arch): Use bfd_default_scan.
- * cpu-v850.c (scan): Remove.
- (N): Use bfd_default_scan.
- * cpu-z8k.c (scan_mach): Remove.
- (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
- first. Use bfd_default_scan.
-
- * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
- bfd_mach constants.
- (ecoff_get_magic): Likewise.
- * elf32-v850.c (v850_elf_object_p): Likewise.
- (v850_elf_final_write_processing): Likewise.
- * mipsbsd.c (MY(set_arch_mach)): Likewise.
- (MY(write_object_contents)): Likewise.
- * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
- * coffcode.h (coff_write_object_contents): Likewise.
- (coff_set_arch_mach_hook): Add comment describing machine == 0.
- Remove unnecessary "machine" assignments.
- (coff_write_relocs): Test for the absolute section sym by testing
- section and flags.
-
- * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
- and bfd_mach_i386_i386_intel_syntax.
- * pdp11.c (NAME(aout,machine_type)): Likewise.
-
-2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * bfd-in.h (align_power): Cast constants to bfd_vma type.
- * bfd-in2.h (align_power): Likewise.
-
-2002-08-30 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
- * cpu-avr.c (compatible): Don't use hard-coded mach constants.
- * cpu-powerpc.c (powerpc_compatible): Likewise.
- * cpu-rs6000.c (rs6000_compatible): Likewise.
-
-2002-08-28 Catherine Moore <clm@redhat.com>
-
- * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
- (v850-elf-reloc): Don't resolve pc relative relocs.
- (v850_elf_ignore_reloc): New routine.
- (v850_elf_final_link_relocate): Handle new relocs.
- (v850_elf_relax_delete_bytes ): New routine.
- (v850_elf_relax_section): New routine.
- (bfd_elf32_bfd_relax_section): Define.
- (HOWTO): New entries for new relocs.
- * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
- (BFD_RELOC_V850_LONGJUMP): New reloc.
- (BFD_RELOC_V850_ALIGN): New reloc.
- * archures.c: Remove redundant v850ea architecture.
- * cpu-v850.c: Remove redundant v850ea support.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerated.
-
-2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
- * configure.in: Add tic4x_coff vector files.
- * configure: Regenerate.
- * Makefile.am: Add tic4x target.
- * Makefile.in: Regenerate.
-
-2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * archures.c: Add the BFD arch type tic4x.
- * bfd-in.h: Add BFD_IN_MEMORY flag.
- * coff-tic4x.c: New file.
- * coffswap.h (coff_swap_sym_out): Add preadjuster.
- * cpu-tic4x.c: New file.
- * targets.c: Added tic4x- in list of xvecs.
- * ticoff.h: New file.
- * bfd-in2.h: Regenerate.
-
-2002-08-27 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
- bit of DT_INIT and DT_FINI for Thumb functions.
-
-2002-08-26 Alan Modra <amodra@bigpond.net.au>
-
- * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
-
-2002-08-26 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
-
-2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
- (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
- Likewise.
- (struct elf_sh_pcrel_relocs_copied): Removed.
- (struct elf_sh_dyn_relocs): New.
- (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
- field with dyn_relocs.
- (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
- sections and sym_sec.
- (sh_elf_link_hash_newfunc): Clear dyn_relocs.
- (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
- (sh_elf_create_dynamic_sections): Use create_got_section instead
- of _bfd_elf_create_got_section.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
- sections.
- (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
- sh_elf_relocate_section, sh_elf_check_relocs,
- sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
- Likewise.
- (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
- dynamic relocations and avoiding the copy relocation when we
- didn't find any dynamic relocations in the section which has
- contents or is read-only.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (sh_elf_size_dynamic_sections): Don't reset the size of
- .rela.got section even if dynamic_sections_created flag is off.
- Don't use sh_elf_discard_copies. Scan all input bfd and use
- allocate_dynrelocs. Call readonly_dynrelocs to determine
- whether we need DT_TEXTREL.
- (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
- whether the symbol was never referred to.
- (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
- (sh_elf_gc_sweep_hook): Fill with the real sweep function.
- (sh_elf_check_relocs): Call create_got_section if the short-cut
- to .got is null. Increment reference counters only instead of
- allocating space on dynamic sections here. Don't conditionalize
- uninitialized got.offset value when marking the symbol as a
- global offset table entry. Keep relocations for symbols satisfied
- by a dynamic library to avoid copy relocations for the symbol.
- Set dynobj field of an elf hash table if needed.
- (sh_elf_finish_dynamic_sections): Handle null section pointer
- correctly.
- (elf_backend_copy_indirect_symbol): Defined.
- (elf_backend_can_refcount): Defined.
-
-2002-08-23 Nick Clifton <nickc@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
- previous change. Add comment explaining why.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
- contents of .got.plt[2] to tr0, not address of .got.plt.
- (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
- patching absolute plt entry. For shmedia plt entry, set bottom bit
- of branch to plt0 as this is a branch to an shmedia instruction.
- * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
- Copy contents of .got.plt[2] to tr0, not address of .got.plt.
- (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
- branch to plt0.
- (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
- patching absolute plt entry. For shmedia plt entry, branch to
- plt0 is now ptrel, so use relative offset. Set bottom bit of
- branch target as it is a branch to an shmedia instruction.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
- Richard Shann <richard.shann@superh.com>
-
- * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
- value if .init is an SHmedia function. Similarly for DT_FINI.
- * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
-
-2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
- dynamic section.
- * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
-
-2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
- byte read when reading the return address register column.
-
-2002-08-22 Nick Clifton <nickc@redhat.com>
-
- * config.bfd: Add powepc64-*-*bsd* target.
-
-2002-08-22 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Add entries for elf32-shqnx.c
- * Makefile.in: Regenerate.
- * config.bfd: Add support sh-*-nto* target.
- * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
- * configure: Regenerate.
- * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
- * elf32-sh.c: Do not include elf32-target.h if
- ELF32_SH_C_INCLUDED is defined.
- * elf32-shqnx.c: New file: Support for QNX.
- * targets.c: Add bfd_elf32_sh{l}qnx_vec.
-
-2002-08-22 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Updated Turkish translation.
-
- * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
- symbols are not read.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68hc11.c: Formatting fixes.
- (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
- * elf32-m68hc12.c: Formatting fixes.
- (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
- SEC_DATA.
- (pmac_xcoff_vec): Likewise.
- * coff64-rs6000.c (rs6000coff64_vec): Likewise.
- (aix5coff64_vec): Likewise.
-
-2002-08-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
- param to elf_backend_copy_indirect_symbol.
- (_bfd_elf_link_hash_copy_indirect): Likewise.
- * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
- calls to copy_indirect_symbol.
- * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
- * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
- * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
- * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
- * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
- * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
- test refcounts for "used" values.
-
-2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
- argument declaration.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- * archures.c (bfd_mach_ppc_e500): Added.
- * bfd-in2.h: Rebuilt.
- * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
-
-2002-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
-
-2002-08-17 Andrew Cagney <ac131313@redhat.com>
-
- * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
- `bfd_byte'.
-
-2002-08-17 Stan Cox <scox@redhat.com>
-
- * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
- IRIX 6 segment layout for NEWABI.
-
-2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
-
- * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
- symbols when looking for section referred to by a relocation.
- * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
-
-2002-08-15 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i370.c: Move reloc enum to include/elf/i370.h.
-
-2002-08-15 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
- missing check for whether the symbol is referenced by DSO before
- unexporting it as an unneeded dynamic symbol.
-
-2002-08-14 H.J. Lu <hjl@gnu.org>
-
- * libbfd.h: Regenerate.
-
-2002-08-14 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
-
-2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
- instructions.
- (m68hc11_direct_relax): New to define table of relaxable instructions.
- (find_relaxable_insn): New, find a relaxable insn.
- (compare_reloc): New to compare two relocs.
- (m68hc11_elf_relax_section): New, relax text sections.
- (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
- (elf32_m68hc11_check_relocs): New function for GC support.
- (elf32_m68hc11_relocate_section): New function for GC support.
- (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
- (elf_backend_check_relocs): Likewise.
- (elf_backend_relocate_section): Likewise.
-
-2002-08-13 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
- definitions in shared objects when checking symbol with
- undefined version.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
- (elf32_m68hc11_gc_sweep_hook): Likewise.
- (elf_backend_gc_mark_hook): Define for GC section support.
- (elf_backend_gc_sweep_hook): Likewise.
- (elf_backend_can_gc_sections): Likewise.
-
- * elf32-m68hc12.c: Likewise.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
- (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
- (_bfd_m68hc11_elf_set_private_flags): New function.
- Use them to set/check/print ELF flags specific to 68HC11.
-
- * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
- (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
- (_bfd_m68hc12_elf_set_private_flags): New function.
- Use them to set/check/print ELF flags specific to 68HC12.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
- fix masks for PC-rel relocs.
- (m68hc11_elf_ignore_reloc): New function.
-
- * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
- 68HC12 banked addressing relocs.
- (m68hc12_phys_addr): New to compute physical address of banked memory.
- (m68hc12_phys_page): Likewise for page.
- (m68hc12_addr_is_banked): New to see if address is in banked area.
- (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
- BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
- BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
- * bfd-in2.h: Regenerate.
-
-2002-08-12 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_add_default_symbol): Preserve section across
- elf_merge_symbol.
-
-2002-08-09 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am: Add entries for elf32-ppcqnx.c, and add
- elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
- * Makefile.in: Regenerate.
- * config.bfd: Add support for powerpc{le}-*-nto targets.
- * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
- * configure: Regenerate.
- * elf32-i386qnx.c: Moved backend functions into a QNX specific
- common file "elf32-qnx.h", and now include that file.
- * elf32-qnx.h: New file: QNX specific common elf backend.
- * elf32-ppc.c: Do not include elf32-target.h if
- ELF32_PPC_C_INCLUDED is defined.
- * elf32-ppcqnx.c: New file: Support for QNX.
- * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
- * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
-
-2002-08-09 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
- g->global_gotsym is NULL.
-
-2002-08-08 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_add_default_symbol): Don't warn if a definition
- overrides an indirect versioned symbol.
-
-2002-08-08 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
- for R_386_TLS_TPOFF32 relocs against symndx 0.
-
-2002-08-07 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
- with undefined version if needed.
- (elf_link_assign_sym_version): Match a default symbol with a
- version without definition. No need to hide the default
- definition separately.
-
-2002-08-08 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_output_extsym): Don't output symbols from
- SEC_EXCLUDE sections.
-
- * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
-
-2002-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
- entries.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
- mismatch.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (ABI_64_P): Remove superfluous check.
-
-2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c (mips_reloc_map): Fix typo.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * libxcoff.h: Use PARAMS on function declarations.
- * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
- * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
-
- * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
- addend.
- * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c: Formatting fixes.
- (xcoff_calculate_relocation): Use PARAMS in declaration.
- (xcoff_complain_overflow): Likewise.
- (xcoff_ppc_relocate_section): Use old-style function pointer call.
- (bfd_xcoff_backend_data): Remove useless comments.
- (rs6000coff_vec): Likewise.
- (bfd_pmac_xcoff_backend_data): Likewise.
- (pmac_xcoff_vec): Likewise.
-
- * coff64-rs6000.c: Formatting fixes.
- (xcoff64_calculate_relocation): Use PARAMS in declaration.
- (xcoff64_ppc_relocate_section): Use old-style function pointer call.
- (bfd_xcoff_backend_data): Remove useless comments.
- (rs6000coff64_vec): Likewise.
- (bfd_xcoff_aix5_backend_data): Likewise.
- (aix5coff64_vec): Likewise.
-
-2002-08-06 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
- mask entries. Use complain_overflow_dont for R_REF.
- (xcoff_reloc_type_ba): Revert last change.
- (xcoff_reloc_type_br): Likewise.
- (xcoff_reloc_type_crel): Likewise.
- (xcoff_ppc_relocate_section): Likewise.
- * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
- (xcoff64_ppc_relocate_section): Likewise.
- (xcoff64_howto_table): Revert some of last change to mask entries.
- Use complain_overflow_dont for R_REF.
-
- * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
- relocs with bitsize == 16 have size = 1.
- (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
- (xcoff_reloc_type_br): Likewise.
- (xcoff_reloc_type_crel): Likewise.
- (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
- * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
- dst_mask adjustment.
- (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
- (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
- bitsize == 16 have size = 1.
-
-2002-08-01 Denis Chertykov <denisc@overta.ru>
-
- * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
- (struct misc): New field isymbuf. All free_* fields removed.
- (symbol_value): Pass in internal syms. No need to swap syms in.
- (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
- possibly cached info.
- (tidyup_after_error): Removed.
- (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
- misc. Use new field.
- (adjust_all_relocations): Use internal syms. No need to swap syms
- in and out.
- (add_page_insn): Don't use removed fields of struct misc.
-
-2002-08-01 Nick Clifton <nickc@redhat.com>
-
- * elf32-arm.h: Revert previous delta.
-
-2002-08-01 Nick Clifton <nickc@redhat.com>
-
- * configure.in (AM_INIT_AUTOMAKE): Bump version number.
- * configure: Regenerate.
-
-2002-07-31 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
- selected.
-
-2002-07-31 H.J. Lu <hjl@gnu.org>
-
- * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
- is selected.
-
-2002-07-31 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
- if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
- There is no 8 byte relocation type for this architecture.
- (do_ns32k_reloc): Use bfd_vma instead of native types.
- (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
- returns void.
- (_bfd_ns32k_put_displacement): Don't check for overflow. We can
- rely on generic code to do that.
- * aout-ns32k.c (howto_table): Add appropriate overflow detection
- to all table entries.
- (_bfd_ns32k_relocate_contents): put_data returns void.
- * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
- (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
- return void.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * aoutx.h (aout_link_check_ar_symbols): Whether to include an
- archive object is target dependant.
-
-2002-07-31 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
- (THUMB_PLT_ENTRY_SIZE): New macro.
- (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
- (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
- ARM_PLT_ENTRY_SIZE.
- (elf32_arm_plt_entry): Likewise.
- (elf_backend_plt_header_size): Likewise.
- (elf32_thumb_plt0_entry): New global.
- (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
- into .plt.thumb.
- (elf32_thumb_plt_entry): New global.
- (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
- Thumb entries. Set the bottom bit of the corresponding GOT entry
- for a Thumb PLT entry.
- (struct elf32_arm_plt_entry_info): New structure.
- (struct elf32_arm_link_hash_entry, plt_info): New member of this
- type.
- (elf32_arm_link_hash_newfunc): Initialize new member.
- (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
- relocations against the PLT.
- (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
- first_rel_type if this is the first time we encounter the symbol.
- (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
- Determine if relocation needs a PLT entry. Set first_rel_type if
- this is the first time we encounter the symbol
- (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
- functions as well.
- (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
- (elf32_arm_create_dynamic_sections): New function. Create the
- .plt.thumb section.
- (elf_backend_create_dynamic_sections): Call it.
-
-2002-07-31 Nick Clifton <nickc@redhat.com>
-
- * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
- 'alternative' in order to avoid shadowing global symbol of the
- same name.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
-
-2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * Makefile.am: Add n32 ABI support.
- * Makefile.in: Regenerate.
- * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
- bit vectors for mips*-*-linux targets as optional.
- * configure.in: Add n32 ABI vectors.
- * configure: Regenerate.
- * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
- * elfn32-mips.c: New file, n32 ABI support.
- * targets.c: Add n32 ABI vectors.
-
-2002-07-30 Graeme Peterson <gp@qnx.com>
-
- * elfarmqnx-nabi.c: New file: Support for QNX.
- * config.bfd: Add support for arm-*-nto target.
- * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
- * configure: Regenerate.
- * Makefile.am: Add entries for elfarmqnx-nabi.c.
- * Makefile.in: Regenerate.
- * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
- Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
- * elfarm-nabi.c: Do not include elf32-arm.h if
- ELFARM_NABI_C_INCLUDED is defined.
- * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
-
-2002-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-07-30 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
-
-2002-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
- * archive.c (bfd_generic_archive_p): Likewise.
- * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
- (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
- * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
- (xcoff64_archive_p): Likewise.
- (xcoff64_openr_next_archived_file): Likewise.
- (xcoff64_archive_p): Clean up tdata properly on error.
- * coffgen.c (coff_real_object_p): Likewise.
- (coff_object_p): Release filehdr and opthdr.
- * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
- * ieee.c (ieee_archive_p): Likewise.
- * ihex.c (ihex_object_p): Likewise.
- (ihex_mkobject): Always allocate tdata.
- * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
- * srec.c (srec_mkobject): Always allocate tdata.
- (srec_object_p): Clean up tdata properly on error.
- (symbolsrec_object_p): Likewise.
- * versados.c (versados_object_p): Likewise.
- * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
- and bfd_realloc instead of realloc.
- (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
- * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
- place of bfd_malloc, simplifying error freeing. Free hash table too.
- (vms_object_p): Clean up tdata on error.
- (vms_mkobject): Don't complain on stderr if vms_initialize fails.
- (vms_close_and_cleanup): Adjust for bfd_alloc use.
-
-2002-07-30 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
-
-2002-07-26 Chris Demetriou <cgd@broadcom.com>
-
- * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
- flags into resulting BFD.
-
-2002-07-26 Alan Modra <amodra@bigpond.net.au>
-
- From John Reiser <jreiser@BitWagon.com>
- * elf32-i386.c (elf_i386_link_hash_table_create): Clear
- tls_ldm_got.refcount.
-
-2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf64-mips.c: Update TODO comment.
- (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
- mips_elf64_gprel16_reloca): Remove prototypes.
- (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
- (UNUSED_RELOC): Replace by EMPTY_RELOC.
- (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
- wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
- R_MIPS_HIGHEST.
- (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
- R_MIPS_GOT16. Remove wrong comments.
- (elf_mips16_jump_howto,elf_mips16_gprel_howto,
- elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
- from elf32-mips.c.
- (mips_elf64_hi16_reloc): Fix formatting.
- (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
- (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
- Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
- (mips_elf64_gprel16_reloc): Make static. Add check for
- partial_inplace.
- (mips_elf64_gprel16_reloca): Remove.
- (mips_elf64_literal_reloc): New function.
- (mips_elf64_gprel32_reloc): Fix formatting.
- (mips_elf64_shift6_reloc): Fix comment. Make static.
- (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
- elf32-mips.c.
- (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
- elf32-mips.c
- (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
- specific relocations.
- (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
- (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
- (ELF_MAXPAGESIZE): Add comment.
-
-2002-07-25 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/fr.po: Updated French translation.
-
-2002-07-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
- as elf_link_record_local_dynamic_symbol.
- (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
- (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
- * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
- * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
- attempt is made to record a symbol in a discarded section, and
- return `2' in that case.
-
-2002-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
- immediately. Remove code handling relocatable linking.
- * elf32-avr.c (elf32_avr_relocate_section): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf32-v850.c (v850_elf_relocate_section): Likewise.
- * elf32-vax.c (elf_vax_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf32-avr.c (elf_backend_rela_normal): Define.
- * elf32-cris.c: Likewise.
- * elf32-fr30.c: Likewise.
- * elf32-frv.c: Likewise.
- * elf32-h8300.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-sparc.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf64-hppa.c: Likewise.
- * elf64-sparc.c: Likewise.
- * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
- * elf32-frv.c (elf32_frv_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf-m10200.c (USE_RELA): Don't define.
- * elf-m10300.c: Likewise.
- * elfarm-oabi.c: Likewise.
- * elf32-i370.c: Likewise.
- * elf32-ip2k.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-x86-64.c: Likewise.
- * elfxx-ia64.c: Likewise.
- * elf32-avr.c (USE_REL): Don't undef.
- * elf32-ip2k.c: Likewise.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * elf-bfd.h (struct elf_backend_data): Add new bitfield
- 'want_p_paddr_set_to_zero'.
- * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
- to false;
- * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
- * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
-
-2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
-
- * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
- the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
- show the Copyright string.
- Minor formatting tidy ups.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
- * po/sv.po: Updated Swedish translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Don't change internal symbols
- when outputting relocs.
-
-2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
- DT_PLTGOT into the dynamic section if there is a PLT.
-
-2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
- elf32-mips.c.
- (_bfd_mips_elf_write_section): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
- (_bfd_mips_elf_write_section): Likewise.
- * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
- (elf32_mips_write_section): Likewise.
- * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
- (_bfd_mips_elf_write_section): Likewise.
-
-2002-07-19 Alan Modra <amodra@bigpond.net.au>
-
- * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
- PT_IA_64_UNWIND segments for a given section.
-
-2002-07-17 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am: Fix a typo.
- * Makefile.in: Regenerate.
-
-2002-07-15 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Ben Elliston <bje@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- John Healy <jhealy@redhat.com>
- Graham Stott <grahams@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * Makefile.am: Add support for ip2k.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * archures.c: Add support for ip2k.
- * config.bfd: Add support for ip2k.
- * configure.in: Add support for ip2k.
- * configure: Regenerate.
- * reloc.c: Add support for ip2k.
- * targets.c: Add support for ip2k.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * cpu-ip2k.c: New file.
- * elf32-ip2k.c: New file.
-
-2002-07-17 Ian Rickards <irickard@arm.com>
-
- * dwarf2.c (concat_filename): If we can't establish the directory
- just return the filename.
-
-2002-07-16 Moritz Jodeit <moritz@jodeit.org>
-
- * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
-
-2002-07-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h: Formatting fixes, tidy prototypes.
- (elf_link_assign_sym_version): Move common code out of loop.
-
-2002-07-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
- reloc section size is zero. Correct reloc output location.
-
-2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
- the final type for the e_fsel selector when generating PA2.0W code.
- (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
- relocations.
-
-2002-07-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_assign_sym_version): Hide the default
- definition if there is a hidden versioned definition.
-
-2002-07-12 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
- dynamic reference test in assertion when initializing GOT with
- static contents. Just assert that there are either no dynamic
- sections, the symbol is defined in the regular objects or that the
- symbol is undef weak. Tweak comment.
- (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
- only if the symbol isn't defined in the program and isn't undef
- weak.
- (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
- rid of PLT entry: only do it if the symbol isn't defined in a DSO.
- When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
- (elf_cris_discard_excess_program_dynamics): Don't consider
- ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
-
-2002-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_relocate_section): Don't complain about
- unresolved debugging relocs in dynamic applications.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2002-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ONES): Define.
- (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
- missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
- in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
-
- * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
- (ppc64_elf_set_private_flags): Delete.
- (ppc64_elf_section_from_shdr): Delete.
- (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
- (ppc64_elf_fake_sections): Delete.
- (bfd_elf64_bfd_set_private_flags): Don't define.
- (bfd_elf64_get_symbol_info): Likewise.
- (elf_backend_section_from_shdr): Likewise.
- (elf_backend_fake_sections): Likewise.
-
-2002-07-10 Marco Walther <Marco.Walther@sun.com>
-
- * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
- when not already set.
- * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
- (elf_backend_fake_sections): Define.
-
-2002-07-10 Alan Modra <amodra@bigpond.net.au>
-
- * merge.c (_bfd_merge_section): Remove redundant output_section check.
- Formatting.
- (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
-
-2002-07-09 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
- NULL sym_hashes to just before use.
- <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
- symbol with non-default visibility.
- <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
- <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
- Ditto.
- (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
- symbol with non-default visibility.
- (cris_elf_check_relocs): At tests for local symbol before
- increasing h->plt.refcount, also check for non-default
- visibility. Ditto when checking for local symbol to eliminate
- pc-relative runtime relocs.
-
-2002-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c: Formatting.
- (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
- (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
- (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
- segments.
-
-2002-07-07 Mark Mitchell <mark@codesourcery.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
- account the impact of relocation count overflow when computing
- section offsets.
- * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
- or not to apply the PE COFF reloc overflow handling. Fix a
- fencepost error in deciding whether or not to use that technique.
-
-2002-07-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
- change type of locsyms.
- (bfd_elf_get_elf_syms): Declare.
- * elf.c (bfd_elf_get_elf_syms): New function.
- (group_signature): Use bfd_elf_get_elf_syms.
- (bfd_section_from_r_symndx): Likewise.
- * elfcode.h (elf_slurp_symbol_table): Likewise.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise. Reorganise to increase
- locality of various data structures. Properly free internal relocs.
- (elf_bfd_final_link): Properly free internal relocs.
- (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise. Properly free internal relocs.
- (elf_gc_sweep): Properly free internal relocs.
- (elf_reloc_symbol_deleted_p): No need to swap syms in.
- (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
- internal relocs.
- * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
- Properly free possibly cached info.
- (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
- (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
- symbol swapping code.
- (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
- Properly free possibly cached info.
- * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
- (m32r_elf_relax_delete_bytes): Likewise.
- (m32r_elf_get_relocated_section_contents): Likewise.
- * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
- elf_section_data to determine whether cached.
- (sh_elf_relax_section): As above for elf-m10200.c.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
- * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
- reading of local syms.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
- * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
- * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
- relocs.
- * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
- free internal relocs and section contents. Don't read symbols.
- * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
- (elf32_hppa_size_stubs): Don't free local syms.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
- reading of local syms. Use bfd_elf_get_elf_syms. Properly free
- possibly cached info.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
- * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
- all_local_syms.
- (get_local_syms): Delete function.
- (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
- on exit.
- (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
-
-2002-07-05 Jim Wilson <wilson@redhat.com>
-
- * syms.c (decode_section_type): New.
- (bfd_decode_symclass): Call decode_section_type.
-
-2002-07-04 Jakub Jelinek <jakub@redhat.com>
-
- * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
- section content start.
- Reported by Michael Schumacher <mike@hightec-rt.com>.
-
-2002-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * section.c (_bfd_strip_section_from_output): Remove unnecessary
- link order code. Don't actually remove the output section here;
- Just set a flag for the linker to do so.
- * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
- sections when setting up output section dynsyms.
-
-2002-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
- fudge.
- * elf.c (bfd_section_from_shdr): Work around broken hpux shared
- libs here instead.
-
-2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf64-s390.c (create_got_section): Set .got section alignment to
- 8 bytes.
- (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
-
-2002-07-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
-
-2002-07-01 Matt Thomas <matt@3am-software.com>
-
- * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
- to EF_VAX_*.
-
-2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (ABI_64_P): Fix comment.
- (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
- new section names for N64 ABI.
- (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
- (mips_elf_calculate_relocation): Code formatting.
- (mips_elf_create_dynamic_relocation): Likewise.
- (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
- (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
- (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
- in any NewABI.
- (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
- for NewABI.
- (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
- (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
- here, too.
-
-2002-07-01 Andreas Schwab <schwab@suse.de>
-
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
- R_X86_64_64 to R_X86_64_RELATIVE.
-
-2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
- * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
- Run "make dep-am".
- * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
- host_aout_vec.
- * configure.in (vaxbsd_vec): Add.
- * targets.c (vaxbsd_vec): Add.
- * Makefile.in: Rebuild.
- * configure: Rebuild.
- * po/SRC-POTFILES.in: Rebuild.
-
-2002-07-01 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
- examining to gc_mark_hook, rather than the bfd.
- (elf_gc_sections): Adjust.
- * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
- * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
- * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
- * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
- * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
- * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
- * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
- * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
- * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
- * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
- * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
- * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
- * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
- * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
- * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
- * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
- * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
- * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
- * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
- * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
- * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
- * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
- * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
- * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
- * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
- redundant local sym tests.
- * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
- (link_hash_newfunc): Init is_entry.
- (ppc64_elf_copy_indirect_symbol): Copy is_entry.
- (ppc64_elf_link_hash_table_create): Init all_local_syms.
- (create_linkage_sections): Use bfd_make_section_anyway rather than
- bfd_make_section.
- (ppc64_elf_mark_entry_syms): New function.
- (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
- up opd entry to function section map.
- (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
- relocs that reference the opd section.
- (edit_opd): New function.
- (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
- (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
- (get_local_syms): Do so here. Exit if we already have local syms.
- Remove bogus comment imported from elf32-hppa.c. Don't attempt to
- read local syms on non-ELF input.
- (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
- than duplicating it's function here. Adjust free of internal
- relocs to suit.
- (ppc64_elf_relocate_section): Adjust local syms in opd section.
- * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
- * elf32-hppa.c (elf32_hppa_size_stubs): Call
- _bfd_elf32_link_read_relocs rather than duplicating it's function
- here. Adjust free of internal relocs to suit.
-
-2002-07-01 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
- are not allowed in shared libs code, enforce -fPIC.
-
-2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
- trailing zero-sequences when there's previous left-over data.
-
-2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
- (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
- and opd_rel_sec in order for starting rela section. Check _raw_size.
- (elf_backend_reloc_type_class): Define.
-
-2002-06-27 Kevin Buettner <kevinb@redhat.com>
-
- * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
- DWARF2 formats.
-
-2002-06-27 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-powerpc.c: Comment on ordering of arch_info.
- * elf32-ppc.c (ppc_elf_object_p): New function.
- (elf_backend_object_p): Define.
- * elf64-ppc.c (ppc64_elf_object_p): New function.
- (elf_backend_object_p): Define.
-
-2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
- * configure: Regenerate.
-
-2002-06-25 Jason Eckhardt <jle@rice.edu>
-
- * dwarf2.c (decode_line_info): Check unit->addr_size
- to read in the proper number of prologue bytes.
-
-2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * config.bfd (powerpc-*-aix5*): Only create a selvecs for
- aix5coff64_vec if 64-bit bfd support has been enabled.
- (powerpc64-*-aix5*): Only define if 64-bit bfd support has
- been enabled.
-
- * targets.c (_bfd_target_vector[]): Only include
- aix5coff64_vec if 64-bit bfd support has been enabled.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
- * elf32-hppa.c (hppa_add_stub): Likewise.
- * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
- * elflink.h (elf_add_default_symbol): Fix comment typo.
- (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_assign_sym_version): Likewise.
- * hash.c (bfd_hash_lookup): Likewise.
- * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
- * section.c (bfd_get_unique_section_name): Likewise.
- * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
- * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
- (assign_section_numbers): Likewise.
- (_bfd_elfcore_make_pseudosection): Likewise.
- (elfcore_grok_lwpstatus): Likewise.
- (elfcore_grok_win32pstatus): Likewise.
- (elfcore_write_note): Constify input params. Use PTR instead of
- void *. Include terminating NUL in namesz. Correct padding.
- Support NULL "name" param. Use memcpy instead of strcpy.
- (elfcore_write_prpsinfo): Constify input params.
- (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
- (elfcore_write_lwpstatus): Likewise.
- (elfcore_write_pstatus): Likewise.
- (elfcore_write_prfpreg): Likewise.
- (elfcore_write_prxfpreg): Likewise.
- * elf-bfd.h (elfcore_write_note): Update declaration.
- (elfcore_write_prpsinfo): Likewise.
- (elfcore_write_prstatus): Likewise.
- (elfcore_write_pstatus): Likewise.
- (elfcore_write_prfpreg): Likewise.
- (elfcore_write_prxfpreg): Likewise.
- (elfcore_write_lwpstatus): Likewise.
-
-2002-06-25 Jason Eckhardt <jle@rice.edu>
-
- * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
- symbols of type stProc and stStaticProc.
-
-2002-06-25 Nick Clifton <nickc@redhat.com>
-
- * ecoff.c: VArious formatting fixes.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
-
-2002-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * aout-adobe.c: Don't compare against "true" or "false.
- * aout-target.h: Likewise.
- * aoutx.h: Likewise.
- * archive.c: Likewise.
- * bout.c: Likewise.
- * cache.c: Likewise.
- * coff-a29k.c: Likewise.
- * coff-alpha.c: Likewise.
- * coff-i386.c: Likewise.
- * coff-mips.c: Likewise.
- * coff-or32.c: Likewise.
- * coff64-rs6000.c: Likewise.
- * coffcode.h: Likewise.
- * coffgen.c: Likewise.
- * cpu-ns32k.c: Likewise.
- * ecoff.c: Likewise.
- * ecofflink.c: Likewise.
- * elf.c: Likewise.
- * elf32-arm.h: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-d30v.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-mcore.c: Likewise.
- * elf32-ppc.c: Likewise.
- * elf32-sh.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-v850.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elfcode.h: Likewise.
- * elfcore.h: Likewise.
- * elflink.h: Likewise.
- * elfxx-mips.c: Likewise.
- * i386os9k.c: Likewise.
- * ieee.c: Likewise.
- * libbfd.c: Likewise.
- * linker.c: Likewise.
- * mmo.c: Likewise.
- * nlm32-alpha.c: Likewise.
- * nlm32-i386.c: Likewise.
- * nlm32-ppc.c: Likewise.
- * nlm32-sparc.c: Likewise.
- * nlmcode.h: Likewise.
- * oasys.c: Likewise.
- * pdp11.c: Likewise.
- * peicode.h: Likewise.
- * reloc.c: Likewise.
- * som.c: Likewise.
- * srec.c: Likewise.
- * tekhex.c: Likewise.
- * vms.c: Likewise.
- * xcofflink.c: Likewise.
- * elf64-sparc.c: Edit comment to not use "== false".
-
- * aoutf1.h: Don't use "? true : false".
- * ecoff.c: Likewise.
- * format.c: Likewise.
- * ieee.c: Likewise.
- * linker.c: Likewise.
- * mmo.c: Likewise.
- * oasys.c: Likewise.
-
-2002-06-23 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (elf_link_add_archive_symbols): For the default
- version, check references with only one `@' first.
-
-2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
- function.
- (allocate_global_data_dlt): Don't add millicode symbols to dynamic
- symbol table.
- (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
- (elf64_hppa_size_dynamic_sections): Revise to use
- elf64_hppa_mark_milli_and_exported_functions.
- (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
- symbols out of dynamic symbol table.
-
-2002-06-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * configure: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
- * elflink.h: Comment typo fixes.
-
-2002-06-23 H.J. Lu <hjl@gnu.org>
-
- * elf-bfd.h (elf_link_loaded_list): New structure.
- (elf_link_hash_table): Add "loaded".
- * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
- * elflink.h (elf_link_check_versioned_symbol): New function.
- (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
-
-2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elflink.h (size_dynamic_sections): If the target does not
- support an ELF style hash table, return true, indicating that
- nothing needed to be done, rather than false, indicating that the
- section's size could not be computed.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore, Michael Meissner, Dave Brolley:
- * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
- * targets.c: Support bfd_elf32_frv_vec.
- * reloc.c: Add FRV relocs.
- * configure.in: Add support for bfd-elf32-frv-vec.
- * config.bfd (targ_cpu): Add support for frv-*-elf.
- * archures.c: Add frv arch and machines.
- * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
- (ALL_MACHINES_CFILES): Add cpu-frv.c.
- (BFD32_BACKENDS): Add elf32-frv.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-frv.c
- (cpu-frv.lo): New target.
- (elf32-frv.lo): New target.
- * cpu-frv.c: New file.
- * elf32-frv.c: New file.
-
-2002-06-18 Jakub Jelinek <jakub@redhat.com>
-
- * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
- e_shnum == 0.
- Only read the first section header if e_shoff is non-zero.
- Don't consider e_shstrndx if there are no sections.
-
-2002-06-17 Tom Rix <trix@redhat.com>
-
- * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
- R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
- complain_overflow_bitfield.
-
-2002-06-17 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c (bfd_openr): Remove redundant bfd_set_error.
- (bfd_fdopenr): Likewise.
- (bfd_openstreamr): Likewise.
- (bfd_openw): Likewise.
-
- * targets.c: Sort target vecs.
- (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
- bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
- bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
- bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
- * configure.in: Sort target vecs. Add m88kmach3_vec.
- * configure: Regenerate.
-
-2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
- bpo_reloc_no to break sort order ties, not address of items.
-
-2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
- Skip excluded sections in determing __gp value.
- (elf_hppa_final_link_relocate): Use the symbol's address in
- R_PARISC_FPTR64 relocations that don't need an opd entry.
- * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
- (elf64_hppa_finalize_dynreloc): Likewise.
- (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
- (elf64_hppa_finish_dynamic_symbol): Break up assert.
-
-2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
-
- * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
- alignment for .bss, .data and .text sections so that sse and sse2
- code will work.
- * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
-
-2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
-
- config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
- sh[1234]*-elf*.
-
-2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elflink.h (elf_bfd_final_link): Improve error handling for missing
- dynamic sections.
-
- * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
- for a symbol that has no output section.
- (allocate_dynrel_entries): Correct comment.
- (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
- unless we want one.
- (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
- (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
- with no section. Remove unnecessary parentheses.
-
-2002-06-11 Tom Rix <trix@redhat.com>
-
- * coffcode.h (coff_compute_section_file_positions): Add data
- section to AIX loader alignment check.
-
- * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
- alignment to 4 bytes.
- (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
- power accessor macro.
- (do_shared_object_padding): Remove invalid assertion.
-
-2002-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
- for removed output sections.
-
-2002-06-10 Geoffrey Keating <geoffk@redhat.com>
-
- * merge.c (merge_strings): Use htab_create_alloc with calloc, not
- htab_alloc.
- * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
-
-2002-06-08 H.J. Lu <hjl@gnu.org>
-
- * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
- work around a long long bug in gcc 2.96 on mips.
-
-2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
- (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
- Regenerate dependency lists.
- * Makefile.in: Regenerate.
- * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
- vax1knetbsd_vec to targ_selvecs.
- * configure.in: Add vax1knetbsd_vec.
- * configure: Regenerate.
- * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
- * vax1knetbsd.c: New file.
- * vaxnetbsd.c: Update copyright years.
- (TARGET_PAGE_SIZE): Set to 0x1000.
- (DEFAULT_MID): Set to M_VAX4K_NETBSD.
-
-2002-06-08 Matt Thomas <matt@3am-software.com>
-
- * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
- * armnetbsd.c: Replace CONST with const.
- * corefile.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf64-mips.c: Likewise.
- * mmo.c: Likewise.
- * ns32knetbsd.c: Likewise.
-
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
- table is elf64-sparc.
-
-2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
- Fix RELA addends to get not shifted in the result. Don't do special
- handling of R_MIPS_64 for NewABI.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
- (NAME(aout,slurp_reloc_table)): Likewise.
- * coff-mips.c (mips_relax_section): Use bfd_zalloc.
- * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
- (xcoff_write_archive_contents_big): Likewise.
- (xcoff_generate_rtinit): Likewise.
- (xcoff_generate_rtinit): Likewise, and check error return.
- * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
- * coffgen.c (coff_section_symbol): Use bfd_zalloc.
- (coff_get_normalized_symtab): Likewise.
- (coff_make_empty_symbol): Likewise.
- (bfd_coff_set_symbol_class): Likewise.
- * cofflink.c (coff_link_add_symbols): Likewise.
- * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
- * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
- (bfd_ecoff_write_accumulated_debug): Likewise.
- * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
- * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
- * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
- * ieee.c (do_with_relocs): Use bfd_zalloc.
- * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
- * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
- (NAME(aout,slurp_reloc_table)): Likewise.
- (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
- * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
- * som.c (som_build_and_write_symbol_table): Likewise.
- (som_slurp_string_table): Likewise.
- (som_slurp_symbol_table): Likewise.
- (som_bfd_ar_write_symbol_stuff): Likewise.
- * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
- * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
- * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
- * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
- * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
- "group" union.
- (elf_group_name): Update.
- (elf_group_id): Define.
- (bfd_elf_set_group_contents): Declare.
- * elf.c (elf_fake_sections): Qualify use of elf_group_name.
- (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
- ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
- that sym for the signature.
- (_bfd_elf_compute_section_file_positions): Don't call
- set_group_contents for "ld -r" case.
- (swap_out_syms): Use bfd_zalloc.
- * elflink.h (elf_link_add_archive_symbols): Likewise.
- (NAME(bfd_elf,size_dynamic_sections)): Likewise.
- (elf_bfd_final_link): Call bfd_elf_set_group_contents.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
- relocs in opd for non-shared too.
-
-2002-06-06 Jeffrey Law <law@redhat.com>
-
- * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
- relocations.
-
-2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * merge.c: Include libiberty.h.
- * elf-strtab.c: Include libiberty.h.
-
-2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
-
- * peXXigen.c (pe_print_idata): Remove unused variable.
-
-2002-06-06 David Heine <dlheine@tensilica.com>
-
- * elf.c (assign_file_positions_for_segments): Remove unallocated
- sections from the section to segment mapping for PT_LOAD segments.
- Update comment about empty loadable segments.
-
-2002-06-06 Richard Sandiford <rsandifo@redhat.com>
-
- * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
- is within the .stabstr section.
-
-2002-06-06 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
- are "const PTR", not "const PTR *".
- (bfd_elf32_swap_symbol_in): Likewise.
- (bfd_elf64_swap_symbol_in): Likewise.
- * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
- (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_record_local_dynamic_symbol): Likewise.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise.
- (elf_reloc_symbol_deleted_p): Likewise.
- * elf-m10200.c (mn10200_elf_relax_section): Likewise.
- (mn10200_elf_relax_delete_bytes): Likewise.
- (mn10200_elf_symbol_address_p): Likewise.
- (mn10200_elf_get_relocated_section_contents): Likewise.
- * elf-m10300.c (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-hppa.c (get_local_syms): Likewise.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf32-sh.c (sh_elf_relax_section): Likewise.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-ppc.c (get_local_syms): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
-
-2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
-
- * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
-
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (group_signature): Swap in the whole symbol, and handle
- extracting section symbol names.
- (setup_group): Add comment.
- (set_group_contents): When called from objcopy or ld, arrange for
- section contents to be written. Write group member output section
- indices to allow objcopy to reorganize sections.
- (_bfd_elf_copy_private_section_data): Copy group info.
-
- * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
- (bfd_elf32_swap_symbol_in): Update prototype.
- (bfd_elf64_swap_symbol_in): Likewise.
- * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
- (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
- * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
- (elf_link_add_object_symbols): Likewise.
- (elf_link_record_local_dynamic_symbol): Likewise.
- (elf_link_input_bfd): Likewise.
- (elf_gc_mark): Likewise.
- (elf_reloc_symbol_deleted_p): Likewise.
- * elf-m10200.c (mn10200_elf_relax_section): Likewise.
- (mn10200_elf_relax_delete_bytes): Likewise.
- (mn10200_elf_symbol_address_p): Likewise.
- (mn10200_elf_get_relocated_section_contents): Likewise.
- * elf-m10300.c (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_section): Likewise.
- (mn10300_elf_relax_delete_bytes): Likewise.
- (mn10300_elf_symbol_address_p): Likewise.
- (mn10300_elf_get_relocated_section_contents): Likewise.
- * elf32-h8300.c (elf32_h8_relax_section): Likewise.
- (elf32_h8_relax_delete_bytes): Likewise.
- (elf32_h8_symbol_address_p): Likewise.
- (elf32_h8_get_relocated_section_contents): Likewise.
- * elf32-hppa.c (get_local_syms): Likewise.
- * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
- * elf32-sh.c (sh_elf_relax_section): Likewise.
- (sh_elf_relax_delete_bytes): Likewise.
- (sh_elf_get_relocated_section_contents): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
- * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
- * elf64-mmix.c (mmix_elf_relax_section): Likewise.
- * elf64-ppc.c (get_local_syms): Likewise.
- * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
- * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
- * elf64-alpha.c (alpha_elf_size_info): Likewise.
- * elf64-hppa.c (hppa64_elf_size_info): Likewise.
- * elf64-mips.c (mips_elf64_size_info): Likewise.
- * elf64-s390.c (s390_elf64_size_info): Likewise.
- * elf64-sparc.c (sparc64_elf_size_info): Likewise.
-
-2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
- elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
- elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
- _bfd_mips_elf_ignore_discarded_relocs.
- elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
-
-2002-06-05 H.J. Lu <hjl@gnu.org>
-
- * elfxx-mips.c (mips_elf_calculate_relocation): Call
- _bfd_elf_rel_local_sym for STT_SECTION relocations against
- the SEC_MERGE section.
-
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
-
- * coff-alpha.c: Update copyright date.
- * coff-mips.c: Likewise.
- * xcoff-target.h: Likewise.
- * bfd-in.h: Remove "taken from the source" comment.
- * libbfd-in.h: Likewise.
- * libcoff-in.h: Likewise.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
+2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
- * elf.c (bfd_elf_discard_group): Return true.
- * elf-bfd.h (bfd_elf_discard_group): Declare.
- * bfd-in.h (bfd_elf_discard_group): Don't declare here.
- * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
- * bfd.c (bfd_discard_group): Define.
- * targets.c (struct bfd_target): Add _bfd_discard_group.
- (BFD_JUMP_TABLE_LINK): Here too.
- * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
- * aout-adobe.c (aout_32_bfd_discard_group): Define.
- * aout-target.h (MY_bfd_discard_group): Define.
- * aout-tic30.c (MY_bfd_discard_group): Define.
- * binary.c (binary_bfd_discard_group): Define.
- * bout.c (b_out_bfd_discard_group): Define.
- * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
- * coffcode.h (coff_bfd_discard_group): Define.
- * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
- * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
- * i386msdos.c (msdos_bfd_discard_group): Define.
- * i386os9k.c (os9k_bfd_discard_group): Define.
- * ieee.c (ieee_bfd_discard_group): Define.
- * ihex.c (ihex_bfd_discard_group): Define.
- * mmo.c (mmo_bfd_discard_group): Define.
- * nlm-target.h (nlm_bfd_discard_group): Define.
- * oasys.c (oasys_bfd_discard_group): Define.
- * ppcboot.c (ppcboot_bfd_discard_group): Define.
- * som.c (som_bfd_discard_group): Define.
- * srec.c (srec_bfd_discard_group): Define.
- * tekhex.c (tekhex_bfd_discard_group): Define.
- * versados.c (versados_bfd_discard_group): Define.
- * vms.c (vms_bfd_discard_group): Define.
- * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
- * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
- (aix5coff64_vec): Likewise.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
+ * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf32_bed): Redefine to get a separate backend data structure for
+ traditional targets.
+ * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf64_bed): Redefine to get a separate backend data structure for
+ traditional targets.
+ * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
+ targets to support pages of up to 64kB.
+ (elf32_bed): Redefine to get a separate backend data structure for
+ traditional targets.
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+2004-01-04 Mark Kettenis <kettenis@gnu.org>
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
- (elf32-sh64-com.lo): New dependency list.
- * Makefile.in: Regenerate.
- * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
- (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
- elf32-sh64-com.lo.
- * configure: Regenerate.
- * elf32-sh64.c (sh64_address_in_cranges)
- (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
- (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
- * elf32-sh64-com.c: ...here. New file.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
- ATTRIBUTE_UNUSED on used params.
- * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
- before calling bfd_section_from_elf_index on local syms.
- * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
- (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
- (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
- * Makefile.in: Regenerate.
- * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
- (sh64-*-netbsd*): New targets.
- * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
- bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
- * configure: Regenerate.
- * elf32-sh64-nbsd.c: New file.
- * elf64-sh64-nbsd.c: New file.
- * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
- bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
- bfd_elf64_sh64lnbsd_vec.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
- (bfd_section_from_shdr): Likewise. Set section name of group
- sections from signature.
- (group_signature): Split out from setup_group. Ensure symbol table
- is available.
- (bfd_elf_discard_group): New function.
- (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
- .gnu.linkonce* sections if they are members of a group.
- (set_group_contents): Set GRP_COMDAT flag.
- * section.c (bfd_discard_group): New function.
- * bfd-in.h (bfd_elf_discard_group): Declare.
- * bfd-in2.h: Regenerate.
- * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
- (elf_linkonce_p): Define.
-
-2002-06-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (bfd_section_from_shdr): Make "name" const.
- * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
- * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
- * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
- * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
- * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
- * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
- * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
- * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
- * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
- * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
-
-2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
- ABI.
-
-2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * elf32-arc.c: Fix formatting.
- * elf32-arm.h: Likewise.
- * elf32-cris.c: Likewise.
- * elf32-dlx.c: Likewise.
- * elf32-hppa.c: Likewise.
- * elf32-i386.c: Likewise.
- * elf32-i386qnx.c: Likewise.
- * elf32-or32.c: Likewise.
- * elf32-s390.c: Likewise.
- * elf32-sh64.c: Likewise.
- * elf32-vax.c: Likewise.
- * elf32-xstormy16.c: Likewise.
- * elf64-alpha.c: Likewise.
- * elf64-mmix.c: Likewise.
- * elf64-ppc.c: Likewise.
- * elf64-s390.c: Likewise.
- * elf64-sh64.c: Likewise.
- * elf64-x86-64.c: Likewise.
-
-2002-06-02 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
- null when there are no got entries for a symbol.
- (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
- uninitialized variable warning.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
- undefined symbols here.
- (elf64_alpha_relax_section): Do it here. Also test for not
- defined in the current module.
- (elf64_alpha_relocate_section_r): Split out of ...
- (elf64_alpha_relocate_section): ... here. Don't dereference
- NULL when looking up local got entries.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
- symbols from JSR relaxation.
- (elf64_alpha_size_plt_section_1): New.
- (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
- (elf64_alpha_size_rela_got_1): ... here.
- (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
- (elf64_alpha_size_rela_got_section): ... here.
- (elf64_alpha_size_plt_section): New.
- (elf64_alpha_relax_section): Call them.
- (elf64_alpha_size_got_sections): Remove output_bfd arg.
- (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
- (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
- in shared libraries. Fix DTPRELHI and TPRELHI value.
- (INSN_ADDQ, INSN_RDUNIQ): New.
- (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
- (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
- argument. Reject dynamic symbols. Use LITUSE symbolic constants.
- (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
- Handle GOTDTPREL and GOTTPREL relocations.
- (elf64_alpha_relax_gprelhilo): New.
- (elf64_alpha_relax_tls_get_addr): New.
- (elf64_alpha_relax_find_tls_segment): New.
- (elf64_alpha_relax_section): Handle TLS relocations.
- (ALPHA_ELF_LINK_HASH_TLS_IE): New.
- (elf64_alpha_check_relocs): Set it.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
- check; don't suppress dynamic relocs for non-allocated sections.
-
- * elf64-alpha.c: Remove dead code.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
- space for bss .plt.
-
-2002-05-31 Graeme Peterson <gp@qnx.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * config.bfd: Add i[3456]86-*-nto-qnx* support.
- * configure.in: Add bfd_elf32_i386qnx_vec support.
- * configure: Regenerate.
- * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
- is_contained_by_filepos, and copy_private_bfd_data_p.
- * elf.c (assign_file_positions_for_segments): Call backend
- set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
- (IS_CONTAINED_BY_FILEPOS): Define.
- (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
- (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
- Fix non-K&R call to _bfd_error_handler.
- (_bfd_elf_copy_private_section_data): Use backend
- copy_private_bfd_data_p.
- * elf32-i386.c: Don't include elfxx-target.h when
- ELF32_I386_C_INCLUDED is defined.
- * elf32-i386qnx.c: New QNX elf backend file.
- * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
- elf_backend_is_contained_by_filepos, and
- elf_backend_do_copy_private_bfd_data.
- * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
- Move other similar defines to start of file.
-
-2002-05-30 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
- * coff64-rs6000.c (xcoff64_rtype2howto): Same.
-
-2002-05-30 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
- ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
- (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
- (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
- (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
- (struct alpha_elf_obj_tdata): Rename total_got_entries and
- n_local_got_entries to total_got_size and local_got_size.
- (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
- (alpha_got_entry_size): New.
- (elf64_alpha_relax_with_lituse): Use it.
- (elf64_alpha_relax_without_lituse): Likewise.
- (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
- (get_got_entry): New.
- (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
- (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
- (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
- (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
- (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
- (elf64_alpha_calc_got_offsets): Likewise.
- (alpha_dynamic_entries_for_reloc): New.
- (elf64_alpha_calc_dynrel_sizes): Use it.
- (elf64_alpha_size_dynamic_sections): Likewise.
- (elf64_alpha_relocate_section): Handle TLS relocations.
- * reloc.c: Add Alpha TLS relocations.
- * bfd-in2.h, libbfd.h: Rebuild.
-
-2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
-
- * peXXigen.c (pe_print_idata): Remove double printed
- import table lines; add Bound-To comment.
-
-2002-05-29 Matt Thomas <matt@3am-software.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
- (elf32-vax.lo): New rule.
- * Makefile.in: Regenerate.
- * configure.in (bfd_elf32_vax_vec)
- (vaxnetbsd_vec): New vectors.
- * configure: Regenerate.
- * config.bfd (vax-*-netbsdelf*)
- (vax-*-netbsdaout*)
- (vax-*-netbsd*): New targets.
- * elf32-vax.c: New file.
- * reloc.c: Add VAX relocations.
- * bfd-in2.h: Regenerate.
- * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
-
-2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
- and bfd_elf32_bigarm_vec to targ_selvecs.
-
-2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
-
- * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
- with auto-imported symbols.
-
-2002-05-29 Adam Nemet <anemet@lnxw.com>
-
- * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
- sections only record bfd.
- (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
- * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
- * bfd-in2.h: Regenerate.
-
-2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
-
- * syms.c (_bfd_stab_section_find_nearest_line): Move
- declaration and initialisation of saw_line and saw_func out of
- for loop.
-
-2002-05-29 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
- (bfd_elf64_get_symbol_info): Define.
- * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
-
-2002-05-29 Andrey Volkov <avolkov@transas.com>
-
- * cpu-h8300.c: Make default h8300 machine first in machine list.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * config.bfd: Added DLX configuraton.
- * Makefile.am: Added DLX configuraton.
- * configure.in: Added DLX configuraton.
- * archures.c: Add DLX architecture.
- * reloc.c: Add DLX relocs.
- * targets.c: Added DLX target vector.
- * configure: Regenerate.
- * Makefile.in: Regenreate.
- * bfd-in2.h: Regenreate.
- * elf32-dlx.c: New file: Support DLX target.
- * cpu-dlx.c: New file: Support DLX target.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
- (ppc64_elf_check_relocs): Don't set up function descriptor symbol
- strings to point inside function code sym string.
- (func_desc_adjust): Likewise.
- (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
-
-2002-05-24 Michal Ludvig <mludvig@suse.cz>
-
- * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
- (elf64_x86_64_grok_psinfo): Added.
-
-2002-05-24 TAMURA Kent <kent@netbsd.org>
-
- * config.bfd: Add a target for i386-netbsdpe.
-
-2002-05-24 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
- and is_func_descriptor.
- (func_desc_adjust): Hide function code sym in shared libs unless
- there is a matching exported function descriptor sym.
-
-2002-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
- for symbols from SHF_TLS section.
- (_bfd_elf_print_private_bfd_data): Add PT_TLS.
- (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
- (map_sections_to_segments): Build PT_TLS segment if necessary.
- (assign_file_positions_for_segments): Likewise.
- (get_program_header_size): Account for PT_TLS segment.
- (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
- SEC_THREAD_LOCAL sections to STT_TLS.
- * reloc.c: Add 386 and IA-64 TLS relocs.
- * section.c (SEC_THREAD_LOCAL): Define.
- (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
- Remove.
- * elflink.h (elf_link_add_object_symbols): Support .tcommon.
- (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
- unconditionally.
- (struct elf_final_link_info): Add first_tls_sec.
- (elf_bfd_final_link): Set first_tls_sec.
- Compute elf_hash_table (info)->tls_segment.
- (elf_link_output_extsym): Handle STT_TLS symbols.
- (elf_link_input_bfd): Likewise.
- * syms.c (BSF_THREAD_LOCAL): Define.
- * bfd-in2.h: Rebuilt.
- * libbfd.h: Rebuilt.
- * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
- elf_i386_mkobject, elf_i386_object_p): New functions.
- (elf_howto_table): Add TLS relocs.
- (elf_i386_reloc_type_lookup): Support TLS relocs.
- (elf_i386_info_to_howto_rel): Likewise.
- (struct elf_i386_link_hash_entry): Add tls_type.
- (struct elf_i386_obj_tdata): New.
- (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
- New macros.
- (struct elf_i386_link_hash_table): Add tls_ldm_got.
- (link_hash_newfunc): Clear tls_type.
- (elf_i386_check_relocs): Support TLS relocs.
- (elf_i386_gc_sweep_hook): Likewise.
- (allocate_dynrelocs): Likewise.
- (elf_i386_size_dynamic_sections): Likewise.
- (elf_i386_relocate_section): Likewise.
- (elf_i386_finish_dynamic_symbol): Likewise.
- (bfd_elf32_mkobject, elf_backend_object_p): Define.
- * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
- dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
- want_tprel, want_dtpmod, want_dtprel.
- (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
- (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
- R_IA64_LTOFF_TPREL22.
- (elf_code_to_howto_index): Add TLS relocs.
- (elfNN_ia64_check_relocs): Support TLS relocs.
- (allocate_global_data_got): Account for TLS .got data.
- (allocate_dynrel_entries): Account for TLS dynamic relocations.
- (elfNN_ia64_install_value): Supprt TLS relocs.
- (set_got_entry): Support TLS relocs.
- (elfNN_ia64_relocate_section): Likewise.
-
-2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
- BLX reloc round the relocation up rather than down.
- * coff-arm.c (coff_arm_relocate_section): Likewise.
-
-2002-05-21 H.J. Lu (hjl@gnu.org)
-
- * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
- definition.
-
-2002-05-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
- (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
-
-2002-05-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
- unresolved relocs.
- (ppc64_elf_size_dynamic_sections): Check for splt NULL.
-
-2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
- non-ELF targets.
-
-2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
- an error value.
- * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
- return with false on error.
- (elf_link_input_bfd): Check reloc_emitter return value.
-
-2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (armeb-*-netbsdelf*): New target.
-
-2002-05-20 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
- at the plt call stub.
-
-2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * cpu-mips.c (mips_compatible): Don't try to check machine
- compatibility.
-
-2002-05-18 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
- (ppc64_elf_relocate_section): Don't warn about reloc overflow when
- we've already warned about an undefined symbol. Report more
- detail on reloc errors.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * acinclude.m4 (AM_INSTALL_LIBBFD): New.
- * configure.in: Invoke AM_INSTALL_LIBBFD.
- * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
- (install_libbfd): .. New target.
- (uninstall_libbfd): Likewise.
- (install-bfdlibLTLIBRARIES): Likewise.
- (uninstall-bfdlibLTLIBRARIES): Likewise.
- (bfdlibdir): New.
- (bfdincludedir): New.
- (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2002-05-17 Stuart Balfour <sbalfour@cisco.com>
-
- * hash.c (bfd_hash_lookup): Remove computation of len from inside
- hash loop.
-
-2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * config.bfd: Add targets for sh64-linux (little endian and
- big endian).
-
-2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
-
- * peXXigen.c (pe_print_idata): Do not assume that the first thunk
- is located in the same section as the import table. Instead
- check, and if necessary load the section containing the thunk.
-
-2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
- bfd_bread.
- (xcoff64_core_file_matches_executable_p): Replace bfd_read
- with bfd_bread.
-
-2002-05-15 Alan Modra <amodra@bigpond.net.au>
-
- * aix5ppc-core.c: Warning fixes.
- * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
- * aout-target.h (MY_bfd_link_just_syms): Define.
- * aout-tic30.c (MY_bfd_link_just_syms): Define.
- * bfd.c (bfd_link_just_syms): Define.
- * binary.c (binary_bfd_link_just_syms): Define.
- * bout.c (b_out_bfd_link_just_syms): Define.
- * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
- * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
- * coffcode.h (coff_bfd_link_just_syms): Define.
- * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
- (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
- (_bfd_elf_link_just_syms): Declare.
- * elf.c (_bfd_elf_link_just_syms): New function.
- * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
- sections haven't already been discarded by the linker.
- * elflink.h (elf_link_add_object_symbols): Likewise for stab
- sections and SEC_MERGE sections.
- (elf_bfd_discard_info): Similarly here.
- * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
- * i386msdos.c (msdos_bfd_link_just_syms): Define.
- * i386os9k.c (os9k_bfd_link_just_syms): Define.
- * ieee.c (ieee_bfd_link_just_syms): Define.
- * ihex.c (ihex_bfd_link_just_syms): Define.
- * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
- (_bfd_generic_link_just_syms): Declare.
- * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
- * linker.c (_bfd_generic_link_just_syms): New function.
- * mmo.c (mmo_bfd_link_just_syms): Define.
- * nlm-target.h (nlm_bfd_link_just_syms): Define.
- * oasys.c (oasys_bfd_link_just_syms): Define.
- * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
- * som.c (som_bfd_link_just_syms): Define.
- * srec.c (srec_bfd_link_just_syms): Define.
- * targets.c (struct bfd_target): Add _bfd_link_just_syms.
- (BFD_JUMP_TABLE_LINK): And here.
- * tekhex.c (tekhex_bfd_link_just_syms): Define.
- * versados.c (versados_bfd_link_just_syms): Define.
- * vms.c (vms_bfd_link_just_syms): Define.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elf32-mips.c: Remove superfluous definitions copied from
- elfxx-mips.c.
- (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
- SGIish vectors to check the special case.
- (mips_elf_hi16_reloc): Fix comment.
- (mips_elf_got16_reloc): Likewise.
- (_bfd_mips_elf32_gprel16_reloc): Likewise.
- (elf_reloc_map): Code cleanup.
- (mips_reloc_map): Add comment.
- (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
- (mips_elf32_rtype_to_howto): Likewise.
- (mips_elf32_discard_info): Likewise.
- (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
- lead to IRIX compatibility now.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * elfxx-mips.c: Call it IRIX, not Irix in comments.
-
-2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (shle-*-netbsdelf*): Add target which includes
- sh64 support.
-
-2002-05-13 David Edelsohn <edelsohn@gnu.org>
-
- * configure.in: Revert 2002-04-07. Instead, auto-configure
- HAVE_ST_C_IMPL.
- * configure: Regenerate.
- * config.in: Regenerate.
- * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
- or AIX_5_CORE.
-
-2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
-
- * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
- corefiles as well.2
- * configure: Regenerate.
-
-2002-05-13 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (install-data-local): Install headers to
- $(exec_prefix)/include.
- * Makefile.in: Regenerate.
-
-2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- Daniel Jacobowitz <drow@mvista.com>
-
- * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
- map BFD_RELOC_RVA.
-
-2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
-
- * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
- hppa*-*-openbsd*): New targets.
- * configure.in (alpha*-*-openbsd*): Set COREFILE.
- * configure: Regenerate.
-
-2002-05-10 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
- xcoff64_ppc_relocate_section.
- * coff-rs6000.c : Extern common xcoff_reloc_type functions.
- * libxcoff.h: Common xcoff_reloc_type function declaration.
-
-2002-05-10 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
- added in 2002-05-09 commit.
-
- * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
- don't look for stubs on all undefined syms.
-
-2002-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
- (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
- pcrel_offset.
-
- * elf32-i386.c (elf_howto_table): Comments.
- (elf_i386_relocate_section): Handle more relocs for relocatable
- linking and against SEC_MERGE sections.
-
-2002-05-08 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_create_got): New function.
- (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
- _bfd_elf_create_dynamic_sections. Correct .plt flags.
- (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
- _bfd_elf_create_got_section.
-
-2002-05-07 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (struct elf_backend_data): Add rela_normal.
- * elfxx-target.h (elf_backend_rela_normal): Define.
- (elfNN_bed): Init rela_normal.
- * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
- for section symbols here if rela_normal. Simplify abs section test.
- * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
- return immediately. Remove code handling relocatable linking.
- * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
- * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-i860.c (elf32_i860_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
- * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
- * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
- * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
- * elf-m10200.c (elf_backend_rela_normal): Define.
- * elf-m10300.c (elf_backend_rela_normal): Define.
- * elf32-fr30.c (elf_backend_rela_normal): Define.
- * elf32-i370.c (elf_backend_rela_normal): Define.
- * elf32-i860.c (elf_backend_rela_normal): Define.
- * elf32-m68k.c (elf_backend_rela_normal): Define.
- * elf32-mcore.c (elf_backend_rela_normal): Define.
- * elf32-openrisc.c (elf_backend_rela_normal): Define.
- * elf32-ppc.c (elf_backend_rela_normal): Define.
- * elf32-s390.c (elf_backend_rela_normal): Define.
- * elf32-xstormy16.c (elf_backend_rela_normal): Define.
- * elf64-ppc.c (elf_backend_rela_normal): Define.
- * elf64-s390.c (elf_backend_rela_normal): Define.
- * elf64-x86-64.c (elf_backend_rela_normal): Define.
- * elfxx-ia64.c (elf_backend_rela_normal): Define.
- * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
- * elf32-m32r.c (elf_backend_rela_normal): Likewise.
-
-2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Convert
- 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
-
-2002-05-06 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
- when not relocatable. Fix reloc_emitter call for K&R.
-
-2002-05-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
- reloading local sym addend mistakenly removed in 2002-05-01 change.
-
- * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
- (read_abbrevs): Change "offset" param to bfd_vma.
- (parse_comp_unit): Change "version" and addr_size to unsigned ints.
- Change "abbrev_offset" to bfd_vma.
- (read_indirect_string): Use correct conversion chars in error
- message format string, cast bfd_vma's to unsigned long.
- (read_abbrevs): Likewise.
- (read_attribute_value): Likewise.
- (decode_line_info): Likewise.
- (scan_unit_for_functions): Likewise.
- (parse_comp_unit): Likewise.
-
-2002-05-04 Tom Rix <trix@redhat.com>
-
- * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
- (coff_swap_reloc_out): Same.
- * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
- (xcoff_swap_reloc_out): Same.
- (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
- case some 16 bit relocs. Add reloc value to output.
- (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
- R_RBR. Improve names.
- (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
- (bfd_xcoff_backend_data): Update with new reloc swap names.
- (bfd_pmac_xcoff_backend_data) : Same.
- * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
- (xcoff64_swap_reloc_out): Same.
- (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
- R_POS. Add reloc value to output.
- (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
- bit R_RBR. Improve names, masks.
- (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
- (bfd_xcoff_backend_data): Update with new reloc swap names.
- (bfd_xcoff_aix5_backend_data) : Same.
-
-2002-05-04 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
- bfd_count top_index, input_list, all_local_syms.
- (elf32_hppa_setup_section_lists): New function, split from
- elf32_hppa_size_stubs.
- (elf32_hppa_next_input_section): Likewise.
- (group_sections): Likewise.
- (get_local_syms): Likewise.
- (elf32_hppa_size_stubs): Adjust for split out functions. Look for
- stubs on undefined syms too.
- (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
- Only access htab elf fields when we have an elf hash table.
- * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
- (elf32_hppa_next_input_section): Declare.
-
-2002-05-04 Bob Byrnes <byrnes@curl.com>
-
- * opncls.c (_bfd_new_bfd_contained_in): Check return value of
- _bfd_new_bfd.
-
-2002-05-03 H.J. Lu (hjl@gnu.org)
-
- * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
- (mips_elf_link_hash_newfunc): Initialize forced_local to false.
- (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
- to hide a global symbol.
- (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
- forced_local to true.
-
-2002-05-02 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
- vs SHN_UNDEF to zero.
-
-2002-05-02 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
- 16 bit reloc.
- <R_PPC64_SECTOFF_DS>: Likewise.
- (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
- SECTOFF reloc.
- * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
- (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
- SECTOFF reloc.
-
- * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
- (ppc64_elf_ha_reloc): New function.
- (ppc64_elf_brtaken_reloc): New function.
- (ppc64_elf_sectoff_reloc): New function.
- (ppc64_elf_sectoff_ha_reloc): New function.
- (ppc64_elf_toc_reloc): New function.
- (ppc64_elf_toc_ha_reloc): New function.
- (ppc64_elf_toc64_reloc): New function.
- (ppc64_elf_unhandled_reloc): New function.
- (ppc64_elf_howto_raw): Use the above.
- <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
- <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
- <R_PPC64_SECTOFF_DS>: Likewise.
- (IS_ABSOLUTE_RELOC): Update.
- (struct ppc_link_hash_table): Add have_undefweak.
- (ppc64_elf_link_hash_table_create): Init.
- (func_desc_adjust): Set have_undefweak.
- (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
- add the .sfpr blr when have_undefweak.
- (ppc64_elf_setup_section_lists): Check hash table flavour.
- (ppc64_elf_next_input_section): Move output_section->owner test to
- ppc64elf.em.
- (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
- and relocatable test. Return TOCstart and don't set elf_gp.
- (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
- offset calculation. Add assert on weak sym branch tweaks.
- * elf64-ppc.h (ppc64_elf_set_toc): Delete.
- (ppc64_elf_toc): Declare.
- (ppc64_elf_next_input_section): Update.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
- file_name.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (CROR_151515, CROR_313131): Define.
- (ppc64_elf_relocate_section): Use them. Don't look for plt calls
- on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
- call branches. Correct undefined weak destination.
- (ppc64_elf_func_desc_adjust): Always create at least one blr in
- .sfpr, and correct case where either only savef* or restf* is
- needed.
-
- Long branch stubs, multiple stub sections.
- * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
- (ppc64_elf_next_input_section): Declare.
- * elf64-ppc.c: Move linker-only prototypes.
- (STUB_SUFFIX): Define.
- (enum ppc_stub_type): New.
- (struct ppc_stub_hash_entry): New.
- (struct ppc_branch_hash_entry): New.
- (struct ppc_link_hash_entry): Add stub_cache, oh.
- (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
- sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
- Rename plt_overflow to stub_error.
- (ppc_stub_hash_lookup): Define.
- (ppc_branch_hash_lookup): Define.
- (stub_hash_newfunc): New function.
- (branch_hash_newfunc): New function.
- (link_hash_newfunc): Init new fields.
- (ppc64_elf_link_hash_table_create): Likewise.
- (ppc64_elf_link_hash_table_free): New function.
- (ppc_stub_name): New function.
- (ppc_get_stub_entry): New function.
- (ppc_add_stub): New function.
- (create_linkage_sections): Use bfd_make_section_anyway. Create
- .branch_lt and .rela.branch_lt sections. Don't create .stub.
- (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
- and set up for plt call stubs. Link func and func desc syms.
- (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
- (func_desc_adjust): Avoid hash lookup when func desc sym available
- via shortcut, and set links when processing.
- (ppc64_elf_hide_symbol): Likewise.
- (allocate_dynrelocs): Don't allocate stub section here.
- (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
- Remove sstub code.
- (ppc_type_of_stub): New function.
- (build_one_stub): Delete.
- (ppc_build_one_stub): New function.
- (ppc_size_one_stub): New function.
- (ppc64_elf_setup_section_lists): New function.
- (ppc64_elf_next_input_section): New function.
- (group_sections): New function.
- (get_local_syms): New function.
- (ppc64_elf_size_stubs): Rewrite.
- (ppc64_elf_build_stubs): Rewrite.
- (ppc64_elf_relocate_section): Look up stub entry for REL24
- relocs. Don't propagate REL14* to dynamic objects. Look for long
- branch stubs if REL14* or REL24 relocs won't reach.
- (bfd_elf64_bfd_link_hash_table_free): Define.
-
-2002-04-30 Mark Mitchell <mark@codesourcery.com>
-
- * config.bfd: Add support for powerpc-*-windiss.
-
-2002-04-30 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
- symbol names into the hash table.
-
-2002-04-28 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
- calulating relocations.
- (xcoff_complain_overflow) : Function table for relocation errors.
- (xcoff_ppc_relocate_section): Use relocation and complain function
- tables.
- (xcoff_complain_overflow_unsigned_func): New complain function.
- (xcoff_complain_overflow_signed_func): Same.
- (xcoff_complain_overflow_bitfield_func): Same.
- (xcoff_complain_overflow_dont_func): Same.
- (xcoff_reloc_type_crel): New recot function.
- (xcoff_reloc_type_br): Same.
- (xcoff_reloc_type_ba): Same.
- (xcoff_reloc_type_toc): Same.
- (xcoff_reloc_type_rel): Same.
- (xcoff_reloc_type_neg): Same.
- (xcoff_reloc_type_pos): Same.
- (xcoff_reloc_type_fail): Same.
- (xcoff_reloc_type_noop): Same.
- * libxcoff.h : Declare common parts for xcoff64.
- * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
- and complain function tables.
-
-2002-04-28 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
- * elf32-hppa.c (elf32_hppa_final_link): Formatting.
-
-2002-04-26 Alan Modra <amodra@bigpond.net.au>
-
- * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
- * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
-
- * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
- same as the output before calling elf_link_input_bfd.
-
- * coffcode.h (coff_compute_section_file_positions): Set
- section_tail after shuffling section list.
-
-2002-04-24 Christian Groessler <chris@groessler.org>
-
- * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
- addresses are 23bit with a special layout, not plain 32bit
- values. Prevent relocation of immediate values.
-
-2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
-
- * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
- MIPS-16 ASE flags are set, print something to indicate that.
-
-2002-04-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
- under which a plt call stub is used.
- (final_link_relocate): Similarly.
- (allocate_plt_static): Clear h-plabel except when plt entry is
- exclusively used for a plabel.
- (allocate_dynrelocs): Use the above to simplify plt sizing.
- (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
- (elf32_hppa_link_hash_table_create): Init.
- (BL22_RP): Define.
- (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
- (elf32_hppa_check_relocs): Set has_22bit_branch.
-
- * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
- (final_link_relocate): Likewise.
-
-2002-04-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
- search table if some FDE is DW_EH_PE_aligned encoded either.
- (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
-
-2002-04-22 Richard Smith <richard@ex-parrot.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
- (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
- encoded personality.
- (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
- for CIE/FDE removal.
-
-2002-04-20 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
-
-2002-04-20 Alan Modra <amodra@bigpond.net.au>
-
- * archures.c (bfd_lookup_arch): Move the list order comment..
- (struct bfd_arch_info): ..to where it belongs.
- * bfd-in2.h: Regenerate.
-
- * archures.c (bfd_lookup_arch): Add comment on list order.
- (bfd_default_set_arch_mach): Use bfd_lookup_arch.
- * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
- is always at head of list.
-
-2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
- insert_thumb_branch, record_thumb_to_arm_glue): Suppress
- definition of these functions for ARM_WINCE builds as they are
- not used.
- (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
- for ARM_WINCE builds.
-
-2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (bfd_arm_process_before_allocation):
-
-2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * cpu-sh.c (scan_mach): Delete.
- (arch_info_struct): Replace scan_mach with bfd_default_scan.
- (bfd_sh_arch): Likewise.
-
-2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ihex.c (ihex_write_object_contents): Fix check for records
- crossing 64K boundaries.
-
-2002-04-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
- type rather than just assuming entries are ELF.
- * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
- * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
- * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
- rather than elf_link_hash_entry.
-
-2002-04-15 Richard Henderson <rth@redhat.com>
-
- * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
- n32 binaries.
-
-2002-04-15 Michael Snyder <msnyder@redhat.com>
-
- * opncls.c (bfd_close): Write contents if writeable.
- Minor formatting tidy-ups.
-
-2002-04-15 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
-
-2002-04-12 Michael Snyder <msnyder@redhat.com>
-
- * bfd-in.h (bfd_get_section_lma): New access macro.
- Minor white-space fix-up.
-
-2002-04-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
- header pad.
-
-2002-04-09 DJ Delorie <dj@redhat.com>
-
- * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
-
-2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * coffcode.h (coff_read_word): New.
- (coff_compute_checksum): New.
- (coff_apply_checksum): New.
- (coff_write_object_contents): Call coff_apply_checksum () to
- apply checksum to PE image.
-
-2002-04-08 Randolph Chung <tausq@debian.org>
-
- * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
- (elf32_hppa_final_link): Split out sorting logic to..
- * elf-hppa.h (elf_hppa_sort_unwind): ..here.
- (elf_hppa_final_link): Call elf_hppa_sort_unwind.
-
-2002-04-07 Andrew Cagney <ac131313@redhat.com>
-
- * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
- pattern.
- * configure: Re-generate.
-
-2002-04-07 Andrew Cagney <ac131313@redhat.com>
-
- * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
- is greater or equal to 4.3.3.
- * configure: Regenerate.
- Fix PR gdb/344.
-
-2002-04-05 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
- R_CRIS_32_PCREL>: Fix typo in name.
- (cris_elf_check_relocs): Always create .rela.got here when
- R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
- (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
- assume it's created.
-
-2002-04-04 Daniel Jacobowitz <drow@mvista.com>
-
- * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
- * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
- define.
- * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
- * bfd.c (bfd_link_hash_table_free): Define.
- * binary.c (binary_bfd_link_hash_table_free): Define.
- * bout.c (b_out_bfd_link_hash_table_free): Define.
- * coff-rs6000.c (rs6000coff_vec): Include
- _bfd_generic_link_hash_table_free.
- (pmac_xcoff_vec): Likewise.
- * coff64-rs6000.c (rs6000coff64_vec): Likewise.
- (aix5coff64_vec): Likewise.
- * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
- * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
- (bfd_elf32_bfd_link_hash_table_free): Define.
- * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
- (bfd_elf32_bfd_link_hash_table_free): Define.
- * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
- define.
- * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
- * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
- * ieee.c (ieee_bfd_link_hash_table_free): Define.
- * ihex.c (ihex_bfd_link_hash_table_free): Define.
- * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
- (_bfd_generic_link_hash_table_free): Add prototype.
- * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
- * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
- * linker.c (_bfd_generic_link_hash_table_free): New function.
- * mmo.c (mmo_bfd_link_hash_table_free): Define.
- * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
- * oasys.c (oasys_bfd_link_hash_table_free): Define.
- * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
- * som.c (som_bfd_link_hash_table_free): Define.
- * srec.c (srec_bfd_link_hash_table_free): Define.
- * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
- * versados.c (versados_bfd_link_hash_table_free): Define.
- * vms.c (vms_bfd_link_hash_table_free): New function.
- * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
-
- * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
- instead of bfd_alloc.
- * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
- * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
- * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
- * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
- * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
- * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
- * elf.c (_bfd_elf_link_hash_table_create): Likewise.
- * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
- * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
- * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
- * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
- * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
- * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
- * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
- * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
- * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
- * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
- * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
- * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
- * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
- * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
- * linker.c (_bfd_generic_link_hash_table_create): Likewise.
- * m68klinux.c (linux_link_hash_table_create): Likewise.
- * sparclinux.c (linux_link_hash_table_create): Likewise.
- * sunos.c (sunos_link_hash_table_create): Likewise.
- * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
-
- * targets.c: Add _bfd_link_hash_table_free to xvec.
-
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * libcoff.h: Regenerate.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Cope with absolute paths.
- * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * coff-arm.c: Fix copyright date.
- * cpu-h8300.c: Likewise.
- * cpu-i370.c: Likewise.
- * cpu-s390.c: Likewise.
- * cpu-mips.c: Likewise.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * Makefile.am: Add elfxx-mips.c to the known backends.
- (elf32-mips.lo): remove dependency to coff/external.h.
- * Makefile.in: Regenerate.
- * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
- Remove elf32-mips.lo from 64 bit vectors. Update dependencies
- accordingly.
- * configure: Regenerate.
- * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
- (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
- (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
- MIPS specific backend functions.
- * elf32-mips.c: Moved most code to elfxx-mips.c.
- (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
- static.
- (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
- (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
- (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
- (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
- interface to allow selection of the right REL or RELA howto table.
- (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
- static. Let it refuse n32 objects.
- (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
- (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
- (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
- (elf32_mips_ignore_discarded_relocs): Rename from
- _bfd_elf32_mips_ignore_discarded_relocs.
- (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
- (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
- (elf_mips_howto_table_rela): Remove.
- * elf64-mips.c: Moved most code to elfxx-mips.c.
- (bfd_elf64_bfd_reloc_type_lookup): Make static.
- (mips_elf64_rtype_to_howto): New function.
- (mips_elf64_object_p): Likewise.
- (elf64_mips_irix_compat): Likewise.
- * elfxx-mips.c: New file containing common code merged together from
- elf32-mips.c and elf64-mips.c.
- * elfxx-mips.h: New file containing MIPS specific prototypes from
- elf-bfd.h.
- * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
- elf_backend_mips_rtype_to_howto.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * srec.c (MAXCHUNK, Chunk): Revise comments.
- (srec_write_record): Correct buffer size.
- (srec_write_header): Do without intermediate buffer.
- (srec_write_section): Validate Chunk.
- (srec_write_terminator): Pass NULL instead of dummy buffer.
- (srec_write_symbols): Pass file and symbol names directly to
- bfd_bwrite so sprintf won't overflow buffer.
-
-2002-04-03 Jakub Jelinek <jakub@redhat.com>
-
- * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
- PC relative relocs against hidden symbols.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
-
-2002-04-03 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_make_section_from_shdr): When setting section
- LMAs, loop over segments until p_vaddr and p_memsz specify an
- extent enclosing the section.
-
-2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ihex.c (ihex_write_object_contents): Do not allow records to
- cross a 64K boundary - wrap if necessary.
-
-2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
-
- * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
- which caused the returned LWP ID to always be 0.
-
-2002-04-01 Richard Henderson <rth@redhat.com>
-
- * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (elf32_sparc_relocate_section): Use it to figure out when to
- initialize .got entries.
- * elf64-sparc.c: Similarly.
-
-2002-03-28 Alan Modra <amodra@bigpond.net.au>
-
- * linker.c (link_action): Ignore duplicate warning syms.
- (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
- * elflink.h (elf_adjust_dynstr_offsets): Likewise.
- (elf_adjust_dynamic_symbol): Likewise.
- (elf_export_symbol): Likewise.
- (elf_link_find_version_dependencies): Likewise.
- (elf_link_assign_sym_version): Likewise.
- (elf_link_sec_merge_syms): Likewise.
- (elf_link_output_extsym): Likewise.
- (elf_gc_sweep_symbol): Likewise.
- (elf_gc_propagate_vtable_entries_used): Likewise.
- (elf_gc_smash_unused_vtentry_relocs): Likewise.
- (elf_gc_allocate_got_offsets): Likewise.
- (elf_collect_hash_codes): Likewise.
- * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
- * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
- (elf_hppa_remark_useless_dynamic_symbols): Likewise.
- * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
- * elf32-arm.h (elf32_arm_discard_copies): Likewise.
- * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
- (elf_cris_discard_excess_dso_dynamics): Likewise.
- * elf32-hppa.c (clobber_millicode_symbols): Likewise.
- (mark_PIC_calls): Likewise.
- (allocate_plt_static): Likewise.
- (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-i386.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
- * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
- * elf32-mips.c (mips_elf_output_extsym): Likewise.
- (mips_elf_sort_hash_table_f): Likewise.
- (mips_elf_check_mips16_stubs): Likewise.
- * elf32-s390.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf32-sh.c (sh_elf_discard_copies): Likewise.
- * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
- (xstormy16_relax_plt_realloc): Likewise.
- * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
- (elf64_alpha_output_extsym): Likewise.
- * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
- * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
- (mips_elf64_check_mips16_stubs): Likewise.
- (mips_elf64_output_extsym): Likewise.
- * elf64-ppc.c (func_desc_adjust): Likewise.
- (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf64-s390.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
- * elf64-x86-64.c (allocate_dynrelocs): Likewise.
- (readonly_dynrelocs): Likewise.
- * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
- * aoutx.h (aout_link_write_other_symbol): Likewise.
- * cofflink.c (_bfd_coff_write_task_globals): Likewise.
- (_bfd_coff_write_global_sym): Likewise.
- * i386linux.c (linux_tally_symbols): Likewise.
- * m68klinux.c (linux_tally_symbols): Likewise.
- * sparclinux.c (linux_tally_symbols): Likewise.
- * pdp11.c (aout_link_write_other_symbol): Likewise.
- * sunos.c (sunos_scan_dynamic_symbol): Likewise.
- * xcofflink.c (xcoff_build_ldsyms): Likewise.
- (xcoff_write_global_symbol): Likewise.
-
- * cofflink.c (_bfd_coff_final_link): Formatting.
- * cpu-mips.c (mips_compatible): Make static, prototype.
- * elf32-i386.c (elf_i386_check_relocs): Formatting.
- * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
- * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
- * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
- (mips_elf64_final_link): Likewise.
- * elflink.h (elf_link_find_version_dependencies): Remove duplicate
- prototype.
-
-2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
- (SWAP_OUT_RELOC_OFFSET): Define.
-
-2002-03-27 Gregory Steuck <greg@nest.cx>
-
- * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
- terminating NULL if empty symbol table.
- (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
-
-2002-03-26 H.J. Lu (hjl@gnu.org)
-
- * elflink.h (elf_link_input_bfd): Revert the last change since
- the gcc exception handling isn't fixed yet.
-
-2002-03-26 H.J. Lu (hjl@gnu.org)
-
- * elflink.h (elf_link_input_bfd): Complain about relocations
- against local symbols in discarded sections.
-
-2002-03-26 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
-
-2002-03-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
- section file offset for !SEC_LOAD sections.
-
-2002-03-21 Richard Earnshaw <rearnsha@arm.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
- <case R_ARM_GOT>): Handle relocations to Thumb functions.
-
-2002-03-21 Alan Modra <amodra@bigpond.net.au>
-
- * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
- Whitespace changes.
- * archive.c: Update copyright date.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-03-20 Daniel Jacobowitz <drow@mvista.com>
-
- * dwarf2.c (struct funcinfo): Move up.
- (lookup_address_in_function_table): New argument function_ptr.
- Set it.
- (lookup_address_in_line_table): New argument function. If function
- is non-NULL, use it to handle ``addr'' before the first line note of
- the function.
- (comp_unit_find_nearest_line): Update and swap calls to
- lookup_address_in_function_table and lookup_address_in_line_table.
- * syms.c (_bfd_stab_section_find_nearest_line): Use the first
- N_SLINE encountered if we see an N_FUN before any N_SLINE.
-
-2002-03-20 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
- _bfd_xcoff_generic_stat_arch_elt. Fix format check.
- * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
-
-2002-03-19 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
- dynamic objects in archives.
-
-2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
- STT_NOTYPE symbols to STT_OBJECT.
-
-2002-03-18 Jan Hubicka <jh@suse.cz>
-
- * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
-
-2002-03-18 Tom Rix <trix@redhat.com>
-
- * aix5ppc.core.c : New file for AIX 5 64 bit core support.
- * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
- * coff-rs6000 (do_pad) : New function for archive padding.
- (do_copy) : New function for object file copying in archives.
- (do_shared_object_padding) : New function for padding shared
- objects to their text section alignment in archives.
- (bfd_xcoff_ar_achive_set_magic) : Stub.
- (xcoff_write_armap_big) : Use do_copy and do_pad.
- (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
- do_copy and do_pad.
- * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
- bfd_xcoff_magic_number.
- (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
- fop.
- (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
- (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
- (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
- * rs6000-core.c : Update copyright date.
- * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
- csectpp.
- * coffcode.h (coff_new_section_hook) : Use new accessor macros.
- (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
- (coff_set_flags) : Use bfd_xcoff_magic_number.
- * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
- * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
- * Makefile.am : Same.
- * config.bfd : Same.
- * targets.c : Same.
- * configure : Regnerate.
- * Makefile.in : Same.
- * bfd-in2.h : Same.
-
-2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-18 Alan Modra <amodra@bigpond.net.au>
-
- * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
- * libbfd.h: Regenerate.
- * archive.c (coff_write_armap): Pass on failures from
- bfd_write_bigendian_4byte_int.
-
-2002-03-14 H.J. Lu <hjl@gnu.org>
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
- error to bfd_error_nonrepresentable_section for reinit_array
- section in DSO.
-
-2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
- OR it in rather than replacing previously selected flags.
-
- * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
- (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
-
-2002-03-14 Alan Modra <amodra@bigpond.net.au>
-
- * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
- (N): Use the above.
- * elflink.h (elf_bfd_final_link): Revert last change. Instead,
- ensure reloc size matches before calling elf_link_input_bfd.
- Add an assert to check reloc size when counting output relocs.
-
-2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
- * mmo.c (mmo_get_loc): Return NULL rather than false.
+2004-01-02 Mark Kettenis <kettenis@gnu.org>
-2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
+ (elf_i386_grok_psinfo): Likewise.
- * po/fr.po: Updated version.
+2004-01-02 Bernardo Innocenti <bernie@develer.com>
-2002-03-13 Alan Modra <amodra@bigpond.net.au>
+ * config.bfd: Add m68k-uClinux target.
- * archures.c (bfd_default_compatible): Test bits_per_word.
- * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
- bfd_default_compatible.
- * cpu-i370.c (i370_compatible): Likewise.
- * cpu-sparc.c (sparc_compatible): Likewise.
- * cpu-h8300.c (compatible): Test in->arch == out->arch.
+2004-01-01 Grant Edwards <grante@visi.com>
- * elflink.h: Formatting fixes.
- (elf_link_output_extsym): Merge undefined and undef weak cases.
-
- * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
- when word size of input matches output word size.
-
-2002-03-12 Andreas Jaeger <aj@suse.de>
-
- * cpu-i386.c (i386_compatible): New. Use it instead of
- bfd_default_compatible.
-
-2002-03-07 H.J. Lu (hjl@gnu.org)
-
- * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
- as the type for bfd_reloc_val.
-
-2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
- (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
- (elf_hppa_final_link_relocate): Correct relocations for indirect
- references to local data through the DLT. Fix .opd creation for
- local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
- relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
- R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
- "Processor-Specific ELF for PA_RISC, Version 1.43" document.
- Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
- * elf32-hppa.c (final_link_relocate): Revise relocation selectors
- as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
-
-2002-03-05 Jakub Jelinek <jakub@redhat.com>
-
- * merge.c (_bfd_merge_sections): Don't segfault if there
- is nothing to merge due to GC.
-
-2002-03-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
- symbols that have been forced local.
-
- * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
- to output forced local syms for non-shared link.
- (elf_link_output_extsym): Tweak condition for calling backend
- adjust_dynamic_symbol so that previous behaviour is kept.
- Whitespace changes throughout file.
-
-2002-03-04 H.J. Lu <hjl@gnu.org>
-
- * elf.c (bfd_section_from_shdr): Handle special sections,
- .init_array, .fini_array and .preinit_array.
- (elf_fake_sections): Likewise.
-
- * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
- DT entry only if the section is in output for .init_array,
- .fini_array and .preinit_array. Complain about .preinit_array
- section in DSO.
- (elf_bfd_final_link): Warn zero size for .init_array,
- .fini_array and .preinit_array sections.
-
- * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
- SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
- (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
- .preinit_array.
-
-2002-03-04 Alan Modra <amodra@bigpond.net.au>
-
- * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
- * configure: Regenerate.
-
-2002-03-02 Tom Rix <trix@redhat.com>
-
- * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
- symbolic equiv.
- * coff-rs6000.c (xcoff_howto_table): Same.
-
-2002-03-01 David Mosberger <davidm@hpl.hp.com>
-
- * elflink.h (size_dynamic_sections): If section named
- ".preinit_array" exists, create DT_PREINIT_ARRAY and
- DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
- ".init_array" and ".fini_array".
- (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
- DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
- DT_FINI_ARRAY.
-
-2002-02-26 Andrew Macleod <amacleod@cygnus.com>
-
- * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
- dynsyms.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-hppa.h: Update copyright date.
-
- * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
- (ppc64_elf_relocate_section): Don't generate power4 style branch
- hints for *_BRTAKEN and *_BRNTAKEN relocs.
-
-2002-02-22 Jakub Jelinek <jakub@redhat.com>
-
- * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
- last patch.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
-
-2002-02-21 Andreas Jaeger <aj@suse.de>
-
- * elf64-x86-64.c: Major rework that introduces all recent changes
- to the x86-64 backend. Get a closer match to elf32-i386.
- (struct elf64_x86_64_dyn_relocs): Rename from
- elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
- all users.
- (struct elf64_x86_64_link_hash_table): Add short cuts to some
- sections.
- (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
- remove casts, initialize new hash members.
- (create_got_section): New.
- (elf64_x86_64_create_dynamic_sections): New.
- (elf64_x86_64_copy_indirect_symbol): New.
- (elf64_x86_64_check_relocs): Don't allocate space for dynamic
- relocs, .got or .relgot here but do it in allocate_dynrelocs.
- Reference count possible .plt and .got entries. Don't test input
- section SEC_READONLY here to try to avoid copy relocs, and keep
- dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
- DF_TEXTREL here. Delay setting of variables until needed. Cache
- pointer to "sreloc" section in elf_section_data. Tweak condition
- under which .got created. Report files with bad relocation
- section names.
- (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
- Reference count possible .plt entries. Don't deallocate .got and
- .relgot space here.
- (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
- do copy reloc processing for weakdefs. Remove redundant casts and
- aborts. Delay setting of vars until needed. Move creation of
- dynamic symbols and allocation of .plt and .rela.plt to
- allocate_dynrelocs. Replace BFD_ASSERT with abort.
- (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
- (allocate_dynrelocs): New.
- (readonly_dynrelocs): New.
- (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
- Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
- Zero out the dynamic allocated content space.
- (elf64_x86_64_discard_copies): Removed.
- (elf64_x86_64_relocate_section): Make use of dynamic section
- short-cuts. Localise vars, and delay setting. Better error
- reporting, replace BFD_ASSERT with abort. Check
- ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
- regular object file and tread the weak definition as the normal
- one. Don't discard relocs for undefweak or undefined symbols and
- check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
- relocs.
- (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
- symbols that have been forced local. Use same test to decide if
- we can use a relative reloc for got as relocate_section. Expand
- SHN_UNDEF comment. Move expressions out of function calls.
- Replace BFD_ASSERT with abort.
- (bfd_elf64_bfd_final_link): Removed.
- (elf_backend_copy_indirect_symbol): Define.
-
-2002-02-20 Tom Rix <trix@redhat.com>
-
- * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
- (_bfd_xcoff_reloc_type_lookup): Use it.
- * coff64-rs6000.c (xcoff64_howto_table): Same.
- (xcoff64_reloc_type_lookup): Same.
-
-2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
-
- * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
- little endian.
-
-2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
- (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
- * bfd-in2.h: Regenerate.
- * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
- Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
- with "s390:64-bit".
- * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
- (elf_s390_reloc_type_lookup): Likewise.
- (elf_s390_check_relocs): Likewise.
- (elf_s390_gc_sweep_hook): Likewise.
- (elf_s390_relocate_section): Likewise.
- (elf_s390_object_p): Use renamed architecture define.
- * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
-
-2002-02-19 Frank Ch. Eigler <fche@redhat.com>
-
- * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
-
-2002-02-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
- absptr -> pcrel optimization for shared libs.
- Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
- library cannot be converted to pcrel.
- (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
- relative.
- * elf32-i386.c (elf_i386_relocate_section): If
- _bfd_elf_section_offset returned -2, skip, but make sure the
- relocation is installed.
- * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
- * elf32-cris.c (cris_elf_relocate_section): Likewise.
- * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
- * elf32-i370.c (i370_elf_relocate_section): Likewise.
- * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
- * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
- * elf32-s390.c (elf_s390_relocate_section): Likewise.
- * elf32-sh.c (sh_elf_relocate_section): Likewise.
- * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
- * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
- * elf64-s390.c (elf_s390_relocate_section): Likewise.
- * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
- * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
- * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
- * elf64-alpha.c (elf64_alpha_relocate_section): Handle
- _bfd_elf_section_offset returning -2 the same way as -1.
- * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
- * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
- and BFD_ASSERT.
- * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
-
-2002-02-18 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
- (bfd_xcoff_size_dynamic_sections): Same.
- * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
- (bfd_xcoff_size_dynamic_sections): Same.
- * coff-rs6000.c (xcoff_generate_rtinit): Same.
- * coff-rs646000.c (xcoff64_generate_rtinit): Same.
- * libxcoff.h (struct xcoff_backend_data_rec): Same.
- * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
- * bfd-in2.h: Regenerate.
-
-2002-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
- (struct ppc_link_hash_table): Add sfpr.
- (ppc64_elf_link_hash_table_create): Init it.
- (ppc64_elf_create_dynamic_sections): Split creation of .stub and
- .glink out to..
- (create_linkage_sections): ..here. Make .sfpr too.
- (ppc64_elf_check_relocs): Call create_linkage_sections, and set
- dynobj early.
- (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
- (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
- ._restf* functions, and create as needed.
- (func_desc_adjust): Only force_local for shared libs.
-
-2002-02-18 David O'Brien <obrien@FreeBSD.org>
-
- * configure.in: Bump version number post 2.12 branching.
- * configure: Regenerate.
-
-2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmo.c: Correct and improve comments.
- (mmo_write_chunk): Store trailing byte in bfd buffer; don't
- zero-pad. Use input to fill up non-empty bfd buffer.
- (mmo_flush_chunk): New function.
- (mmo_write_loc_chunk): Add parameter last_vmap, all callers
- changed. Don't emit location specifier if VMA is same as
- *LAST_VMAP after omitting leading zero contents. Call
- mmo_flush_chunk before emitting location specifier.
- (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
- with mmo_write_loc_chunk calls.
- (mmo_internal_write_section): Call mmo_flush_chunk after
- mmo_write_chunk.
- (mmo_write_symbols_and_terminator): Move :Main to first position
- in symbol array. Add faked one if it does not exist if there are
- other symbols. Don't add it if there are no symbols at all. Move
- out test for value of :Main from symbol loop. Rename table
- fakemain to maintable and variable mainsym to fakemain.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
- section with no got matches any got. Simplify error generaion.
-
-2002-02-15 Alan Modra <amodra@bigpond.net.au>
-
- Support arbitrary length fill patterns.
- * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
- (_bfd_default_link_order): Remove bfd_fill_link_order code.
- Call default_data_link_order.
- (default_fill_link_order): Delete.
- (default_data_link_order): New function.
- * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
- of bfd_fill_link_order with bfd_data_link_order.
- * elf64-alpha.c (elf64_alpha_final_link): Likewise.
- * elf64-mips.c (mips_elf64_final_link): Likewise.
-
- * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
- Correct value returned in "end" for "0x<non-hex>".
-
-2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
- (scan): Test against 'mach' field in info structure.
-
-2002-02-14 Alan Modra <amodra@bigpond.net.au>
-
- * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
-
-2002-02-14 Matt Fredette <fredette@netbsd.org>
-
- * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
- EF_M68000.
-
-2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
- non-zero physical addresses when adjusting the LMAs of new
- sections.
-
-2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
- from _bfd_elf_hppa_gen_reloc_type.
- (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
- * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
- * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
- * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
-
-2002-02-12 Alexandre Oliva <aoliva@redhat.com>
-
- * elf-m10300.c (mn10300_elf_relax_section): Skip section before
- loading its contents if there's nothing to do in it.
-
-2002-02-12 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
- 64k boundary.
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
- DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
- (ppc64_elf_finish_dynamic_sections): Set values for them.
-
-2002-02-11 Michael Snyder <msnyder@redhat.com>
-
- * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
- * elf.c (elfcore_grok_pstatus): Add prototype.
- (elfcore_grok_lwpstatus): Add prototype.
- (elfcore_write_lwpstatus): New function.
- (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
-
-2002-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- * elf32-sh.c: Added missing prototypes.
- * elf32-sh64.c: Likewise.
- (sh_elf_align_loads): Mark unused args as such.
- * elf64-sh64.c: Added missing prototypes.
- (struct elf_sh64_link_hash_entry): Fix typo.
- (sh_elf64_relocate_section): Fix info argument passed to
- _bfd_elf_section_offset.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: "make dep-am".
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
-
-2002-02-10 Daniel Jacobowitz <drow@mvista.com>
-
- * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
- variable warnings.
- * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
- comparison warning.
- * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
- cast warnings for the common case.
-
-2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
- vectors.
- (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
- vectors.
-
-2002-02-09 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
- (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
- (elf64_alpha_relocate_section): Likewise.
- * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
- * bfd-in2.h, libbfd.h: Rebuild.
-
-2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
- that base-plus-offset reloc accounting is consistent.
- (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
- up to date for undefined symbols.
-
-2002-02-08 Eric Christopher <echristo@redhat.com>
-
- From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
- sections for the O32 ABI.
-
-2002-02-08 Chris Demetriou <cgd@broadcom.com>
-
- * elf32-arm.h: Fix formatting of _("...").
- * elf32-d10v.c: Likewise.
- * elf32-m68k.c: Likewise.
- * elf32-mips.c: Likewise.
-
-2002-02-08 Ivan Guzvinec <ivang@opencores.org>
-
- * coff-or32.c: Fix compile time warning messages.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
- * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
- R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
- R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
- R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
- R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
- R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
- R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
- R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
- R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
- New relocs.
- * libbfd.h, bfd-in2.h: Rebuilt.
- * elf32-sh.c (sh_elf_howto_table): Define new relocs.
- (sh_reloc_map): Map them.
- (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
- elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
- elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
- elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
- elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
- elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
- movi_shori_putval) [INCLUDE_SHMEDIA]: New.
- (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
- datalabel_got_offset.
- (sh_elf_link_hash_newfunc): Initialize it.
- (sh_elf_relocate_section): Augment the scope of
- seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
- GOT and GOTOFF handling to new SHmedia relocation types. Support
- GOT_BIAS.
- (sh_elf_check_relocs): Likewise.
- (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
- PLT entries using movi_shori_putval. Support GOT_BIAS.
- (sh_elf_finish_dynamic_sections): Likewise.
- * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
- relocation, it's now done by the caller.
- (GOT_BIAS): New.
- * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
- elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
- elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
- elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
- elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
- elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
- sh64_elf64_hash_table): New.
- (sh_elf64_howto_table): Introduce new relocs.
- (sh_elf64_info_to_howto): Accept new PIC relocs.
- (sh_elf64_relocate_section): Augment the scope of
- seen_stt_datalabel. Support new PIC relocs.
- (sh_elf64_check_relocs): Support new PIC relocs.
- (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
- elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
- elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
- elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
- sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
- movi_shori_putval, movi_3shori_putval,
- sh64_elf64_create_dynamic_sections,
- sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
- sh64_elf64_size_dynamic_sections,
- sh64_elf64_finish_dynamic_symbol,
- sh64_elf64_finish_dynamic_sections): New.
- (elf_backend_create_dynamic-sections,
- bfd_elf64_bfd_link_hash_table_create,
- elf_backend_adjust_dynamic_symbol,
- elf_backend_size_dynamic_sections,
- elf_backend_finish_dynamic_symbol,
- elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
- elf_backend_plt_readonly, elf_backend_want_plt_sym,
- elf_backend_got_header_size, elf_backend_plt_header_size):
- Define.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * elf32-sh.c: Renumbered and renamed some SH5 relocations to
- match official numbers and names; moved unmaching ones to the
- range 0xf2-0xff.
- * elf32-sh64.c, elf64-sh64.c: Likewise.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
- sections.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
- be aligned.
- * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
- 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
- (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
- .cranges section with SEC_SORT_ENTRIES set.
- (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
- incoming sorted .cranges section.
- (sh64_bfd_elf_copy_private_section_data): New.
- (sh64_elf_final_write_processing): Only sort .cranges and modify
- start address if called by linker.
- 2001-01-08 Ben Elliston <bje@redhat.com>
- * elf32-sh64.c (sh64_elf_final_write_processing): Activate
- Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
- * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
- line. Add comments before all entries.
- <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
- comment.
- (sh_elf64_reloc): Correct head comment.
- (sh_elf64_relocate_section): Correct spacing.
- <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
- instead call reloc_dangerous callback.
- <case R_SH_SHMEDIA_CODE>: New case.
- (sh_elf64_gc_mark_hook): Correct spacing.
- (sh_elf64_check_relocs): Ditto.
- * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
- New case.
- * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
- functions.
- (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
- clarify describing comment. Add comments before all entries.
- (sh_elf_relocate_section) <relocating for a local symbol>: Do not
- honour STO_SH5_ISA32; instead call reloc_dangerous callback.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- Sort .cranges section in final link. Prepare to set bit 0 on
- entry address.
- * elf32-sh64.c (struct sh64_find_section_vma_data): New.
- (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
- (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
- .cranges section.
- (sh64_backend_section_from_shdr): New, to recognize
- SHT_SH5_CR_SORTED on incoming .cranges section.
- (elf_backend_section_from_shdr): Define.
- (sh64_elf_final_write_processing): Sort outgoing .cranges
- section. (New, temporarily disabled:) Set bit 0 on entry address
- according to ISA type.
- (sh64_find_section_for_address): New.
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
- crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
- (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
- bfd_malloc, not xmalloc.
- (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
- global.
- * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
- temporarily disabled) setting bit 0 on entry address.
- (elf_backend_final_write_processing): Define.
- 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
- be a proper relocation for PTA and PTB rather than a marker.
- <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
- R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
- R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
- Zero src_mask.
- * elf64-sh64.c: Ditto.
- (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
- * elf32-sh64.c: Include opcodes/sh64-opc.h
- (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
- argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
- parameters. No unused parameters. Caller changed.
- <case R_SH_PT_16>: New case.
- * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
- * Makefile.in: Regenerate.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
- all code sections.
- (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
- (sh64_elf_merge_private_data): Ditto.
- * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
- to access stored section flags.
- (sh64_elf_final_write_processing): Return immediately unless
- called by linker. Use sh64_elf_section_data (cranges) to get size
- of linker-generated cranges entries.
- (sh64_elf_copy_private_data): Add missing "return true".
- (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
- (sh_elf64_merge_private_data): Ditto.
- 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
- elf64-sh64.c:sh64_elf_fake_sections.
- (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
- 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
- (sh64_elf_final_write_processing): New.
- (elf_backend_final_write_processing): Define.
- (sh64_elf_fake_sections): Get header flags from tdata field.
- (sh64_elf_copy_private_data): Do not call
- sh64_elf_copy_private_data_internal, just copy e_flags field.
- (sh64_elf_merge_private_data): Do not call
- sh64_elf_copy_private_data_internal.
- 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
- Remove EF_SH64_ABI64, let ELF size make difference.
- Remove SH64-specific BFD section flag.
- * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
- containing SHmedia through elf_section_data (asect)->tdata
- non-zero, not using a BFD section flag.
- (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
- (sh64_elf_merge_private_data): Similar.
- (elf_backend_section_flags): Don't define.
- (sh64_elf_backend_section_flags): Delete.
- * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
- not EF_SH64_ABI64.
- (sh_elf64_merge_private_data): Similar.
- * section.c (Section flags definitions): Don't define
- SEC_SH_ISA_SHMEDIA.
- (bfd-in2.h): Regenerate.
- 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
- Make DataLabel references work with partial linking.
- * elf32-sh64.c: Fix formatting.
- (sh64_elf_link_output_symbol_hook): New.
- (elf_backend_link_output_symbol_hook): Define to
- sh64_elf_link_output_symbol_hook.
- (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
- undefined if partial linking. Adjust sanity check.
- * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
- (elf_backend_link_output_symbol_hook): Define to
- sh64_elf64_link_output_symbol_hook.
- (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
- undefined if partial linking. Adjust sanity check.
- 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
- Implement semantics for inter-file DataLabel references.
- * elf64-sh64.c (DATALABEL_SUFFIX): Define.
- (sh64_elf64_add_symbol_hook): New.
- (sh_elf64_relocate_section): If passing an indirect symbol with
- st_type STT_DATALABEL on the way to a symbol with st_other
- STO_SH5_ISA32, do not bitor 1 to the relocation.
- (elf_backend_add_symbol_hook): Define to
- sh64_elf64_add_symbol_hook.
- * elf64-sh32.c: Tweak comments.
- (DATALABEL_SUFFIX): Define.
- (sh64_elf_add_symbol_hook): New.
- (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
- * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
- symbol with st_type STT_DATALABEL on the way to a symbol with
- st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
- 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
- Pass through STT_DATALABEL.
- * elf32-sh64.c (sh64_elf_get_symbol_type): New.
- (elf_backend_get_symbol_type): Define.
- * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
- (elf_backend_get_symbol_type): Define.
- 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c: Tweak comments.
- (sh64_elf_copy_private_data_internal): Add prototype.
- (bfd_elf32_bfd_set_private_flags): Define.
- (sh64_elf_copy_private_data_internal): Compare machine name, not
- textual BFD target name, to check whether to copy section flag
- SHF_SH5_ISA32.
- (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
- Tweak section-contents-type-mismatch message.
- (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
- Validize reloc-types.
- * elf64-sh64.c: New file.
- * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
- * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
- (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
- Regenerate dependencies.
- * Makefile.in: Regenerate.
- * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
- bfd_elf64_sh64l_vec.
- * configure.in: Handle bfd_elf64_sh64_vec and
- bfd_elf64_sh64l_vec.
- * configure: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
- anything else but EF_SH64 and EF_SH64_ABI64.
- (sh64_elf_merge_private_data): Emit error for anything else but
- EF_SH64 and EF_SH64_ABI64.
- * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
- from targ_selvecs.
- * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
- bfd_elf32_sh64l_vec as a temporary measure.
- * configure: Regenerate.
- 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
- * cpu-sh.c (arch_info_struct): Include sh5 item
- unconditionalized.
- * config.bfd (sh64-*-elf*): Do not set targ_cflags.
- Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
- bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
- * elf32-sh64.c: Tweak comments.
- (sh64_elf_set_mach_from_flags): Recognize all machine flags that
- are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
- (sh64_elf_copy_private_data_internal): Wrap long line.
- (sh64_elf_merge_private_data): Rewrite to allow objects from
- SH64 subsets to be linked together.
- (INCLUDE_SHMEDIA): Define.
- * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
- Parenthesize plus-expression inside or-expression.
- <global symbol>: Ditto.
- (sh_elf_set_mach_from_flags): Remove code refusing
- deleted EF_SH64_32BIT_ABI flag.
- 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
- * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
- (sh_elf_relocate_section) <local symbol>: Or 1 in
- calculation of relocation if sym->st_other & STO_SH5_ISA32.
- <global symbol>: Ditto if h->other & STO_SH5_ISA32.
- * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
- relocation.
- 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
- Regenerate dependencies.
- * Makefile.in: Regenerate.
- * archures.c: Add bfd_mach_sh5.
- * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
- Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
- * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
- * configure: Regenerate.
- * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
- BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
- BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
- BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
- BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
- BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
- BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
- BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
- BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
- * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
- in item for SH5.
- * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
- for SHmedia relocs.
- [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
- [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
- shmedia_prepare_reloc, goto final_link_relocate if it returns
- non-zero, else fail as before.
- (sh_elf_set_mach_from_flags): Provide function only if not defined
- as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
- (sh_elf_set_private_flags): Provide function only if not defined
- as a macro.
- (sh_elf_copy_private_data): Similar.
- (sh_elf_merge_private_data): Similar.
- * section.c (SEC_SH_ISA_SHMEDIA): New.
- * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
- * elf32-sh64.c: New file.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/bfd.pot: Regenerate.
- * bfd-in2.h: Regenerate.
- * libbfd.h: Regenerate.
-
-2002-02-07 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
- been included, not drag it in.
- * bfd-in2.h: Regenerate.
-
-2002-02-06 H.J. Lu (hjl@gnu.org)
-
- * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
- the mach and ISA fields if necessary.
-
-2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
-
- * coffcode.h (coff_set_arch_mach_hook): Select the highest known
- ARM architecture when an F_ARM_5 flag is detected, since we cannot
- be sure exactly which architecture this represents.
-
-2002-02-05 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Updated translation.
-
-2002-02-05 Alan Modra <amodra@bigpond.net.au>
-
- From Jimi X <jimix@watson.ibm.com>
- * archures (bfd_mach_ppc64): Define.
- (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
- (bfd_powerpc_arch): Define.
- * bfd-in2.h: Regenerate.
- * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
- (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
- (bfd_powerpc_archs): Add default powerpc64 arch.
-
-2002-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
- against section syms in readonly sections. Don't do the global
- sym check if we find one.
- * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
- * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
- * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
- * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
- (elf_s390_grok_prstatus): Add missing prototype.
-
-2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
-
- * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
- (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
- Call bfd_get_section_by_name only once. Initialize
- bpodata->n_bpo_relocs_this_section.
- (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
- referring to DSOs.
- (bpo_reloc_request_sort_fn): Don't use difference of values as
- return-value.
-
-2002-02-02 David O'Brien <obrien@FreeBSD>
-
- * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
- version 4.5 and later the same as 5-CURRENT.
- * configure: Re-generate.
-
-2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (hppa*-*-netbsd*): New target.
-
-2002-01-31 Philipp Thomas <pthomas@suse.de>
-
- * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
- to front of message. Unify messages with elf32-arm.h. Use
- commas where neccessary.
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
- ERROR in messages. Unify messages with coff-arm.c. Correct
- VFP/FPA error message.
- (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
- APCS-32 for translation.
-
-2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
-
- Perform on-demand global register allocation from
- R_MMIX_BASE_PLUS_OFFSET relocs.
- * elf64-mmix.c (struct bpo_reloc_section_info, struct
- bpo_reloc_request, struct bpo_greg_section_info): New.
- (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
- bpo_reloc_request_sort_fn, mmix_elf_relax_section,
- _bfd_mmix_check_all_relocs,
- _bfd_mmix_prepare_linker_allocated_gregs,
- _bfd_mmix_finalize_linker_allocated_gregs): New functions.
- (elf_mmix_howto_table): Correct src_mask for most relocs.
- (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
- case.
- (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
- case. Fix typo in comment. New label do_mmix_reloc.
- (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
- store first object file with a base-plus-offset reloc. Call
- mmix_elf_check_common_relocs for the part common with mmo.
- (mmix_elf_final_link): Write out linker-allocated register
- contents section.
+ * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
+ * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
+ (elf32_h8_gc_sweep_hook): New function.
+ (elf_backend_gc_mark_hook): Define.
(elf_backend_gc_sweep_hook): Define.
- (bfd_elf64_bfd_relax_section): Define.
-
- * mmo.c: Don't include <ctype.h>
- (mmo_init): Correct init-once logic.
-
-2002-02-01 Tom Rix <trix@redhat.com>
-
- * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
-
-2002-01-31 David O'Brien <obrien@FreeBSD>
-
- * configure.in: Recognize the differences in core files from FreeBSD
- 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
- 5-CURRENT.
- * configure: Regenerate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * coff-or32.c: New file.
- * cpu-or32.c: New file.
- * elf32-or32.c: New file.
- * archures.c: Add support for or32.
- * targets.c: Add support for or32.
- * bfd-in2.h: Regenerate.
- * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
- coff_write_object_contents): Add support for or32.
- * config.bfd: Add target.
- * configure.in: Add support for or32.
- * configure: Regenerate.
- * Makefile.am: Add support for or32.
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Add or32 files.
- * po/bfd.pot: Regenerate.
-
-2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
- Don Lindsay <lindsayd@cisco.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
- false' with a return of a bfd_reloc_ error code.
-
-2002-01-31 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
- unexport unreferenced symbols when --export-dynamic. Call
- _bfd_elf_strtab_delref when unexporting.
-
-2002-01-30 Daniel Jacobowitz <drow@mvista.com>
-
- * bfd-in.h: Include <stdbool.h> if it is available.
- * bfd-in2.h: Regenerated.
-
-2002-01-31 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
- not go via the plt.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * archures.c: Tidy up formatting of embedded comments.
- * bfd.c: Tidy up formatting of embedded comments.
- * bfd-in.h: Fix formatting of comments.
- * reloc.c: Tidy up formatting of ordinary & embedded comments.
- * section.c: Tidy up formatting of embedded comments.
- * syms.c: Tidy up formatting of embedded comments.
- * targets.c: Tidy up formatting of embedded comments.
-
- * bfd-in2.h: Regenerate.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * vms-tir.c (cmd_name): New function.
- (tir_cmd_name): New function.
- (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
- (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
- Fix formatting.
-
- * peXXigen.c (pe_print_idata): Rearrange message to aid in
- translation.
- (pe_print_pdata): Rearrange message to aid in translation.
-
- * libbfd.c (warn_deprecated): Rearrange error message to aid in
- translation.
-
- * ihex.c (ihex_write_object_contents): Fix spelling typo.
-
- * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
-
- * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
- message to aid in translation.
-
- * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
- to aid in translation.
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
-
-2002-01-30 Philipp Thomas <pthomas@suse.de>
-
- * coff-arm.c, elf32-elf.h: Unify messages.
-
-2002-01-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated translation.
-
-2002-01-30 Philipp Thomas <pthomas@suse.de>
-
- * dwarf2.c (read_abbrev): Use full section name in error message.
- (decode_line_info): Likewise.
-
- * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
- message.
-
-2002-01-30 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (func_desc_adjust): Only provide missing function
- descriptor symbols for undefined function code syms. Clear
- ELF_LINK_NON_ELF so that they can stay weak.
-
-2002-01-29 Chris Demetriou <cgd@broadcom.com>
- Mitch Lichtenberg <mpl@broadcom.com>
-
- * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
- * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
- to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
- generation.
- * bfd-in2.h: Regenerate.
-
-2002-01-29 Chris Demetriou <cgd@broadcom.com>
-
- * elf32-mips.c: Add additional comments about HI16 relocation
- processing.
- (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
- pc-relative relocations. (Reverts change made on 2001-10-31.)
- (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
- for pc-relative relocations.
- (mips_elf_calculate_relocation): Add a comment about a kludge
- in the R_MIPS_GNU_REL_HI16 handling.
- (_bfd_mips_elf_relocate_section): Implement that kludge;
- adjust pc-relative HI16 relocation for difference in HI16 and
- LO16 addresses, since it can't easily be done in
- mips_elf_calculate_relocation.
-
-2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
- relocations with PC32 relocations for undefined or weak symbols.
- * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
- * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
-
-2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elfcore.h (elf_core_file_p): Improve comment for last change.
-
-2002-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure: Regenerated.
-
-2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elfcore.h (elf_core_file_p): Set the machine architecture
- before processing the program headers.
-
-2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- * configure.in <64-bit configuration>: If using gcc, check and
- emit error for egcs-1.1.2.
- * configure: Regenerate.
-
-2002-01-26 Egor Duda <deo@logos-m.ru>
-
- * elf.c (elfcore_grok_win32pstatus): Copy only as much information
- as possible to avoid stack corruption.
-
-2002-01-26 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
- for non-allocated sections.
-
-2002-01-25 Mark Kettenis <kettenis@gnu.org>
-
- * elf.c (elfcore_write_prstatus): Make sure we pass the address of
- prstat.pr_reg even if it is a struct.
-
-2002-01-25 Steve Ellcey <sje@cup.hp.com>
-
- * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
-
-2002-01-25 Philipp Thomas <pthomas@suse.de>
-
- * coffgen.c (coff_print_symbol): Don't mark info message
- for translation.
-
-2002-01-25 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated translation.
- * po/es.po: Updated translation.
-
-2002-01-25 Philipp Thomas <pthomas@suse.de>
-
- * coff-alpha.c (alpha_relocate_section): Unify warning message
- for GP relative relocations without GP defined.
- * coff-mips.c (mips_relocate_section): Likewise.
-
-2002-01-25 Alan Modra <amodra@bigpond.net.au>
-
- * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
- unsigned overflow when new_offset < old_offset.
-
-2002-01-24 Philipp Thomas <pthomas@suse.de>
-
- * bfd.c (_bfd_abort): Fix typo.
-
-2002-01-23 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
- plt entries for undefweak symbols.
-
-2002-01-23 Steve Ellcey <sje@cup.hp.com>
-
- * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
- (bfd_elf64_ia64_hpux_big_vec): Ditto.
- (bfd_elf32_h8300_vec): Ditto.
-
-2002-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c: Remove stale part of ABI comment.
- (NO_OPD_RELOCS): Define.
- (ppc64_elf_check_relocs): Use it.
- (ppc64_elf_relocate_section): Here too.
- (build_one_stub): Don't point function syms at the stub. Instead,
- hijack plt.offset.
- (ppc64_elf_relocate_section): Check whether REL24 relocs should
- really go to the stub. Make all dynamic relocs in opd against
- locals.
- (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
- plt.offset.
-
-2002-01-22 Richard Henderson <rth@redhat.com>
-
- * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
-
-2002-01-22 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
- TOC_BASE_OFF adjustment.
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/SRC-POTFILES.in: Regenerate.
-
-2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
- host defines.
-
-2002-01-21 Hans-Peter Nilsson <hp@axis.com>
-
- * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
- Check for and emit error if sgot is NULL at this point.
-
-2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (ia64*-*-netbsd*): New target.
-
-2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-
- * som.c (som_write_space_strings): Comment typo fix.
-
-2002-01-21 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
- is_func_descriptor fields.
- (link_hash_newfunc): Init them.
- (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
- dot are candidates for plt entries. When processing .opd relocs,
- set function descriptor strings to point inside function code
- string, and set new ppc_link_hash_entry fields.
- (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
- (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
- function descriptors. It's now done in..
- (func_desc_adjust): New.
- (ppc64_elf_func_desc_adjust): New.
- (define elf_backend_always_size_sections): Define.
- (ppc64_elf_hide_symbol): New.
- (define elf_backend_hide_symbol): Define.
- (allocate_dynrelocs): Remove code looking up function descriptors
- as that has been done earlier.
- (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
- table.
- (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
- up function descriptor.
- (build_one_stub): Look up the function code sym. Check for
- invalid plt offsets.
- (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
- Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
-
- * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
- boolean param.
- (_bfd_elf_link_hash_hide_symbol): Likewise.
- * elflink.h (elf_link_add_object_symbols): Adjust call to
- elf_backend_hide_symbol.
- (elf_fix_symbol_flags): Likewise.
- (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
- than bfd_alloc.
- * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
- Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
- * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
- (clobber_millicode_symbols): Adjust to suit new hide_symbol.
- * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
- and adjust to suit.
- * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
- _bfd_elf_link_hash_hide_symbol rather than duplicating code.
- * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
-
-2002-01-18 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
- dynamic function descriptor symbol, not the associated function
- symbol.
-
-2002-01-17 Eric Christopher <echristo@redhat.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
-
-2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/bfd.pot: Regenerate.
- * po/fr.po: Regenerate.
-
-2002-01-17 Alan Modra <amodra@bigpond.net.au>
-
- * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
- Remove "Elf_Internal_Shdr *" param.
- (_bfd_mips_elf_section_from_bfd_section): Ditto.
- * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
- * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
- * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
- * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
- * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
- * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
- function to override special sections. Remove hdr arg from
- backend call, and don't loop.
-
-2002-01-16 Eric Christopher <echristo@redhat.com>
-
- * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
- on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
- relocations requiring gp0 and gp.
-
-2002-01-16 Richard Earnshaw <rearnsha@arm.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
- EF_ARM_VFP_FLOAT.
- (elf32_arm_print_private_bfd_data): Likewise.
-
-2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Import new version.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
- (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
- (ORI_R0_R0_0): Correct.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
- when plt_not_loaded.
- * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
- clear .plt SEC_CODE here. Create .stub and correct .glink flags.
- (PLT_INITIAL_ENTRY_SIZE): Set to 24.
- (ppc64_elf_glink_code): Delete.
- (PPC64_ELF_GLINK_SIZE): Delete.
- (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
- BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
- ORI_R0_R0_0): Define.
- (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
- (struct ppc_link_hash_table): Add sstub and plt_overflow.
- (ppc64_elf_link_hash_table_create): Init them.
- (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
- Don't copy to shared lib.
- (ppc64_elf_check_relocs): Call bfd_set_error on errors.
- (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
- (allocate_dynrelocs <plt>): Don't change function sym here. Make
- room for .stub and .glink code.
- (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
- DT_PPC64_GLINK.
- (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
- bfd_elf64_bfd_final_link.
- (bfd_elf64_bfd_final_link): Don't define.
- (ppc64_elf_size_stubs): New.
- (build_plt_stub): New.
- (build_one_stub): New.
- (ppc64_elf_build_stubs): New.
- (ppc64_elf_relocate_section <toc relocs>): Remove assert.
- (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
- (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
- DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
- case output sections not separate. Adjust DT_RELASZ to not
- include plt relocs. Set reserved got entry. Set got and plt
- entry size.
- (elf_backend_got_header_size): Set to 8.
- * elf64-ppc.h: New file.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
- sections, use bfd_section_list_remove.
- * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
- * elflink.h (elf_link_add_object_symbols): When removing all
- sections, use bfd_section_list_clear.
-
-2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/sv.po: New file: Swedish translation.
- * configure.in (ALL_LINGUAS): Add sv.
- * configure: Regenerate.
-
-2002-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
- * elf.c (merge_sections_remove_hook): New function.
- (_bfd_elf_merge_sections): Pass it as 3rd argument to
- _bfd_merge_sections.
- * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
- * libbfd.h: Rebuilt.
- * merge.c (_bfd_merge_sections): Add remove_hook argument.
- Call remove_hook if a SEC_EXCLUDE section is encountered.
-
-2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
- (xstormy16_reloc_map): Initialise new field with correct howto
- table.
- (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
- howto entry.
-
-2002-01-10 Michael Snyder <msnyder@redhat.com>
-
- * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
- (elfcore_write_pstatus): Use long instead of pid_t;
- * elf-bfd.h: Change prototypes to use long instead of pid_t;
-
-2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
-
- * elf.c: Update copyright years.
- (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
- and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
-
-2002-01-08 Michael Snyder <msnyder@redhat.com>
-
- Add capability to write corefile note sections, for gdb.
- * elf.c (elfcore_write_note): New function.
- (elfcore_write_prpsinfo): New function.
- (elfcore_write_prstatus): New function.
- (elfcore_write_pstatus): New function.
- (elfcore_write_prfpreg): New function.
- (elfcore_write_prxfpreg): New function.
- * elf-bfd.h: Add prototypes for above functions.
-
-2002-01-08 Alexandre Oliva <aoliva@redhat.com>
-
- * elf.c (elf_fake_sections): Propagate errors from
- elf_backend_fake_section.
-
-2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
-
- * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
- (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
- (elf32-sh-nbsd.lo): New rule.
- * Makefile.in: Regenerate.
- * config.bfd (sh*le-*-netbsdelf*): New target.
- (sh*-*-netbsdelf*): New target.
- * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
- (bfd_elf32_shnbsd_vec): New vector.
- (bfd_elf32_shlnbsd_vec): New vector.
- * configure: Regenerate.
- * elf32-sh-nbsd.c: New file.
- * targets.c: Update copyright years.
- (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
- bfd_elf32_shnbsd_vec.
-
-2002-01-07 Aldy Hernandez <aldyh@redhat.com>
-
- * coff-rs6000.c (READ20): Use bfd_scan_vma.
-
-2002-01-07 Geoffrey Keating <geoffk@redhat.com>
-
- * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
- of a symbol in a section that will be deleted.
-
-2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add es.
- * configure: Regenerate.
-
-2002-01-06 Steve Ellcey <sje@cup.hp.com>
-
- * elfxx-ia64.c (is_unwind_section_name): Add target vector as
- argument so we can handle HP-UX specially.
- (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
- (elfNN_hpux_backend_section_from_bfd_section): New for support
- of SHN_IA_64_ANSI_COMMON.
- (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
- (is_unwind_section_name): Add special HP-UX support.
- (elfNN_ia64_section_from_shdr): Add support for more sections.
- (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
- add support for more sections.
- (elfNN_ia64_additional_program_headers): Modify
- is_unwind_section_name call.
- (elfNN_ia64_modify_segment_map): Remove assumption that there is
- only one unwind section in segment.
-
-2002-01-06 Alan Modra <amodra@bigpond.net.au>
-
- * syms.c (_bfd_generic_make_empty_symbol): New function.
- * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
- _bfd_generic_make_empty_symbol.
- * libbfd.h: Regenerate.
- * bfd-in2.h: Regenerate.
- * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
- (hppabsd_core_get_symtab_upper_bound): Don't define.
- (hppabsd_core_get_symtab): Likewise.
- (hppabsd_core_print_symbol): Likewise.
- (hppabsd_core_get_symbol_info): Likewise.
- (hppabsd_core_bfd_is_local_label_name): Likewise.
- (hppabsd_core_get_lineno): Likewise.
- (hppabsd_core_find_nearest_line): Likewise.
- (hppabsd_core_bfd_make_debug_symbol): Likewise.
- (hppabsd_core_read_minisymbols): Likewise.
- (hppabsd_core_minisymbol_to_symbol): Likewise.
- (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
- Formatting fixes.
- * hpux-core.c: Similarly.
- * irix-core.c: Similarly.
- * osf-core.c: Similarly.
- * sco5-core.c: Similarly.
- * binary.c (binary_make_empty_symbol): Remove function, define as
- _bfd_generic_make_empty_symbol.
- * ihex.c (ihex_make_empty_symbol): Likewise.
- * mmo.c (mmo_make_empty_symbol): Likewise.
- * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
- * srec.c (srec_make_empty_symbol): Likewise.
- * versados.c (versados_make_empty_symbol): Likewise.
- * vms.c (_bfd_vms_make_empty_symbol): Remove.
- (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
- * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
- rather than _bfd_vms_make_empty_symbol.
- * vms-misc.c (new_symbol): Likewise.
-
-2002-01-05 Alan Modra <amodra@bigpond.net.au>
-
- * section.c (bfd_section_init): Remove unnecessary initialisations.
- (bfd_section_list_clear): New function.
- (bfd_section_list_remove, bfd_section_list_insert): New macros.
- (_bfd_strip_section_from_output): Use them.
- * coffcode.h (coff_set_alignment_hook): Likewise.
- * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
- * elf64-mips.c (mips_elf64_final_link): Likewise.
- * elf64-mmix.c (mmix_elf_final_link): Likewise.
- * sunos.c (sunos_add_dynamic_symbols): Likewise.
- * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
- * bfd-in2.h: Regenerate.
-
- * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
- rather than doing our own section handling. Clean up after errors
- with bfd_release and bfd_section_list_clear. Handle unexpected
- flags.
- * aoutf1.h (sunos4_core_file_p): Likewise.
- * aix386-core.c (aix386_core_file_p): Likewise.
- * cisco-core.c (cisco_core_file_validate): Likewise.
- * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
- * trad-core.c (trad_unix_core_file_p): Likewise.
-
- * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
- with bfd_release and bfd_section_list_clear.
- * hpux-core.c (hpux_core_core_file_p): Likewise.
- * irix-core.c (irix_core_core_file_p): Likewise.
- * lynx-core.c (lynx_core_file_p): Likewise.
- * osf-core.c (osf_core_core_file_p): Likewise.
- * rs6000-core.c (rs6000coff_core_p): Likewise.
- * sco5-core.c (sco5_core_file_p): Likewise.
-
- * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
- sign extension adjustments without conditionals.
-
-2002-01-04 Jakub Jelinek <jakub@redhat.com>
-
- * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
- CIE at .eh_frame start is removed due to no FDEs referencing it.
-
-2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * config.bfd (x86_64-*-netbsd*): New target.
- * configure.in (x86_64-*-netbsd*): Set COREFILE
- to netbsd-core.lo.
- * configure: Regenerated.
-
-2002-01-03 Tom Rix <trix@redhat.com>
-
- * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
- for recent bfd_make_section_anyway change.
-
-2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_final_link_relocate): Handle
- R_ARM_THM_PC11 reloc.
-
-2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (LINGUAS): Add ja.
- * configure: Regenerate.
- * po/ja.po: Import from translation project's web site.
-
-2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
- messages to ease translation into other languages.
+ (elf_backend_can_gc_sections): Define.
-For older changes see ChangeLog-0001
+For older changes see ChangeLog-0203
Local Variables:
mode: change-log
diff --git a/bfd/ChangeLog-0203 b/bfd/ChangeLog-0203
new file mode 100644
index 0000000000..f99029a87a
--- /dev/null
+++ b/bfd/ChangeLog-0203
@@ -0,0 +1,11405 @@
+2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ Adfd m32r-linux and PIC support. Add new ABI that uses RELA.
+ * config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
+ * configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+ bfd_elf32_m32rle_vec): Added
+ * configure: Regenerated.
+ * elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
+ m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
+ m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
+ allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
+ m32r_elf_fake_sections): Added.
+ (m32r_elf_howto_table): Added
+ R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+ R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+ R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+ R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+ R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+ R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+ R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+ R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+ R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+ R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+ R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+ R_M32R_GOTPC_LO.
+ (m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
+ New ABI.
+ * reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
+ BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
+ BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
+ BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
+ BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
+ BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
+ BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
+ * targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+ bfd_elf32_m32rle_vec): Added.
+ * bfd-in2.h: Regenerated.
+ * libbfd.h: Regenerated.
+
+2003-12-19 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * coffcode.h (styp_to_sec_flags): Don't treat .reloc section
+ as SEC_DEBUGGING.
+
+2003-12-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
+ _bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
+ _bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
+ and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift
+ to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
+ (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+ (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+ (_bfd_mips_elf32_gprel16_reloc): Remove special case.
+ (mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
+
+ * elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
+ _bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
+ for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
+ Change R_MIPS_HI16's rightshift to 16.
+ (mips_elf64_howto_table_rela): Replace all uses of
+ mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
+ Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
+ (mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
+ (mips_elf64_shift6_reloc): Remove special case. Use
+ _bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
+
+ * elfn32-mips.c (prev_reloc_section): Delete.
+ (prev_reloc_address, prev_reloc_addend): Delete.
+ (elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
+ elf64-mips.c
+ (GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
+ (mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+ (mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+ (mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
+ (mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
+ (mips16_jump_reloc, mips16_gprel_reloc): Likewise.
+ (mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND.
+
+ * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
+ _bfd_relocate_contents to install an in-place addend.
+ (mips_hi16): New structure.
+ (mips_hi16_list): Moved from elf32-mips.c.
+ (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
+ (_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
+ (mips_elf_calculate_relocation): Assume addend is unshifted.
+ (_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
+ on top of the usual high-part shift. Don't shift the addend right
+ before calling mips_elf_calculate_relocation.
+
+ * elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
+ (_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
+ (_bfd_mips_elf_generic_reloc): Declare.
+
+2003-12-16 Eric Youngdale <eric@mkssoftware.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
+ prefix character, if they are present.
+
+2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+ Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
+ are set on known section types.
+
+2003-12-12 Nick Clifton <nickc@redhat.com>
+
+ * po/ro.po: Updated translation.
+
+2003-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
+ NULL dyn_h.
+
+2003-12-11 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
+
+2003-12-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
+ Remove casts that were only needed for K&R compatibility.
+
+2003-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
+ "elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
+ Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
+ * elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
+ and pass to output_symbol_hook.
+ (elf_bfd_final_link): Adjust elf_link_output_sym calls.
+ (elf_link_output_extsym): Likewise.
+ (elf_link_input_bfd): Likewise.
+ * elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
+ * elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+ * elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
+ * elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
+ Validate dynh->h against h.
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
+ (link_hash_newfunc): Init it.
+ (adjust_opd_syms): New function.
+ (ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
+ Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
+ (ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
+ (ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
+ (ppc64_elf_output_symbol_hook): New function.
+ (elf_backend_link_output_symbol_hook): Define.
+
+2003-12-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
+ Remove casts that were only needed for K&R compatibility.
+
+2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
+ partial_inplace for these relocs to FALSE for comptability with
+ the MS linker.
+ Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
+ generated by MS linker, and brings the relocation in line the MS
+ PE documentation.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use the
+ need_relax_finalize field in link_info instead of
+ relax_finalizing to check if the relax finalize pass is being
+ done.
+
+2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
+ Change ARM26* to ARM_26* in comments to match definitions.
+ (coff_arm_adjust_symndx): Replace hard-coded constants with
+ appropriate definitions (ARM_26*).
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
+ * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
+ (mn10300_elf_relax_section): Likewise.
+ * nlm32-alpha.c (ONES): Define.
+ (nlm32_alpha_howto_table): Use it to avoid warnings.
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_object_p): Delete.
+ (elf_backend_object_p): Don't define.
+ * elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
+ * elf32-sh.c (sh_elf_object_p): Likewise.
+ * elf32-sparc.c (elf32_sparc_object_p): Likewise.
+ * elf64-alpha.c (elf64_alpha_object_p): Likewise.
+ * elf64-s390.c (elf_s390_object_p): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * archures.c (bfd_mach_m32r2): Add new machine type.
+ * bfd-in2.h: Regenerate.
+ * cpu-m32r.c : Add new machine type.
+ * elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
+ m32r_elf_merge_private_bfd_data): Add support for new machine
+ type.
+
+2003-12-03 Dave Airlie <airlied@linux.ie>
+
+ * config.bfd: Add vax-linux-gnu target.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2003-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
+ bfd_link_hash_entry field "next" -> "und_next".
+ * linker.c (_bfd_link_hash_newfunc): Likewise.
+ (bfd_link_add_undef): Likewise.
+ (_bfd_generic_link_add_archive_symbols): Likewise.
+ (_bfd_generic_link_add_one_symbol): Likewise.
+ * xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+2003-12-02 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add ro.
+ * po/ro.po: New Romanian translation.
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
+
+ * coffcode.h (coff_compute_section_file_positions): Set page_size
+ to 1 instead of 0 in the case file alignment value is zero.
+
+2003-12-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-rs6000.c: Remove ARGSUSED and VARARGS.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * elf32-vax.c: Likewise.
+ * hash.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+ * ihex.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * osf-core.c: Likewise.
+ * pdp11.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * section.c: Likewise.
+ * sunos.c: Likewise.
+ * trad-core.c: Likewise.
+
+2003-12-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
+ * elf.c (_bfd_elf_merge_sections): Adjust to suit.
+ (_bfd_elf_link_just_syms): Likewise.
+ (bfd_elf_get_needed_list): Likewise.
+ (bfd_elf_get_runpath_list): Likewise.
+ (_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
+ * elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
+ creator flavour.
+ (elf32_hppa_set_gp): Look up output sections rather than using htab.
+ * elf32-i960.c: Comment fix. Formatting.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
+ rather than testing creator flavour.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ * elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
+ is_elf_hash_table change. Remove redundant test.
+ (bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
+ testing creator flavour.
+ (elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
+ (_bfd_elf_fix_symbol_flags): Likewise.
+ (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
+ checks. Use is_elf_hash_table rather than testing creator flavour.
+ Use hash_table throughout in place of info->hash.
+ (elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
+ check.
+ (elf_bfd_final_link): Adjust for is_elf_hash_table change.
+ (elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
+ testing creator flavour.
+ (elf_gc_sections): Add is_elf_hash_table check.
+ (elf_gc_common_finalize_got_offsets): Likewise.
+ (elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
+ redundant check.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
+ rather than testing creator flavour.
+
+2003-11-28 Christian Groessler <chris@groessler.org>
+
+ * cpu-z8k.c: Convert to ISO C90.
+ * coff-z8k.c: Likewise.
+
+2003-11-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
+ Add link info argument.
+ * elf32-i370.c (elf_backend_modify_segment_map): Likewise.
+ * elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
+ * elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
+ * elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
+ * elf.c (assign_file_positions_except_relocs,
+ assign_file_positions_for_segments): Likewise. Adjust calls.
+
+2003-11-27 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
+ of the note.
+
+2003-11-26 Daniel Jacobowitz <drow@mvista.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
+ (mips_elf_set_no_stub): New function.
+ (mips_elf_multi_got): Call it.
+ (_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
+ a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
+ use mips_elf_create_dynamic_relocation to deal with any compatibility
+ issues. Store the adjusted addend in the GOT slot.
+
+2003-11-25 Mattias Engdegård <mattias@virtutech.se>
+
+ * stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
+ procesing N_BINCL stabs.
+
+2003-11-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
+ ppc_stub_plt_call to symbols defined in shared libs.
+
+2003-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ (elf_i386_check_relocs): Set it.
+ (elf_i386_finish_dynamic_symbol): If it is not set,
+ clear st_value of SHN_UNDEF symbol.
+
+2003-11-20 Jim Blandy <jimb@redhat.com>
+
+ * cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
+ family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
+
+2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
+ section for reloc output and subtract the output section's address
+ from the addend when converting a relocation into one against a
+ section symbol.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+
+2003-11-18 James E Wilson <wilson@specifixinc.com>
+
+ * elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
+ (elfNN_ia64_size_dynamic_sections): When stripping sections, check
+ for ia64_info->rel_fptr_sec.
+
+2003-11-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
+ size is zero.
+
+2003-11-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Copy
+ ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
+ * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+ * elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
+ (elf_backend_copy_indirect_symbol): Don't define.
+
+2003-11-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
+ GOT entries.
+
+2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
+ to R_390_RELATIVE. Convert the other relocations against local
+ symbols to relocations against the start of the section.
+ * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
+ to R_390_RELATIVE. Convert the other relocations against local
+ symbols to relocations against the start of the section.
+
+2003-11-11 Nick Clifton <nickc@redhat.com>
+
+ * elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
+ info->executable not info->shared to decide if a .interp section
+ should be present.
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
+ * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+ * elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
+ * elflink.h (size_dynamic_sections): Likewise.
+
+2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
+ (_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If
+ found initialise the tls data directory entry.
+
+2003-11-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_install_value): Delete.
+ (shared_stub_entry, stub_entry): Make them arrays of ints.
+ Remove initial branch.
+ (ppc_elf_relax_section): Write one branch around all trampolines
+ instead. Correct bogus R_PPC_PLTREL24 handling. Correct
+ branch range check. Only use shared_stub_entry when shared.
+ Test that branches can reach stubs. Write trampolines out at
+ end so that just one realloc is used. Handle little-endian
+ mode. Move relevant code from ppc_elf_install_value to here.
+ (ppc_elf_relocate_section): Move code handling RELAX32 from
+ ppc_elf_install_value to here.
+
+2003-11-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
+ (ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
+ cases.
+ (shared_stub_entry): Correct opcode.
+ (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
+ (ppc_elf_relocate_section): Handle them.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
+ updated section in case of merged section.
+ * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
+ * elf-hppa.h (elf_hppa_relocate_section): Adjust call.
+ * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section) Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+ * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
+ section for reloc output.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
+ for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
+ return value.
+ * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
+ sec->id.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
+ (elf32_d10v_relocate_section): Use them to handle -r reloc
+ adjustments, and in place of _bfd_elf_rela_local_sym.
+
+ * cpu-iq2000.c (arch_info_struct): Warning fix.
+
+2003-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
+ (elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
+ weakdefs.
+ (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
+ (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
+ NON_GOT_REF.
+ (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
+ SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
+ non-default visibility.
+ (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
+ SYMBOL_CALLS_LOCAL.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
+ * coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
+ * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
+ * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
+ * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
+ * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
+ * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
+
+ * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
+ "dereferencing type-punned pointer" warnings.
+
+ * aout-adobe.c (aout_adobe_set_section_contents): Constify location.
+ * aoutx.h (NAME(aout,set_section_contents)): Ditto.
+ * bfd-in2.h: Regenerate.
+ * binary.c (binary_set_section_contents): Ditto.
+ * bout.c (b_out_set_section_contents): Ditto.
+ * coff-tic54x.c (tic54x_set_section_contents): Ditto.
+ * coffcode.h (coff_set_section_contents): Ditto.
+ * ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
+ * elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
+ * elf.c (_bfd_elf_set_section_contents): Ditto.
+ * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
+ * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
+ * i386msdos.c (msdos_set_section_contents): Ditto.
+ * ieee.c (ieee_set_section_contents): Ditto.
+ * ihex.c (ihex_set_section_contents): Ditto.
+ * libaout.h (NAME(aout,set_section_contents)): Ditto.
+ * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
+ (_bfd_generic_set_section_contents): Ditto.
+ * libbfd.h: Regenerate.
+ * libbfd.c (_bfd_generic_set_section_contents): Ditto.
+ * libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
+ * libnlm.h (nlmNAME(set_section_contents)): Ditto.
+ (struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
+ * mmo.c (mmo_set_section_contents): Ditto.
+ * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
+ * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
+ * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
+ * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
+ * nlmcode.h (nlm_set_section_contents): Ditto.
+ * oasys.c (oasys_set_section_contents): Ditto.
+ * pdp11.c (NAME(aout,set_section_contents)): Ditto.
+ * ppcboot.c (ppcboot_set_section_contents): Ditto.
+ * srec.c (srec_set_section_contents): Ditto.
+ * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
+ * tekhex.c (tekhex_set_section_contents): Ditto.
+ (move_section_contents): Ditto.
+ * versados.c (versados_set_section_contents): Ditto.
+ * vms-misc.c (_bfd_save_vms_section): Ditto.
+ * vms.c (vms_set_section_contents): Ditto.
+ * vms.h (_bfd_save_vms_section): Ditto.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
+ rather than htab.
+ (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
+ relbrlt size.
+ (ppc64_elf_build_stubs): Allocate space for relbrlt.
+
+2003-11-04 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (_bfd_elf_tls_setup): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (struct elf_link_tls_segment): Delete.
+ (struct elf_link_hash_table): Add tls_sec and tls_size.
+ * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
+ * elflink.c (_bfd_elf_tls_setup): New function.
+ * elflink.h (struct elf_final_link_info): Remove first_tls_sec.
+ (elf_bfd_final_link): Don't set first_tls_sec here. Update code
+ saving tls segment info, round segment size up.
+ (elf_link_output_extsym): Adjust code using tls segment info.
+ (elf_link_input_bfd): Likewise.
+ * elf32-i386.c (dtpoff_base, tpoff): Likewise.
+ * elf32-s390.c (dtpoff_base, tpoff): Likewise.
+ * elf32-sh.c (dtpoff_base, tpoff): Likewise.
+ * elf32-sparc.c (dtpoff_base, tpoff): Likewise.
+ * elf64-s390.c (dtpoff_base, tpoff): Likewise.
+ * elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
+ (elfNN_ia64_dtprel_base): Likewise.
+ * elf64-alpha.c (alpha_get_dtprel_base): Likewise.
+ (alpha_get_tprel_base): Likewise.
+ (struct alpha_relax_info): Remove tls_segment.
+ (elf64_alpha_relax_got_load): Adjust invocation of
+ alpha_get_dtprel_base and alpha_get_tprel_base.
+ (elf64_alpha_relax_tls_get_addr): Likewise.
+ (elf64_alpha_relax_section): Likewise.
+ (elf64_alpha_relocate_section): Likewise.
+ (elf64_alpha_relax_find_tls_segment): Delete.
+ * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
+ (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
+ (ppc_elf_relocate_section): Adjust to use elf.tls_sec.
+ * elf32-ppc.h (ppc_elf_tls_setup): Update.
+ * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
+ (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
+ (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
+ (ppc64_elf_relocate_section): Likewise.
+ * elf64-ppc.h (ppc64_elf_tls_setup): Update.
+
+2003-11-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
+ * elf-m10300.c (elf_backend_plt_header_size): Don't define.
+ * elf32-arm.h (elf_backend_plt_header_size): Don't define.
+ * elf32-cris.c (elf_backend_plt_header_size): Don't define.
+ * elf32-i386.c (elf_backend_plt_header_size): Don't define.
+ * elf32-mips.c (elf_backend_plt_header_size): Don't define.
+ * elf32-ppc.c (elf_backend_plt_header_size): Don't define.
+ * elf32-s390.c (elf_backend_plt_header_size): Don't define.
+ * elf32-sh.c (elf_backend_plt_header_size): Don't define.
+ * elf32-sparc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-alpha.c (elf_backend_plt_header_size): Don't define.
+ * elf64-hppa.c (elf_backend_plt_header_size): Don't define.
+ * elf64-mips.c (elf_backend_plt_header_size): Don't define.
+ * elf64-ppc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-s390.c (elf_backend_plt_header_size): Don't define.
+ * elf64-sh64.c (elf_backend_plt_header_size): Don't define.
+ * elf64-sparc.c (elf_backend_plt_header_size): Don't define.
+ * elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
+ * elfn32-mips.c (elf_backend_plt_header_size): Don't define.
+ * elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
+ * elfxx-target.h (elf_backend_plt_header_size): Don't define
+ or include in target initializer.
+
+2003-11-03 Andrew Cagney <cagney@redhat.com>
+
+ * section.c (bfd_set_section_contents): Make the "location" buffer
+ constant.
+ * bfd-in2.h: Re-generate.
+
+2003-10-30 Andrew Cagney <cagney@redhat.com>
+
+ * syms.c: Replace "struct symbol_cache_entry" with "struct
+ bfd_symbol".
+ * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
+ * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
+ * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
+ * bfd-in2.h: Re-generate.
+
+2003-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c: Include objalloc.h, hashtab.h.
+ (struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
+ fields.
+ (struct elfNN_ia64_local_hash_table): Remove.
+ (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
+ to htab_t. Add loc_hash_memory field.
+ (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
+ Removed.
+ (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
+ functions.
+ (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
+ loc_hash_table. Initialize loc_hash_memory.
+ (elfNN_ia64_hash_table_free): New function.
+ (elfNN_ia64_local_hash_lookup): Remove.
+ (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
+ callback.
+ (elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
+ (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
+ (bfd_elfNN_bfd_link_hash_table_free): Define.
+
+2003-10-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
+ symbol string in place.
+
+2003-10-30 Jim Blandy <jimb@redhat.com>
+
+ * cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
+ object's mach field: all PowerPC machines are supersets of the
+ original rs6000, but not later rs6000 machines.
+
+2003-10-30 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
+ Add "val" and "sval" fields.
+ (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
+ (read_attribute_value): Expand and adjust DW_* occurrences.
+ (scan_unit_for_functions, parse_comp_unit): Likewise.
+
+2003-10-30 Phil Edwards <phil@codesourcery.com>
+
+ * config.bfd (arm-*-vxworks): Remove separate stanza; merge with
+ other common ELF triples.
+ (i[3-7]86-*-vxworks): Change to ELF format.
+ (mips*-*-windiss): New triple, add to common MIPS/ELF stanza.
+ (sh-*-vxworks): New stanza.
+
+2003-10-30 Lars Knoll <lars@trolltech.com>
+ Michael Matz <matz@suse.de>
+ Jakub Jelinek <jakub@redhat.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (struct sec_merge_sec_info): Update comment.
+ (struct sec_merge_hash_entry): Remove entsize.
+ (sec_merge_hash_lookup): Only adjust alignment when creating.
+ (sec_merge_emit): Remove register keyword.
+ (cmplengthentry, last4_eq, last_eq): Delete.
+ (strrevcmp, strrevcmp_align, is_suffix): New.
+ (merge_strings): Use them to implement fast suffix merging.
+ * elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
+ Make "len" signed.
+ (_bfd_elf_strtab_add): Lose on >2G strings.
+ (_bfd_elf_strtab_emit): Don't emit strings with len < 0.
+ (cmplengthentry, last4_eq): Delete.
+ (strrevcmp, is_suffix): New.
+ (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
+
+2003-10-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Move check for
+ SEC_ALLOC.
+
+2003-10-29 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
+ code sequence.
+ (PLT_HEADER_SIZE): New.
+ (struct elf32_arm_pcrel_relocs_copied): Rename to ...
+ (struct elf32_arm_relocs_copied): ... this. Count both
+ pcrel and non-pcrel relocs. All uses updated.
+ (struct elf32_arm_link_hash_table): Add pointers to dynamic linker
+ sections and symbol/section mapping cache.
+ (create_got_section): New.
+ (elf32_arm_create_dynamic_sections): New.
+ (elf_backend_create_dynamic_sections): Use it.
+ (elf32_arm_final_link_relocate): Support garbage collection of relocs.
+ (elf32_arm_check_relocs): Likewise.
+ (elf32_arm_adjust_dynamic_symbol): Likewise.
+ (elf32_arm_copy_indirect_symbol): New.
+ (elf32_arm_link_hash_table_create): Initialise new fields.
+ (elf32_arm_gc_sweep_hook): Implement.
+ (elf32_arm_discard_copies): Delete.
+ (elf32_arm_finish_dynamic_symbol): Use new PLT code.
+ (elf32_arm_finish_dynamic_sections): Likewise.
+ (elf_backend_can_refcount): Define.
+ (elf_backend_copy_indirect_symbol): Likewise.
+ (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
+
+2003-10-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Define.
+ (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
+
+ * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
+ sections with the same name.
+ (elfcore_grok_lwpstatus): Likewise.
+ (elfcore_grok_win32pstatus): Likewise.
+ (elfcore_grok_note): Likewise.
+ (elfcore_grok_nto_status): Likewise.
+ (elfcore_grok_nto_gregs): Likewise.
+
+2003-10-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
+ objects.
+
+2003-10-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
+
+2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
+ hash table for real symbols.
+
+2003-10-23 Michael Snyder <msnyder@redhat.com>
+
+ * section.c (asection): Fix typo in comment.
+
+2003-10-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
+ reloc symbol index to it. Don't allow gd syms in shared libs
+ to be optimized.
+ (ppc64_elf_tls_optimize): Adjust get_tls_mask call.
+ (ppc64_elf_size_stubs): Likewise.
+ (ppc64_elf_relocate_section): Check that tls relocs are only used
+ with tls syms, and similarly for non-tls. Correct symbol used
+ when optimizing toc tls code.
+
+2003-10-22 Nick Clifton <nickc@redhat.com>
+
+ * peicode.h (coff_swap_scnhdr_in): Only remove padding when
+ processing an executable.
+
+2003-10-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
+ field changes.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ * elflink.h (size_dynamic_sections): Likewise.
+
+2003-10-21 Alexandre Oliva <aoliva@redhat.com>,
+ Michael Snyder <msnyder@redhat.com>
+
+ * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
+ bfd_mach_sh4a_nofpu): New machine types.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (compatible): Remove unused function.
+ (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
+ (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
+
+2003-10-21 Wouter van Heyst <wouter@vidicode.nl>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
+ describing mismatched formats involving the Maverick FP type.
+
+2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ * binary.c (binary_object_p): Pass machine flag along with
+ architecture.
+
+2003-10-21 Thorsten Brehm <brehm@gmx.net>
+
+ * archures.c (bfd_default_scan): Add support for mcf528x.
+ * ieee.c (ieee_write_processor): Likewise.
+
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * archures.c: Add MCF528x (MCFv4) support.
+ * bfd/cpu-m68k.c (arch_info_struct): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-10-20 Andrew Cagney <cagney@redhat.com>
+
+ * targets.c: Replace "struct sec" with "struct bfd_section"
+ * syms.c, sparclynx.c, section.c, opncls.c: Ditto.
+ * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
+ * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
+ * aout-tic30.c, aout-target.h:
+ * bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
+
+2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
+ * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
+ (struct _mmix_elf_section_data): New member pjs.
+ (mmix_set_relaxable_size, mmix_elf_get_section_contents): New
+ functions.
+ (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
+ (mmix_reloc_map): Ditto.
+ (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
+ (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
+ (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
+ unused.
+ (mmix_elf_check_relocs): Move early return to after
+ mmix_elf_check_common_relocs call.
+ (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
+ (_bfd_mmix_before_linker_allocation): Rename from
+ _bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
+ Arrange to set the initial relaxable size of sections.
+ (_bfd_mmix_after_linker_allocation): Rename from
+ _bfd_mmix_finalize_linker_allocated_gregs.
+ (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
+ (bfd_elf64_get_section_contents): Define.
+ * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
+ * libbfd.h, bfd-in2.h: Regenerate.
+
+ * reloc.c (bfd_generic_relax_section): Default-set
+ section->_cooked_size here.
+ (bfd_generic_get_relocated_section_contents): Don't set it here.
+ Explain why.
+
+2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
+ output section has been discarded.
+
+2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
+
+ * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
+ (h8300_reloc16_extra_cases): Likewise.
+ (h8300_bfd_link_add_symbols): Likewise.
+
+2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * cpu-h8300.c (h8300sxn_info_struct): Correct address size.
+ (h8300sn_info_struct): Likewise.
+ (h8300hn_info_struct): Likewise.
+
+2003-10-16 Pavel Roskin <proski@gnu.org>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
+ for sections which lack size info.
+
+2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
+ mingw32.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
+ undefined patterns with '*'.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
+ use the last CIE from a different section.
+ (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
+ size of the output section.
+
+2003-10-07 Roland McGrath <roland@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
+ new section from p_align header field.
+
+2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-xtensa.c (xtensa_read_table_entries): The external size
+ of entry is 8 bytes.
+
+2003-10-15 Andrew Cagney <cagney@redhat.com>
+
+ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
+ with NAME##_canonicalize_symtab.
+ * libcoff-in.h (coff_canonicalize_symtab): Update.
+ * xsym.h (bfd_sym_canonicalize_symtab): Update.
+ * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
+ * coffgen.c (coff_canonicalize_symtab): Update.
+ * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
+ * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
+ * ieee.c (ieee_vec): Update comment.
+ * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
+ * mmo.c (mmo_canonicalize_symtab): Update.
+ * nlm-target.h (nlm_canonicalize_symtab): Update.
+ * nlmcode.h (nlm_canonicalize_symtab): Update.
+ * i386msdos.c (msdos_canonicalize_symtab): Update.
+ * hp300hpux.c (MY (canonicalize_symtab)): Update.
+ * oasys.c (oasys_canonicalize_symtab): Update.
+ * som.c (som_canonicalize_symtab): Update.
+ * pef.c (bfd_pef_canonicalize_symtab): Update.
+ * nlmcode.h (nlm_canonicalize_symtab): Update.
+ * xsym.c (bfd_sym_canonicalize_symtab): Update.
+ * vms.c (vms_canonicalize_symtab): Update.
+ * versados.c (versados_canonicalize_symtab): Update.
+ * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
+ * ieee.c (ieee_canonicalize_symtab): Update.
+ * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
+ * reloc.c: Update comment.
+ * libaout.h (NAME(aout,canonicalize_symtab)): Update.
+ * coff64-rs6000.c (aix5coff64_vec): Update.
+ * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
+ * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
+ * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
+ * hp300hpux.c (MY_canonicalize_symtab): Update.
+ * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
+ * aout-tic30.c (MY_canonicalize_symtab): Update.
+ * aout-target.h (MY_canonicalize_symtab): Update.
+ * ppcboot.c (ppcboot_canonicalize_symtab): Update.
+ * elf.c (_bfd_elf_canonicalize_symtab): Update.
+ * elfcode.h (elf_canonicalize_symtab): Update.
+ * ihex.c (ihex_canonicalize_symtab): Update.
+ * tekhex.c (tekhex_canonicalize_symtab): Update.
+ * binary.c (binary_canonicalize_symtab): Update.
+ * srec.c (srec_canonicalize_symtab): Update.
+
+2003-10-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
+
+2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
+ relocations.
+ (sh_elf_check_relocs): Likewise.
+
+ * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
+ (sh64_elf_merge_symbol_attribute): New.
+ * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
+ (sh64_elf64_merge_symbol_attribute): New.
+
+2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf-bfd.h (struct elf_backend_data): New function pointer member
+ elf_backend_merge_symbol_attribute.
+ * elflink.h (elf_link_add_object_symbols): Adjust call to
+ elf_backend_merge_symbol_attribute if the backend defined it.
+ * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
+ (elfNN_bed): Add that to the initializer.
+
+2003-10-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (get_is_linkonce_section): Delete.
+ (xtensa_is_property_section, xtensa_is_littable_section): Use
+ XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
+ linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
+ (xtensa_get_property_section_name): Check section name instead of
+ calling get_is_linkonce_section. Remove unused bfd parameter. Use
+ XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
+ linkonce section names by appending ".xt.insn" or ".xt.lit".
+ (xtensa_read_table_entries): Remove bfd argument in call to
+ xtensa_get_property_section_name. Free section name when done.
+ (elf_xtensa_combine_prop_entries): Free leaking table.
+
+2003-10-13 Richard Sandiford <rsandifo@redht.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
+ DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
+ (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
+ handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
+ that were needed.
+ (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
+ (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
+
+2003-10-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
+ (bfd_elf64_ia64_after_parse): Likewise.
+ * bfd-in2.h: Regenerated.
+
+ * elfxx-ia64.c (oor_ip): New.
+ (oor_branch_size): Likewise.
+ (bfd_elfNN_ia64_after_parse): Likewise.
+ (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
+ equals sizeof (oor_ip).
+
+2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
+ renumbering of some relocation numbers.
+
+2003-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-sh.c: Move definition of MAP and guard more code with
+ COFF_IMAGE_WITH_PE.
+
+ * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
+ * bfd-in2.h: Regenerate.
+
+2003-10-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Likewise.
+
+2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * cofflink.c: Include "safe-ctype.h".
+ (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
+
+2003-10-08 Dave Brolley <brolley@redhat.com>
+ On behalf of Michael Snyder <msnyder@redhat.com>
+
+ * archures.c: Add FRV fr550 machine.
+ * cpu-frv.c: Ditto.
+ * elf32-frv.c: Ditto.
+ * bfd-in2.h: Regenerate.
+
+2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
+ for non-SGI N64 ABI. Improve code consitency.
+
+2003-10-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
+ rightshift to 2.
+
+2003-10-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * libbfd-in.h (_bfd_link_section_stabs): Add string offset
+ parameter.
+ * cofflink.c (coff_link_add_symbols): Deal with split stab
+ sections.
+ * elflink.h (elf_link_add_object_symbols): Deal with split stab
+ sections.
+ * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
+ * libbfd.h: Regenerated.
+
+ * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
+ overflow, set reloc start position to after the count
+ reloc. Subtract one from num relocs. Give error on 0xffff relocs
+ and no overflow.
+ * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
+ overflow.
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
+ 0xffff.
+
+2003-10-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
+ last CIE/FDE if needed.
+
+2003-10-06 Nick Clifton <nickc@redhat.com>
+
+ * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
+ BFD64 is enabled.
+
+2003-10-06 Matt Thomas <matt@3am-software.com>
+
+ * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
+
+2003-10-06 Robert Millan <robertmh@gnu.org>
+
+ * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
+ * config.bfd: Likewise.
+ * configure: Regenerate.
+
+2003-10-04 Christian Groessler <chris@groessler.org>
+
+ * coff-z8k.c (extra_case): Fix displacement length check for R_JR
+ and R_CALLR.
+
+2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-m68hc1x.h: Likewise.
+
+2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
+ of flags between HC12 and HCS12.
+
+2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
+
+ * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
+ which become empty after merging.
+
+2003-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
+ R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * archures.c (bfd_mach_mipsisa64r2): New define.
+ * bfd-in2.h: Regenerate.
+ * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
+ * cpu-mips.c (I_mipsisa64r2): New enum value.
+ (arch_info_struct): Add entry for I_mipsisa64r2.
+ * elfxx-mips.c (_bfd_elf_mips_mach)
+ (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
+ (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
+ (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
+
+2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
+ Handle SHN_IA_64_ANSI_COMMON.
+ (elf_backend_section_from_bfd_section): Defined.
+
+2003-09-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_link_read_relocs_from_section): Add an argument
+ of a pointer to section. Check bad symbol index.
+ (_bfd_elf_link_read_relocs): Modify calls to
+ elf_link_read_relocs_from_section.
+
+2003-09-23 DJ Delorie <dj@redhat.com>
+
+ * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
+ R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+ R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
+ R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+ R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+ R_SH_PSHA, R_SH_PSHL added.
+ (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
+ (sh_elf_relocate_section): Support new relocs.
+
+2003-09-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
+ dynamic relocation offsets.
+
+2003-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Free the
+ hash table using _bfd_generic_link_hash_table_free.
+
+2003-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
+ type of prefix_length and suffix_length to int. Rename "attributes"
+ to "attr". Comment.
+ (_bfd_elf_get_sec_type_attr): Update prototype.
+ * elf.c (get_special_section): Rewrite.
+ (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
+ attr and type pointers.
+ (_bfd_elf_new_section_hook): Adjust for above.
+ (special_sections): Merge suffix with prefix. Set
+ prefix_length for all entries. Set suffix_length appropriately.
+ * elf32-m32r.c (m32r_elf_special_sections): Likewise.
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
+ * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
+ * elf32-mcore.c (mcore_elf_special_sections): Likewise.
+ * elf32-sh64.c (sh64_elf_special_sections): Likewise.
+ * elf32-v850.c (v850_elf_special_sections): Likewise.
+ * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
+ * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
+ * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
+ * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
+
+2003-09-21 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
+ ->got if the section already exists.
+
+2003-09-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * dwarf2.c (decode_line_info): Cope with an initially empty
+ filename table.
+
+2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * acinclude.m4: Include ../config/accross.m4.
+ * aclocal.m4: Regenerated.
+
+ * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
+ or long long.
+ (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
+ (host64): Remove if HOST_64BIT_TYPE is set to long.
+
+ * configure.in (HOST_64BIT_TYPE): Set according to the size of
+ long and long long.
+ (HOST_U_64BIT_TYPE): Likewise.
+ (host64): Likewise.
+ * configure: Regenerated.
+
+2003-09-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
+ since some ABIs round up the size of the struct.
+
+2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Allow type change if
+ the old symbol is undefined and the new symbol is defined.
+
+2003-09-18 Andreas Schwab <schwab@suse.de>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Use
+ _bfd_generic_link_hash_table_create instead of
+ bfd_link_hash_table_create.
+
+2003-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
+ started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
+
+2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
+ Randolph Chung <randolph@tausq.org>
+
+ * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
+ hppa_link_hash_newfunc, hppa_build_one_stub,
+ elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
+ allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
+ elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
+ for generating import stubs for calls to statically linked PIC
+ functions.
+ (hppa_type_of_stub): Don't generate an import stub for calls to
+ statically linked pic functions. Generate import stubs for calls
+ in a shared object, to functions not in a regular file, and to
+ defined weak functions. Add new argument INFO.
+ (hppa_build_one_stub): Don't undef ADDIL_DP.
+ (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
+ (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
+ (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
+ non-shared link. Convert instructions that use the the linkage table
+ pointer, or a facsimile thereof, to use the global data pointer when
+ the reloc has been changed.
+
+2003-09-08 Joel Brobecker <brobecker@gnat.com>
+
+ * archures.c: Add new machine names for hppa.
+ * bfd-in2.h: Regenerate.
+ * cpu-hppa.c: Use the new machine names.
+
+2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
+ all_local_syms member.
+ * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
+ to get the local symbols.
+
+2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
+ (elf_backend_special_sections): Define.a
+
+ PR savannah/4950:
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
+ section is read-only.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_v850e1): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-v850.h (scan): Accept bfd_mach_v850e1.
+ (arch_info_struct): Include an entry for bfd_mach_v850e1.
+ * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
+ (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
+ (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
+ (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
+ linked with v850e binaries. Mark the output as v850e.
+
+2003-09-03 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
+ symbols that are used in relocs.
+
+2003-08-30 Robert Millan <robertmh@gnu.org>
+
+ * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
+ * config.bfd: Likewise.
+ * configure: Regenerate.
+
+2003-08-31 Christian Groessler <chris@groessler.org>
+
+ * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
+ instead of returning bfd_reloc_continue.
+
+2003-08-31 Andreas Jaeger <aj@suse.de>
+
+ * merge.c: Update to ISO C90.
+
+2003-08-27 Ian Lance Taylor <ian@airs.com>
+
+ * configure.in: Check for strtoull.
+ * bfd.c (bfd_scan_vma): Use strtoull when available.
+ * configure, config.in: Regenerate.
+
+ * configure.in: Define and substitute BFD_HOST_LONG_LONG.
+ * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
+ __GNUC__ when deciding whether to use long long for
+ BFD_HOST_64_BIT.
+ * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
+
+2003-08-27 Christian Groessler <chris@groessler.org>
+
+ * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
+ i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
+ functions.
+ (elf32_i860_howto_table): Insert the new functions as
+ 'special_function's in the proper reloc type entries.
+
+2003-08-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-frv.c (elf32_frv_relocate_section): Use
+ _bfd_elf_rela_local_sym.
+
+2003-08-26 Michael Snyder <msnyder@redhat.com>
+
+ * cpu-frv.c: Remove unused enum.
+
+2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * reloc.c: Fix documentation for MIPS ELF relocations.
+ libbfd.h: Regenerate.
+ bfd-in2.h: Regenerate.
+
+2003-08-24 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c (CALC_ADDEND): Define to be a no-op.
+
+2003-08-24 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
+ shift by 2 before storing the relocated value.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c (coff_i860_reloc_nyi): New function.
+ (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
+ LOWn, SPLITn, and BRADDR.
+ (RTYPE2HOWTO): Check that the r_type is within the howto_table
+ before trying to access the entry.
+ (coff_i860_rtype_to_howto): Likewise.
+ (coff_i860_reloc_type_lookup): New function.
+ (i860_reloc_processing): New function.
+ (coff_bfd_reloc_type_lookup): Define macro.
+ (RELOC_PROCESSING): Define macro.
+ Minor formatting adjustments.
+
+2003-08-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
+
+2003-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
+ .got section at 8 bytes.
+
+2003-08-21 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c: Update to ISO C90 and tidy up formatting.
+
+2003-08-21 Randolph Chung <tausq@debian.org>
+
+ * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
+ can have OSABI=Linux or OSABI=SysV. Check for both.
+ * elf64-hppa.c (elf64_hppa_object_p): Likewise.
+
+2003-08-21 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2003-08-20 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
+
+2003-08-20 Nick Clifton <nickc@redhat.com>
+
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
+ replace some duplicated code in most elfxx-xxxx.c files. This
+ version uses the new fields in bfd_link_info.
+
+ * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+ * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
+ elf_hppa_remark_useless_dynamic_symbols,
+ elf_hppa_relocate_section): Use the new fields in
+ bfd_link_info structure.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
+ * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+
+ * elflink.h (elf_link_output_extsym): Fix test for reporting
+ undefined symbols in shared libraries. Remove redundant test
+ of shlib_undefined when reporting references to forced local
+ symbols.
+
+2003-08-18 Andreas Schwab <schwab@suse.de>
+
+ * libpei.h (bfd_pe_executable_p): Also recognize efi-app
+ executables.
+
+2003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Move
+ reloc_done hack to before first bfd_section_size call. Change all
+ returns to use new wrapper macro RETURN, restoring sec->reloc_done.
+
+2003-08-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Don't include elf/ppc.h.
+
+2003-08-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
+ code to work with 64-bit bfds.
+
+2003-08-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Remove libintl.h.
+ * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
+ (POTFILES.in): Remove target.
+ * Makefile.in: Regenerate.
+
+2003-08-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
+ (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
+ use the function sym from the previous reloc.
+
+2003-08-11 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
+ fatal if -pie.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
+ on undefined symbols if -pie.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+
+2003-08-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
+ branch to __libc_start_main.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
+ gcc order.
+ * cpu-msp430.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h: Remove PTR cast.
+ * targets.c (bfd_target): Make backend_data const void *.
+ * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * elfxx-mips.h: Likewise.
+ * elf.c (prep_headers): Remove useless check for null backend_data.
+ * bfd-in2.h: Regenerate.
+
+ * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
+ (NAME): Use ## rather than CONCAT4 macro.
+ * elfcode.h: Remove one remaining PARAMS macro.
+ * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
+ * elf-strtab.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf32-hppa.h: Likewise.
+ * elf32-hppa.c: Likewise.
+ (elf32_hppa_add_symbol_hook): Delete.
+ (elf_backend_add_symbol_hook): Don't define.
+ * libhppa.h: Convert to C90. Replace INLINE with inline.
+
+2003-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
+ (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
+ function descriptors, but warn.
+ (ppc_build_one_stub): Remove a couple of vars. Move code creating
+ stub syms so that we can avoid a stub sym if we already have a
+ plt sym. Do not redefine an existing symbol.
+ (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
+ glink.
+
+2003-08-06 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
+ SEC_LINKER_CREATED.
+
+2003-08-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
+
+2003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * coffcode.h (coff_slurp_line_table): Return with a warning
+ message if the line number table could not be read.
+
+2003-08-04 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
+ to messages produced for .gnu.warning.SYMBOL sections.
+
+2003-08-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elf.c (sym_is_global): Remove INLINE.
+ (align_file_position): Replace INLINE with inline.
+ * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
+ (elf_file_p): Replace INLINE with inline.
+
+2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
+
+2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
+
+2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
+ ElfNN_External_Rela instead of Elf64_External_Rela.
+
+2003-08-01 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Add code to catch obsolete configurations and warn
+ about them unless --enable-obsolete is used. Use this to mark
+ vax-vms port as obsolete.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_install_value): Tidy.
+ (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
+ Formatting.
+ * elfxx-target.h: Remove PARAMS macro. Formatting.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
+ * elf64-ppc.c (get_fdh): New function, split out from
+ ppc64_elf_edit_opd.
+ (ppc64_elf_check_relocs): Use get_fdh.
+ (func_desc_adjust): Likewise. Tidy.
+ (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
+ exit. Use get_fdh. Account for superfluous dynamic relocs.
+ (ppc64_elf_relocate_section): Warning fix.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Randolph Chung <tausq@debian.org>
+
+ * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
+ * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
+
+2003-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c: Convert to C90, remove unnecessary prototypes and casts.
+ Replace PTR with void *. Formatting.
+ (_bfd_elf_assign_file_position_for_section): Remove INLINE.
+ (make_mapping): Likewise.
+
+2003-07-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Give linker created function
+ descriptor symbols a size and type.
+ (ppc64_elf_relocate_section): Correct lq insn test.
+
+2003-07-28 Eric Christopher <echristo@redhat.com>
+
+ * elf32-ppc.c (R_PPC_RELAX32): New relocation.
+ (ppc_elf_install_value): New function.
+ (ppc_elf_sort_rela): Remove.
+ (ppc_elf_relax_section): Rewrite. Remove old relaxation
+ and replace with out of range branch stubs.
+ (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
+
+2003-07-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
+ from input_bfd.
+
+2003-07-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (special_sections): Set attributes for .got and .plt.
+
+2003-07-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
+ on function descriptors.
+ (ELIMINATE_COPY_RELOCS): Expand comment.
+ (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
+ Do include ".toc1".
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_new_section_hook): Set the default section
+ type to SHT_NULL.
+ (elf_fake_sections): Set the section type based on asect->flags
+ if it is SHT_NULL. Don't abort on processor specific section
+ types.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in2.h: Regenerated.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (bfd_elf_special_section): New.
+ (elf_backend_data): Add special_sections, a pointer to
+ bfd_elf_special_section.
+ (elf_section_type). New.
+ (elf_section_flags): New.
+ (_bfd_elf_get_sec_type_attr): New.
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Always use the
+ real section type/flags.
+ (special_sections): New.
+ (get_special_section): New.
+ (_bfd_elf_get_sec_type_attr): New.
+ (_bfd_elf_new_section_hook): Check special_section to set
+ elf_section_type and elf_section_flags.
+ (elf_fake_sections): Don't use section name to set ELF section
+ data.
+
+ * elf32-m32r.c (m32r_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-mcore.c (mcore_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-ppc.c (ppc_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-sh64.c (sh64_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-v850.c (v850_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf32-xtensa.c (elf_xtensa_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-alpha.c (elf64_alpha_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-hppa.c (elf64_hppa_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-ppc.c (ppc64_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elf64-sh64.c (sh64_elf64_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-ia64.c (elfNN_ia64_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
+
+ * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
+ (elf_backend_special_sections): Defined.
+
+ * elfxx-target.h (elf_backend_special_sections): New. Default
+ to NULL.
+ (elfNN_bed): Initialize special_sections.
+
+ * section.c (bfd_abs_section): Remove const.
+ (bfd_und_section): Likewise.
+ (bfd_com_section): Likewise.
+ (bfd_ind_section): Likewise.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
+ sections are assigned the LOAD attribute.
+
+2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c: Convert to C90. Replace PTR with void *.
+ * elf32-sh64-com.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sh64.h: Likewise.
+ * elf64-sh64.c: Likewise.
+
+2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
+ (allocate_dynrelocs): Likewise.
+ (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
+ (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-07-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
+ near the beginning of the file. Swap order of arguments. Call
+ _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
+ (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
+ (elf_xtensa_relocate_section): Likewise.
+ (shrink_dynamic_reloc_sections): Likewise.
+
+2003-07-23 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
+ (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
+ (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
+ first printing an error message.
+ (elf_xtensa_finish_dynamic_sections): Likewise.
+ (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
+ discarding literal table entries.
+ (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
+ (elf_xtensa_do_asm_simplify): Likewise.
+
+2003-07-23 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
+ we have a local symbol in common section.
+
+2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
+ weak symbols.
+
+2003-07-22 Nick Clifton <nickc@redhat.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
+ expected RS6000 storage classes.
+
+2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
+ output_bfd unused to silence gcc.
+
+2003-07-21 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2003-07-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
+ (_bfd_elf_symbol_refs_local_p): ..this. Declare.
+ * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
+ * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
+ now done in _bfd_elf_symbol_refs_local_p.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
+
+2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
+ (SYMBOL_CALLS_LOCAL): Likewise.
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
+ immediately if symbol isn't defined locally.
+
+2003-07-18 Richard Henderson <rth@redhat.com>
+
+ * elflink.c (_bfd_elf_dynamic_symbol_p): New.
+ * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
+ (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
+ * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
+ * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
+ Update all callers to provide the relocation being resolved.
+
+2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
+
+ * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
+ targ_cflags.
+
+2003-07-17 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: New Spanish translation.
+ * po/sv.po: New Swedish translation.
+ * po/opcodes.pot: Regenerate.
+
+2003-07-16 Richard Henderson <rth@redhat.com>
+
+ * config.bfd, configure.host, configure.in: Remove ia64-aix support.
+ * elfxx-ia64.c, targets.c: Likewise.
+
+2003-07-16 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
+ for symbols defined locally plus -Bsymbolic. Tidy logic.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_mips7000): New.
+ * bfd-in2.h: Regenerated.
+ * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
+ * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
+ (mips_mach_extensions): Add an entry for it.
+
+2003-07-14 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Update with latest version.
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * Makfile.in: Regenerate.
+ * configure: Regenerate.
+
+2003-07-12 Jeff Baker <jbaker@qnx.com>
+
+ * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
+ * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+ * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+ * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+
+2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * coffcode.h (coff_set_section_contents): Set the
+ IMAGE_FILE_32BIT_MACHINE flag for PE targets.
+
+2003-07-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd-in.h (bfd_h8300_pad_address): Declare.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (bfd_h8300_pad_address): New function.
+ * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
+ addresses before checking whether they can be relaxed.
+ (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
+ Don't complain about overflows in general 8-bit relocations.
+ * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
+ Fix handling of R_H8_DIR24A8.
+
+2003-07-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-h8300.c: Convert function prototypes and definitions
+ to C90 syntax.
+ * coff-h8300.c: Likewise.
+ * cpu-h8300.c: Likewise.
+
+2003-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Likewise.
+
+2003-07-10 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
+ .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
+ .xt.lit.plt section.
+ (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
+ and allocate memory for it.
+ (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
+ section to the .got.loc section.
+ (elf_xtensa_finish_dynamic_sections): Fix up call to
+ elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
+ the address of .got.loc.
+ (relax_property_section): Shrink .got.loc to match changes in any
+ literal table section.
+ (xtensa_is_property_section): Change to match
+ xtensa_get_property_section_name.
+ (xtensa_is_littable_section): New.
+
+2003-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
+ -1LL.
+
+2003-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
+ (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-07-10 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
+ 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf32-am33lin.c: Rename global functions.
+ 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
+ * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
+ * configure.in (bfd_elf32_am33lin_vec): Added.
+ * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
+ (elf32-am33lin.lo): List dependencies.
+ * aclocal.m4, configure, Makefile.in: Rebuilt.
+ * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
+ ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
+ ELF_ARCH was not defined before.
+ (elf_symbol_leading_char): Define if not defined.
+ * elf32-am33lin.c: Override the definitions above.
+ * targets.c (bfd_elf32_am33lin_vec): New.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
+ pcrel_relocs_copied.
+ 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
+ ld-linux.so.2 to ld.so.1.
+ 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
+ (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
+ (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+ * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
+ .rela.* section contents with bfd_zalloc.
+ 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c: Added declarations for functions missing them.
+ Merge some shared-library changes from the i386 back-end. Use
+ R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
+ R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
+ (struct elf32_mn10300_link_hash_entry): Remove duplicates of
+ members of elf_link_hash_entry. Adjusted references.
+ (mn10300_elf_final_link_relocate): dynobj was already loaded
+ into a local variable, use it.
+ 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+ * elf-m10300.c: Add missing function prototypes.
+ 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
+ relocation for dynamic relocations.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
+ * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+ PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+ (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
+ (_bfd_mn10300_elf_create_got_section): ... here, so that its
+ adress is already known at the time we compute relaxations.
+ (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
+ and PLT32 to narrower relocations.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
+ BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
+ BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
+ BFD_RELOC_MN10300_RELATIVE): New relocs.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
+ (struct elf32_mn10300_link_hash_entry): Added DSO-related
+ fields.
+ (elf_mn10300_howto): Defined new relocation types.
+ (mn10300_reloc_map): Map them.
+ (_bfd_mn10300_elf_create_got_section): New fn.
+ (mn10300_elf_check_relocs): Handle PIC relocs.
+ (mn10300_elf_final_link_relocate): Likewise.
+ (mn10300_elf_relocate_section): Handle DSOs.
+ (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
+ (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
+ elf_mn10300_pic_plt_entry): New.
+ (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
+ elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
+ elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
+ elf_mn10300_plt_reloc_offset: New macros.
+ (ELF_DYNAMIC_INTERPRETER): Likewise.
+ (_bfd_mn10300_elf_create_dynamic_sections): New function.
+ (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_mn10300_elf_discard_copies): Likewise.
+ (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
+ (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+ (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
+ (elf_backend_can_gc_sections,
+ elf_backend_create_dynamic_sections,
+ elf_backend_adjust_dynamic_sections,
+ elf_backend_size_dynamic_sections,
+ elf_backend_finish_dynamic_symbol,
+ elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+ elf_backend_plt_readonly, elf_backend_want_plt_sym,
+ elf_backend_got_header_size, elf_backend_plt_header_size): New
+ macros.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
+ * elf-m10300.c (compute_function_info): Account for AM33
+ registers in `movm' when computing stack space for `call' when
+ linking for AM33/2.0 link.
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
+ * bfd-in2.h: Rebuilt.
+ * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
+ * elf-m10300.c: Updated.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * archures.c (bfd_mach_am332): Defined.
+ * bfd-in2.h: Rebuilt.
+ * cpu-m10300.c (bfd_am332_arch): Defined.
+ (bfd_am33_arch): Chained with am33-2.
+ * elf-m10300.c (elf_mn10300_mach): Handle am332.
+ (_bfd_mn10300_elf_final_write_processing): Likewise.
+
+2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
+
+2003-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (bfd_elf64_mkobject): Define.
+ (struct ppc64_elf_obj_tdata): New.
+ (ppc64_elf_tdata, ppc64_tlsld_got): Define.
+ (ppc64_elf_mkobject): New function.
+ (struct got_entry): Add "owner". Move "tls_type".
+ (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
+ (ppc64_elf_init_stub_bfd): New function.
+ (create_got_section): Create header .got in dynobj. Create .got
+ and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
+ (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
+ Look for dynobj .got, and test it.
+ (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
+ (update_local_sym_info): Likewise.
+ (ppc64_elf_check_relocs): Likewise.
+ (ppc64_elf_gc_sweep_hook): Likewise.
+ (ppc64_elf_tls_optimize): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (ppc64_elf_size_dynamic_sections): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+ (ppc64_elf_next_toc_section): Update comment.
+ (toc_adjusting_stub_needed): Remove unneeded cast.
+ (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
+ testing section flags.
+ (ppc64_elf_build_stubs): Likewise.
+ (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
+ (ppc64_elf_finish_dynamic_sections): Write out got sections.
+ (func_desc_adjust): Copy over dynamic info for undef weaks.
+ * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
+ (ppc64_elf_size_stubs): Update prototype.
+ * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
+ input sections rather than scanning dynobj.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
+ (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
+ (mips_elf_create_msym_section): Delete.
+ (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
+ (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
+ (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
+ (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
+ (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
+ (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
+ symbols protected.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
+ of relocations whose offset is -2.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
+ forced-local symbols like other locals. Don't create relocations
+ against STN_UNDEF in irix objects.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
+ compatible objects, add the values of defined external symbols
+ to the addend.
+
+2003-07-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
+ initialize a GOT entry to the symbol's st_value.
+
+2003-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
+ * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
+ (ppc_elf_tdata): Define.
+ (elf_local_ptr_offsets): Adjust.
+ (ppc_elf_mkobject): New function.
+ (bfd_elf32_mkobject): Define.
+
+ * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
+ * elfcore.h (elf_core_file_p): Likewise.
+ * section.c (bfd_section_init): Remove prototype.
+
+2003-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
+ field.
+ (enum elf_linker_section_enum): Delete.
+ (struct elf_linker_section): Delete.
+ (struct elf_linker_section_pointers): Delete.
+ (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
+ Make linker_section_pointers a void**.
+ (elf_local_ptr_offsets, elf_linker_section): Don't define.
+ * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
+ of old item in elf-bfd.h.
+ (struct elf_linker_section): Likewise.
+ (struct elf_linker_section_pointers): Likewise.
+ (elf_local_ptr_offsets): Define.
+ (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
+ (ppc_elf_link_hash_newfunc): Init it.
+ (struct ppc_elf_link_hash_table): Add sbss.
+ (ppc_elf_link_hash_table_create): zmalloc rather than clearing
+ individual fields.
+ (elf_create_linker_section): Fold into..
+ (ppc_elf_create_linker_section): ..here. Remove hole_size code.
+ Make rela section here if shared.
+ (elf_find_pointer_linker_section): Pass lsect rather than enum.
+ (elf_create_pointer_linker_section): Adjust. zalloc rather than
+ clearing in a loop.
+ (elf_finish_pointer_linker_section): Adjust. Don't make rela
+ section here.
+ (ppc_elf_check_relocs): Adjust.
+ (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
+ creating .sbss by hand.
+ * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
+ complain_overflow_bitfield.
+ * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
+ complain_overflow_bitfield.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
+ true even if -pie.
+
+2003-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
+ (elfNN_ia64_dynamic_symbol_p): Change info->shared into
+ !info->executable.
+ (get_fptr): For -pie create .opd as writable section and create
+ .rela.opd as well.
+ (elfNN_ia64_check_relocs): Change info->shared into
+ !info->executable.
+ (allocate_fptr): Likewise.
+ (allocate_dynrel_entries): Account for a relative reloc for -pie
+ @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
+ for undefweak symbol. Account for an IPLT reloc in .rela.opd
+ section if -pie.
+ (set_got_entry): Don't create a relative reloc if -pie
+ want_ltoff_fptr for undefweak symbol.
+ (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
+ (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
+ @fptr().
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
+ even if -pie.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2003-07-04 Paul Clarke <paulc@senet.com.au>
+
+ * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
+ (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
+ <R_H8_DIR32A16>: Fix type of relocation.
+
+2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
+ sections were created already. Remove unnecessary tests of
+ the previous change.
+
+2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
+ bfd_make_section for existing sections.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
+ create_got_section if we already have done so.
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
+ htab->root.dynobj instead.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_sections): Likewise.
+
+ * section.c (bfd_make_section): Return NULL for existing section.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
+ ppc_elf_create_got if we've already done so.
+
+ * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
+ (_bfd_elf_find_pointer_linker_section): Likewise.
+ (bfd_elf32_create_pointer_linker_section): Likewise.
+ (bfd_elf32_finish_pointer_linker_section): Likewise.
+ (bfd_elf64_create_pointer_linker_section): Likewise.
+ (bfd_elf64_finish_pointer_linker_section): Likewise.
+ (_bfd_elf_make_linker_section_rela): Likewise.
+ * elfcode.h (elf_create_pointer_linker_section): Don't define.
+ (elf_finish_pointer_linker_section): Likewise.
+ * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
+ (_bfd_elf_create_linker_section): Move this function..
+ (_bfd_elf_find_pointer_linker_section): ..and this..
+ * elflink.h (elf_create_pointer_linker_section): ..and this..
+ (elf_finish_pointer_linker_section): ..and this..
+ * elf32-ppc.c: ..to here, renaming to the following, and adjusting
+ calls.
+ (elf_create_linker_section): Convert to C90, tidy.
+ (elf_find_pointer_linker_section): Likewise.
+ (elf_create_pointer_linker_section): Likewise.
+ (elf_finish_pointer_linker_section): Likewise.
+ * elf32-i370.c: Delete #if 0 code.
+
+2003-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
+ _restf* to be satisfied by shared libs, and always force them local.
+ (toc_adjusting_stub_needed): Avoid scanning linker created sections.
+ Correct test for "bl".
+ (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
+ primary opcode 31.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
+ (s390_tls_reloc): New function.
+ (elf_howto_table): Add long displacement relocations R_390_20,
+ R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
+ BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
+ BFD_RELOC_390_TLS_GOTIE20.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+
+2003-06-30 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
+ (ins_imms, ins_immsm1u4): Likewise. Warning fix.
+
+2003-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * archive.c: Convert to C90, remove unnecessary prototypes and casts.
+ Replace PTR with void *. Formatting.
+ * archive64.c: Likewise.
+ * archures.c: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd.c: Likewise.
+ * bfdio.c: Likewise.
+ * bfdwin.c: Likewise.
+ * cache.c: Likewise.
+ * corefile.c: Likewise.
+ * format.c: Likewise.
+ * init.c: Likewise.
+ * libbfd-in.h: Likewise.
+ * libbfd.c: Likewise.
+ * linker.c: Likewise.
+ * opncls.c: Likewise.
+ * reloc.c: Likewise.
+ * section.c: Likewise.
+ * simple.c: Likewise.
+ * syms.c: Likewise.
+ * targets.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+ * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
+ * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
+ * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
+ (bfd_getb64): Rewrite without parens.
+ (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+ * cache.c (insert, snip): Remove INLINE.
+ * linker.c (bfd_link_add_undef): Likewise.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
+ unnecessary prototypes. Replace PTR with void *.
+ (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
+ trim plt entries. Move undefweak non-default visibility test ...
+ (allocate_dynrelocs): ... from here.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ Change all callers.
+ (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
+ SYMBOL_REFERENCES_LOCAL for dynreloc check.
+ (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
+ dynreloc and .got relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
+ for .got relocs.
+
+2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
+
+2003-06-27 Nick Clifton <nickc@redhat.com>
+
+ * opncls.c (bfd_add_gnu_debuglink_section): Rename to
+ bfd_add_gnu_debuglink_section and only create the section, do not
+ fill in its contents.
+ (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
+ contents of a .gnu-debuglink section.
+ * bfd-in2.h: Regenerate.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Revert .got alignment to 2**4.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c: Fix addend for _gp_disp special symbol.
+
+2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
+ relocation header setup.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
+ (ppc_elf_reloc_type_lookup): Modify comment.
+ (ppc_elf_info_to_howto): Ditto.
+ (ppc_elf_relocate_section): Ditto.
+ (ppc_elf_check_relocs): Call ppc_elf_howto_init.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-ns32k.c: Correct spelling of "relocatable".
+ * aoutx.h: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd.c: Likewise.
+ * bout.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-arm.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-m68k.c: Likewise.
+ * coff-m88k.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-or32.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * cofflink.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf-bfd.h: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-avr.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d10v.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-iq2000.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * elf32-openrisc.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-xstormy16.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elflink.h: Likewise.
+ * elfn32-mips.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * i386linux.c: Likewise.
+ * ieee.c: Likewise.
+ * libcoff-in.h: Likewise.
+ * linker.c: Likewise.
+ * m68klinux.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peXXigen.c: Likewise.
+ * reloc.c: Likewise.
+ * reloc16.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sunos.c: Likewise.
+ * syms.c: Likewise.
+ * versados.c: Likewise.
+ * vms.c: Likewise.
+ * xcofflink.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libcoff.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2003-06-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
+ local sym errors.
+
+ * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
+ prototypes and casts. Replace PTR with void *. Formatting.
+ * elf32-ppc.c: Likewise. Break long strings too.
+ (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
+ (ppc_elf_unhandled_reloc): Internationalize error message.
+ * elf32-ppc.h: Remove PARAMS.
+
+2003-06-23 Mark Mitchell <mark@codesourcery.com>
+
+ * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
+ APUinfo slots.
+ (ppc_elf_final_write_processing): Likewise.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_input_bfd): Check raw size when using
+ kept_section to preserve debug information discarded by
+ linkonce.
+
+2003-06-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
+ (ppc64_elf_setup_section_lists): Set it.
+ (ppc64_elf_relocate_section): Check sym section id against top_id.
+ (ppc_build_one_stub): Comment on top_id.
+
+2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * config.bfd: Add tic4x-*-rtems*.
+
+2003-06-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
+ prototypes and casts. Replace PTR with void *. Format copyright.
+ Mention ABI links.
+ (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
+ sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
+ (ppc_type_of_stub): Make r_type an enum.
+ (ppc64_elf_size_stubs): Likewise.
+ * elf64-ppc.h: Remove PARAMS macro.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
+ elf hash tab fields.
+
+ * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
+ (ppc64_elf_info_to_howto): Likewise.
+ (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
+ * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
+ reloc overflow on discarded eh_frame entries.
+
+2003-06-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (toc_adjusting_stub_needed): New function.
+ (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
+ Return error condition.
+ (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
+ that have has_gp_reloc set.
+ (struct ppc_link_hash_table): Add stub_count.
+ (ppc_build_one_stub): Increment it.
+ (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
+ individual fields.
+ * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
+
+2003-06-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
+ size calculation from addend. Round size up.
+
+2003-06-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case
+ R_CRIS_32_GOTREL>: When linking a program, don't complain about a
+ symbol from a normal object or an undefined weak symbol.
+
+2003-06-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
+ R_PPC64_TOC relocs.
+
+2003-06-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * section.c (struct sec): Put back kept_section.
+ (STD_SECTION): Put back kept_section initialization.
+ * bfd-in2.h: Regenerate.
+
+ * elflink.h (elf_link_input_bfd): Also check discarded linkonce
+ sections for relocateable output. Use kept_section to preserve
+ debug information discarded by linkonce.
+
+2003-06-17 Roland McGrath <roland@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
+ segment-relative relocation between different segments.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
+ optimizations earlier.
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
+ Restore previous input_list type.
+ (ppc64_elf_link_hash_table_create): Undo last change.
+ (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
+ per output section, but don't bother with bfd_abs_section marker.
+ (ppc64_elf_next_input_section): Adjust for multiple input section
+ lists.
+ (group_sections): Likewise.
+
+2003-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
+ *r_offset == r_addend for RELATIVE relocs against .got.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
+
+2003-06-17 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_gc_record_vtentry): Allocate an extra element
+ in the vtable_entries_used array to allow for the accessing
+ the largest element.
+
+2003-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
+ input_list.
+ (ppc64_elf_link_hash_table_create): Init input_list here.
+ (ppc64_elf_setup_section_lists): Remove code setting up input lists
+ per output section. Set toc_off for abs and other standard sections.
+ (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
+ (ppc64_elf_next_input_section): Adjust for single input section list.
+ Don't set toc_curr from input bfds that haven't set elf_gp.
+ (group_sections): Adjust for single input section list.
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
+
+2003-06-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
+ tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
+ dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
+ got section for RELATIVE relocs. Fix wrong comment. Change condition
+ under which dynamic relocs update the section contents.
+
+2003-06-13 Robert Millan <zeratul2@wanadoo.es>
+
+ * config.bfd: Add i386-netbsd-gnu target.
+
+2003-06-12 Nick Clifton <nickc@redhat.com>
+
+ * opncls.c (calc_crc32): Rename to
+ bfd_calc_gnu_debuglink_crc32 and export.
+ (GNU_DEBUGLINK): Define and use to replace occurrences of
+ hard-coded ".gnu_debuglink" in the code.
+ (get_debug_link_info): Prevent aborts by replacing call to
+ xmalloc with a call to malloc.
+ (find_separate_debug_file): Prevent aborts by replacing calls
+ to xmalloc and xstrdup with calls to malloc and strdup.
+ (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
+ section to a bfd.
+ * bfd-in2.h: Regenerate.
+
+2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
+
+ * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
+ New target (was i[3-7]86-*-openbsd* before).
+ (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
+ (vax-*-openbsd*): New target.
+
+2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
+ for n32, too.
+ (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
+ (mips_elf_rel_dyn_section): Use appropriate section alignment.
+ (mips_elf_create_got_section): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Likewise.
+
+2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (mips_elf_generic_reloc): New Function.
+ (elf_mips_howto_table_rel): Use it.
+ (gprel32_with_gp): Move prototype.
+ (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Use mips_elf_generic_reloc.
+ (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Code cleanup.
+ (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
+ zero addend.
+ (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
+ as in the other *_gprel*_reloc functions.
+ (gprel32_with_gp): Handle partial_inplace properly.
+ (mips32_64bit_reloc): Use mips_elf_generic_reloc.
+ (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
+ Do addend handling directly instead of calling
+ _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
+ * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
+ of zero addend. Handle partial_inplace properly.
+ (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
+ addend.
+ (mips_elf64_gprel16_reloc): Likewise.
+ (mips_elf64_literal_reloc): Likewise.
+ (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
+ logic as in the other *_gprel*_reloc functions. Handle
+ partial_inplace properly.
+ (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
+ addend. Handle partial_inplace properly.
+ (mips16_gprel_reloc): Likewise. Do addend handling directly instead
+ of calling _bfd_mips_elf_gprel16_with_gp.
+ * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
+ (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
+ of zero addend.
+ (mips_elf_shift6_reloc): Handle partial_inplace properly.
+ (mips16_gprel_reloc): Likewise. Do addend handling directly instead
+ of calling _bfd_mips_elf_gprel16_with_gp.
+ * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
+ partial_inplace properly. Fix wrong addend handling. Fix overflow
+ check.
+ (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
+ exported.
+ (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
+ (_bfd_mips_elf_relocate_section): Likewise.
+ (mips_elf_create_dynamic_relocation): Update sec_info_type access.
+ * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
+ (_bfd_mips_elf_sign_extend): New prototype.
+
+2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
+
+ * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
+ New target (was sparc-*-openbsd* before).
+ (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
+
+ * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
+ * configure: Regenerate.
+
+2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * po/Make-in (DESTDIR): New.
+ (install-data-yes): Support $(DESTDIR).
+ (uninstall): Likewise.
+
+2003-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (config.status): Depend on version.h.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2003-06-10 Alan Modra <amodra@bigpond.net.au>
+ Gary Hade <garyhade@us.ibm.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_h8300sxn): New architecture.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (h8300_scan): Check for 'sxn'.
+ (h8300sxn_info_struct): New.
+ (h8300sx_info_struct): Link to it.
+ * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
+ (elf32_h8_final_write_processing): Likewise.
+
+2003-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
+ elfxx-target.h so that we can use elf_backend_got_header_size.
+ (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
+ (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
+ associated macros.
+ (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
+ dst_mask.
+ (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
+ ppc_stub_plt_branch_r2off.
+ (struct ppc_stub_hash_entry): Reorganize.
+ (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
+ toc_curr, toc_off and emit_stub_syms.
+ (ppc64_elf_link_hash_table_create): Init them.
+ (ppc_stub_name): Correct string size.
+ (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
+ (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
+ used.
+ (ppc_type_of_stub): Tweak root.type test.
+ (build_plt_stub): Remove glink code. Adjust for insn macro changes.
+ (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
+ ppc_stub_plt_branch_r2off.
+ (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
+ range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
+ (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
+ Initialize elf_gp and toc_curr.
+ (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
+ (ppc64_elf_next_input_section): Set toc_off.
+ (group_sections): Ensure groups have the same TOC.
+ (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
+ (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
+ Build new glink stub.
+ (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
+ (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
+ * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
+ (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
+ * section.c (struct sec): Rename flag12 to has_gp_reloc.
+ (STD_SECTION): Update.
+ * ecoff.c (bfd_debug_section): Update comment.
+ * bfd-in2.h: Regenerate.
+
+2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
+ NULL function pointers.
+
+2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Call
+ _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
+
+2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
+ ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
+ swaptables.
+ * coff-tic4x.c: Ditto
+ * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
+ and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
+ CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
+ ticoff1_bad_format_hook() functions. Created the coff0 and coff1
+ swap tables.
+ * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
+ * coff-a29k.c: Append COFF_SWAP_TABLE argument
+ * coff-apollo.c: Ditto
+ * coff-arm.c: Ditto
+ * coff-h8300.c: Ditto
+ * coff-h8500.c: Ditto
+ * coff-i960.c: Ditto
+ * coff-m68k.c: Ditto
+ * coff-m88k.c: Ditto
+ * coff-mcore.c: Ditto
+ * coff-sh.c: Ditto
+ * coff-sparc.c: Ditto
+ * coff-tic80.c: Ditto
+ * coff-we32k.c: Ditto
+ * coff-z8k.c: Ditto
+ * coff-w65.c: Ditto
+
+2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
+ initialization bug
+
+2003-06-03 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
+ (bfd_section_from_phdr): Likewise.
+ (map_sections_to_segments): Create PT_GNU_STACK segment header.
+ (get_program_header_size): Count with PT_GNU_STACK.
+ * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
+ * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
+
+2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_input_bfd): Call linker error_handler
+ for discarded definitions.
+
+2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * syms.c (decode_section_type): Return 'n' if section flags are
+ SEC_HAS_CONTENTS && SEC_READONLY.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
+ R_V850_ABS32. Add entry for R_V850_REL32.
+ (v850_elf_reloc_map): Likewise.
+ (v850_elf_check_relocs): Likewise.
+ (v850_elf_perform_relocation): Likewise.
+ (v850_elf_final_link_relocate): Likewise. Include computation
+ to make R_V850_REl32 pc-relative.
+
+2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
+ and DT_DEBUG dynamic tag even for position independent executables.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
+
+2003-06-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.bfd: Move obsolete entries out of the range of the
+ targmatch sed script.
+
+2003-06-02 Daniel Jacobowitz <drow@mvista.com>
+
+ * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
+
+2003-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
+ plt entries, not just 8191.
+
+2003-05-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
+ Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
+
+2003-05-30 Ulrich Drepper <drepper@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Use !info->executable
+ instead of info->shared where appropriate.
+ (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
+ * elflink.c (_bfd_elf_create_got_section): Likewise.
+ (_bfd_elf_link_create_dynamic_sections): Likewise.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
+ and DT_DEBUG dynamic tag even for position independent executables.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+ * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
+ * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
+ * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
+ * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
+ * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
+
+2003-05-30 Kris Warkentin <kewarken@qnx.com>
+
+ * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
+ signalled thread.
+ (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
+
+2003-05-29 Nick Clifton <nickc@redhat.com>
+
+ * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
+ Tidy up formatting.
+ * Makefile.am: Add dependency on safe-ctype.h.
+ * Makefile.in: Regenerate.
+
+2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Don't force symbols local unconditionally.
+
+2003-05-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
+ undefined_symbol call.
+
+2003-05-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
+ (mips_elf_link_hash_table): Likewise.
+
+2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+ R_MIPS_GNU_REL16_S2 support.
+ (bfd_elf64_bfd_reloc_type_lookup): Use it.
+ (mips_elf64_rtype_to_howto): Use it.
+ * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+ R_MIPS_GNU_REL16_S2 support.
+ (bfd_elf32_bfd_reloc_type_lookup): Use it.
+ (mips_elf_n32_rtype_to_howto): Use it.
+
+2003-05-21 Stuart F. Downing <sdowning@fame.com>
+
+ * som.h: Define PA_2_0 before including a.out.h
+
+2003-05-07 Eric Christopher <echristo@redhat.com>
+ Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
+ pic tests, change to warning.
+ (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
+
+2003-05-21 Marcus Comstedt <marcus@mc.pp.se>
+
+ * config.bfd: Check for a target triplet of shl-...-netbsdelf as
+ well as shle-...-netbsdelf. Remove duplicate entry.
+
+2003-05-21 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
+ for X_STORMY16_REL_12 reloc.
+
+ * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
+ the type of the hash table in the bfd_link_info structure.
+ (bfd_elf_get_runpath_list): Likewise.
+
+2003-05-19 Roland McGrath <roland@redhat.com>
+
+ * elf.c (bfd_elf_bfd_from_remote_memory): New function.
+ * bfd-in.h: Declare it.
+ * bfd-in2.h: Regenerated.
+ * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
+ * elf-bfd.h (struct elf_backend_data): New function pointer member
+ elf_backend_bfd_from_remote_memory.
+ (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
+ Declare them.
+ * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
+ (elfNN_bed): Add that to the initializer.
+
+2003-05-15 Roland McGrath <roland@redhat.com>
+
+ * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
+
+2003-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_output_extsym): Only issue error about !=
+ STV_DEFAULT symbols if they are bfd_link_hash_undefined.
+
+2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
+ when removing the old definition for symbols with non-default
+ visibility.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
+
+2003-05-17 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
+ elf_section_data during processing of pc-relative and absolute
+ relocations.
+ (elf_m68k_relocate_section): Use the cached reloc section instead
+ of computing it again. Fix handling of visibility. Don't modify
+ addend when copying over a relocation into the output.
+
+2003-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+ to trim plt entries. Move undefweak non-default visibility test..
+ (allocate_dynrelocs): ..from here.
+ * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
+ dynamic_sections_created here. Update comment. Move undefweak
+ non-default visibility test..
+ (allocate_dynrelocs): ..from here. Fix comment.
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+ to trim plt entries. Move undefweak non-default visibility test..
+ (allocate_dynrelocs): ..from here. Fix comment.
+ * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
+ STV_DEFAULT rather than comparing with zero.
+ * elflink.c (_bfd_elf_merge_symbol): Likewise.
+ (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
+
+2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
+ pointers.
+ (_bfd_set_gp_value): Likewise.
+
+2003-05-16 Michael Snyder <msnyder@redhat.com>
+ From Bernd Schmidt <bernds@redhat.com>
+ * archures.c (bfd_mach_h8300sx): New.
+ * bfd-in2.h: Regenerate.
+ * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
+ (h8300sx_info_struct): New.
+ (h8300s_info_struct): Link to it.
+ * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
+ (elf32_h8_final_write_processing): Likewise.
+ (elf32_h8_relax_section): Likewise.
+
+2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * config.bfd: Accept i[3-7]86 variants.
+ * configure.host: Likewise.
+ * configure.in: Likewise.
+ * configure: Regenerate.
+
+2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
+ symbol.
+
+2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_check_versioned_symbol): Also allow
+ the base version.
+
+2003-05-15 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
+ (elf_i386_relocate_section): Likewise.
+ * elf32-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise.
+
+2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
+
+2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
+ processor capability, allow merge of HC12 and HCS12 in some cases.
+ (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
+ * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
+ (bfd_m68hc12_arch): Link it.
+ (scan_mach): New function.
+
+2003-05-13 Andrew Haley <aph@redhat.com>
+
+ * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
+
+2003-05-13 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
+ elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
+ * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
+ (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
+ (ppc_elf_relocate_section): Likewise.
+ * elf64-ppc.c (allocate_dynrelocs): Likewise.
+ (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
+ (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
+ relocs need no other types.
+ * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
+ dynreloc check.
+ (elf_i386_relocate_section): Likewise. Use for .got relocs too.
+ (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
+ .got relocs.
+
+2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
+ copy ELF_LINK_NON_GOT_REF from weakdef.
+ (allocate_dynrelocs): For undef weak syms with non-default
+ visibility, a) don't allocate plt entries, b) don't allocate
+ .got relocs, c) discard dyn rel space
+ (sh_elf_relocate_section): d) don't generate .got relocs, e)
+ don't generate dynamic relocs.
+ (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
+ for weakdefs when symbol already adjusted.
+
+2003-05-12 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
+ overflow detection for R_XSTORMY16_16 reloc.
+
+2003-05-12 Paul Clarke <paulc@senet.com.au>
+
+ * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
+
+2003-05-11 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_highadj): Properly
+ adjust upper bits.
+ (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
+ proper place.
+ (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
+ proper place.
+
+2003-05-11 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
+ complicated tests for unresolvable relocs with a simple direct
+ scheme using "unresolved_reloc" var. Report some detail on
+ bfd_reloc_outofrange and similar errors.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
+ Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ * elf64-s390.c: Likewise.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
+ already been adjusted before treating it specially.
+ * el64-s390.c: Likwise.
+
+2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't make them dynamic, b) discard
+ space for dynamic relocs.
+ (elf_s390_relocate_section): Initialize the GOT entries and skip
+ R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
+ symbols with non-default visibility.
+ * elf64-s390.c: Likewise.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-arm.c (arm_check_note): Warning fix.
+ * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
+ to keep relocs if edited.
+ (iq2000_elf_print_private_bfd_data): Return TRUE.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
+ ELF64_R_SYM.
+ (elfNN_ia64_relax_ldxmov): Warning fix.
+ * xtensa-isa.c (xtensa_add_isa): Warning fix.
+ * xtensa-modules.c (get_num_opcodes): Warning fix.
+
+2003-05-09 Andrey Petrov <petrov@netbsd.org>
+
+ * elf.c (elf_fake_sections): Use correct cast for sh_name.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
+ elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
+ (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
+ (bfd_elf_record_link_assignment): Move from elflink.h.
+ (_bfd_elf_merge_symbol): Likewise.
+ (_bfd_elf_add_default_symbol): Likewise.
+ (_bfd_elf_export_symbol): Likewise.
+ (_bfd_elf_link_find_version_dependencies): Likewise.
+ (_bfd_elf_link_assign_sym_version): Likewise.
+ (_bfd_elf_link_read_relocs): Likewise.
+ (_bfd_elf_link_size_reloc_section): Likewise.
+ (_bfd_elf_fix_symbol_flags): Likewise.
+ (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_elf_link_sec_merge_syms): Likewise.
+ (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
+ and bed->s->sizeof_rela.
+ (_bfd_elf_link_output_relocs): Likewise.
+ * elf-bfd.h (struct elf_size_info): Rename file_align to
+ log_file_align.
+ (struct elf_info_failed): Move from elflink.h.
+ (struct elf_assign_sym_version_info): Likewise.
+ (struct elf_find_verdep_info): Likewise.
+ (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
+ (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
+ _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
+ _bfd_elf_link_assign_sym_version,
+ _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
+ _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
+ _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
+ _bfd_elf_link_sec_merge_syms): Declare.
+ (bfd_elf32_link_create_dynamic_sections): Don't declare.
+ (_bfd_elf32_link_read_relocs): Likewise.
+ (bfd_elf64_link_create_dynamic_sections): Likewise.
+ (_bfd_elf64_link_read_relocs): Likewise.
+ * elflink.h: Move lots o' stuff elsewhere.
+ * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
+ (bfd_elf64_record_link_assignment): Likewise.
+ (bfd_elf_record_link_assignment): Declare.
+ * bfd-in2.h: Regenerate.
+ * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
+ (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
+ * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
+ (assign_file_positions_for_segments): Likewise.
+ (assign_file_positions_except_relocs): Likewise.
+ (swap_out_syms, elfcore_write_note): Likewise.
+ * elf-m10200.c: Adjust for changed function names.
+ * elf-m10300.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
+ * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-mips.c (mips_elf64_size_info): Likewise.
+ * elf64-s390.c (s390_elf64_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_add_default_symbol): After skipping the
+ unversioned symbol, go to non-default one.
+
+2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
+ want_plt field.
+ (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
+ for symbols with non-default visibility.
+
+2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.h (elf_link_check_versioned_symbol): Also handle the
+ case that a DSO references a hidden symbol which may be
+ satisfied by a versioned symbol in another DSO.
+ (elf_link_output_extsym): Check versioned definition for hidden
+ symbol referenced by a DSO.
+
+2003-05-07 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
+ R_XSTORMY16_16 reloc to ignore overflows.
+
+2003-05-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
+ error message for mixing different-endian files. Check for ABI
+ compatibility of input files with the selected emulation.
+
+2003-05-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't make them dynamic, b) discard
+ space for dynamic relocs.
+ * elf64-x86-64.c (allocate_dynrelocs): Likewise.
+
+ * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
+ non-default visibility, a) don't allocate plt entries, b) don't
+ allocate .got relocs, c) discard dyn rel space,
+ (ppc_elf_relocate_section): d) don't generate .got relocs, e)
+ don't generate dynamic relocs.
+ * elf64-ppc.c (allocate_dynrelocs): As above.
+ (ppc64_elf_relocate_section): As above.
+
+2003-05-05 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
+ relocation entries for weak undefined symbols with non-default
+ visibility.
+ (elf64_x86_64_relocate_section): Initialize the GOT entries and
+ skip R_386_32/R_386_PC32 for weak undefined symbols with
+ non-default visibility.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
+ relocation entries for weak undefined symbols with non-default
+ visibility.
+ (elf_i386_relocate_section): Initialize the GOT entries and
+ skip R_386_32/R_386_PC32 for weak undefined symbols with
+ non-default visibility.
+
+ * elfxx-ia64.c (allocate_fptr): Don't allocate function
+ descriptors for weak undefined symbols with non-default
+ visibility.
+ (allocate_dynrel_entries): Don't allocate relocation entries
+ for symbols resolved to 0.
+ (set_got_entry): Don't install dynamic relocation for weak
+ undefined symbols with non-default visibility.
+ (set_pltoff_entry): Likewise.
+
+ * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
+ with non-default visibility.
+ (elf_link_output_extsym): Don't make weak undefined symbols
+ with non-default visibility dynamic.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Correctly handle weak definition.
+
+2003-05-04 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Don't record a hidden/internal
+ symbol dynamic. Check indirection when removing the old
+ definition for symbols with non-default visibility.
+ (elf_add_default_symbol): Skip when told by elf_merge_symbol.
+
+2003-05-02 Nick Clifton <nickc@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
+ R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
+ unsigned overflow.
+
+2003-05-02 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
+ ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+ (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
+ (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-05-02 Charles Lepple <clepple@ghz.cc>
+ Nick Clifton <nickc@redhat.com>
+
+ * acinclude.m4: Fix name of --enable-install-libbfd switch.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2003-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
+ weakdef sym has already been adjusted before treating it specially.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
+ ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
+ the relax finalize pass.
+
+ * section.c (struct sec): Add need_finalize_relax and remove
+ flag11.
+ (STD_SECTION): Update struct sec initializer.
+ * bfd-in2.h: Regenerated.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
+ to copy any information related to dynamic linking when we flip
+ the indirection.
+
+2003-04-27 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
+ (ELF_LINK_DYNAMIC_WEAK): New.
+
+ * elflink.h (elf_merge_symbol): Add one argument to indicate if
+ a symbol should be skipped. Ignore definitions in dynamic
+ objects for symbols with non-default visibility.
+ (elf_add_default_symbol): Adjusted.
+ (elf_link_add_object_symbols): Check if a symbol should be
+ skipped. Don't merge the visibility field with the one from
+ a dynamic object.
+ (elf_link_check_versioned_symbol): Use undef_bfd.
+ (elf_link_output_extsym): Warn if a forced local symbol is
+ referenced from dynamic objects. Make non-weak undefined symbol
+ with non-default visibility a fatal error.
+
+2003-04-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure.in: Bump version on HEAD to 2.14.90.
+ * configure: Regenerated.
+
+2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR savannah/3331:
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
+ when we couldn't relax something.
+
+2003-04-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_merge_symbol): When we find a regular definition
+ for an indirect symbol, flip the indirection so that the old
+ direct symbol now points to the new definition.
+
+2003-04-24 Roland McGrath <roland@redhat.com>
+
+ * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
+
+2003-04-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c: Formatting and comment fixes.
+ (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
+ (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
+ * bfd-in2.h: Rebuilt.
+ * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
+ * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
+ & H8300SNMAGIC.
+ (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
+ * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
+ (h8300sn_info_struct, h8300hn_info_struct): New.
+ * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
+ (elf32_h8_final_write_processing): Likewise.
+
+2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (tpoff): New.
+ (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (allocate_dynrelocs): Don't make unnecessary dynamic TLS
+ relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
+ (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
+ (dtpoff_base): Fix wrong indentation.
+ (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
+ relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
+ R_SH_TLS_TPOFF32 relocations.
+
+2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
+ * cpu-sh.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * reloc.c (bfd_reloc_code_real): Likewise.
+ * elf32-sh64-com.c: Change comment to refer to SuperH.
+ * elf32-sh64.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * bfd-in2.h (enum bfd_architecture): Regenerate.
+
+2003-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ From Julien LEMOINE <speedblue@debian.org>
+ * elf32-i386.c (elf_i386_info_to_howto): Delete.
+ (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
+
+2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * archures.c: Replace references to Mitsubishi M32R with references
+ to Renesas M32R.
+ * relocs.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-04-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
+ executable when a symbol is defined both regular and dynamic.
+
+2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
+ (elf32-m68hc1x.lo): Update dependencies
+ * configure.in: Add elf32-m68hc1x.lo.
+ * configure: Rebuild.
+ * Makefile.in: Rebuild.
+
+2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+ (m68hc11_elf_hash_table_create): New function.
+ (elf32_m68hc11_link_hash_table_free): New function.
+ (stub_hash_newfunc): New function.
+ (m68hc11_add_stub): New function.
+ (elf32_m68hc11_add_symbol_hook): New function.
+ (elf32_m68hc11_setup_section_lists): New function.
+ (elf32_m68hc11_next_input_section): New function.
+ (elf32_m68hc11_size_stubs): New function.
+ (elf32_m68hc11_build_stubs): New function.
+ (m68hc11_get_relocation_value): New function.
+ (elf32_m68hc11_relocate_section): Call the above to redirect
+ some relocations to the trampoline code.
+ (m68hc11_elf_export_one_stub): New function.
+ (m68hc11_elf_set_symbol): New function.
+ (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
+ (m68hc11_elf_get_bank_parameters): Get parameters only when the info
+ is not yet initialized.
+
+ * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+ (elf32_m68hc11_stub_hash_entry): New struct.
+ (m68hc11_page_info): Add trampoline handler address.
+ (m68hc11_elf_link_hash_table): Add stubs generation members.
+ (elf32_m68hc11_add_symbol_hook): Declare.
+ (elf32_m68hc11_setup_section_lists): Declare.
+ (elf32_m68hc11_size_stubs): Declare.
+ (elf32_m68hc11_build_stubs): Declare.
+
+ * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
+ (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
+ (_bfd_m68hc11_elf_set_private_flags): Ditto.
+ (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
+ (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_add_symbol_hook): Define.
+ (m68hc11_elf_bfd_link_hash_table_create): New function.
+ (m68hc11_elf_build_one_stub): New function.
+ (m68hc11_elf_size_one_stub): New function.
+ (m68hc11_elf_bfd_link_hash_table_create): Install the above.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+
+ * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
+ (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
+ (m68hc12_phys_addr): Ditto.
+ (m68hc12_phys_page): Ditto.
+ (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
+ (elf32_m68hc11_gc_mark_hook): Likewise.
+ (elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf32_m68hc11_check_relocs): Likewise.
+ (elf32_m68hc11_relocate_section): Likewise.
+ (_bfd_m68hc12_elf_set_private_flags): Likewise.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
+ (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
+ (m68hc12_elf_build_one_stub): New function.
+ (m68hc12_elf_size_one_stub): New function.
+ (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
+ (elf_backend_add_symbol_hook): Define.
+ (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
+
+2003-04-18 Nick Clifton <nickc@redhat.com>
+
+ * format.c (bfd_check_format_matches): Only check associated
+ vector if the matching_vector has been created.
+
+2003-04-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
+ 2003-04-09's change.
+
+2003-04-15 Brian Ford <ford@vss.fsi.com>
+
+ * peicode.h (coff_swap_scnhdr_in): If a section holds
+ uninitialized data and is from an object file or from an
+ executable image that has not initialized the s_size field, or if
+ the physical size is padded, use the virtual size (stored in
+ s_paddr) instead.
+
+2003-04-15 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Properly report
+ filename for alignment reduction.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+ * reloc.c: Likewise.
+ * coff-h8300.c: Likewise.
+ * coff-h8500.c: Likewise.
+ * coff-sh.c: Likewise.
+ * cpu-h8300.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64-com.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-04-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Maintain maximum
+ alignment for common symbols. Warn reducing alignment for
+ common symbols. Report old filename when symbol size changes.
+
+2003-04-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
+ occurrences of the same test changed in the previous patch.
+ Optimize.
+
+2003-04-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
+ (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
+ GOT_DISP/addend only if the symbol got a global GOT entry.
+
+2003-04-10 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Decay
+ GOT_PAGE/GOT_OFST referencing overridable symbol to
+ GOT_DISP/addend.
+ (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
+ global symbol as GOT_DISP.
+
+2003-04-10 Bob Wilson <bob.wilson@acm.org>
+
+ * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
+ next relocation on an undefined symbol.
+
+2003-04-09 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
+ Ignore relocations against r_symndx == 0.
+
+2003-04-09 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
+ FALSE for undefined symbols.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
+ and IRIX-specific shift-to-64-bit 4-byte lengths before following
+ addr_size.
+
+2003-04-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
+ pointer size from ABI, not arch_bits_per_address.
+
+2003-04-07 Kevin Buettner <kevinb@redhat.com>
+
+ * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
+ constants for n32 ABI.
+
+2003-04-06 Andrew Cagney <cagney@redhat.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Disable
+ free that leads to GDB vs BFD memory corruption.
+
+2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
+ symbols that mark the end of the section.
+ (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
+ converting to a relative branch so that the offset is computed after
+ the relaxation; also relocate a jsr into a bsr if possible but don't
+ relax them if they are to a far symbol as we need to call the
+ trampoline code.
+ (elf_m68hc11_howto_table): Set pcrel_offset to true.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
+ bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
+ * bfd-in2.h: Regenerate
+ * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
+ * cpu-tic4x.c: Ditto
+
+2003-04-03 Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
+ differently for object files and executables.
+ * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
+ for object files or for executables who have not already
+ initialised the field.
+ * libpei.h (bfd_pe_executable_p): New macro. Return true if
+ the PE format bfd is an executable.
+
+2003-04-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
+ here as it's too early to reliably determine locality.
+ (ppc_elf_gc_sweep_hook): Likewise.
+ (SYMBOL_REFERENCES_LOCAL): Expand comment.
+
+2003-04-02 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-modules.c: Remove comment indicating that this is a
+ generated file.
+
+2003-04-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
+ (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
+ (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
+ xtensa-modules.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
+ xtensa-modules.c.
+ (cpu-xtensa.lo): New target.
+ (elf32-xtensa.lo): Likewise.
+ (xtensa-isa.lo): Likewise.
+ (xtensa-modules.lo): Likewise.
+ * Makefile.in: Regenerate.
+ * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
+ (bfd_archures_list): Add bfd_xtensa_arch.
+ * config.bfd: Handle xtensa-*-*.
+ * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
+ * configure: Regenerate.
+ * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
+ PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
+ * targets.c (bfd_elf32_xtensa_be_vec): Declare.
+ (bfd_elf32_xtensa_le_vec): Likewise.
+ (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
+ * cpu-xtensa.c: New file.
+ * elf32-xtensa.c: Likewise.
+ * xtensa-isa.c: Likewise.
+ * xtensa-modules.c: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Likewise.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_arm_unknown): Define.
+ * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
+ bfd_arm_get_mach_from_notes): Prototype.
+ * bfd-in2.h: Regenerate.
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Call
+ bfd_arm_merge_machines.
+ (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
+ * coffcode.h (coff_set_arch_mach_hook): Call
+ bfd_arm_get_mach_from_notes.
+ * coffgen.c (coff_real_object_p): Revert previous delta.
+ * cpu_arm.c (arm_check_note): New function. Examine a note in a
+ .note section.
+ (bfd_arm_merge_machines): New function: Handle the merging of ARM
+ binaries compiled for different architectures..
+ (bfd_arm_update_notes): New function: Update an ARM note section.
+ (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
+ number from an ARM note section.
+ * elf32-arm.h (elf32_arm_object_p): Use
+ bfd_arm_get_mach_from_notes.
+ (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
+ (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
+
+2003-04-01 Ben Elliston <bje@wasabisystems.com>
+
+ * dwarf2.c (read_attribute_value): Correct typo in comment.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
+ instead of concat().
+ (decode_line_info): Only free filename if it is not NULL.
+ (add_line_info): Make a copy of the filename when storing it into
+ the info structure.
+
+2003-03-31 Andreas Schwab <schwab@suse.de>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * simple.c (bfd_simple_get_relocated_section_contents): Add
+ parameter symbol_table. Optionally use it instead of the symbol
+ table from the bfd. Save and restore output offsets and output
+ sections around bfd_get_relocated_section_contents. Fix a memory
+ leak.
+ (simple_save_output_info, simple_restore_output_info): New
+ functions.
+ * bfd-in2.h: Regenerate.
+ * dwarf2.c (read_abbrevs): Use
+ bfd_simple_get_relocated_section_contents instead of
+ bfd_get_section_contents.
+ (decode_line_info): Likewise.
+ (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
+ find_rela_addend.
+ (find_rela_addend): Remove.
+ * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
+ debugging sections.
+ (elfNN_ia64_hash_table_create): Create the hash table with malloc,
+ not bfd_zalloc.
+
+2003-03-31 David Heine <dlheine@suif.stanford.edu>
+
+ * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
+ bfd_alloc.
+ * dwarf2.c (concat_filename): Always allocate space for the
+ returned filename.
+ (decode_line_info): Free the allocated filename returned by
+ concat_filename.
+ * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
+ * elf.c (copy_private_bfd_data): Likewise.
+ (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
+ * elflink.h (elf_link_sort_relocs): Fix memory leak.
+ * format.c (bfd_check_format_matches): Likewise.
+ * linker.c (bfd_generic_final_link): Likewise.
+ * opncls.c (find_separate_debug_info): Likewise.
+ * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
+
+2003-03-28 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Correctly combine
+ visibilities.
+
+2003-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
+ to -1 before recomputing got offsets.
+
+2003-03-26 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf_m68k_relocate_section): Use it to correctly handle symbols
+ forced to be local.
+ (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
+ entries for symbols that are forced to be local.
+
+2003-03-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_relax_section): New function.
+ * elfxx-mips.h (_bfd_mips_relax_section): Declare.
+ * elfn32-mips.c, elf64-mips.c: Use it.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * archures.c: Add bfd_mach_arm_iWMMXt.
+ * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
+ object files to be linked with XScale ones.
+ (coff_arm_final_link_postscript): Update note section.
+ * coffcode.h (coff_set_arch_mach_hook): Handle note section.
+ * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
+ after identifying a coff binary.
+ * cpu-arm.c (processors): Add iWMMXt.
+ (arch_inf): Likewise.
+ * elf32-arm.h (arm_object_p): Handle note section.
+ (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
+ be linked with XScale ones.
+ (elf32_arm_section_flags): New function: Set flags on note section.
+ (elf32_arm_final_write_processing): Handle note section.
+
+2003-03-21 DJ Delorie <dj@redhat.com>
+
+ * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
+ _bfd_elf_rela_local_sym.
+
+2003-03-20 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
+ non-ELF outputs.
+
+2003-03-20 Nick Clifton <nickc@redhat.com>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
+ $idata5 in case bfd_coff_final_link is not called.
+
+2003-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
+ field.
+ (canon_reloc_count): Define.
+ (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
+ sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
+ reloc_count.
+ (sparc64_elf_canonicalize_reloc): New routine.
+ (bfd_elf64_canonicalize_reloc): Define.
+
+2003-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
+ againt mergeable sections. Take r_addend into account when caching
+ trampolines.
+
+2003-03-18 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
+ local symbols that have no dyninfo.
+
+2003-03-14 Gene Smith <gene.smith@siemens.com>
+
+ * ieee.c (ieee_write_expression): Handle the case where symbol is
+ NULL.
+ General formatting improvements.
+
+2003-03-13 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (LINGUAS): Add zh_CN.
+ * configure: Regenerate.
+ * po/zh_CN.po: New file.
+
+2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * aout-cris.c (BYTES_IN_WORD): Don't define.
+ aout-encap.c: Likewise.
+ aout-ns32k.c: Likewise.
+ aout-tic30.c: Likewise.
+ hp300bsd.c: Likewise.
+ i386aout.c: Likewise.
+ i386dynix.c: Likewise.
+ i386linux.c: Likewise.
+ i386lynx.c: Likewise.
+ i386mach3.c: Likewise.
+ m68k4knetbsd.c: Likewise.
+ m68klinux.c: Likewise.
+ m68klynx.c: Likewise.
+ m68knetbsd.c: Likewise.
+ m88kmach3.c: Likewise.
+ mipsbsd.c: Likewise.
+ newsos3.c: Likewise.
+ sparclinux.c: Likewise.
+ sparclynx.c: Likewise.
+ sparcnetbsd.c: Likewise.
+ vaxbsd.c: Likewise. Fix comment formatting.
+
+2003-03-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * Reverted 2003-03-02's patch.
+
+ * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
+ overridable.
+ * elf64-mips.c (mips_elf64_canonicalize_reloc,
+ mips_elf64_get_dynamic_reloc_upper_bound,
+ mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
+ (bfd_elf64_get_canonicalize_reloc,
+ bfd_elf64_get_dynamic_reloc_upper_bound,
+ bfd_elf64_canonicalize_dynamic_reloc): Define.
+ (mips_elf64_slurp_reloc_table): Support dynamic.
+ (mips_elf64_slurp_one_reloc_table): Adjust.
+
+2003-03-12 Nick Clifton <nickc@redhat.com>
+
+ * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
+ 'index' to 'offset' in test for zero value.
+
+2003-03-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
+ dynamic relocations pointing to local or section symbols, use the
+ NULL symbol instead. Document the choice to not emit an
+ additional R_MIPS_64 relocation.
+
+2003-03-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
+ zero index dynamic tls relocs generated for the GOT. Tidy code.
+ Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2003-03-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
+ a tls_get_addr call.
+
+ * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+ (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+ * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
+ (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
+ ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-03-06 Jakub Jelinek <jakub@redhat.com>
+ Andrew Haley <aph@redhat.com>
+
+ * elflink.h (elf_bfd_discard_info): Don't process eh frames if
+ output is relocateable.
+
+2003-03-06 Steven Konopa <skonopa@kgo.csc.com>
+
+ * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
+ R_COMMENT.
+
+2003-03-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
+ error messages.
+ (ELIMINATE_COPY_RELOCS): Define to zero.
+ (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
+ TLSLD relocs. Report reloc types on a number of errors. Optimize
+ LOCAL24PC check for non-local syms. Don't capitalize error messages.
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
+ (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
+ calculating TLSLD relocs. Report reloc types on a number of errors.
+ Don't capitalize error messages.
+
+2003-03-03 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (USE_BRL): Removed.
+ (oor_ip): Removed.
+
+2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
+ relocation (no special function), and make it non-partial_inplace.
+ (sh_elf_relax_section): When creating a bsr, use a consistent value
+ no matter if the symbol is extern or not; set addend to -4.
+ Don't swap load / non-load instructions for SH4.
+ (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
+ rather than if the symbol is external to determine if adjusting the
+ offset makes sense. Adjust the addend too if appropriate.
+ (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
+ relocation.
+
+2003-03-03 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Installed latest translation.
+
+2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
+ R_MIPS_PC16 to rightshift 2.
+ (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
+ (bfd_elf32_bfd_reloc_type_lookup): Support
+ BFD_RELOC_MIPSEMB_16_PCREL_S2.
+ * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
+ R_MIPS_PC16 to rightshift 2.
+ (mips_elf64_howto_table_rela): Likewise.
+ (mips_reloc_map): Map to rightshifted BFD reloc.
+ * elfn32-mips.c: The same as in elf64-mips.c.
+ * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
+ (mips_elf_calculate_relocation): Handle rightshifted addends for
+ R_MIPS_PC16.
+ * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
+ MIPS Embedded PIC. Remove superfluous empty COMMENT.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2003-02-28 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
+ for ltoff22x relaxation.
+
+2003-03-01 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (_bfd): Don't define.
+ * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
+ * syms.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2003-02-27 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
+ (elfNN_ia64_check_relocs): Set it.
+ (allocate_global_data_got): Check it.
+ (allocate_local_got): Likewise.
+ (allocate_dynrel_entries): Likewise.
+ (elfNN_ia64_relax_ldxmov): New.
+ (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
+ (elfNN_ia64_choose_gp): Split out from ...
+ (elfNN_ia64_final_link): ... here.
+
+2003-02-27 Andrew Cagney <cagney@redhat.com>
+
+ * bfd.c (struct bfd): Rename "struct _bfd".
+ * bfd-in.h: Update copyright.
+ (struct bfd): Rename "struct _bfd".
+ (_bfd): Define for backward compatibility.
+ * bfd-in2.h: Regenerate.
+
+2003-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
+ and rel_hdr2 when initially counting input relocs rather than after
+ creating output reloc sections.
+ (elf_link_read_relocs_from_section): Don't abort with wrong reloc
+ sizes.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-02-24 Kris Warkentin <kewarken@qnx.com>
+
+ * elf.c (elfcore_read_notes): Add check for QNX style core file.
+ (elfcore_grog_nto_note): New function.
+ (elfcore_grog_nto_gregs): New function.
+ (elfcore_grog_nto_status): New function.
+
+2003-02-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_got_section): Check existing .got
+ section flags before concluding that we've already been called.
+ Don't use register keyword.
+ (_bfd_elf_create_dynamic_sections): Don't use register keyword.
+ (_bfd_elf_create_linker_section): Formatting.
+
+2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
+
+ * coff-h8300.c: Fix typo: intial -> initial.
+ * coff-ppc.c: Likewise.
+
+2003-02-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c: Formatting.
+ (allocate_dynrelocs): LD and GD relocs against the same sym need
+ separate GOT entries.
+ (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
+ entries per symbol.
+
+2003-02-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
+ removal. Localize vars. Remove unnecessary dynobj test.
+ * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
+ of INFO.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
+ * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
+ local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
+ or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
+ Formatting.
+
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
+ (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
+ test.
+ (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize. Use ELIMINATE_COPY_RELOCS.
+ (ppc64_elf_relocate_section): Likewise.
+
+ * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
+ (ppc_elf_copy_indirect_symbol): Copy pc_count field.
+ (ELIMINATE_COPY_RELOCS): Define.
+ (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+ (MUST_BE_DYN_RELOC): Define.
+ (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+ and optimize. Trim dyn_relocs.
+ (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
+ not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
+ track of pc_rel dyn relocs.
+ (ppc_elf_relocate_section): Remove "will_become_local". Adjust
+ WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
+ allocate_dynrelocs. Don't recalculate "sec".
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
+ * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
+ on invalid LD relocs.
+ (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
+ (ppc64_elf_relocate_section): Unify new handling of LD relocs and
+ tlsld_got entry. Use IS_PPC64_TLS_RELOC.
+
+ * elf32-ppc.h: New file.
+ * elf32-ppc.c: Include elf32-ppc.h.
+ (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
+ (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
+ Add "tls_mask" field.
+ (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
+ (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
+ Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
+ sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
+ Make use of htab shortcuts throughout file.
+ (ppc_elf_link_hash_newfunc): Init tls_mask field.
+ (ppc_elf_link_hash_table_create): Init new fields.
+ (ppc_elf_copy_indirect_symbol): Copy tls_mask.
+ (ppc_elf_howto_raw): Add tls relocs.
+ (ppc_elf_reloc_type_lookup): Handle them.
+ (ppc_elf_unhandled_reloc): New function.
+ (ppc_elf_create_got): Stash got section pointer in hash table,
+ return status. Make .rela.got too.
+ (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
+ (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
+ NON_GOT_REF set. Don't allocate space in .plt here..
+ (allocate_dynrelocs): ..do so here instead, properly ref-counting and
+ not allocating plt entries unnecessarily. Allocate got entries here.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
+ "info" during allocate_dynrelocs hash traversal. Use htab section
+ shortcuts rather than searching for named sections. Get rid of
+ "plt" and "strip" booleans.
+ (update_local_sym_info, bad_shared_reloc): New functions.
+ (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
+ ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
+ in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
+ Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
+ R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
+ in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
+ relocs that might use a plt entry. Set NON_GOT_REF too.
+ Enumerate all do-nothing relocs.
+ (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
+ tls relocs and all plt relocs.
+ (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
+ (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
+ (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
+ shortcuts.
+ (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
+ bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
+ entries and got relocs here. Warn on non-zero got reloc addend.
+ Split out branch taken/not taken reloc code into a separate switch
+ and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
+ Split out HA reloc adjustments to separate switch statement. Don't
+ warn on reloc overflow if we've already warned about undefined.
+ Don't rebuild sym name when reporting errors. Report all possible
+ errors from _bfd_final_link_relocate.
+ (bfd_elf32_bfd_final_link): Don't define.
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
+ rebuild sym name when reporting errors.
+
+2003-02-17 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_link_output_extsym): Only check
+ allow_shlib_undefined for shared libraries.
+ * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
+ of allow_shlib_undefined.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
+
+2003-02-17 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
+ address field to use in the comparison.
+ (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
+
+2003-02-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
+ backends when checking if the generic ELF target should be used.
+
+ * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
+ outside of functions, treat values as absolute addresses.
+
+ * bfd.c: Change embedded documentation to use consistent indentation
+ and to split up long lines. Change informal style of description
+ for functions lacking real documentation.
+ * coffcode.h: Break up long lines in embedded documentation.
+ * format.c: Likewise.
+ * targets.c: Likewise.
+ * libcoff.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2003-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
+ (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
+ (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
+ (allocate_dynrelocs): Don't treat undefined and undefweak specially.
+ (ppc_size_one_stub): Fix warning, and tighten plt entry check.
+ (group_sections): Don't share a stub section if stubs are for a large
+ section. Adjust comment.
+ (ppc64_elf_size_stubs): Roughly double the size left for stubs if
+ !stubs_always_before_branch.
+ (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
+ treat undefined and undefweak specially when processing dyn relocs.
+
+2003-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
+
+2003-02-13 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
+ in computation of offset to insert into BL instruction.
+
+2003-02-11 Uwe Stieber <uwe@wwws.de>
+
+ * config.bfd: Add support for kaOS as cross build target system.
+
+2003-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
+ .__tls_get_addr too.
+ (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
+
+2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
+ (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
+ (sh_elf_link_hash_newfunc): Remove the initialization of
+ tls_tpoff32 field.
+ (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
+ for which tls_tpoff32 flag is set.
+ (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
+ of the symbol includes the entry matched with the input_section
+ and having tls_tpoff32 flag on. When linking statically, set
+ symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
+ is defined in this executable.
+ (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
+
+2003-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
+ even if there is just non-empty .rela.plt.
+
+2003-02-10 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_arm_ep9312): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-arm.c (processors[]): Add ep9312.
+ (bfd_arm_arch): Add ep9312.
+ * elf32-arm.h (elf32_arm_merge_private_data): Update error
+ messages and add test for Maverick floating point support.
+ (elf32_arm_print_private_bfd_data): Handle
+ EF_ARM_MAVERICK_FLOAT flag.
+ (elf32_arm_object_p): New function.
+ (elf_backend_object_p): Define.
+
+2003-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
+ variables, structure fields or function params to tls_mask or
+ similar to better reflect usage.
+ (struct got_entry): Comment.
+ (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
+ (get_tls_mask): Rename from get_tls_type.
+
+2003-02-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (TLS_GD_LD): Don't define..
+ (TLS_GD): ..define this instead and update all uses.
+ (TLS_TPRELGD): Define.
+ (ppc64_elf_link_hash_table_create): Tweak initialization of
+ init_refcount and init_offset.
+ (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
+ Mark second slot of GD or LD toc entries.
+ (get_tls_type): Return an int. Distinguish toc GD and LD entries
+ from other tls types.
+ (ppc64_elf_tls_setup): New function, split out from..
+ (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
+ defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
+ on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
+ return value to properly decide whether toc GD and LD entries can
+ optimize away __tls_get_addr call. Check next reloc after DTPMOD64
+ to determine GD or LD rather than looking at TLS_LD flag. Don't
+ attempt to adjust got entry tls_type here..
+ (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
+ look for possible merges.
+ (ppc64_elf_size_dynamic_sections): Adjust local got entries for
+ optimization.
+ (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
+ (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
+ Make use of return value from get_tls_type to properly detect GD and
+ LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
+ handle tls_get_addr removal when looking at REL24 relocs, do it when
+ looking at the previous reloc. Check reloc after DTPMOD64 to determine
+ GD or LD.
+ * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
+
+2003-02-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (group_sections): Don't share a stub section if
+ stubs are for a large section.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
+ stubs if !stubs_always_before_branch.
+
+2003-02-07 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (swap_out_syms): Generate an error message if an
+ equivalent output section cannot be found for a symbol.
+
+2003-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
+ local_got_entries is NULL.
+
+2003-02-06 Andreas Schwab <schwab@suse.de>
+
+ * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
+ (read_value): Add parameter is_signed, use signed extraction if
+ the value is signed.
+ (_bfd_elf_write_section_eh_frame): Pass signed flag of the
+ encoding to read_value.
+
+2003-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
+ plt info when called to transfer weak sym info.
+
+2003-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c: Add PPC and PPC64 TLS relocs.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
+ (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
+ against a 32 bit field.
+ (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
+ (_ppc64_elf_section_data): Add t_symndx and comments.
+ (ppc64_elf_section_data): Use elf_section_data macro.
+ (ppc64_elf_new_section_hook): American spelling.
+ (struct got_entry, struct plt_entry): New.
+ (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
+ (struct ppc_stub_hash_entry): Add "addend" field.
+ (struct ppc_link_hash_entry): Add "tls_type".
+ (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
+ TLS_EXPLICIT): Define.
+ (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
+ (link_hash_newfunc): Init new fields.
+ (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
+ init_offset to NULL.
+ (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
+ _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
+ there.
+ (update_local_sym_info, update_plt_info): New functions.
+ (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
+ handling to use got.glist rather than got.refcount. Likewise for PLT.
+ (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
+ (func_desc_adjust): Adjust for new PLT list.
+ (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ (get_sym_h, get_tls_type): New functions.
+ (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
+ (ppc64_elf_tls_optimize): New function.
+ (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
+ TLS relocs.
+ (ppc64_elf_size_dynamic_sections): Likewise.
+ (ppc_type_of_stub): Adjust for new PLT list.
+ (ppc_build_one_stub): Likewise.
+ (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
+ calls specially.
+ (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
+ TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
+ init GOT entries that have a reloc. Generate GOT relocs here..
+ (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
+ * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
+
+2003-02-04 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_hash_entry): Define.
+ (elf_m68k_link_hash_traverse): Remove.
+ (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
+ elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
+ reduce casting.
+ (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
+ casting.
+ (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
+ instead of elf_m68k_link_hash_traverse.
+ (elf_m68k_discard_copies): Change first parameter to pointer to
+ struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
+ elf_m68k_link_hash_entry is needed.
+
+2003-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
+ (struct elf_link_hash_entry): Add "glist" and "plist" fields to
+ "got" union, and declare as gotplt_union. Use gotplt_uinion for
+ "plt" field.
+ (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
+ Add "init_offset" field.
+ (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
+ (elf_local_got_ents): Declare.
+ * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
+ and "plt".
+ (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
+ (_bfd_elf_link_hash_table_init): Set "init_offset".
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
+ from init_offset.
+ (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
+
+ * elf.c (bfd_elf_local_sym_name): Split out from..
+ (group_signature): ..here.
+ * elf-bfd.h (bfd_elf_local_sym_name): Declare.
+
+2003-02-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (enum elf_link_info_type): Remove.
+ (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
+ to struct sec. Remove linkonce_p field.
+ (elf_linkonce_p): Delete.
+ (elf_discarded_section): Update for sec_info_type change.
+ * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
+ flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
+ (ELF_INFO_TYPE_NONE): Define.
+ (ELF_INFO_TYPE_STABS): Define.
+ (ELF_INFO_TYPE_MERGE): Define.
+ (ELF_INFO_TYPE_EH_FRAME): Define.
+ (ELF_INFO_TYPE_JUST_SYMS): Define.
+ (STD_SECTION): Update struct sec initializer.
+ * ecoff.c (bfd_debug_section): Likewise.
+ * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
+ * elflink.h: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+ * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
+ referring to used_by_bfd.
+ * elf64-sparc.c (sec_do_relax): Likewise.
+ * elf64-mmix.c (mmix_elf_section_data): Likewise.
+ * elfxx-mips.c (mips_elf_section_data): Likewise.
+ * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
+ (ieee_get_section_contents): Likewise.
+ (ieee_new_section_hook): Formatting.
+ (ieee_canonicalize_reloc): Remove commented out code.
+ * mmo.c (mmo_section_data): Define. Use throughout file.
+ * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
+
+2003-01-31 Graydon Hoare <graydon@redhat.com>
+
+ * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
+ * Makefile.in: Regenerate.
+ * opncls.c (calc_crc32, get_debug_link_info,
+ seperate_debug_file_exists, find_seperate_debug_file): New
+ internal functions.
+ (bfd_follow_gnu_debuglink): New function. Follow the pointer
+ contained inside a .gnu_debuglink section.
+ * bfd-in2.h: Regenerate.
+
+2003-01-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
+ entry->abfd when it's NULL.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
+ _bfd_elf_section_offset returning -2 the same way as -1.
+
+ * elfxx-mips.c (mips_elf_multi_got): New function.
+ (struct mips_got_entry): Make symndx and gotidx signed. Moved
+ addend into union along with address and link hash entry.
+ (struct mips_got_info): Added bfd2got and next.
+ (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
+ (mips_elf_got_section, mips_elf_create_got_section): Use
+ SEC_EXCLUDE bit to tell whether we really need the got
+ section. Take boolean arguments to disregard an excluded
+ section, or to create it as excluded. Adjust all callers.
+ Use mips_elf_got_section all over.
+ (mips_elf_local_got_index, mips_elf_got_page,
+ mips_elf_got16_entry): Take input bfd as argument, and pass it
+ on to mips_elf_create_local_got_entry.
+ (mips_elf_global_got_index, mips_elf_create_local_got_entry):
+ Take input bfd as argument, and manage entries in the
+ appropriate GOT.
+ (mips_elf_got_offset_from_index): Take input bfd as argument,
+ and use it to adjust the GP offset of the bfd.
+ (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
+ unreferenced GOT entries of global symbols to the end.
+ (mips_elf_record_global_got_symbol): Take input bfd as
+ argument. Add entries to the master GOT hash table.
+ (struct mips_elf_bfd2got_hash): New.
+ (struct mips_elf_got_per_bfd_arg): New.
+ (struct mips_elf_set_global_got_offset_arg): New.
+ (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
+ mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
+ mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
+ mips_elf_merge_gots, mips_elf_set_global_got_offset,
+ mips_elf_resolve_final_got_entry,
+ mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
+ mips_elf_got_for_ibfd): New functions.
+ (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
+ (MIPS_ELF_GOT_MAX_SIZE): New macro.
+ (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
+ (mips_elf_got_entry_hash): Take new fields into account. Use
+ mips_elf_hash_bfd_vma.
+ (mips_elf_got_entry_eq): Take new fields into account.
+ (mips_elf_create_got_section): Initialize new fields.
+ (mips_elf_calculate_relocation): Pass input_bfd to functions
+ that now take it. Adjust gp for the input_bfd.
+ (mips_elf_allocate_dynamic_relocation,
+ mips_elf_create_dynamic_relocation,
+ _bfd_mips_elf_create_dynamic_sections): Use...
+ (mips_elf_rel_dyn_section): New function. Borrow code from...
+ (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
+ now take it. Create the got section if needed, even if
+ excluded, before recording a global got symbol. Move some
+ code to...
+ (mips_elf_record_local_got_symbol): New fn.
+ (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
+ Compute multi-got global entries offsets. Move GOT code to...
+ (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
+ if the GOT is too big.
+ (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
+ undefweak symbol to zero. Generate dynamic relocations for
+ non-primary GOT entries for global symbols.
+ (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
+ case. Generate dynamic relocations for local got entries.
+ Sort dynamic relocations on N64 too, using...
+ (sort_dynamic_relocs_64): New fns.
+ (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
+ (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * bfd.c (struct _bfd): Added id field.
+ * opncls.c (_bfd_id_counter): New static variable.
+ (_bfd_new_bfd): Use it.
+ * bfd-in2.h: Rebuilt.
+
+2003-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
+
+2003-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
+ (elf32_sparc_rev32_howto): New variable.
+ (sparc_reloc_map): Add TLS relocs.
+ (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
+ Handle REV32.
+ (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
+ New functions.
+ (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
+ struct elf32_sparc_link_hash_table):
+ New structures.
+ (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
+ elf32_sparc_hash_table): Define.
+ (link_hash_newfunc, elf32_sparc_link_hash_table_create,
+ create_got_section, elf32_sparc_create_dynamic_sections,
+ elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
+ functions.
+ (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
+ reference counting.
+ (elf32_sparc_gc_sweep_hook): Likewise.
+ (elf32_sparc_adjust_dynamic_symbol): Likewise.
+ (elf32_sparc_size_dynamic_sections): Likewise.
+ (elf32_sparc_relocate_section): Likewise.
+ (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
+ New functions.
+ (elf32_sparc_object_p): Allocate backend private object data.
+ (bfd_elf32_bfd_link_hash_table_create,
+ elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
+ elf_backend_can_refcount): Define.
+ (elf_backend_create_dynamic_sections): Define to
+ elf32_sparc_create_dynamic_sections.
+ * reloc.c: Add SPARC TLS relocs.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
+ (sparc_reloc_map): Likewise.
+
+2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
+ s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
+ (elf_howto_table): Add TLS relocs.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_link_hash_entry): Add tls_type.
+ (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
+ New macros.
+ (elf_s390_link_hash_table): Add tls_ldm_got.
+ (link_hash_newfunc): Initialize tls_type.
+ (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
+ (elf_s390_copy_indirect_symbol): Copy tls_type information.
+ (elf_s390_check_relocs): Support TLS relocs.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf_s390_size_dynamic_sections): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ (elf_s390_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject): Define for TLS.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add s390 TLS relocations.
+
+2003-01-24 Charles Lepple <clepple@ghz.cc>
+
+ * aclocal.m4: Fix name of --enable-install-libbfd switch.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+ 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
+ * archures.c (bfd_mach_sh2e): Added.
+ * bfd-in2.h: Rebuilt.
+ * cpu-sh.c (arch_info_struct): Added SH2e.
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
+ dynindx to an int. Rearrange for better packing.
+ * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
+ * elf32-mips.c (bfd_elf32_new_section_hook): Define.
+ * elf32-sh64.h: New. Split out from include/elf/sh.h.
+ (struct _sh64_elf_section_data): New struct.
+ (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
+ * elf32-sh64-com.c: Include elf32-sh64.h.
+ * elf32-sh64.c: Likewise.
+ (sh64_elf_new_section_hook): New function.
+ (bfd_elf32_new_section_hook): Define.
+ (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
+ (sh64_bfd_elf_copy_private_section_data): Likewise.
+ (sh64_elf_final_write_processing): Likewise.
+ * elf32-sparc.c (struct elf32_sparc_section_data): New.
+ (elf32_sparc_new_section_hook): New function.
+ (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+ (sec_do_relax): Define.
+ (elf32_sparc_relax_section): Adjust to use sec_do_relax.
+ (elf32_sparc_relocate_section): Likewise.
+ * elf64-mips.c (bfd_elf64_new_section_hook): Define.
+ * elf64-mmix.c (struct _mmix_elf_section_data): New.
+ (mmix_elf_section_data): Define. Use throughout file.
+ (mmix_elf_new_section_hook): New function.
+ (bfd_elf64_new_section_hook): Define.
+ * elf64-ppc.c (struct _ppc64_elf_section_data): New.
+ (ppc64_elf_section_data): Define. Use throughout.
+ (ppc64_elf_new_section_hook): New function.
+ (bfd_elf64_new_section_hook): Define.
+ * elf64-sparc.c (struct sparc64_elf_section_data): New.
+ (sparc64_elf_new_section_hook): New function.
+ (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+ (sec_do_relax): Define.
+ (sparc64_elf_relax_section): Adjust to use sec_do_relax.
+ (sparc64_elf_relocate_section): Likewise.
+ (bfd_elf64_new_section_hook): Define.
+ * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
+ * elfxx-mips.c (struct _mips_elf_section_data): New.
+ (mips_elf_section_data): Define. Use throughout.
+ (_bfd_mips_elf_new_section_hook): New function.
+ (mips_elf_create_got_section): Don't alloc used_by_bfd.
+ * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
+ * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-01-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
+ (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
+ (elf64_alpha_adjust_dynamic_symbol): Set them.
+ (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
+ (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
+ symbol index when relaxing LDM to TPREL.
+ (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
+ relocs, even if the target isn't locally defined.
+ (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
+ (elf64_alpha_relocate_section): Likewise. Force TP-relative
+ relocs vs symndx 0 to the tp base.
+
+2003-01-21 Fabio Alemagna <falemagn@aros.org>
+
+ * config.bfd: Handle i[3456]86-*-aros*.
+
+2003-01-21 Andreas Schwab <schwab@suse.de>
+
+ * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
+ (struct ppc_elf_link_hash_entry): Define.
+ (ppc_elf_hash_entry): New function.
+ (struct ppc_elf_link_hash_table): Define.
+ (ppc_elf_hash_table): New function.
+ (ppc_elf_link_hash_newfunc): New function.
+ (ppc_elf_link_hash_table_create): New function.
+ (ppc_elf_copy_indirect_symbol): New function.
+ (allocate_dynrelocs): New function.
+ (readonly_dynrelocs): New function.
+ (ppc_elf_size_dynamic_sections): Allocate space for dynamic
+ relocs and determine DT_TEXTREL.
+ (ppc_elf_check_relocs): Don't do that here, just count the
+ dynamic relocs.
+ (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
+ removed section.
+ (bfd_elf32_bfd_link_hash_table_create): Define.
+ (elf_backend_copy_indirect_symbol): Define.
+
+2003-01-21 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
+ TPREL also get a reloc if shared. Remove SREL support.
+ (elf64_alpha_emit_dynrel): New.
+ (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
+ and GOTTPREL relocs to local symbols against the tp base.
+ (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
+
+ * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
+ use count before clobbering r_type.
+ (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
+ ordering would mean dataflow inspection is necessary.
+
+2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coffcode.h (coff_set_flags): Added get/set arch hooks.
+
+2003-01-20 Fabio Alemagna <falemagn@aros.org>
+
+ * elf32-sh.c: Treat elfNN_bed like other macros defined in
+ elfxx-target.h and #undef it before #define'ing it.
+ * elf32-i386.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sh64.c: Likewise.
+
+2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
+ (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
+ R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
+ R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
+ R_390_PLTOFF32 and R_390_PLTOFF64.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
+ of GOTPLT references to a function.
+ (link_hash_newfunc): Initialize gotplt_refcount.
+ (elf_s390_check_relocs): Move allocation of local_got_refcounts array
+ and creation of the got section out of the main switch. Add support
+ for the gotoff, gotplt and pltoff relocations.
+ (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
+ and pltoff.
+ (elf_s390_adjust_gotplt): New function.
+ (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
+ plt entries.
+ (allocate_dynrelocs): Add comment.
+ (elf_s390_relocate_section): Change r_type to unsigned. Add support
+ for gotoff, gotplt and pltoff relocations.
+ * elf64-s390.c: Same changes as for elf32-s390.c.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
+ BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
+ BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
+ and BFD_RELOC_390_PLTOFF64.
+
+2003-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
+ R_IA64_TPREL64[LM]SB against non-global symbol properly.
+
+2003-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
+ self_dtpmod_done and self_dtpmod_offset.
+ (allocate_global_data_got): Only use one got entry for all
+ dtpmod relocs against local symbols.
+ (allocate_dynrel_entries): Only need .rela.got entry for
+ dtpmod against global symbol.
+ (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
+ Reserve space in .rela.got for the local dtpmod entry.
+ (set_got_entry): Initialize the common local dtpmod .got entry.
+ (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
+ and R_IA_64_DTPREL64MSB.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
+ (R_PPC_*): Rename all occurrences to R_PPC64_*.
+ (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
+ (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
+ (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
+ relative relocs, not with absolute ones.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2003-01-15 Andreas Schwab <schwab@suse.de>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
+ relocation against a non-allocated readonly section.
+
+2003-01-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
+
+2002-01-08 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
+ (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
+ * Makefile.in: Regenerate.
+
+2003-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfn32-mips.c (prev_reloc_section): New.
+ (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
+ (SET_RELOC_ADDEND): Parenthesize macro argument.
+
+2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
+
+ * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
+ adjust addil instructions if the symbol has no section.
+
+2003-01-07 DJ Delorie <dj@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
+ partial_inplace.
+
+2003-01-07 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
+ PC relative relocations.
+ (elf_m68k_discard_copies): Set it here instead.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
+ (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
+ (BFD32_BACKENDS): Add elf32-iq2000.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
+ (cpu-iq2000.lo): New target.
+ * Makefile.in: Regenerate.
+ * config.bfd: Handle iq2000-*-elf.
+ * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
+ (bfd_archures_list): Add bfd_iq2000_arch.
+ * configure.in: Handle bfd_elf32_iq2000_vec.
+ * configure: Regenerate.
+ * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
+ and BFD_RELOC_IQ2000_UHI16.
+ * targets.c (bfd_elf32_iq2000_vec): Declare.
+ (bfd_target_vector): Add bfd_elf32_iq2000_vec.
+ * elf.c (prep_headers): Set e_machine to EM_IQ2000.
+ * cpu-iq2000.c: New file.
+ * elf32-iq2000.c: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Likewise.
+
+2003-01-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c: Include libiberty.h.
+ (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
+ (mips_set_isa_flags): New function, split out from...
+ (_bfd_mips_elf_final_write_processing): ...here. Only call
+ mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
+ (mips_mach_extensions): New array.
+ (mips_32bit_flags_p): New function.
+ (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
+ Use mips_32bit_flags_p to check if one binary is 32-bit and the
+ other is 64-bit. When adopting IBFD's architecture, adopt the
+ bfd_mach as well as the flags.
+
+2003-01-02 Nick Kelsey <nickk@ubicom.com>
+
+ * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
+ fix internal errors, fix bad code generation, fix incorrect stabs
+ information, and improve ability to eliminate redundant page
+ instructions. Added code to ip2k_final_link_relocate to self-verify
+ the linker relaxation. Fix formatting problems.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
+ * archures.c (bfd_mach_mipsisa32r2): New define.
+ * bfd-in2.h: Regenerate.
+ * cpu-mips.c (I_mipsisa32r2): New enum value.
+ (arch_info_struct): Add entry for I_mipsisa32r2.
+ * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
+ (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
+ (_bfd_mips_elf_final_write_processing): Add
+ bfd_mach_mipsisa32r2 case.
+ (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
+ binaries marked as using MIPS32 Release 2.
+
+2002-12-30 Dmitry Diky <diwil@mail.ru>
+
+ * Makefile.am: Add msp430 target.
+ * configure.in: Likewise.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * archures.c: Add msp430 architecture vector.
+ * config.bfd: Likewise.
+ * reloc.c: Add msp430 relocs.
+ * targets.c: Add msp320 target.
+ * cpu-msp430.c: New file: msp430 cpu detection.
+ * elf32-msp430.c: New file: msp430 reloc processing.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2002-12-28 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (elf_sort_sections): Don't reorder .tbss.
+ (assign_file_positions_for_segments): Only adjust off/voff
+ for increased alignment in PT_LOAD or PT_NOTE segment,
+ but adjust p_filesz for .tbss too. in PT_LOAD consider
+ .tbss to have zero memory size.
+ (copy_private_bfd_data) [SECTION_SIZE]: Define.
+ [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
+ [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
+ into PT_TLS segment. Never put SHF_TLS sections in
+ segments other than PT_TLS or PT_LOAD.
+
+ * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
+ sh_entsize.
+
+2002-12-23 DJ Delorie <dj@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Heed strip_discarded.
+
+2002-12-23 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_arch_get_compatible): Add third parameter
+ 'accept_unknowns'. Only accept unknown format BFDs if
+ accept_unknowns is true, or if the format is "binary".
+ * bfd-in2.h: Regenerate.
+
+2002-12-21 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
+ that subtracted 8 from pc relative relocations.
+
+2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c: Fix comment typos.
+ * coffcode.h: Likewise.
+ * cpu-cris.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * genlink.h: Likewise.
+ * linker.c: Likewise.
+ * som.c: Likewise.
+ * tekhex.c: Likewise.
+ * vms-misc.c: Likewise.
+
+2002-12-20 DJ Delorie <dj@redhat.com>
+
+ * reloc.c: Add BFD_RELOC_XSTORMY16_12.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
+ (xstormy16_reloc_map): Add R_XSTORMY16_12.
+
+2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/bfdint.texi: Fix typos.
+
+2002-12-20 Paul Eggert <eggert@twinsun.com>
+
+ Port to POSIX 1003.1-2001.
+ * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
+ * configure.in (build-warnings): Likewise.
+ (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-12-19 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-h8300.c: Include libiberty.h.
+ (h8300_reloc16_extra_cases): Check the hash table creator before
+ referencing h8300 specific fields. Stash the hash table pointer
+ in a local var. Comment typo fixes.
+ (h8300_bfd_link_add_symbols): Likewise.
+
+ * reloc.c (struct reloc_howto_struct): Revise src_mask and
+ dst_mask comments.
+ * bfd-in2.h: Regenerate.
+
+2002-12-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
+ code a little. Comment on dynamic relocs against section symbols.
+
+2002-12-17 Roger Sayle <roger@eyesopen.com>
+
+ * configure.host (ia64-*-hpux*): Support 64 bit targets using
+ the HP compiler's "long long".
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
+ and R_XSTORMY16_HI16) howto entries.
+ (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
+ (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
+ determine the start of the second reloc table.
+
+2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ecofflink.c: Fix the reading of the debugging information
+ of Tru64/Alpha binaries that are produced by recent Compaq
+ compilers.
+ (mk_fdrtab): Fix error in creating the FDR (file descriptor)
+ table.
+ (lookup_line): Because of the strange information sometimes
+ generated by Compaq's recent compilers, change how the FDR
+ table is searched so that PDRs (procedure descriptors) are
+ correctly found. Note that this change is really more of a hack;
+ however, I have included extensive documentation as to why
+ this is the best solution short of an extensive rewrite or
+ another hack.
+ (fdrtab_lookup): Add comments to explain the algorithm.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
+ initializers to match struct declaration.
+
+2002-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * dwarf2.c (comp_unit_contains_address): Comment typo fix.
+ * elf.c (get_program_header_size): Likewise.
+ * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
+ (m32r_elf_generic_reloc): Likewise.
+ * elf32-ppc.c (ppc_elf_howto_init): Likewise.
+ * elflink.h (elf_bfd_discard_info): Likewise.
+
+2002-12-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
+ to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
+ DT_RELSZ adjustment, not output section. Avoid writing tags when
+ unchanged. Don't assume linker script is sane, adjust DT_REL too.
+ * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
+ size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
+ DT_RELASZ adjustment, not output section. Avoid writing tags when
+ unchanged. Adjust DT_RELA.
+ * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
+ formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
+ addend by 4.
+
+2002-12-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (struct mips_got_entry): New.
+ (struct mips_got_info): Added got_entries field.
+ (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
+ (mips_elf_local_got_index, mips_elf_got_page,
+ mips_elf_got16_entry): Re-implement in terms of new...
+ (mips_elf_create_local_got_entry): Rewrite to use got_entries.
+ Change return type.
+ (mips_elf_highest): Warning clean-up.
+ (mips_elf_create_got_section): Initialize got_entries.
+ (_bfd_mips_elf_check_relocs): Use got_entries to estimate
+ local got size.
+ (_bfd_mips_elf_size_dynamic_sections): Do not account for
+ GOT_PAGE entries, since we now reuse GOT16 entries.
+
+2002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
+ read-only section that lies after .text and before .data to be
+ written into the output file and included in a_text.
+ (translate_to_native_sym_flags): If an otherwise unrepresentable
+ section was merged with .text, convert its symbols to N_TEXT
+ symbols.
+ * libaout.h (aout_section_merge_with_text_p): New macro.
+
+2002-12-08 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h: Comment typo fix. Formatting.
+ * bfd-in2.h: Regenerate.
+ * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
+ * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
+ * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
+
+2002-12-05 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
+ Only send PCREL21B though the plt. Fix installed reloc type.
+ (elfNN_ia64_relocate_section): Give error for dynamic reloc
+ against PCREL22 or PCREL64I; clean up error messages for
+ branch relocs.
+
+2002-12-04 Kevin Buettner <kevinb@redhat.com>
+
+ * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
+ New functions.
+ (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * cpu-ia64-opc.c: Add operand constant "ar.csd".
+
+2002-12-04 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
+ BFD address when constructing local name.
+
+2002-12-04 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
+ member.
+ (elf_m68k_link_hash_table_create): Initialize it.
+ (elf_m68k_check_relocs): Handle symbols that are forced to be
+ local due to visibility changes.
+ (elf_m68k_adjust_dynamic_symbol): Likewise.
+ (elf_m68k_size_dynamic_sections): Likewise.
+ (elf_m68k_discard_copies): Likewise.
+ (elf_m68k_relocate_section): Likewise.
+
+2002-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
+
+2002-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * srec.c (srec_write_symbols): Restore '$' prefix to address
+ accidentally removed in 2002-04-04 change.
+ (srec_get_symtab): Use 0 instead of `(long) FALSE'.
+
+2002-12-03 Nick Clifton <nickc@redhat.com>
+
+ * elf32-ppc.c (apuinfo_list_init): New function.
+ (apuinfo_list_add): New function: Add a value to the list.
+ (apuinfo_list_length): New function: Return the number of
+ values on the list.
+ (apuinfo_list_element): New function: Return a value on the
+ list.
+ (apuinfo_list_finish): New function: Free the resources used
+ by the list.
+ (ppc_elf_begin_write_processing): New function. Scan the
+ input bfds for apuinfo sections.
+ (ppc_elf_write_section): New function: Delay the creation of
+ the contents of an apuinfo section in an output bfd.
+ (ppc_elf_final_write_processing): New function. Create the
+ contents of an apuinfo section in an output bfd.
+ (elf_backend_begin_write_processing): Define.
+ (elf_backend_final_write_processing): Define.
+ (elf_backend_write_section): Define.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ Fix PR savannah/1417:
+ * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
+ branch if it goes to the start of the deleted region.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * bfd-in2.h (bfd_mach_m6812): Rebuild.
+ * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
+ bfd_mach_m6812s): Declare.
+
+ * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
+ (_bfd_m68hc12_elf_set_private_flags): Call it.
+ (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
+ report microcontroller incompatibilities (HC12 vs HCS12).
+ (elf_backend_object_p): Update.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
+ (enum bfd_boolean, boolean): Delete.
+ (bfd_boolean): Typedef to an int.
+ (FALSE, TRUE): Define.
+ * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
+ aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
+ aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
+ binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
+ coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
+ coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
+ coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
+ coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
+ coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
+ coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
+ corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
+ cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
+ cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
+ cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
+ cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
+ cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
+ cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
+ cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
+ cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
+ cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
+ dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
+ elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
+ elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
+ elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
+ elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
+ elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+ elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+ elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+ elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
+ elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
+ elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+ elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
+ elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
+ elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
+ elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
+ elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
+ hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
+ i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
+ libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
+ libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
+ m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
+ mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
+ nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
+ pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
+ pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
+ pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
+ reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
+ som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
+ syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
+ vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
+ xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
+ bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
+ of bfd_boolean vars with TRUE/FALSE. Formatting.
+ * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
+
+2002-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
+ Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
+ with Elf_Internal_Rela.
+ * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
+ elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
+ elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
+ elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+ elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+ elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+ elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
+ elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+ elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+ elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
+ elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
+ * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
+ throughout instead.
+ * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
+ * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
+ Remove INLINE keyword.
+ (elf_swap_reloc_in): Likewise. Also clear r_addend.
+ (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
+ as a bfd_byte *.
+ (elf_write_relocs): Consolidate REL and RELA code.
+ (elf_slurp_reloc_table_from_section): Simplify REL code.
+ (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
+ * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
+ * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
+ RELA code.
+ (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
+ reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
+ (elf_link_output_relocs): Likewise.
+ (elf_reloc_link_order): Likewise.
+ (elf_finish_pointer_linker_section): Likewise.
+ (struct elf_link_sort_rela): Remove union.
+ (elf_link_sort_cmp1): Update to suit.
+ (elf_link_sort_cmp2): Here too.
+ (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
+ over-allocation for int_rels_per_ext_rel != 1 case.
+ * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
+ * elf32-i386.c: Likewise.
+ * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
+ * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
+ elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
+ * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
+ * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+ elf64-sparc.c, elf64-x86-64.c: Likewise.
+ * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
+ * elfxx-mips.c (sort_dynamic_relocs): Likewise for
+ bfd_elf32_swap_reloc_in.
+
+ * elf32-arm.h: Update elf32_arm_info_to_howto calls.
+ * elf32-mips.c: Likewise for mips_info_to_howto_rel.
+ (mips_elf64_swap_reloc_in): Zero r_addend.
+ (mips_elf64_be_swap_reloc_in): Likewise.
+ (mips_elf64_slurp_one_reloc_table): Simplify.
+
+ * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_relocate_section): Don't complain about
+ unresolved debugging relocs in dynamic applications.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+
+2002-11-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
+ (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
+ on a relocatable link. Comment typos.
+ * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
+ in the order they are declared. Clear elf_hash_value too.
+ (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
+ eh_info and tls_segment.
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
+ sorted when discarding relocs by turning them into R_*_NONE.
+
+ * libbfd.c (warn_deprecated): Comment spelling.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-11-21 Richard Henderson <rth@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Don't overwrite the
+ arch's st_other bits when merging visibilities.
+ (elf_link_output_extsym): Tidy clearing of visibility field.
+
+2002-11-21 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
+ (SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-11-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf.c (_bfd_elf_link_hash_table_init): Make sure
+ can_refcount is properly extended to the type of
+ init_refcount.
+
+2002-11-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
+ (_bfd_mips_elf_relocate_section): Use it.
+
+ * elfxx-mips.c (MNAME): New macro.
+ (_bfd_mips_elf_check_relocs): Use it.
+ (_bfd_mips_elf_discard_info): Likewise.
+ (_bfd_mips_elf_final_link): Likewise.
+
+2002-11-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
+ rel_hdr.sh_size too.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
+ (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
+ (BFD_H_FILES): Add bfdwin.c, bfdio.c.
+ (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
+ Add dependencies for bfdwin.c, bfdio.c.
+ * bfd.c: Remove bfd_get_mtime, bfd_get_size.
+ * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
+ bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
+ bfd_tell, bfd_flush, bfd_stat, bfd_seek.
+ * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
+ bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
+ bfd_get_size (moved from libbfd.c and bfd.c).
+ * bfdwin.c New file. Contains _bfd_window_internal,
+ bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
+ libbfd.c and bfd.c).
+ * po/SRC-POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * aclocal.m4: Regenerate.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
+
+2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
+ jsr after a short jump.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+
+2002-11-15 Klee Dienes <kdienes@apple.com>
+
+ * pef.c (bfd_pef_convert_architecture): Move declaration of
+ ARCH_POWERPC and ARCH_M68K to the start of the function.
+
+2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c (tic4x_howto_table): Formatting fixup
+
+2002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
+ For bpo_gregs_section->contents, allocate _raw_size, not
+ _cooked_size.
+
+2002-11-13 Klee Dienes <kdienes@apple.com>
+
+ * config.bfd: Add entries for powerpc-*-darwin and cousins.
+
+2002-11-13 H.J. Lu <hjl@gnu.org>
+
+ * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
+
+2002-11-13 Klee Dienes <kdienes@apple.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (struct bfd_preserve): New.
+ (bfd_preserve_save): New function.
+ (bfd_preserve_restore): Ditto.
+ (bfd_preserve_finish): Ditto.
+ * bfd-in2.h: Regenerate.
+ * mach-o.c: Formatting.
+ (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
+ (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_mach_o_core_p): Ditto.
+ (bfd_mach_o_scan): Pass in mdata.
+ * mach-o.h (bfd_mach_o_scan): Update prototype.
+ * pef.c: Formatting.
+ (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_pef_xlib_object_p): Ditto.
+ (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
+ * pef.h (bfd_pef_scan): Update prototype.
+ * xsym.c: Formatting, K&R fixes.
+ (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
+ (bfd_sym_scan): New function split out from bfd_sym_object_p.
+ * xsym.h (bfd_sym_scan): Declare.
+ * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
+ * elfcore.h (elf_core_file_p): Likewise.
+ * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
+
+2002-11-12 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation.
+
+2002-11-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Optimize stabs for
+ relocatable link too.
+ (elf_link_input_bfd): When emitting relocs, adjust offsets for
+ eh_frame and stab sections. Zap deleted relocs.
+ (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
+ (elf_bfd_discard_info): Run for relocatable link too.
+ * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
+ Handle ld -r case.
+ (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
+ * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
+
+ * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
+ (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
+ (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
+ (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
+ (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
+ (struct elf_link_hash_table): Add eh_info.
+ (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
+ (_bfd_elf_discard_section_eh_frame): Update prototype.
+ (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
+ (_bfd_elf_write_section_eh_frame): Likewise.
+ (_bfd_elf_write_section_eh_frame_hdr): Likewise.
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
+ param. Get "hdr_info" from link hash table.
+ (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
+ header section from link hash table. Save header section to elf_tdata.
+ (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
+ header section from link hash table. Don't alloc hdr_info. Clear
+ hdr_sec instead of setting "strip".
+ (_bfd_elf_eh_frame_section_offset): Formatting.
+ (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
+ Get header section from link hash table.
+ (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
+ Get header section from link hash table.
+ * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
+ (get_program_header_size): Likewise.
+ (_bfd_elf_section_offset): Formatting.
+ * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
+ section pointer in link hash table.
+ (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
+ and _bfd_elf_write_section_eh_frame calls. Update comment about
+ eh_frame entries.
+ (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
+ _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
+ relocs for discarded FDEs. Remove dead code.
+ (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
+ * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
+ Tidy conditions under which stabs are edited. Formatting.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
+ from discarded relocs.
+ * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
+ section adjustments after testing magic values.
+
+2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
+
+ * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
+ references to large plt symbols.
+
+2002-11-12 Klee Dienes <kdienes@apple.com>
+
+ * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
+ looking for an unused section name.
+
+2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * coff-h8300.c: Fix formatting.
+ * elf32-h8300.c: Likewise.
+ * reloc16.c: Likewise.
+
+2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
+ section when dynamic section unused; _bfd_strip_section_from_output
+ instead.
+
+2002-11-08 Alan Modra <amodra@bigpond.net.au>
+
+ * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
+ and sym_vec.
+
+ * dwarf2.c: Revert last change.
+
+2002-11-07 Michal Ludvig <mludvig@suse.cz>
+
+ * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
+ _bfd_dwarf2_find_nearest_line): Use
+ bfd_simple_get_relocated_section_contents() instead of
+ bfd_get_section_contents().
+ * reloc.c (bfd_perform_relocation): Add sanity check.
+ * simple.c (simple_get_relocated_section_contents): If the section
+ does not have any relocs associated with it, just return the
+ unadjusted contents.
+
+2002-11-07 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
+ case R_CRIS_32_GOT>: Correct test for filling in constant .got
+ contents, enabling for a non-DSO, for symbols defined in the
+ program with --export-dynamic.
+
+2002-11-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Comment typo fixes.
+ (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
+
+2002-11-07 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation.
+
+2002-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
+ exactly three internal relocs per external reloc. Set reloc_count
+ to the external reloc count.
+
+2002-11-06 Klee Dienes <kdienes@apple.com>
+
+ * coff-stgo32.c (stub_bytes): Mark as const.
+ Fix comment formatting.
+
+2002-11-06 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
+ xsym.lo.
+ (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
+ (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
+ * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
+ * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
+ * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
+ sym.
+ (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * xsym.c: New file. Contains support for the Apple/Metrowerks
+ xSYM debugging format.
+ * xsym.h: New file.
+ * pef.c: New file. Contains support for the Apple Code Fragment
+ Manager Preferred Executable Format
+ * pef.h: New file.
+ * pef-traceback.h: New file. Contains support for parsing PowerPC
+ traceback tables as used by PEF executables (and perhaps other
+ systems as well).
+ * mach-o.c: New file. Contains support for the Mach-O object file
+ format.
+ * mach-o.h: New file.
+ * mach-o-target.c: New file. Declares the mach-o targets
+ themselves. Included three times by mach-o.c; each time with a
+ different set of macros set.
+
+2002-11-06 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Remove entries for elf32-qnx.[ch].
+ * Makefile.in: Regenerate.
+ * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
+ ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
+ bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+ * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
+ bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
+ and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
+ bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+ * configure: Regenerate.
+ * elf32-qnx.c: Remove.
+ * elf32-qnx.h: Remove.
+ * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf32-i386.c: Remove QNX extended bfd support.
+ * elf32-ppc.c: Remove QNX extended bfd support.
+ * elf32-sh.c: Remove QNX extended bfd support.
+ * elfarm-nabi.c: Remove QNX extended bfd support.
+ * targets.c: Remove qnx vectors.
+ * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
+ (elf_backend_is_contained_by_filepos): Remove.
+ (elf_backend_copy_private_bfd_data_p): Remove.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-11-06 David O'Brien <obrien@FreeBSD.org>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
+ dynamic relocs against section symbols for the output section vma.
+
+2002-11-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
+ t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
+
+2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
+ vectors in target_selvecs.
+ (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
+ in target_selvecs.
+ (sh-*-netbsdelf*): Likewise.
+ * configure.in (assocvecs): New variable. Handle assocvecs like
+ selvecs.
+ * configure: Regenerate.
+ * format.c (bfd_check_format_matches): Store bfd_target pointers
+ in matching_vector instead of target names. Select first target
+ from bfd_associated_vector that matches a list of ambiguous targets.
+ * targets.c (_bfd_associated_vector): New array.
+ (bfd_associated_vector): New variable.
+ (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
+ * libbfd-in.h (bfd_associated_vector): Declare.
+ * libbfd.h: Regenerate.
+
+2002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
+ non-NULL before dereferencing.
+
+2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * vms.c (vms_object_p): Restore the start address when returning
+ NULL.
+
+2002-11-04 Alan Modra <amodra@bigpond.net.au>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
+ (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
+ Set up a larger symshndxbuf, and write it out. Free it on
+ exit rather than freeing symbuf twice. Correct section index
+ on output section symbol loop.
+ (elf_link_output_sym): Accumulate symbol extension section
+ indices, reallocating symshndxbuf rather than writing it out.
+ (elf_link_flush_output_syms): Don't flush symshndxbuf.
+ * elf.c (assign_section_numbers): Init i_shdrp to all zero.
+ Use bfd_zalloc to clear i_shdrp[0] too.
+
+2002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
+
+ * elf32-sh64-com.c (sh64_address_in_cranges): Use
+ _raw_size of cranges section if _cooked_size not yet set.
+
+2002-11-03 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
+ for bfd_elf32_swap_symbol_out.
+
+2002-10-31 David O'Brien <obrien@FreeBSD.org>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
+ signed and unsigned in comparison.
+
+2002-10-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * coffcode.h: Remove extraneous '\'.
+
+2002-10-28 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (targets.lo): Depend on Makefile instead of
+ config.status.
+ (archures.lo): Likewise.
+ * Makefile.in: Regenerated.
+
+2002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
+ bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
+ targ_selvecs.
+
+2002-10-25 Jim Wilson <wilson@redhat.com>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Call
+ _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
+ of SHF_MERGE section.
+
+2002-10-25 Hans-Peter Nilsson <hp@axis.com>
+
+ * simple.c: Correct placement of ATTRIBUTE_UNUSED.
+
+2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
+ unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
+ unsigned int.
+ (NAME(aout,final_link)): Cast enum used in assignment.
+ (aout_link_write_symbols): Cast enums in comparisons, int values to
+ boolean, enums in assignments to int.
+ (aout_link_input_section_std): Cast rel->r_index to unsigned int.
+ (aout_link_input_section_ext): Likewise. Cast enums used in
+ comparisons with unsigned ints.
+ (aout_link_reloc_link_order): Cast enum to int in assignment.
+ * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
+ calls to char *.
+ * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
+ assignment.
+ * bfd-in2.h (bfd_set_section_vma): Likewise.
+ * bfd.c (bfd_record_phdr): Cast enums in assignments.
+ * binary.c (bfd_alloc): Cast enum to long.
+ * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
+ * dwarf2.c (read_abbrevs): Add casts to enum types.
+ (read_attribute_value): Likewise.
+ (arange_add): Cast result of bfd_zalloc call.
+ (comp_unit_contains_address): Return true and false.
+ (comp_unit_find_nearest_line): Cast return to boolean.
+ * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
+ * gen-aout.c: define macro '_' if not defined.
+ * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
+ (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
+ (bfd_write_bigendian_4byte_int): Cast return to boolean.
+ (bfd_seek): Cast bfd_realloc to bfd_byte *.
+ (bfd_generic_is_local_label_name): Cast return to boolean.
+ * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
+ * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
+ struct bfd_hash_entry *.
+ (_bfd_generic_link_hash_newfunc): likewise.
+ (_bfd_generic_final_link): Cast enum to unsigned int.
+ * merge.c (sec_merge_emit): Cast return to boolean.
+ (merge_strings): Add casts to const unsigned char *.
+ * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
+ (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
+ * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
+ to struct bfd_hash_entry *.
+ (bfd_set_section_content): Add cast to PTR in comparison.
+ * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
+ simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
+ simple_dummy_unattached_reloc,
+ bfd_simple_get_relocated_section_contents): Add K&R declarations and
+ function definitions.
+ * srec.c (S3Forced): Initialize to false.
+ (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
+ * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
+ (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
+ * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
+ (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
+ comparisons.
+
+2002-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
+ relocs into shared lib non-allocated reloc sections.
+
+2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (add_line_info): Ensure that the line_info_table is
+ sorted even when given an out-of-order line sequence.
+ (lookup_address_in_line_info_table): When an exact VMA match is
+ not found, return line information with the closest VMA.
+
+2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
+
+ * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
+ HPUX 11.00 patch PHSS_26559.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
+ the options section into a separate section unless IRIX 6
+ compatibility is enabled.
+
+2002-10-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * elflink.h (struct elf_link_sort_rela): Turn rel and rela
+ into arrays.
+ (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
+ (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
+ into account.
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
+ R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
+
+2002-10-21 Graeme Peterson <gp@qnx.com>
+
+ * targets.c (_bfd_target_vector): Add missing qnx vectors.
+
+2002-10-21 Alan Modra <amodra@bigpond.net.au>
+
+ * targets.c (bfd_target_list): Don't return the default target twice.
+
+2002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
+ perror with bfd_perror.
+
+2002-10-19 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Correctly handle
+ DT_RPATH and DT_RUNPATH.
+
+2002-10-19 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
+
+2002-10-17 Denis Chertykov <denisc@overta.ru>
+
+ * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
+ for ip2k port.
+
+2002-10-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h (USE_REL): Don't define as 1.
+ * elf32-arm.h (USE_REL): Provide a default define of 0.
+ Use #if rather than #ifdef when testing USE_REL.
+ * elf32-m32r.c: Likewise.
+
+ * elf32-arc.c (USE_REL): Define as 1.
+ * elf32-d10v.c (USE_REL): Likewise.
+ * elf32-m32r.c (USE_REL): Likewise.
+ * elf32-m68hc11.c (USE_REL): Likewise.
+ * elf32-m68hc12.c (USE_REL): Likewise.
+ * elf32-or32.c (USE_REL): Likewise.
+ * elfarm-nabi.c (USE_REL): Likewise.
+
+2002-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config.bfd (s390-*-linux*): Add targ64_selvecs.
+ (s390x-*-linux*): Add targ_selvecs.
+
+2002-10-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
+ elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
+ elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
+ elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
+ (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
+ (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
+ (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
+ (SOURCE_HFILES): Add elf32-qnx.h.
+ (BUILD_HFILES): Add bfdver.h.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * configure.in Update bfd vector dependencies.
+ * configure: Regenerate.
+ * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
+ * elf32-i386qnx.c: Likewise.
+ * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
+ * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
+ * elf32-sh-lin.c: Likewise.
+ * elf32-shqnx.c: Likewise.
+ * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
+ * elf32-sh64-nbsd.c: Likewise.
+ * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
+ * elf64-sh64-nbsd.c: Likewise.
+ * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
+ * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
+ * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
+ * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
+ * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
+ (elf_backend_is_contained_by_filepos): Likewise.
+ (elf_backend_copy_private_bfd_data_p): Likewise.
+ Globalize and move functions to..
+ * elf32-qnx.c: ..here. New file.
+ * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
+ emit target vectors when INCLUDE_SHMEDIA.
+ * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
+ end of file.
+ * elf64-sh64.c: Remove ELF_ARCH test.
+ * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
+ * po/BLD-POTFILES.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-10-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
+ loaded with --just-symbols.
+
+ * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
+ * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+ * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+ * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+
+2002-10-15 Richard Henderson <rth@redhat.com>
+
+ * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
+ (BFD64_BACKENDS_CFILES): Likewise.
+ * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
+ * elf64-alpha-fbsd.c: Remove file, move code ...
+ * elf64-alpha.c: ... here.
+ * Makefile.in, configure: Rebuild.
+
+2002-10-14 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
+ VALUE, not ADDEND.
+
+2002-10-14 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_link_hash_entry): Replace
+ datalabel_got_offset with union of datalabel_got
+ offset and refcount.
+ (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
+ (allocate_dynrelocs): Delete unnecessary code for
+ STT_DATALABEL type. Create entry in got for
+ datalabel version of symbol if datalabel_got.refcount > 0.
+ (sh_elf_relocate_section): Use datalabel_got union.
+ (sh_elf_gc_sweep_hook): Pull common code to initialize
+ h and eh out of switch statement. Declare seen_stt_datalabel.
+ Initialize it. Decrement datalabel_got.refcount for
+ got relocs when seen_stt_datalabel is true.
+ Decrement local_got_refcounts entry for datalabel got relocs
+ of local symbols.
+ (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
+ (sh_elf_check_relocs): Declare seen_stt_datalabel.
+ Initialize it. When seen_stt_datalabel is true, increment
+ datalabel_got refcount rather than got.refcount.
+ (sh_elf_finish_dynamic_symbol): Create relocs to
+ initialize got entry for datalabel version of symbol.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ (BFD_H_FILES): Remove version.h.
+ * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
+ * version.h: ..to here.
+ * configure.in (bfd_version_date): Remove.
+ (AC_OUTPUT): Make bfdver.h from version.h.
+ * bfd.c: #include "bfdver.h".
+ * vms-hdr.c: Likewise.
+ * Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
+ bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
+ bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
+ bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
+ bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
+ bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
+ bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
+ bfd_mach_ip2022, bfd_mach_ip2022ext,
+ bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
+ * bfd-in2.h: Regenerate.
+
+2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
+ endian vector to targ_selvecs.
+
+2002-10-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Take
+ save_addend argument. Don't apply the 32-bit mask to a
+ GPREL32 value if it's to be used in another relocation. Don't
+ use forced-check computation of local_p to decide whether to
+ add gp0 to GPREL16 value. Don't use only the lowest 16 bits
+ of the addend of a non-in-place GPREL16 relocation.
+ (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
+ mips_elf_calculate_relocation().
+
+2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
+ with symbols in other sections if we relaxed something; the sections
+ output offsets must be re-computed before.
+
+2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
+ handling to use Elf_Internal_Sym.
+ (m68hc11_elf_relax_delete_bytes): Likewise.
+
+2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
+ sh_elf_object_p, dtpoff_base): New functions.
+ (sh_elf_howto_table): Add TLS relocs.
+ (sh_reloc_map): Likewise.
+ (sh_elf_info_to_howto): Support TLS relocs.
+ (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
+ (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
+ New macros.
+ (sh_elf_obj_tdata): New.
+ (elf_sh_link_hash_table): Add tls_ldm_got.
+ (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
+ (allocate_dynrelocs): Support TLS relocs.
+ (sh_elf_size_dynamic_sections): Likewise.
+ (sh_elf_relocate_section): Support TLS relocs. Don't try to find
+ .rela.got section when found already. Return false after printing
+ error about unresolvable relocation.
+ (sh_elf_gc_sweep_hook): Support TLS relocs.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
+ * reloc.c: Add SH TLS relocs.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in: Regenerated.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.am: Run dep-am.
+ (BFD_H_DEP): Add simple.c and linker.c.
+ (BFD32_LIBS): Add simple.lo.
+ (BFD32_LIBS_CFILES): Add simple.c.
+ * Makefile.in: Regenerated.
+ * bfd-in2.h: Regenerated.
+ * simple.c: New file.
+
+2002-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
+ (record_thumb_to_arm_glue): Likewise.
+ * ecoff.c (ecoff_link_add_externals): Likewise.
+ * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
+ (record_thumb_to_arm_glue): Likewise.
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
+ * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
+ * elf64-ppc.c (func_desc_adjust): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ (sh64_elf64_create_dynamic_sections): Likewise.
+ * elflink.c (_bfd_elf_create_got_section): Likewise.
+ (_bfd_elf_create_dynamic_sections): Likewise.
+ (_bfd_elf_create_linker_section): Likewise.
+ * elflink.h (elf_add_default_symbol): Likewise.
+ (elf_link_create_dynamic_sections): Likewise.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
+ * elfxx-mips.c (mips_elf_create_got_section): Likewise.
+ (_bfd_mips_elf_add_symbol_hook): Likewise.
+ (_bfd_mips_elf_create_dynamic_sections): Likewise.
+ * linker.c (generic_link_add_symbol_list): Likewise.
+ * xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+ * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
+
+ * elf64-ppc.c (edit_opd): Only zero opd syms when function is
+ completely removed. Correct local sym adjustment.
+
+2002-10-10 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
+ Correct mistake in calculation of address of .got.
+ * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
+ elf_sh64_pic_plt_entry_le): Likewise.
+
+2002-10-09 Richard Shann <richard.shann@superh.com>
+ Stephen Clarke <stephen.clarke@superh.com>
+
+ * Makefile.am: Add entries for elf32-sh64-lin.c and
+ elf64-sh64-lin.c. Regenerate.
+ * Makefile.in: Regenerate.
+ * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
+ to use sh64 vectors rather than sh vectors.
+ * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+ bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+ * configure: Regenerate.
+ * elf32-sh64-lin.c: New file.
+ * elf64-sh64-lin.c: New file.
+ * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+ bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+
+2002-10-08 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
+ IE->LE transition for R_386_TLS_IE.
+
+2002-10-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (edit_opd): Correct test for discarded sections.
+
+2002-10-07 Mark Elbrecht <snowball3@softhome.net>
+
+ * cofflink.c (mark_relocs): Don't mark relocations in excluded
+ sections.
+
+2002-10-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
+ code.
+
+ * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
+
+2002-10-06 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c: Formatting.
+ (_bfd_new_bfd): Use a smaller section hash table.
+
+2002-10-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
+ of the other two relocations packed with a REL32 to NONE.
+
+2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
+ (sh_elf_link_hash_newfunc): Initialize it.
+ (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
+ to got.refcount for symbols that are forced local or when
+ we have direct got refs.
+ (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
+ to correctly adjust got.refcount and plt.refcount.
+ (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
+ (sh_elf_check_relocs): Increment gotplt_refcount.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Fix
+ movl foo@indntpoff, %eax IE->LE transition.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
+ sequence and its transitions.
+
+2002-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
+ to st_value + addend in non-code sections.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
+ R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
+ (bfd_mach_mips5500): New.
+ * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
+ (arch_info_struct): Add corresponding entries here.
+ * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
+ E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
+ (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
+ bfd_mach_mips5400 and bfd_mach_mips5500.
+ (_bfd_mips_elf_mach_extends_p): New function.
+ (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
+ the EF_MIPS_MACH flags.
+ * bfd-in2.h: Regenerate.
+
+2002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
+ .got sections.
+
+2002-09-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (map_sections_to_segments): Correct test for start of
+ writable section in the same page as end of read-only section.
+
+2002-09-27 Matt Thomas <matt@3am-software.com>
+
+ * elf32-vax.c (elf_vax_check_relocs): Remove unused
+ local_got_refcounts usage. Remove allocation of got slot.
+ (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
+ Remove de-allocation of got slot.
+ (elf_vax_size_dynamic_section): Fix some indentation. Add hash
+ traversal for elf_vax_instantiate_got_entries. Allow empty .got
+ sections to be GC'ed.
+ (elf_vax_instantiate_got_entries): New function.
+ (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
+ tests that are now handled by elf_vax_instantiate_got_entries.
+ Assert GOT entry falls within .got section size. Remove redundant
+ comparisions. Fix comments.
+
+2002-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * reloc.c: Add x86-64 TLS relocs.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
+ relocs. Add TLS relocs.
+ (x86_64_reloc_map): Add TLS relocs.
+ (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
+ (struct elf64_x86_64_link_hash_entry): Add tls_type field.
+ (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
+ (elf64_x86_64_hash_entry): Define.
+ (struct elf64_x86_64_obj_tdata): New.
+ (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
+ (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
+ (link_hash_newfunc): Initialize tls_type.
+ (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
+ (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
+ (elf64_x86_64_mkobject): New.
+ (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
+ (elf64_x86_64_tls_transition): New.
+ (elf64_x86_64_check_relocs): Add r_type variable and use it.
+ Handle TLS relocs.
+ (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
+ (allocate_dynrelocs): Allocate GOT space for TLS relocs.
+ (elf64_x86_64_size_dynamic_sections): Likewise.
+ (dtpoff_base, tpoff): New.
+ (elf64_x86_64_relocate_section): Handle TLS relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
+ entries.
+ (bfd_elf64_mkobject): Define.
+
+ * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
+ DF_STATIC_TLS if shared.
+
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
+ empty relocation sections.
+
+2002-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
+ (ppc64_elf_build_stubs): Build them here instead.
+
+2002-09-24 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
+ addend into r_addend, not *r_offset.
+ (elf32_sparc_finish_dynamic_symbol): Likewise.
+ * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
+ R_SPARC_RELATIVE's r_offset.
+
+2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (decode_line_info): Update to correctly decode
+ the (non-standard DWARF2) out-of-order address sequences
+ generated by the Intel C++ 6.0 compiler for ia64-Linux.
+
+2002-09-23 Mark Elbrecht <snowball3@softhome.net>
+
+ * config.bfd: For DJGPP targets, match with any cpu and any machine.
+
+2002-09-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
+ for discarded FDEs. Remove redundant assignment.
+ * elflink.h (elf_bfd_discard_info): Save edited relocs.
+
+2002-09-22 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
+ the relocation count between different .reloc sections.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
+ ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
+ R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
+ R_PPC_EMB_RELSDA.
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
+ unsigned. Move "symcount" assignment out of loop.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regnerate.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
+ zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
+ (e.g. IRIX64).
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
+ even if generating R_PPC_RELATIVE reloc.
+ (ppc_elf_relocate_section): Make sure relocation is performed
+ if skip == -2. Clear memory at r_offset when creating dynamic
+ relocation.
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
+ BFD_RELOC_386_TLS_GOTIE): Add.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
+ and R_386_TLS_GOTIE.
+ (elf_i386_reloc_type_lookup): Handle it.
+ (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
+ char instead of enum, change GOT_* into defines.
+ (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
+ (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
+ accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
+ R_386_PLT32 cases so that R_386_TLS_IE can fall through.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
+ tls_type is GOT_TLS_IE_BOTH.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+ Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+ (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
+ all 4 GOT_TLS_* TLS types.
+
+2002-09-19 Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
+ follow indirect links.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
+ correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
+ on 64 bit machines.
+ (ecoff_swap_sym_in) <iss>: Likewise.
+ * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
+ ECOFF information: 'ioptMax' refers to the actual *size*
+ of the optimization symtab, not the number of entries.
+
+2002-09-19 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
+ ELF_LINK_HASH_NEEDS_PLT logic.
+
+2002-09-18 Daniel Jacobowitz <drow@mvista.com>
+
+ * elfcode.h (elf_slurp_reloc_table_from_section): Check
+ correct relocation count.
+
+2002-09-17 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h (bfd_get_dynamic_symcount): Define.
+ * bfd.c (struct _bfd): Add dynsymcount.
+ * bfd-in2.h: Regenerated.
+ * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
+ abfd->dynsymcount.
+ * elfcode.h (elf_slurp_reloc_table_from_section): Check
+ for overflow.
+
+2002-09-17 Stan Cox <scox@redhat.com>
+
+ * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
+ (mips_elf64_final_gp): Don't make up gp value.
+ * elfn32-mips.c (mips_elf_final_gp): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
+ .MIPS.options/.options section.
+
+2002-09-17 David O'Brien <obrien@FreeBSD.org>
+
+ * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
+ It is benign for FreeBSD < 4.1. Minor reformatting.
+ * elf64-alpha-fbsd.c: Likewise.
+
+2002-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
+ addend.
+
+2002-09-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-alpha.c (alpha_elf_size_info): Make static.
+
+2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
+ * cpu-tic4x.c: Ditto.
+
+2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
+ duplicate define.
+
+2002-09-16 Bruno Haible <bruno@clisp.org>
+
+ * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
+ by a target variant implementation.
+ * elf64-alpha.c: Likewise.
+ * elf32-i386-fbsd.c: New file.
+ * elf64-alpha-fbsd.c: New file.
+ * targets.c: Support bfd_elf32_i386_freebsd_vec and
+ bfd_elf64_alpha_freebsd_vec.
+ * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
+ bfd_elf64_alpha_freebsd_vec.
+ * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
+ (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
+ (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
+ * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
+ specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
+
+2002-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
+ NULL.
+ (elf_i386_relocate_section): Return false after printing error about
+ unresolvable relocation.
+
+2002-09-12 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
+ R_ARM_THM_PC11.
+
+2002-09-11 Jeffrey Law <law@redhat.com>
+
+ * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
+
+2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
+
+ * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
+ line_ptr before deciding we've found a symbol.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: New Danish translation file.
+ * configure.in (LINGUAS): Add 'da'.
+ * configure: Regenerate.
+
+2002-09-10 Michael Snyder <msnyder@redhat.com>
+
+ * irix-core.c (do_sections, do_sections64): New functions.
+ (irix_core_core_file_p): Call new functions do_sections,
+ do_sections64, depending on corefile (32-bit or 64-bit).
+
+2002-09-09 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
+ and PCREL21F like PCREL21B.
+
+2002-09-04 Kevin Buettner <kevinb@redhat.com>
+
+ * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
+ vector.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
+ names instead of cryptically overloaded bfd_reloc error
+ codes.
+ (v850_elf_relocate_section): Likewise.
+ (v850_elf_relax_section): Replace caching of external symbols
+ with caching of internal symbols obtained from calling
+ bfd_elf_get_elf_syms().
+ Fixup problems with freeing cached allocated memory blocks.
+
+2002-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
+ (bfd_pj_arch): Use bfd_default_scan.
+ * cpu-v850.c (scan): Remove.
+ (N): Use bfd_default_scan.
+ * cpu-z8k.c (scan_mach): Remove.
+ (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
+ first. Use bfd_default_scan.
+
+ * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
+ bfd_mach constants.
+ (ecoff_get_magic): Likewise.
+ * elf32-v850.c (v850_elf_object_p): Likewise.
+ (v850_elf_final_write_processing): Likewise.
+ * mipsbsd.c (MY(set_arch_mach)): Likewise.
+ (MY(write_object_contents)): Likewise.
+ * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
+ * coffcode.h (coff_write_object_contents): Likewise.
+ (coff_set_arch_mach_hook): Add comment describing machine == 0.
+ Remove unnecessary "machine" assignments.
+ (coff_write_relocs): Test for the absolute section sym by testing
+ section and flags.
+
+ * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
+ and bfd_mach_i386_i386_intel_syntax.
+ * pdp11.c (NAME(aout,machine_type)): Likewise.
+
+2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * bfd-in.h (align_power): Cast constants to bfd_vma type.
+ * bfd-in2.h (align_power): Likewise.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * cpu-avr.c (compatible): Don't use hard-coded mach constants.
+ * cpu-powerpc.c (powerpc_compatible): Likewise.
+ * cpu-rs6000.c (rs6000_compatible): Likewise.
+
+2002-08-28 Catherine Moore <clm@redhat.com>
+
+ * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
+ (v850-elf-reloc): Don't resolve pc relative relocs.
+ (v850_elf_ignore_reloc): New routine.
+ (v850_elf_final_link_relocate): Handle new relocs.
+ (v850_elf_relax_delete_bytes ): New routine.
+ (v850_elf_relax_section): New routine.
+ (bfd_elf32_bfd_relax_section): Define.
+ (HOWTO): New entries for new relocs.
+ * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
+ (BFD_RELOC_V850_LONGJUMP): New reloc.
+ (BFD_RELOC_V850_ALIGN): New reloc.
+ * archures.c: Remove redundant v850ea architecture.
+ * cpu-v850.c: Remove redundant v850ea support.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerated.
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
+ * configure.in: Add tic4x_coff vector files.
+ * configure: Regenerate.
+ * Makefile.am: Add tic4x target.
+ * Makefile.in: Regenerate.
+
+2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * archures.c: Add the BFD arch type tic4x.
+ * bfd-in.h: Add BFD_IN_MEMORY flag.
+ * coff-tic4x.c: New file.
+ * coffswap.h (coff_swap_sym_out): Add preadjuster.
+ * cpu-tic4x.c: New file.
+ * targets.c: Added tic4x- in list of xvecs.
+ * ticoff.h: New file.
+ * bfd-in2.h: Regenerate.
+
+2002-08-27 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
+ bit of DT_INIT and DT_FINI for Thumb functions.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
+
+2002-08-26 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
+
+2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
+ (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
+ Likewise.
+ (struct elf_sh_pcrel_relocs_copied): Removed.
+ (struct elf_sh_dyn_relocs): New.
+ (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
+ field with dyn_relocs.
+ (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
+ sections and sym_sec.
+ (sh_elf_link_hash_newfunc): Clear dyn_relocs.
+ (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
+ (sh_elf_create_dynamic_sections): Use create_got_section instead
+ of _bfd_elf_create_got_section.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
+ sections.
+ (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
+ sh_elf_relocate_section, sh_elf_check_relocs,
+ sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
+ Likewise.
+ (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
+ dynamic relocations and avoiding the copy relocation when we
+ didn't find any dynamic relocations in the section which has
+ contents or is read-only.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (sh_elf_size_dynamic_sections): Don't reset the size of
+ .rela.got section even if dynamic_sections_created flag is off.
+ Don't use sh_elf_discard_copies. Scan all input bfd and use
+ allocate_dynrelocs. Call readonly_dynrelocs to determine
+ whether we need DT_TEXTREL.
+ (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
+ whether the symbol was never referred to.
+ (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
+ (sh_elf_gc_sweep_hook): Fill with the real sweep function.
+ (sh_elf_check_relocs): Call create_got_section if the short-cut
+ to .got is null. Increment reference counters only instead of
+ allocating space on dynamic sections here. Don't conditionalize
+ uninitialized got.offset value when marking the symbol as a
+ global offset table entry. Keep relocations for symbols satisfied
+ by a dynamic library to avoid copy relocations for the symbol.
+ Set dynobj field of an elf hash table if needed.
+ (sh_elf_finish_dynamic_sections): Handle null section pointer
+ correctly.
+ (elf_backend_copy_indirect_symbol): Defined.
+ (elf_backend_can_refcount): Defined.
+
+2002-08-23 Nick Clifton <nickc@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
+ previous change. Add comment explaining why.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
+ contents of .got.plt[2] to tr0, not address of .got.plt.
+ (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
+ patching absolute plt entry. For shmedia plt entry, set bottom bit
+ of branch to plt0 as this is a branch to an shmedia instruction.
+ * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
+ Copy contents of .got.plt[2] to tr0, not address of .got.plt.
+ (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
+ branch to plt0.
+ (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
+ patching absolute plt entry. For shmedia plt entry, branch to
+ plt0 is now ptrel, so use relative offset. Set bottom bit of
+ branch target as it is a branch to an shmedia instruction.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
+ Richard Shann <richard.shann@superh.com>
+
+ * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
+ value if .init is an SHmedia function. Similarly for DT_FINI.
+ * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+
+2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
+ dynamic section.
+ * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+
+2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
+ byte read when reading the return address register column.
+
+2002-08-22 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Add powepc64-*-*bsd* target.
+
+2002-08-22 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add entries for elf32-shqnx.c
+ * Makefile.in: Regenerate.
+ * config.bfd: Add support sh-*-nto* target.
+ * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
+ * configure: Regenerate.
+ * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
+ * elf32-sh.c: Do not include elf32-target.h if
+ ELF32_SH_C_INCLUDED is defined.
+ * elf32-shqnx.c: New file: Support for QNX.
+ * targets.c: Add bfd_elf32_sh{l}qnx_vec.
+
+2002-08-22 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Updated Turkish translation.
+
+ * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
+ symbols are not read.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68hc11.c: Formatting fixes.
+ (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
+ * elf32-m68hc12.c: Formatting fixes.
+ (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
+ SEC_DATA.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+ (aix5coff64_vec): Likewise.
+
+2002-08-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
+ param to elf_backend_copy_indirect_symbol.
+ (_bfd_elf_link_hash_copy_indirect): Likewise.
+ * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
+ calls to copy_indirect_symbol.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
+ test refcounts for "used" values.
+
+2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
+ argument declaration.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ * archures.c (bfd_mach_ppc_e500): Added.
+ * bfd-in2.h: Rebuilt.
+ * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
+
+2002-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
+
+2002-08-17 Andrew Cagney <ac131313@redhat.com>
+
+ * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
+ `bfd_byte'.
+
+2002-08-17 Stan Cox <scox@redhat.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
+ IRIX 6 segment layout for NEWABI.
+
+2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
+
+ * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
+ symbols when looking for section referred to by a relocation.
+ * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i370.c: Move reloc enum to include/elf/i370.h.
+
+2002-08-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
+ missing check for whether the symbol is referenced by DSO before
+ unexporting it as an unneeded dynamic symbol.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * libbfd.h: Regenerate.
+
+2002-08-14 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
+
+2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
+ instructions.
+ (m68hc11_direct_relax): New to define table of relaxable instructions.
+ (find_relaxable_insn): New, find a relaxable insn.
+ (compare_reloc): New to compare two relocs.
+ (m68hc11_elf_relax_section): New, relax text sections.
+ (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
+ (elf32_m68hc11_check_relocs): New function for GC support.
+ (elf32_m68hc11_relocate_section): New function for GC support.
+ (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
+ (elf_backend_check_relocs): Likewise.
+ (elf_backend_relocate_section): Likewise.
+
+2002-08-13 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
+ definitions in shared objects when checking symbol with
+ undefined version.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
+ (elf32_m68hc11_gc_sweep_hook): Likewise.
+ (elf_backend_gc_mark_hook): Define for GC section support.
+ (elf_backend_gc_sweep_hook): Likewise.
+ (elf_backend_can_gc_sections): Likewise.
+
+ * elf32-m68hc12.c: Likewise.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
+ (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
+ (_bfd_m68hc11_elf_set_private_flags): New function.
+ Use them to set/check/print ELF flags specific to 68HC11.
+
+ * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
+ (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
+ (_bfd_m68hc12_elf_set_private_flags): New function.
+ Use them to set/check/print ELF flags specific to 68HC12.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
+ fix masks for PC-rel relocs.
+ (m68hc11_elf_ignore_reloc): New function.
+
+ * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
+ 68HC12 banked addressing relocs.
+ (m68hc12_phys_addr): New to compute physical address of banked memory.
+ (m68hc12_phys_page): Likewise for page.
+ (m68hc12_addr_is_banked): New to see if address is in banked area.
+ (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
+ BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
+ BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
+ * bfd-in2.h: Regenerate.
+
+2002-08-12 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_add_default_symbol): Preserve section across
+ elf_merge_symbol.
+
+2002-08-09 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am: Add entries for elf32-ppcqnx.c, and add
+ elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
+ * Makefile.in: Regenerate.
+ * config.bfd: Add support for powerpc{le}-*-nto targets.
+ * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
+ * configure: Regenerate.
+ * elf32-i386qnx.c: Moved backend functions into a QNX specific
+ common file "elf32-qnx.h", and now include that file.
+ * elf32-qnx.h: New file: QNX specific common elf backend.
+ * elf32-ppc.c: Do not include elf32-target.h if
+ ELF32_PPC_C_INCLUDED is defined.
+ * elf32-ppcqnx.c: New file: Support for QNX.
+ * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
+ * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
+
+2002-08-09 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
+ g->global_gotsym is NULL.
+
+2002-08-08 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_add_default_symbol): Don't warn if a definition
+ overrides an indirect versioned symbol.
+
+2002-08-08 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
+ for R_386_TLS_TPOFF32 relocs against symndx 0.
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
+ with undefined version if needed.
+ (elf_link_assign_sym_version): Match a default symbol with a
+ version without definition. No need to hide the default
+ definition separately.
+
+2002-08-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Don't output symbols from
+ SEC_EXCLUDE sections.
+
+ * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
+
+2002-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
+ entries.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
+ mismatch.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (ABI_64_P): Remove superfluous check.
+
+2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (mips_reloc_map): Fix typo.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * libxcoff.h: Use PARAMS on function declarations.
+ * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
+ * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+
+ * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
+ addend.
+ * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c: Formatting fixes.
+ (xcoff_calculate_relocation): Use PARAMS in declaration.
+ (xcoff_complain_overflow): Likewise.
+ (xcoff_ppc_relocate_section): Use old-style function pointer call.
+ (bfd_xcoff_backend_data): Remove useless comments.
+ (rs6000coff_vec): Likewise.
+ (bfd_pmac_xcoff_backend_data): Likewise.
+ (pmac_xcoff_vec): Likewise.
+
+ * coff64-rs6000.c: Formatting fixes.
+ (xcoff64_calculate_relocation): Use PARAMS in declaration.
+ (xcoff64_ppc_relocate_section): Use old-style function pointer call.
+ (bfd_xcoff_backend_data): Remove useless comments.
+ (rs6000coff64_vec): Likewise.
+ (bfd_xcoff_aix5_backend_data): Likewise.
+ (aix5coff64_vec): Likewise.
+
+2002-08-06 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
+ mask entries. Use complain_overflow_dont for R_REF.
+ (xcoff_reloc_type_ba): Revert last change.
+ (xcoff_reloc_type_br): Likewise.
+ (xcoff_reloc_type_crel): Likewise.
+ (xcoff_ppc_relocate_section): Likewise.
+ * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
+ (xcoff64_ppc_relocate_section): Likewise.
+ (xcoff64_howto_table): Revert some of last change to mask entries.
+ Use complain_overflow_dont for R_REF.
+
+ * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
+ relocs with bitsize == 16 have size = 1.
+ (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
+ (xcoff_reloc_type_br): Likewise.
+ (xcoff_reloc_type_crel): Likewise.
+ (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+ * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
+ dst_mask adjustment.
+ (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+ (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
+ bitsize == 16 have size = 1.
+
+2002-08-01 Denis Chertykov <denisc@overta.ru>
+
+ * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
+ (struct misc): New field isymbuf. All free_* fields removed.
+ (symbol_value): Pass in internal syms. No need to swap syms in.
+ (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
+ possibly cached info.
+ (tidyup_after_error): Removed.
+ (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
+ misc. Use new field.
+ (adjust_all_relocations): Use internal syms. No need to swap syms
+ in and out.
+ (add_page_insn): Don't use removed fields of struct misc.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h: Revert previous delta.
+
+2002-08-01 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (AM_INIT_AUTOMAKE): Bump version number.
+ * configure: Regenerate.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
+ selected.
+
+2002-07-31 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
+ is selected.
+
+2002-07-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
+ if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
+ There is no 8 byte relocation type for this architecture.
+ (do_ns32k_reloc): Use bfd_vma instead of native types.
+ (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
+ returns void.
+ (_bfd_ns32k_put_displacement): Don't check for overflow. We can
+ rely on generic code to do that.
+ * aout-ns32k.c (howto_table): Add appropriate overflow detection
+ to all table entries.
+ (_bfd_ns32k_relocate_contents): put_data returns void.
+ * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
+ (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
+ return void.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * aoutx.h (aout_link_check_ar_symbols): Whether to include an
+ archive object is target dependant.
+
+2002-07-31 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
+ (THUMB_PLT_ENTRY_SIZE): New macro.
+ (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
+ (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
+ ARM_PLT_ENTRY_SIZE.
+ (elf32_arm_plt_entry): Likewise.
+ (elf_backend_plt_header_size): Likewise.
+ (elf32_thumb_plt0_entry): New global.
+ (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
+ into .plt.thumb.
+ (elf32_thumb_plt_entry): New global.
+ (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
+ Thumb entries. Set the bottom bit of the corresponding GOT entry
+ for a Thumb PLT entry.
+ (struct elf32_arm_plt_entry_info): New structure.
+ (struct elf32_arm_link_hash_entry, plt_info): New member of this
+ type.
+ (elf32_arm_link_hash_newfunc): Initialize new member.
+ (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
+ relocations against the PLT.
+ (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
+ first_rel_type if this is the first time we encounter the symbol.
+ (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
+ Determine if relocation needs a PLT entry. Set first_rel_type if
+ this is the first time we encounter the symbol
+ (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
+ functions as well.
+ (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
+ (elf32_arm_create_dynamic_sections): New function. Create the
+ .plt.thumb section.
+ (elf_backend_create_dynamic_sections): Call it.
+
+2002-07-31 Nick Clifton <nickc@redhat.com>
+
+ * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
+ 'alternative' in order to avoid shadowing global symbol of the
+ same name.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: Add n32 ABI support.
+ * Makefile.in: Regenerate.
+ * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
+ bit vectors for mips*-*-linux targets as optional.
+ * configure.in: Add n32 ABI vectors.
+ * configure: Regenerate.
+ * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
+ * elfn32-mips.c: New file, n32 ABI support.
+ * targets.c: Add n32 ABI vectors.
+
+2002-07-30 Graeme Peterson <gp@qnx.com>
+
+ * elfarmqnx-nabi.c: New file: Support for QNX.
+ * config.bfd: Add support for arm-*-nto target.
+ * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
+ * configure: Regenerate.
+ * Makefile.am: Add entries for elfarmqnx-nabi.c.
+ * Makefile.in: Regenerate.
+ * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
+ Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
+ * elfarm-nabi.c: Do not include elf32-arm.h if
+ ELFARM_NABI_C_INCLUDED is defined.
+ * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
+
+2002-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
+
+2002-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
+ * archive.c (bfd_generic_archive_p): Likewise.
+ * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
+ (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
+ * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
+ (xcoff64_archive_p): Likewise.
+ (xcoff64_openr_next_archived_file): Likewise.
+ (xcoff64_archive_p): Clean up tdata properly on error.
+ * coffgen.c (coff_real_object_p): Likewise.
+ (coff_object_p): Release filehdr and opthdr.
+ * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
+ * ieee.c (ieee_archive_p): Likewise.
+ * ihex.c (ihex_object_p): Likewise.
+ (ihex_mkobject): Always allocate tdata.
+ * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
+ * srec.c (srec_mkobject): Always allocate tdata.
+ (srec_object_p): Clean up tdata properly on error.
+ (symbolsrec_object_p): Likewise.
+ * versados.c (versados_object_p): Likewise.
+ * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
+ and bfd_realloc instead of realloc.
+ (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
+ * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
+ place of bfd_malloc, simplifying error freeing. Free hash table too.
+ (vms_object_p): Clean up tdata on error.
+ (vms_mkobject): Don't complain on stderr if vms_initialize fails.
+ (vms_close_and_cleanup): Adjust for bfd_alloc use.
+
+2002-07-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
+
+2002-07-26 Chris Demetriou <cgd@broadcom.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
+ flags into resulting BFD.
+
+2002-07-26 Alan Modra <amodra@bigpond.net.au>
+
+ From John Reiser <jreiser@BitWagon.com>
+ * elf32-i386.c (elf_i386_link_hash_table_create): Clear
+ tls_ldm_got.refcount.
+
+2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c: Update TODO comment.
+ (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
+ mips_elf64_gprel16_reloca): Remove prototypes.
+ (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
+ (UNUSED_RELOC): Replace by EMPTY_RELOC.
+ (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
+ wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
+ R_MIPS_HIGHEST.
+ (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
+ R_MIPS_GOT16. Remove wrong comments.
+ (elf_mips16_jump_howto,elf_mips16_gprel_howto,
+ elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
+ from elf32-mips.c.
+ (mips_elf64_hi16_reloc): Fix formatting.
+ (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
+ (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
+ Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
+ (mips_elf64_gprel16_reloc): Make static. Add check for
+ partial_inplace.
+ (mips_elf64_gprel16_reloca): Remove.
+ (mips_elf64_literal_reloc): New function.
+ (mips_elf64_gprel32_reloc): Fix formatting.
+ (mips_elf64_shift6_reloc): Fix comment. Make static.
+ (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
+ elf32-mips.c.
+ (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
+ elf32-mips.c
+ (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
+ specific relocations.
+ (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
+ (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
+ (ELF_MAXPAGESIZE): Add comment.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
+ as elf_link_record_local_dynamic_symbol.
+ (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
+ * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
+ * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
+ attempt is made to record a symbol in a discarded section, and
+ return `2' in that case.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
+ immediately. Remove code handling relocatable linking.
+ * elf32-avr.c (elf32_avr_relocate_section): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section): Likewise.
+ * elf32-vax.c (elf_vax_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf32-avr.c (elf_backend_rela_normal): Define.
+ * elf32-cris.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
+ * elf32-frv.c (elf32_frv_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf-m10200.c (USE_RELA): Don't define.
+ * elf-m10300.c: Likewise.
+ * elfarm-oabi.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elf32-avr.c (USE_REL): Don't undef.
+ * elf32-ip2k.c: Likewise.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add new bitfield
+ 'want_p_paddr_set_to_zero'.
+ * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
+ to false;
+ * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
+ * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
+
+2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
+
+ * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
+ the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
+ show the Copyright string.
+ Minor formatting tidy ups.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Don't change internal symbols
+ when outputting relocs.
+
+2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
+ DT_PLTGOT into the dynamic section if there is a PLT.
+
+2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
+ elf32-mips.c.
+ (_bfd_mips_elf_write_section): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
+ (_bfd_mips_elf_write_section): Likewise.
+ * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
+ (elf32_mips_write_section): Likewise.
+ * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
+ (_bfd_mips_elf_write_section): Likewise.
+
+2002-07-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
+ PT_IA_64_UNWIND segments for a given section.
+
+2002-07-17 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am: Fix a typo.
+ * Makefile.in: Regenerate.
+
+2002-07-15 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Ben Elliston <bje@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Graham Stott <grahams@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * Makefile.am: Add support for ip2k.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * archures.c: Add support for ip2k.
+ * config.bfd: Add support for ip2k.
+ * configure.in: Add support for ip2k.
+ * configure: Regenerate.
+ * reloc.c: Add support for ip2k.
+ * targets.c: Add support for ip2k.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * cpu-ip2k.c: New file.
+ * elf32-ip2k.c: New file.
+
+2002-07-17 Ian Rickards <irickard@arm.com>
+
+ * dwarf2.c (concat_filename): If we can't establish the directory
+ just return the filename.
+
+2002-07-16 Moritz Jodeit <moritz@jodeit.org>
+
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
+
+2002-07-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h: Formatting fixes, tidy prototypes.
+ (elf_link_assign_sym_version): Move common code out of loop.
+
+2002-07-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
+ reloc section size is zero. Correct reloc output location.
+
+2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
+ the final type for the e_fsel selector when generating PA2.0W code.
+ (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
+ relocations.
+
+2002-07-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_assign_sym_version): Hide the default
+ definition if there is a hidden versioned definition.
+
+2002-07-12 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
+ dynamic reference test in assertion when initializing GOT with
+ static contents. Just assert that there are either no dynamic
+ sections, the symbol is defined in the regular objects or that the
+ symbol is undef weak. Tweak comment.
+ (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
+ only if the symbol isn't defined in the program and isn't undef
+ weak.
+ (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
+ rid of PLT entry: only do it if the symbol isn't defined in a DSO.
+ When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
+ (elf_cris_discard_excess_program_dynamics): Don't consider
+ ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
+
+2002-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Don't complain about
+ unresolved debugging relocs in dynamic applications.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ONES): Define.
+ (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
+ missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
+ in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
+
+ * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
+ (ppc64_elf_set_private_flags): Delete.
+ (ppc64_elf_section_from_shdr): Delete.
+ (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
+ (ppc64_elf_fake_sections): Delete.
+ (bfd_elf64_bfd_set_private_flags): Don't define.
+ (bfd_elf64_get_symbol_info): Likewise.
+ (elf_backend_section_from_shdr): Likewise.
+ (elf_backend_fake_sections): Likewise.
+
+2002-07-10 Marco Walther <Marco.Walther@sun.com>
+
+ * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
+ when not already set.
+ * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
+ (elf_backend_fake_sections): Define.
+
+2002-07-10 Alan Modra <amodra@bigpond.net.au>
+
+ * merge.c (_bfd_merge_section): Remove redundant output_section check.
+ Formatting.
+ (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
+
+2002-07-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
+ NULL sym_hashes to just before use.
+ <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
+ symbol with non-default visibility.
+ <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
+ <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
+ Ditto.
+ (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
+ symbol with non-default visibility.
+ (cris_elf_check_relocs): At tests for local symbol before
+ increasing h->plt.refcount, also check for non-default
+ visibility. Ditto when checking for local symbol to eliminate
+ pc-relative runtime relocs.
+
+2002-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c: Formatting.
+ (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
+ (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
+ (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
+ segments.
+
+2002-07-07 Mark Mitchell <mark@codesourcery.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
+ account the impact of relocation count overflow when computing
+ section offsets.
+ * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
+ or not to apply the PE COFF reloc overflow handling. Fix a
+ fencepost error in deciding whether or not to use that technique.
+
+2002-07-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
+ change type of locsyms.
+ (bfd_elf_get_elf_syms): Declare.
+ * elf.c (bfd_elf_get_elf_syms): New function.
+ (group_signature): Use bfd_elf_get_elf_syms.
+ (bfd_section_from_r_symndx): Likewise.
+ * elfcode.h (elf_slurp_symbol_table): Likewise.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise. Reorganise to increase
+ locality of various data structures. Properly free internal relocs.
+ (elf_bfd_final_link): Properly free internal relocs.
+ (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise. Properly free internal relocs.
+ (elf_gc_sweep): Properly free internal relocs.
+ (elf_reloc_symbol_deleted_p): No need to swap syms in.
+ (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
+ internal relocs.
+ * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
+ Properly free possibly cached info.
+ (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
+ (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
+ symbol swapping code.
+ (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
+ Properly free possibly cached info.
+ * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
+ (m32r_elf_relax_delete_bytes): Likewise.
+ (m32r_elf_get_relocated_section_contents): Likewise.
+ * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
+ elf_section_data to determine whether cached.
+ (sh_elf_relax_section): As above for elf-m10200.c.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
+ * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
+ reading of local syms.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
+ * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
+ relocs.
+ * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
+ free internal relocs and section contents. Don't read symbols.
+ * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
+ (elf32_hppa_size_stubs): Don't free local syms.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
+ reading of local syms. Use bfd_elf_get_elf_syms. Properly free
+ possibly cached info.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
+ * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
+ all_local_syms.
+ (get_local_syms): Delete function.
+ (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
+ on exit.
+ (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
+
+2002-07-05 Jim Wilson <wilson@redhat.com>
+
+ * syms.c (decode_section_type): New.
+ (bfd_decode_symclass): Call decode_section_type.
+
+2002-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
+ section content start.
+ Reported by Michael Schumacher <mike@hightec-rt.com>.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (_bfd_strip_section_from_output): Remove unnecessary
+ link order code. Don't actually remove the output section here;
+ Just set a flag for the linker to do so.
+ * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
+ sections when setting up output section dynsyms.
+
+2002-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
+ fudge.
+ * elf.c (bfd_section_from_shdr): Work around broken hpux shared
+ libs here instead.
+
+2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf64-s390.c (create_got_section): Set .got section alignment to
+ 8 bytes.
+ (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
+
+2002-07-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
+
+2002-07-01 Matt Thomas <matt@3am-software.com>
+
+ * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
+ to EF_VAX_*.
+
+2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (ABI_64_P): Fix comment.
+ (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
+ new section names for N64 ABI.
+ (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
+ (mips_elf_calculate_relocation): Code formatting.
+ (mips_elf_create_dynamic_relocation): Likewise.
+ (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
+ (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
+ (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
+ in any NewABI.
+ (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
+ for NewABI.
+ (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
+ (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
+ here, too.
+
+2002-07-01 Andreas Schwab <schwab@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
+ R_X86_64_64 to R_X86_64_RELATIVE.
+
+2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
+ * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
+ Run "make dep-am".
+ * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
+ host_aout_vec.
+ * configure.in (vaxbsd_vec): Add.
+ * targets.c (vaxbsd_vec): Add.
+ * Makefile.in: Rebuild.
+ * configure: Rebuild.
+ * po/SRC-POTFILES.in: Rebuild.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
+ examining to gc_mark_hook, rather than the bfd.
+ (elf_gc_sections): Adjust.
+ * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
+ * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
+ * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
+ * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
+ * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
+ * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
+ * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
+ * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
+ * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
+ * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
+ * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
+ * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
+ * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
+ * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
+ * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
+ * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
+ * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
+ * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
+ * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
+ redundant local sym tests.
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
+ (link_hash_newfunc): Init is_entry.
+ (ppc64_elf_copy_indirect_symbol): Copy is_entry.
+ (ppc64_elf_link_hash_table_create): Init all_local_syms.
+ (create_linkage_sections): Use bfd_make_section_anyway rather than
+ bfd_make_section.
+ (ppc64_elf_mark_entry_syms): New function.
+ (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
+ up opd entry to function section map.
+ (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
+ relocs that reference the opd section.
+ (edit_opd): New function.
+ (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
+ (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
+ (get_local_syms): Do so here. Exit if we already have local syms.
+ Remove bogus comment imported from elf32-hppa.c. Don't attempt to
+ read local syms on non-ELF input.
+ (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
+ than duplicating it's function here. Adjust free of internal
+ relocs to suit.
+ (ppc64_elf_relocate_section): Adjust local syms in opd section.
+ * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Call
+ _bfd_elf32_link_read_relocs rather than duplicating it's function
+ here. Adjust free of internal relocs to suit.
+
+2002-07-01 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
+ are not allowed in shared libs code, enforce -fPIC.
+
+2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
+ trailing zero-sequences when there's previous left-over data.
+
+2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
+ (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
+ and opd_rel_sec in order for starting rela section. Check _raw_size.
+ (elf_backend_reloc_type_class): Define.
+
+2002-06-27 Kevin Buettner <kevinb@redhat.com>
+
+ * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
+ DWARF2 formats.
+
+2002-06-27 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-powerpc.c: Comment on ordering of arch_info.
+ * elf32-ppc.c (ppc_elf_object_p): New function.
+ (elf_backend_object_p): Define.
+ * elf64-ppc.c (ppc64_elf_object_p): New function.
+ (elf_backend_object_p): Define.
+
+2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
+ * configure: Regenerate.
+
+2002-06-25 Jason Eckhardt <jle@rice.edu>
+
+ * dwarf2.c (decode_line_info): Check unit->addr_size
+ to read in the proper number of prologue bytes.
+
+2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config.bfd (powerpc-*-aix5*): Only create a selvecs for
+ aix5coff64_vec if 64-bit bfd support has been enabled.
+ (powerpc64-*-aix5*): Only define if 64-bit bfd support has
+ been enabled.
+
+ * targets.c (_bfd_target_vector[]): Only include
+ aix5coff64_vec if 64-bit bfd support has been enabled.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
+ * elf32-hppa.c (hppa_add_stub): Likewise.
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
+ * elflink.h (elf_add_default_symbol): Fix comment typo.
+ (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_assign_sym_version): Likewise.
+ * hash.c (bfd_hash_lookup): Likewise.
+ * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+ * section.c (bfd_get_unique_section_name): Likewise.
+ * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
+ * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
+ (assign_section_numbers): Likewise.
+ (_bfd_elfcore_make_pseudosection): Likewise.
+ (elfcore_grok_lwpstatus): Likewise.
+ (elfcore_grok_win32pstatus): Likewise.
+ (elfcore_write_note): Constify input params. Use PTR instead of
+ void *. Include terminating NUL in namesz. Correct padding.
+ Support NULL "name" param. Use memcpy instead of strcpy.
+ (elfcore_write_prpsinfo): Constify input params.
+ (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
+ (elfcore_write_lwpstatus): Likewise.
+ (elfcore_write_pstatus): Likewise.
+ (elfcore_write_prfpreg): Likewise.
+ (elfcore_write_prxfpreg): Likewise.
+ * elf-bfd.h (elfcore_write_note): Update declaration.
+ (elfcore_write_prpsinfo): Likewise.
+ (elfcore_write_prstatus): Likewise.
+ (elfcore_write_pstatus): Likewise.
+ (elfcore_write_prfpreg): Likewise.
+ (elfcore_write_prxfpreg): Likewise.
+ (elfcore_write_lwpstatus): Likewise.
+
+2002-06-25 Jason Eckhardt <jle@rice.edu>
+
+ * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
+ symbols of type stProc and stStaticProc.
+
+2002-06-25 Nick Clifton <nickc@redhat.com>
+
+ * ecoff.c: VArious formatting fixes.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * aout-adobe.c: Don't compare against "true" or "false.
+ * aout-target.h: Likewise.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * bout.c: Likewise.
+ * cache.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-or32.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d30v.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-mips.c: Likewise.
+ * i386os9k.c: Likewise.
+ * ieee.c: Likewise.
+ * libbfd.c: Likewise.
+ * linker.c: Likewise.
+ * mmo.c: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlm32-sparc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * oasys.c: Likewise.
+ * pdp11.c: Likewise.
+ * peicode.h: Likewise.
+ * reloc.c: Likewise.
+ * som.c: Likewise.
+ * srec.c: Likewise.
+ * tekhex.c: Likewise.
+ * vms.c: Likewise.
+ * xcofflink.c: Likewise.
+ * elf64-sparc.c: Edit comment to not use "== false".
+
+ * aoutf1.h: Don't use "? true : false".
+ * ecoff.c: Likewise.
+ * format.c: Likewise.
+ * ieee.c: Likewise.
+ * linker.c: Likewise.
+ * mmo.c: Likewise.
+ * oasys.c: Likewise.
+
+2002-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_archive_symbols): For the default
+ version, check references with only one `@' first.
+
+2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
+ function.
+ (allocate_global_data_dlt): Don't add millicode symbols to dynamic
+ symbol table.
+ (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
+ (elf64_hppa_size_dynamic_sections): Revise to use
+ elf64_hppa_mark_milli_and_exported_functions.
+ (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
+ symbols out of dynamic symbol table.
+
+2002-06-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elflink.h: Comment typo fixes.
+
+2002-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (elf_link_loaded_list): New structure.
+ (elf_link_hash_table): Add "loaded".
+ * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
+ * elflink.h (elf_link_check_versioned_symbol): New function.
+ (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
+
+2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elflink.h (size_dynamic_sections): If the target does not
+ support an ELF style hash table, return true, indicating that
+ nothing needed to be done, rather than false, indicating that the
+ section's size could not be computed.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Dave Brolley:
+ * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
+ * targets.c: Support bfd_elf32_frv_vec.
+ * reloc.c: Add FRV relocs.
+ * configure.in: Add support for bfd-elf32-frv-vec.
+ * config.bfd (targ_cpu): Add support for frv-*-elf.
+ * archures.c: Add frv arch and machines.
+ * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
+ (ALL_MACHINES_CFILES): Add cpu-frv.c.
+ (BFD32_BACKENDS): Add elf32-frv.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-frv.c
+ (cpu-frv.lo): New target.
+ (elf32-frv.lo): New target.
+ * cpu-frv.c: New file.
+ * elf32-frv.c: New file.
+
+2002-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
+ e_shnum == 0.
+ Only read the first section header if e_shoff is non-zero.
+ Don't consider e_shstrndx if there are no sections.
+
+2002-06-17 Tom Rix <trix@redhat.com>
+
+ * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
+ R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
+ complain_overflow_bitfield.
+
+2002-06-17 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c (bfd_openr): Remove redundant bfd_set_error.
+ (bfd_fdopenr): Likewise.
+ (bfd_openstreamr): Likewise.
+ (bfd_openw): Likewise.
+
+ * targets.c: Sort target vecs.
+ (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
+ bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
+ bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
+ bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
+ * configure.in: Sort target vecs. Add m88kmach3_vec.
+ * configure: Regenerate.
+
+2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
+ bpo_reloc_no to break sort order ties, not address of items.
+
+2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
+ Skip excluded sections in determing __gp value.
+ (elf_hppa_final_link_relocate): Use the symbol's address in
+ R_PARISC_FPTR64 relocations that don't need an opd entry.
+ * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
+ (elf64_hppa_finalize_dynreloc): Likewise.
+ (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
+ (elf64_hppa_finish_dynamic_symbol): Break up assert.
+
+2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
+
+ * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
+ alignment for .bss, .data and .text sections so that sse and sse2
+ code will work.
+ * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
+
+ config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
+ sh[1234]*-elf*.
+
+2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elflink.h (elf_bfd_final_link): Improve error handling for missing
+ dynamic sections.
+
+ * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
+ for a symbol that has no output section.
+ (allocate_dynrel_entries): Correct comment.
+ (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
+ unless we want one.
+ (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
+ (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
+ with no section. Remove unnecessary parentheses.
+
+2002-06-11 Tom Rix <trix@redhat.com>
+
+ * coffcode.h (coff_compute_section_file_positions): Add data
+ section to AIX loader alignment check.
+
+ * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
+ alignment to 4 bytes.
+ (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
+ power accessor macro.
+ (do_shared_object_padding): Remove invalid assertion.
+
+2002-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
+ for removed output sections.
+
+2002-06-10 Geoffrey Keating <geoffk@redhat.com>
+
+ * merge.c (merge_strings): Use htab_create_alloc with calloc, not
+ htab_alloc.
+ * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
+
+2002-06-08 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
+ work around a long long bug in gcc 2.96 on mips.
+
+2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
+ Regenerate dependency lists.
+ * Makefile.in: Regenerate.
+ * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
+ vax1knetbsd_vec to targ_selvecs.
+ * configure.in: Add vax1knetbsd_vec.
+ * configure: Regenerate.
+ * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
+ * vax1knetbsd.c: New file.
+ * vaxnetbsd.c: Update copyright years.
+ (TARGET_PAGE_SIZE): Set to 0x1000.
+ (DEFAULT_MID): Set to M_VAX4K_NETBSD.
+
+2002-06-08 Matt Thomas <matt@3am-software.com>
+
+ * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * armnetbsd.c: Replace CONST with const.
+ * corefile.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * mmo.c: Likewise.
+ * ns32knetbsd.c: Likewise.
+
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
+ table is elf64-sparc.
+
+2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
+ Fix RELA addends to get not shifted in the result. Don't do special
+ handling of R_MIPS_64 for NewABI.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+ (NAME(aout,slurp_reloc_table)): Likewise.
+ * coff-mips.c (mips_relax_section): Use bfd_zalloc.
+ * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
+ (xcoff_write_archive_contents_big): Likewise.
+ (xcoff_generate_rtinit): Likewise.
+ (xcoff_generate_rtinit): Likewise, and check error return.
+ * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+ * coffgen.c (coff_section_symbol): Use bfd_zalloc.
+ (coff_get_normalized_symtab): Likewise.
+ (coff_make_empty_symbol): Likewise.
+ (bfd_coff_set_symbol_class): Likewise.
+ * cofflink.c (coff_link_add_symbols): Likewise.
+ * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
+ * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
+ (bfd_ecoff_write_accumulated_debug): Likewise.
+ * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
+ * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
+ * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
+ * ieee.c (do_with_relocs): Use bfd_zalloc.
+ * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
+ * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+ (NAME(aout,slurp_reloc_table)): Likewise.
+ (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
+ * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
+ * som.c (som_build_and_write_symbol_table): Likewise.
+ (som_slurp_string_table): Likewise.
+ (som_slurp_symbol_table): Likewise.
+ (som_bfd_ar_write_symbol_stuff): Likewise.
+ * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
+ * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
+ * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
+ * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
+ * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
+ "group" union.
+ (elf_group_name): Update.
+ (elf_group_id): Define.
+ (bfd_elf_set_group_contents): Declare.
+ * elf.c (elf_fake_sections): Qualify use of elf_group_name.
+ (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
+ ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
+ that sym for the signature.
+ (_bfd_elf_compute_section_file_positions): Don't call
+ set_group_contents for "ld -r" case.
+ (swap_out_syms): Use bfd_zalloc.
+ * elflink.h (elf_link_add_archive_symbols): Likewise.
+ (NAME(bfd_elf,size_dynamic_sections)): Likewise.
+ (elf_bfd_final_link): Call bfd_elf_set_group_contents.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
+ relocs in opd for non-shared too.
+
+2002-06-06 Jeffrey Law <law@redhat.com>
+
+ * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
+ relocations.
+
+2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * merge.c: Include libiberty.h.
+ * elf-strtab.c: Include libiberty.h.
+
+2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
+
+ * peXXigen.c (pe_print_idata): Remove unused variable.
+
+2002-06-06 David Heine <dlheine@tensilica.com>
+
+ * elf.c (assign_file_positions_for_segments): Remove unallocated
+ sections from the section to segment mapping for PT_LOAD segments.
+ Update comment about empty loadable segments.
+
+2002-06-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
+ is within the .stabstr section.
+
+2002-06-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
+ are "const PTR", not "const PTR *".
+ (bfd_elf32_swap_symbol_in): Likewise.
+ (bfd_elf64_swap_symbol_in): Likewise.
+ * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
+ (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise.
+ (elf_reloc_symbol_deleted_p): Likewise.
+ * elf-m10200.c (mn10200_elf_relax_section): Likewise.
+ (mn10200_elf_relax_delete_bytes): Likewise.
+ (mn10200_elf_symbol_address_p): Likewise.
+ (mn10200_elf_get_relocated_section_contents): Likewise.
+ * elf-m10300.c (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-hppa.c (get_local_syms): Likewise.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-ppc.c (get_local_syms): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+
+2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (group_signature): Swap in the whole symbol, and handle
+ extracting section symbol names.
+ (setup_group): Add comment.
+ (set_group_contents): When called from objcopy or ld, arrange for
+ section contents to be written. Write group member output section
+ indices to allow objcopy to reorganize sections.
+ (_bfd_elf_copy_private_section_data): Copy group info.
+
+ * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
+ (bfd_elf32_swap_symbol_in): Update prototype.
+ (bfd_elf64_swap_symbol_in): Likewise.
+ * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
+ (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+ * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise.
+ (elf_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_gc_mark): Likewise.
+ (elf_reloc_symbol_deleted_p): Likewise.
+ * elf-m10200.c (mn10200_elf_relax_section): Likewise.
+ (mn10200_elf_relax_delete_bytes): Likewise.
+ (mn10200_elf_symbol_address_p): Likewise.
+ (mn10200_elf_get_relocated_section_contents): Likewise.
+ * elf-m10300.c (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_section): Likewise.
+ (mn10300_elf_relax_delete_bytes): Likewise.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-hppa.c (get_local_syms): Likewise.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-mmix.c (mmix_elf_relax_section): Likewise.
+ * elf64-ppc.c (get_local_syms): Likewise.
+ * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+ * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
+ * elf64-alpha.c (alpha_elf_size_info): Likewise.
+ * elf64-hppa.c (hppa64_elf_size_info): Likewise.
+ * elf64-mips.c (mips_elf64_size_info): Likewise.
+ * elf64-s390.c (s390_elf64_size_info): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
+ elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
+ elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
+ _bfd_mips_elf_ignore_discarded_relocs.
+ elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
+
+2002-06-05 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Call
+ _bfd_elf_rel_local_sym for STT_SECTION relocations against
+ the SEC_MERGE section.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-alpha.c: Update copyright date.
+ * coff-mips.c: Likewise.
+ * xcoff-target.h: Likewise.
+
+ * bfd-in.h: Remove "taken from the source" comment.
+ * libbfd-in.h: Likewise.
+ * libcoff-in.h: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+ * elf.c (bfd_elf_discard_group): Return true.
+ * elf-bfd.h (bfd_elf_discard_group): Declare.
+ * bfd-in.h (bfd_elf_discard_group): Don't declare here.
+ * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
+ * bfd.c (bfd_discard_group): Define.
+ * targets.c (struct bfd_target): Add _bfd_discard_group.
+ (BFD_JUMP_TABLE_LINK): Here too.
+ * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
+ * aout-adobe.c (aout_32_bfd_discard_group): Define.
+ * aout-target.h (MY_bfd_discard_group): Define.
+ * aout-tic30.c (MY_bfd_discard_group): Define.
+ * binary.c (binary_bfd_discard_group): Define.
+ * bout.c (b_out_bfd_discard_group): Define.
+ * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
+ * coffcode.h (coff_bfd_discard_group): Define.
+ * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
+ * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
+ * i386msdos.c (msdos_bfd_discard_group): Define.
+ * i386os9k.c (os9k_bfd_discard_group): Define.
+ * ieee.c (ieee_bfd_discard_group): Define.
+ * ihex.c (ihex_bfd_discard_group): Define.
+ * mmo.c (mmo_bfd_discard_group): Define.
+ * nlm-target.h (nlm_bfd_discard_group): Define.
+ * oasys.c (oasys_bfd_discard_group): Define.
+ * ppcboot.c (ppcboot_bfd_discard_group): Define.
+ * som.c (som_bfd_discard_group): Define.
+ * srec.c (srec_bfd_discard_group): Define.
+ * tekhex.c (tekhex_bfd_discard_group): Define.
+ * versados.c (versados_bfd_discard_group): Define.
+ * vms.c (vms_bfd_discard_group): Define.
+ * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
+ * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
+ (aix5coff64_vec): Likewise.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
+ (elf32-sh64-com.lo): New dependency list.
+ * Makefile.in: Regenerate.
+ * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
+ (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
+ elf32-sh64-com.lo.
+ * configure: Regenerate.
+ * elf32-sh64.c (sh64_address_in_cranges)
+ (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
+ (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
+ * elf32-sh64-com.c: ...here. New file.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
+ ATTRIBUTE_UNUSED on used params.
+ * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
+ before calling bfd_section_from_elf_index on local syms.
+ * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
+ (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
+ (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
+ (sh64-*-netbsd*): New targets.
+ * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
+ bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
+ * configure: Regenerate.
+ * elf32-sh64-nbsd.c: New file.
+ * elf64-sh64-nbsd.c: New file.
+ * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
+ bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
+ bfd_elf64_sh64lnbsd_vec.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
+ (bfd_section_from_shdr): Likewise. Set section name of group
+ sections from signature.
+ (group_signature): Split out from setup_group. Ensure symbol table
+ is available.
+ (bfd_elf_discard_group): New function.
+ (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
+ .gnu.linkonce* sections if they are members of a group.
+ (set_group_contents): Set GRP_COMDAT flag.
+ * section.c (bfd_discard_group): New function.
+ * bfd-in.h (bfd_elf_discard_group): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
+ (elf_linkonce_p): Define.
+
+2002-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (bfd_section_from_shdr): Make "name" const.
+ * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
+ * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
+ * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+ * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+ * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+ * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+ * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+ * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+ * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
+ ABI.
+
+2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * elf32-arc.c: Fix formatting.
+ * elf32-arm.h: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i386qnx.c: Likewise.
+ * elf32-or32.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-xstormy16.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+
+2002-06-02 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
+ null when there are no got entries for a symbol.
+ (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
+ uninitialized variable warning.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
+ undefined symbols here.
+ (elf64_alpha_relax_section): Do it here. Also test for not
+ defined in the current module.
+ (elf64_alpha_relocate_section_r): Split out of ...
+ (elf64_alpha_relocate_section): ... here. Don't dereference
+ NULL when looking up local got entries.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
+ symbols from JSR relaxation.
+ (elf64_alpha_size_plt_section_1): New.
+ (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
+ (elf64_alpha_size_rela_got_1): ... here.
+ (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
+ (elf64_alpha_size_rela_got_section): ... here.
+ (elf64_alpha_size_plt_section): New.
+ (elf64_alpha_relax_section): Call them.
+ (elf64_alpha_size_got_sections): Remove output_bfd arg.
+ (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
+ (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
+ in shared libraries. Fix DTPRELHI and TPRELHI value.
+ (INSN_ADDQ, INSN_RDUNIQ): New.
+ (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
+ (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
+ argument. Reject dynamic symbols. Use LITUSE symbolic constants.
+ (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
+ Handle GOTDTPREL and GOTTPREL relocations.
+ (elf64_alpha_relax_gprelhilo): New.
+ (elf64_alpha_relax_tls_get_addr): New.
+ (elf64_alpha_relax_find_tls_segment): New.
+ (elf64_alpha_relax_section): Handle TLS relocations.
+ (ALPHA_ELF_LINK_HASH_TLS_IE): New.
+ (elf64_alpha_check_relocs): Set it.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
+ check; don't suppress dynamic relocs for non-allocated sections.
+
+ * elf64-alpha.c: Remove dead code.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
+ space for bss .plt.
+
+2002-05-31 Graeme Peterson <gp@qnx.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * config.bfd: Add i[3456]86-*-nto-qnx* support.
+ * configure.in: Add bfd_elf32_i386qnx_vec support.
+ * configure: Regenerate.
+ * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
+ is_contained_by_filepos, and copy_private_bfd_data_p.
+ * elf.c (assign_file_positions_for_segments): Call backend
+ set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
+ (IS_CONTAINED_BY_FILEPOS): Define.
+ (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
+ (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
+ Fix non-K&R call to _bfd_error_handler.
+ (_bfd_elf_copy_private_section_data): Use backend
+ copy_private_bfd_data_p.
+ * elf32-i386.c: Don't include elfxx-target.h when
+ ELF32_I386_C_INCLUDED is defined.
+ * elf32-i386qnx.c: New QNX elf backend file.
+ * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
+ elf_backend_is_contained_by_filepos, and
+ elf_backend_do_copy_private_bfd_data.
+ * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
+ Move other similar defines to start of file.
+
+2002-05-30 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
+ * coff64-rs6000.c (xcoff64_rtype2howto): Same.
+
+2002-05-30 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
+ ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
+ (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
+ (struct alpha_elf_obj_tdata): Rename total_got_entries and
+ n_local_got_entries to total_got_size and local_got_size.
+ (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
+ (alpha_got_entry_size): New.
+ (elf64_alpha_relax_with_lituse): Use it.
+ (elf64_alpha_relax_without_lituse): Likewise.
+ (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
+ (get_got_entry): New.
+ (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
+ (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
+ (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
+ (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
+ (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
+ (elf64_alpha_calc_got_offsets): Likewise.
+ (alpha_dynamic_entries_for_reloc): New.
+ (elf64_alpha_calc_dynrel_sizes): Use it.
+ (elf64_alpha_size_dynamic_sections): Likewise.
+ (elf64_alpha_relocate_section): Handle TLS relocations.
+ * reloc.c: Add Alpha TLS relocations.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Remove double printed
+ import table lines; add Bound-To comment.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
+ (elf32-vax.lo): New rule.
+ * Makefile.in: Regenerate.
+ * configure.in (bfd_elf32_vax_vec)
+ (vaxnetbsd_vec): New vectors.
+ * configure: Regenerate.
+ * config.bfd (vax-*-netbsdelf*)
+ (vax-*-netbsdaout*)
+ (vax-*-netbsd*): New targets.
+ * elf32-vax.c: New file.
+ * reloc.c: Add VAX relocations.
+ * bfd-in2.h: Regenerate.
+ * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
+ and bfd_elf32_bigarm_vec to targ_selvecs.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
+ with auto-imported symbols.
+
+2002-05-29 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
+ sections only record bfd.
+ (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
+ * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
+ * bfd-in2.h: Regenerate.
+
+2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Move
+ declaration and initialisation of saw_line and saw_func out of
+ for loop.
+
+2002-05-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
+ (bfd_elf64_get_symbol_info): Define.
+ * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
+
+2002-05-29 Andrey Volkov <avolkov@transas.com>
+
+ * cpu-h8300.c: Make default h8300 machine first in machine list.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * config.bfd: Added DLX configuraton.
+ * Makefile.am: Added DLX configuraton.
+ * configure.in: Added DLX configuraton.
+ * archures.c: Add DLX architecture.
+ * reloc.c: Add DLX relocs.
+ * targets.c: Added DLX target vector.
+ * configure: Regenerate.
+ * Makefile.in: Regenreate.
+ * bfd-in2.h: Regenreate.
+ * elf32-dlx.c: New file: Support DLX target.
+ * cpu-dlx.c: New file: Support DLX target.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
+ (ppc64_elf_check_relocs): Don't set up function descriptor symbol
+ strings to point inside function code sym string.
+ (func_desc_adjust): Likewise.
+ (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
+
+2002-05-24 Michal Ludvig <mludvig@suse.cz>
+
+ * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
+ (elf64_x86_64_grok_psinfo): Added.
+
+2002-05-24 TAMURA Kent <kent@netbsd.org>
+
+ * config.bfd: Add a target for i386-netbsdpe.
+
+2002-05-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
+ and is_func_descriptor.
+ (func_desc_adjust): Hide function code sym in shared libs unless
+ there is a matching exported function descriptor sym.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
+ for symbols from SHF_TLS section.
+ (_bfd_elf_print_private_bfd_data): Add PT_TLS.
+ (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
+ (map_sections_to_segments): Build PT_TLS segment if necessary.
+ (assign_file_positions_for_segments): Likewise.
+ (get_program_header_size): Account for PT_TLS segment.
+ (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
+ SEC_THREAD_LOCAL sections to STT_TLS.
+ * reloc.c: Add 386 and IA-64 TLS relocs.
+ * section.c (SEC_THREAD_LOCAL): Define.
+ (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
+ Remove.
+ * elflink.h (elf_link_add_object_symbols): Support .tcommon.
+ (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
+ unconditionally.
+ (struct elf_final_link_info): Add first_tls_sec.
+ (elf_bfd_final_link): Set first_tls_sec.
+ Compute elf_hash_table (info)->tls_segment.
+ (elf_link_output_extsym): Handle STT_TLS symbols.
+ (elf_link_input_bfd): Likewise.
+ * syms.c (BSF_THREAD_LOCAL): Define.
+ * bfd-in2.h: Rebuilt.
+ * libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
+ elf_i386_mkobject, elf_i386_object_p): New functions.
+ (elf_howto_table): Add TLS relocs.
+ (elf_i386_reloc_type_lookup): Support TLS relocs.
+ (elf_i386_info_to_howto_rel): Likewise.
+ (struct elf_i386_link_hash_entry): Add tls_type.
+ (struct elf_i386_obj_tdata): New.
+ (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
+ New macros.
+ (struct elf_i386_link_hash_table): Add tls_ldm_got.
+ (link_hash_newfunc): Clear tls_type.
+ (elf_i386_check_relocs): Support TLS relocs.
+ (elf_i386_gc_sweep_hook): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject, elf_backend_object_p): Define.
+ * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
+ dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
+ want_tprel, want_dtpmod, want_dtprel.
+ (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
+ (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
+ R_IA64_LTOFF_TPREL22.
+ (elf_code_to_howto_index): Add TLS relocs.
+ (elfNN_ia64_check_relocs): Support TLS relocs.
+ (allocate_global_data_got): Account for TLS .got data.
+ (allocate_dynrel_entries): Account for TLS dynamic relocations.
+ (elfNN_ia64_install_value): Supprt TLS relocs.
+ (set_got_entry): Support TLS relocs.
+ (elfNN_ia64_relocate_section): Likewise.
+
+2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
+ BLX reloc round the relocation up rather than down.
+ * coff-arm.c (coff_arm_relocate_section): Likewise.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
+ definition.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
+ (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+ unresolved relocs.
+ (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
+ non-ELF targets.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
+ an error value.
+ * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
+ return with false on error.
+ (elf_link_input_bfd): Check reloc_emitter return value.
+
+2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (armeb-*-netbsdelf*): New target.
+
+2002-05-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
+ at the plt call stub.
+
+2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * cpu-mips.c (mips_compatible): Don't try to check machine
+ compatibility.
+
+2002-05-18 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
+ (ppc64_elf_relocate_section): Don't warn about reloc overflow when
+ we've already warned about an undefined symbol. Report more
+ detail on reloc errors.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * acinclude.m4 (AM_INSTALL_LIBBFD): New.
+ * configure.in: Invoke AM_INSTALL_LIBBFD.
+ * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
+ (install_libbfd): .. New target.
+ (uninstall_libbfd): Likewise.
+ (install-bfdlibLTLIBRARIES): Likewise.
+ (uninstall-bfdlibLTLIBRARIES): Likewise.
+ (bfdlibdir): New.
+ (bfdincludedir): New.
+ (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2002-05-17 Stuart Balfour <sbalfour@cisco.com>
+
+ * hash.c (bfd_hash_lookup): Remove computation of len from inside
+ hash loop.
+
+2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config.bfd: Add targets for sh64-linux (little endian and
+ big endian).
+
+2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
+
+ * peXXigen.c (pe_print_idata): Do not assume that the first thunk
+ is located in the same section as the import table. Instead
+ check, and if necessary load the section containing the thunk.
+
+2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
+ bfd_bread.
+ (xcoff64_core_file_matches_executable_p): Replace bfd_read
+ with bfd_bread.
+
+2002-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * aix5ppc-core.c: Warning fixes.
+ * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
+ * aout-target.h (MY_bfd_link_just_syms): Define.
+ * aout-tic30.c (MY_bfd_link_just_syms): Define.
+ * bfd.c (bfd_link_just_syms): Define.
+ * binary.c (binary_bfd_link_just_syms): Define.
+ * bout.c (b_out_bfd_link_just_syms): Define.
+ * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
+ * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
+ * coffcode.h (coff_bfd_link_just_syms): Define.
+ * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
+ (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
+ (_bfd_elf_link_just_syms): Declare.
+ * elf.c (_bfd_elf_link_just_syms): New function.
+ * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
+ sections haven't already been discarded by the linker.
+ * elflink.h (elf_link_add_object_symbols): Likewise for stab
+ sections and SEC_MERGE sections.
+ (elf_bfd_discard_info): Similarly here.
+ * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
+ * i386msdos.c (msdos_bfd_link_just_syms): Define.
+ * i386os9k.c (os9k_bfd_link_just_syms): Define.
+ * ieee.c (ieee_bfd_link_just_syms): Define.
+ * ihex.c (ihex_bfd_link_just_syms): Define.
+ * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
+ (_bfd_generic_link_just_syms): Declare.
+ * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
+ * linker.c (_bfd_generic_link_just_syms): New function.
+ * mmo.c (mmo_bfd_link_just_syms): Define.
+ * nlm-target.h (nlm_bfd_link_just_syms): Define.
+ * oasys.c (oasys_bfd_link_just_syms): Define.
+ * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
+ * som.c (som_bfd_link_just_syms): Define.
+ * srec.c (srec_bfd_link_just_syms): Define.
+ * targets.c (struct bfd_target): Add _bfd_link_just_syms.
+ (BFD_JUMP_TABLE_LINK): And here.
+ * tekhex.c (tekhex_bfd_link_just_syms): Define.
+ * versados.c (versados_bfd_link_just_syms): Define.
+ * vms.c (vms_bfd_link_just_syms): Define.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c: Remove superfluous definitions copied from
+ elfxx-mips.c.
+ (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
+ SGIish vectors to check the special case.
+ (mips_elf_hi16_reloc): Fix comment.
+ (mips_elf_got16_reloc): Likewise.
+ (_bfd_mips_elf32_gprel16_reloc): Likewise.
+ (elf_reloc_map): Code cleanup.
+ (mips_reloc_map): Add comment.
+ (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
+ (mips_elf32_rtype_to_howto): Likewise.
+ (mips_elf32_discard_info): Likewise.
+ (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
+ lead to IRIX compatibility now.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elfxx-mips.c: Call it IRIX, not Irix in comments.
+
+2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (shle-*-netbsdelf*): Add target which includes
+ sh64 support.
+
+2002-05-13 David Edelsohn <edelsohn@gnu.org>
+
+ * configure.in: Revert 2002-04-07. Instead, auto-configure
+ HAVE_ST_C_IMPL.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
+ or AIX_5_CORE.
+
+2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
+ corefiles as well.2
+ * configure: Regenerate.
+
+2002-05-13 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (install-data-local): Install headers to
+ $(exec_prefix)/include.
+ * Makefile.in: Regenerate.
+
+2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ Daniel Jacobowitz <drow@mvista.com>
+
+ * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
+ map BFD_RELOC_RVA.
+
+2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
+
+ * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
+ hppa*-*-openbsd*): New targets.
+ * configure.in (alpha*-*-openbsd*): Set COREFILE.
+ * configure: Regenerate.
+
+2002-05-10 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
+ xcoff64_ppc_relocate_section.
+ * coff-rs6000.c : Extern common xcoff_reloc_type functions.
+ * libxcoff.h: Common xcoff_reloc_type function declaration.
+
+2002-05-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
+ added in 2002-05-09 commit.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
+ don't look for stubs on all undefined syms.
+
+2002-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
+ (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
+ pcrel_offset.
+
+ * elf32-i386.c (elf_howto_table): Comments.
+ (elf_i386_relocate_section): Handle more relocs for relocatable
+ linking and against SEC_MERGE sections.
+
+2002-05-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_create_got): New function.
+ (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
+ _bfd_elf_create_dynamic_sections. Correct .plt flags.
+ (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
+ _bfd_elf_create_got_section.
+
+2002-05-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_backend_data): Add rela_normal.
+ * elfxx-target.h (elf_backend_rela_normal): Define.
+ (elfNN_bed): Init rela_normal.
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
+ for section symbols here if rela_normal. Simplify abs section test.
+ * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
+ return immediately. Remove code handling relocatable linking.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf-m10200.c (elf_backend_rela_normal): Define.
+ * elf-m10300.c (elf_backend_rela_normal): Define.
+ * elf32-fr30.c (elf_backend_rela_normal): Define.
+ * elf32-i370.c (elf_backend_rela_normal): Define.
+ * elf32-i860.c (elf_backend_rela_normal): Define.
+ * elf32-m68k.c (elf_backend_rela_normal): Define.
+ * elf32-mcore.c (elf_backend_rela_normal): Define.
+ * elf32-openrisc.c (elf_backend_rela_normal): Define.
+ * elf32-ppc.c (elf_backend_rela_normal): Define.
+ * elf32-s390.c (elf_backend_rela_normal): Define.
+ * elf32-xstormy16.c (elf_backend_rela_normal): Define.
+ * elf64-ppc.c (elf_backend_rela_normal): Define.
+ * elf64-s390.c (elf_backend_rela_normal): Define.
+ * elf64-x86-64.c (elf_backend_rela_normal): Define.
+ * elfxx-ia64.c (elf_backend_rela_normal): Define.
+ * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
+ * elf32-m32r.c (elf_backend_rela_normal): Likewise.
+
+2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Convert
+ 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
+
+2002-05-06 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
+ when not relocatable. Fix reloc_emitter call for K&R.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
+ reloading local sym addend mistakenly removed in 2002-05-01 change.
+
+ * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
+ (read_abbrevs): Change "offset" param to bfd_vma.
+ (parse_comp_unit): Change "version" and addr_size to unsigned ints.
+ Change "abbrev_offset" to bfd_vma.
+ (read_indirect_string): Use correct conversion chars in error
+ message format string, cast bfd_vma's to unsigned long.
+ (read_abbrevs): Likewise.
+ (read_attribute_value): Likewise.
+ (decode_line_info): Likewise.
+ (scan_unit_for_functions): Likewise.
+ (parse_comp_unit): Likewise.
+
+2002-05-04 Tom Rix <trix@redhat.com>
+
+ * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
+ (coff_swap_reloc_out): Same.
+ * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
+ (xcoff_swap_reloc_out): Same.
+ (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
+ case some 16 bit relocs. Add reloc value to output.
+ (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
+ R_RBR. Improve names.
+ (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
+ (bfd_xcoff_backend_data): Update with new reloc swap names.
+ (bfd_pmac_xcoff_backend_data) : Same.
+ * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
+ (xcoff64_swap_reloc_out): Same.
+ (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
+ R_POS. Add reloc value to output.
+ (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
+ bit R_RBR. Improve names, masks.
+ (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
+ (bfd_xcoff_backend_data): Update with new reloc swap names.
+ (bfd_xcoff_aix5_backend_data) : Same.
+
+2002-05-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
+ bfd_count top_index, input_list, all_local_syms.
+ (elf32_hppa_setup_section_lists): New function, split from
+ elf32_hppa_size_stubs.
+ (elf32_hppa_next_input_section): Likewise.
+ (group_sections): Likewise.
+ (get_local_syms): Likewise.
+ (elf32_hppa_size_stubs): Adjust for split out functions. Look for
+ stubs on undefined syms too.
+ (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
+ Only access htab elf fields when we have an elf hash table.
+ * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
+ (elf32_hppa_next_input_section): Declare.
+
+2002-05-04 Bob Byrnes <byrnes@curl.com>
+
+ * opncls.c (_bfd_new_bfd_contained_in): Check return value of
+ _bfd_new_bfd.
+
+2002-05-03 H.J. Lu (hjl@gnu.org)
+
+ * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
+ (mips_elf_link_hash_newfunc): Initialize forced_local to false.
+ (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
+ to hide a global symbol.
+ (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
+ forced_local to true.
+
+2002-05-02 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
+ vs SHN_UNDEF to zero.
+
+2002-05-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
+ 16 bit reloc.
+ <R_PPC64_SECTOFF_DS>: Likewise.
+ (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+ SECTOFF reloc.
+ * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
+ (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+ SECTOFF reloc.
+
+ * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
+ (ppc64_elf_ha_reloc): New function.
+ (ppc64_elf_brtaken_reloc): New function.
+ (ppc64_elf_sectoff_reloc): New function.
+ (ppc64_elf_sectoff_ha_reloc): New function.
+ (ppc64_elf_toc_reloc): New function.
+ (ppc64_elf_toc_ha_reloc): New function.
+ (ppc64_elf_toc64_reloc): New function.
+ (ppc64_elf_unhandled_reloc): New function.
+ (ppc64_elf_howto_raw): Use the above.
+ <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
+ <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
+ <R_PPC64_SECTOFF_DS>: Likewise.
+ (IS_ABSOLUTE_RELOC): Update.
+ (struct ppc_link_hash_table): Add have_undefweak.
+ (ppc64_elf_link_hash_table_create): Init.
+ (func_desc_adjust): Set have_undefweak.
+ (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
+ add the .sfpr blr when have_undefweak.
+ (ppc64_elf_setup_section_lists): Check hash table flavour.
+ (ppc64_elf_next_input_section): Move output_section->owner test to
+ ppc64elf.em.
+ (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
+ and relocatable test. Return TOCstart and don't set elf_gp.
+ (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
+ offset calculation. Add assert on weak sym branch tweaks.
+ * elf64-ppc.h (ppc64_elf_set_toc): Delete.
+ (ppc64_elf_toc): Declare.
+ (ppc64_elf_next_input_section): Update.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
+ file_name.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (CROR_151515, CROR_313131): Define.
+ (ppc64_elf_relocate_section): Use them. Don't look for plt calls
+ on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
+ call branches. Correct undefined weak destination.
+ (ppc64_elf_func_desc_adjust): Always create at least one blr in
+ .sfpr, and correct case where either only savef* or restf* is
+ needed.
+
+ Long branch stubs, multiple stub sections.
+ * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
+ (ppc64_elf_next_input_section): Declare.
+ * elf64-ppc.c: Move linker-only prototypes.
+ (STUB_SUFFIX): Define.
+ (enum ppc_stub_type): New.
+ (struct ppc_stub_hash_entry): New.
+ (struct ppc_branch_hash_entry): New.
+ (struct ppc_link_hash_entry): Add stub_cache, oh.
+ (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
+ sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
+ Rename plt_overflow to stub_error.
+ (ppc_stub_hash_lookup): Define.
+ (ppc_branch_hash_lookup): Define.
+ (stub_hash_newfunc): New function.
+ (branch_hash_newfunc): New function.
+ (link_hash_newfunc): Init new fields.
+ (ppc64_elf_link_hash_table_create): Likewise.
+ (ppc64_elf_link_hash_table_free): New function.
+ (ppc_stub_name): New function.
+ (ppc_get_stub_entry): New function.
+ (ppc_add_stub): New function.
+ (create_linkage_sections): Use bfd_make_section_anyway. Create
+ .branch_lt and .rela.branch_lt sections. Don't create .stub.
+ (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
+ and set up for plt call stubs. Link func and func desc syms.
+ (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
+ (func_desc_adjust): Avoid hash lookup when func desc sym available
+ via shortcut, and set links when processing.
+ (ppc64_elf_hide_symbol): Likewise.
+ (allocate_dynrelocs): Don't allocate stub section here.
+ (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
+ Remove sstub code.
+ (ppc_type_of_stub): New function.
+ (build_one_stub): Delete.
+ (ppc_build_one_stub): New function.
+ (ppc_size_one_stub): New function.
+ (ppc64_elf_setup_section_lists): New function.
+ (ppc64_elf_next_input_section): New function.
+ (group_sections): New function.
+ (get_local_syms): New function.
+ (ppc64_elf_size_stubs): Rewrite.
+ (ppc64_elf_build_stubs): Rewrite.
+ (ppc64_elf_relocate_section): Look up stub entry for REL24
+ relocs. Don't propagate REL14* to dynamic objects. Look for long
+ branch stubs if REL14* or REL24 relocs won't reach.
+ (bfd_elf64_bfd_link_hash_table_free): Define.
+
+2002-04-30 Mark Mitchell <mark@codesourcery.com>
+
+ * config.bfd: Add support for powerpc-*-windiss.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
+ symbol names into the hash table.
+
+2002-04-28 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
+ calulating relocations.
+ (xcoff_complain_overflow) : Function table for relocation errors.
+ (xcoff_ppc_relocate_section): Use relocation and complain function
+ tables.
+ (xcoff_complain_overflow_unsigned_func): New complain function.
+ (xcoff_complain_overflow_signed_func): Same.
+ (xcoff_complain_overflow_bitfield_func): Same.
+ (xcoff_complain_overflow_dont_func): Same.
+ (xcoff_reloc_type_crel): New recot function.
+ (xcoff_reloc_type_br): Same.
+ (xcoff_reloc_type_ba): Same.
+ (xcoff_reloc_type_toc): Same.
+ (xcoff_reloc_type_rel): Same.
+ (xcoff_reloc_type_neg): Same.
+ (xcoff_reloc_type_pos): Same.
+ (xcoff_reloc_type_fail): Same.
+ (xcoff_reloc_type_noop): Same.
+ * libxcoff.h : Declare common parts for xcoff64.
+ * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
+ and complain function tables.
+
+2002-04-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
+ * elf32-hppa.c (elf32_hppa_final_link): Formatting.
+
+2002-04-26 Alan Modra <amodra@bigpond.net.au>
+
+ * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
+ * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
+
+ * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
+ same as the output before calling elf_link_input_bfd.
+
+ * coffcode.h (coff_compute_section_file_positions): Set
+ section_tail after shuffling section list.
+
+2002-04-24 Christian Groessler <chris@groessler.org>
+
+ * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
+ addresses are 23bit with a special layout, not plain 32bit
+ values. Prevent relocation of immediate values.
+
+2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
+ MIPS-16 ASE flags are set, print something to indicate that.
+
+2002-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
+ under which a plt call stub is used.
+ (final_link_relocate): Similarly.
+ (allocate_plt_static): Clear h-plabel except when plt entry is
+ exclusively used for a plabel.
+ (allocate_dynrelocs): Use the above to simplify plt sizing.
+ (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
+ (elf32_hppa_link_hash_table_create): Init.
+ (BL22_RP): Define.
+ (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
+ (elf32_hppa_check_relocs): Set has_22bit_branch.
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
+ (final_link_relocate): Likewise.
+
+2002-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
+ search table if some FDE is DW_EH_PE_aligned encoded either.
+ (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
+
+2002-04-22 Richard Smith <richard@ex-parrot.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
+ (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
+ encoded personality.
+ (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
+ for CIE/FDE removal.
+
+2002-04-20 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
+
+2002-04-20 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_lookup_arch): Move the list order comment..
+ (struct bfd_arch_info): ..to where it belongs.
+ * bfd-in2.h: Regenerate.
+
+ * archures.c (bfd_lookup_arch): Add comment on list order.
+ (bfd_default_set_arch_mach): Use bfd_lookup_arch.
+ * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
+ is always at head of list.
+
+2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
+ insert_thumb_branch, record_thumb_to_arm_glue): Suppress
+ definition of these functions for ARM_WINCE builds as they are
+ not used.
+ (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
+ for ARM_WINCE builds.
+
+2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (bfd_arm_process_before_allocation):
+
+2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * cpu-sh.c (scan_mach): Delete.
+ (arch_info_struct): Replace scan_mach with bfd_default_scan.
+ (bfd_sh_arch): Likewise.
+
+2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ihex.c (ihex_write_object_contents): Fix check for records
+ crossing 64K boundaries.
+
+2002-04-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
+ type rather than just assuming entries are ELF.
+ * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+ * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
+ rather than elf_link_hash_entry.
+
+2002-04-15 Richard Henderson <rth@redhat.com>
+
+ * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
+ n32 binaries.
+
+2002-04-15 Michael Snyder <msnyder@redhat.com>
+
+ * opncls.c (bfd_close): Write contents if writeable.
+ Minor formatting tidy-ups.
+
+2002-04-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
+
+2002-04-12 Michael Snyder <msnyder@redhat.com>
+
+ * bfd-in.h (bfd_get_section_lma): New access macro.
+ Minor white-space fix-up.
+
+2002-04-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
+ header pad.
+
+2002-04-09 DJ Delorie <dj@redhat.com>
+
+ * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
+
+2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
+
+ * coffcode.h (coff_read_word): New.
+ (coff_compute_checksum): New.
+ (coff_apply_checksum): New.
+ (coff_write_object_contents): Call coff_apply_checksum () to
+ apply checksum to PE image.
+
+2002-04-08 Randolph Chung <tausq@debian.org>
+
+ * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
+ (elf32_hppa_final_link): Split out sorting logic to..
+ * elf-hppa.h (elf_hppa_sort_unwind): ..here.
+ (elf_hppa_final_link): Call elf_hppa_sort_unwind.
+
+2002-04-07 Andrew Cagney <ac131313@redhat.com>
+
+ * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
+ pattern.
+ * configure: Re-generate.
+
+2002-04-07 Andrew Cagney <ac131313@redhat.com>
+
+ * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
+ is greater or equal to 4.3.3.
+ * configure: Regenerate.
+ Fix PR gdb/344.
+
+2002-04-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
+ R_CRIS_32_PCREL>: Fix typo in name.
+ (cris_elf_check_relocs): Always create .rela.got here when
+ R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
+ (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
+ assume it's created.
+
+2002-04-04 Daniel Jacobowitz <drow@mvista.com>
+
+ * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
+ * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
+ define.
+ * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
+ * bfd.c (bfd_link_hash_table_free): Define.
+ * binary.c (binary_bfd_link_hash_table_free): Define.
+ * bout.c (b_out_bfd_link_hash_table_free): Define.
+ * coff-rs6000.c (rs6000coff_vec): Include
+ _bfd_generic_link_hash_table_free.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+ (aix5coff64_vec): Likewise.
+ * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
+ * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
+ (bfd_elf32_bfd_link_hash_table_free): Define.
+ * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
+ (bfd_elf32_bfd_link_hash_table_free): Define.
+ * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
+ define.
+ * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
+ * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
+ * ieee.c (ieee_bfd_link_hash_table_free): Define.
+ * ihex.c (ihex_bfd_link_hash_table_free): Define.
+ * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
+ (_bfd_generic_link_hash_table_free): Add prototype.
+ * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
+ * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
+ * linker.c (_bfd_generic_link_hash_table_free): New function.
+ * mmo.c (mmo_bfd_link_hash_table_free): Define.
+ * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
+ * oasys.c (oasys_bfd_link_hash_table_free): Define.
+ * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
+ * som.c (som_bfd_link_hash_table_free): Define.
+ * srec.c (srec_bfd_link_hash_table_free): Define.
+ * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
+ * versados.c (versados_bfd_link_hash_table_free): Define.
+ * vms.c (vms_bfd_link_hash_table_free): New function.
+ * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
+
+ * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
+ instead of bfd_alloc.
+ * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
+ * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
+ * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
+ * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
+ * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
+ * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
+ * elf.c (_bfd_elf_link_hash_table_create): Likewise.
+ * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
+ * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
+ * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
+ * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
+ * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
+ * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
+ * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
+ * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
+ * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
+ * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
+ * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
+ * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
+ * linker.c (_bfd_generic_link_hash_table_create): Likewise.
+ * m68klinux.c (linux_link_hash_table_create): Likewise.
+ * sparclinux.c (linux_link_hash_table_create): Likewise.
+ * sunos.c (sunos_link_hash_table_create): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
+
+ * targets.c: Add _bfd_link_hash_table_free to xvec.
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * coff-arm.c: Fix copyright date.
+ * cpu-h8300.c: Likewise.
+ * cpu-i370.c: Likewise.
+ * cpu-s390.c: Likewise.
+ * cpu-mips.c: Likewise.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: Add elfxx-mips.c to the known backends.
+ (elf32-mips.lo): remove dependency to coff/external.h.
+ * Makefile.in: Regenerate.
+ * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
+ Remove elf32-mips.lo from 64 bit vectors. Update dependencies
+ accordingly.
+ * configure: Regenerate.
+ * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
+ (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
+ (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
+ MIPS specific backend functions.
+ * elf32-mips.c: Moved most code to elfxx-mips.c.
+ (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
+ static.
+ (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
+ (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
+ (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
+ (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
+ interface to allow selection of the right REL or RELA howto table.
+ (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
+ static. Let it refuse n32 objects.
+ (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
+ (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
+ (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
+ (elf32_mips_ignore_discarded_relocs): Rename from
+ _bfd_elf32_mips_ignore_discarded_relocs.
+ (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
+ (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
+ (elf_mips_howto_table_rela): Remove.
+ * elf64-mips.c: Moved most code to elfxx-mips.c.
+ (bfd_elf64_bfd_reloc_type_lookup): Make static.
+ (mips_elf64_rtype_to_howto): New function.
+ (mips_elf64_object_p): Likewise.
+ (elf64_mips_irix_compat): Likewise.
+ * elfxx-mips.c: New file containing common code merged together from
+ elf32-mips.c and elf64-mips.c.
+ * elfxx-mips.h: New file containing MIPS specific prototypes from
+ elf-bfd.h.
+ * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
+ elf_backend_mips_rtype_to_howto.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * srec.c (MAXCHUNK, Chunk): Revise comments.
+ (srec_write_record): Correct buffer size.
+ (srec_write_header): Do without intermediate buffer.
+ (srec_write_section): Validate Chunk.
+ (srec_write_terminator): Pass NULL instead of dummy buffer.
+ (srec_write_symbols): Pass file and symbol names directly to
+ bfd_bwrite so sprintf won't overflow buffer.
+
+2002-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
+ PC relative relocs against hidden symbols.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2002-04-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): When setting section
+ LMAs, loop over segments until p_vaddr and p_memsz specify an
+ extent enclosing the section.
+
+2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ihex.c (ihex_write_object_contents): Do not allow records to
+ cross a 64K boundary - wrap if necessary.
+
+2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
+
+ * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
+ which caused the returned LWP ID to always be 0.
+
+2002-04-01 Richard Henderson <rth@redhat.com>
+
+ * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (elf32_sparc_relocate_section): Use it to figure out when to
+ initialize .got entries.
+ * elf64-sparc.c: Similarly.
+
+2002-03-28 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (link_action): Ignore duplicate warning syms.
+ (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
+ * elflink.h (elf_adjust_dynstr_offsets): Likewise.
+ (elf_adjust_dynamic_symbol): Likewise.
+ (elf_export_symbol): Likewise.
+ (elf_link_find_version_dependencies): Likewise.
+ (elf_link_assign_sym_version): Likewise.
+ (elf_link_sec_merge_syms): Likewise.
+ (elf_link_output_extsym): Likewise.
+ (elf_gc_sweep_symbol): Likewise.
+ (elf_gc_propagate_vtable_entries_used): Likewise.
+ (elf_gc_smash_unused_vtentry_relocs): Likewise.
+ (elf_gc_allocate_got_offsets): Likewise.
+ (elf_collect_hash_codes): Likewise.
+ * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
+ * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
+ (elf_hppa_remark_useless_dynamic_symbols): Likewise.
+ * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
+ * elf32-arm.h (elf32_arm_discard_copies): Likewise.
+ * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
+ (elf_cris_discard_excess_dso_dynamics): Likewise.
+ * elf32-hppa.c (clobber_millicode_symbols): Likewise.
+ (mark_PIC_calls): Likewise.
+ (allocate_plt_static): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-i386.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
+ * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
+ * elf32-mips.c (mips_elf_output_extsym): Likewise.
+ (mips_elf_sort_hash_table_f): Likewise.
+ (mips_elf_check_mips16_stubs): Likewise.
+ * elf32-s390.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf32-sh.c (sh_elf_discard_copies): Likewise.
+ * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
+ (xstormy16_relax_plt_realloc): Likewise.
+ * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
+ (elf64_alpha_output_extsym): Likewise.
+ * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
+ * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
+ (mips_elf64_check_mips16_stubs): Likewise.
+ (mips_elf64_output_extsym): Likewise.
+ * elf64-ppc.c (func_desc_adjust): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf64-s390.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
+ * elf64-x86-64.c (allocate_dynrelocs): Likewise.
+ (readonly_dynrelocs): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
+ * aoutx.h (aout_link_write_other_symbol): Likewise.
+ * cofflink.c (_bfd_coff_write_task_globals): Likewise.
+ (_bfd_coff_write_global_sym): Likewise.
+ * i386linux.c (linux_tally_symbols): Likewise.
+ * m68klinux.c (linux_tally_symbols): Likewise.
+ * sparclinux.c (linux_tally_symbols): Likewise.
+ * pdp11.c (aout_link_write_other_symbol): Likewise.
+ * sunos.c (sunos_scan_dynamic_symbol): Likewise.
+ * xcofflink.c (xcoff_build_ldsyms): Likewise.
+ (xcoff_write_global_symbol): Likewise.
+
+ * cofflink.c (_bfd_coff_final_link): Formatting.
+ * cpu-mips.c (mips_compatible): Make static, prototype.
+ * elf32-i386.c (elf_i386_check_relocs): Formatting.
+ * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
+ * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
+ (mips_elf64_final_link): Likewise.
+ * elflink.h (elf_link_find_version_dependencies): Remove duplicate
+ prototype.
+
+2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
+ (SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-03-27 Gregory Steuck <greg@nest.cx>
+
+ * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
+ terminating NULL if empty symbol table.
+ (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
+
+2002-03-26 H.J. Lu (hjl@gnu.org)
+
+ * elflink.h (elf_link_input_bfd): Revert the last change since
+ the gcc exception handling isn't fixed yet.
+
+2002-03-26 H.J. Lu (hjl@gnu.org)
+
+ * elflink.h (elf_link_input_bfd): Complain about relocations
+ against local symbols in discarded sections.
+
+2002-03-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
+
+2002-03-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
+ section file offset for !SEC_LOAD sections.
+
+2002-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
+ <case R_ARM_GOT>): Handle relocations to Thumb functions.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
+ Whitespace changes.
+ * archive.c: Update copyright date.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-03-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * dwarf2.c (struct funcinfo): Move up.
+ (lookup_address_in_function_table): New argument function_ptr.
+ Set it.
+ (lookup_address_in_line_table): New argument function. If function
+ is non-NULL, use it to handle ``addr'' before the first line note of
+ the function.
+ (comp_unit_find_nearest_line): Update and swap calls to
+ lookup_address_in_function_table and lookup_address_in_line_table.
+ * syms.c (_bfd_stab_section_find_nearest_line): Use the first
+ N_SLINE encountered if we see an N_FUN before any N_SLINE.
+
+2002-03-20 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
+ _bfd_xcoff_generic_stat_arch_elt. Fix format check.
+ * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
+
+2002-03-19 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
+ dynamic objects in archives.
+
+2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
+ STT_NOTYPE symbols to STT_OBJECT.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+
+ * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * aix5ppc.core.c : New file for AIX 5 64 bit core support.
+ * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
+ * coff-rs6000 (do_pad) : New function for archive padding.
+ (do_copy) : New function for object file copying in archives.
+ (do_shared_object_padding) : New function for padding shared
+ objects to their text section alignment in archives.
+ (bfd_xcoff_ar_achive_set_magic) : Stub.
+ (xcoff_write_armap_big) : Use do_copy and do_pad.
+ (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
+ do_copy and do_pad.
+ * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
+ bfd_xcoff_magic_number.
+ (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
+ fop.
+ (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
+ (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
+ (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
+ * rs6000-core.c : Update copyright date.
+ * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
+ csectpp.
+ * coffcode.h (coff_new_section_hook) : Use new accessor macros.
+ (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
+ (coff_set_flags) : Use bfd_xcoff_magic_number.
+ * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
+ * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
+ * Makefile.am : Same.
+ * config.bfd : Same.
+ * targets.c : Same.
+ * configure : Regnerate.
+ * Makefile.in : Same.
+ * bfd-in2.h : Same.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
+ * libbfd.h: Regenerate.
+ * archive.c (coff_write_armap): Pass on failures from
+ bfd_write_bigendian_4byte_int.
+
+2002-03-14 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
+ error to bfd_error_nonrepresentable_section for reinit_array
+ section in DSO.
+
+2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
+ OR it in rather than replacing previously selected flags.
+
+ * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
+ (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
+
+2002-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
+ (N): Use the above.
+ * elflink.h (elf_bfd_final_link): Revert last change. Instead,
+ ensure reloc size matches before calling elf_link_input_bfd.
+ Add an assert to check reloc size when counting output relocs.
+
+2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * mmo.c (mmo_get_loc): Return NULL rather than false.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * archures.c (bfd_default_compatible): Test bits_per_word.
+ * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
+ bfd_default_compatible.
+ * cpu-i370.c (i370_compatible): Likewise.
+ * cpu-sparc.c (sparc_compatible): Likewise.
+ * cpu-h8300.c (compatible): Test in->arch == out->arch.
+
+ * elflink.h: Formatting fixes.
+ (elf_link_output_extsym): Merge undefined and undef weak cases.
+
+ * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
+ when word size of input matches output word size.
+
+2002-03-12 Andreas Jaeger <aj@suse.de>
+
+ * cpu-i386.c (i386_compatible): New. Use it instead of
+ bfd_default_compatible.
+
+2002-03-07 H.J. Lu (hjl@gnu.org)
+
+ * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
+ as the type for bfd_reloc_val.
+
+2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
+ (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
+ (elf_hppa_final_link_relocate): Correct relocations for indirect
+ references to local data through the DLT. Fix .opd creation for
+ local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
+ relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
+ R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
+ "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+ Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
+ * elf32-hppa.c (final_link_relocate): Revise relocation selectors
+ as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+
+2002-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (_bfd_merge_sections): Don't segfault if there
+ is nothing to merge due to GC.
+
+2002-03-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
+ symbols that have been forced local.
+
+ * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
+ to output forced local syms for non-shared link.
+ (elf_link_output_extsym): Tweak condition for calling backend
+ adjust_dynamic_symbol so that previous behaviour is kept.
+ Whitespace changes throughout file.
+
+2002-03-04 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (bfd_section_from_shdr): Handle special sections,
+ .init_array, .fini_array and .preinit_array.
+ (elf_fake_sections): Likewise.
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
+ DT entry only if the section is in output for .init_array,
+ .fini_array and .preinit_array. Complain about .preinit_array
+ section in DSO.
+ (elf_bfd_final_link): Warn zero size for .init_array,
+ .fini_array and .preinit_array sections.
+
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
+ SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
+ (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
+ .preinit_array.
+
+2002-03-04 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
+ * configure: Regenerate.
+
+2002-03-02 Tom Rix <trix@redhat.com>
+
+ * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
+ symbolic equiv.
+ * coff-rs6000.c (xcoff_howto_table): Same.
+
+2002-03-01 David Mosberger <davidm@hpl.hp.com>
+
+ * elflink.h (size_dynamic_sections): If section named
+ ".preinit_array" exists, create DT_PREINIT_ARRAY and
+ DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
+ ".init_array" and ".fini_array".
+ (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
+ DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
+ DT_FINI_ARRAY.
+
+2002-02-26 Andrew Macleod <amacleod@cygnus.com>
+
+ * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
+ dynsyms.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-hppa.h: Update copyright date.
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
+ (ppc64_elf_relocate_section): Don't generate power4 style branch
+ hints for *_BRTAKEN and *_BRNTAKEN relocs.
+
+2002-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
+ last patch.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-02-21 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c: Major rework that introduces all recent changes
+ to the x86-64 backend. Get a closer match to elf32-i386.
+ (struct elf64_x86_64_dyn_relocs): Rename from
+ elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
+ all users.
+ (struct elf64_x86_64_link_hash_table): Add short cuts to some
+ sections.
+ (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
+ remove casts, initialize new hash members.
+ (create_got_section): New.
+ (elf64_x86_64_create_dynamic_sections): New.
+ (elf64_x86_64_copy_indirect_symbol): New.
+ (elf64_x86_64_check_relocs): Don't allocate space for dynamic
+ relocs, .got or .relgot here but do it in allocate_dynrelocs.
+ Reference count possible .plt and .got entries. Don't test input
+ section SEC_READONLY here to try to avoid copy relocs, and keep
+ dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
+ DF_TEXTREL here. Delay setting of variables until needed. Cache
+ pointer to "sreloc" section in elf_section_data. Tweak condition
+ under which .got created. Report files with bad relocation
+ section names.
+ (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+ Reference count possible .plt entries. Don't deallocate .got and
+ .relgot space here.
+ (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
+ do copy reloc processing for weakdefs. Remove redundant casts and
+ aborts. Delay setting of vars until needed. Move creation of
+ dynamic symbols and allocation of .plt and .rela.plt to
+ allocate_dynrelocs. Replace BFD_ASSERT with abort.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+ (allocate_dynrelocs): New.
+ (readonly_dynrelocs): New.
+ (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
+ Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
+ Zero out the dynamic allocated content space.
+ (elf64_x86_64_discard_copies): Removed.
+ (elf64_x86_64_relocate_section): Make use of dynamic section
+ short-cuts. Localise vars, and delay setting. Better error
+ reporting, replace BFD_ASSERT with abort. Check
+ ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
+ regular object file and tread the weak definition as the normal
+ one. Don't discard relocs for undefweak or undefined symbols and
+ check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
+ relocs.
+ (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
+ symbols that have been forced local. Use same test to decide if
+ we can use a relative reloc for got as relocate_section. Expand
+ SHN_UNDEF comment. Move expressions out of function calls.
+ Replace BFD_ASSERT with abort.
+ (bfd_elf64_bfd_final_link): Removed.
+ (elf_backend_copy_indirect_symbol): Define.
+
+2002-02-20 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
+ (_bfd_xcoff_reloc_type_lookup): Use it.
+ * coff64-rs6000.c (xcoff64_howto_table): Same.
+ (xcoff64_reloc_type_lookup): Same.
+
+2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
+
+ * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
+ little endian.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
+ (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
+ * bfd-in2.h: Regenerate.
+ * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
+ Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
+ with "s390:64-bit".
+ * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
+ (elf_s390_reloc_type_lookup): Likewise.
+ (elf_s390_check_relocs): Likewise.
+ (elf_s390_gc_sweep_hook): Likewise.
+ (elf_s390_relocate_section): Likewise.
+ (elf_s390_object_p): Use renamed architecture define.
+ * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
+
+2002-02-19 Frank Ch. Eigler <fche@redhat.com>
+
+ * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
+
+2002-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
+ absptr -> pcrel optimization for shared libs.
+ Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
+ library cannot be converted to pcrel.
+ (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
+ relative.
+ * elf32-i386.c (elf_i386_relocate_section): If
+ _bfd_elf_section_offset returned -2, skip, but make sure the
+ relocation is installed.
+ * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Handle
+ _bfd_elf_section_offset returning -2 the same way as -1.
+ * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
+ and BFD_ASSERT.
+ * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
+
+2002-02-18 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
+ (bfd_xcoff_size_dynamic_sections): Same.
+ * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
+ (bfd_xcoff_size_dynamic_sections): Same.
+ * coff-rs6000.c (xcoff_generate_rtinit): Same.
+ * coff-rs646000.c (xcoff64_generate_rtinit): Same.
+ * libxcoff.h (struct xcoff_backend_data_rec): Same.
+ * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
+ * bfd-in2.h: Regenerate.
+
+2002-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
+ (struct ppc_link_hash_table): Add sfpr.
+ (ppc64_elf_link_hash_table_create): Init it.
+ (ppc64_elf_create_dynamic_sections): Split creation of .stub and
+ .glink out to..
+ (create_linkage_sections): ..here. Make .sfpr too.
+ (ppc64_elf_check_relocs): Call create_linkage_sections, and set
+ dynobj early.
+ (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
+ (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
+ ._restf* functions, and create as needed.
+ (func_desc_adjust): Only force_local for shared libs.
+
+2002-02-18 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.in: Bump version number post 2.12 branching.
+ * configure: Regenerate.
+
+2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c: Correct and improve comments.
+ (mmo_write_chunk): Store trailing byte in bfd buffer; don't
+ zero-pad. Use input to fill up non-empty bfd buffer.
+ (mmo_flush_chunk): New function.
+ (mmo_write_loc_chunk): Add parameter last_vmap, all callers
+ changed. Don't emit location specifier if VMA is same as
+ *LAST_VMAP after omitting leading zero contents. Call
+ mmo_flush_chunk before emitting location specifier.
+ (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
+ with mmo_write_loc_chunk calls.
+ (mmo_internal_write_section): Call mmo_flush_chunk after
+ mmo_write_chunk.
+ (mmo_write_symbols_and_terminator): Move :Main to first position
+ in symbol array. Add faked one if it does not exist if there are
+ other symbols. Don't add it if there are no symbols at all. Move
+ out test for value of :Main from symbol loop. Rename table
+ fakemain to maintable and variable mainsym to fakemain.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
+ section with no got matches any got. Simplify error generaion.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
+ (_bfd_default_link_order): Remove bfd_fill_link_order code.
+ Call default_data_link_order.
+ (default_fill_link_order): Delete.
+ (default_data_link_order): New function.
+ * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
+ of bfd_fill_link_order with bfd_data_link_order.
+ * elf64-alpha.c (elf64_alpha_final_link): Likewise.
+ * elf64-mips.c (mips_elf64_final_link): Likewise.
+
+ * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
+ Correct value returned in "end" for "0x<non-hex>".
+
+2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
+ (scan): Test against 'mach' field in info structure.
+
+2002-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
+
+2002-02-14 Matt Fredette <fredette@netbsd.org>
+
+ * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
+ EF_M68000.
+
+2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
+ non-zero physical addresses when adjusting the LMAs of new
+ sections.
+
+2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
+ from _bfd_elf_hppa_gen_reloc_type.
+ (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
+ * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
+ * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
+ * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
+
+2002-02-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_section): Skip section before
+ loading its contents if there's nothing to do in it.
+
+2002-02-12 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
+ 64k boundary.
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
+ DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
+ (ppc64_elf_finish_dynamic_sections): Set values for them.
+
+2002-02-11 Michael Snyder <msnyder@redhat.com>
+
+ * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
+ * elf.c (elfcore_grok_pstatus): Add prototype.
+ (elfcore_grok_lwpstatus): Add prototype.
+ (elfcore_write_lwpstatus): New function.
+ (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
+
+2002-02-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c: Added missing prototypes.
+ * elf32-sh64.c: Likewise.
+ (sh_elf_align_loads): Mark unused args as such.
+ * elf64-sh64.c: Added missing prototypes.
+ (struct elf_sh64_link_hash_entry): Fix typo.
+ (sh_elf64_relocate_section): Fix info argument passed to
+ _bfd_elf_section_offset.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
+ variable warnings.
+ * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
+ comparison warning.
+ * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
+ cast warnings for the common case.
+
+2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
+ vectors.
+ (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
+ vectors.
+
+2002-02-09 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
+ (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
+ (elf64_alpha_relocate_section): Likewise.
+ * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
+ that base-plus-offset reloc accounting is consistent.
+ (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
+ up to date for undefined symbols.
+
+2002-02-08 Eric Christopher <echristo@redhat.com>
+
+ From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
+ sections for the O32 ABI.
+
+2002-02-08 Chris Demetriou <cgd@broadcom.com>
+
+ * elf32-arm.h: Fix formatting of _("...").
+ * elf32-d10v.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mips.c: Likewise.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * coff-or32.c: Fix compile time warning messages.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
+ * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
+ R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
+ R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
+ R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
+ R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
+ R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
+ R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
+ R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
+ R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
+ New relocs.
+ * libbfd.h, bfd-in2.h: Rebuilt.
+ * elf32-sh.c (sh_elf_howto_table): Define new relocs.
+ (sh_reloc_map): Map them.
+ (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
+ elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
+ elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
+ elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
+ elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
+ elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
+ movi_shori_putval) [INCLUDE_SHMEDIA]: New.
+ (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
+ datalabel_got_offset.
+ (sh_elf_link_hash_newfunc): Initialize it.
+ (sh_elf_relocate_section): Augment the scope of
+ seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
+ GOT and GOTOFF handling to new SHmedia relocation types. Support
+ GOT_BIAS.
+ (sh_elf_check_relocs): Likewise.
+ (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
+ PLT entries using movi_shori_putval. Support GOT_BIAS.
+ (sh_elf_finish_dynamic_sections): Likewise.
+ * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
+ relocation, it's now done by the caller.
+ (GOT_BIAS): New.
+ * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
+ elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
+ elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
+ elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
+ elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
+ elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
+ sh64_elf64_hash_table): New.
+ (sh_elf64_howto_table): Introduce new relocs.
+ (sh_elf64_info_to_howto): Accept new PIC relocs.
+ (sh_elf64_relocate_section): Augment the scope of
+ seen_stt_datalabel. Support new PIC relocs.
+ (sh_elf64_check_relocs): Support new PIC relocs.
+ (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
+ elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
+ elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
+ elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
+ sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
+ movi_shori_putval, movi_3shori_putval,
+ sh64_elf64_create_dynamic_sections,
+ sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
+ sh64_elf64_size_dynamic_sections,
+ sh64_elf64_finish_dynamic_symbol,
+ sh64_elf64_finish_dynamic_sections): New.
+ (elf_backend_create_dynamic-sections,
+ bfd_elf64_bfd_link_hash_table_create,
+ elf_backend_adjust_dynamic_symbol,
+ elf_backend_size_dynamic_sections,
+ elf_backend_finish_dynamic_symbol,
+ elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+ elf_backend_plt_readonly, elf_backend_want_plt_sym,
+ elf_backend_got_header_size, elf_backend_plt_header_size):
+ Define.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * elf32-sh.c: Renumbered and renamed some SH5 relocations to
+ match official numbers and names; moved unmaching ones to the
+ range 0xf2-0xff.
+ * elf32-sh64.c, elf64-sh64.c: Likewise.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
+ sections.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
+ be aligned.
+ * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
+ 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
+ (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
+ .cranges section with SEC_SORT_ENTRIES set.
+ (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
+ incoming sorted .cranges section.
+ (sh64_bfd_elf_copy_private_section_data): New.
+ (sh64_elf_final_write_processing): Only sort .cranges and modify
+ start address if called by linker.
+ 2001-01-08 Ben Elliston <bje@redhat.com>
+ * elf32-sh64.c (sh64_elf_final_write_processing): Activate
+ Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
+ * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
+ line. Add comments before all entries.
+ <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
+ comment.
+ (sh_elf64_reloc): Correct head comment.
+ (sh_elf64_relocate_section): Correct spacing.
+ <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
+ instead call reloc_dangerous callback.
+ <case R_SH_SHMEDIA_CODE>: New case.
+ (sh_elf64_gc_mark_hook): Correct spacing.
+ (sh_elf64_check_relocs): Ditto.
+ * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
+ New case.
+ * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
+ functions.
+ (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
+ clarify describing comment. Add comments before all entries.
+ (sh_elf_relocate_section) <relocating for a local symbol>: Do not
+ honour STO_SH5_ISA32; instead call reloc_dangerous callback.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ Sort .cranges section in final link. Prepare to set bit 0 on
+ entry address.
+ * elf32-sh64.c (struct sh64_find_section_vma_data): New.
+ (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
+ (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
+ .cranges section.
+ (sh64_backend_section_from_shdr): New, to recognize
+ SHT_SH5_CR_SORTED on incoming .cranges section.
+ (elf_backend_section_from_shdr): Define.
+ (sh64_elf_final_write_processing): Sort outgoing .cranges
+ section. (New, temporarily disabled:) Set bit 0 on entry address
+ according to ISA type.
+ (sh64_find_section_for_address): New.
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+ crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
+ (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
+ bfd_malloc, not xmalloc.
+ (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
+ global.
+ * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
+ temporarily disabled) setting bit 0 on entry address.
+ (elf_backend_final_write_processing): Define.
+ 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
+ be a proper relocation for PTA and PTB rather than a marker.
+ <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
+ R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
+ R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
+ Zero src_mask.
+ * elf64-sh64.c: Ditto.
+ (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
+ * elf32-sh64.c: Include opcodes/sh64-opc.h
+ (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
+ argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
+ parameters. No unused parameters. Caller changed.
+ <case R_SH_PT_16>: New case.
+ * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
+ * Makefile.in: Regenerate.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
+ all code sections.
+ (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+ (sh64_elf_merge_private_data): Ditto.
+ * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
+ to access stored section flags.
+ (sh64_elf_final_write_processing): Return immediately unless
+ called by linker. Use sh64_elf_section_data (cranges) to get size
+ of linker-generated cranges entries.
+ (sh64_elf_copy_private_data): Add missing "return true".
+ (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+ (sh_elf64_merge_private_data): Ditto.
+ 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
+ elf64-sh64.c:sh64_elf_fake_sections.
+ (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
+ (sh64_elf_final_write_processing): New.
+ (elf_backend_final_write_processing): Define.
+ (sh64_elf_fake_sections): Get header flags from tdata field.
+ (sh64_elf_copy_private_data): Do not call
+ sh64_elf_copy_private_data_internal, just copy e_flags field.
+ (sh64_elf_merge_private_data): Do not call
+ sh64_elf_copy_private_data_internal.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ Remove EF_SH64_ABI64, let ELF size make difference.
+ Remove SH64-specific BFD section flag.
+ * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
+ containing SHmedia through elf_section_data (asect)->tdata
+ non-zero, not using a BFD section flag.
+ (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
+ (sh64_elf_merge_private_data): Similar.
+ (elf_backend_section_flags): Don't define.
+ (sh64_elf_backend_section_flags): Delete.
+ * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
+ not EF_SH64_ABI64.
+ (sh_elf64_merge_private_data): Similar.
+ * section.c (Section flags definitions): Don't define
+ SEC_SH_ISA_SHMEDIA.
+ (bfd-in2.h): Regenerate.
+ 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
+ Make DataLabel references work with partial linking.
+ * elf32-sh64.c: Fix formatting.
+ (sh64_elf_link_output_symbol_hook): New.
+ (elf_backend_link_output_symbol_hook): Define to
+ sh64_elf_link_output_symbol_hook.
+ (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
+ undefined if partial linking. Adjust sanity check.
+ * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
+ (elf_backend_link_output_symbol_hook): Define to
+ sh64_elf64_link_output_symbol_hook.
+ (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
+ undefined if partial linking. Adjust sanity check.
+ 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
+ Implement semantics for inter-file DataLabel references.
+ * elf64-sh64.c (DATALABEL_SUFFIX): Define.
+ (sh64_elf64_add_symbol_hook): New.
+ (sh_elf64_relocate_section): If passing an indirect symbol with
+ st_type STT_DATALABEL on the way to a symbol with st_other
+ STO_SH5_ISA32, do not bitor 1 to the relocation.
+ (elf_backend_add_symbol_hook): Define to
+ sh64_elf64_add_symbol_hook.
+ * elf64-sh32.c: Tweak comments.
+ (DATALABEL_SUFFIX): Define.
+ (sh64_elf_add_symbol_hook): New.
+ (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
+ * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
+ symbol with st_type STT_DATALABEL on the way to a symbol with
+ st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
+ 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ Pass through STT_DATALABEL.
+ * elf32-sh64.c (sh64_elf_get_symbol_type): New.
+ (elf_backend_get_symbol_type): Define.
+ * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
+ (elf_backend_get_symbol_type): Define.
+ 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c: Tweak comments.
+ (sh64_elf_copy_private_data_internal): Add prototype.
+ (bfd_elf32_bfd_set_private_flags): Define.
+ (sh64_elf_copy_private_data_internal): Compare machine name, not
+ textual BFD target name, to check whether to copy section flag
+ SHF_SH5_ISA32.
+ (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
+ Tweak section-contents-type-mismatch message.
+ (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
+ Validize reloc-types.
+ * elf64-sh64.c: New file.
+ * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
+ * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
+ Regenerate dependencies.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
+ bfd_elf64_sh64l_vec.
+ * configure.in: Handle bfd_elf64_sh64_vec and
+ bfd_elf64_sh64l_vec.
+ * configure: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
+ anything else but EF_SH64 and EF_SH64_ABI64.
+ (sh64_elf_merge_private_data): Emit error for anything else but
+ EF_SH64 and EF_SH64_ABI64.
+ * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
+ from targ_selvecs.
+ * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
+ bfd_elf32_sh64l_vec as a temporary measure.
+ * configure: Regenerate.
+ 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
+ * cpu-sh.c (arch_info_struct): Include sh5 item
+ unconditionalized.
+ * config.bfd (sh64-*-elf*): Do not set targ_cflags.
+ Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
+ bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
+ * elf32-sh64.c: Tweak comments.
+ (sh64_elf_set_mach_from_flags): Recognize all machine flags that
+ are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
+ (sh64_elf_copy_private_data_internal): Wrap long line.
+ (sh64_elf_merge_private_data): Rewrite to allow objects from
+ SH64 subsets to be linked together.
+ (INCLUDE_SHMEDIA): Define.
+ * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
+ Parenthesize plus-expression inside or-expression.
+ <global symbol>: Ditto.
+ (sh_elf_set_mach_from_flags): Remove code refusing
+ deleted EF_SH64_32BIT_ABI flag.
+ 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
+ * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
+ (sh_elf_relocate_section) <local symbol>: Or 1 in
+ calculation of relocation if sym->st_other & STO_SH5_ISA32.
+ <global symbol>: Ditto if h->other & STO_SH5_ISA32.
+ * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
+ relocation.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
+ Regenerate dependencies.
+ * Makefile.in: Regenerate.
+ * archures.c: Add bfd_mach_sh5.
+ * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
+ Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
+ * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
+ * configure: Regenerate.
+ * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
+ BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
+ BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
+ BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
+ BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
+ BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
+ BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
+ BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
+ BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
+ * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
+ in item for SH5.
+ * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
+ for SHmedia relocs.
+ [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
+ [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
+ shmedia_prepare_reloc, goto final_link_relocate if it returns
+ non-zero, else fail as before.
+ (sh_elf_set_mach_from_flags): Provide function only if not defined
+ as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
+ (sh_elf_set_private_flags): Provide function only if not defined
+ as a macro.
+ (sh_elf_copy_private_data): Similar.
+ (sh_elf_merge_private_data): Similar.
+ * section.c (SEC_SH_ISA_SHMEDIA): New.
+ * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
+ * elf32-sh64.c: New file.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2002-02-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
+ been included, not drag it in.
+ * bfd-in2.h: Regenerate.
+
+2002-02-06 H.J. Lu (hjl@gnu.org)
+
+ * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
+ the mach and ISA fields if necessary.
+
+2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (coff_set_arch_mach_hook): Select the highest known
+ ARM architecture when an F_ARM_5 flag is detected, since we cannot
+ be sure exactly which architecture this represents.
+
+2002-02-05 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Updated translation.
+
+2002-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ From Jimi X <jimix@watson.ibm.com>
+ * archures (bfd_mach_ppc64): Define.
+ (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
+ (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
+ (bfd_powerpc_archs): Add default powerpc64 arch.
+
+2002-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
+ against section syms in readonly sections. Don't do the global
+ sym check if we find one.
+ * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+ * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+ (elf_s390_grok_prstatus): Add missing prototype.
+
+2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
+ (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
+ Call bfd_get_section_by_name only once. Initialize
+ bpodata->n_bpo_relocs_this_section.
+ (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
+ referring to DSOs.
+ (bpo_reloc_request_sort_fn): Don't use difference of values as
+ return-value.
+
+2002-02-02 David O'Brien <obrien@FreeBSD>
+
+ * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
+ version 4.5 and later the same as 5-CURRENT.
+ * configure: Re-generate.
+
+2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (hppa*-*-netbsd*): New target.
+
+2002-01-31 Philipp Thomas <pthomas@suse.de>
+
+ * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
+ to front of message. Unify messages with elf32-arm.h. Use
+ commas where neccessary.
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
+ ERROR in messages. Unify messages with coff-arm.c. Correct
+ VFP/FPA error message.
+ (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
+ APCS-32 for translation.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ Perform on-demand global register allocation from
+ R_MMIX_BASE_PLUS_OFFSET relocs.
+ * elf64-mmix.c (struct bpo_reloc_section_info, struct
+ bpo_reloc_request, struct bpo_greg_section_info): New.
+ (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
+ bpo_reloc_request_sort_fn, mmix_elf_relax_section,
+ _bfd_mmix_check_all_relocs,
+ _bfd_mmix_prepare_linker_allocated_gregs,
+ _bfd_mmix_finalize_linker_allocated_gregs): New functions.
+ (elf_mmix_howto_table): Correct src_mask for most relocs.
+ (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
+ case.
+ (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
+ case. Fix typo in comment. New label do_mmix_reloc.
+ (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
+ store first object file with a base-plus-offset reloc. Call
+ mmix_elf_check_common_relocs for the part common with mmo.
+ (mmix_elf_final_link): Write out linker-allocated register
+ contents section.
+ (elf_backend_gc_sweep_hook): Define.
+ (bfd_elf64_bfd_relax_section): Define.
+
+ * mmo.c: Don't include <ctype.h>
+ (mmo_init): Correct init-once logic.
+
+2002-02-01 Tom Rix <trix@redhat.com>
+
+ * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+
+2002-01-31 David O'Brien <obrien@FreeBSD>
+
+ * configure.in: Recognize the differences in core files from FreeBSD
+ 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
+ 5-CURRENT.
+ * configure: Regenerate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * coff-or32.c: New file.
+ * cpu-or32.c: New file.
+ * elf32-or32.c: New file.
+ * archures.c: Add support for or32.
+ * targets.c: Add support for or32.
+ * bfd-in2.h: Regenerate.
+ * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
+ coff_write_object_contents): Add support for or32.
+ * config.bfd: Add target.
+ * configure.in: Add support for or32.
+ * configure: Regenerate.
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Add or32 files.
+ * po/bfd.pot: Regenerate.
+
+2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
+ Don Lindsay <lindsayd@cisco.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
+ false' with a return of a bfd_reloc_ error code.
+
+2002-01-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+ unexport unreferenced symbols when --export-dynamic. Call
+ _bfd_elf_strtab_delref when unexporting.
+
+2002-01-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h: Include <stdbool.h> if it is available.
+ * bfd-in2.h: Regenerated.
+
+2002-01-31 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
+ not go via the plt.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * archures.c: Tidy up formatting of embedded comments.
+ * bfd.c: Tidy up formatting of embedded comments.
+ * bfd-in.h: Fix formatting of comments.
+ * reloc.c: Tidy up formatting of ordinary & embedded comments.
+ * section.c: Tidy up formatting of embedded comments.
+ * syms.c: Tidy up formatting of embedded comments.
+ * targets.c: Tidy up formatting of embedded comments.
+
+ * bfd-in2.h: Regenerate.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * vms-tir.c (cmd_name): New function.
+ (tir_cmd_name): New function.
+ (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
+ (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
+ Fix formatting.
+
+ * peXXigen.c (pe_print_idata): Rearrange message to aid in
+ translation.
+ (pe_print_pdata): Rearrange message to aid in translation.
+
+ * libbfd.c (warn_deprecated): Rearrange error message to aid in
+ translation.
+
+ * ihex.c (ihex_write_object_contents): Fix spelling typo.
+
+ * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
+
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
+ message to aid in translation.
+
+ * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
+ to aid in translation.
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
+
+2002-01-30 Philipp Thomas <pthomas@suse.de>
+
+ * coff-arm.c, elf32-elf.h: Unify messages.
+
+2002-01-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated translation.
+
+2002-01-30 Philipp Thomas <pthomas@suse.de>
+
+ * dwarf2.c (read_abbrev): Use full section name in error message.
+ (decode_line_info): Likewise.
+
+ * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
+ message.
+
+2002-01-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Only provide missing function
+ descriptor symbols for undefined function code syms. Clear
+ ELF_LINK_NON_ELF so that they can stay weak.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+ Mitch Lichtenberg <mpl@broadcom.com>
+
+ * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
+ * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
+ to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
+ generation.
+ * bfd-in2.h: Regenerate.
+
+2002-01-29 Chris Demetriou <cgd@broadcom.com>
+
+ * elf32-mips.c: Add additional comments about HI16 relocation
+ processing.
+ (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
+ pc-relative relocations. (Reverts change made on 2001-10-31.)
+ (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
+ for pc-relative relocations.
+ (mips_elf_calculate_relocation): Add a comment about a kludge
+ in the R_MIPS_GNU_REL_HI16 handling.
+ (_bfd_mips_elf_relocate_section): Implement that kludge;
+ adjust pc-relative HI16 relocation for difference in HI16 and
+ LO16 addresses, since it can't easily be done in
+ mips_elf_calculate_relocation.
+
+2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
+ relocations with PC32 relocations for undefined or weak symbols.
+ * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
+ * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
+
+2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elfcore.h (elf_core_file_p): Improve comment for last change.
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elfcore.h (elf_core_file_p): Set the machine architecture
+ before processing the program headers.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in <64-bit configuration>: If using gcc, check and
+ emit error for egcs-1.1.2.
+ * configure: Regenerate.
+
+2002-01-26 Egor Duda <deo@logos-m.ru>
+
+ * elf.c (elfcore_grok_win32pstatus): Copy only as much information
+ as possible to avoid stack corruption.
+
+2002-01-26 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
+ for non-allocated sections.
+
+2002-01-25 Mark Kettenis <kettenis@gnu.org>
+
+ * elf.c (elfcore_write_prstatus): Make sure we pass the address of
+ prstat.pr_reg even if it is a struct.
+
+2002-01-25 Steve Ellcey <sje@cup.hp.com>
+
+ * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
+
+2002-01-25 Philipp Thomas <pthomas@suse.de>
+
+ * coffgen.c (coff_print_symbol): Don't mark info message
+ for translation.
+
+2002-01-25 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated translation.
+ * po/es.po: Updated translation.
+
+2002-01-25 Philipp Thomas <pthomas@suse.de>
+
+ * coff-alpha.c (alpha_relocate_section): Unify warning message
+ for GP relative relocations without GP defined.
+ * coff-mips.c (mips_relocate_section): Likewise.
+
+2002-01-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
+ unsigned overflow when new_offset < old_offset.
+
+2002-01-24 Philipp Thomas <pthomas@suse.de>
+
+ * bfd.c (_bfd_abort): Fix typo.
+
+2002-01-23 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
+ plt entries for undefweak symbols.
+
+2002-01-23 Steve Ellcey <sje@cup.hp.com>
+
+ * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
+ (bfd_elf64_ia64_hpux_big_vec): Ditto.
+ (bfd_elf32_h8300_vec): Ditto.
+
+2002-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c: Remove stale part of ABI comment.
+ (NO_OPD_RELOCS): Define.
+ (ppc64_elf_check_relocs): Use it.
+ (ppc64_elf_relocate_section): Here too.
+ (build_one_stub): Don't point function syms at the stub. Instead,
+ hijack plt.offset.
+ (ppc64_elf_relocate_section): Check whether REL24 relocs should
+ really go to the stub. Make all dynamic relocs in opd against
+ locals.
+ (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
+ plt.offset.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
+
+2002-01-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
+ TOC_BASE_OFF adjustment.
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
+ host defines.
+
+2002-01-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
+ Check for and emit error if sgot is NULL at this point.
+
+2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (ia64*-*-netbsd*): New target.
+
+2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+ * som.c (som_write_space_strings): Comment typo fix.
+
+2002-01-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
+ is_func_descriptor fields.
+ (link_hash_newfunc): Init them.
+ (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
+ dot are candidates for plt entries. When processing .opd relocs,
+ set function descriptor strings to point inside function code
+ string, and set new ppc_link_hash_entry fields.
+ (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
+ (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
+ function descriptors. It's now done in..
+ (func_desc_adjust): New.
+ (ppc64_elf_func_desc_adjust): New.
+ (define elf_backend_always_size_sections): Define.
+ (ppc64_elf_hide_symbol): New.
+ (define elf_backend_hide_symbol): Define.
+ (allocate_dynrelocs): Remove code looking up function descriptors
+ as that has been done earlier.
+ (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
+ table.
+ (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
+ up function descriptor.
+ (build_one_stub): Look up the function code sym. Check for
+ invalid plt offsets.
+ (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
+ Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
+
+ * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
+ boolean param.
+ (_bfd_elf_link_hash_hide_symbol): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Adjust call to
+ elf_backend_hide_symbol.
+ (elf_fix_symbol_flags): Likewise.
+ (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
+ than bfd_alloc.
+ * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
+ Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
+ * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+ (clobber_millicode_symbols): Adjust to suit new hide_symbol.
+ * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
+ and adjust to suit.
+ * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
+ _bfd_elf_link_hash_hide_symbol rather than duplicating code.
+ * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
+
+2002-01-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
+ dynamic function descriptor symbol, not the associated function
+ symbol.
+
+2002-01-17 Eric Christopher <echristo@redhat.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/bfd.pot: Regenerate.
+ * po/fr.po: Regenerate.
+
+2002-01-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
+ Remove "Elf_Internal_Shdr *" param.
+ (_bfd_mips_elf_section_from_bfd_section): Ditto.
+ * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
+ * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
+ * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
+ * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
+ * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
+ * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
+ function to override special sections. Remove hdr arg from
+ backend call, and don't loop.
+
+2002-01-16 Eric Christopher <echristo@redhat.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
+ on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
+ relocations requiring gp0 and gp.
+
+2002-01-16 Richard Earnshaw <rearnsha@arm.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
+ EF_ARM_VFP_FLOAT.
+ (elf32_arm_print_private_bfd_data): Likewise.
+
+2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Import new version.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
+ (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
+ (ORI_R0_R0_0): Correct.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
+ when plt_not_loaded.
+ * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
+ clear .plt SEC_CODE here. Create .stub and correct .glink flags.
+ (PLT_INITIAL_ENTRY_SIZE): Set to 24.
+ (ppc64_elf_glink_code): Delete.
+ (PPC64_ELF_GLINK_SIZE): Delete.
+ (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
+ BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
+ ORI_R0_R0_0): Define.
+ (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
+ (struct ppc_link_hash_table): Add sstub and plt_overflow.
+ (ppc64_elf_link_hash_table_create): Init them.
+ (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
+ Don't copy to shared lib.
+ (ppc64_elf_check_relocs): Call bfd_set_error on errors.
+ (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
+ (allocate_dynrelocs <plt>): Don't change function sym here. Make
+ room for .stub and .glink code.
+ (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
+ DT_PPC64_GLINK.
+ (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
+ bfd_elf64_bfd_final_link.
+ (bfd_elf64_bfd_final_link): Don't define.
+ (ppc64_elf_size_stubs): New.
+ (build_plt_stub): New.
+ (build_one_stub): New.
+ (ppc64_elf_build_stubs): New.
+ (ppc64_elf_relocate_section <toc relocs>): Remove assert.
+ (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
+ (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
+ DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
+ case output sections not separate. Adjust DT_RELASZ to not
+ include plt relocs. Set reserved got entry. Set got and plt
+ entry size.
+ (elf_backend_got_header_size): Set to 8.
+ * elf64-ppc.h: New file.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
+ sections, use bfd_section_list_remove.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elflink.h (elf_link_add_object_symbols): When removing all
+ sections, use bfd_section_list_clear.
+
+2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/sv.po: New file: Swedish translation.
+ * configure.in (ALL_LINGUAS): Add sv.
+ * configure: Regenerate.
+
+2002-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
+ * elf.c (merge_sections_remove_hook): New function.
+ (_bfd_elf_merge_sections): Pass it as 3rd argument to
+ _bfd_merge_sections.
+ * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
+ * libbfd.h: Rebuilt.
+ * merge.c (_bfd_merge_sections): Add remove_hook argument.
+ Call remove_hook if a SEC_EXCLUDE section is encountered.
+
+2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
+ (xstormy16_reloc_map): Initialise new field with correct howto
+ table.
+ (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
+ howto entry.
+
+2002-01-10 Michael Snyder <msnyder@redhat.com>
+
+ * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
+ (elfcore_write_pstatus): Use long instead of pid_t;
+ * elf-bfd.h: Change prototypes to use long instead of pid_t;
+
+2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf.c: Update copyright years.
+ (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
+ and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
+
+2002-01-08 Michael Snyder <msnyder@redhat.com>
+
+ Add capability to write corefile note sections, for gdb.
+ * elf.c (elfcore_write_note): New function.
+ (elfcore_write_prpsinfo): New function.
+ (elfcore_write_prstatus): New function.
+ (elfcore_write_pstatus): New function.
+ (elfcore_write_prfpreg): New function.
+ (elfcore_write_prxfpreg): New function.
+ * elf-bfd.h: Add prototypes for above functions.
+
+2002-01-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf.c (elf_fake_sections): Propagate errors from
+ elf_backend_fake_section.
+
+2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
+ (elf32-sh-nbsd.lo): New rule.
+ * Makefile.in: Regenerate.
+ * config.bfd (sh*le-*-netbsdelf*): New target.
+ (sh*-*-netbsdelf*): New target.
+ * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
+ (bfd_elf32_shnbsd_vec): New vector.
+ (bfd_elf32_shlnbsd_vec): New vector.
+ * configure: Regenerate.
+ * elf32-sh-nbsd.c: New file.
+ * targets.c: Update copyright years.
+ (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
+ bfd_elf32_shnbsd_vec.
+
+2002-01-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * coff-rs6000.c (READ20): Use bfd_scan_vma.
+
+2002-01-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
+ of a symbol in a section that will be deleted.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+2002-01-06 Steve Ellcey <sje@cup.hp.com>
+
+ * elfxx-ia64.c (is_unwind_section_name): Add target vector as
+ argument so we can handle HP-UX specially.
+ (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
+ (elfNN_hpux_backend_section_from_bfd_section): New for support
+ of SHN_IA_64_ANSI_COMMON.
+ (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
+ (is_unwind_section_name): Add special HP-UX support.
+ (elfNN_ia64_section_from_shdr): Add support for more sections.
+ (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
+ add support for more sections.
+ (elfNN_ia64_additional_program_headers): Modify
+ is_unwind_section_name call.
+ (elfNN_ia64_modify_segment_map): Remove assumption that there is
+ only one unwind section in segment.
+
+2002-01-06 Alan Modra <amodra@bigpond.net.au>
+
+ * syms.c (_bfd_generic_make_empty_symbol): New function.
+ * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
+ _bfd_generic_make_empty_symbol.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
+ (hppabsd_core_get_symtab_upper_bound): Don't define.
+ (hppabsd_core_get_symtab): Likewise.
+ (hppabsd_core_print_symbol): Likewise.
+ (hppabsd_core_get_symbol_info): Likewise.
+ (hppabsd_core_bfd_is_local_label_name): Likewise.
+ (hppabsd_core_get_lineno): Likewise.
+ (hppabsd_core_find_nearest_line): Likewise.
+ (hppabsd_core_bfd_make_debug_symbol): Likewise.
+ (hppabsd_core_read_minisymbols): Likewise.
+ (hppabsd_core_minisymbol_to_symbol): Likewise.
+ (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
+ Formatting fixes.
+ * hpux-core.c: Similarly.
+ * irix-core.c: Similarly.
+ * osf-core.c: Similarly.
+ * sco5-core.c: Similarly.
+ * binary.c (binary_make_empty_symbol): Remove function, define as
+ _bfd_generic_make_empty_symbol.
+ * ihex.c (ihex_make_empty_symbol): Likewise.
+ * mmo.c (mmo_make_empty_symbol): Likewise.
+ * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
+ * srec.c (srec_make_empty_symbol): Likewise.
+ * versados.c (versados_make_empty_symbol): Likewise.
+ * vms.c (_bfd_vms_make_empty_symbol): Remove.
+ (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
+ * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
+ rather than _bfd_vms_make_empty_symbol.
+ * vms-misc.c (new_symbol): Likewise.
+
+2002-01-05 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_section_init): Remove unnecessary initialisations.
+ (bfd_section_list_clear): New function.
+ (bfd_section_list_remove, bfd_section_list_insert): New macros.
+ (_bfd_strip_section_from_output): Use them.
+ * coffcode.h (coff_set_alignment_hook): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
+ * elf64-mips.c (mips_elf64_final_link): Likewise.
+ * elf64-mmix.c (mmix_elf_final_link): Likewise.
+ * sunos.c (sunos_add_dynamic_symbols): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+ * bfd-in2.h: Regenerate.
+
+ * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
+ rather than doing our own section handling. Clean up after errors
+ with bfd_release and bfd_section_list_clear. Handle unexpected
+ flags.
+ * aoutf1.h (sunos4_core_file_p): Likewise.
+ * aix386-core.c (aix386_core_file_p): Likewise.
+ * cisco-core.c (cisco_core_file_validate): Likewise.
+ * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
+ * trad-core.c (trad_unix_core_file_p): Likewise.
+
+ * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
+ with bfd_release and bfd_section_list_clear.
+ * hpux-core.c (hpux_core_core_file_p): Likewise.
+ * irix-core.c (irix_core_core_file_p): Likewise.
+ * lynx-core.c (lynx_core_file_p): Likewise.
+ * osf-core.c (osf_core_core_file_p): Likewise.
+ * rs6000-core.c (rs6000coff_core_p): Likewise.
+ * sco5-core.c (sco5_core_file_p): Likewise.
+
+ * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
+ sign extension adjustments without conditionals.
+
+2002-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
+ CIE at .eh_frame start is removed due to no FDEs referencing it.
+
+2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (x86_64-*-netbsd*): New target.
+ * configure.in (x86_64-*-netbsd*): Set COREFILE
+ to netbsd-core.lo.
+ * configure: Regenerated.
+
+2002-01-03 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
+ for recent bfd_make_section_anyway change.
+
+2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Handle
+ R_ARM_THM_PC11 reloc.
+
+2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (LINGUAS): Add ja.
+ * configure: Regenerate.
+ * po/ja.po: Import from translation project's web site.
+
+2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
+ messages to ease translation into other languages.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/bfd/acinclude.m4 b/bfd/acinclude.m4
index b1bd1bec78..63b4bf92b1 100644
--- a/bfd/acinclude.m4
+++ b/bfd/acinclude.m4
@@ -1,7 +1,7 @@
sinclude(../config/accross.m4)
dnl See whether we need to use fopen-bin.h rather than fopen-same.h.
-AC_DEFUN(BFD_BINARY_FOPEN,
+AC_DEFUN([BFD_BINARY_FOPEN],
[AC_REQUIRE([AC_CANONICAL_SYSTEM])
case "${host}" in
changequote(,)dnl
@@ -11,7 +11,7 @@ changequote([,])dnl
esac])dnl
dnl Get a default for CC_FOR_BUILD to put into Makefile.
-AC_DEFUN(BFD_CC_FOR_BUILD,
+AC_DEFUN([BFD_CC_FOR_BUILD],
[# Put a plausible default for CC_FOR_BUILD in Makefile.
if test -z "$CC_FOR_BUILD"; then
if test "x$cross_compiling" = "xno"; then
@@ -44,7 +44,7 @@ fi
AC_SUBST(EXEEXT_FOR_BUILD)])dnl
dnl See whether we need a declaration for a function.
-AC_DEFUN(BFD_NEED_DECLARATION,
+AC_DEFUN([BFD_NEED_DECLARATION],
[AC_MSG_CHECKING([whether $1 must be declared])
AC_CACHE_VAL(bfd_cv_decl_needed_$1,
[AC_TRY_COMPILE([
@@ -73,7 +73,7 @@ fi
dnl Check for existence of a type $1 in sys/procfs.h
-AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE,
+AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE],
[AC_MSG_CHECKING([for $1 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1,
[AC_TRY_COMPILE([
@@ -93,7 +93,7 @@ AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE,
dnl Check for existence of member $2 in type $1 in sys/procfs.h
-AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER,
+AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER],
[AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2,
[AC_TRY_COMPILE([
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 2afcf7f48a..f66c29ce23 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2356,6 +2356,20 @@ to compensate for the borrow when the low bits are added. */
BFD_RELOC_FRV_GPREL32,
BFD_RELOC_FRV_GPRELHI,
BFD_RELOC_FRV_GPRELLO,
+ BFD_RELOC_FRV_GOT12,
+ BFD_RELOC_FRV_GOTHI,
+ BFD_RELOC_FRV_GOTLO,
+ BFD_RELOC_FRV_FUNCDESC,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ BFD_RELOC_FRV_FUNCDESC_GOTHI,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ BFD_RELOC_FRV_FUNCDESC_VALUE,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ BFD_RELOC_FRV_GOTOFF12,
+ BFD_RELOC_FRV_GOTOFFHI,
+ BFD_RELOC_FRV_GOTOFFLO,
/* This is a 24bit GOT-relative reloc for the mn10300. */
@@ -2807,6 +2821,22 @@ used when the lower 16 bits are treated as signed. */
add3, load, and store instructions. */
BFD_RELOC_M32R_SDA16,
+/* For PIC. */
+ BFD_RELOC_M32R_GOT24,
+ BFD_RELOC_M32R_26_PLTREL,
+ BFD_RELOC_M32R_COPY,
+ BFD_RELOC_M32R_GLOB_DAT,
+ BFD_RELOC_M32R_JMP_SLOT,
+ BFD_RELOC_M32R_RELATIVE,
+ BFD_RELOC_M32R_GOTOFF,
+ BFD_RELOC_M32R_GOTPC24,
+ BFD_RELOC_M32R_GOT16_HI_ULO,
+ BFD_RELOC_M32R_GOT16_HI_SLO,
+ BFD_RELOC_M32R_GOT16_LO,
+ BFD_RELOC_M32R_GOTPC_HI_ULO,
+ BFD_RELOC_M32R_GOTPC_HI_SLO,
+ BFD_RELOC_M32R_GOTPC_LO,
+
/* This is a 9-bit reloc */
BFD_RELOC_V850_9_PCREL,
@@ -3347,6 +3377,10 @@ value and a 8-bit page number. The symbol address is transformed
to follow the 16K memory bank of 68HC12 (seen as mapped in the window). */
BFD_RELOC_M68HC11_24,
+/* Motorola 68HC12 reloc.
+This is the 5 bits of a value. */
+ BFD_RELOC_M68HC12_5B,
+
/* These relocs are only used within the CRIS assembler. They are not
(at present) written to any object files. */
BFD_RELOC_CRIS_BDISP8,
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index 9b2612327f..e51d07d583 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -268,7 +268,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
2,
2,
24,
- FALSE,
+ TRUE,
0,
complain_overflow_dont,
aoutarm_fix_pcrel_26_done,
@@ -276,7 +276,7 @@ static reloc_howto_type aoutarm_std_reloc_howto[] =
FALSE,
0x00ffffff,
0x0,
- FALSE),
+ PCRELOFFSET),
HOWTO (ARM_32,
0,
2,
@@ -1250,7 +1250,8 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
when doing a relocatable link. However, we want to convert
ARM_26 to ARM_26D relocs if possible. We return a fake howto in
this case without pcrel_offset set, and adjust the addend to
- compensate. */
+ compensate. 'partial_inplace' is also set, since we want 'done'
+ relocations to be reflected in section's data. */
if (rel->r_type == ARM_26
&& h != NULL
&& info->relocatable
@@ -1269,12 +1270,17 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
complain_overflow_signed,
aoutarm_fix_pcrel_26 ,
"ARM_26",
- FALSE,
+ TRUE,
0x00ffffff,
0x00ffffff,
FALSE);
addend -= rel->r_vaddr - input_section->vma;
+#ifdef ARM_WINCE
+ /* FIXME: I don't know why, but the hack is necessary for correct
+ generation of bl's instruction offset. */
+ addend -= 8;
+#endif
howto = &fake_arm26_reloc;
}
@@ -1734,10 +1740,13 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
#endif
else
#endif /* THUMBEXTENSION */
- rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents,
- rel->r_vaddr - input_section->vma,
- val, addend);
+ if (info->relocatable && ! howto->partial_inplace)
+ rstat = bfd_reloc_ok;
+ else
+ rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
+ contents,
+ rel->r_vaddr - input_section->vma,
+ val, addend);
#if 1 /* THUMBEXTENSION */
/* FIXME:
Is this the best way to fix up thumb addresses? krk@cygnus.com
diff --git a/bfd/coff-h8300.c b/bfd/coff-h8300.c
index e9d19643e4..bd798a64b6 100644
--- a/bfd/coff-h8300.c
+++ b/bfd/coff-h8300.c
@@ -1,6 +1,6 @@
/* BFD back-end for Renesas H8/300 COFF binaries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain, <sac@cygnus.com>.
@@ -265,8 +265,8 @@ static reloc_howto_type howto_table[] = {
the function vector's entry in the jsr instruction. */
HOWTO (R_MEM_INDIRECT, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, special, "8/indirect", FALSE, 0x000000ff, 0x000000ff, FALSE),
- /* Internal reloc for relaxing. This is created when a 16bit pc-relative
- branch is turned into an 8bit pc-relative branch. */
+ /* Internal reloc for relaxing. This is created when a 16-bit pc-relative
+ branch is turned into an 8-bit pc-relative branch. */
HOWTO (R_PCRWORD_B, 0, 0, 8, TRUE, 0, complain_overflow_bitfield, special, "relaxed bCC:16", FALSE, 0x000000ff, 0x000000ff, FALSE),
HOWTO (R_MOVL1, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,special, "32/24 relaxable move", FALSE, 0xffffffff, 0xffffffff, FALSE),
@@ -458,8 +458,8 @@ h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
/* Only examine the relocs which might be relaxable. */
switch (reloc->howto->type)
{
- /* This is the 16/24 bit absolute branch which could become an 8 bit
- pc-relative branch. */
+ /* This is the 16-/24-bit absolute branch which could become an
+ 8-bit pc-relative branch. */
case R_JMP1:
case R_JMPL1:
/* Get the address of the target of this branch. */
@@ -547,7 +547,7 @@ h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
}
break;
- /* This is the 16 bit pc-relative branch which could become an 8 bit
+ /* This is the 16-bit pc-relative branch which could become an 8-bit
pc-relative branch. */
case R_PCRWORD:
/* Get the address of the target of this branch, add one to the value
@@ -575,8 +575,8 @@ h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
}
break;
- /* This is a 16 bit absolute address in a mov.b insn, which can
- become an 8 bit absolute address if it's in the right range. */
+ /* This is a 16-bit absolute address in a mov.b insn, which can
+ become an 8-bit absolute address if it's in the right range. */
case R_MOV16B1:
/* Get the address of the data referenced by this mov.b insn. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -595,9 +595,9 @@ h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
}
break;
- /* Similarly for a 24 bit absolute address in a mov.b. Note that
- if we can't relax this into an 8 bit absolute, we'll fall through
- and try to relax it into a 16bit absolute. */
+ /* Similarly for a 24-bit absolute address in a mov.b. Note that
+ if we can't relax this into an 8-bit absolute, we'll fall through
+ and try to relax it into a 16-bit absolute. */
case R_MOV24B1:
/* Get the address of the data referenced by this mov.b insn. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -616,11 +616,11 @@ h8300_reloc16_estimate (bfd *abfd, asection *input_section, arelent *reloc,
break;
}
- /* FALLTHROUGH and try to turn the 32/24 bit reloc into a 16 bit
+ /* FALLTHROUGH and try to turn the 24-/32-bit reloc into a 16-bit
reloc. */
- /* This is a 24/32 bit absolute address in a mov insn, which can
- become an 16 bit absolute address if it's in the right range. */
+ /* This is a 24-/32-bit absolute address in a mov insn, which can
+ become an 16-bit absolute address if it's in the right range. */
case R_MOVL1:
/* Get the address of the data referenced by this mov insn. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -666,10 +666,11 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
bfd_vma value;
bfd_vma dot;
int gap, tmp;
+ unsigned char temp_code;
switch (reloc->howto->type)
{
- /* Generic 8bit pc-relative relocation. */
+ /* Generic 8-bit pc-relative relocation. */
case R_PCRBYTE:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -699,7 +700,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* All done. */
break;
- /* Generic 16bit pc-relative relocation. */
+ /* Generic 16-bit pc-relative relocation. */
case R_PCRWORD:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -730,7 +731,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* All done. */
break;
- /* Generic 8bit absolute relocation. */
+ /* Generic 8-bit absolute relocation. */
case R_RELBYTE:
/* Get the address of the object referenced by this insn. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -742,7 +743,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* All done. */
break;
- /* Various simple 16bit absolute relocations. */
+ /* Various simple 16-bit absolute relocations. */
case R_MOV16B1:
case R_JMP1:
case R_RELWORD:
@@ -752,7 +753,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 2;
break;
- /* Various simple 24/32bit absolute relocations. */
+ /* Various simple 24-/32-bit absolute relocations. */
case R_MOV24B1:
case R_MOVL1:
case R_RELLONG:
@@ -763,7 +764,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 4;
break;
- /* Another 24/32bit absolute relocation. */
+ /* Another 24-/32-bit absolute relocation. */
case R_JMPL1:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -775,8 +776,15 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 4;
break;
- /* A 16bit absolute relocation that was formerly a 24/32bit
- absolute relocation. */
+ /* This is a 24-/32-bit absolute address in one of the following
+ instructions:
+
+ "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
+ "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
+ "mov.[bwl]"
+
+ We may relax this into an 16-bit absolute address if it's in
+ the right range. */
case R_MOVL2:
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
value = bfd_h8300_pad_address (abfd, value);
@@ -784,11 +792,12 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Sanity check. */
if (value <= 0x7fff || value >= 0xffff8000u)
{
- /* Insert the 16bit value into the proper location. */
+ /* Insert the 16-bit value into the proper location. */
bfd_put_16 (abfd, value, data + dst_address);
- /* Fix the opcode. For all the move insns, we simply
- need to turn off bit 0x20 in the previous byte. */
+ /* Fix the opcode. For all the instructions that belong to
+ this relaxation, we simply need to turn off bit 0x20 in
+ the previous byte. */
data[dst_address - 1] &= ~0x20;
dst_address += 2;
src_address += 4;
@@ -803,7 +812,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
}
break;
- /* A 16bit absolute branch that is now an 8-bit pc-relative branch. */
+ /* A 16-bit absolute branch that is now an 8-bit pc-relative branch. */
case R_JMP2:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -833,7 +842,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
bfd_put_8 (abfd, 0x55, data + dst_address - 1);
break;
case 0x5a:
- /* jmp ->bra */
+ /* jmp -> bra */
bfd_put_8 (abfd, 0x40, data + dst_address - 1);
break;
@@ -841,7 +850,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
abort ();
}
- /* Write out the 8bit value. */
+ /* Write out the 8-bit value. */
bfd_put_8 (abfd, gap, data + dst_address);
dst_address += 1;
@@ -849,7 +858,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
break;
- /* A 16bit pc-relative branch that is now an 8-bit pc-relative branch. */
+ /* A 16-bit pc-relative branch that is now an 8-bit pc-relative branch. */
case R_PCRWORD_B:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -876,12 +885,15 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
{
case 0x58:
/* bCC:16 -> bCC:8 */
- /* Get the condition code from the original insn. */
+ /* Get the second byte of the original insn, which contains
+ the condition code. */
tmp = data[dst_address - 1];
+
+ /* Compute the fisrt byte of the relaxed instruction. The
+ original sequence 0x58 0xX0 is relaxed to 0x4X, where X
+ represents the condition code. */
tmp &= 0xf0;
tmp >>= 4;
-
- /* Now or in the high nibble of the opcode. */
tmp |= 0x40;
/* Write it. */
@@ -900,13 +912,13 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
/* Output the target. */
bfd_put_8 (abfd, gap, data + dst_address - 1);
- /* We don't advance dst_address -- the 8bit reloc is applied at
+ /* We don't advance dst_address -- the 8-bit reloc is applied at
dst_address - 1, so the next insn should begin at dst_address. */
src_address += 2;
break;
- /* Similarly for a 24bit absolute that is now 8 bits. */
+ /* Similarly for a 24-bit absolute that is now 8 bits. */
case R_JMPL2:
/* Get the address of the target of this branch. */
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
@@ -939,23 +951,52 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
break;
- /* A 16bit absolute mov.b that is now an 8bit absolute mov.b. */
+ /* This is a 16-bit absolute address in one of the following
+ instructions:
+
+ "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
+ "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
+ "mov.b"
+
+ We may relax this into an 8-bit absolute address if it's in
+ the right range. */
case R_MOV16B2:
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
- /* Sanity check. */
+ /* All instructions with R_H8_DIR16B2 start with 0x6a. */
if (data[dst_address - 2] != 0x6a)
abort ();
+ temp_code = data[src_address - 1];
+
+ /* If this is a mov.b instruction, clear the lower nibble, which
+ contains the source/destination register number. */
+ if ((temp_code & 0x10) != 0x10)
+ temp_code &= 0xf0;
+
/* Fix up the opcode. */
- switch (data[src_address - 1] & 0xf0)
+ switch (temp_code)
{
case 0x00:
+ /* This is mov.b @aa:16,Rd. */
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
break;
case 0x80:
+ /* This is mov.b Rs,@aa:16. */
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
break;
+ case 0x18:
+ /* This is a bit-maniputation instruction that stores one
+ bit into memory, one of "bclr", "bist", "bnot", "bset",
+ and "bst". */
+ data[dst_address - 2] = 0x7f;
+ break;
+ case 0x10:
+ /* This is a bit-maniputation instruction that loads one bit
+ from memory, one of "band", "biand", "bild", "bior",
+ "bixor", "bld", "bor", "btst", and "bxor". */
+ data[dst_address - 2] = 0x7e;
+ break;
default:
abort ();
}
@@ -964,23 +1005,52 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 2;
break;
- /* Similarly for a 24bit mov.b */
+ /* This is a 24-bit absolute address in one of the following
+ instructions:
+
+ "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
+ "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
+ "mov.b"
+
+ We may relax this into an 8-bit absolute address if it's in
+ the right range. */
case R_MOV24B2:
value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
- /* Sanity check. */
+ /* All instructions with R_MOV24B2 start with 0x6a. */
if (data[dst_address - 2] != 0x6a)
abort ();
+ temp_code = data[src_address - 1];
+
+ /* If this is a mov.b instruction, clear the lower nibble, which
+ contains the source/destination register number. */
+ if ((temp_code & 0x30) != 0x30)
+ temp_code &= 0xf0;
+
/* Fix up the opcode. */
- switch (data[src_address - 1] & 0xf0)
+ switch (temp_code)
{
case 0x20:
+ /* This is mov.b @aa:24/32,Rd. */
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x20;
break;
case 0xa0:
+ /* This is mov.b Rs,@aa:24/32. */
data[dst_address - 2] = (data[src_address - 1] & 0xf) | 0x30;
break;
+ case 0x38:
+ /* This is a bit-maniputation instruction that stores one
+ bit into memory, one of "bclr", "bist", "bnot", "bset",
+ and "bst". */
+ data[dst_address - 2] = 0x7f;
+ break;
+ case 0x30:
+ /* This is a bit-maniputation instruction that loads one bit
+ from memory, one of "band", "biand", "bild", "bior",
+ "bixor", "bld", "bor", "btst", and "bxor". */
+ data[dst_address - 2] = 0x7e;
+ break;
default:
abort ();
}
@@ -1025,7 +1095,7 @@ h8300_reloc16_extra_cases (bfd *abfd, struct bfd_link_info *link_info,
src_address += 4;
break;
- /* An 8bit memory indirect instruction (jmp/jsr).
+ /* An 8-bit memory indirect instruction (jmp/jsr).
There's several things that need to be done to handle
this relocation.
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index ccac05bcae..15d97093f6 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1064,7 +1064,11 @@ styp_to_sec_flags (abfd, hdr, name, section, flags_ptr)
sec_flags &= ~ SEC_READONLY;
break;
case IMAGE_SCN_MEM_DISCARDABLE:
- sec_flags |= SEC_DEBUGGING;
+ /* The MS PE spec sets the DISCARDABLE flag on .reloc sections
+ but we do not want them to be labelled as debug section, since
+ then strip would remove them. */
+ if (strncmp (name, ".reloc", sizeof ".reloc" - 1) != 0)
+ sec_flags |= SEC_DEBUGGING;
break;
case IMAGE_SCN_MEM_SHARED:
sec_flags |= SEC_SHARED;
diff --git a/bfd/config.bfd b/bfd/config.bfd
index c1ca87e853..da8d94684b 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -329,7 +329,7 @@ case "${targ}" in
targ_defvec=bfd_elf32_fr30_vec
;;
- frv-*-elf)
+ frv-*-elf | frv-*-*linux*)
targ_defvec=bfd_elf32_frv_vec
;;
@@ -597,6 +597,21 @@ case "${targ}" in
targ_defvec=bfd_elf32_iq2000_vec
;;
+ m32r*le-*-linux*)
+ targ_defvec=bfd_elf32_m32rlelin_vec
+ targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
+ ;;
+
+ m32r*-*-linux*)
+ targ_defvec=bfd_elf32_m32rlin_vec
+ targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
+ ;;
+
+ m32r*le-*-*)
+ targ_defvec=bfd_elf32_m32rle_vec
+ targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
+ ;;
+
m32r-*-*)
targ_defvec=bfd_elf32_m32r_vec
;;
@@ -636,7 +651,7 @@ case "${targ}" in
targ_defvec=m68kcoff_vec
targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
;;
- m68*-*-elf* | m68*-*-sysv4*)
+ m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
targ_defvec=bfd_elf32_m68k_vec
targ_selvecs="m68kcoff_vec ieee_vec"
;;
diff --git a/bfd/configure b/bfd/configure
index 42345bb24b..5704aef6ea 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -6320,6 +6320,9 @@ do
bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rle_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rlin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rlelin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
bfd_elf32_m68hc12_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
bfd_elf32_m68k_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
@@ -6579,10 +6582,10 @@ case ${host64}-${target64}-${want64} in
if test -n "$GCC" ; then
bad_64bit_gcc=no;
echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6
-echo "configure:6583: checking for gcc version with buggy 64-bit support" >&5
+echo "configure:6586: checking for gcc version with buggy 64-bit support" >&5
# Add more tests for gcc versions with non-working 64-bit support here.
cat > conftest.$ac_ext <<EOF
-#line 6586 "configure"
+#line 6589 "configure"
#include "confdefs.h"
:__GNUC__:__GNUC_MINOR__:__i386__:
EOF
@@ -6628,17 +6631,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6632: checking for $ac_hdr" >&5
+echo "configure:6635: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6637 "configure"
+#line 6640 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6645: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -6667,12 +6670,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6671: checking for $ac_func" >&5
+echo "configure:6674: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6676 "configure"
+#line 6679 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6695,7 +6698,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6720,7 +6723,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6724: checking for working mmap" >&5
+echo "configure:6727: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -6728,7 +6731,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 6732 "configure"
+#line 6735 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6868,7 +6871,7 @@ main()
}
EOF
-if { (eval echo configure:6872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -6893,12 +6896,12 @@ fi
for ac_func in madvise mprotect
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6897: checking for $ac_func" >&5
+echo "configure:6900: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6902 "configure"
+#line 6905 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6921,7 +6924,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
diff --git a/bfd/configure.in b/bfd/configure.in
index 72c32bd695..760bfe3afe 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -631,6 +631,9 @@ do
bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rle_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rlin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
+ bfd_elf32_m32rlelin_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
bfd_elf32_m68hc11_vec) tb="$tb elf32-m68hc11.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
bfd_elf32_m68hc12_vec) tb="$tb elf32-m68hc12.lo elf32-m68hc1x.lo elf32.lo $elf" ;;
bfd_elf32_m68k_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;;
diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog
index 3636ed8bfa..3316383422 100644
--- a/bfd/doc/ChangeLog
+++ b/bfd/doc/ChangeLog
@@ -1,594 +1,9 @@
-2003-10-15 Andrew Cagney <cagney@redhat.com>
-
- * bfdint.texi (BFD target vector symbols): Rename _get_symtab to
- _canonicalize_symtab.
-
-2003-10-08 David Taylor <dtaylor@emc.com>
-
- * bfd.texinfo: Remove spurious backslash.
-
-2003-07-04 Josh Baratz <baratz@intersystems.com>
-
- * Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains
- CC_FOR_BUILD specific switches.
- * Makefile.in: Regenerate.
-
-2003-06-29 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (paramstuff): Don't emit PARAMS.
-
-2003-02-12 Bob Wilson <bob.wilson@acm.org>
-
- * bfd.texinfo: Fix quotes for texinfo. Make section title
- capitalization more consistent. Use @example instead of @lisp.
- Replace FDL appendix with include of fdl.texi.
- * fdl.texi: New file.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
- (PROTOS): Add bfdio.p, bfdwin.p.
- (SRCDOC): Add bfdio.c, bfdwin.c.
- (SRCPROT): Add bfdio.c, bfdwin.c.
- (SRCIPROT): Add bfdio.c, bfdwin.c.
- (LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
- (BFD_H_DEP): Add bfdio.c, bfdwin.c.
- Add rules for bfdio.texi, bfdwin.text.
- * bfd.texinfo: Include bfdio.texi.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-10-11 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.in: Regenerated.
-
-2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * chew.c (paramstuff, outputdots, perform, bang and usage): Remove
- void from function definitions.
-
-2002-08-13 Alan Modra <amodra@bigpond.net.au>
-
- * header.sed: Strip tabs.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Fix quote style in last change.
- * Makefile.in: Regenerate.
-
-2002-06-07 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (libbfd.h): Don't use "echo -n".
- (libcoff.h, bfd.h): Likewise.
- * Makefile.in: Regenerate.
-
-2002-06-06 Lars Brinkhoff <lars@nocrew.org>
-
- * bfdint.texi: Change registry@sco.com to registry@caldera.com.
-
-2002-06-05 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (libbfd.h): Add "Extracted from.." comment.
- (libcoff.h, bfd.h): Likewise.
- * Makefile.in: Regenerate.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c: Use #include "" instead of <> for local header files.
-
-2002-04-20 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (WORD): Eliminate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * Makefile.in: Regenerate.
-
-2002-01-31 Alan Modra <amodra@bigpond.net.au>
-
- * chew.c (courierize): Don't modify @command params.
-
-2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
-
- * proto.str (ENUMDOC): Place two spaces between the end of
- the text and the closing comment marker.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * bfdint.texi (BFD target vector miscellaneous): Add
- bfd_target_mmo_flavour.
- * bfd.texinfo (BFD back ends): Add entry for mmo.
- * Makefile.am (DOCFILES): Add mmo.texi.
- (SRCDOC): Add mmo.c.
- (s-mmo, mmo.texi): New rules.
-
-2001-10-29 Kazu Hirata <kazu@hxi.com>
-
- * bfdsumm.texi: Fix a typo.
-
-2001-10-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * bfd.texinfo: Change footer to refer to FSF. Change subtitle
- to refer to original creation date.
-
-2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am (install): Depend on install-info.
- * Makefile.in: Regenerate.
-
-2001-10-03 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (BFD_H_DEP): Add ../version.h.
- * Makefile.in: Regenerate.
-
-2001-10-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-10-01 Alan Modra <amodra@bigpond.net.au>
-
- * header.sed: New file, adds header to generated files.
- * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and
- bfd.h, using above. Add missing elf.c dependecy for libbfd.h.
- * Makefile.in: Regenerate.
-
-2001-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * bfdint.texi: Replace reference to bfd_read with bfd_bread.
- Likewise for bfd_write.
-
-2001-07-24 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2001-06-21 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdint.texi (BFD relocation functions) <different formats>:
- Mention that the GNU linker is aware of input-output format
- restrictions when generating relocatable output. Make new
- paragraph for final-link case.
- (BFD target vector swap): Fix typo.
-
-2001-01-25 Kazu Hirata <kazu@hxi.com>
-
- * chew.c: Do not output trailing whitespaces in type and
- functionname. Update copyright.
-
-2001-01-24 Kazu Hirata <kazu@hxi.com>
-
- * chew.c: Do not output a trailing whitespace.
-
-2000-11-06 Nick Clifton <nickc@redhat.com>
-
- * bfd.texinfo: Add GNU Free Documentation License.
-
-2000-07-09 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.in: Regenerate.
-
-2000-07-08 Alan Modra <alan@linuxcare.com.au>
-
- * chew.c (outputdots): Don't add a space before `/*'.
- (courierize): Likewise.
-
-Wed May 24 12:03:25 2000 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdint.texi (BFD ELF processor required): Add paragraph about
- target necessities for readelf.
-
-2000-04-30 Ben Elliston <bje@redhat.com>
-
- * bfdint.texi (BFD generated files): Fix another typo.
-
-2000-04-17 Ben Elliston <bje@redhat.com>
-
- * bfdint.texi (BFD_JUMP_TABLE macros): Fix typo.
-
-2000-04-07 Andrew Cagney <cagney@b1.cygnus.com>
-
- * Makefile.in: Rebuild with current autoconf/automake.
-
-1999-02-04 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in: Rebuild with current autoconf/automake.
-
-1998-07-23 Nick Clifton <nickc@cygnus.com>
-
- * bfdint.texi (BFD ELF processor required): Add paragraph
- describing the necessity to create "include/elf/CPU.h".
-
-1998-05-07 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (chew.o): Add -I options for intl srcdir and
- objdir.
- * Makefile.in: Rebuild.
-
-1998-04-27 Ian Lance Taylor <ian@cygnus.com>
-
- * bfdint.texi: New file.
- * Makefile.am (noinst_TEXINFOS): New variable.
- * Makefile.in: Rebuild.
-
-1998-04-13 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in: Rebuild.
-
-1998-04-06 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (STAGESTUFF): Remove variable.
- (CLEANFILES): Don't remove $(STAGESTUFF).
- (DISTCLEANFILES, MAINTAINERCLEANFILES): New variables.
- * Makefile.in: Rebuild.
-
-1998-03-27 Ian Lance Taylor <ian@cygnus.com>
-
- * chew.c (skip_white_and_starts): Remove unused declaration.
- (skip_white_and_stars): Add casts to avoid warnings.
- (skip_trailing_newlines, paramstuff, courierize): Likewise.
- (bulletize, do_fancy_stuff, iscommand): Likewise.
- (kill_bogus_lines, nextword, main): Likewise.
- (manglecomments): Comment out.
- (outputdots, kill_bogus_lines): Remove unused local variables.
- (perform, compile): Likewise.
- (courierize): Fully parenthesize expression.
- (copy_past_newline): Declare return value.
- (print): Change printf format string.
- (main): Call usage for an unrecognized option.
-
-1998-02-13 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (AUTOMAKE_OPTIONS): Define.
- * Makefile.in: Rebuild.
-
-1998-01-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * doc.str (bodytext): Don't output @* at the end.
- * chew.c (kill_bogus_lines): Make sure that a period at the
- beginning is recognized.
- (indent): Don't put indentation at the end.
- (copy_past_newline): Expand tabs.
- * Makefile.am (s-reloc, s-syms): Depend on doc.str.
- * Makefile.in: Rebuild.
-
-1997-10-01 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or
- elfcode.h as input files; they don't contribute anything.
- * Makefile.in: Rebuild.
-
-1997-08-15 Doug Evans <dje@canuck.cygnus.com>
-
- * Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC).
- * Makefile.in: Rebuild.
-
-1997-08-01 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am (CC_FOR_BUILD): Don't set explicitly.
- * Makefile.in: Rebuild.
-
-1997-07-31 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.am: New file, based on old Makefile.in.
- * Makefile.in: Now built with automake.
-
-1997-07-22 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
-
- * Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi
- rather than bfd.texi.
- (DOCFILES): Change bfd.texi to bfdt.texi.
- * bfd.texinfo: Include bfdt.texi, not bfd.texi.
-
-1997-06-16 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (CC, CFLAGS): Substitute from configure script.
- From Jeff Makey <jeff@cts.com>.
-
-1997-04-15 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (install-info): Use mkinstalldirs to build
- $(infodir).
-
-1997-04-08 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (install-info): Permit info files to be in srcdir.
- (stamp-*): Add a stamp-X target for each X.texi target.
- (*.texi): Just depend upon stamp-X.
- (clean): Remove stamp-*.
- (distclean): Depend upon mostlyclean. Remove stamp-*. Don't
- remove $(DOCFILES).
-
-1997-04-07 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (distclean): Don't remove *.info files.
-
-1997-02-13 Klaus Kaempf (kkaempf@progis.de)
-
- * makefile.vms: New file.
-
-1996-06-18 Ian Lance Taylor <ian@cygnus.com>
-
- * chew.c (kill_bogus_lines): Reset sl when not at the start of a
- line. From Uwe Ohse <uwe@tirka.gun.de>.
-
-1996-01-30 Ian Lance Taylor <ian@cygnus.com>
-
- From Ronald F. Guilmette <rfg@monkeys.com>:
- * Makefile.in (libbfd.h): Depend upon proto.str.
- (libcoff.h, bfd.h): Likewise.
-
-1995-11-03 Fred Fish <fnf@cygnus.com>
-
- * Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h): Use corefile.c,
- renamed from core.c.
-
-1995-11-01 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
-
- * chew.c: Include <ctype.h>.
-
-1995-10-06 Ken Raeburn <raeburn@cygnus.com>
-
- Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (Makefile): Only remake this Makefile.
-
-1995-10-04 Ken Raeburn <raeburn@cygnus.com>
-
- * chew.c: Include <stdio.h>.
-
-1995-09-12 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (maintainer-clean): New target.
-
-1995-08-31 Ian Lance Taylor <ian@cygnus.com>
-
- * Makefile.in (bfd.h): Add additional #endif at end of bfd.h if
- __cplusplus is defined.
-
-1994-11-29 Doug Evans <dje@canuck.cygnus.com>
-
- * chew.c (write_buffer): New argument `f', all callers changed.
- (stdout, stderr, print, drop, idrop): New forth words.
- * proto.str (COMMENT): New command.
- * doc.str (COMMENT): Likewise.
-
-1994-09-12 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * Makefile.in (DOCFILES): Remove ctor.texi.
- (IPROTOS): Remove ctor.ip.
- (SRCIPROT): Remove $(srcdir)/../ctor.c.
- (ctor.texi): Remove target.
- (libbfd.h): Remove dependency on $(srcdir)/../ctor.c. Remove
- $(MKDOC) run on $(srcdir)/../ctor.c.
- * bfd.texinfo (Constructors): Remove section.
-
-1994-09-02 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * chew.c: Include assert.h. Added prototypes for most functions.
- Changed most uses of int to long. Do bounds checking on the
- stacks. Added comment at the beginning documenting most of the
- intrinsics. Lots of whitespace changes. Re-ordered some
- functions.
- (die, check_range, icheck_range): New functions.
- (strip_trailing_newlines, print_stack_level): New functions.
- (translatecomments): Don't insert tab before "/*".
- (iscommand): Minimum command length is now 4.
- (nextword): Handle some \-sequences.
- (push_addr): Deleted.
- (main): Add new intrinsics strip_trailing_newlines and
- print_stack_level. Complain at end if stack contains more than
- one element, or less.
- (remchar): Make sure the string is not empty before chopping off a
- character.
-
- * doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX,
- ENUMEQ, ENUMEQX, ENUMDOC.
-
-1994-01-12 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.texinfo: Added Linker Functions node.
- * Makefile.in (DOCFILES): Added linker.texi.
- (SRCDOC): Added linker.c.
- (linker.texi): New target.
-
-1994-01-04 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * chew.c: Don't rely on a correct declaration of exit.
- (chew_exit): New function which just calls exit.
- (main): Use it.
-
-1994-01-03 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * bfd.texinfo: Added Hash Tables node.
- * Makefile.in (DOCFILES): Added hash.texi.
- (SRCDOC): Added hash.c.
- (hash.texi): New target.
-
-1993-12-30 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * Makefile.in: Delete all references to seclet.c, since it's just
- been deleted. Don't mention hash.c, linker.c, or genlink.h yet,
- since they don't contain documentation yet (hint, hint!).
-
-1993-11-05 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * bfd.texinfo: Small cleanups.
-
-1993-11-19 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (archures.texi): Depends on $(MKDOC).
-
-1993-08-10 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * bfd.texinfo (BFD back end): Don't include elfcode.texi, since
- it's empty now and that triggers a makeinfo bug.
-
-1993-08-09 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * bfd.texinfo (BFD back end): New section on ELF, includes
- elf.texi and elfcode.texi.
- * Makefile.in (DOCFILES): Include elf.texi, elfcode.texi.
- (SRCDOC): Include elfcode.h, elf.c.
- (elf.texi, elfcode.texi): New intermediate targets.
-
-1993-06-24 David J. Mackenzie (djm@thepub.cygnus.com)
-
- * Makefile.in (.c.o, chew.o): Put CFLAGS last.
- * bfdsumm.texi: New file, broken out of bfd.texinfo, to share
- with ld.texinfo.
-
-1993-06-14 david d `zoo' zuhn (zoo at rtl.cygnus.com)
-
- * Makefile.in (install-info): remove parentdir cruft,
-
-1993-06-09 Jim Kingdon (kingdon@cygnus.com)
-
- * Makefile.in (mostlyclean): Remove chew.o.
-
-1993-05-25 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (libbfd.h): Use elfcode.h, not elf32.c.
-
-1993-05-24 Ken Raeburn (raeburn@cygnus.com)
-
- * chew.c (compile): Add a couple of missing casts.
-
-1993-05-12 Ian Lance Taylor (ian@cygnus.com)
-
- * Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC).
- (chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since
- it must run on the build machine.
-
-1993-04-07 John Gilmore (gnu@cygnus.com)
-
- * Makefile.in (chew): Don't compile from .c to executable in a
- single step; it puts a temporary .o filename into the executable,
- which makes multi-stage comparisons fail. Compile chew.c to
- chew.o, and link that, which makes identical executables every time.
-
-1993-03-24 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
-
- * Makefile.in: fix typo (bfd.texinfo not bfd.texino)
-
-1993-03-19 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * bfd.texinfo: Since BFD version number has been bumped, do same
- to "version number" on title page, and elsewhere. Should be
- fixed to extract real version number.
-
-1993-03-16 Per Bothner (bothner@rtl.cygnus.com)
-
- * Makefile.in: Add *clean rules.
-
-1993-01-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c.
- Added seclet.c.
- (bfd.h): Added dependency on bfd.c and seclet.c. Added seclet.c
- to build.
-
-1992-12-17 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
-
- * Makefile.in: added dvi target, define and use $(TEXI2DVI)
-
-1992-12-03 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * Makefile.in (TEXIDIR): New variable.
- (bfd.dvi): Look for bfd.texinfo in $(srcdir). Generate index.
-
- * bfd.texinfo: Minor doc fixes.
-
-1992-11-05 John Gilmore (gnu@cygnus.com)
-
- Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS.
-
- * chew.c (exfunstuff): Eliminate.
- (paramstuff): Replace exfunstuff with function to generate PARAMS.
- * proto.str: Use paramstuff rather than exfunstuff.
-
-1992-08-17 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * chew.c: various patches provided by Howard Chu.
-
-1992-06-19 John Gilmore (gnu at cygnus.com)
-
- * Makefile.in (libbfd.h): Add elf.c as a source of prototypes.
-
-1992-05-11 John Gilmore (gnu at cygnus.com)
-
- * chew.c: exit() should be declared by config files, not by
- portable source code. Its type could be int or void function.
-
-1992-05-04 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * Makefile.in: another CFLAGS correction.
-
-1992-04-28 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * Makefile.in: Do the CFLAGS thing.
-
-1992-04-11 Fred Fish (fnf@cygnus.com)
-
- * Makefile.in (MINUS_G): Add macro and default to -g.
-
-1992-03-06 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * chew.c: now has -w switch turn on warnings
-
-1992-02-26 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in, configure.in: removed traces of namesubdir,
- -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
- copyrights to '92, changed some from Cygnus to FSF.
-
-1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: build chew into the current directory. Complete
- the MKDOC macro transition.
-
-1991-12-10 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * chew.c: don't core dump when can't open file
- * Makefile.in: get proto.str from the right place when built in
- odd directories
-
-1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: infodir belongs in datadir.
-
-1991-12-07 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * chew.c: Much modified
- * proto.str, doc.str: New files for extracting to product
- prototypes and documents respectively.
-
-
-1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: added standards.text support, host/site/target
- inclusion hooks, install using INSTALL_DATA rather than cp,
- don't echo on install.
-
-1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * Makefile.in: idestdir and ddestdir go away. Added copyrights
- and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
- and mandir now keyed off datadir by default.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/bfd/doc/ChangeLog-9103 b/bfd/doc/ChangeLog-9103
new file mode 100644
index 0000000000..3636ed8bfa
--- /dev/null
+++ b/bfd/doc/ChangeLog-9103
@@ -0,0 +1,594 @@
+2003-10-15 Andrew Cagney <cagney@redhat.com>
+
+ * bfdint.texi (BFD target vector symbols): Rename _get_symtab to
+ _canonicalize_symtab.
+
+2003-10-08 David Taylor <dtaylor@emc.com>
+
+ * bfd.texinfo: Remove spurious backslash.
+
+2003-07-04 Josh Baratz <baratz@intersystems.com>
+
+ * Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains
+ CC_FOR_BUILD specific switches.
+ * Makefile.in: Regenerate.
+
+2003-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (paramstuff): Don't emit PARAMS.
+
+2003-02-12 Bob Wilson <bob.wilson@acm.org>
+
+ * bfd.texinfo: Fix quotes for texinfo. Make section title
+ capitalization more consistent. Use @example instead of @lisp.
+ Replace FDL appendix with include of fdl.texi.
+ * fdl.texi: New file.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
+ (PROTOS): Add bfdio.p, bfdwin.p.
+ (SRCDOC): Add bfdio.c, bfdwin.c.
+ (SRCPROT): Add bfdio.c, bfdwin.c.
+ (SRCIPROT): Add bfdio.c, bfdwin.c.
+ (LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
+ (BFD_H_DEP): Add bfdio.c, bfdwin.c.
+ Add rules for bfdio.texi, bfdwin.text.
+ * bfd.texinfo: Include bfdio.texi.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-10-11 Daniel Jacobowitz <drow@mvista.com>
+
+ * Makefile.in: Regenerated.
+
+2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * chew.c (paramstuff, outputdots, perform, bang and usage): Remove
+ void from function definitions.
+
+2002-08-13 Alan Modra <amodra@bigpond.net.au>
+
+ * header.sed: Strip tabs.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Fix quote style in last change.
+ * Makefile.in: Regenerate.
+
+2002-06-07 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (libbfd.h): Don't use "echo -n".
+ (libcoff.h, bfd.h): Likewise.
+ * Makefile.in: Regenerate.
+
+2002-06-06 Lars Brinkhoff <lars@nocrew.org>
+
+ * bfdint.texi: Change registry@sco.com to registry@caldera.com.
+
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (libbfd.h): Add "Extracted from.." comment.
+ (libcoff.h, bfd.h): Likewise.
+ * Makefile.in: Regenerate.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c: Use #include "" instead of <> for local header files.
+
+2002-04-20 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (WORD): Eliminate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * Makefile.in: Regenerate.
+
+2002-01-31 Alan Modra <amodra@bigpond.net.au>
+
+ * chew.c (courierize): Don't modify @command params.
+
+2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * proto.str (ENUMDOC): Place two spaces between the end of
+ the text and the closing comment marker.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * bfdint.texi (BFD target vector miscellaneous): Add
+ bfd_target_mmo_flavour.
+ * bfd.texinfo (BFD back ends): Add entry for mmo.
+ * Makefile.am (DOCFILES): Add mmo.texi.
+ (SRCDOC): Add mmo.c.
+ (s-mmo, mmo.texi): New rules.
+
+2001-10-29 Kazu Hirata <kazu@hxi.com>
+
+ * bfdsumm.texi: Fix a typo.
+
+2001-10-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfd.texinfo: Change footer to refer to FSF. Change subtitle
+ to refer to original creation date.
+
+2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (install): Depend on install-info.
+ * Makefile.in: Regenerate.
+
+2001-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (BFD_H_DEP): Add ../version.h.
+ * Makefile.in: Regenerate.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-10-01 Alan Modra <amodra@bigpond.net.au>
+
+ * header.sed: New file, adds header to generated files.
+ * Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and
+ bfd.h, using above. Add missing elf.c dependecy for libbfd.h.
+ * Makefile.in: Regenerate.
+
+2001-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdint.texi: Replace reference to bfd_read with bfd_bread.
+ Likewise for bfd_write.
+
+2001-07-24 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2001-06-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdint.texi (BFD relocation functions) <different formats>:
+ Mention that the GNU linker is aware of input-output format
+ restrictions when generating relocatable output. Make new
+ paragraph for final-link case.
+ (BFD target vector swap): Fix typo.
+
+2001-01-25 Kazu Hirata <kazu@hxi.com>
+
+ * chew.c: Do not output trailing whitespaces in type and
+ functionname. Update copyright.
+
+2001-01-24 Kazu Hirata <kazu@hxi.com>
+
+ * chew.c: Do not output a trailing whitespace.
+
+2000-11-06 Nick Clifton <nickc@redhat.com>
+
+ * bfd.texinfo: Add GNU Free Documentation License.
+
+2000-07-09 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.in: Regenerate.
+
+2000-07-08 Alan Modra <alan@linuxcare.com.au>
+
+ * chew.c (outputdots): Don't add a space before `/*'.
+ (courierize): Likewise.
+
+Wed May 24 12:03:25 2000 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdint.texi (BFD ELF processor required): Add paragraph about
+ target necessities for readelf.
+
+2000-04-30 Ben Elliston <bje@redhat.com>
+
+ * bfdint.texi (BFD generated files): Fix another typo.
+
+2000-04-17 Ben Elliston <bje@redhat.com>
+
+ * bfdint.texi (BFD_JUMP_TABLE macros): Fix typo.
+
+2000-04-07 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * Makefile.in: Rebuild with current autoconf/automake.
+
+1999-02-04 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in: Rebuild with current autoconf/automake.
+
+1998-07-23 Nick Clifton <nickc@cygnus.com>
+
+ * bfdint.texi (BFD ELF processor required): Add paragraph
+ describing the necessity to create "include/elf/CPU.h".
+
+1998-05-07 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (chew.o): Add -I options for intl srcdir and
+ objdir.
+ * Makefile.in: Rebuild.
+
+1998-04-27 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdint.texi: New file.
+ * Makefile.am (noinst_TEXINFOS): New variable.
+ * Makefile.in: Rebuild.
+
+1998-04-13 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in: Rebuild.
+
+1998-04-06 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (STAGESTUFF): Remove variable.
+ (CLEANFILES): Don't remove $(STAGESTUFF).
+ (DISTCLEANFILES, MAINTAINERCLEANFILES): New variables.
+ * Makefile.in: Rebuild.
+
+1998-03-27 Ian Lance Taylor <ian@cygnus.com>
+
+ * chew.c (skip_white_and_starts): Remove unused declaration.
+ (skip_white_and_stars): Add casts to avoid warnings.
+ (skip_trailing_newlines, paramstuff, courierize): Likewise.
+ (bulletize, do_fancy_stuff, iscommand): Likewise.
+ (kill_bogus_lines, nextword, main): Likewise.
+ (manglecomments): Comment out.
+ (outputdots, kill_bogus_lines): Remove unused local variables.
+ (perform, compile): Likewise.
+ (courierize): Fully parenthesize expression.
+ (copy_past_newline): Declare return value.
+ (print): Change printf format string.
+ (main): Call usage for an unrecognized option.
+
+1998-02-13 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Define.
+ * Makefile.in: Rebuild.
+
+1998-01-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * doc.str (bodytext): Don't output @* at the end.
+ * chew.c (kill_bogus_lines): Make sure that a period at the
+ beginning is recognized.
+ (indent): Don't put indentation at the end.
+ (copy_past_newline): Expand tabs.
+ * Makefile.am (s-reloc, s-syms): Depend on doc.str.
+ * Makefile.in: Rebuild.
+
+1997-10-01 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or
+ elfcode.h as input files; they don't contribute anything.
+ * Makefile.in: Rebuild.
+
+1997-08-15 Doug Evans <dje@canuck.cygnus.com>
+
+ * Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC).
+ * Makefile.in: Rebuild.
+
+1997-08-01 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am (CC_FOR_BUILD): Don't set explicitly.
+ * Makefile.in: Rebuild.
+
+1997-07-31 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.am: New file, based on old Makefile.in.
+ * Makefile.in: Now built with automake.
+
+1997-07-22 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+ * Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi
+ rather than bfd.texi.
+ (DOCFILES): Change bfd.texi to bfdt.texi.
+ * bfd.texinfo: Include bfdt.texi, not bfd.texi.
+
+1997-06-16 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (CC, CFLAGS): Substitute from configure script.
+ From Jeff Makey <jeff@cts.com>.
+
+1997-04-15 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (install-info): Use mkinstalldirs to build
+ $(infodir).
+
+1997-04-08 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (install-info): Permit info files to be in srcdir.
+ (stamp-*): Add a stamp-X target for each X.texi target.
+ (*.texi): Just depend upon stamp-X.
+ (clean): Remove stamp-*.
+ (distclean): Depend upon mostlyclean. Remove stamp-*. Don't
+ remove $(DOCFILES).
+
+1997-04-07 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (distclean): Don't remove *.info files.
+
+1997-02-13 Klaus Kaempf (kkaempf@progis.de)
+
+ * makefile.vms: New file.
+
+1996-06-18 Ian Lance Taylor <ian@cygnus.com>
+
+ * chew.c (kill_bogus_lines): Reset sl when not at the start of a
+ line. From Uwe Ohse <uwe@tirka.gun.de>.
+
+1996-01-30 Ian Lance Taylor <ian@cygnus.com>
+
+ From Ronald F. Guilmette <rfg@monkeys.com>:
+ * Makefile.in (libbfd.h): Depend upon proto.str.
+ (libcoff.h, bfd.h): Likewise.
+
+1995-11-03 Fred Fish <fnf@cygnus.com>
+
+ * Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h): Use corefile.c,
+ renamed from core.c.
+
+1995-11-01 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
+
+ * chew.c: Include <ctype.h>.
+
+1995-10-06 Ken Raeburn <raeburn@cygnus.com>
+
+ Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * Makefile.in (Makefile): Only remake this Makefile.
+
+1995-10-04 Ken Raeburn <raeburn@cygnus.com>
+
+ * chew.c: Include <stdio.h>.
+
+1995-09-12 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (maintainer-clean): New target.
+
+1995-08-31 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (bfd.h): Add additional #endif at end of bfd.h if
+ __cplusplus is defined.
+
+1994-11-29 Doug Evans <dje@canuck.cygnus.com>
+
+ * chew.c (write_buffer): New argument `f', all callers changed.
+ (stdout, stderr, print, drop, idrop): New forth words.
+ * proto.str (COMMENT): New command.
+ * doc.str (COMMENT): Likewise.
+
+1994-09-12 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * Makefile.in (DOCFILES): Remove ctor.texi.
+ (IPROTOS): Remove ctor.ip.
+ (SRCIPROT): Remove $(srcdir)/../ctor.c.
+ (ctor.texi): Remove target.
+ (libbfd.h): Remove dependency on $(srcdir)/../ctor.c. Remove
+ $(MKDOC) run on $(srcdir)/../ctor.c.
+ * bfd.texinfo (Constructors): Remove section.
+
+1994-09-02 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * chew.c: Include assert.h. Added prototypes for most functions.
+ Changed most uses of int to long. Do bounds checking on the
+ stacks. Added comment at the beginning documenting most of the
+ intrinsics. Lots of whitespace changes. Re-ordered some
+ functions.
+ (die, check_range, icheck_range): New functions.
+ (strip_trailing_newlines, print_stack_level): New functions.
+ (translatecomments): Don't insert tab before "/*".
+ (iscommand): Minimum command length is now 4.
+ (nextword): Handle some \-sequences.
+ (push_addr): Deleted.
+ (main): Add new intrinsics strip_trailing_newlines and
+ print_stack_level. Complain at end if stack contains more than
+ one element, or less.
+ (remchar): Make sure the string is not empty before chopping off a
+ character.
+
+ * doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX,
+ ENUMEQ, ENUMEQX, ENUMDOC.
+
+1994-01-12 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.texinfo: Added Linker Functions node.
+ * Makefile.in (DOCFILES): Added linker.texi.
+ (SRCDOC): Added linker.c.
+ (linker.texi): New target.
+
+1994-01-04 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * chew.c: Don't rely on a correct declaration of exit.
+ (chew_exit): New function which just calls exit.
+ (main): Use it.
+
+1994-01-03 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.texinfo: Added Hash Tables node.
+ * Makefile.in (DOCFILES): Added hash.texi.
+ (SRCDOC): Added hash.c.
+ (hash.texi): New target.
+
+1993-12-30 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * Makefile.in: Delete all references to seclet.c, since it's just
+ been deleted. Don't mention hash.c, linker.c, or genlink.h yet,
+ since they don't contain documentation yet (hint, hint!).
+
+1993-11-05 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * bfd.texinfo: Small cleanups.
+
+1993-11-19 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (archures.texi): Depends on $(MKDOC).
+
+1993-08-10 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * bfd.texinfo (BFD back end): Don't include elfcode.texi, since
+ it's empty now and that triggers a makeinfo bug.
+
+1993-08-09 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * bfd.texinfo (BFD back end): New section on ELF, includes
+ elf.texi and elfcode.texi.
+ * Makefile.in (DOCFILES): Include elf.texi, elfcode.texi.
+ (SRCDOC): Include elfcode.h, elf.c.
+ (elf.texi, elfcode.texi): New intermediate targets.
+
+1993-06-24 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * Makefile.in (.c.o, chew.o): Put CFLAGS last.
+ * bfdsumm.texi: New file, broken out of bfd.texinfo, to share
+ with ld.texinfo.
+
+1993-06-14 david d `zoo' zuhn (zoo at rtl.cygnus.com)
+
+ * Makefile.in (install-info): remove parentdir cruft,
+
+1993-06-09 Jim Kingdon (kingdon@cygnus.com)
+
+ * Makefile.in (mostlyclean): Remove chew.o.
+
+1993-05-25 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (libbfd.h): Use elfcode.h, not elf32.c.
+
+1993-05-24 Ken Raeburn (raeburn@cygnus.com)
+
+ * chew.c (compile): Add a couple of missing casts.
+
+1993-05-12 Ian Lance Taylor (ian@cygnus.com)
+
+ * Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC).
+ (chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since
+ it must run on the build machine.
+
+1993-04-07 John Gilmore (gnu@cygnus.com)
+
+ * Makefile.in (chew): Don't compile from .c to executable in a
+ single step; it puts a temporary .o filename into the executable,
+ which makes multi-stage comparisons fail. Compile chew.c to
+ chew.o, and link that, which makes identical executables every time.
+
+1993-03-24 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
+
+ * Makefile.in: fix typo (bfd.texinfo not bfd.texino)
+
+1993-03-19 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * bfd.texinfo: Since BFD version number has been bumped, do same
+ to "version number" on title page, and elsewhere. Should be
+ fixed to extract real version number.
+
+1993-03-16 Per Bothner (bothner@rtl.cygnus.com)
+
+ * Makefile.in: Add *clean rules.
+
+1993-01-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c.
+ Added seclet.c.
+ (bfd.h): Added dependency on bfd.c and seclet.c. Added seclet.c
+ to build.
+
+1992-12-17 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: added dvi target, define and use $(TEXI2DVI)
+
+1992-12-03 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * Makefile.in (TEXIDIR): New variable.
+ (bfd.dvi): Look for bfd.texinfo in $(srcdir). Generate index.
+
+ * bfd.texinfo: Minor doc fixes.
+
+1992-11-05 John Gilmore (gnu@cygnus.com)
+
+ Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS.
+
+ * chew.c (exfunstuff): Eliminate.
+ (paramstuff): Replace exfunstuff with function to generate PARAMS.
+ * proto.str: Use paramstuff rather than exfunstuff.
+
+1992-08-17 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * chew.c: various patches provided by Howard Chu.
+
+1992-06-19 John Gilmore (gnu at cygnus.com)
+
+ * Makefile.in (libbfd.h): Add elf.c as a source of prototypes.
+
+1992-05-11 John Gilmore (gnu at cygnus.com)
+
+ * chew.c: exit() should be declared by config files, not by
+ portable source code. Its type could be int or void function.
+
+1992-05-04 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * Makefile.in: another CFLAGS correction.
+
+1992-04-28 K. Richard Pixley (rich@rtl.cygnus.com)
+
+ * Makefile.in: Do the CFLAGS thing.
+
+1992-04-11 Fred Fish (fnf@cygnus.com)
+
+ * Makefile.in (MINUS_G): Add macro and default to -g.
+
+1992-03-06 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * chew.c: now has -w switch turn on warnings
+
+1992-02-26 K. Richard Pixley (rich@cygnus.com)
+
+ * Makefile.in, configure.in: removed traces of namesubdir,
+ -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
+ copyrights to '92, changed some from Cygnus to FSF.
+
+1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: build chew into the current directory. Complete
+ the MKDOC macro transition.
+
+1991-12-10 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * chew.c: don't core dump when can't open file
+ * Makefile.in: get proto.str from the right place when built in
+ odd directories
+
+1991-12-10 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: infodir belongs in datadir.
+
+1991-12-07 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * chew.c: Much modified
+ * proto.str, doc.str: New files for extracting to product
+ prototypes and documents respectively.
+
+
+1991-12-06 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: added standards.text support, host/site/target
+ inclusion hooks, install using INSTALL_DATA rather than cp,
+ don't echo on install.
+
+1991-12-05 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * Makefile.in: idestdir and ddestdir go away. Added copyrights
+ and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
+ and mandir now keyed off datadir by default.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 68b3660e24..c109fa7e3f 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1,6 +1,6 @@
/* DWARF 2 support.
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2004 Free Software Foundation, Inc.
Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
(gavin@cygnus.com).
@@ -200,51 +200,6 @@ struct attr_abbrev
#define ATTR_ALLOC_CHUNK 4
#endif
-static unsigned int read_1_byte PARAMS ((bfd *, char *));
-static int read_1_signed_byte PARAMS ((bfd *, char *));
-static unsigned int read_2_bytes PARAMS ((bfd *, char *));
-static unsigned int read_4_bytes PARAMS ((bfd *, char *));
-static bfd_vma read_8_bytes PARAMS ((bfd *, char *));
-static char *read_n_bytes PARAMS ((bfd *, char *, unsigned int));
-static char *read_string PARAMS ((bfd *, char *, unsigned int *));
-static char *read_indirect_string PARAMS ((struct comp_unit *, char *, unsigned int *));
-static unsigned int read_unsigned_leb128
- PARAMS ((bfd *, char *, unsigned int *));
-static int read_signed_leb128
- PARAMS ((bfd *, char *, unsigned int *));
-static bfd_vma read_address PARAMS ((struct comp_unit *, char *));
-static struct abbrev_info *lookup_abbrev
- PARAMS ((unsigned int, struct abbrev_info **));
-static struct abbrev_info **read_abbrevs
- PARAMS ((bfd *, bfd_vma, struct dwarf2_debug *));
-static char *read_attribute
- PARAMS ((struct attribute *, struct attr_abbrev *,
- struct comp_unit *, char *));
-static char *read_attribute_value
- PARAMS ((struct attribute *, unsigned,
- struct comp_unit *, char *));
-static void add_line_info
- PARAMS ((struct line_info_table *, bfd_vma, char *,
- unsigned int, unsigned int, int));
-static char *concat_filename PARAMS ((struct line_info_table *, unsigned int));
-static void arange_add PARAMS ((struct comp_unit *, bfd_vma, bfd_vma));
-static struct line_info_table *decode_line_info
- PARAMS ((struct comp_unit *, struct dwarf2_debug *));
-static bfd_boolean lookup_address_in_line_info_table
- PARAMS ((struct line_info_table *, bfd_vma, struct funcinfo *,
- const char **, unsigned int *));
-static bfd_boolean lookup_address_in_function_table
- PARAMS ((struct funcinfo *, bfd_vma, struct funcinfo **, const char **));
-static bfd_boolean scan_unit_for_functions PARAMS ((struct comp_unit *));
-static struct comp_unit *parse_comp_unit
- PARAMS ((bfd *, struct dwarf2_debug *, bfd_vma, unsigned int));
-static bfd_boolean comp_unit_contains_address
- PARAMS ((struct comp_unit *, bfd_vma));
-static bfd_boolean comp_unit_find_nearest_line
- PARAMS ((struct comp_unit *, bfd_vma, const char **, const char **,
- unsigned int *, struct dwarf2_debug *));
-static asection *find_debug_info PARAMS ((bfd *, asection *));
-
/* VERBATIM
The following function up to the END VERBATIM mark are
copied directly from dwarf2read.c. */
@@ -252,74 +207,39 @@ static asection *find_debug_info PARAMS ((bfd *, asection *));
/* Read dwarf information from a buffer. */
static unsigned int
-read_1_byte (abfd, buf)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
+read_1_byte (bfd *abfd ATTRIBUTE_UNUSED, char *buf)
{
- return bfd_get_8 (abfd, (bfd_byte *) buf);
+ return bfd_get_8 (abfd, buf);
}
static int
-read_1_signed_byte (abfd, buf)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
+read_1_signed_byte (bfd *abfd ATTRIBUTE_UNUSED, char *buf)
{
- return bfd_get_signed_8 (abfd, (bfd_byte *) buf);
+ return bfd_get_signed_8 (abfd, buf);
}
static unsigned int
-read_2_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
-{
- return bfd_get_16 (abfd, (bfd_byte *) buf);
-}
-
-#if 0 /* This is not used. */
-
-static int
-read_2_signed_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_2_bytes (bfd *abfd, char *buf)
{
- return bfd_get_signed_16 (abfd, (bfd_byte *) buf);
+ return bfd_get_16 (abfd, buf);
}
-#endif
-
static unsigned int
-read_4_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_4_bytes (bfd *abfd, char *buf)
{
- return bfd_get_32 (abfd, (bfd_byte *) buf);
+ return bfd_get_32 (abfd, buf);
}
-#if 0 /* This is not used. */
-
-static int
-read_4_signed_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
-{
- return bfd_get_signed_32 (abfd, (bfd_byte *) buf);
-}
-
-#endif
-
static bfd_vma
-read_8_bytes (abfd, buf)
- bfd *abfd;
- char *buf;
+read_8_bytes (bfd *abfd, char *buf)
{
- return bfd_get_64 (abfd, (bfd_byte *) buf);
+ return bfd_get_64 (abfd, buf);
}
static char *
-read_n_bytes (abfd, buf, size)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int size ATTRIBUTE_UNUSED;
+read_n_bytes (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int size ATTRIBUTE_UNUSED)
{
/* If the size of a host char is 8 bits, we can return a pointer
to the buffer, otherwise we have to copy the data to a buffer
@@ -328,10 +248,9 @@ read_n_bytes (abfd, buf, size)
}
static char *
-read_string (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_string (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
/* Return a pointer to the embedded string. */
if (*buf == '\0')
@@ -345,10 +264,9 @@ read_string (abfd, buf, bytes_read_ptr)
}
static char *
-read_indirect_string (unit, buf, bytes_read_ptr)
- struct comp_unit* unit;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_indirect_string (struct comp_unit* unit,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
bfd_vma offset;
struct dwarf2_debug *stash = unit->stash;
@@ -374,12 +292,12 @@ read_indirect_string (unit, buf, bytes_read_ptr)
}
stash->dwarf_str_size = msec->_raw_size;
- stash->dwarf_str_buffer = (char*) bfd_alloc (abfd, msec->_raw_size);
+ stash->dwarf_str_buffer = bfd_alloc (abfd, msec->_raw_size);
if (! stash->dwarf_abbrev_buffer)
return NULL;
if (! bfd_get_section_contents (abfd, msec, stash->dwarf_str_buffer,
- (bfd_vma) 0, msec->_raw_size))
+ 0, msec->_raw_size))
return NULL;
}
@@ -398,10 +316,9 @@ read_indirect_string (unit, buf, bytes_read_ptr)
}
static unsigned int
-read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int *bytes_read_ptr;
+read_unsigned_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int *bytes_read_ptr)
{
unsigned int result;
unsigned int num_read;
@@ -414,7 +331,7 @@ read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
do
{
- byte = bfd_get_8 (abfd, (bfd_byte *) buf);
+ byte = bfd_get_8 (abfd, buf);
buf ++;
num_read ++;
result |= ((byte & 0x7f) << shift);
@@ -428,10 +345,9 @@ read_unsigned_leb128 (abfd, buf, bytes_read_ptr)
}
static int
-read_signed_leb128 (abfd, buf, bytes_read_ptr)
- bfd *abfd ATTRIBUTE_UNUSED;
- char *buf;
- unsigned int * bytes_read_ptr;
+read_signed_leb128 (bfd *abfd ATTRIBUTE_UNUSED,
+ char *buf,
+ unsigned int * bytes_read_ptr)
{
int result;
int shift;
@@ -444,7 +360,7 @@ read_signed_leb128 (abfd, buf, bytes_read_ptr)
do
{
- byte = bfd_get_8 (abfd, (bfd_byte *) buf);
+ byte = bfd_get_8 (abfd, buf);
buf ++;
num_read ++;
result |= ((byte & 0x7f) << shift);
@@ -463,18 +379,16 @@ read_signed_leb128 (abfd, buf, bytes_read_ptr)
/* END VERBATIM */
static bfd_vma
-read_address (unit, buf)
- struct comp_unit* unit;
- char *buf;
+read_address (struct comp_unit *unit, char *buf)
{
switch (unit->addr_size)
{
case 8:
- return bfd_get_64 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_64 (unit->abfd, buf);
case 4:
- return bfd_get_32 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_32 (unit->abfd, buf);
case 2:
- return bfd_get_16 (unit->abfd, (bfd_byte *) buf);
+ return bfd_get_16 (unit->abfd, buf);
default:
abort ();
}
@@ -483,9 +397,7 @@ read_address (unit, buf)
/* Lookup an abbrev_info structure in the abbrev hash table. */
static struct abbrev_info *
-lookup_abbrev (number,abbrevs)
- unsigned int number;
- struct abbrev_info **abbrevs;
+lookup_abbrev (unsigned int number, struct abbrev_info **abbrevs)
{
unsigned int hash_number;
struct abbrev_info *abbrev;
@@ -510,10 +422,7 @@ lookup_abbrev (number,abbrevs)
in a hash table. */
static struct abbrev_info**
-read_abbrevs (abfd, offset, stash)
- bfd * abfd;
- bfd_vma offset;
- struct dwarf2_debug *stash;
+read_abbrevs (bfd *abfd, bfd_vma offset, struct dwarf2_debug *stash)
{
struct abbrev_info **abbrevs;
char *abbrev_ptr;
@@ -551,7 +460,7 @@ read_abbrevs (abfd, offset, stash)
}
amt = sizeof (struct abbrev_info*) * ABBREV_HASH_SIZE;
- abbrevs = (struct abbrev_info**) bfd_zalloc (abfd, amt);
+ abbrevs = bfd_zalloc (abfd, amt);
abbrev_ptr = stash->dwarf_abbrev_buffer + offset;
abbrev_number = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);
@@ -561,7 +470,7 @@ read_abbrevs (abfd, offset, stash)
while (abbrev_number)
{
amt = sizeof (struct abbrev_info);
- cur_abbrev = (struct abbrev_info *) bfd_zalloc (abfd, amt);
+ cur_abbrev = bfd_zalloc (abfd, amt);
/* Read in abbrev header. */
cur_abbrev->number = abbrev_number;
@@ -583,8 +492,7 @@ read_abbrevs (abfd, offset, stash)
{
amt = cur_abbrev->num_attrs + ATTR_ALLOC_CHUNK;
amt *= sizeof (struct attr_abbrev);
- cur_abbrev->attrs = ((struct attr_abbrev *)
- bfd_realloc (cur_abbrev->attrs, amt));
+ cur_abbrev->attrs = bfd_realloc (cur_abbrev->attrs, amt);
if (! cur_abbrev->attrs)
return 0;
}
@@ -625,11 +533,10 @@ read_abbrevs (abfd, offset, stash)
/* Read an attribute value described by an attribute form. */
static char *
-read_attribute_value (attr, form, unit, info_ptr)
- struct attribute *attr;
- unsigned form;
- struct comp_unit *unit;
- char *info_ptr;
+read_attribute_value (struct attribute *attr,
+ unsigned form,
+ struct comp_unit *unit,
+ char *info_ptr)
{
bfd *abfd = unit->abfd;
unsigned int bytes_read;
@@ -648,7 +555,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block2:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_2_bytes (abfd, info_ptr);
info_ptr += 2;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -657,7 +564,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block4:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_4_bytes (abfd, info_ptr);
info_ptr += 4;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -686,7 +593,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_unsigned_leb128 (abfd, info_ptr, &bytes_read);
info_ptr += bytes_read;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -695,7 +602,7 @@ read_attribute_value (attr, form, unit, info_ptr)
break;
case DW_FORM_block1:
amt = sizeof (struct dwarf_block);
- blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ blk = bfd_alloc (abfd, amt);
blk->size = read_1_byte (abfd, info_ptr);
info_ptr += 1;
blk->data = read_n_bytes (abfd, info_ptr, blk->size);
@@ -754,11 +661,10 @@ read_attribute_value (attr, form, unit, info_ptr)
/* Read an attribute described by an abbreviated attribute. */
static char *
-read_attribute (attr, abbrev, unit, info_ptr)
- struct attribute *attr;
- struct attr_abbrev *abbrev;
- struct comp_unit *unit;
- char *info_ptr;
+read_attribute (struct attribute *attr,
+ struct attr_abbrev *abbrev,
+ struct comp_unit *unit,
+ char *info_ptr)
{
attr->name = abbrev->name;
info_ptr = read_attribute_value (attr, abbrev->form, unit, info_ptr);
@@ -814,16 +720,15 @@ struct funcinfo
line_info->prev_line always accesses an equal or smaller VMA. */
static void
-add_line_info (table, address, filename, line, column, end_sequence)
- struct line_info_table* table;
- bfd_vma address;
- char* filename;
- unsigned int line;
- unsigned int column;
- int end_sequence;
+add_line_info (struct line_info_table *table,
+ bfd_vma address,
+ char *filename,
+ unsigned int line,
+ unsigned int column,
+ int end_sequence)
{
bfd_size_type amt = sizeof (struct line_info);
- struct line_info* info = (struct line_info*) bfd_alloc (table->abfd, amt);
+ struct line_info* info = bfd_alloc (table->abfd, amt);
/* Find the correct location for 'info'. Normally we will receive
new line_info data 1) in order and 2) with increasing VMAs.
@@ -912,9 +817,7 @@ add_line_info (table, address, filename, line, column, end_sequence)
responsibility to free it. */
static char *
-concat_filename (table, file)
- struct line_info_table* table;
- unsigned int file;
+concat_filename (struct line_info_table *table, unsigned int file)
{
char* filename;
@@ -951,10 +854,7 @@ concat_filename (table, file)
}
static void
-arange_add (unit, low_pc, high_pc)
- struct comp_unit *unit;
- bfd_vma low_pc;
- bfd_vma high_pc;
+arange_add (struct comp_unit *unit, bfd_vma low_pc, bfd_vma high_pc)
{
struct arange *arange;
@@ -987,8 +887,7 @@ arange_add (unit, low_pc, high_pc)
}
/* Need to allocate a new arange and insert it into the arange list. */
- arange = (struct arange *)
- bfd_zalloc (unit->abfd, (bfd_size_type) sizeof (*arange));
+ arange = bfd_zalloc (unit->abfd, sizeof (*arange));
arange->low = low_pc;
arange->high = high_pc;
@@ -999,9 +898,7 @@ arange_add (unit, low_pc, high_pc)
/* Decode the line number information for UNIT. */
static struct line_info_table*
-decode_line_info (unit, stash)
- struct comp_unit *unit;
- struct dwarf2_debug *stash;
+decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
{
bfd *abfd = unit->abfd;
struct line_info_table* table;
@@ -1044,7 +941,7 @@ decode_line_info (unit, stash)
}
amt = sizeof (struct line_info_table);
- table = (struct line_info_table*) bfd_alloc (abfd, amt);
+ table = bfd_alloc (abfd, amt);
table->abfd = abfd;
table->comp_dir = unit->comp_dir;
@@ -1096,7 +993,7 @@ decode_line_info (unit, stash)
lh.opcode_base = read_1_byte (abfd, line_ptr);
line_ptr += 1;
amt = lh.opcode_base * sizeof (unsigned char);
- lh.standard_opcode_lengths = (unsigned char *) bfd_alloc (abfd, amt);
+ lh.standard_opcode_lengths = bfd_alloc (abfd, amt);
lh.standard_opcode_lengths[0] = 1;
@@ -1115,7 +1012,7 @@ decode_line_info (unit, stash)
{
amt = table->num_dirs + DIR_ALLOC_CHUNK;
amt *= sizeof (char *);
- table->dirs = (char **) bfd_realloc (table->dirs, amt);
+ table->dirs = bfd_realloc (table->dirs, amt);
if (! table->dirs)
return 0;
}
@@ -1134,7 +1031,7 @@ decode_line_info (unit, stash)
{
amt = table->num_files + FILE_ALLOC_CHUNK;
amt *= sizeof (struct fileinfo);
- table->files = (struct fileinfo *) bfd_realloc (table->files, amt);
+ table->files = bfd_realloc (table->files, amt);
if (! table->files)
return 0;
}
@@ -1225,8 +1122,7 @@ decode_line_info (unit, stash)
{
amt = table->num_files + FILE_ALLOC_CHUNK;
amt *= sizeof (struct fileinfo);
- table->files =
- (struct fileinfo *) bfd_realloc (table->files, amt);
+ table->files = bfd_realloc (table->files, amt);
if (! table->files)
return 0;
}
@@ -1322,13 +1218,11 @@ decode_line_info (unit, stash)
LINENUMBER_PTR, are pointers to the objects to be filled in. */
static bfd_boolean
-lookup_address_in_line_info_table (table, addr, function, filename_ptr,
- linenumber_ptr)
- struct line_info_table* table;
- bfd_vma addr;
- struct funcinfo *function;
- const char **filename_ptr;
- unsigned int *linenumber_ptr;
+lookup_address_in_line_info_table (struct line_info_table *table,
+ bfd_vma addr,
+ struct funcinfo *function,
+ const char **filename_ptr,
+ unsigned int *linenumber_ptr)
{
/* Note: table->last_line should be a descendingly sorted list. */
struct line_info* next_line = table->last_line;
@@ -1401,12 +1295,10 @@ lookup_address_in_line_info_table (table, addr, function, filename_ptr,
/* If ADDR is within TABLE, set FUNCTIONNAME_PTR, and return TRUE. */
static bfd_boolean
-lookup_address_in_function_table (table, addr, function_ptr,
- functionname_ptr)
- struct funcinfo* table;
- bfd_vma addr;
- struct funcinfo** function_ptr;
- const char **functionname_ptr;
+lookup_address_in_function_table (struct funcinfo *table,
+ bfd_vma addr,
+ struct funcinfo **function_ptr,
+ const char **functionname_ptr)
{
struct funcinfo* each_func;
@@ -1431,8 +1323,7 @@ lookup_address_in_function_table (table, addr, function_ptr,
to the function table. */
static bfd_boolean
-scan_unit_for_functions (unit)
- struct comp_unit *unit;
+scan_unit_for_functions (struct comp_unit *unit)
{
bfd *abfd = unit->abfd;
char *info_ptr = unit->first_child_die_ptr;
@@ -1467,7 +1358,7 @@ scan_unit_for_functions (unit)
if (abbrev->tag == DW_TAG_subprogram)
{
bfd_size_type amt = sizeof (struct funcinfo);
- func = (struct funcinfo *) bfd_zalloc (abfd, amt);
+ func = bfd_zalloc (abfd, amt);
func->prev_func = unit->function_table;
unit->function_table = func;
}
@@ -1538,11 +1429,10 @@ scan_unit_for_functions (unit)
to get to the line number information for the compilation unit. */
static struct comp_unit *
-parse_comp_unit (abfd, stash, unit_length, offset_size)
- bfd* abfd;
- struct dwarf2_debug *stash;
- bfd_vma unit_length;
- unsigned int offset_size;
+parse_comp_unit (bfd *abfd,
+ struct dwarf2_debug *stash,
+ bfd_vma unit_length,
+ unsigned int offset_size)
{
struct comp_unit* unit;
unsigned int version;
@@ -1615,7 +1505,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
}
amt = sizeof (struct comp_unit);
- unit = (struct comp_unit*) bfd_zalloc (abfd, amt);
+ unit = bfd_zalloc (abfd, amt);
unit->abfd = abfd;
unit->addr_size = addr_size;
unit->offset_size = offset_size;
@@ -1655,7 +1545,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
{
/* Irix 6.2 native cc prepends <machine>.: to the compilation
directory, get rid of it. */
- char *cp = (char*) strchr (comp_dir, ':');
+ char *cp = strchr (comp_dir, ':');
if (cp && cp != comp_dir && cp[-1] == '.' && cp[1] == '/')
comp_dir = cp + 1;
@@ -1676,9 +1566,7 @@ parse_comp_unit (abfd, stash, unit_length, offset_size)
/* Return TRUE if UNIT contains the address given by ADDR. */
static bfd_boolean
-comp_unit_contains_address (unit, addr)
- struct comp_unit* unit;
- bfd_vma addr;
+comp_unit_contains_address (struct comp_unit *unit, bfd_vma addr)
{
struct arange *arange;
@@ -1706,14 +1594,12 @@ comp_unit_contains_address (unit, addr)
FALSE otherwise. */
static bfd_boolean
-comp_unit_find_nearest_line (unit, addr, filename_ptr, functionname_ptr,
- linenumber_ptr, stash)
- struct comp_unit* unit;
- bfd_vma addr;
- const char **filename_ptr;
- const char **functionname_ptr;
- unsigned int *linenumber_ptr;
- struct dwarf2_debug *stash;
+comp_unit_find_nearest_line (struct comp_unit *unit,
+ bfd_vma addr,
+ const char **filename_ptr,
+ const char **functionname_ptr,
+ unsigned int *linenumber_ptr,
+ struct dwarf2_debug *stash)
{
bfd_boolean line_p;
bfd_boolean func_p;
@@ -1768,9 +1654,7 @@ comp_unit_find_nearest_line (unit, addr, filename_ptr, functionname_ptr,
#define GNU_LINKONCE_INFO ".gnu.linkonce.wi."
static asection *
-find_debug_info (abfd, after_sec)
- bfd * abfd;
- asection * after_sec;
+find_debug_info (bfd *abfd, asection *after_sec)
{
asection * msec;
@@ -1800,18 +1684,15 @@ find_debug_info (abfd, after_sec)
used. */
bfd_boolean
-_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
- filename_ptr, functionname_ptr,
- linenumber_ptr, addr_size, pinfo)
- bfd *abfd;
- asection *section;
- asymbol **symbols;
- bfd_vma offset;
- const char **filename_ptr;
- const char **functionname_ptr;
- unsigned int *linenumber_ptr;
- unsigned int addr_size;
- PTR *pinfo;
+_bfd_dwarf2_find_nearest_line (bfd *abfd,
+ asection *section,
+ asymbol **symbols,
+ bfd_vma offset,
+ const char **filename_ptr,
+ const char **functionname_ptr,
+ unsigned int *linenumber_ptr,
+ unsigned int addr_size,
+ void **pinfo)
{
/* Read each compilation unit from the section .debug_info, and check
to see if it contains the address we are searching for. If yes,
@@ -1821,7 +1702,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
We keep a list of all the previously read compilation units, and
a pointer to the next un-read compilation unit. Check the
previously read units before reading more. */
- struct dwarf2_debug *stash = (struct dwarf2_debug *) *pinfo;
+ struct dwarf2_debug *stash = *pinfo;
/* What address are we looking for? */
bfd_vma addr = offset + section->vma;
@@ -1845,11 +1726,11 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
asection *msec;
bfd_size_type amt = sizeof (struct dwarf2_debug);
- stash = (struct dwarf2_debug*) bfd_zalloc (abfd, amt);
+ stash = bfd_zalloc (abfd, amt);
if (! stash)
return FALSE;
- *pinfo = (PTR) stash;
+ *pinfo = stash;
msec = find_debug_info (abfd, NULL);
if (! msec)
@@ -1866,7 +1747,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
for (total_size = 0; msec; msec = find_debug_info (abfd, msec))
total_size += msec->_raw_size;
- stash->info_ptr = (char *) bfd_alloc (abfd, total_size);
+ stash->info_ptr = bfd_alloc (abfd, total_size);
if (stash->info_ptr == NULL)
return FALSE;
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index d42eb27f5a..7c284c1747 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -205,8 +205,6 @@ struct elf32_arm_relocs_copied
asection * section;
/* Number of relocs copied in this section. */
bfd_size_type count;
- /* Number of relocs copied in this section. */
- bfd_size_type pc_count;
};
/* Arm ELF linker hash entry. */
@@ -383,7 +381,6 @@ elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed,
for (q = edir->relocs_copied; q != NULL; q = q->next)
if (q->section == p->section)
{
- q->pc_count += p->pc_count;
q->count += p->count;
*pp = p->next;
break;
@@ -1307,21 +1304,44 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
#ifndef OLD_ARM_ABI
case R_ARM_XPC25:
#endif
+ case R_ARM_PLT32:
/* r_symndx will be zero only for relocs against symbols
from removed linkonce sections, or sections discarded by
a linker script. */
if (r_symndx == 0)
return bfd_reloc_ok;
+ /* Handle relocations which should use the PLT entry. ABS32/REL32
+ will use the symbol's value, which may point to a PLT entry, but we
+ don't need to handle that here. If we created a PLT entry, all
+ branches in this object should go to it. */
+ if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32)
+ && h != NULL
+ && splt != NULL
+ && h->plt.offset != (bfd_vma) -1)
+ {
+ /* If we've created a .plt section, and assigned a PLT entry to
+ this function, it should not be known to bind locally. If
+ it were, we would have cleared the PLT entry. */
+ BFD_ASSERT (!SYMBOL_CALLS_LOCAL (info, h));
+
+ value = (splt->output_section->vma
+ + splt->output_offset
+ + h->plt.offset);
+ return _bfd_final_link_relocate (howto, input_bfd, input_section,
+ contents, rel->r_offset, value,
+ (bfd_vma) 0);
+ }
+
/* When generating a shared object, these relocations are copied
into the output file to be resolved at run time. */
- if ((info->shared
- && (input_section->flags & SEC_ALLOC)
- && (h == NULL
- || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
- || h->root.type != bfd_link_hash_undefweak)
- && (r_type != R_ARM_PC24
- || !SYMBOL_CALLS_LOCAL (info, h))))
+ if (info->shared
+ && (input_section->flags & SEC_ALLOC)
+ && (h == NULL
+ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
+ || h->root.type != bfd_link_hash_undefweak)
+ && r_type != R_ARM_PC24
+ && r_type != R_ARM_PLT32)
{
Elf_Internal_Rela outrel;
bfd_byte *loc;
@@ -1364,8 +1384,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
memset (&outrel, 0, sizeof outrel);
else if (h != NULL
&& h->dynindx != -1
- && (r_type == R_ARM_PC24
- || !info->shared
+ && (!info->shared
|| !info->symbolic
|| (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_REGULAR) == 0))
@@ -1397,6 +1416,7 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
case R_ARM_XPC25: /* Arm BLX instruction. */
#endif
case R_ARM_PC24: /* Arm B/BL instruction */
+ case R_ARM_PLT32:
#ifndef OLD_ARM_ABI
if (r_type == R_ARM_XPC25)
{
@@ -1869,37 +1889,6 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
contents, rel->r_offset, value,
(bfd_vma) 0);
- case R_ARM_PLT32:
- /* Relocation is to the entry for this symbol in the
- procedure linkage table. */
-
- /* Resolve a PLT32 reloc against a local symbol directly,
- without using the procedure linkage table. */
- if (h == NULL)
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
- if (h->plt.offset == (bfd_vma) -1
- || globals->splt == NULL)
- /* We didn't make a PLT entry for this symbol. This
- happens when statically linking PIC code, or when
- using -Bsymbolic. */
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
- BFD_ASSERT(splt != NULL);
- if (splt == NULL)
- return bfd_reloc_notsupported;
-
- value = (splt->output_section->vma
- + splt->output_offset
- + h->plt.offset);
- return _bfd_final_link_relocate (howto, input_bfd, input_section,
- contents, rel->r_offset, value,
- (bfd_vma) 0);
-
case R_ARM_SBREL32:
return bfd_reloc_notsupported;
@@ -2808,6 +2797,7 @@ elf32_arm_gc_sweep_hook (abfd, info, sec, relocs)
case R_ARM_ABS32:
case R_ARM_REL32:
case R_ARM_PC24:
+ case R_ARM_PLT32:
r_symndx = ELF32_R_SYM (rel->r_info);
if (r_symndx >= symtab_hdr->sh_info)
{
@@ -2817,31 +2807,24 @@ elf32_arm_gc_sweep_hook (abfd, info, sec, relocs)
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (!info->shared && h->plt.refcount > 0)
+ if (h->plt.refcount > 0)
h->plt.refcount -= 1;
- eh = (struct elf32_arm_link_hash_entry *) h;
-
- for (pp = &eh->relocs_copied; (p = *pp) != NULL; pp = &p->next)
- if (p->section == sec)
- {
- if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24)
- p->pc_count -= 1;
- p->count -= 1;
- if (p->count == 0)
- *pp = p->next;
- break;
- }
- }
- break;
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
+ {
+ eh = (struct elf32_arm_link_hash_entry *) h;
- case R_ARM_PLT32:
- r_symndx = ELF32_R_SYM (rel->r_info);
- if (r_symndx >= symtab_hdr->sh_info)
- {
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- if (h->plt.refcount > 0)
- h->plt.refcount -= 1;
+ for (pp = &eh->relocs_copied; (p = *pp) != NULL;
+ pp = &p->next)
+ if (p->section == sec)
+ {
+ p->count -= 1;
+ if (p->count == 0)
+ *pp = p->next;
+ break;
+ }
+ }
}
break;
@@ -2902,23 +2885,6 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
switch (ELF32_R_TYPE (rel->r_info))
{
- case R_ARM_PLT32:
- /* This symbol requires a procedure linkage table entry. We
- actually build the entry in adjust_dynamic_symbol,
- because this might be a case of linking PIC code which is
- never referenced by a dynamic object, in which case we
- don't need to generate a procedure linkage table entry
- after all. */
-
- /* If this is a local symbol, we resolve it directly without
- creating a procedure linkage table entry. */
- if (h == NULL)
- continue;
-
- h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
- h->plt.refcount++;
- break;
-
case R_ARM_GOT32:
/* This symbol requires a global offset table entry. */
if (h != NULL)
@@ -2961,7 +2927,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
case R_ARM_ABS32:
case R_ARM_REL32:
case R_ARM_PC24:
- if (h != NULL && !info->shared)
+ case R_ARM_PLT32:
+ if (h != NULL)
{
/* If this reloc is in a read-only section, we might
need a copy reloc. We can't check reliably at this
@@ -2969,10 +2936,19 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
sections have not yet been mapped to output sections.
Tentatively set the flag for now, and correct in
adjust_dynamic_symbol. */
- h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
-
+ if (!info->shared)
+ h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
+
/* We may need a .plt entry if the function this reloc
- refers to is in a shared lib. */
+ refers to is in a different object. We can't tell for
+ sure yet, because something later might force the
+ symbol local. */
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_PLT32)
+ h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
+
+ /* If we create a PLT entry, this relocation will reference
+ it, even if it's an ABS32 relocation. */
h->plt.refcount += 1;
}
@@ -2990,7 +2966,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
relocs_copied field of the hash table entry. */
if (info->shared
&& (sec->flags & SEC_ALLOC) != 0
- && (ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
+ && ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32)
|| (h != NULL
&& (! info->symbolic
|| (h->elf_link_hash_flags
@@ -3068,12 +3045,11 @@ elf32_arm_check_relocs (abfd, info, sec, relocs)
*head = p;
p->section = sec;
p->count = 0;
- p->pc_count = 0;
}
- p->count += 1;
- if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24)
- p->pc_count += 1;
+ if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
+ p->count += 1;
}
break;
@@ -3348,7 +3324,7 @@ allocate_dynrelocs (h, inf)
}
if (info->shared
- || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ || WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, 0, h))
{
asection *s = htab->splt;
@@ -3432,29 +3408,8 @@ allocate_dynrelocs (h, inf)
if (info->shared)
{
- /* The only reloc that uses pc_count is R_ARM_PC24, which will
- appear on a call or on something like ".long foo - .". We
- want calls to protected symbols to resolve directly to the
- function rather than going via the plt. If people want
- function pointer comparisons to work as expected then they
- should avoid writing assembly like ".long foo - .". */
- if (SYMBOL_CALLS_LOCAL (info, h))
- {
- struct elf32_arm_relocs_copied **pp;
-
- for (pp = &eh->relocs_copied; (p = *pp) != NULL; )
- {
- p->count -= p->pc_count;
- p->pc_count = 0;
- if (p->count == 0)
- *pp = p->next;
- else
- pp = &p->next;
- }
- }
-
- /* Also discard relocs on undefined weak syms with non-default
- visibility. */
+ /* Discard relocs on undefined weak syms with non-default
+ visibility. */
if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
&& h->root.type == bfd_link_hash_undefweak)
eh->relocs_copied = NULL;
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 2c63474066..e2a51f6418 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -1770,26 +1770,27 @@ cris_elf_gc_sweep_hook (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes;
bfd_signed_vma *local_got_refcounts;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
asection *sgot;
asection *srelgot;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
sgot = bfd_get_section_by_name (dynobj, ".got");
srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_CRIS_16_GOT:
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index 5157f407f4..016f233545 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf/frv.h"
+#include "hashtab.h"
/* Forward declarations. */
static bfd_reloc_status_type elf32_frv_relocate_lo16
@@ -236,6 +237,229 @@ static reloc_howto_type elf32_frv_howto_table [] =
0xffff, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ the symbol. */
+ HOWTO (R_FRV_GOT12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOT12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The 32-bit address of the canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOT12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOT12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The 32-bit address of the canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_VALUE, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 64, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_VALUE", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFF12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFF12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFFHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFFHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ canonical descriptor of a function. */
+ HOWTO (R_FRV_FUNCDESC_GOTOFFLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_GOTOFFLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 12-bit signed operand with the GOT offset for the address of
+ the symbol. */
+ HOWTO (R_FRV_GOTOFF12, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFF12", /* name */
+ FALSE, /* partial_inplace */
+ 0xfff, /* src_mask */
+ 0xfff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The upper 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTOFFHI, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFFHI", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* The lower 16 bits of the GOT offset for the address of the
+ symbol. */
+ HOWTO (R_FRV_GOTOFFLO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_GOTOFFLO", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
};
/* GNU extension to record C++ vtable hierarchy. */
@@ -269,6 +493,54 @@ static reloc_howto_type elf32_frv_vtentry_howto =
0, /* src_mask */
0, /* dst_mask */
FALSE); /* pcrel_offset */
+
+/* The following 3 relocations are REL. The only difference to the
+ entries in the table above are that partial_inplace is TRUE. */
+static reloc_howto_type elf32_frv_rel_32_howto =
+ HOWTO (R_FRV_32, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_32", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
+static reloc_howto_type elf32_frv_rel_funcdesc_howto =
+ HOWTO (R_FRV_FUNCDESC, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
+static reloc_howto_type elf32_frv_rel_funcdesc_value_howto =
+ HOWTO (R_FRV_FUNCDESC_VALUE, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 64, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_FRV_FUNCDESC_VALUE", /* name */
+ TRUE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE); /* pcrel_offset */
+
/* Map BFD reloc types to FRV ELF reloc types. */
#if 0
@@ -291,11 +563,743 @@ static const struct frv_reloc_map frv_reloc_map [] =
{ BFD_RELOC_FRV_GPREL32, R_FRV_GPREL32 },
{ BFD_RELOC_FRV_GPRELHI, R_FRV_GPRELHI },
{ BFD_RELOC_FRV_GPRELLO, R_FRV_GPRELLO },
+ { BFD_RELOC_FRV_GOT12, R_FRV_GOT12 },
+ { BFD_RELOC_FRV_GOTHI, R_FRV_GOTHI },
+ { BFD_RELOC_FRV_GOTLO, R_FRV_GOTLO },
+ { BFD_RELOC_FRV_FUNCDESC, R_FRV_FUNCDESC },
+ { BFD_RELOC_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOT12 },
+ { BFD_RELOC_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTHI },
+ { BFD_RELOC_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_GOTLO },
+ { BFD_RELOC_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_VALUE },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFF12 },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFHI },
+ { BFD_RELOC_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFLO },
+ { BFD_RELOC_FRV_GOTOFF12, R_FRV_GOTOFF12 },
+ { BFD_RELOC_FRV_GOTOFFHI, R_FRV_GOTOFFHI },
+ { BFD_RELOC_FRV_GOTOFFLO, R_FRV_GOTOFFLO },
{ BFD_RELOC_VTABLE_INHERIT, R_FRV_GNU_VTINHERIT },
{ BFD_RELOC_VTABLE_ENTRY, R_FRV_GNU_VTENTRY },
};
#endif
+
+/* An extension of the elf hash table data structure, containing some
+ additional FRV-specific data. */
+struct frv_elf_link_hash_table
+{
+ struct elf_link_hash_table elf;
+
+ /* A pointer to the .got section. */
+ asection *sgot;
+ /* A pointer to the .rel.got section. */
+ asection *sgotrel;
+ /* A pointer to the .rofixup section. */
+ asection *sgotfixup;
+ /* A pointer to the .plt section. */
+ asection *splt;
+ /* A pointer to the .rel.plt section. */
+ asection *spltrel;
+ /* GOT base offset. */
+ bfd_vma got0;
+ /* Location of the first non-lazy PLT entry, i.e., the number of
+ bytes taken by lazy PLT entries. */
+ bfd_vma plt0;
+ /* A hash table holding information about which symbols were
+ referenced with which PIC-related relocations. */
+ struct htab *relocs_info;
+};
+
+/* Get the FRV ELF linker hash table from a link_info structure. */
+
+#define frv_hash_table(info) \
+ ((struct frv_elf_link_hash_table *) ((info)->hash))
+
+#define frv_got_section(info) \
+ (frv_hash_table (info)->sgot)
+#define frv_gotrel_section(info) \
+ (frv_hash_table (info)->sgotrel)
+#define frv_gotfixup_section(info) \
+ (frv_hash_table (info)->sgotfixup)
+#define frv_plt_section(info) \
+ (frv_hash_table (info)->splt)
+#define frv_pltrel_section(info) \
+ (frv_hash_table (info)->spltrel)
+#define frv_relocs_info(info) \
+ (frv_hash_table (info)->relocs_info)
+#define frv_got_initial_offset(info) \
+ (frv_hash_table (info)->got0)
+#define frv_plt_initial_offset(info) \
+ (frv_hash_table (info)->plt0)
+
+/* Create an FRV ELF linker hash table. */
+
+static struct bfd_link_hash_table *
+frv_elf_link_hash_table_create (bfd *abfd)
+{
+ struct frv_elf_link_hash_table *ret;
+ bfd_size_type amt = sizeof (struct frv_elf_link_hash_table);
+
+ ret = bfd_zalloc (abfd, amt);
+ if (ret == NULL)
+ return NULL;
+
+ if (! _bfd_elf_link_hash_table_init (&ret->elf, abfd,
+ _bfd_elf_link_hash_newfunc))
+ {
+ free (ret);
+ return NULL;
+ }
+
+ return &ret->elf.root;
+}
+
+/* Decide whether a reference to a symbol can be resolved locally or
+ not. If the symbol is protected, we want the local address, but
+ its function descriptor must be assigned by the dynamic linker. */
+#define FRV_SYM_LOCAL(INFO, H) \
+ (_bfd_elf_symbol_refs_local_p ((H), (INFO), 1) \
+ || ! elf_hash_table (INFO)->dynamic_sections_created \
+ || (H)->root.type == bfd_link_hash_undefweak \
+ || (/* The condition below is an ugly hack to get .scommon data to
+ be regarded as local. For some reason the
+ ELF_LINK_HASH_DEF_REGULAR bit is not set on such common
+ symbols, and the SEC_IS_COMMON bit is not set any longer
+ when we need to perform this test. Hopefully this
+ approximation is good enough. */ \
+ ((H)->root.type == bfd_link_hash_defined \
+ || (H)->root.type == bfd_link_hash_defweak) \
+ && (H)->root.u.def.section->output_section \
+ && ((H)->root.u.def.section->flags & SEC_LINKER_CREATED)))
+#define FRV_FUNCDESC_LOCAL(INFO, H) \
+ ((H)->dynindx == -1 || ! elf_hash_table (INFO)->dynamic_sections_created)
+
+/* This structure collects information on what kind of GOT, PLT or
+ function descriptors are required by relocations that reference a
+ certain symbol. */
+struct frv_pic_relocs_info
+{
+ /* The index of the symbol, as stored in the relocation r_info, if
+ we have a local symbol; -1 otherwise. */
+ long symndx;
+ union
+ {
+ /* The input bfd in which the symbol is defined, if it's a local
+ symbol. */
+ bfd *abfd;
+ /* If symndx == -1, the hash table entry corresponding to a global
+ symbol (even if it turns out to bind locally, in which case it
+ should ideally be replaced with section's symndx + addend). */
+ struct elf_link_hash_entry *h;
+ } d;
+ /* The addend of the relocation that references the symbol. */
+ bfd_vma addend;
+
+ /* The fields above are used to identify an entry. The fields below
+ contain information on how an entry is used and, later on, which
+ locations it was assigned. */
+ /* The following 3 fields record whether the symbol+addend above was
+ ever referenced with a GOT relocation. The 12 suffix indicates a
+ GOT12 relocation; los is used for GOTLO relocations that are not
+ matched by a GOTHI relocation; hilo is used for GOTLO/GOTHI
+ pairs. */
+ unsigned got12:1;
+ unsigned gotlos:1;
+ unsigned gothilo:1;
+ /* Whether a FUNCDESC relocation references symbol+addend. */
+ unsigned fd:1;
+ /* Whether a FUNCDESC_GOT relocation references symbol+addend. */
+ unsigned fdgot12:1;
+ unsigned fdgotlos:1;
+ unsigned fdgothilo:1;
+ /* Whether a FUNCDESC_GOTOFF relocation references symbol+addend. */
+ unsigned fdgoff12:1;
+ unsigned fdgofflos:1;
+ unsigned fdgoffhilo:1;
+ /* Whether symbol+addend is referenced with GOTOFF12, GOTOFFLO or
+ GOTOFFHI relocations. The addend doesn't really matter, since we
+ envision that this will only be used to check whether the symbol
+ is mapped to the same segment as the got. */
+ unsigned gotoff:1;
+ /* Whether symbol+addend is referenced by a LABEL24 relocation. */
+ unsigned call:1;
+ /* Whether symbol+addend is referenced by a 32 or FUNCDESC_VALUE
+ relocation. */
+ unsigned sym:1;
+ /* Whether we need a PLT entry for a symbol. Should be implied by
+ something like:
+ (call && symndx == -1 && ! FRV_SYM_LOCAL (info, d.h)) */
+ unsigned plt:1;
+ /* Whether a function descriptor should be created in this link unit
+ for symbol+addend. Should be implied by something like:
+ (plt || fdgotoff12 || fdgotofflos || fdgotofflohi
+ || ((fd || fdgot12 || fdgotlos || fdgothilo)
+ && (symndx != -1 || FRV_FUNCDESC_LOCAL (info, d.h)))) */
+ unsigned privfd:1;
+ /* Whether a lazy PLT entry is needed for this symbol+addend.
+ Should be implied by something like:
+ (privfd && symndx == -1 && ! FRV_SYM_LOCAL (info, d.h)
+ && ! (info->flags & DF_BIND_NOW)) */
+ unsigned lazyplt:1;
+ /* Whether we've already emitted GOT relocations and PLT entries as
+ needed for this symbol. */
+ unsigned done:1;
+
+ /* The number of R_FRV_32, R_FRV_FUNCDESC and R_FRV_FUNCDESC_VALUE
+ relocations referencing the symbol. */
+ unsigned relocs32, relocsfd, relocsfdv;
+
+ /* The offsets of the GOT entries assigned to symbol+addend, to the
+ function descriptor's address, and to a function descriptor,
+ respectively. Should be zero if unassigned. The offsets are
+ counted from the value that will be assigned to the PIC register,
+ not from the beginning of the .got section. */
+ bfd_signed_vma got_entry, fdgot_entry, fd_entry;
+ /* The offsets of the PLT entries assigned to symbol+addend,
+ non-lazy and lazy, respectively. If unassigned, should be
+ (bfd_vma)-1. */
+ bfd_vma plt_entry, lzplt_entry;
+};
+
+/* Compute a hash with the key fields of an frv_pic_relocs_info entry. */
+static hashval_t
+frv_pic_relocs_info_hash (const void *entry_)
+{
+ const struct frv_pic_relocs_info *entry = entry_;
+
+ return (entry->symndx == -1
+ ? entry->d.h->root.root.hash
+ : entry->symndx + entry->d.abfd->id * 257) + entry->addend;
+}
+
+/* Test whether the key fields of two frv_pic_relocs_info entries are
+ identical. */
+static int
+frv_pic_relocs_info_eq (const void *entry1, const void *entry2)
+{
+ const struct frv_pic_relocs_info *e1 = entry1;
+ const struct frv_pic_relocs_info *e2 = entry2;
+
+ return e1->symndx == e2->symndx && e1->addend == e2->addend
+ && (e1->symndx == -1 ? e1->d.h == e2->d.h : e1->d.abfd == e2->d.abfd);
+}
+
+/* Find or create an entry in a hash table HT that matches the key
+ fields of the given ENTRY. If it's not found, memory for a new
+ entry is allocated in ABFD's obstack. */
+static struct frv_pic_relocs_info *
+frv_pic_relocs_info_find (struct htab *ht,
+ bfd *abfd,
+ const struct frv_pic_relocs_info *entry)
+{
+ struct frv_pic_relocs_info **loc =
+ (struct frv_pic_relocs_info **) htab_find_slot (ht, entry, INSERT);
+
+ if (*loc)
+ return *loc;
+
+ *loc = bfd_zalloc (abfd, sizeof (**loc));
+
+ if (! *loc)
+ return *loc;
+
+ (*loc)->symndx = entry->symndx;
+ (*loc)->d = entry->d;
+ (*loc)->addend = entry->addend;
+ (*loc)->plt_entry = (bfd_vma)-1;
+ (*loc)->lzplt_entry = (bfd_vma)-1;
+
+ return *loc;
+}
+
+/* Obtain the address of the entry in HT associated with H's symbol +
+ addend, creating a new entry if none existed. ABFD is only used
+ for memory allocation purposes. */
+inline static struct frv_pic_relocs_info *
+frv_pic_relocs_info_for_global (struct htab *ht,
+ bfd *abfd,
+ struct elf_link_hash_entry *h,
+ bfd_vma addend)
+{
+ struct frv_pic_relocs_info entry;
+
+ entry.symndx = -1;
+ entry.d.h = h;
+ entry.addend = addend;
+
+ return frv_pic_relocs_info_find (ht, abfd, &entry);
+}
+
+/* Obtain the address of the entry in HT associated with the SYMNDXth
+ local symbol of the input bfd ABFD, plus the addend, creating a new
+ entry if none existed. */
+inline static struct frv_pic_relocs_info *
+frv_pic_relocs_info_for_local (struct htab *ht,
+ bfd *abfd,
+ long symndx,
+ bfd_vma addend)
+{
+ struct frv_pic_relocs_info entry;
+
+ entry.symndx = symndx;
+ entry.d.abfd = abfd;
+ entry.addend = addend;
+
+ return frv_pic_relocs_info_find (ht, abfd, &entry);
+}
+
+/* Every block of 65535 lazy PLT entries shares a single call to the
+ resolver, inserted in the 32768th lazy PLT entry (i.e., entry #
+ 32767, counting from 0). All other lazy PLT entries branch to it
+ in a single instruction. */
+
+#define FRV_LZPLT_BLOCK_SIZE ((bfd_vma) 8 * 65535 + 4)
+#define FRV_LZPLT_RESOLV_LOC (8 * 32767)
+
+/* Add a dynamic relocation to the SRELOC section. */
+
+inline static bfd_vma
+_frv_add_dyn_reloc (bfd *output_bfd, asection *sreloc, bfd_vma offset,
+ int reloc_type, long dynindx, bfd_vma addend)
+{
+ Elf_Internal_Rela outrel;
+ bfd_vma reloc_offset;
+
+ outrel.r_offset = offset;
+ outrel.r_info = ELF32_R_INFO (dynindx, reloc_type);
+ outrel.r_addend = addend;
+
+ reloc_offset = sreloc->reloc_count * sizeof (Elf32_External_Rel);
+ BFD_ASSERT (reloc_offset < sreloc->_raw_size);
+ bfd_elf32_swap_reloc_out (output_bfd, &outrel,
+ sreloc->contents + reloc_offset);
+ sreloc->reloc_count++;
+
+ return reloc_offset;
+}
+
+/* Add a fixup to the ROFIXUP section. */
+
+static bfd_vma
+_frv_add_rofixup (bfd *output_bfd, asection *rofixup, bfd_vma offset)
+{
+ bfd_vma fixup_offset;
+
+ if (rofixup->flags & SEC_EXCLUDE)
+ return -1;
+
+ fixup_offset = rofixup->reloc_count * 4;
+ if (rofixup->contents)
+ {
+ BFD_ASSERT (fixup_offset < rofixup->_raw_size);
+ bfd_put_32 (output_bfd, offset, rofixup->contents + fixup_offset);
+ }
+ rofixup->reloc_count++;
+
+ return fixup_offset;
+}
+
+/* Find the segment number in which OSEC, and output section, is
+ located. */
+
+static unsigned
+_frv_osec_to_segment (bfd *output_bfd, asection *osec)
+{
+ struct elf_segment_map *m;
+ Elf_Internal_Phdr *p;
+
+ /* Find the segment that contains the output_section. */
+ for (m = elf_tdata (output_bfd)->segment_map,
+ p = elf_tdata (output_bfd)->phdr;
+ m != NULL;
+ m = m->next, p++)
+ {
+ int i;
+
+ for (i = m->count - 1; i >= 0; i--)
+ if (m->sections[i] == osec)
+ break;
+
+ if (i >= 0)
+ break;
+ }
+
+ return p - elf_tdata (output_bfd)->phdr;
+}
+
+inline static bfd_boolean
+_frv_osec_readonly_p (bfd *output_bfd, asection *osec)
+{
+ unsigned seg = _frv_osec_to_segment (output_bfd, osec);
+
+ return ! (elf_tdata (output_bfd)->phdr[seg].p_flags & PF_W);
+}
+
+/* Generate relocations for GOT entries, function descriptors, and
+ code for PLT and lazy PLT entries. */
+
+inline static bfd_boolean
+_frv_emit_got_relocs_plt_entries (struct frv_pic_relocs_info *entry,
+ bfd *output_bfd,
+ struct bfd_link_info *info,
+ asection *sec,
+ Elf_Internal_Sym *sym,
+ bfd_vma addend)
+
+{
+ bfd_vma fd_lazy_rel_offset = (bfd_vma)-1;
+ int dynindx = -1;
+
+ if (entry->done)
+ return TRUE;
+ entry->done = 1;
+
+ if (entry->got_entry || entry->fdgot_entry || entry->fd_entry)
+ {
+ /* If the symbol is dynamic, consider it for dynamic
+ relocations, otherwise decay to section + offset. */
+ if (entry->symndx == -1 && entry->d.h->dynindx != -1)
+ dynindx = entry->d.h->dynindx;
+ else
+ {
+ if (sec->output_section
+ && ! bfd_is_abs_section (sec->output_section)
+ && ! bfd_is_und_section (sec->output_section))
+ dynindx = elf_section_data (sec->output_section)->dynindx;
+ else
+ dynindx = 0;
+ }
+ }
+
+ /* Generate relocation for GOT entry pointing to the symbol. */
+ if (entry->got_entry)
+ {
+ int idx = dynindx;
+ bfd_vma ad = addend;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (sec && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1)
+ ad += entry->d.h->root.u.def.value;
+ else
+ ad += sym->st_value;
+ ad += sec->output_offset;
+ if (sec->output_section && elf_section_data (sec->output_section))
+ idx = elf_section_data (sec->output_section)->dynindx;
+ else
+ idx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we can
+ omit the dynamic relocation as long as the symbol is local to
+ this module. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (sec)
+ ad += sec->output_section->vma;
+ if (entry->symndx != -1 ||
+ entry->d.h->root.type != bfd_link_hash_undefweak)
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->got_entry);
+ }
+ else
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->got_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ R_FRV_32, idx, ad);
+
+ bfd_put_32 (output_bfd, ad,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->got_entry);
+ }
+
+ /* Generate relocation for GOT entry pointing to a canonical
+ function descriptor. */
+ if (entry->fdgot_entry)
+ {
+ int reloc, idx;
+ bfd_vma ad;
+
+ /* If the symbol is dynamic and there may be dynamic symbol
+ resolution because we are or are linked with a shared
+ library, emit a FUNCDESC relocation such that the dynamic
+ linker will allocate the function descriptor. */
+ if (entry->symndx == -1 && ! FRV_FUNCDESC_LOCAL (info, entry->d.h))
+ {
+ reloc = R_FRV_FUNCDESC;
+ idx = dynindx;
+ ad = addend;
+ if (ad)
+ return FALSE;
+ }
+ else
+ {
+ /* Otherwise, we know we have a private function descriptor,
+ so reference it directly. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ BFD_ASSERT (entry->privfd);
+ reloc = R_FRV_32;
+ idx = elf_section_data (frv_got_section (info)->output_section)
+ ->dynindx;
+ ad = frv_got_section (info)->output_offset +
+ frv_got_initial_offset (info) + entry->fd_entry;
+ }
+
+ /* If there is room for dynamic symbol resolution, emit the
+ dynamic relocation. However, if we're linking an executable
+ at a fixed location, we won't have emitted a dynamic symbol
+ entry for the got section, so idx will be zero, which means
+ we can and should compute the address of the private
+ descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1
+ && entry->d.h->root.type == bfd_link_hash_undefweak)
+ ad = 0;
+ else
+ {
+ ad += frv_got_section (info)->output_section->vma;
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fdgot_entry);
+ }
+ }
+ else
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->fdgot_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ reloc, idx, ad);
+
+ bfd_put_32 (output_bfd, ad,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fdgot_entry);
+ }
+
+ /* Generate relocation to fill in a private function descriptor in
+ the GOT. */
+ if (entry->fd_entry)
+ {
+ int idx = dynindx;
+ bfd_vma ad = addend;
+ bfd_vma ofst;
+ long lowword, highword;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (sec && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (entry->symndx == -1)
+ ad += entry->d.h->root.u.def.value;
+ else
+ ad += sym->st_value;
+ ad += sec->output_offset;
+ if (sec->output_section && elf_section_data (sec->output_section))
+ idx = elf_section_data (sec->output_section)->dynindx;
+ else
+ idx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we can
+ omit the dynamic relocation as long as the symbol is local to
+ this module. */
+ if (info->executable && !info->pie
+ && (entry->symndx != -1 || FRV_SYM_LOCAL (info, entry->d.h)))
+ {
+ if (sec)
+ ad += sec->output_section->vma;
+ ofst = 0;
+ if (entry->symndx != -1 ||
+ entry->d.h->root.type != bfd_link_hash_undefweak)
+ {
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fd_entry);
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + entry->fd_entry + 4);
+ }
+ }
+ else
+ {
+ ofst =
+ _frv_add_dyn_reloc (output_bfd,
+ entry->lazyplt ? frv_pltrel_section (info)
+ : frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ frv_got_section (info),
+ frv_got_initial_offset (info)
+ + entry->fd_entry)
+ + frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset,
+ R_FRV_FUNCDESC_VALUE, idx, ad);
+ }
+
+ /* If we've omitted the dynamic relocation, just emit the fixed
+ addresses of the symbol and of the local GOT base offset. */
+ if (info->executable && !info->pie && sec && sec->output_section)
+ {
+ lowword = ad;
+ highword = frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ }
+ else if (entry->lazyplt)
+ {
+ if (ad)
+ return FALSE;
+
+ fd_lazy_rel_offset = ofst;
+
+ /* A function descriptor used for lazy or local resolving is
+ initialized such that its high word contains the output
+ section index in which the PLT entries are located, and
+ the low word contains the address of the lazy PLT entry
+ entry point, that must be within the memory region
+ assigned to that section. */
+ lowword = entry->lzplt_entry + 4
+ + frv_plt_section (info)->output_offset
+ + frv_plt_section (info)->output_section->vma;
+ highword = _frv_osec_to_segment
+ (output_bfd, frv_plt_section (info)->output_section);
+ }
+ else
+ {
+ /* A function descriptor for a local function gets the index
+ of the section. For a non-local function, it's
+ disregarded. */
+ lowword = ad;
+ if (entry->symndx == -1 && entry->d.h->dynindx != -1
+ && entry->d.h->dynindx == idx)
+ highword = 0;
+ else
+ highword = _frv_osec_to_segment (output_bfd, sec->output_section);
+ }
+
+ bfd_put_32 (output_bfd, lowword,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fd_entry);
+ bfd_put_32 (output_bfd, highword,
+ frv_got_section (info)->contents
+ + frv_got_initial_offset (info)
+ + entry->fd_entry + 4);
+ }
+
+ /* Generate code for the PLT entry. */
+ if (entry->plt_entry != (bfd_vma) -1)
+ {
+ bfd_byte *plt_code = frv_plt_section (info)->contents + entry->plt_entry;
+
+ BFD_ASSERT (entry->fd_entry);
+
+ /* Figure out what kind of PLT entry we need, depending on the
+ location of the function descriptor within the GOT. */
+ if (entry->fd_entry >= -(1 << (12 - 1))
+ && entry->fd_entry < (1 << (12 - 1)))
+ {
+ /* lddi @(gr15, fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x9cccf000 | (entry->fd_entry & ((1 << 12) - 1)),
+ plt_code);
+ plt_code += 4;
+ }
+ else
+ {
+ if (entry->fd_entry >= -(1 << (16 - 1))
+ && entry->fd_entry < (1 << (16 - 1)))
+ {
+ /* setlos lo(fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x9cfc0000
+ | (entry->fd_entry & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ plt_code += 4;
+ }
+ else
+ {
+ /* sethi.p hi(fd_entry), gr14
+ setlo lo(fd_entry), gr14 */
+ bfd_put_32 (output_bfd,
+ 0x1cf80000
+ | ((entry->fd_entry >> 16)
+ & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ bfd_put_32 (output_bfd,
+ 0x9cf40000
+ | (entry->fd_entry & (((bfd_vma)1 << 16) - 1)),
+ plt_code);
+ plt_code += 8;
+ }
+ /* ldd @(gr14,gr15),gr14 */
+ bfd_put_32 (output_bfd, 0x9c08e14f, plt_code);
+ plt_code += 4;
+ }
+ /* jmpl @(gr14,gr0) */
+ bfd_put_32 (output_bfd, 0x8030e000, plt_code);
+ }
+
+ /* Generate code for the lazy PLT entry. */
+ if (entry->lzplt_entry != (bfd_vma) -1)
+ {
+ bfd_byte *lzplt_code = frv_plt_section (info)->contents
+ + entry->lzplt_entry;
+ bfd_vma resolverStub_addr;
+
+ bfd_put_32 (output_bfd, fd_lazy_rel_offset, lzplt_code);
+ lzplt_code += 4;
+
+ resolverStub_addr = entry->lzplt_entry / FRV_LZPLT_BLOCK_SIZE
+ * FRV_LZPLT_BLOCK_SIZE + FRV_LZPLT_RESOLV_LOC;
+ if (resolverStub_addr >= frv_plt_initial_offset (info))
+ resolverStub_addr = frv_plt_initial_offset (info) - 12;
+
+ if (entry->lzplt_entry == resolverStub_addr)
+ {
+ /* This is a lazy PLT entry that includes a resolver call. */
+ /* ldd @(gr15,gr0), gr4
+ jmpl @(gr4,gr0) */
+ bfd_put_32 (output_bfd, 0x8808f140, lzplt_code);
+ bfd_put_32 (output_bfd, 0x80304000, lzplt_code + 4);
+ }
+ else
+ {
+ /* bra resolverStub */
+ bfd_put_32 (output_bfd,
+ 0xc01a0000
+ | (((resolverStub_addr - entry->lzplt_entry)
+ / 4) & (((bfd_vma)1 << 16) - 1)),
+ lzplt_code);
+ }
+ }
+
+ return TRUE;
+}
+
/* Handle an FRV small data reloc. */
static bfd_reloc_status_type
@@ -555,6 +1559,10 @@ frv_reloc_type_lookup (abfd, code)
return &elf32_frv_howto_table[ (int) R_FRV_NONE];
case BFD_RELOC_32:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_32_howto;
+ /* Fall through. */
case BFD_RELOC_CTOR:
return &elf32_frv_howto_table[ (int) R_FRV_32];
@@ -585,6 +1593,54 @@ frv_reloc_type_lookup (abfd, code)
case BFD_RELOC_FRV_GPRELLO:
return &elf32_frv_howto_table[ (int) R_FRV_GPRELLO];
+ case BFD_RELOC_FRV_GOT12:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOT12];
+
+ case BFD_RELOC_FRV_GOTHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTHI];
+
+ case BFD_RELOC_FRV_GOTLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTLO];
+
+ case BFD_RELOC_FRV_FUNCDESC:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_funcdesc_howto;
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOT12:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOT12];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTHI];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTLO];
+
+ case BFD_RELOC_FRV_FUNCDESC_VALUE:
+ if (elf_elfheader (abfd)->e_type == ET_EXEC
+ || elf_elfheader (abfd)->e_type == ET_DYN)
+ return &elf32_frv_rel_funcdesc_value_howto;
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_VALUE];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFF12:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFF12];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFFHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFFHI];
+
+ case BFD_RELOC_FRV_FUNCDESC_GOTOFFLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_FUNCDESC_GOTOFFLO];
+
+ case BFD_RELOC_FRV_GOTOFF12:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFF12];
+
+ case BFD_RELOC_FRV_GOTOFFHI:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFFHI];
+
+ case BFD_RELOC_FRV_GOTOFFLO:
+ return &elf32_frv_howto_table[ (int) R_FRV_GOTOFFLO];
+
case BFD_RELOC_VTABLE_INHERIT:
return &elf32_frv_vtinherit_howto;
@@ -621,6 +1677,34 @@ frv_info_to_howto_rela (abfd, cache_ptr, dst)
break;
}
}
+
+/* Set the howto pointer for an FRV ELF REL reloc. */
+static void
+frv_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *cache_ptr, Elf_Internal_Rela *dst)
+{
+ unsigned int r_type;
+
+ r_type = ELF32_R_TYPE (dst->r_info);
+ switch (r_type)
+ {
+ case R_FRV_32:
+ cache_ptr->howto = &elf32_frv_rel_32_howto;
+ break;
+
+ case R_FRV_FUNCDESC:
+ cache_ptr->howto = &elf32_frv_rel_funcdesc_howto;
+ break;
+
+ case R_FRV_FUNCDESC_VALUE:
+ cache_ptr->howto = &elf32_frv_rel_funcdesc_value_howto;
+ break;
+
+ default:
+ cache_ptr->howto = NULL;
+ break;
+ }
+}
/* Perform a single relocation. By default we use the standard BFD
routines, but a few relocs, we have to do them ourselves. */
@@ -687,6 +1771,9 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
struct elf_link_hash_entry **sym_hashes;
Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend;
+ unsigned isec_segment, got_segment, plt_segment, gprel_segment,
+ check_segment[2];
+ int silence_segment_error = !(info->shared || info->pie);
if (info->relocatable)
return TRUE;
@@ -695,6 +1782,27 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
sym_hashes = elf_sym_hashes (input_bfd);
relend = relocs + input_section->reloc_count;
+ isec_segment = _frv_osec_to_segment (output_bfd,
+ input_section->output_section);
+ if (frv_got_section (info))
+ got_segment = _frv_osec_to_segment (output_bfd,
+ frv_got_section (info)
+ ->output_section);
+ else
+ got_segment = -1;
+ if (frv_gotfixup_section (info))
+ gprel_segment = _frv_osec_to_segment (output_bfd,
+ frv_gotfixup_section (info)
+ ->output_section);
+ else
+ gprel_segment = -1;
+ if (elf_hash_table (info)->dynamic_sections_created)
+ plt_segment = _frv_osec_to_segment (output_bfd,
+ frv_plt_section (info)
+ ->output_section);
+ else
+ plt_segment = -1;
+
for (rel = relocs; rel < relend; rel ++)
{
reloc_howto_type *howto;
@@ -706,6 +1814,9 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
bfd_reloc_status_type r;
const char * name = NULL;
int r_type;
+ asection *osec;
+ struct frv_pic_relocs_info *picrel;
+ bfd_vma orig_addend = rel->r_addend;
r_type = ELF32_R_TYPE (rel->r_info);
@@ -723,7 +1834,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
if (r_symndx < symtab_hdr->sh_info)
{
sym = local_syms + r_symndx;
- sec = local_sections [r_symndx];
+ osec = sec = local_sections [r_symndx];
relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
name = bfd_elf_string_from_elf_section
@@ -740,6 +1851,14 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
name = h->root.root.string;
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && ! FRV_SYM_LOCAL (info, h))
+ {
+ sec = NULL;
+ relocation = 0;
+ }
+ else
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{
@@ -752,6 +1871,11 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
{
relocation = 0;
}
+ else if ( ! info->executable
+ && ! info->symbolic
+ && info->unresolved_syms_in_objects == RM_IGNORE
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+ relocation = 0;
else
{
if (! ((*info->callbacks->undefined_symbol)
@@ -760,6 +1884,464 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
return FALSE;
relocation = 0;
}
+ osec = sec;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ case R_FRV_32:
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ case R_FRV_FUNCDESC:
+ case R_FRV_FUNCDESC_VALUE:
+ if (h != NULL)
+ picrel = frv_pic_relocs_info_for_global (frv_relocs_info (info),
+ input_bfd, h,
+ orig_addend);
+ else
+ /* In order to find the entry we created before, we must
+ use the original addend, not the one that may have been
+ modified by _bfd_elf_rela_local_sym(). */
+ picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
+ input_bfd, r_symndx,
+ orig_addend);
+ if (! picrel)
+ return FALSE;
+
+ if (!_frv_emit_got_relocs_plt_entries (picrel, output_bfd, info,
+ osec, sym, rel->r_addend))
+ {
+ info->callbacks->warning
+ (info, _("Dynamic relocation references symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+
+ }
+
+ break;
+
+ default:
+ picrel = NULL;
+ if (h && ! FRV_SYM_LOCAL (info, h))
+ {
+ info->callbacks->warning
+ (info, _("relocation references symbol not defined in the module"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ break;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ check_segment[0] = isec_segment;
+ if (picrel->plt)
+ {
+ relocation = frv_plt_section (info)->output_section->vma
+ + frv_plt_section (info)->output_offset
+ + picrel->plt_entry;
+ check_segment[1] = plt_segment;
+ }
+ /* We don't want to warn on calls to undefined weak symbols,
+ as calls to them must be protected by non-NULL tests
+ anyway, and unprotected calls would invoke undefined
+ behavior. */
+ else if (picrel->symndx == -1
+ && picrel->d.h->root.type == bfd_link_hash_undefweak)
+ check_segment[1] = check_segment[0];
+ else
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ relocation = picrel->got_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ relocation = picrel->fdgot_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFLO:
+ relocation -= frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ check_segment[0] = got_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ relocation = picrel->fd_entry;
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_FUNCDESC:
+ {
+ int dynindx;
+ bfd_vma addend = rel->r_addend;
+
+ /* If the symbol is dynamic and there may be dynamic
+ symbol resolution because we are or are linked with a
+ shared library, emit a FUNCDESC relocation such that
+ the dynamic linker will allocate the function
+ descriptor. */
+ if (h && ! FRV_FUNCDESC_LOCAL (info, h))
+ {
+ if (addend)
+ {
+ info->callbacks->warning
+ (info, _("R_FRV_FUNCDESC references dynamic symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ dynindx = h->dynindx;
+ }
+ else
+ {
+ /* Otherwise, we know we have a private function
+ descriptor, so reference it directly. */
+ BFD_ASSERT (picrel->privfd);
+ r_type = R_FRV_32;
+ dynindx = elf_section_data (frv_got_section
+ (info)->output_section)->dynindx;
+ addend = frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info)
+ + picrel->fd_entry;
+ }
+
+ /* If there is room for dynamic symbol resolution, emit
+ the dynamic relocation. However, if we're linking an
+ executable at a fixed location, we won't have emitted a
+ dynamic symbol entry for the got section, so idx will
+ be zero, which means we can and should compute the
+ address of the private descriptor ourselves. */
+ if (info->executable && !info->pie
+ && (!h || FRV_FUNCDESC_LOCAL (info, h)))
+ {
+ addend += frv_got_section (info)->output_section->vma;
+ if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit fixups in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ if (! h || h->root.type != bfd_link_hash_undefweak)
+ _frv_add_rofixup (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset);
+ }
+ }
+ else if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit dynamic relocations in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset,
+ r_type, dynindx, addend);
+ }
+
+ /* We want the addend in-place because dynamic
+ relocations are REL. Setting relocation to it should
+ arrange for it to be installed. */
+ relocation = addend - rel->r_addend;
+ }
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_32:
+ case R_FRV_FUNCDESC_VALUE:
+ {
+ int dynindx;
+ bfd_vma addend = rel->r_addend;
+
+ /* If the symbol is dynamic but binds locally, use
+ section+offset. */
+ if (h && ! FRV_SYM_LOCAL (info, h))
+ {
+ if (addend && r_type == R_FRV_FUNCDESC_VALUE)
+ {
+ info->callbacks->warning
+ (info, _("R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ dynindx = h->dynindx;
+ }
+ else
+ {
+ if (h)
+ addend += h->root.u.def.value;
+ else
+ addend += sym->st_value;
+ if (osec)
+ addend += osec->output_offset;
+ if (osec && osec->output_section
+ && ! bfd_is_abs_section (osec->output_section)
+ && ! bfd_is_und_section (osec->output_section))
+ dynindx = elf_section_data (osec->output_section)->dynindx;
+ else
+ dynindx = 0;
+ }
+
+ /* If we're linking an executable at a fixed address, we
+ can omit the dynamic relocation as long as the symbol
+ is defined in the current link unit (which is implied
+ by its output section not being NULL). */
+ if (info->executable && !info->pie
+ && (!h || FRV_SYM_LOCAL (info, h)))
+ {
+ if (osec)
+ addend += osec->output_section->vma;
+ if ((elf_elfheader (input_bfd)->e_flags & EF_FRV_FDPIC)
+ && (bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit fixups in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ if (!h || h->root.type != bfd_link_hash_undefweak)
+ {
+ _frv_add_rofixup (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset);
+ if (r_type == R_FRV_FUNCDESC_VALUE)
+ _frv_add_rofixup
+ (output_bfd,
+ frv_gotfixup_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset + 4);
+ }
+ }
+ }
+ else
+ {
+ if ((bfd_get_section_flags (output_bfd,
+ input_section->output_section)
+ & (SEC_ALLOC | SEC_LOAD)) == (SEC_ALLOC | SEC_LOAD))
+ {
+ if (_frv_osec_readonly_p (output_bfd,
+ input_section->output_section))
+ {
+ info->callbacks->warning
+ (info,
+ _("cannot emit dynamic relocations in read-only section"),
+ name, input_bfd, input_section, rel->r_offset);
+ return FALSE;
+ }
+ _frv_add_dyn_reloc (output_bfd, frv_gotrel_section (info),
+ _bfd_elf_section_offset
+ (output_bfd, info,
+ input_section, rel->r_offset)
+ + input_section->output_section->vma
+ + input_section->output_offset,
+ r_type, dynindx, addend);
+ }
+ /* We want the addend in-place because dynamic
+ relocations are REL. Setting relocation to it
+ should arrange for it to be installed. */
+ relocation = addend - rel->r_addend;
+ }
+
+ if (r_type == R_FRV_FUNCDESC_VALUE)
+ {
+ /* If we've omitted the dynamic relocation, just emit
+ the fixed addresses of the symbol and of the local
+ GOT base offset. */
+ if (info->executable && !info->pie
+ && (!h || FRV_SYM_LOCAL (info, h)))
+ bfd_put_32 (output_bfd,
+ frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info),
+ contents + rel->r_offset + 4);
+ else
+ /* A function descriptor used for lazy or local
+ resolving is initialized such that its high word
+ contains the output section index in which the
+ PLT entries are located, and the low word
+ contains the offset of the lazy PLT entry entry
+ point into that section. */
+ bfd_put_32 (output_bfd,
+ h && ! FRV_SYM_LOCAL (info, h)
+ ? 0
+ : _frv_osec_to_segment (output_bfd,
+ sec->output_section),
+ contents + rel->r_offset + 4);
+ }
+ }
+ check_segment[0] = check_segment[1] = got_segment;
+ break;
+
+ case R_FRV_GPREL12:
+ case R_FRV_GPRELU12:
+ case R_FRV_GPREL32:
+ case R_FRV_GPRELHI:
+ case R_FRV_GPRELLO:
+ check_segment[0] = gprel_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+
+ default:
+ check_segment[0] = isec_segment;
+ check_segment[1] = sec
+ ? _frv_osec_to_segment (output_bfd, sec->output_section)
+ : (unsigned)-1;
+ break;
+ }
+
+ if (check_segment[0] != check_segment[1]
+ && (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC))
+ {
+#if 1
+ /* This helps catch problems in GCC while we can't do more
+ than static linking. The idea is to test whether the
+ input file basename is crt0.o only once. */
+ if (silence_segment_error == 1)
+ silence_segment_error =
+ (strlen (input_bfd->filename) == 6
+ && strcmp (input_bfd->filename, "crt0.o") == 0)
+ || (strlen (input_bfd->filename) > 6
+ && strcmp (input_bfd->filename
+ + strlen (input_bfd->filename) - 7,
+ "/crt0.o") == 0)
+ ? -1 : 0;
+#endif
+ if (!silence_segment_error
+ /* We don't want duplicate errors for undefined
+ symbols. */
+ && !(picrel && picrel->symndx == -1
+ && picrel->d.h->root.type == bfd_link_hash_undefined))
+ info->callbacks->warning
+ (info,
+ (info->shared || info->pie)
+ ? _("relocations between different segments are not supported")
+ : _("warning: relocation references a different segment"),
+ name, input_bfd, input_section, rel->r_offset);
+ if (!silence_segment_error && (info->shared || info->pie))
+ return FALSE;
+ elf_elfheader (output_bfd)->e_flags |= EF_FRV_PIC;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_GOTOFFHI:
+ /* We need the addend to be applied before we shift the
+ value right. */
+ relocation += rel->r_addend;
+ /* Fall through. */
+ case R_FRV_GOTHI:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ relocation >>= 16;
+ /* Fall through. */
+
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ relocation &= 0xffff;
+ break;
+
+ default:
+ break;
+ }
+
+ switch (r_type)
+ {
+ case R_FRV_LABEL24:
+ if (! picrel->plt)
+ break;
+ /* Fall through. */
+
+ /* When referencing a GOT entry, a function descriptor or a
+ PLT, we don't want the addend to apply to the reference,
+ but rather to the referenced symbol. The actual entry
+ will have already been created taking the addend into
+ account, so cancel it out here. */
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ /* Note that we only want GOTOFFHI, not GOTOFFLO or GOTOFF12
+ here, since we do want to apply the addend to the others.
+ Note that we've applied the addend to GOTOFFHI before we
+ shifted it right. */
+ case R_FRV_GOTOFFHI:
+ relocation -= rel->r_addend;
+ break;
+
+ default:
+ break;
}
if (r_type == R_FRV_HI16)
@@ -929,9 +2511,1270 @@ elf32_frv_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
return TRUE;
}
+/* Create a .got section, as well as its additional info field. This
+ is almost entirely copied from
+ elflink.c:_bfd_elf_create_got_section(). */
+
+static bfd_boolean
+_frv_create_got_section (bfd *abfd, struct bfd_link_info *info)
+{
+ flagword flags;
+ asection *s;
+ struct elf_link_hash_entry *h;
+ struct bfd_link_hash_entry *bh;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ int ptralign;
+
+ /* This function may be called more than once. */
+ s = bfd_get_section_by_name (abfd, ".got");
+ if (s != NULL && (s->flags & SEC_LINKER_CREATED) != 0)
+ return TRUE;
+
+ /* Machine specific: although pointers are 32-bits wide, we want the
+ GOT to be aligned to a 64-bit boundary, such that function
+ descriptors in it can be accessed with 64-bit loads and
+ stores. */
+ ptralign = 3;
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ s = bfd_make_section (abfd, ".got");
+ if (s == NULL
+ || !bfd_set_section_flags (abfd, s, flags)
+ || !bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+
+ if (bed->want_got_plt)
+ {
+ s = bfd_make_section (abfd, ".got.plt");
+ if (s == NULL
+ || !bfd_set_section_flags (abfd, s, flags)
+ || !bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+ }
+
+ if (bed->want_got_sym)
+ {
+ /* Define the symbol _GLOBAL_OFFSET_TABLE_ at the start of the .got
+ (or .got.plt) section. We don't do this in the linker script
+ because we don't want to define the symbol if we are not creating
+ a global offset table. */
+ bh = NULL;
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, abfd, "_GLOBAL_OFFSET_TABLE_", BSF_GLOBAL, s,
+ bed->got_symbol_offset, (const char *) NULL, FALSE,
+ bed->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ /* Machine-specific: we want the symbol for executables as
+ well. */
+ if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ elf_hash_table (info)->hgot = h;
+ }
+
+ /* The first bit of the global offset table is the header. */
+ s->_raw_size += bed->got_header_size + bed->got_symbol_offset;
+
+ /* This is the machine-specific part. Create and initialize section
+ data for the got. */
+ frv_got_section (info) = s;
+ frv_relocs_info (info) = htab_try_create (1, frv_pic_relocs_info_hash,
+ frv_pic_relocs_info_eq,
+ (htab_del) NULL);
+ if (! frv_relocs_info (info))
+ return FALSE;
+
+ s = bfd_make_section (abfd, ".rel.got");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, (flags | SEC_READONLY))
+ || ! bfd_set_section_alignment (abfd, s, 2))
+ return FALSE;
+
+ frv_gotrel_section (info) = s;
+
+ /* Machine-specific. */
+ s = bfd_make_section (abfd, ".rofixup");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, (flags | SEC_READONLY))
+ || ! bfd_set_section_alignment (abfd, s, 2))
+ return FALSE;
+
+ frv_gotfixup_section (info) = s;
+
+ /* Define _gp in .rofixup, for FDPIC. If it turns out that
+ we're linking with a different linker script, the linker script
+ will override it. */
+ bh = NULL;
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, abfd, "_gp", BSF_GLOBAL, s, -2048, (const char *) NULL, FALSE,
+ bed->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ /* Machine-specific: we want the symbol for executables as well. */
+ if (! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Make sure the got and plt sections exist, and that our pointers in
+ the link hash table point to them. */
+
+static bfd_boolean
+elf32_frv_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
+{
+ /* This is mostly copied from
+ elflink.c:_bfd_elf_create_dynamic_sections(). */
+ flagword flags, pltflags;
+ asection *s;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+
+ /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and
+ .rel[a].bss sections. */
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ pltflags = flags;
+ pltflags |= SEC_CODE;
+ if (bed->plt_not_loaded)
+ pltflags &= ~ (SEC_CODE | SEC_LOAD | SEC_HAS_CONTENTS);
+ if (bed->plt_readonly)
+ pltflags |= SEC_READONLY;
+
+ s = bfd_make_section (abfd, ".plt");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, pltflags)
+ || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+ return FALSE;
+ /* FRV-specific: remember it. */
+ frv_plt_section (info) = s;
+
+ if (bed->want_plt_sym)
+ {
+ /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
+ .plt section. */
+ struct elf_link_hash_entry *h;
+ struct bfd_link_hash_entry *bh = NULL;
+
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s, 0, NULL,
+ FALSE, get_elf_backend_data (abfd)->collect, &bh)))
+ return FALSE;
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ if (! info->executable
+ && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ /* FRV-specific: we want rel relocations for the plt. */
+ s = bfd_make_section (abfd, ".rel.plt");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ /* FRV-specific: remember it. */
+ frv_pltrel_section (info) = s;
+
+ /* FRV-specific: we want to create the GOT in the FRV way. */
+ if (! _frv_create_got_section (abfd, info))
+ return FALSE;
+
+ /* FRV-specific: make sure we created everything we wanted. */
+ BFD_ASSERT (frv_got_section (info) && frv_gotrel_section (info)
+ && frv_gotfixup_section (info)
+ && frv_plt_section (info) && frv_pltrel_section (info));
+
+ if (bed->want_dynbss)
+ {
+ /* The .dynbss section is a place to put symbols which are defined
+ by dynamic objects, are referenced by regular objects, and are
+ not functions. We must allocate space for them in the process
+ image and use a R_*_COPY reloc to tell the dynamic linker to
+ initialize them at run time. The linker script puts the .dynbss
+ section into the .bss section of the final image. */
+ s = bfd_make_section (abfd, ".dynbss");
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, SEC_ALLOC | SEC_LINKER_CREATED))
+ return FALSE;
+
+ /* The .rel[a].bss section holds copy relocs. This section is not
+ normally needed. We need to create it here, though, so that the
+ linker will map it to an output section. We can't just create it
+ only if we need it, because we will not know whether we need it
+ until we have seen all the input files, and the first time the
+ main linker code calls BFD after examining all the input files
+ (size_dynamic_sections) the input sections have already been
+ mapped to the output sections. If the section turns out not to
+ be needed, we can discard it later. We will never need this
+ section when generating a shared object, since they do not use
+ copy relocs. */
+ if (! info->shared)
+ {
+ s = bfd_make_section (abfd,
+ (bed->default_use_rela_p
+ ? ".rela.bss" : ".rel.bss"));
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+/* The name of the dynamic interpreter. This is put in the .interp
+ section. */
+
+#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
+
+#define DEFAULT_STACK_SIZE 0x20000
+
+/* This structure is used to collect the number of entries present in
+ each addressable range of the got. */
+struct _frv_dynamic_got_info
+{
+ /* Several bits of information about the current link. */
+ struct bfd_link_info *info;
+ /* Total size needed for GOT entries within the 12-, 16- or 32-bit
+ ranges. */
+ bfd_vma got12, gotlos, gothilo;
+ /* Total size needed for function descriptor entries within the 12-,
+ 16- or 32-bit ranges. */
+ bfd_vma fd12, fdlos, fdhilo;
+ /* Total size needed function descriptor entries referenced in PLT
+ entries, that would be profitable to place in offsets close to
+ the PIC register. */
+ bfd_vma fdplt;
+ /* Total size needed by lazy PLT entries. */
+ bfd_vma lzplt;
+ /* Number of relocations carried over from input object files. */
+ unsigned long relocs;
+ /* Number of fixups introduced by relocations in input object files. */
+ unsigned long fixups;
+};
+
+/* Compute the total GOT size required by each symbol in each range.
+ Symbols may require up to 4 words in the GOT: an entry pointing to
+ the symbol, an entry pointing to its function descriptor, and a
+ private function descriptors taking two words. */
+
+static int
+_frv_count_got_plt_entries (void **entryp, void *dinfo_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_info *dinfo = dinfo_;
+
+ /* Allocate space for a GOT entry pointing to the symbol. */
+ if (entry->got12)
+ dinfo->got12 += 4;
+ else if (entry->gotlos)
+ dinfo->gotlos += 4;
+ else if (entry->gothilo)
+ dinfo->gothilo += 4;
+ else
+ entry->relocs32--;
+ entry->relocs32++;
+
+ /* Allocate space for a GOT entry pointing to the function
+ descriptor. */
+ if (entry->fdgot12)
+ dinfo->got12 += 4;
+ else if (entry->fdgotlos)
+ dinfo->gotlos += 4;
+ else if (entry->fdgothilo)
+ dinfo->gothilo += 4;
+ else
+ entry->relocsfd--;
+ entry->relocsfd++;
+
+ /* Decide whether we need a PLT entry, a function descriptor in the
+ GOT, and a lazy PLT entry for this symbol. */
+ entry->plt = entry->call
+ && entry->symndx == -1 && ! FRV_SYM_LOCAL (dinfo->info, entry->d.h)
+ && elf_hash_table (dinfo->info)->dynamic_sections_created;
+ entry->privfd = entry->plt
+ || entry->fdgoff12 || entry->fdgofflos || entry->fdgoffhilo
+ || ((entry->fd || entry->fdgot12 || entry->fdgotlos || entry->fdgothilo)
+ && (entry->symndx != -1
+ || FRV_FUNCDESC_LOCAL (dinfo->info, entry->d.h)));
+ entry->lazyplt = entry->privfd
+ && entry->symndx == -1 && ! FRV_SYM_LOCAL (dinfo->info, entry->d.h)
+ && ! (dinfo->info->flags & DF_BIND_NOW)
+ && elf_hash_table (dinfo->info)->dynamic_sections_created;
+
+ /* Allocate space for a function descriptor. */
+ if (entry->fdgoff12)
+ dinfo->fd12 += 8;
+ else if (entry->fdgofflos)
+ dinfo->fdlos += 8;
+ else if (entry->privfd && entry->plt)
+ dinfo->fdplt += 8;
+ else if (entry->privfd)
+ dinfo->fdhilo += 8;
+ else
+ entry->relocsfdv--;
+ entry->relocsfdv++;
+
+ if (entry->lazyplt)
+ dinfo->lzplt += 8;
+
+ if (!dinfo->info->executable || dinfo->info->pie)
+ dinfo->relocs += entry->relocs32 + entry->relocsfd + entry->relocsfdv;
+ else
+ {
+ if (entry->symndx != -1 || FRV_SYM_LOCAL (dinfo->info, entry->d.h))
+ {
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
+ dinfo->fixups += entry->relocs32 + 2 * entry->relocsfdv;
+ }
+ else
+ dinfo->relocs += entry->relocs32 + entry->relocsfdv;
+ if (entry->symndx != -1 || FRV_FUNCDESC_LOCAL (dinfo->info, entry->d.h))
+ {
+ if (entry->symndx != -1
+ || entry->d.h->root.type != bfd_link_hash_undefweak)
+ dinfo->fixups += entry->relocsfd;
+ }
+ else
+ dinfo->relocs += entry->relocsfd;
+ }
+
+ return 1;
+}
+
+/* This structure is used to assign offsets to got entries, function
+ descriptors, plt entries and lazy plt entries. */
+
+struct _frv_dynamic_got_plt_info
+{
+ /* Summary information collected with _frv_count_got_plt_entries. */
+ struct _frv_dynamic_got_info g;
+
+ /* For each addressable range, we record a MAX (positive) and MIN
+ (negative) value. CUR is used to assign got entries, and it's
+ incremented from an initial positive value to MAX, then from MIN
+ to FDCUR (unless FDCUR wraps around first). FDCUR is used to
+ assign function descriptors, and it's decreased from an initial
+ non-positive value to MIN, then from MAX down to CUR (unless CUR
+ wraps around first). All of MIN, MAX, CUR and FDCUR always point
+ to even words. ODD, if non-zero, indicates an odd word to be
+ used for the next got entry, otherwise CUR is used and
+ incremented by a pair of words, wrapping around when it reaches
+ MAX. FDCUR is decremented (and wrapped) before the next function
+ descriptor is chosen. FDPLT indicates the number of remaining
+ slots that can be used for function descriptors used only by PLT
+ entries. */
+ struct _frv_dynamic_got_alloc_data
+ {
+ bfd_signed_vma max, cur, odd, fdcur, min;
+ bfd_vma fdplt;
+ } got12, gotlos, gothilo;
+};
+
+/* Determine the positive and negative ranges to be used by each
+ offset range in the GOT. FDCUR and CUR, that must be aligned to a
+ double-word boundary, are the minimum (negative) and maximum
+ (positive) GOT offsets already used by previous ranges, except for
+ an ODD entry that may have been left behind. GOT and FD indicate
+ the size of GOT entries and function descriptors that must be
+ placed within the range from -WRAP to WRAP. If there's room left,
+ up to FDPLT bytes should be reserved for additional function
+ descriptors. */
+
+inline static bfd_signed_vma
+_frv_compute_got_alloc_data (struct _frv_dynamic_got_alloc_data *gad,
+ bfd_signed_vma fdcur,
+ bfd_signed_vma odd,
+ bfd_signed_vma cur,
+ bfd_vma got,
+ bfd_vma fd,
+ bfd_vma fdplt,
+ bfd_vma wrap)
+{
+ bfd_signed_vma wrapmin = -wrap;
+
+ /* Start at the given initial points. */
+ gad->fdcur = fdcur;
+ gad->cur = cur;
+
+ /* If we had an incoming odd word and we have any got entries that
+ are going to use it, consume it, otherwise leave gad->odd at
+ zero. We might force gad->odd to zero and return the incoming
+ odd such that it is used by the next range, but then GOT entries
+ might appear to be out of order and we wouldn't be able to
+ shorten the GOT by one word if it turns out to end with an
+ unpaired GOT entry. */
+ if (odd && got)
+ {
+ gad->odd = odd;
+ got -= 4;
+ odd = 0;
+ }
+ else
+ gad->odd = 0;
+
+ /* If we're left with an unpaired GOT entry, compute its location
+ such that we can return it. Otherwise, if got doesn't require an
+ odd number of words here, either odd was already zero in the
+ block above, or it was set to zero because got was non-zero, or
+ got was already zero. In the latter case, we want the value of
+ odd to carry over to the return statement, so we don't want to
+ reset odd unless the condition below is true. */
+ if (got & 4)
+ {
+ odd = cur + got;
+ got += 4;
+ }
+
+ /* Compute the tentative boundaries of this range. */
+ gad->max = cur + got;
+ gad->min = fdcur - fd;
+ gad->fdplt = 0;
+
+ /* If function descriptors took too much space, wrap some of them
+ around. */
+ if (gad->min < wrapmin)
+ {
+ gad->max += wrapmin - gad->min;
+ gad->min = wrapmin;
+ }
+ /* If there is space left and we have function descriptors
+ referenced in PLT entries that could take advantage of shorter
+ offsets, place them here. */
+ else if (fdplt && gad->min > wrapmin)
+ {
+ bfd_vma fds;
+ if ((bfd_vma) (gad->min - wrapmin) < fdplt)
+ fds = gad->min - wrapmin;
+ else
+ fds = fdplt;
+
+ fdplt -= fds;
+ gad->min -= fds;
+ gad->fdplt += fds;
+ }
+
+ /* If GOT entries took too much space, wrap some of them around.
+ This may well cause gad->min to become lower than wrapmin. This
+ will cause a relocation overflow later on, so we don't have to
+ report it here . */
+ if ((bfd_vma) gad->max > wrap)
+ {
+ gad->min -= gad->max - wrap;
+ gad->max = wrap;
+ }
+ /* If there is more space left, try to place some more function
+ descriptors for PLT entries. */
+ else if (fdplt && (bfd_vma) gad->max < wrap)
+ {
+ bfd_vma fds;
+ if ((bfd_vma) (wrap - gad->max) < fdplt)
+ fds = wrap - gad->max;
+ else
+ fds = fdplt;
+
+ fdplt -= fds;
+ gad->max += fds;
+ gad->fdplt += fds;
+ }
+
+ /* If odd was initially computed as an offset past the wrap point,
+ wrap it around. */
+ if (odd > gad->max)
+ odd = gad->min + odd - gad->max;
+
+ /* _frv_get_got_entry() below will always wrap gad->cur if needed
+ before returning, so do it here too. This guarantees that,
+ should cur and fdcur meet at the wrap point, they'll both be
+ equal to min. */
+ if (gad->cur == gad->max)
+ gad->cur = gad->min;
+
+ return odd;
+}
+
+/* Compute the location of the next GOT entry, given the allocation
+ data for a range. */
+
+inline static bfd_signed_vma
+_frv_get_got_entry (struct _frv_dynamic_got_alloc_data *gad)
+{
+ bfd_signed_vma ret;
+
+ if (gad->odd)
+ {
+ /* If there was an odd word left behind, use it. */
+ ret = gad->odd;
+ gad->odd = 0;
+ }
+ else
+ {
+ /* Otherwise, use the word pointed to by cur, reserve the next
+ as an odd word, and skip to the next pair of words, possibly
+ wrapping around. */
+ ret = gad->cur;
+ gad->odd = gad->cur + 4;
+ gad->cur += 8;
+ if (gad->cur == gad->max)
+ gad->cur = gad->min;
+ }
+
+ return ret;
+}
+
+/* Compute the location of the next function descriptor entry in the
+ GOT, given the allocation data for a range. */
+
+inline static bfd_signed_vma
+_frv_get_fd_entry (struct _frv_dynamic_got_alloc_data *gad)
+{
+ /* If we're at the bottom, wrap around, and only then allocate the
+ next pair of words. */
+ if (gad->fdcur == gad->min)
+ gad->fdcur = gad->max;
+ return gad->fdcur -= 8;
+}
+
+/* Assign GOT offsets for every GOT entry and function descriptor.
+ Doing everything in a single pass is tricky. */
+
+static int
+_frv_assign_got_entries (void **entryp, void *info_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_plt_info *dinfo = info_;
+
+ if (entry->got12)
+ entry->got_entry = _frv_get_got_entry (&dinfo->got12);
+ else if (entry->gotlos)
+ entry->got_entry = _frv_get_got_entry (&dinfo->gotlos);
+ else if (entry->gothilo)
+ entry->got_entry = _frv_get_got_entry (&dinfo->gothilo);
+
+ if (entry->fdgot12)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->got12);
+ else if (entry->fdgotlos)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->gotlos);
+ else if (entry->fdgothilo)
+ entry->fdgot_entry = _frv_get_got_entry (&dinfo->gothilo);
+
+ if (entry->fdgoff12)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ else if (entry->plt && dinfo->got12.fdplt)
+ {
+ dinfo->got12.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ }
+ else if (entry->fdgofflos)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ else if (entry->plt && dinfo->gotlos.fdplt)
+ {
+ dinfo->gotlos.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ }
+ else if (entry->plt)
+ {
+ dinfo->gothilo.fdplt -= 8;
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+ }
+ else if (entry->privfd)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+
+ return 1;
+}
+
+/* Assign GOT offsets to private function descriptors used by PLT
+ entries (or referenced by 32-bit offsets), as well as PLT entries
+ and lazy PLT entries. */
+
+static int
+_frv_assign_plt_entries (void **entryp, void *info_)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ struct _frv_dynamic_got_plt_info *dinfo = info_;
+
+ /* If this symbol requires a local function descriptor, allocate
+ one. */
+ if (entry->privfd && entry->fd_entry == 0)
+ {
+ if (dinfo->got12.fdplt)
+ {
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->got12);
+ dinfo->got12.fdplt -= 8;
+ }
+ else if (dinfo->gotlos.fdplt)
+ {
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gotlos);
+ dinfo->gotlos.fdplt -= 8;
+ }
+ else
+ {
+ BFD_ASSERT (dinfo->gothilo.fdplt)
+ entry->fd_entry = _frv_get_fd_entry (&dinfo->gothilo);
+ dinfo->gothilo.fdplt -= 8;
+ }
+ }
+
+ if (entry->plt)
+ {
+ int size;
+
+ /* We use the section's raw size to mark the location of the
+ next PLT entry. */
+ entry->plt_entry = frv_plt_section (dinfo->g.info)->_raw_size;
+
+ /* Figure out the length of this PLT entry based on the
+ addressing mode we need to reach the function descriptor. */
+ BFD_ASSERT (entry->fd_entry);
+ if (entry->fd_entry >= -(1 << (12 - 1))
+ && entry->fd_entry < (1 << (12 - 1)))
+ size = 8;
+ else if (entry->fd_entry >= -(1 << (16 - 1))
+ && entry->fd_entry < (1 << (16 - 1)))
+ size = 12;
+ else
+ size = 16;
+
+ frv_plt_section (dinfo->g.info)->_raw_size += size;
+ }
+
+ if (entry->lazyplt)
+ {
+ entry->lzplt_entry = dinfo->g.lzplt;
+ dinfo->g.lzplt += 8;
+ /* If this entry is the one that gets the resolver stub, account
+ for the additional instruction. */
+ if (entry->lzplt_entry % FRV_LZPLT_BLOCK_SIZE == FRV_LZPLT_RESOLV_LOC)
+ dinfo->g.lzplt += 4;
+ }
+
+ return 1;
+}
+
+/* Follow indirect and warning hash entries so that each got entry
+ points to the final symbol definition. P must point to a pointer
+ to the hash table we're traversing. Since this traversal may
+ modify the hash table, we set this pointer to NULL to indicate
+ we've made a potentially-destructive change to the hash table, so
+ the traversal must be restarted. */
+static int
+_frv_resolve_final_relocs_info (void **entryp, void *p)
+{
+ struct frv_pic_relocs_info *entry = *entryp;
+ htab_t *htab = p;
+
+ if (entry->symndx == -1)
+ {
+ struct elf_link_hash_entry *h = entry->d.h;
+
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *)h->root.u.i.link;
+
+ if (entry->d.h == h)
+ return 1;
+
+ entry->d.h = h;
+
+ /* If we can't find this entry with the new bfd hash, re-insert
+ it, and get the traversal restarted. */
+ if (! htab_find (*htab, entry))
+ {
+ htab_clear_slot (*htab, entryp);
+ entryp = htab_find_slot (*htab, entry, INSERT);
+ if (! *entryp)
+ *entryp = entry;
+ /* Abort the traversal, since the whole table may have
+ moved, and leave it up to the parent to restart the
+ process. */
+ *(htab_t *)p = NULL;
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+/* Set the sizes of the dynamic sections. */
+
+static bfd_boolean
+elf32_frv_size_dynamic_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ bfd *dynobj;
+ asection *s;
+ struct _frv_dynamic_got_plt_info gpinfo;
+ bfd_signed_vma odd;
+ bfd_vma limit;
+
+ dynobj = elf_hash_table (info)->dynobj;
+ BFD_ASSERT (dynobj != NULL);
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ /* Set the contents of the .interp section to the interpreter. */
+ if (info->executable)
+ {
+ s = bfd_get_section_by_name (dynobj, ".interp");
+ BFD_ASSERT (s != NULL);
+ s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER;
+ s->contents = (bfd_byte *) ELF_DYNAMIC_INTERPRETER;
+ }
+ }
+
+ memset (&gpinfo, 0, sizeof (gpinfo));
+ gpinfo.g.info = info;
+
+ for (;;)
+ {
+ htab_t relocs = frv_relocs_info (info);
+
+ htab_traverse (relocs, _frv_resolve_final_relocs_info, &relocs);
+
+ if (relocs == frv_relocs_info (info))
+ break;
+ }
+
+ htab_traverse (frv_relocs_info (info), _frv_count_got_plt_entries,
+ &gpinfo.g);
+
+ odd = 12;
+ /* Compute the total size taken by entries in the 12-bit and 16-bit
+ ranges, to tell how many PLT function descriptors we can bring
+ into the 12-bit range without causing the 16-bit range to
+ overflow. */
+ limit = odd + gpinfo.g.got12 + gpinfo.g.gotlos
+ + gpinfo.g.fd12 + gpinfo.g.fdlos;
+ if (limit < (bfd_vma)1 << 16)
+ limit = ((bfd_vma)1 << 16) - limit;
+ else
+ limit = 0;
+ if (gpinfo.g.fdplt < limit)
+ limit = gpinfo.g.fdplt;
+
+ /* Determine the ranges of GOT offsets that we can use for each
+ range of addressing modes. */
+ odd = _frv_compute_got_alloc_data (&gpinfo.got12,
+ 0,
+ odd,
+ 16,
+ gpinfo.g.got12,
+ gpinfo.g.fd12,
+ limit,
+ (bfd_vma)1 << (12-1));
+ odd = _frv_compute_got_alloc_data (&gpinfo.gotlos,
+ gpinfo.got12.min,
+ odd,
+ gpinfo.got12.max,
+ gpinfo.g.gotlos,
+ gpinfo.g.fdlos,
+ gpinfo.g.fdplt - gpinfo.got12.fdplt,
+ (bfd_vma)1 << (16-1));
+ odd = _frv_compute_got_alloc_data (&gpinfo.gothilo,
+ gpinfo.gotlos.min,
+ odd,
+ gpinfo.gotlos.max,
+ gpinfo.g.gothilo,
+ gpinfo.g.fdhilo,
+ gpinfo.g.fdplt - gpinfo.got12.fdplt
+ - gpinfo.gotlos.fdplt,
+ (bfd_vma)1 << (32-1));
+
+ /* Now assign (most) GOT offsets. */
+ htab_traverse (frv_relocs_info (info), _frv_assign_got_entries, &gpinfo);
+
+ frv_got_section (info)->_raw_size = gpinfo.gothilo.max - gpinfo.gothilo.min
+ /* If an odd word is the last word of the GOT, we don't need this
+ word to be part of the GOT. */
+ - (odd + 4 == gpinfo.gothilo.max ? 4 : 0);
+ if (frv_got_section (info)->_raw_size == 0)
+ frv_got_section (info)->flags |= SEC_EXCLUDE;
+ else if (frv_got_section (info)->_raw_size == 12
+ && ! elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_got_section (info)->flags |= SEC_EXCLUDE;
+ frv_got_section (info)->_raw_size = 0;
+ }
+ else
+ {
+ frv_got_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_got_section (info)->_raw_size);
+ if (frv_got_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ /* Subtract the number of lzplt entries, since those will generate
+ relocations in the pltrel section. */
+ frv_gotrel_section (info)->_raw_size =
+ (gpinfo.g.relocs - gpinfo.g.lzplt / 8)
+ * get_elf_backend_data (output_bfd)->s->sizeof_rel;
+ else
+ BFD_ASSERT (gpinfo.g.relocs == 0);
+ if (frv_gotrel_section (info)->_raw_size == 0)
+ frv_gotrel_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_gotrel_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_gotrel_section (info)->_raw_size);
+ if (frv_gotrel_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ frv_gotfixup_section (info)->_raw_size = (gpinfo.g.fixups + 1) * 4;
+ if (frv_gotfixup_section (info)->_raw_size == 0)
+ frv_gotfixup_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_gotfixup_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj,
+ frv_gotfixup_section (info)->_raw_size);
+ if (frv_gotfixup_section (info)->contents == NULL)
+ return FALSE;
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_pltrel_section (info)->_raw_size =
+ gpinfo.g.lzplt / 8 * get_elf_backend_data (output_bfd)->s->sizeof_rel;
+ if (frv_pltrel_section (info)->_raw_size == 0)
+ frv_pltrel_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_pltrel_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj,
+ frv_pltrel_section (info)->_raw_size);
+ if (frv_pltrel_section (info)->contents == NULL)
+ return FALSE;
+ }
+ }
+
+ /* Add 4 bytes for every block of at most 65535 lazy PLT entries,
+ such that there's room for the additional instruction needed to
+ call the resolver. Since _frv_assign_got_entries didn't account
+ for them, our block size is 4 bytes smaller than the real block
+ size. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ frv_plt_section (info)->_raw_size = gpinfo.g.lzplt
+ + ((gpinfo.g.lzplt + (FRV_LZPLT_BLOCK_SIZE - 4) - 8)
+ / (FRV_LZPLT_BLOCK_SIZE - 4) * 4);
+ }
+
+ /* Reset it, such that _frv_assign_plt_entries() can use it to
+ actually assign lazy PLT entries addresses. */
+ gpinfo.g.lzplt = 0;
+
+ /* Save information that we're going to need to generate GOT and PLT
+ entries. */
+ frv_got_initial_offset (info) = -gpinfo.gothilo.min;
+
+ if (get_elf_backend_data (output_bfd)->want_got_sym)
+ elf_hash_table (info)->hgot->root.u.def.value
+ += frv_got_initial_offset (info);
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ frv_plt_initial_offset (info) = frv_plt_section (info)->_raw_size;
+
+ htab_traverse (frv_relocs_info (info), _frv_assign_plt_entries, &gpinfo);
+
+ /* Allocate the PLT section contents only after
+ _frv_assign_plt_entries has a chance to add the size of the
+ non-lazy PLT entries. */
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ if (frv_plt_section (info)->_raw_size == 0)
+ frv_plt_section (info)->flags |= SEC_EXCLUDE;
+ else
+ {
+ frv_plt_section (info)->contents =
+ (bfd_byte *) bfd_zalloc (dynobj, frv_plt_section (info)->_raw_size);
+ if (frv_plt_section (info)->contents == NULL)
+ return FALSE;
+ }
+ }
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ if (frv_got_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_PLTGOT, 0))
+ return FALSE;
+
+ if (frv_pltrel_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_PLTRELSZ, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_PLTREL, DT_REL)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_JMPREL, 0))
+ return FALSE;
+
+ if (frv_gotrel_section (info)->_raw_size)
+ if (! bfd_elf32_add_dynamic_entry (info, DT_REL, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_RELSZ, 0)
+ || ! bfd_elf32_add_dynamic_entry (info, DT_RELENT,
+ sizeof (Elf32_External_Rel)))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf32_frv_always_size_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ if (!info->relocatable
+ && elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_link_hash_entry *h;
+ asection *sec;
+
+ /* Force a PT_GNU_STACK segment to be created. */
+ if (! elf_tdata (output_bfd)->stack_flags)
+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
+
+ /* Define __stacksize if it's not defined yet. */
+ h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize",
+ FALSE, FALSE, FALSE);
+ if (! h || h->root.type != bfd_link_hash_defined
+ || h->type != STT_OBJECT
+ || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))
+ {
+ struct bfd_link_hash_entry *bh;
+
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, output_bfd, "__stacksize",
+ BSF_GLOBAL, bfd_abs_section_ptr, DEFAULT_STACK_SIZE,
+ (const char *) NULL, FALSE,
+ get_elf_backend_data (output_bfd)->collect, &bh)))
+ return FALSE;
+
+ h = (struct elf_link_hash_entry *) bh;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+ }
+
+ /* Create a stack section, and set its alignment. */
+ sec = bfd_make_section (output_bfd, ".stack");
+
+ if (sec == NULL
+ || ! bfd_set_section_alignment (output_bfd, sec, 3))
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf32_frv_modify_segment_map (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_segment_map *m;
+
+ for (m = elf_tdata (output_bfd)->segment_map; m != NULL; m = m->next)
+ if (m->p_type == PT_GNU_STACK)
+ break;
+
+ if (m)
+ {
+ asection *sec = bfd_get_section_by_name (output_bfd, ".stack");
+ struct elf_link_hash_entry *h;
+
+ if (sec)
+ {
+ /* Obtain the pointer to the __stacksize symbol. */
+ h = elf_link_hash_lookup (elf_hash_table (info), "__stacksize",
+ FALSE, FALSE, FALSE);
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *)h->root.u.i.link;
+ BFD_ASSERT (h->root.type == bfd_link_hash_defined);
+
+ /* Set the section size from the symbol value. We
+ intentionally ignore the symbol section. */
+ if (h->root.type == bfd_link_hash_defined)
+ sec->_raw_size = h->root.u.def.value;
+ else
+ sec->_raw_size = DEFAULT_STACK_SIZE;
+
+ /* Add the stack section to the PT_GNU_STACK segment,
+ such that its size and alignment requirements make it
+ to the segment. */
+ m->sections[m->count] = sec;
+ m->count++;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+/* Fill in code and data in dynamic sections. */
+
+static bfd_boolean
+elf32_frv_finish_dynamic_sections (bfd *output_bfd,
+ struct bfd_link_info *info)
+{
+ bfd *dynobj;
+ asection *sdyn;
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ if (frv_got_section (info))
+ {
+ BFD_ASSERT (frv_gotrel_section (info)->_raw_size
+ == (frv_gotrel_section (info)->reloc_count
+ * sizeof (Elf32_External_Rel)));
+
+ if (frv_gotfixup_section (info))
+ {
+ if (elf_elfheader (output_bfd)->e_flags & EF_FRV_FDPIC)
+ {
+ struct elf_link_hash_entry *hgot = elf_hash_table (info)->hgot;
+ bfd_vma got_value = hgot->root.u.def.value
+ + hgot->root.u.def.section->output_section->vma
+ + hgot->root.u.def.section->output_offset;
+
+ _frv_add_rofixup (output_bfd, frv_gotfixup_section (info),
+ got_value);
+ }
+
+ if (frv_gotfixup_section (info)->_raw_size
+ != (frv_gotfixup_section (info)->reloc_count * 4))
+ {
+ if (!elf_hash_table (info)->dynamic_sections_created)
+ {
+ info->callbacks->warning
+ (info, "no dynamic sections, missing -melf32frvfd?",
+ ".rofixup", NULL, NULL, 0);
+ return FALSE;
+ }
+ BFD_ASSERT (0);
+ }
+ }
+ }
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ BFD_ASSERT (frv_pltrel_section (info)->_raw_size
+ == (frv_pltrel_section (info)->reloc_count
+ * sizeof (Elf32_External_Rel)));
+ }
+
+ sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
+
+ if (elf_hash_table (info)->dynamic_sections_created)
+ {
+ Elf32_External_Dyn * dyncon;
+ Elf32_External_Dyn * dynconend;
+
+ BFD_ASSERT (sdyn != NULL);
+
+ dyncon = (Elf32_External_Dyn *) sdyn->contents;
+ dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size);
+
+ for (; dyncon < dynconend; dyncon++)
+ {
+ Elf_Internal_Dyn dyn;
+
+ bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
+
+ switch (dyn.d_tag)
+ {
+ default:
+ break;
+
+ case DT_PLTGOT:
+ dyn.d_un.d_ptr = frv_got_section (info)->output_section->vma
+ + frv_got_section (info)->output_offset
+ + frv_got_initial_offset (info);
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_JMPREL:
+ dyn.d_un.d_ptr = frv_pltrel_section (info)->output_section->vma
+ + frv_pltrel_section (info)->output_offset;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_PLTRELSZ:
+ if (frv_pltrel_section (info)->_cooked_size != 0)
+ dyn.d_un.d_val = frv_pltrel_section (info)->_cooked_size;
+ else
+ dyn.d_un.d_val = frv_pltrel_section (info)->_raw_size;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+/* Adjust a symbol defined by a dynamic object and referenced by a
+ regular object. */
+
+static bfd_boolean
+elf32_frv_adjust_dynamic_symbol (struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED)
+{
+ bfd * dynobj;
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ /* Make sure we know what is going on here. */
+ BFD_ASSERT (dynobj != NULL
+ && (h->weakdef != NULL
+ || ((h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_REF_REGULAR) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0)));
+
+ /* If this is a weak symbol, and there is a real definition, the
+ processor independent code will have arranged for us to see the
+ real definition first, and we can just use the same value. */
+ if (h->weakdef != NULL)
+ {
+ BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined
+ || h->weakdef->root.type == bfd_link_hash_defweak);
+ h->root.u.def.section = h->weakdef->root.u.def.section;
+ h->root.u.def.value = h->weakdef->root.u.def.value;
+ }
+
+ return TRUE;
+}
+
+/* Perform any actions needed for dynamic symbols. */
+
+static bfd_boolean
+elf32_frv_finish_dynamic_symbol (bfd *output_bfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h ATTRIBUTE_UNUSED,
+ Elf_Internal_Sym *sym ATTRIBUTE_UNUSED)
+{
+ return TRUE;
+}
+
/* Look through the relocs for a section during the first phase.
- Since we don't do .gots or .plts, we just need to consider the
- virtual table relocs for gc. */
+
+ Besides handling virtual table relocs for gc, we have to deal with
+ all sorts of PIC-related relocations. We describe below the
+ general plan on how to handle such relocations, even though we only
+ collect information at this point, storing them in hash tables for
+ perusal of later passes.
+
+ 32 relocations are propagated to the linker output when creating
+ position-independent output. LO16 and HI16 relocations are not
+ supposed to be encountered in this case.
+
+ LABEL16 should always be resolvable by the linker, since it's only
+ used by branches.
+
+ LABEL24, on the other hand, is used by calls. If it turns out that
+ the target of a call is a dynamic symbol, a PLT entry must be
+ created for it, which triggers the creation of a private function
+ descriptor and, unless lazy binding is disabled, a lazy PLT entry.
+
+ GPREL relocations require the referenced symbol to be in the same
+ segment as _gp, but this can only be checked later.
+
+ All GOT, GOTOFF and FUNCDESC relocations require a .got section to
+ exist. LABEL24 might as well, since it may require a PLT entry,
+ that will require a got.
+
+ Non-FUNCDESC GOT relocations require a GOT entry to be created
+ regardless of whether the symbol is dynamic. However, since a
+ global symbol that turns out to not be exported may have the same
+ address of a non-dynamic symbol, we don't assign GOT entries at
+ this point, such that we can share them in this case. A relocation
+ for the GOT entry always has to be created, be it to offset a
+ private symbol by the section load address, be it to get the symbol
+ resolved dynamically.
+
+ FUNCDESC GOT relocations require a GOT entry to be created, and
+ handled as if a FUNCDESC relocation was applied to the GOT entry in
+ an object file.
+
+ FUNCDESC relocations referencing a symbol that turns out to NOT be
+ dynamic cause a private function descriptor to be created. The
+ FUNCDESC relocation then decays to a 32 relocation that points at
+ the private descriptor. If the symbol is dynamic, the FUNCDESC
+ relocation is propagated to the linker output, such that the
+ dynamic linker creates the canonical descriptor, pointing to the
+ dynamically-resolved definition of the function.
+
+ Non-FUNCDESC GOTOFF relocations must always refer to non-dynamic
+ symbols that are assigned to the same segment as the GOT, but we
+ can only check this later, after we know the complete set of
+ symbols defined and/or exported.
+
+ FUNCDESC GOTOFF relocations require a function descriptor to be
+ created and, unless lazy binding is disabled or the symbol is not
+ dynamic, a lazy PLT entry. Since we can't tell at this point
+ whether a symbol is going to be dynamic, we have to decide later
+ whether to create a lazy PLT entry or bind the descriptor directly
+ to the private function.
+
+ FUNCDESC_VALUE relocations are not supposed to be present in object
+ files, but they may very well be simply propagated to the linker
+ output, since they have no side effect.
+
+
+ A function descriptor always requires a FUNCDESC_VALUE relocation.
+ Whether it's in .plt.rel or not depends on whether lazy binding is
+ enabled and on whether the referenced symbol is dynamic.
+
+ The existence of a lazy PLT requires the resolverStub lazy PLT
+ entry to be present.
+
+
+ As for assignment of GOT, PLT and lazy PLT entries, and private
+ descriptors, we might do them all sequentially, but we can do
+ better than that. For example, we can place GOT entries and
+ private function descriptors referenced using 12-bit operands
+ closer to the PIC register value, such that these relocations don't
+ overflow. Those that are only referenced with LO16 relocations
+ could come next, but we may as well place PLT-required function
+ descriptors in the 12-bit range to make them shorter. Symbols
+ referenced with LO16/HI16 may come next, but we may place
+ additional function descriptors in the 16-bit range if we can
+ reliably tell that we've already placed entries that are ever
+ referenced with only LO16. PLT entries are therefore generated as
+ small as possible, while not introducing relocation overflows in
+ GOT or FUNCDESC_GOTOFF relocations. Lazy PLT entries could be
+ generated before or after PLT entries, but not intermingled with
+ them, such that we can have more lazy PLT entries in range for a
+ branch to the resolverStub. The resolverStub should be emitted at
+ the most distant location from the first lazy PLT entry such that
+ it's still in range for a branch, or closer, if there isn't a need
+ for so many lazy PLT entries. Additional lazy PLT entries may be
+ emitted after the resolverStub, as long as branches are still in
+ range. If the branch goes out of range, longer lazy PLT entries
+ are emitted.
+
+ We could further optimize PLT and lazy PLT entries by giving them
+ priority in assignment to closer-to-gr17 locations depending on the
+ number of occurrences of references to them (assuming a function
+ that's called more often is more important for performance, so its
+ PLT entry should be faster), or taking hints from the compiler.
+ Given infinite time and money... :-) */
static bfd_boolean
elf32_frv_check_relocs (abfd, info, sec, relocs)
@@ -944,6 +3787,8 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
+ bfd *dynobj;
+ struct frv_pic_relocs_info *picrel;
if (info->relocatable)
return TRUE;
@@ -954,6 +3799,7 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
if (!elf_bad_symtab (abfd))
sym_hashes_end -= symtab_hdr->sh_info;
+ dynobj = elf_hash_table (info)->dynobj;
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
@@ -967,7 +3813,114 @@ elf32_frv_check_relocs (abfd, info, sec, relocs)
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
switch (ELF32_R_TYPE (rel->r_info))
+ {
+ case R_FRV_LABEL24:
+ case R_FRV_32:
+ case R_FRV_GOT12:
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ case R_FRV_FUNCDESC_GOT12:
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ case R_FRV_FUNCDESC_GOTOFF12:
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ case R_FRV_FUNCDESC:
+ case R_FRV_FUNCDESC_VALUE:
+ if (! dynobj)
+ {
+ elf_hash_table (info)->dynobj = dynobj = abfd;
+ if (! _frv_create_got_section (abfd, info))
+ return FALSE;
+ }
+ if (h != NULL)
+ {
+ if (h->dynindx == -1)
+ switch (ELF_ST_VISIBILITY (h->other))
+ {
+ case STV_INTERNAL:
+ case STV_HIDDEN:
+ break;
+ default:
+ bfd_elf32_link_record_dynamic_symbol (info, h);
+ break;
+ }
+ picrel
+ = frv_pic_relocs_info_for_global (frv_relocs_info (info),
+ abfd, h,
+ rel->r_addend);
+ }
+ else
+ picrel = frv_pic_relocs_info_for_local (frv_relocs_info (info),
+ abfd, r_symndx,
+ rel->r_addend);
+ if (! picrel)
+ return FALSE;
+ break;
+
+ default:
+ picrel = NULL;
+ break;
+ }
+
+ switch (ELF32_R_TYPE (rel->r_info))
{
+ case R_FRV_LABEL24:
+ picrel->call = 1;
+ break;
+
+ case R_FRV_FUNCDESC_VALUE:
+ picrel->relocsfdv++;
+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+ picrel->relocs32--;
+ /* Fall through. */
+ case R_FRV_32:
+ picrel->sym = 1;
+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
+ picrel->relocs32++;
+ break;
+
+ case R_FRV_GOT12:
+ picrel->got12 = 1;
+ break;
+
+ case R_FRV_GOTHI:
+ case R_FRV_GOTLO:
+ picrel->gothilo = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOT12:
+ picrel->fdgot12 = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTHI:
+ case R_FRV_FUNCDESC_GOTLO:
+ picrel->fdgothilo = 1;
+ break;
+
+ case R_FRV_GOTOFF12:
+ case R_FRV_GOTOFFHI:
+ case R_FRV_GOTOFFLO:
+ picrel->gotoff = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFF12:
+ picrel->fdgoff12 = 1;
+ break;
+
+ case R_FRV_FUNCDESC_GOTOFFHI:
+ case R_FRV_FUNCDESC_GOTOFFLO:
+ picrel->fdgoffhilo = 1;
+ break;
+
+ case R_FRV_FUNCDESC:
+ picrel->fd = 1;
+ picrel->relocsfd++;
+ break;
+
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
case R_FRV_GNU_VTINHERIT:
@@ -1067,6 +4020,9 @@ frv_elf_merge_private_bfd_data (ibfd, obfd)
new_flags = elf_elfheader (ibfd)->e_flags;
old_flags = elf_elfheader (obfd)->e_flags;
+ if (new_flags & EF_FRV_FDPIC)
+ new_flags &= ~EF_FRV_PIC;
+
#ifdef DEBUG
(*_bfd_error_handler) ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
@@ -1369,6 +4325,12 @@ frv_elf_print_private_bfd_data (abfd, ptr)
if (flags & EF_FRV_BIGPIC)
fprintf (file, " -fPIC");
+ if (flags & EF_FRV_LIBPIC)
+ fprintf (file, " -mlibrary-pic");
+
+ if (flags & EF_FRV_FDPIC)
+ fprintf (file, " -mfdpic");
+
if (flags & EF_FRV_NON_PIC_RELOCS)
fprintf (file, " non-pic relocations");
@@ -1387,7 +4349,7 @@ frv_elf_print_private_bfd_data (abfd, ptr)
#define TARGET_BIG_SYM bfd_elf32_frv_vec
#define TARGET_BIG_NAME "elf32-frv"
-#define elf_info_to_howto_rel NULL
+#define elf_info_to_howto_rel frv_info_to_howto_rel
#define elf_info_to_howto frv_info_to_howto_rela
#define elf_backend_relocate_section elf32_frv_relocate_section
#define elf_backend_gc_mark_hook elf32_frv_gc_mark_hook
@@ -1405,4 +4367,33 @@ frv_elf_print_private_bfd_data (abfd, ptr)
#define bfd_elf32_bfd_merge_private_bfd_data frv_elf_merge_private_bfd_data
#define bfd_elf32_bfd_print_private_bfd_data frv_elf_print_private_bfd_data
+#define bfd_elf32_bfd_link_hash_table_create frv_elf_link_hash_table_create
+#define elf_backend_always_size_sections \
+ elf32_frv_always_size_sections
+#define elf_backend_modify_segment_map \
+ elf32_frv_modify_segment_map
+
+#define elf_backend_create_dynamic_sections \
+ elf32_frv_create_dynamic_sections
+#define elf_backend_adjust_dynamic_symbol \
+ elf32_frv_adjust_dynamic_symbol
+#define elf_backend_size_dynamic_sections \
+ elf32_frv_size_dynamic_sections
+#define elf_backend_finish_dynamic_symbol \
+ elf32_frv_finish_dynamic_symbol
+#define elf_backend_finish_dynamic_sections \
+ elf32_frv_finish_dynamic_sections
+
+#define elf_backend_want_got_sym 1
+#define elf_backend_got_header_size 0
+#define elf_backend_want_got_plt 0
+#define elf_backend_plt_readonly 1
+#define elf_backend_want_plt_sym 0
+#define elf_backend_plt_header_size 0
+
+#define elf_backend_may_use_rel_p 1
+#define elf_backend_may_use_rela_p 1
+/* We use REL for dynamic relocations only. */
+#define elf_backend_default_use_rela_p 1
+
#include "elf32-target.h"
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 18d87d4500..1a176214f0 100644
--- a/bfd/elf32-h8300.c
+++ b/bfd/elf32-h8300.c
@@ -1,5 +1,5 @@
/* BFD back-end for Renesas H8/300 ELF binaries.
- Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003
+ Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -30,23 +30,23 @@ static void elf32_h8_info_to_howto
(bfd *, arelent *, Elf_Internal_Rela *);
static void elf32_h8_info_to_howto_rel
(bfd *, arelent *, Elf_Internal_Rela *);
-static unsigned long elf32_h8_mach
- (flagword);
-static void elf32_h8_final_write_processing
- (bfd *, bfd_boolean);
-static bfd_boolean elf32_h8_object_p
- (bfd *);
-static bfd_boolean elf32_h8_merge_private_bfd_data
- (bfd *, bfd *);
+static unsigned long elf32_h8_mach (flagword);
+static void elf32_h8_final_write_processing (bfd *, bfd_boolean);
+static bfd_boolean elf32_h8_object_p (bfd *);
+static bfd_boolean elf32_h8_merge_private_bfd_data (bfd *, bfd *);
static bfd_boolean elf32_h8_relax_section
(bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
static bfd_boolean elf32_h8_relax_delete_bytes
(bfd *, asection *, bfd_vma, int);
-static bfd_boolean elf32_h8_symbol_address_p
- (bfd *, asection *, bfd_vma);
+static bfd_boolean elf32_h8_symbol_address_p (bfd *, asection *, bfd_vma);
static bfd_byte *elf32_h8_get_relocated_section_contents
(bfd *, struct bfd_link_info *, struct bfd_link_order *,
bfd_byte *, bfd_boolean, asymbol **);
+static asection *elf32_h8_gc_mark_hook
+ (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
+ struct elf_link_hash_entry *, Elf_Internal_Sym *);
+static bfd_boolean elf32_h8_gc_sweep_hook
+ (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
static bfd_reloc_status_type elf32_h8_final_link_relocate
(unsigned long, bfd *, bfd *, asection *,
bfd_byte *, bfd_vma, bfd_vma, bfd_vma,
@@ -348,7 +348,7 @@ elf32_h8_final_link_relocate (unsigned long r_type, bfd *input_bfd,
value += addend;
/* HIT_DATA is the address for the first byte for the relocated
- value. Subtract 1 so that we can manipulate the data in 32bit
+ value. Subtract 1 so that we can manipulate the data in 32-bit
hunks. */
hit_data--;
@@ -358,7 +358,7 @@ elf32_h8_final_link_relocate (unsigned long r_type, bfd *input_bfd,
/* Retrieve the type byte for value from the section contents. */
value |= (bfd_get_32 (input_bfd, hit_data) & 0xff000000);
- /* Now scribble it out in one 32bit hunk. */
+ /* Now scribble it out in one 32-bit hunk. */
bfd_put_32 (input_bfd, value, hit_data);
return bfd_reloc_ok;
@@ -640,8 +640,8 @@ elf32_h8_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
&& bfd_get_mach (obfd) < bfd_get_mach (ibfd))
{
if (! bfd_set_arch_mach (obfd, bfd_get_arch (ibfd),
- bfd_get_mach (ibfd)))
- return FALSE;
+ bfd_get_mach (ibfd)))
+ return FALSE;
}
return TRUE;
@@ -659,9 +659,16 @@ elf32_h8_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
bCC:16 -> bCC:8 2 bytes
bsr:16 -> bsr:8 2 bytes
+ bset:16 -> bset:8 2 bytes
+ bset:24/32 -> bset:8 4 bytes
+ (also applicable to other bit manipulation instructions)
+
mov.b:16 -> mov.b:8 2 bytes
mov.b:24/32 -> mov.b:8 4 bytes
+ bset:24/32 -> bset:16 2 bytes
+ (also applicable to other bit manipulation instructions)
+
mov.[bwl]:24/32 -> mov.[bwl]:16 2 bytes */
static bfd_boolean
@@ -804,7 +811,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
the linker is run. */
switch (ELF32_R_TYPE (irel->r_info))
{
- /* Try to turn a 24 bit absolute branch/call into an 8 bit
+ /* Try to turn a 24-bit absolute branch/call into an 8-bit
pc-relative branch/call. */
case R_H8_DIR24R8:
{
@@ -915,8 +922,10 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
}
if (code == 0x5e)
+ /* This is jsr. */
bfd_put_8 (abfd, 0x55, contents + irel->r_offset - 1);
else if (code == 0x5a)
+ /* This is jmp. */
bfd_put_8 (abfd, 0x40, contents + irel->r_offset - 1);
else
abort ();
@@ -937,7 +946,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
break;
}
- /* Try to turn a 16bit pc-relative branch into a 8bit pc-relative
+ /* Try to turn a 16-bit pc-relative branch into a 8-bit pc-relative
branch. */
case R_H8_PCREL16:
{
@@ -971,14 +980,21 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (code == 0x58)
{
/* bCC:16 -> bCC:8 */
- /* Get the condition code from the original insn. */
+ /* Get the second byte of the original insn, which
+ contains the condition code. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+
+ /* Compute the fisrt byte of the relaxed
+ instruction. The original sequence 0x58 0xX0
+ is relaxed to 0x4X, where X represents the
+ condition code. */
code &= 0xf0;
code >>= 4;
code |= 0x40;
bfd_put_8 (abfd, code, contents + irel->r_offset - 2);
}
else if (code == 0x5c)
+ /* This is bsr. */
bfd_put_8 (abfd, 0x55, contents + irel->r_offset - 2);
else
abort ();
@@ -1000,8 +1016,15 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
break;
}
- /* This is a 16 bit absolute address in a "mov.b" insn, which may
- become an 8 bit absolute address if its in the right range. */
+ /* This is a 16-bit absolute address in one of the following
+ instructions:
+
+ "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
+ "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
+ "mov.b"
+
+ We may relax this into an 8-bit absolute address if it's in
+ the right range. */
case R_H8_DIR16A8:
{
bfd_vma value;
@@ -1010,6 +1033,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (value >= 0xffffff00u)
{
unsigned char code;
+ unsigned char temp_code;
/* Note that we've changed the relocs, section contents,
etc. */
@@ -1020,22 +1044,46 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
/* Get the opcode. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 2);
- /* Sanity check. */
+ /* All instructions with R_H8_DIR16A8 start with
+ 0x6a. */
if (code != 0x6a)
abort ();
- code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ temp_code = code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ /* If this is a mov.b instruction, clear the lower
+ nibble, which contains the source/destination
+ register number. */
+ if ((temp_code & 0x10) != 0x10)
+ temp_code &= 0xf0;
- if ((code & 0xf0) == 0x00)
- bfd_put_8 (abfd,
- (code & 0xf) | 0x20,
- contents + irel->r_offset - 2);
- else if ((code & 0xf0) == 0x80)
- bfd_put_8 (abfd,
- (code & 0xf) | 0x30,
- contents + irel->r_offset - 2);
- else
- abort ();
+ switch (temp_code)
+ {
+ case 0x00:
+ /* This is mov.b @aa:16,Rd. */
+ bfd_put_8 (abfd, (code & 0xf) | 0x20,
+ contents + irel->r_offset - 2);
+ break;
+ case 0x80:
+ /* This is mov.b Rs,@aa:16. */
+ bfd_put_8 (abfd, (code & 0xf) | 0x30,
+ contents + irel->r_offset - 2);
+ break;
+ case 0x18:
+ /* This is a bit-maniputation instruction that
+ stores one bit into memory, one of "bclr",
+ "bist", "bnot", "bset", and "bst". */
+ bfd_put_8 (abfd, 0x7f, contents + irel->r_offset - 2);
+ break;
+ case 0x10:
+ /* This is a bit-maniputation instruction that
+ loads one bit from memory, one of "band",
+ "biand", "bild", "bior", "bixor", "bld", "bor",
+ "btst", and "bxor". */
+ bfd_put_8 (abfd, 0x7e, contents + irel->r_offset - 2);
+ break;
+ default:
+ abort ();
+ }
/* Fix the relocation's type. */
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
@@ -1056,8 +1104,15 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
break;
}
- /* This is a 24 bit absolute address in a "mov.b" insn, which may
- become an 8 bit absolute address if its in the right range. */
+ /* This is a 24-bit absolute address in one of the following
+ instructions:
+
+ "band", "bclr", "biand", "bild", "bior", "bist", "bixor",
+ "bld", "bnot", "bor", "bset", "bst", "btst", "bxor", and
+ "mov.b"
+
+ We may relax this into an 8-bit absolute address if it's in
+ the right range. */
case R_H8_DIR24A8:
{
bfd_vma value;
@@ -1066,6 +1121,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
if (value >= 0xffffff00u)
{
unsigned char code;
+ unsigned char temp_code;
/* Note that we've changed the relocs, section contents,
etc. */
@@ -1076,24 +1132,46 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
/* Get the opcode. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 2);
- /* Sanity check. */
+ /* All instructions with R_H8_DIR24A8 start with
+ 0x6a. */
if (code != 0x6a)
abort ();
- code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+ temp_code = code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
+
+ /* If this is a mov.b instruction, clear the lower
+ nibble, which contains the source/destination
+ register number. */
+ if ((temp_code & 0x30) != 0x30)
+ temp_code &= 0xf0;
- switch (code & 0xf0)
+ switch (temp_code)
{
case 0x20:
+ /* This is mov.b @aa:24/32,Rd. */
bfd_put_8 (abfd, (code & 0xf) | 0x20,
contents + irel->r_offset - 2);
break;
case 0xa0:
+ /* This is mov.b Rs,@aa:24/32. */
bfd_put_8 (abfd, (code & 0xf) | 0x30,
contents + irel->r_offset - 2);
break;
+ case 0x38:
+ /* This is a bit-maniputation instruction that
+ stores one bit into memory, one of "bclr",
+ "bist", "bnot", "bset", and "bst". */
+ bfd_put_8 (abfd, 0x7f, contents + irel->r_offset - 2);
+ break;
+ case 0x30:
+ /* This is a bit-maniputation instruction that
+ loads one bit from memory, one of "band",
+ "biand", "bild", "bior", "bixor", "bld", "bor",
+ "btst", and "bxor". */
+ bfd_put_8 (abfd, 0x7e, contents + irel->r_offset - 2);
+ break;
default:
- abort ();
+ abort();
}
/* Fix the relocation's type. */
@@ -1113,10 +1191,17 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
}
}
- /* FALLTHRU */
+ /* Fall through. */
+
+ /* This is a 24-/32-bit absolute address in one of the
+ following instructions:
- /* This is a 24/32bit absolute address in a "mov" insn, which may
- become a 16-bit absolute address if it is in the right range. */
+ "band", "bclr", "biand", "bild", "bior", "bist",
+ "bixor", "bld", "bnot", "bor", "bset", "bst", "btst",
+ "bxor", and "mov.[bwl]"
+
+ We may relax this into an 16-bit absolute address if it's
+ in the right range. */
case R_H8_DIR32A16:
{
bfd_vma value;
@@ -1135,7 +1220,9 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
/* Get the opcode. */
code = bfd_get_8 (abfd, contents + irel->r_offset - 1);
- /* We just need to turn off bit 0x20. */
+ /* Fix the opcode. For all the instructions that
+ belong to this relaxation, we simply need to turn
+ off bit 0x20 in the previous byte. */
code &= ~0x20;
bfd_put_8 (abfd, code, contents + irel->r_offset - 1);
@@ -1428,6 +1515,42 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
return NULL;
}
+static asection *
+elf32_h8_gc_mark_hook (asection *sec,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ Elf_Internal_Rela *rel ATTRIBUTE_UNUSED,
+ struct elf_link_hash_entry *h,
+ Elf_Internal_Sym *sym)
+{
+ if (h != NULL)
+ {
+ switch (h->root.type)
+ {
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
+ return h->root.u.def.section;
+
+ case bfd_link_hash_common:
+ return h->root.u.c.p->section;
+
+ default:
+ break;
+ }
+ }
+ else
+ return bfd_section_from_elf_index (sec->owner, sym->st_shndx);
+ return NULL;
+}
+
+static bfd_boolean
+elf32_h8_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info ATTRIBUTE_UNUSED,
+ asection *sec ATTRIBUTE_UNUSED,
+ const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED)
+{
+ return TRUE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_h8300_vec
#define TARGET_BIG_NAME "elf32-h8300"
@@ -1446,6 +1569,8 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
elf32_h8_object_p
#define bfd_elf32_bfd_merge_private_bfd_data \
elf32_h8_merge_private_bfd_data
+#define elf_backend_gc_mark_hook elf32_h8_gc_mark_hook
+#define elf_backend_gc_sweep_hook elf32_h8_gc_sweep_hook
/* ??? when elf_backend_relocate_section is not defined, elf32-target.h
defaults to using _bfd_generic_link_hash_table_create, but
@@ -1457,6 +1582,7 @@ elf32_h8_get_relocated_section_contents (bfd *output_bfd,
/* Use an H8 specific linker, not the ELF generic linker. */
#define elf_backend_relocate_section elf32_h8_relocate_section
#define elf_backend_rela_normal 1
+#define elf_backend_can_gc_sections 1
/* And relaxing stuff. */
#define bfd_elf32_bfd_relax_section elf32_h8_relax_section
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 876efc6ab0..0a3d83fb5a 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1,5 +1,5 @@
/* Intel 80386/80486-specific support for 32-bit ELF
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -346,29 +346,50 @@ elf_i386_is_local_label_name (bfd *abfd, const char *name)
}
/* Support for core dump NOTE sections. */
+
static bfd_boolean
elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
{
int offset;
size_t raw_size;
- switch (note->descsz)
+ if (note->namesz == 8 && strcmp (note->namedata, "FreeBSD") == 0)
{
- default:
- return FALSE;
+ int pr_version = bfd_get_32 (abfd, note->descdata);
+
+ if (pr_version != 1)
+ return FALSE;
+
+ /* pr_cursig */
+ elf_tdata (abfd)->core_signal = bfd_get_32 (abfd, note->descdata + 20);
+
+ /* pr_pid */
+ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
+
+ /* pr_reg */
+ offset = 28;
+ raw_size = bfd_get_32 (abfd, note->descdata + 8);
+ }
+ else
+ {
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
- case 144: /* Linux/i386 */
- /* pr_cursig */
- elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12);
+ case 144: /* Linux/i386 */
+ /* pr_cursig */
+ elf_tdata (abfd)->core_signal = bfd_get_16 (abfd, note->descdata + 12);
- /* pr_pid */
- elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
+ /* pr_pid */
+ elf_tdata (abfd)->core_pid = bfd_get_32 (abfd, note->descdata + 24);
- /* pr_reg */
- offset = 72;
- raw_size = 68;
+ /* pr_reg */
+ offset = 72;
+ raw_size = 68;
- break;
+ break;
+ }
}
/* Make a ".reg/999" section. */
@@ -379,22 +400,36 @@ elf_i386_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
static bfd_boolean
elf_i386_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
{
- switch (note->descsz)
+ if (note->namesz == 8 && strcmp (note->namedata, "FreeBSD") == 0)
{
- default:
+ int pr_version = bfd_get_32 (abfd, note->descdata);
+
+ if (pr_version != 1)
return FALSE;
- case 124: /* Linux/i386 elf_prpsinfo */
- elf_tdata (abfd)->core_program
- = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16);
- elf_tdata (abfd)->core_command
- = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80);
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 8, 17);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 25, 81);
+ }
+ else
+ {
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
+
+ case 124: /* Linux/i386 elf_prpsinfo. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 44, 80);
+ }
}
/* Note that for some reason, a spurious space is tacked
onto the end of the args in some (at least one anyway)
implementations, so strip it off if it exists. */
-
{
char *command = elf_tdata (abfd)->core_command;
int n = strlen (command);
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 2794ffb413..3edf4a9738 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -44,6 +44,8 @@ static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
static void m32r_info_to_howto_rel
PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
+static void m32r_info_to_howto
+ PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
bfd_boolean _bfd_m32r_elf_section_from_bfd_section
PARAMS ((bfd *, asection *, int *));
void _bfd_m32r_elf_symbol_processing
@@ -77,10 +79,34 @@ static bfd_boolean m32r_elf_check_relocs
PARAMS ((bfd *, struct bfd_link_info *, asection *,
const Elf_Internal_Rela *));
+static bfd_boolean m32r_elf_adjust_dynamic_symbol
+ PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+static bfd_boolean m32r_elf_size_dynamic_sections
+ PARAMS ((bfd *, struct bfd_link_info *));
+
asection * m32r_elf_gc_mark_hook
PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *,
struct elf_link_hash_entry *, Elf_Internal_Sym *));
+static bfd_boolean m32r_elf_create_dynamic_sections
+ PARAMS ((bfd *, struct bfd_link_info *));
+
+static bfd_boolean m32r_elf_finish_dynamic_sections
+ PARAMS ((bfd *, struct bfd_link_info *));
+
+static bfd_boolean m32r_elf_finish_dynamic_symbol
+ PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
+ Elf_Internal_Sym *));
+
+static bfd_boolean allocate_dynrelocs
+ PARAMS ((struct elf_link_hash_entry *, PTR));
+static bfd_boolean readonly_dynrelocs
+ PARAMS ((struct elf_link_hash_entry *, PTR));
+static enum elf_reloc_type_class m32r_elf_reloc_type_class
+ PARAMS ((const Elf_Internal_Rela *));
+static bfd_boolean m32r_elf_fake_sections
+ PARAMS ((bfd *, Elf_Internal_Shdr *, asection *));
+
#define NOP_INSN 0x7000
#define MAKE_PARALLEL(insn) ((insn) | 0x8000)
@@ -88,11 +114,55 @@ asection * m32r_elf_gc_mark_hook
This only saves space in libraries and object files, but perhaps
relocs will be put in ROM? All in all though, REL relocs are a pain
to work with. */
-#define USE_REL 1
+/* #define USE_REL 1
#ifndef USE_REL
#define USE_REL 0
-#endif
+#endif */
+/* Use RELA. But use REL to link old objects for backwords compatibility. */
+
+/* Functions for the M32R ELF linker. */
+
+/* The name of the dynamic interpreter. This is put in the .interp
+ section. */
+
+#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
+
+/* The nop opcode we use. */
+
+#define M32R_NOP 0x7000f000
+
+#define PLT_EMPTY 0x10101010 /* RIE -> RIE */
+
+/* The size in bytes of an entry in the procedure linkage table. */
+
+#define PLT_ENTRY_SIZE 20
+#define PLT_HEADER_SIZE 20
+
+/* The first one entries in a procedure linkage table are reserved,
+ and the initial contents are unimportant (we zero them out).
+ Subsequent entries look like this. */
+
+#define PLT0_ENTRY_WORD0 0xd6c00000 /* seth r6, #high(.got+4) */
+#define PLT0_ENTRY_WORD1 0x86e60000 /* or3 r6, r6, #low(.got)+4) */
+#define PLT0_ENTRY_WORD2 0x24e626c6 /* ld r4, @r6+ -> ld r6, @r6 */
+#define PLT0_ENTRY_WORD3 0x1fc6f000 /* jmp r6 || pnop */
+#define PLT0_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */
+
+#define PLT0_PIC_ENTRY_WORD0 0xa4cc0004 /* ld r4, @(4,r12) */
+#define PLT0_PIC_ENTRY_WORD1 0xa6cc0008 /* ld r6, @(8,r12) */
+#define PLT0_PIC_ENTRY_WORD2 0x1fc6f000 /* jmp r6 || nop */
+#define PLT0_PIC_ENTRY_WORD3 PLT_EMPTY /* RIE -> RIE */
+#define PLT0_PIC_ENTRY_WORD4 PLT_EMPTY /* RIE -> RIE */
+
+#define PLT_ENTRY_WORD0 0xe6000000 /* ld24 r6, .name_in_GOT */
+#define PLT_ENTRY_WORD1 0x06acf000 /* add r6, r12 || nop */
+#define PLT_ENTRY_WORD0b 0xd6c00000 /* seth r6, #high(.name_in_GOT) */
+#define PLT_ENTRY_WORD1b 0x86e60000 /* or3 r6, r6, #low(.name_in_GOT) */
+#define PLT_ENTRY_WORD2 0x26c61fc6 /* ld r6, @r6 -> jmp r6 */
+#define PLT_ENTRY_WORD3 0xe5000000 /* ld24 r5, $offset */
+#define PLT_ENTRY_WORD4 0xff000000 /* bra .plt0. */
+
static reloc_howto_type m32r_elf_howto_table[] =
{
@@ -302,6 +372,437 @@ static reloc_howto_type m32r_elf_howto_table[] =
0, /* dst_mask */
FALSE), /* pcrel_offset */
+ EMPTY_HOWTO (13),
+ EMPTY_HOWTO (14),
+ EMPTY_HOWTO (15),
+ EMPTY_HOWTO (16),
+ EMPTY_HOWTO (17),
+ EMPTY_HOWTO (18),
+ EMPTY_HOWTO (19),
+ EMPTY_HOWTO (20),
+ EMPTY_HOWTO (21),
+ EMPTY_HOWTO (22),
+ EMPTY_HOWTO (23),
+ EMPTY_HOWTO (24),
+ EMPTY_HOWTO (25),
+ EMPTY_HOWTO (26),
+ EMPTY_HOWTO (27),
+ EMPTY_HOWTO (28),
+ EMPTY_HOWTO (29),
+ EMPTY_HOWTO (30),
+ EMPTY_HOWTO (31),
+ EMPTY_HOWTO (32),
+
+ /* A 16 bit absolute relocation. */
+ HOWTO (R_M32R_16_RELA, /* type */
+ 0, /* rightshift */
+ 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_16_RELA", /* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 32 bit absolute relocation. */
+ HOWTO (R_M32R_32_RELA, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc,/* special_function */
+ "R_M32R_32_RELA", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* A 24 bit address. */
+ HOWTO (R_M32R_24_RELA, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 24, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc,/* special_function */
+ "R_M32R_24_RELA", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffff, /* src_mask */
+ 0xffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ HOWTO (R_M32R_10_PCREL_RELA, /* type */
+ 2, /* rightshift */
+ 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 10, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ m32r_elf_10_pcrel_reloc, /* special_function */
+ "R_M32R_10_PCREL_RELA",/* name */
+ FALSE, /* partial_inplace */
+ 0xff, /* src_mask */
+ 0xff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* A relative 18 bit relocation, right shifted by 2. */
+ HOWTO (R_M32R_18_PCREL_RELA, /* type */
+ 2, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_18_PCREL_RELA",/* name */
+ FALSE, /* partial_inplace */
+ 0xffff, /* src_mask */
+ 0xffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* A relative 26 bit relocation, right shifted by 2. */
+ HOWTO (R_M32R_26_PCREL_RELA, /* type */
+ 2, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 26, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_26_PCREL_RELA",/* name */
+ FALSE, /* partial_inplace */
+ 0xffffff, /* src_mask */
+ 0xffffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* High 16 bits of address when lower 16 is or'd in. */
+ HOWTO (R_M32R_HI16_ULO_RELA, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_HI16_ULO_RELA",/* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* High 16 bits of address when lower 16 is added in. */
+ HOWTO (R_M32R_HI16_SLO_RELA, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_HI16_SLO_RELA",/* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Lower 16 bits of address. */
+ HOWTO (R_M32R_LO16_RELA, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_LO16_RELA", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Small data area 16 bits offset. */
+ HOWTO (R_M32R_SDA16_RELA, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_SDA16_RELA", /* name */
+ TRUE, /* partial_inplace */ /* FIXME: correct? */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* GNU extension to record C++ vtable hierarchy */
+ HOWTO (R_M32R_RELA_GNU_VTINHERIT, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 0, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ NULL, /* special_function */
+ "R_M32R_RELA_GNU_VTINHERIT", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* GNU extension to record C++ vtable member usage */
+ HOWTO (R_M32R_RELA_GNU_VTENTRY, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 0, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ _bfd_elf_rel_vtable_reloc_fn, /* special_function */
+ "R_M32R_RELA_GNU_VTENTRY", /* name */
+ FALSE, /* partial_inplace */
+ 0, /* src_mask */
+ 0, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ EMPTY_HOWTO (45),
+ EMPTY_HOWTO (46),
+ EMPTY_HOWTO (47),
+
+ /* Like R_M32R_24, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOT24, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 24, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOT24", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffff, /* src_mask */
+ 0xffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Like R_M32R_PCREL, but referring to the procedure linkage table
+ entry for the symbol. */
+ HOWTO (R_M32R_26_PLTREL, /* type */
+ 2, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 24, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_signed, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_26_PLTREL", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffff, /* src_mask */
+ 0xffffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* This is used only by the dynamic linker. The symbol should exist
+ both in the object being run and in some shared library. The
+ dynamic linker copies the data addressed by the symbol from the
+ shared library into the object, because the object being
+ run has to have the data at some particular address. */
+ HOWTO (R_M32R_COPY, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_COPY", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Like R_M32R_24, but used when setting global offset table
+ entries. */
+ HOWTO (R_M32R_GLOB_DAT, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GLOB_DAT", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Marks a procedure linkage table entry for a symbol. */
+ HOWTO (R_M32R_JMP_SLOT, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_JMP_SLOT", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Used only by the dynamic linker. When the object is run, this
+ longword is set to the load address of the object, plus the
+ addend. */
+ HOWTO (R_M32R_RELATIVE, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_RELATIVE", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ HOWTO (R_M32R_GOTOFF, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 32, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_bitfield, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOTOFF", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffffff, /* src_mask */
+ 0xffffffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* An PC Relative 24-bit relocation used when setting PIC offset
+ table register. */
+ HOWTO (R_M32R_GOTPC24, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 24, /* bitsize */
+ TRUE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOTPC24", /* name */
+ FALSE, /* partial_inplace */
+ 0xffffff, /* src_mask */
+ 0xffffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* Like R_M32R_HI16_ULO, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOT16_HI_ULO, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOT16_HI_ULO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Like R_M32R_HI16_SLO, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOT16_HI_SLO, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOT16_HI_SLO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* Like R_M32R_LO16, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOT16_LO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOT16_LO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* An PC Relative relocation used when setting PIC offset table register.
+ Like R_M32R_HI16_ULO, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOTPC_HI_ULO, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOTPC_HI_ULO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* An PC Relative relocation used when setting PIC offset table register.
+ Like R_M32R_HI16_SLO, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOTPC_HI_SLO, /* type */
+ 16, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOTPC_HI_SLO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
+
+ /* An PC Relative relocation used when setting PIC offset table register.
+ Like R_M32R_LO16, but referring to the GOT table entry for
+ the symbol. */
+ HOWTO (R_M32R_GOTPC_LO, /* type */
+ 0, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 16, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_dont, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ "R_M32R_GOTPC_LO", /* name */
+ FALSE, /* partial_inplace */
+ 0x0000ffff, /* src_mask */
+ 0x0000ffff, /* dst_mask */
+ TRUE), /* pcrel_offset */
};
/* Handle the R_M32R_10_PCREL reloc. */
@@ -715,7 +1216,7 @@ struct m32r_reloc_map
unsigned char elf_reloc_val;
};
-static const struct m32r_reloc_map m32r_reloc_map[] =
+static const struct m32r_reloc_map m32r_reloc_map_old[] =
{
{ BFD_RELOC_NONE, R_M32R_NONE },
{ BFD_RELOC_16, R_M32R_16 },
@@ -732,6 +1233,38 @@ static const struct m32r_reloc_map m32r_reloc_map[] =
{ BFD_RELOC_VTABLE_ENTRY, R_M32R_GNU_VTENTRY },
};
+static const struct m32r_reloc_map m32r_reloc_map[] =
+{
+ { BFD_RELOC_NONE, R_M32R_NONE },
+ { BFD_RELOC_16, R_M32R_16_RELA },
+ { BFD_RELOC_32, R_M32R_32_RELA },
+ { BFD_RELOC_M32R_24, R_M32R_24_RELA },
+ { BFD_RELOC_M32R_10_PCREL, R_M32R_10_PCREL_RELA },
+ { BFD_RELOC_M32R_18_PCREL, R_M32R_18_PCREL_RELA },
+ { BFD_RELOC_M32R_26_PCREL, R_M32R_26_PCREL_RELA },
+ { BFD_RELOC_M32R_HI16_ULO, R_M32R_HI16_ULO_RELA },
+ { BFD_RELOC_M32R_HI16_SLO, R_M32R_HI16_SLO_RELA },
+ { BFD_RELOC_M32R_LO16, R_M32R_LO16_RELA },
+ { BFD_RELOC_M32R_SDA16, R_M32R_SDA16_RELA },
+ { BFD_RELOC_VTABLE_INHERIT, R_M32R_RELA_GNU_VTINHERIT },
+ { BFD_RELOC_VTABLE_ENTRY, R_M32R_RELA_GNU_VTENTRY },
+
+ { BFD_RELOC_M32R_GOT24, R_M32R_GOT24 },
+ { BFD_RELOC_M32R_26_PLTREL, R_M32R_26_PLTREL },
+ { BFD_RELOC_M32R_COPY, R_M32R_COPY },
+ { BFD_RELOC_M32R_GLOB_DAT, R_M32R_GLOB_DAT },
+ { BFD_RELOC_M32R_JMP_SLOT, R_M32R_JMP_SLOT },
+ { BFD_RELOC_M32R_RELATIVE, R_M32R_RELATIVE },
+ { BFD_RELOC_M32R_GOTOFF, R_M32R_GOTOFF },
+ { BFD_RELOC_M32R_GOTPC24, R_M32R_GOTPC24 },
+ { BFD_RELOC_M32R_GOT16_HI_ULO, R_M32R_GOT16_HI_ULO },
+ { BFD_RELOC_M32R_GOT16_HI_SLO, R_M32R_GOT16_HI_SLO },
+ { BFD_RELOC_M32R_GOT16_LO, R_M32R_GOT16_LO },
+ { BFD_RELOC_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_ULO },
+ { BFD_RELOC_M32R_GOTPC_HI_SLO, R_M32R_GOTPC_HI_SLO },
+ { BFD_RELOC_M32R_GOTPC_LO, R_M32R_GOTPC_LO },
+};
+
static reloc_howto_type *
bfd_elf32_bfd_reloc_type_lookup (abfd, code)
bfd *abfd ATTRIBUTE_UNUSED;
@@ -739,6 +1272,16 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, code)
{
unsigned int i;
+#ifdef USE_M32R_OLD_RELOC
+ for (i = 0;
+ i < sizeof (m32r_reloc_map_old) / sizeof (struct m32r_reloc_map);
+ i++)
+ {
+ if (m32r_reloc_map_old[i].bfd_reloc_val == code)
+ return &m32r_elf_howto_table[m32r_reloc_map_old[i].elf_reloc_val];
+ }
+#else /* ! USE_M32R_OLD_RELOC */
+
for (i = 0;
i < sizeof (m32r_reloc_map) / sizeof (struct m32r_reloc_map);
i++)
@@ -746,6 +1289,7 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, code)
if (m32r_reloc_map[i].bfd_reloc_val == code)
return &m32r_elf_howto_table[m32r_reloc_map[i].elf_reloc_val];
}
+#endif
return NULL;
}
@@ -761,9 +1305,22 @@ m32r_info_to_howto_rel (abfd, cache_ptr, dst)
unsigned int r_type;
r_type = ELF32_R_TYPE (dst->r_info);
- BFD_ASSERT (r_type < (unsigned int) R_M32R_max);
+ BFD_ASSERT (ELF32_R_TYPE(dst->r_info) <= (unsigned int) R_M32R_GNU_VTENTRY)
cache_ptr->howto = &m32r_elf_howto_table[r_type];
}
+
+static void
+m32r_info_to_howto (abfd, cache_ptr, dst)
+ bfd *abfd ATTRIBUTE_UNUSED;
+ arelent *cache_ptr;
+ Elf_Internal_Rela *dst;
+{
+ BFD_ASSERT ((ELF32_R_TYPE(dst->r_info) == (unsigned int) R_M32R_NONE)
+ || ((ELF32_R_TYPE(dst->r_info) > (unsigned int) R_M32R_GNU_VTENTRY)
+ && (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_M32R_max)));
+ cache_ptr->howto = &m32r_elf_howto_table[ELF32_R_TYPE(dst->r_info)];
+}
+
/* Given a BFD section, try to locate the corresponding ELF section
index. */
@@ -935,6 +1492,997 @@ m32r_elf_final_sda_base (output_bfd, info, error_message, psb)
return bfd_reloc_ok;
}
+/* Return size of a PLT entry. */
+#define elf_m32r_sizeof_plt(info) PLT_ENTRY_SIZE
+
+/* The m32r linker needs to keep track of the number of relocs that it
+ decides to copy in check_relocs for each symbol. This is so that
+ it can discard PC relative relocs if it doesn't need them when
+ linking with -Bsymbolic. We store the information in a field
+ extending the regular ELF linker hash table. */
+
+/* This structure keeps track of the number of PC relative relocs we
+ have copied for a given symbol. */
+
+struct elf_m32r_pcrel_relocs_copied
+{
+ /* Next section. */
+ struct elf_m32r_pcrel_relocs_copied *next;
+ /* A section in dynobj. */
+ asection *section;
+ /* Number of relocs copied in this section. */
+ bfd_size_type count;
+};
+
+/* The sh linker needs to keep track of the number of relocs that it
+ decides to copy as dynamic relocs in check_relocs for each symbol.
+ This is so that it can later discard them if they are found to be
+ unnecessary. We store the information in a field extending the
+ regular ELF linker hash table. */
+
+struct elf_m32r_dyn_relocs
+{
+ struct elf_m32r_dyn_relocs *next;
+
+ /* The input section of the reloc. */
+ asection *sec;
+
+ /* Total number of relocs copied for the input section. */
+ bfd_size_type count;
+
+ /* Number of pc-relative relocs copied for the input section. */
+ bfd_size_type pc_count;
+};
+
+
+/* m32r ELF linker hash entry. */
+
+struct elf_m32r_link_hash_entry
+{
+ struct elf_link_hash_entry root;
+
+ /* Track dynamic relocs copied for this symbol. */
+ struct elf_m32r_dyn_relocs *dyn_relocs;
+
+// bfd_signed_vma gotplt_refcount;
+
+ /* Number of PC relative relocs copied for this symbol. */
+ /* struct elf_m32r_pcrel_relocs_copied *pcrel_relocs_copied; FIXME */
+};
+
+/* m32r ELF linker hash table. */
+
+struct elf_m32r_link_hash_table
+{
+ struct elf_link_hash_table root;
+
+ /* Short-cuts to get to dynamic linker sections. */
+ asection *sgot;
+ asection *sgotplt;
+ asection *srelgot;
+ asection *splt;
+ asection *srelplt;
+ asection *sdynbss;
+ asection *srelbss;
+
+ /* Small local sym to section mapping cache. */
+ struct sym_sec_cache sym_sec;
+};
+
+/* Traverse an m32r ELF linker hash table. */
+
+#define m32r_elf_link_hash_traverse(table, func, info) \
+ (elf_link_hash_traverse \
+ (&(table)->root, \
+ (bfd_boolean (*) PARAMS ((struct elf_link_hash_entry *, PTR))) (func), \
+ (info)))
+
+/* Get the m32r ELF linker hash table from a link_info structure. */
+
+
+#define m32r_elf_hash_table(p) \
+ ((struct elf_m32r_link_hash_table *) ((p)->hash))
+
+/* Create an entry in an m32r ELF linker hash table. */
+static struct bfd_hash_entry *
+m32r_elf_link_hash_newfunc (struct bfd_hash_entry *, struct bfd_hash_table *,
+ const char * );
+
+static struct bfd_hash_entry *
+m32r_elf_link_hash_newfunc (entry, table, string)
+ struct bfd_hash_entry *entry;
+ struct bfd_hash_table *table;
+ const char *string;
+{
+ struct elf_m32r_link_hash_entry *ret =
+ (struct elf_m32r_link_hash_entry *) entry;
+
+ /* Allocate the structure if it has not already been allocated by a
+ subclass. */
+ if (ret == (struct elf_m32r_link_hash_entry *) NULL)
+ ret = ((struct elf_m32r_link_hash_entry *)
+ bfd_hash_allocate (table,
+ sizeof (struct elf_m32r_link_hash_entry)));
+ if (ret == (struct elf_m32r_link_hash_entry *) NULL)
+ return (struct bfd_hash_entry *) ret;
+
+ /* Call the allocation method of the superclass. */
+ ret = ((struct elf_m32r_link_hash_entry *)
+ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret,
+ table, string));
+ if (ret != (struct elf_m32r_link_hash_entry *) NULL)
+ {
+ struct elf_m32r_link_hash_entry *eh;
+
+ eh = (struct elf_m32r_link_hash_entry *) ret;
+ eh->dyn_relocs = NULL;
+// eh->gotplt_refcount = 0;
+ /* eh->pcrel_relocs_copied = NULL; FIXME */
+ }
+
+ return (struct bfd_hash_entry *) ret;
+}
+
+/* Create an m32r ELF linker hash table. */
+static struct bfd_link_hash_table *m32r_elf_link_hash_table_create (bfd *);
+
+static struct bfd_link_hash_table *
+m32r_elf_link_hash_table_create (abfd)
+ bfd *abfd;
+{
+ struct elf_m32r_link_hash_table *ret;
+ bfd_size_type amt = sizeof (struct elf_m32r_link_hash_table);
+
+ ret = (struct elf_m32r_link_hash_table *) bfd_malloc (amt);
+ if (ret == (struct elf_m32r_link_hash_table *) NULL)
+ return NULL;
+
+ if (! _bfd_elf_link_hash_table_init (&ret->root, abfd,
+ m32r_elf_link_hash_newfunc))
+ {
+ free (ret);
+ return NULL;
+ }
+
+ ret->sgot = NULL;
+ ret->sgotplt = NULL;
+ ret->srelgot = NULL;
+ ret->splt = NULL;
+ ret->srelplt = NULL;
+ ret->sdynbss = NULL;
+ ret->srelbss = NULL;
+ ret->sym_sec.abfd = NULL;
+
+ return &ret->root.root;
+}
+
+/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up
+ shortcuts to them in our hash table. */
+static bfd_boolean create_got_section (bfd *, struct bfd_link_info *);
+
+static bfd_boolean
+create_got_section (dynobj, info)
+ bfd *dynobj;
+ struct bfd_link_info *info;
+{
+ struct elf_m32r_link_hash_table *htab;
+
+ if (! _bfd_elf_create_got_section (dynobj, info))
+ return FALSE;
+
+ htab = m32r_elf_hash_table (info);
+ htab->sgot = bfd_get_section_by_name (dynobj, ".got");
+ htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt");
+ if (! htab->sgot || ! htab->sgotplt)
+ abort ();
+
+ htab->srelgot = bfd_make_section (dynobj, ".rela.got");
+ if (htab->srelgot == NULL
+ || ! bfd_set_section_flags (dynobj, htab->srelgot,
+ (SEC_ALLOC
+ | SEC_LOAD
+ | SEC_HAS_CONTENTS
+ | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED
+ | SEC_READONLY))
+ || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2))
+ return FALSE;
+
+ return TRUE;
+}
+
+/* Create dynamic sections when linking against a dynamic object. */
+
+static bfd_boolean
+m32r_elf_create_dynamic_sections (abfd, info)
+ bfd *abfd;
+ struct bfd_link_info *info;
+{
+ struct elf_m32r_link_hash_table *htab;
+ flagword flags, pltflags;
+ register asection *s;
+ const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ int ptralign = 2; /* 32bit */
+
+ htab = m32r_elf_hash_table (info);
+
+ /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and
+ .rel[a].bss sections. */
+
+ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
+ | SEC_LINKER_CREATED);
+
+ pltflags = flags;
+ pltflags |= SEC_CODE;
+ if (bed->plt_not_loaded)
+ pltflags &= ~ (SEC_LOAD | SEC_HAS_CONTENTS);
+ if (bed->plt_readonly)
+ pltflags |= SEC_READONLY;
+
+ s = bfd_make_section (abfd, ".plt");
+ htab->splt = s;
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, pltflags)
+ || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
+ return FALSE;
+
+ if (bed->want_plt_sym)
+ {
+ /* Define the symbol _PROCEDURE_LINKAGE_TABLE_ at the start of the
+ .plt section. */
+ struct elf_link_hash_entry *h = NULL;
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, abfd, "_PROCEDURE_LINKAGE_TABLE_", BSF_GLOBAL, s,
+ (bfd_vma) 0, (const char *) NULL, FALSE,
+ get_elf_backend_data (abfd)->collect,
+ (struct bfd_link_hash_entry **) &h)))
+ return FALSE;
+ h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
+ h->type = STT_OBJECT;
+
+ if (info->shared
+ && ! _bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ s = bfd_make_section (abfd,
+ bed->default_use_rela_p ? ".rela.plt" : ".rel.plt");
+ htab->srelplt = s;
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+
+ if (htab->sgot == NULL
+ && ! create_got_section (abfd, info))
+ return FALSE;
+
+ {
+ const char *secname;
+ char *relname;
+ flagword secflags;
+ asection *sec;
+
+ for (sec = abfd->sections; sec; sec = sec->next)
+ {
+ secflags = bfd_get_section_flags (abfd, sec);
+ if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
+ || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
+ continue;
+ secname = bfd_get_section_name (abfd, sec);
+ relname = (char *) bfd_malloc ((bfd_size_type) strlen (secname) + 6);
+ strcpy (relname, ".rela");
+ strcat (relname, secname);
+ if (bfd_get_section_by_name (abfd, secname))
+ continue;
+ s = bfd_make_section (abfd, relname);
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+ }
+ }
+
+ if (bed->want_dynbss)
+ {
+ /* The .dynbss section is a place to put symbols which are defined
+ by dynamic objects, are referenced by regular objects, and are
+ not functions. We must allocate space for them in the process
+ image and use a R_*_COPY reloc to tell the dynamic linker to
+ initialize them at run time. The linker script puts the .dynbss
+ section into the .bss section of the final image. */
+ s = bfd_make_section (abfd, ".dynbss");
+ htab->sdynbss = s;
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, SEC_ALLOC))
+ return FALSE;
+ /* The .rel[a].bss section holds copy relocs. This section is not
+ normally needed. We need to create it here, though, so that the
+ linker will map it to an output section. We can't just create it
+ only if we need it, because we will not know whether we need it
+ until we have seen all the input files, and the first time the
+ main linker code calls BFD after examining all the input files
+ (size_dynamic_sections) the input sections have already been
+ mapped to the output sections. If the section turns out not to
+ be needed, we can discard it later. We will never need this
+ section when generating a shared object, since they do not use
+ copy relocs. */
+ if (! info->shared)
+ {
+ s = bfd_make_section (abfd,
+ (bed->default_use_rela_p
+ ? ".rela.bss" : ".rel.bss"));
+ htab->srelbss = s;
+ if (s == NULL
+ || ! bfd_set_section_flags (abfd, s, flags | SEC_READONLY)
+ || ! bfd_set_section_alignment (abfd, s, ptralign))
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+/* Copy the extra info we tack onto an elf_link_hash_entry. */
+static void m32r_elf_copy_indirect_symbol (const struct elf_backend_data *,
+ struct elf_link_hash_entry *,
+ struct elf_link_hash_entry *);
+
+static void
+m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed,
+ struct elf_link_hash_entry *dir,
+ struct elf_link_hash_entry *ind)
+{
+ struct elf_m32r_link_hash_entry *edir, *eind;
+
+ edir = (struct elf_m32r_link_hash_entry *) dir;
+ eind = (struct elf_m32r_link_hash_entry *) ind;
+
+ if (eind->dyn_relocs != NULL)
+ {
+ if (edir->dyn_relocs != NULL)
+ {
+ struct elf_m32r_dyn_relocs **pp;
+ struct elf_m32r_dyn_relocs *p;
+
+ if (ind->root.type == bfd_link_hash_indirect)
+ abort ();
+
+ /* Add reloc counts against the weak sym to the strong sym
+ list. Merge any entries against the same section. */
+ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
+ {
+ struct elf_m32r_dyn_relocs *q;
+
+ for (q = edir->dyn_relocs; q != NULL; q = q->next)
+ if (q->sec == p->sec)
+ {
+ q->pc_count += p->pc_count;
+ q->count += p->count;
+ *pp = p->next;
+ break;
+ }
+ if (q == NULL)
+ pp = &p->next;
+ }
+ *pp = edir->dyn_relocs;
+ }
+
+ edir->dyn_relocs = eind->dyn_relocs;
+ eind->dyn_relocs = NULL;
+ }
+
+// if (ind->root.type == bfd_link_hash_indirect
+// && dir->got.refcount <= 0)
+// {
+// edir->tls_type = eind->tls_type;
+// eind->tls_type = GOT_UNKNOWN;
+// }
+ _bfd_elf_link_hash_copy_indirect (bed, dir, ind);
+}
+
+
+/* Adjust a symbol defined by a dynamic object and referenced by a
+ regular object. The current definition is in some section of the
+ dynamic object, but we're not including those sections. We have to
+ change the definition to something the rest of the link can
+ understand. */
+
+static bfd_boolean
+m32r_elf_adjust_dynamic_symbol (info, h)
+ struct bfd_link_info *info;
+ struct elf_link_hash_entry *h;
+{
+ struct elf_m32r_link_hash_table *htab;
+ struct elf_m32r_link_hash_entry *eh;
+ struct elf_m32r_dyn_relocs *p;
+ bfd *dynobj;
+ asection *s;
+ unsigned int power_of_two;
+
+#ifdef DEBUG_PIC
+printf("m32r_elf_adjust_dynamic_symbol()\n");
+#endif
+
+ dynobj = elf_hash_table (info)->dynobj;
+
+ /* Make sure we know what is going on here. */
+ BFD_ASSERT (dynobj != NULL
+ && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT)
+ || h->weakdef != NULL
+ || ((h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_REF_REGULAR) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0)));
+
+
+ /* If this is a function, put it in the procedure linkage table. We
+ will fill in the contents of the procedure linkage table later,
+ when we know the address of the .got section. */
+ if (h->type == STT_FUNC
+ || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0)
+ {
+ if (! info->shared
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0
+ && h->root.type != bfd_link_hash_undefweak
+ && h->root.type != bfd_link_hash_undefined)
+ {
+ /* This case can occur if we saw a PLT reloc in an input
+ file, but the symbol was never referred to by a dynamic
+ object. In such a case, we don't actually need to build
+ a procedure linkage table, and we can just do a PCREL
+ reloc instead. */
+ h->plt.offset = (bfd_vma) -1;
+ h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
+ }
+
+ return TRUE;
+ }
+ else
+ h->plt.offset = (bfd_vma) -1;
+
+ /* If this is a weak symbol, and there is a real definition, the
+ processor independent code will have arranged for us to see the
+ real definition first, and we can just use the same value. */
+ if (h->weakdef != NULL)
+ {
+ BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined
+ || h->weakdef->root.type == bfd_link_hash_defweak);
+ h->root.u.def.section = h->weakdef->root.u.def.section;
+ h->root.u.def.value = h->weakdef->root.u.def.value;
+ return TRUE;
+ }
+
+ /* This is a reference to a symbol defined by a dynamic object which
+ is not a function. */
+
+ /* If we are creating a shared library, we must presume that the
+ only references to the symbol are via the global offset table.
+ For such cases we need not do anything here; the relocations will
+ be handled correctly by relocate_section. */
+ if (info->shared)
+ return TRUE;
+
+ /* If there are no references to this symbol that do not use the
+ GOT, we don't need to generate a copy reloc. */
+ if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0)
+ return TRUE;
+
+ /* If -z nocopyreloc was given, we won't generate them either. */
+ if (info->nocopyreloc)
+ {
+ h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF;
+ return TRUE;
+ }
+
+ eh = (struct elf_m32r_link_hash_entry *) h;
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ s = p->sec->output_section;
+ if (s != NULL && (s->flags & (SEC_READONLY | SEC_HAS_CONTENTS)) != 0)
+ break;
+ }
+
+ /* If we didn't find any dynamic relocs in sections which needs the
+ copy reloc, then we'll be keeping the dynamic relocs and avoiding
+ the copy reloc. */
+ if (p == NULL)
+ {
+ h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF;
+ return TRUE;
+ }
+
+ /* We must allocate the symbol in our .dynbss section, which will
+ become part of the .bss section of the executable. There will be
+ an entry for this symbol in the .dynsym section. The dynamic
+ object will contain position independent code, so all references
+ from the dynamic object to this symbol will go through the global
+ offset table. The dynamic linker will use the .dynsym entry to
+ determine the address it must put in the global offset table, so
+ both the dynamic object and the regular object will refer to the
+ same memory location for the variable. */
+
+ htab = m32r_elf_hash_table (info);
+ s = htab->sdynbss;
+ BFD_ASSERT (s != NULL);
+
+ /* We must generate a R_M32R_COPY reloc to tell the dynamic linker
+ to copy the initial value out of the dynamic object and into the
+ runtime process image. We need to remember the offset into the
+ .rela.bss section we are going to use. */
+ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0)
+ {
+ asection *srel;
+
+ srel = htab->srelbss;
+ BFD_ASSERT (srel != NULL);
+ srel->_raw_size += sizeof (Elf32_External_Rela);
+ h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY;
+ }
+
+ /* We need to figure out the alignment required for this symbol. I
+ have no idea how ELF linkers handle this. */
+ power_of_two = bfd_log2 (h->size);
+ if (power_of_two > 3)
+ power_of_two = 3;
+
+ /* Apply the required alignment. */
+ s->_raw_size = BFD_ALIGN (s->_raw_size,
+ (bfd_size_type) (1 << power_of_two));
+ if (power_of_two > bfd_get_section_alignment (dynobj, s))
+ {
+ if (! bfd_set_section_alignment (dynobj, s, power_of_two))
+ return FALSE;
+ }
+
+ /* Define the symbol as being at this point in the section. */
+ h->root.u.def.section = s;
+ h->root.u.def.value = s->_raw_size;
+
+ /* Increment the section size to make room for the symbol. */
+ s->_raw_size += h->size;
+
+ return TRUE;
+}
+
+/* This is the condition under which finish_dynamic_symbol will be called
+ from elflink.h. If elflink.h doesn't call our finish_dynamic_symbol
+ routine, we'll need to do something about initializing any .plt and .got
+ entries in relocate_section. */
+#define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, INFO, H) \
+ ((DYN) \
+ && ((INFO)->shared \
+ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \
+ && ((H)->dynindx != -1 \
+ || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0))
+
+/* Allocate space in .plt, .got and associated reloc sections for
+ dynamic relocs. */
+
+static bfd_boolean
+allocate_dynrelocs (h, inf)
+ struct elf_link_hash_entry *h;
+ PTR inf;
+{
+ struct bfd_link_info *info;
+ struct elf_m32r_link_hash_table *htab;
+ struct elf_m32r_link_hash_entry *eh;
+ struct elf_m32r_dyn_relocs *p;
+
+ if (h->root.type == bfd_link_hash_indirect)
+ return TRUE;
+
+ if (h->root.type == bfd_link_hash_warning)
+ /* When warning symbols are created, they **replace** the "real"
+ entry in the hash table, thus we never get to see the real
+ symbol in a hash traversal. So look at it now. */
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ info = (struct bfd_link_info *) inf;
+ htab = m32r_elf_hash_table (info);
+
+ eh = (struct elf_m32r_link_hash_entry *) h;
+// if ((h->got.refcount > 0
+// || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))
+// && eh->gotplt_refcount > 0)
+// {
+// /* The symbol has been forced local, or we have some direct got refs,
+// so treat all the gotplt refs as got refs. */
+// h->got.refcount += eh->gotplt_refcount;
+// if (h->plt.refcount >= eh->gotplt_refcount)
+// h->plt.refcount -= eh->gotplt_refcount;
+// }
+
+ if (htab->root.dynamic_sections_created
+ && h->plt.refcount > 0)
+ {
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ {
+ if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, info, h))
+ {
+ asection *s = htab->splt;
+
+ /* If this is the first .plt entry, make room for the special
+ first entry. */
+ if (s->_raw_size == 0)
+ s->_raw_size += PLT_ENTRY_SIZE;
+
+ h->plt.offset = s->_raw_size;
+
+ /* If this symbol is not defined in a regular file, and we are
+ not generating a shared library, then set the symbol to this
+ location in the .plt. This is required to make function
+ pointers compare as equal between the normal executable and
+ the shared library. */
+ if (! info->shared
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ {
+ h->root.u.def.section = s;
+ h->root.u.def.value = h->plt.offset;
+ }
+
+ /* Make room for this entry. */
+ s->_raw_size += PLT_ENTRY_SIZE;
+
+ /* We also need to make an entry in the .got.plt section, which
+ will be placed in the .got section by the linker script. */
+ htab->sgotplt->_raw_size += 4;
+
+ /* We also need to make an entry in the .rel.plt section. */
+ htab->srelplt->_raw_size += sizeof (Elf32_External_Rela);
+ }
+ else
+ {
+ h->plt.offset = (bfd_vma) -1;
+ h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
+ }
+ }
+ else
+ {
+ h->plt.offset = (bfd_vma) -1;
+ h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
+ }
+
+ if (h->got.refcount > 0)
+ {
+ asection *s;
+ bfd_boolean dyn;
+
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ {
+ if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ s = htab->sgot;
+
+ h->got.offset = s->_raw_size;
+ s->_raw_size += 4;
+ dyn = htab->root.dynamic_sections_created;
+ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h))
+ htab->srelgot->_raw_size += sizeof (Elf32_External_Rela);
+ }
+ else
+ h->got.offset = (bfd_vma) -1;
+
+ if (eh->dyn_relocs == NULL)
+ return TRUE;
+
+ /* In the shared -Bsymbolic case, discard space allocated for
+ dynamic pc-relative relocs against symbols which turn out to be
+ defined in regular objects. For the normal shared case, discard
+ space for pc-relative relocs that have become local due to symbol
+ visibility changes. */
+
+ if (info->shared)
+ {
+ if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0
+ && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0
+ || info->symbolic))
+ {
+ struct elf_m32r_dyn_relocs **pp;
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
+ {
+ p->count -= p->pc_count;
+ p->pc_count = 0;
+ if (p->count == 0)
+ *pp = p->next;
+ else
+ pp = &p->next;
+ }
+ }
+ }
+ else
+ {
+ /* For the non-shared case, discard space for relocs against
+ symbols which turn out to need copy relocs or are not
+ dynamic. */
+
+ if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
+ && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ || (htab->root.dynamic_sections_created
+ && (h->root.type == bfd_link_hash_undefweak
+ || h->root.type == bfd_link_hash_undefined))))
+ {
+ /* Make sure this symbol is output as a dynamic symbol.
+ Undefined weak syms won't yet be marked as dynamic. */
+ if (h->dynindx == -1
+ && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
+ {
+ if (! bfd_elf32_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
+
+ /* If that succeeded, we know we'll be keeping all the
+ relocs. */
+ if (h->dynindx != -1)
+ goto keep;
+ }
+
+ eh->dyn_relocs = NULL;
+
+ keep: ;
+ }
+
+ /* Finally, allocate space. */
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ asection *sreloc = elf_section_data (p->sec)->sreloc;
+ sreloc->_raw_size += p->count * sizeof (Elf32_External_Rela);
+ }
+
+ return TRUE;
+}
+/* Find any dynamic relocs that apply to read-only sections. */
+
+static bfd_boolean
+readonly_dynrelocs (h, inf)
+ struct elf_link_hash_entry *h;
+ PTR inf;
+{
+ struct elf_m32r_link_hash_entry *eh;
+ struct elf_m32r_dyn_relocs *p;
+
+ if (h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ eh = (struct elf_m32r_link_hash_entry *) h;
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ asection *s = p->sec->output_section;
+
+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
+ {
+ struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+ info->flags |= DF_TEXTREL;
+
+ /* Not an error, just cut short the traversal. */
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+/* Set the sizes of the dynamic sections. */
+
+static bfd_boolean
+m32r_elf_size_dynamic_sections (output_bfd, info)
+ bfd *output_bfd ATTRIBUTE_UNUSED;
+ struct bfd_link_info *info;
+{
+ struct elf_m32r_link_hash_table *htab;
+ bfd *dynobj;
+ asection *s;
+ bfd_boolean relocs;
+ bfd *ibfd;
+
+#ifdef DEBUG_PIC
+printf("m32r_elf_size_dynamic_sections()\n");
+#endif
+
+ htab = m32r_elf_hash_table (info);
+ dynobj = htab->root.dynobj;
+ BFD_ASSERT (dynobj != NULL);
+
+ if (htab->root.dynamic_sections_created)
+ {
+ /* Set the contents of the .interp section to the interpreter. */
+ if (! info->shared)
+ {
+ s = bfd_get_section_by_name (dynobj, ".interp");
+ BFD_ASSERT (s != NULL);
+ s->_raw_size = sizeof ELF_DYNAMIC_INTERPRETER;
+ s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER;
+ }
+ }
+
+ /* Set up .got offsets for local syms, and space for local dynamic
+ relocs. */
+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
+ {
+ bfd_signed_vma *local_got;
+ bfd_signed_vma *end_local_got;
+ bfd_size_type locsymcount;
+ Elf_Internal_Shdr *symtab_hdr;
+ asection *srel;
+
+ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+ continue;
+
+ for (s = ibfd->sections; s != NULL; s = s->next)
+ {
+ struct elf_m32r_dyn_relocs *p;
+
+ for (p = ((struct elf_m32r_dyn_relocs *)
+ elf_section_data (s)->local_dynrel);
+ p != NULL;
+ p = p->next)
+ {
+ if (! bfd_is_abs_section (p->sec)
+ && bfd_is_abs_section (p->sec->output_section))
+ {
+ /* Input section has been discarded, either because
+ it is a copy of a linkonce section or due to
+ linker script /DISCARD/, so we'll be discarding
+ the relocs too. */
+ }
+ else if (p->count != 0)
+ {
+ srel = elf_section_data (p->sec)->sreloc;
+ srel->_raw_size += p->count * sizeof (Elf32_External_Rela);
+ if ((p->sec->output_section->flags & SEC_READONLY) != 0)
+ info->flags |= DF_TEXTREL;
+ }
+ }
+ }
+
+ local_got = elf_local_got_refcounts (ibfd);
+ if (!local_got)
+ continue;
+
+ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
+ locsymcount = symtab_hdr->sh_info;
+ end_local_got = local_got + locsymcount;
+ s = htab->sgot;
+ srel = htab->srelgot;
+ for (; local_got < end_local_got; ++local_got)
+ {
+ if (*local_got > 0)
+ {
+ *local_got = s->_raw_size;
+ s->_raw_size += 4;
+ if (info->shared)
+ srel->_raw_size += sizeof (Elf32_External_Rela);
+ }
+ else
+ *local_got = (bfd_vma) -1;
+ }
+ }
+
+ /* Allocate global sym .plt and .got entries, and space for global
+ sym dynamic relocs. */
+ elf_link_hash_traverse (&htab->root, allocate_dynrelocs, (PTR) info);
+
+ /* We now have determined the sizes of the various dynamic sections.
+ Allocate memory for them. */
+ relocs = FALSE;
+ for (s = dynobj->sections; s != NULL; s = s->next)
+ {
+ if ((s->flags & SEC_LINKER_CREATED) == 0)
+ continue;
+
+ if (s == htab->splt
+ || s == htab->sgot
+ || s == htab->sgotplt)
+ {
+ /* Strip this section if we don't need it; see the
+ comment below. */
+ }
+ else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
+ {
+ if (s->_raw_size != 0 && s != htab->srelplt)
+ relocs = TRUE;
+
+ /* We use the reloc_count field as a counter if we need
+ to copy relocs into the output file. */
+ s->reloc_count = 0;
+ }
+ else
+ {
+ /* It's not one of our sections, so don't allocate space. */
+ continue;
+ }
+
+ if (s->_raw_size == 0)
+ {
+ /* If we don't need this section, strip it from the
+ output file. This is mostly to handle .rela.bss and
+ .rela.plt. We must create both sections in
+ create_dynamic_sections, because they must be created
+ before the linker maps input sections to output
+ sections. The linker does that before
+ adjust_dynamic_symbol is called, and it is that
+ function which decides whether anything needs to go
+ into these sections. */
+ _bfd_strip_section_from_output (info, s);
+ continue;
+ }
+
+ /* Allocate memory for the section contents. We use bfd_zalloc
+ here in case unused entries are not reclaimed before the
+ section's contents are written out. This should not happen,
+ but this way if it does, we get a R_M32R_NONE reloc instead
+ of garbage. */
+ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->_raw_size);
+ if (s->contents == NULL)
+ return FALSE;
+ }
+
+ if (htab->root.dynamic_sections_created)
+ {
+ /* Add some entries to the .dynamic section. We fill in the
+ values later, in m32r_elf_finish_dynamic_sections, but we
+ must add the entries now so that we get the correct size for
+ the .dynamic section. The DT_DEBUG entry is filled in by the
+ dynamic linker and used by the debugger. */
+#define add_dynamic_entry(TAG, VAL) \
+ bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL))
+
+ if (! info->shared)
+ {
+ if (! add_dynamic_entry (DT_DEBUG, 0))
+ return FALSE;
+ }
+
+ if (htab->splt->_raw_size != 0)
+ {
+ if (! add_dynamic_entry (DT_PLTGOT, 0)
+ || ! add_dynamic_entry (DT_PLTRELSZ, 0)
+ || ! add_dynamic_entry (DT_PLTREL, DT_RELA)
+ || ! add_dynamic_entry (DT_JMPREL, 0))
+ return FALSE;
+ }
+
+ if (relocs)
+ {
+ if (! add_dynamic_entry (DT_RELA, 0)
+ || ! add_dynamic_entry (DT_RELASZ, 0)
+ || ! add_dynamic_entry (DT_RELAENT,
+ sizeof (Elf32_External_Rela)))
+ return FALSE;
+
+ /* If any dynamic relocs apply to a read-only section,
+ then we need a DT_TEXTREL entry. */
+ if ((info->flags & DF_TEXTREL) == 0)
+ elf_link_hash_traverse (&htab->root, readonly_dynrelocs,
+ (PTR) info);
+
+ if ((info->flags & DF_TEXTREL) != 0)
+ {
+ if (! add_dynamic_entry (DT_TEXTREL, 0))
+ return FALSE;
+ }
+ }
+ }
+#undef add_dynamic_entry
+
+ return TRUE;
+}
/* Relocate an M32R/D ELF section.
There is some attempt to make this function usable for many architectures,
both for RELA and REL type relocs, if only to serve as a learning tool.
@@ -986,10 +2534,17 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
/* Assume success. */
bfd_boolean ret = TRUE;
-#if !USE_REL
- if (info->relocatable)
- return TRUE;
-#endif
+ struct elf_m32r_link_hash_table *htab = m32r_elf_hash_table (info);
+ bfd *dynobj;
+ bfd_vma *local_got_offsets;
+ asection *sgot, *splt, *sreloc;
+
+ dynobj = htab->root.dynobj;
+ local_got_offsets = elf_local_got_offsets (input_bfd);
+
+ sgot = htab->sgot;
+ splt = htab->splt;
+ sreloc = NULL;
rel = relocs;
relend = relocs + input_section->reloc_count;
@@ -998,18 +2553,19 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
int r_type;
reloc_howto_type *howto;
unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
/* We can't modify r_addend here as elf_link_input_bfd has an assert to
- ensure it's zero (we use REL relocs, not RELA). Therefore this
- should be assigning zero to `addend', but for clarity we use
- `r_addend'. */
+ ensure it's zero (we use REL relocs, not RELA). Therefore this
+ should be assigning zero to `addend', but for clarity we use
+ `r_addend'. */
bfd_vma addend = rel->r_addend;
bfd_vma offset = rel->r_offset;
- struct elf_link_hash_entry *h;
Elf_Internal_Sym *sym;
asection *sec;
const char *sym_name;
bfd_reloc_status_type r;
const char *errmsg = NULL;
+ bfd_boolean use_rel = FALSE;
h = NULL;
r_type = ELF32_R_TYPE (rel->r_info);
@@ -1024,14 +2580,19 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
if (r_type == R_M32R_GNU_VTENTRY
- || r_type == R_M32R_GNU_VTINHERIT)
+ || r_type == R_M32R_GNU_VTINHERIT
+ || r_type == R_M32R_NONE
+ || r_type == R_M32R_RELA_GNU_VTENTRY
+ || r_type == R_M32R_RELA_GNU_VTINHERIT)
continue;
+ if (r_type <= R_M32R_GNU_VTENTRY)
+ use_rel = TRUE;
+
howto = m32r_elf_howto_table + r_type;
r_symndx = ELF32_R_SYM (rel->r_info);
-#if USE_REL
- if (info->relocatable)
+ if (info->relocatable && (use_rel == TRUE))
{
/* This is a relocatable link. We don't have to change
anything, unless the reloc is against a section symbol,
@@ -1092,13 +2653,13 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
}
else
-#endif /* USE_REL */
{
bfd_vma relocation;
/* This is a final link. */
sym = NULL;
sec = NULL;
+ h = NULL;
if (r_symndx < symtab_hdr->sh_info)
{
@@ -1106,20 +2667,37 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
sym = local_syms + r_symndx;
sec = local_sections[r_symndx];
sym_name = "<local symbol>";
-#if !USE_REL
- relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
- addend = rel->r_addend;
-#else
- /* FIXME: This won't handle local relocations against SEC_MERGE
- symbols. See elf32-i386.c for how to do this. */
- relocation = (sec->output_section->vma
- + sec->output_offset
- + sym->st_value);
-#endif
+
+ if (use_rel == FALSE)
+ {
+ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
+ addend = rel->r_addend;
+
+ if (info->relocatable)
+ {
+ /* This is a relocatable link. We don't have to change
+ anything, unless the reloc is against a section symbol,
+ in which case we have to adjust according to where the
+ section symbol winds up in the output section. */
+ if (ELF_ST_TYPE (sym->st_info) == STT_SECTION)
+ rel->r_addend += sec->output_offset + sym->st_value;
+
+ continue;
+ }
+ }
+ else
+ {
+ relocation = (sec->output_section->vma
+ + sec->output_offset
+ + sym->st_value);
+ }
}
else
{
/* External symbol. */
+ if (info->relocatable && (use_rel == FALSE))
+ continue;
+
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
@@ -1129,9 +2707,64 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
if (h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
{
+ bfd_boolean dyn;
sec = h->root.u.def.section;
- if (sec->output_section == NULL)
- relocation = 0;
+
+ dyn = htab->root.dynamic_sections_created;
+ sec = h->root.u.def.section;
+ if (r_type == R_M32R_GOTPC24
+ || (r_type == R_M32R_GOTPC_HI_ULO
+ || r_type == R_M32R_GOTPC_HI_SLO
+ || r_type == R_M32R_GOTPC_LO)
+ || (r_type == R_M32R_26_PLTREL
+ && h->plt.offset != (bfd_vma) -1)
+ || ((r_type == R_M32R_GOT24
+ || r_type == R_M32R_GOT16_HI_ULO
+ || r_type == R_M32R_GOT16_HI_SLO
+ || r_type == R_M32R_GOT16_LO)
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ && (! info->shared
+ || (! info->symbolic && h->dynindx != -1)
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0))
+ || (info->shared
+ && ((! info->symbolic && h->dynindx != -1)
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ && (((r_type == R_M32R_16_RELA
+ || r_type == R_M32R_32_RELA
+ || r_type == R_M32R_24_RELA
+ || r_type == R_M32R_HI16_ULO_RELA
+ || r_type == R_M32R_HI16_SLO_RELA
+ || r_type == R_M32R_LO16_RELA)
+ && (h->elf_link_hash_flags
+ & ELF_LINK_FORCED_LOCAL) == 0)
+ || r_type == R_M32R_10_PCREL_RELA
+ || r_type == R_M32R_18_PCREL_RELA
+ || r_type == R_M32R_26_PCREL_RELA)
+ && ((input_section->flags & SEC_ALLOC) != 0
+ /* DWARF will emit R_M32R_16(24,32) relocations
+ in its sections against symbols defined
+ externally in shared libraries. We can't do
+ anything with them here. */
+ || ((input_section->flags & SEC_DEBUGGING) != 0
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_DYNAMIC) != 0))))
+ {
+ /* In these cases, we don't need the relocation
+ value. We check specially because in some
+ obscure cases sec->output_section will be NULL. */
+ relocation = 0;
+ }
+ else if (sec->output_section == NULL)
+ {
+ (*_bfd_error_handler)
+ (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"),
+ bfd_get_filename (input_bfd), h->root.root.string,
+ bfd_get_section_name (input_bfd, input_section));
+
+ relocation = 0;
+ }
else
relocation = (h->root.u.def.value
+ sec->output_section->vma
@@ -1139,11 +2772,17 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
}
else if (h->root.type == bfd_link_hash_undefweak)
relocation = 0;
+ else if (info->shared
+ && (!info->symbolic)
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+ relocation = 0;
else
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
- input_section, offset, TRUE)))
+ input_section, offset,
+ (!info->shared
+ || ELF_ST_VISIBILITY (h->other)))))
return FALSE;
relocation = 0;
}
@@ -1158,11 +2797,283 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
switch ((int) r_type)
{
+ case R_M32R_GOTPC24:
+ /* .got(_GLOBAL_OFFSET_TABLE_) - pc relocation
+ ld24 rx,#_GLOBAL_OFFSET_TABLE_
+ */
+ relocation = sgot->output_section->vma;
+ break;
+
+ case R_M32R_GOTPC_HI_ULO:
+ case R_M32R_GOTPC_HI_SLO:
+ case R_M32R_GOTPC_LO:
+ {
+ /* .got(_GLOBAL_OFFSET_TABLE_) - pc relocation
+ bl .+4
+ seth rx,#high(_GLOBAL_OFFSET_TABLE_)
+ or3 rx,rx,#low(_GLOBAL_OFFSET_TABLE_ +4)
+ or
+ bl .+4
+ seth rx,#shigh(_GLOBAL_OFFSET_TABLE_)
+ add3 rx,rx,#low(_GLOBAL_OFFSET_TABLE_ +4)
+ */
+ relocation = sgot->output_section->vma;
+ relocation -= (input_section->output_section->vma
+ + input_section->output_offset
+ + rel->r_offset);
+ if ((r_type == R_M32R_GOTPC_HI_SLO)
+ && ((relocation + rel->r_addend) & 0x8000))
+ rel->r_addend += 0x10000;
+
+ break;
+ }
+ case R_M32R_GOT16_HI_ULO:
+ case R_M32R_GOT16_HI_SLO:
+ case R_M32R_GOT16_LO:
+ /* Fall through. */
+ case R_M32R_GOT24:
+ /* Relocation is to the entry for this symbol in the global
+ offset table. */
+ BFD_ASSERT (sgot != NULL);
+
+ if (h != NULL)
+ {
+ bfd_boolean dyn;
+ bfd_vma off;
+
+ off = h->got.offset;
+ BFD_ASSERT (off != (bfd_vma) -1);
+
+ dyn = htab->root.dynamic_sections_created;
+ if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info, h)
+ || (info->shared
+ && (info->symbolic
+ || h->dynindx == -1
+ || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)))
+ {
+ /* This is actually a static link, or it is a
+ -Bsymbolic link and the symbol is defined
+ locally, or the symbol was forced to be local
+ because of a version file. We must initialize
+ this entry in the global offset table. Since the
+ offset must always be a multiple of 4, we use the
+ least significant bit to record whether we have
+ initialized it already.
+
+ When doing a dynamic link, we create a .rela.got
+ relocation entry to initialize the value. This
+ is done in the finish_dynamic_symbol routine. */
+ if ((off & 1) != 0)
+ off &= ~1;
+ else
+ {
+ bfd_put_32 (output_bfd, relocation,
+ sgot->contents + off);
+ h->got.offset |= 1;
+ }
+ }
+
+ relocation = sgot->output_offset + off;
+ }
+ else
+ {
+ bfd_vma off;
+ bfd_byte *loc;
+
+ BFD_ASSERT (local_got_offsets != NULL
+ && local_got_offsets[r_symndx] != (bfd_vma) -1);
+
+ off = local_got_offsets[r_symndx];
+
+ /* The offset must always be a multiple of 4. We use
+ the least significant bit to record whether we have
+ already processed this entry. */
+ if ((off & 1) != 0)
+ off &= ~1;
+ else
+ {
+ bfd_put_32 (output_bfd, relocation, sgot->contents + off);
+
+ if (info->shared)
+ {
+ asection *srelgot;
+ Elf_Internal_Rela outrel;
+
+ /* We need to generate a R_M32R_RELATIVE reloc
+ for the dynamic linker. */
+ srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
+ BFD_ASSERT (srelgot != NULL);
+
+ outrel.r_offset = (sgot->output_section->vma
+ + sgot->output_offset
+ + off);
+ outrel.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE);
+ outrel.r_addend = relocation;
+ loc = srelgot->contents;
+ loc += srelgot->reloc_count * sizeof(Elf32_External_Rela);
+ bfd_elf32_swap_reloca_out (output_bfd, &outrel,loc);
+ ++srelgot->reloc_count;
+ }
+
+ local_got_offsets[r_symndx] |= 1;
+ }
+
+ relocation = sgot->output_offset + off;
+ }
+ if ((r_type == R_M32R_GOT16_HI_SLO)
+ && ((relocation + rel->r_addend) & 0x8000))
+ rel->r_addend += 0x10000;
+
+ break;
+
+ case R_M32R_26_PLTREL:
+ /* Relocation is to the entry for this symbol in the
+ procedure linkage table. */
+
+ /* The native assembler will generate a 26_PLTREL reloc
+ for a local symbol if you assemble a call from one
+ section to another when using -K pic. */
+ if (h == NULL)
+ break;
+
+ //if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
+ // || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
+ // break;
+ if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)
+ break;
+
+ if (h->plt.offset == (bfd_vma) -1)
+ {
+ /* We didn't make a PLT entry for this symbol. This
+ happens when statically linking PIC code, or when
+ using -Bsymbolic. */
+ break;
+ }
+
+ relocation = (splt->output_section->vma
+ + splt->output_offset
+ + h->plt.offset);
+ break;
+
+ case R_M32R_HI16_SLO_RELA:
+ {
+ if ((relocation + rel->r_addend) & 0x8000)
+ {
+ rel->r_addend += 0x10000;
+ }
+ }
+ /* Fall through. */
+ case R_M32R_16_RELA:
+ case R_M32R_24_RELA:
+ case R_M32R_32_RELA:
+ case R_M32R_18_PCREL_RELA:
+ case R_M32R_26_PCREL_RELA:
+ case R_M32R_HI16_ULO_RELA:
+ case R_M32R_LO16_RELA:
+ case R_M32R_SDA16_RELA:
+ if (info->shared
+ && r_symndx != 0
+ && (input_section->flags & SEC_ALLOC) != 0
+ && ((r_type != R_M32R_18_PCREL_RELA
+ && r_type != R_M32R_26_PCREL_RELA)
+ || (h != NULL
+ && h->dynindx != -1
+ && (! info->symbolic
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0))))
+ {
+ Elf_Internal_Rela outrel;
+ bfd_boolean skip, relocate;
+ bfd_byte *loc;
+
+ /* When generating a shared object, these relocations
+ are copied into the output file to be resolved at run
+ time. */
+
+ if (sreloc == NULL)
+ {
+ const char *name;
+
+ name = (bfd_elf_string_from_elf_section
+ (input_bfd,
+ elf_elfheader (input_bfd)->e_shstrndx,
+ elf_section_data (input_section)->rel_hdr.sh_name));
+ if (name == NULL)
+ return FALSE;
+
+ BFD_ASSERT (strncmp (name, ".rela", 5) == 0
+ && strcmp (bfd_get_section_name (input_bfd,
+ input_section),
+ name + 5) == 0);
+
+ sreloc = bfd_get_section_by_name (dynobj, name);
+ BFD_ASSERT (sreloc != NULL);
+ }
+
+ skip = FALSE;
+ relocate = FALSE;
+
+ outrel.r_offset = _bfd_elf_section_offset (output_bfd,
+ info,
+ input_section,
+ rel->r_offset);
+ if (outrel.r_offset == (bfd_vma) -1)
+ skip = TRUE;
+ else if (outrel.r_offset == (bfd_vma) -2)
+ skip = TRUE, relocate = TRUE;
+ outrel.r_offset += (input_section->output_section->vma
+ + input_section->output_offset);
+
+ if (skip)
+ memset (&outrel, 0, sizeof outrel);
+ else if (r_type == R_M32R_18_PCREL_RELA
+ || r_type == R_M32R_26_PCREL_RELA)
+ {
+ BFD_ASSERT (h != NULL && h->dynindx != -1);
+ outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
+ outrel.r_addend = rel->r_addend;
+ }
+ else
+ {
+ /* h->dynindx may be -1 if this symbol was marked to
+ become local. */
+ if (h == NULL
+ || ((info->symbolic || h->dynindx == -1)
+ && (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) != 0))
+ {
+ relocate = TRUE;
+ outrel.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE);
+ outrel.r_addend = relocation + rel->r_addend;
+ }
+ else
+ {
+ BFD_ASSERT (h->dynindx != -1);
+ outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
+ outrel.r_addend = relocation + rel->r_addend;
+ }
+ }
+
+ loc = sreloc->contents;
+ loc += sreloc->reloc_count * sizeof(Elf32_External_Rela);
+ bfd_elf32_swap_reloca_out (output_bfd, &outrel,loc);
+ ++sreloc->reloc_count;
+
+ /* If this reloc is against an external symbol, we do
+ not want to fiddle with the addend. Otherwise, we
+ need to include the symbol value so that it becomes
+ an addend for the dynamic reloc. */
+ if (! relocate)
+ continue;
+ }
+ break;
+
case (int) R_M32R_10_PCREL :
r = m32r_elf_do_10_pcrel_reloc (input_bfd, howto, input_section,
contents, offset,
sec, relocation, addend);
- break;
+ goto check_reloc;
case (int) R_M32R_HI16_SLO :
case (int) R_M32R_HI16_ULO :
@@ -1190,7 +3101,8 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
contents, offset,
relocation, addend);
}
- break;
+
+ goto check_reloc;
case (int) R_M32R_SDA16 :
{
@@ -1233,14 +3145,20 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
continue;
}
}
- /* fall through */
+ /* fall through */
+
+ default : /* OLD_M32R_RELOC */
- default :
r = _bfd_final_link_relocate (howto, input_bfd, input_section,
contents, offset,
relocation, addend);
- break;
+ goto check_reloc;
}
+
+ r = _bfd_final_link_relocate (howto, input_bfd, input_section,
+ contents, rel->r_offset,
+ relocation, rel->r_addend);
+
}
check_reloc:
@@ -1307,6 +3225,353 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section,
return ret;
}
+
+/* Finish up dynamic symbol handling. We set the contents of various
+ dynamic sections here. */
+static bfd_boolean
+m32r_elf_finish_dynamic_symbol (output_bfd, info, h, sym)
+ bfd *output_bfd;
+ struct bfd_link_info *info;
+ struct elf_link_hash_entry *h;
+ Elf_Internal_Sym *sym;
+{
+ struct elf_m32r_link_hash_table *htab;
+ bfd *dynobj;
+ bfd_byte *loc;
+
+#ifdef DEBUG_PIC
+printf("m32r_elf_finish_dynamic_symbol()\n");
+#endif
+
+ htab = m32r_elf_hash_table (info);
+ dynobj = htab->root.dynobj;
+
+ if (h->plt.offset != (bfd_vma) -1)
+ {
+ asection *splt;
+ asection *sgot;
+ asection *srela;
+
+ bfd_vma plt_index;
+ bfd_vma got_offset;
+ Elf_Internal_Rela rela;
+
+ /* This symbol has an entry in the procedure linkage table. Set
+ it up. */
+
+ BFD_ASSERT (h->dynindx != -1);
+
+ splt = htab->splt;
+ sgot = htab->sgotplt;
+ srela = htab->srelplt;
+ BFD_ASSERT (splt != NULL && sgot != NULL && srela != NULL);
+
+ /* Get the index in the procedure linkage table which
+ corresponds to this symbol. This is the index of this symbol
+ in all the symbols for which we are making plt entries. The
+ first entry in the procedure linkage table is reserved. */
+ plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1;
+
+ /* Get the offset into the .got table of the entry that
+ corresponds to this function. Each .got entry is 4 bytes.
+ The first three are reserved. */
+ got_offset = (plt_index + 3) * 4;
+
+ /* Fill in the entry in the procedure linkage table. */
+ if (! info->shared)
+ {
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD0b
+ + (((sgot->output_section->vma
+ + sgot->output_offset
+ + got_offset) >> 16) & 0xffff)),
+ splt->contents + h->plt.offset);
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD1b
+ + ((sgot->output_section->vma
+ + sgot->output_offset
+ + got_offset) & 0xffff)),
+ splt->contents + h->plt.offset + 4);
+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD2,
+ splt->contents + h->plt.offset + 8);
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD3
+ + plt_index * sizeof (Elf32_External_Rela)),
+ splt->contents + h->plt.offset + 12);
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD4
+ + (((unsigned int) ((- (h->plt.offset + 16)) >> 2)) & 0xffffff)),
+ splt->contents + h->plt.offset + 16);
+ }
+ else
+ {
+ bfd_put_32 (output_bfd,
+ PLT_ENTRY_WORD0 + got_offset,
+ splt->contents + h->plt.offset);
+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD1,
+ splt->contents + h->plt.offset + 4);
+ bfd_put_32 (output_bfd, PLT_ENTRY_WORD2,
+ splt->contents + h->plt.offset + 8);
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD3
+ + plt_index * sizeof (Elf32_External_Rela)),
+ splt->contents + h->plt.offset + 12);
+ bfd_put_32 (output_bfd,
+ (PLT_ENTRY_WORD4
+ + (((unsigned int) ((- (h->plt.offset + 16)) >> 2)) & 0xffffff)),
+ splt->contents + h->plt.offset + 16);
+ }
+
+ /* Fill in the entry in the global offset table. */
+ bfd_put_32 (output_bfd,
+ (splt->output_section->vma
+ + splt->output_offset
+ + h->plt.offset
+ + 12), /* same offset */
+ sgot->contents + got_offset);
+
+ /* Fill in the entry in the .rela.plt section. */
+ rela.r_offset = (sgot->output_section->vma
+ + sgot->output_offset
+ + got_offset);
+ rela.r_info = ELF32_R_INFO (h->dynindx, R_M32R_JMP_SLOT);
+ rela.r_addend = 0;
+ loc = srela->contents;
+ loc += plt_index * sizeof(Elf32_External_Rela);
+ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+
+ if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+ {
+ /* Mark the symbol as undefined, rather than as defined in
+ the .plt section. Leave the value alone. */
+ sym->st_shndx = SHN_UNDEF;
+ }
+ }
+
+ if (h->got.offset != (bfd_vma) -1)
+ {
+ asection *sgot;
+ asection *srela;
+ Elf_Internal_Rela rela;
+
+ /* This symbol has an entry in the global offset table. Set it
+ up. */
+
+ sgot = htab->sgot;
+ srela = htab->srelgot;
+ BFD_ASSERT (sgot != NULL && srela != NULL);
+
+ rela.r_offset = (sgot->output_section->vma
+ + sgot->output_offset
+ + (h->got.offset &~ 1));
+
+ /* If this is a -Bsymbolic link, and the symbol is defined
+ locally, we just want to emit a RELATIVE reloc. Likewise if
+ the symbol was forced to be local because of a version file.
+ The entry in the global offset table will already have been
+ initialized in the relocate_section function. */
+ if (info->shared
+ && (info->symbolic
+ || h->dynindx == -1
+ || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))
+ && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))
+ {
+ rela.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE);
+ rela.r_addend = (h->root.u.def.value
+ + h->root.u.def.section->output_section->vma
+ + h->root.u.def.section->output_offset);
+ }
+ else
+ {
+ BFD_ASSERT((h->got.offset & 1) == 0);
+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + h->got.offset);
+ rela.r_info = ELF32_R_INFO (h->dynindx, R_M32R_GLOB_DAT);
+ rela.r_addend = 0;
+ }
+
+ loc = srela->contents;
+ loc += srela->reloc_count * sizeof(Elf32_External_Rela);
+ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+ ++srela->reloc_count;
+ }
+
+ if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0)
+ {
+ asection *s;
+ Elf_Internal_Rela rela;
+
+ /* This symbols needs a copy reloc. Set it up. */
+
+ BFD_ASSERT (h->dynindx != -1
+ && (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak));
+
+ s = bfd_get_section_by_name (h->root.u.def.section->owner,
+ ".rela.bss");
+ BFD_ASSERT (s != NULL);
+
+ rela.r_offset = (h->root.u.def.value
+ + h->root.u.def.section->output_section->vma
+ + h->root.u.def.section->output_offset);
+ rela.r_info = ELF32_R_INFO (h->dynindx, R_M32R_COPY);
+ rela.r_addend = 0;
+ loc = s->contents;
+ loc += s->reloc_count * sizeof(Elf32_External_Rela);
+ bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
+ ++s->reloc_count;
+ }
+
+ /* Mark some specially defined symbols as absolute. */
+ if (strcmp (h->root.root.string, "_DYNAMIC") == 0
+ || strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
+ sym->st_shndx = SHN_ABS;
+
+ return TRUE;
+}
+
+
+/* Finish up the dynamic sections. */
+
+static bfd_boolean
+m32r_elf_finish_dynamic_sections (output_bfd, info)
+ bfd *output_bfd;
+ struct bfd_link_info *info;
+{
+ struct elf_m32r_link_hash_table *htab;
+ bfd *dynobj;
+ asection *sdyn;
+ asection *sgot;
+
+#ifdef DEBUG_PIC
+printf("m32r_elf_finish_dynamic_sections()\n");
+#endif
+
+ htab = m32r_elf_hash_table (info);
+ dynobj = htab->root.dynobj;
+
+ sgot = htab->sgotplt;
+ sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
+
+ if (htab->root.dynamic_sections_created)
+ {
+ asection *splt;
+ Elf32_External_Dyn *dyncon, *dynconend;
+
+ BFD_ASSERT (sgot != NULL && sdyn != NULL);
+
+ dyncon = (Elf32_External_Dyn *) sdyn->contents;
+ dynconend = (Elf32_External_Dyn *) (sdyn->contents + sdyn->_raw_size);
+
+ for (; dyncon < dynconend; dyncon++)
+ {
+ Elf_Internal_Dyn dyn;
+ const char *name;
+ asection *s;
+
+ bfd_elf32_swap_dyn_in (dynobj, dyncon, &dyn);
+
+ switch (dyn.d_tag)
+ {
+ default:
+ break;
+
+ case DT_PLTGOT:
+ name = ".got";
+ s = htab->sgot->output_section;
+ goto get_vma;
+ case DT_JMPREL:
+ name = ".rela.plt";
+ s = htab->srelplt->output_section;
+ get_vma:
+ BFD_ASSERT (s != NULL);
+ dyn.d_un.d_ptr = s->vma;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_PLTRELSZ:
+ s = htab->srelplt->output_section;
+ BFD_ASSERT (s != NULL);
+ if (s->_cooked_size != 0)
+ dyn.d_un.d_val = s->_cooked_size;
+ else
+ dyn.d_un.d_val = s->_raw_size;
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+
+ case DT_RELASZ:
+ /* My reading of the SVR4 ABI indicates that the
+ procedure linkage table relocs (DT_JMPREL) should be
+ included in the overall relocs (DT_RELA). This is
+ what Solaris does. However, UnixWare can not handle
+ that case. Therefore, we override the DT_RELASZ entry
+ here to make it not include the JMPREL relocs. Since
+ the linker script arranges for .rela.plt to follow all
+ other relocation sections, we don't have to worry
+ about changing the DT_RELA entry. */
+ if (htab->srelplt != NULL)
+ {
+ s = htab->srelplt->output_section;
+ if (s->_cooked_size != 0)
+ dyn.d_un.d_val -= s->_cooked_size;
+ else
+ dyn.d_un.d_val -= s->_raw_size;
+ }
+ bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
+ break;
+ }
+ }
+
+ /* Fill in the first entry in the procedure linkage table. */
+ splt = htab->splt;
+ if (splt && splt->_raw_size > 0)
+ {
+ if (info->shared)
+ {
+ bfd_put_32 (output_bfd, PLT0_PIC_ENTRY_WORD0, splt->contents);
+ bfd_put_32 (output_bfd, PLT0_PIC_ENTRY_WORD1, splt->contents + 4);
+ bfd_put_32 (output_bfd, PLT0_PIC_ENTRY_WORD2, splt->contents + 8);
+ bfd_put_32 (output_bfd, PLT0_PIC_ENTRY_WORD3, splt->contents + 12);
+ bfd_put_32 (output_bfd, PLT0_PIC_ENTRY_WORD4, splt->contents + 16);
+ }
+ else
+ {
+ unsigned long addr;
+ /* addr = .got + 4 */
+ addr = sgot->output_section->vma + sgot->output_offset + 4;
+ bfd_put_32 (output_bfd,
+ PLT0_ENTRY_WORD0 | ((addr >> 16) & 0xffff),
+ splt->contents);
+ bfd_put_32 (output_bfd,
+ PLT0_ENTRY_WORD1 | (addr & 0xffff),
+ splt->contents + 4);
+ bfd_put_32 (output_bfd, PLT0_ENTRY_WORD2, splt->contents + 8);
+ bfd_put_32 (output_bfd, PLT0_ENTRY_WORD3, splt->contents + 12);
+ bfd_put_32 (output_bfd, PLT0_ENTRY_WORD4, splt->contents + 16);
+ }
+
+ elf_section_data (splt->output_section)->this_hdr.sh_entsize =
+ PLT_ENTRY_SIZE;
+ }
+ }
+
+ /* Fill in the first three entries in the global offset table. */
+ if (sgot && sgot->_raw_size > 0)
+ {
+ if (sdyn == NULL)
+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents);
+ else
+ bfd_put_32 (output_bfd,
+ sdyn->output_section->vma + sdyn->output_offset,
+ sgot->contents);
+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 4);
+ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 8);
+
+ elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
+ }
+
+ return TRUE;
+}
+
#if 0 /* relaxing not supported yet */
@@ -2005,6 +4270,8 @@ m32r_elf_gc_mark_hook (sec, info, rel, h, sym)
{
case R_M32R_GNU_VTINHERIT:
case R_M32R_GNU_VTENTRY:
+ case R_M32R_RELA_GNU_VTINHERIT:
+ case R_M32R_RELA_GNU_VTENTRY:
break;
default:
@@ -2035,7 +4302,97 @@ m32r_elf_gc_sweep_hook (abfd, info, sec, relocs)
asection *sec ATTRIBUTE_UNUSED;
const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED;
{
- /* we don't use got and plt entries for m32r */
+ /* Update the got entry reference counts for the section being removed. */
+ Elf_Internal_Shdr *symtab_hdr;
+ struct elf_link_hash_entry **sym_hashes;
+ bfd_signed_vma *local_got_refcounts;
+ const Elf_Internal_Rela *rel, *relend;
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
+ elf_section_data (sec)->local_dynrel = NULL;
+
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
+ relend = relocs + sec->reloc_count;
+ for (rel = relocs; rel < relend; rel++)
+ switch (ELF32_R_TYPE (rel->r_info))
+ {
+ case R_M32R_GOT16_HI_ULO:
+ case R_M32R_GOT16_HI_SLO:
+ case R_M32R_GOT16_LO:
+ case R_M32R_GOT24:
+ case R_M32R_GOTPC_HI_ULO:
+ case R_M32R_GOTPC_HI_SLO:
+ case R_M32R_GOTPC_LO:
+ case R_M32R_GOTPC24:
+ r_symndx = ELF32_R_SYM (rel->r_info);
+ if (r_symndx >= symtab_hdr->sh_info)
+ {
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ if (h->got.refcount > 0)
+ h->got.refcount--;
+ }
+ else
+ {
+ if (local_got_refcounts && local_got_refcounts[r_symndx] > 0)
+ local_got_refcounts[r_symndx]--;
+ }
+ break;
+
+ case R_M32R_16_RELA:
+ case R_M32R_24_RELA:
+ case R_M32R_32_RELA:
+ case R_M32R_HI16_ULO_RELA:
+ case R_M32R_HI16_SLO_RELA:
+ case R_M32R_LO16_RELA:
+ case R_M32R_SDA16_RELA:
+ case R_M32R_18_PCREL_RELA:
+ case R_M32R_26_PCREL_RELA:
+ r_symndx = ELF32_R_SYM (rel->r_info);
+ if (r_symndx >= symtab_hdr->sh_info)
+ {
+ struct elf_m32r_link_hash_entry *eh;
+ struct elf_m32r_dyn_relocs **pp;
+ struct elf_m32r_dyn_relocs *p;
+
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+
+ if (!info->shared && h->plt.refcount > 0)
+ h->plt.refcount -= 1;
+
+ eh = (struct elf_m32r_link_hash_entry *) h;
+
+ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; pp = &p->next)
+ if (p->sec == sec)
+ {
+ if (ELF32_R_TYPE (rel->r_info) == R_M32R_26_PCREL_RELA
+ || ELF32_R_TYPE (rel->r_info) == R_M32R_26_PCREL_RELA)
+ p->pc_count -= 1;
+ p->count -= 1;
+ if (p->count == 0)
+ *pp = p->next;
+ break;
+ }
+ }
+ break;
+
+ case R_M32R_26_PLTREL:
+ r_symndx = ELF32_R_SYM (rel->r_info);
+ if (r_symndx >= symtab_hdr->sh_info)
+ {
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+ if (h->plt.refcount > 0)
+ h->plt.refcount--;
+ }
+ break;
+
+ default:
+ break;
+ }
+
return TRUE;
}
@@ -2054,32 +4411,250 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
+ struct elf_m32r_link_hash_table *htab;
+ bfd *dynobj;
+ bfd_vma *local_got_offsets;
+ asection *sgot, *srelgot, *sreloc;
if (info->relocatable)
return TRUE;
+ sgot = srelgot = sreloc = NULL;
+
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
sym_hashes_end = sym_hashes + symtab_hdr->sh_size/sizeof (Elf32_External_Sym);
if (!elf_bad_symtab (abfd))
sym_hashes_end -= symtab_hdr->sh_info;
+ htab = m32r_elf_hash_table (info);
+ dynobj = htab->root.dynobj;
+ local_got_offsets = elf_local_got_offsets (abfd);
+
rel_end = relocs + sec->reloc_count;
for (rel = relocs; rel < rel_end; rel++)
{
+ int r_type;
struct elf_link_hash_entry *h;
unsigned long r_symndx;
r_symndx = ELF32_R_SYM (rel->r_info);
+ r_type = ELF32_R_TYPE (rel->r_info);
if (r_symndx < symtab_hdr->sh_info)
h = NULL;
else
h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- switch (ELF32_R_TYPE (rel->r_info))
+ /* Some relocs require a global offset table. */
+ if (htab->sgot == NULL)
+ {
+ switch (r_type)
+ {
+ case R_M32R_GOT16_HI_ULO:
+ case R_M32R_GOT16_HI_SLO:
+ case R_M32R_GOT16_LO:
+ case R_M32R_GOTPC24:
+ case R_M32R_GOTPC_HI_ULO:
+ case R_M32R_GOTPC_HI_SLO:
+ case R_M32R_GOTPC_LO:
+ case R_M32R_GOT24:
+ if (dynobj == NULL)
+ htab->root.dynobj = dynobj = abfd;
+ if (! create_got_section (dynobj, info))
+ return FALSE;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ switch (r_type)
{
+ case R_M32R_GOT16_HI_ULO:
+ case R_M32R_GOT16_HI_SLO:
+ case R_M32R_GOT16_LO:
+ case R_M32R_GOT24:
+
+ if (h != NULL)
+ h->got.refcount += 1;
+ else
+ {
+ bfd_signed_vma *local_got_refcounts;
+
+ /* This is a global offset table entry for a local
+ symbol. */
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+ if (local_got_refcounts == NULL)
+ {
+ bfd_size_type size;
+
+ size = symtab_hdr->sh_info;
+ size *= sizeof (bfd_signed_vma);
+ local_got_refcounts = ((bfd_signed_vma *)
+ bfd_zalloc (abfd, size));
+ if (local_got_refcounts == NULL)
+ return FALSE;
+ elf_local_got_refcounts (abfd) = local_got_refcounts;
+ }
+ local_got_refcounts[r_symndx] += 1;
+ }
+ break;
+
+ case R_M32R_26_PLTREL:
+ /* This symbol requires a procedure linkage table entry. We
+ actually build the entry in adjust_dynamic_symbol,
+ because this might be a case of linking PIC code without
+ linking in any dynamic objects, in which case we don't
+ need to generate a procedure linkage table after all. */
+
+ /* If this is a local symbol, we resolve it directly without
+ creating a procedure linkage table entry. */
+ if (h == NULL)
+ continue;
+
+ if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)
+ break;
+
+ h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT;
+ h->plt.refcount += 1;
+ break;
+
+ case R_M32R_16_RELA:
+ case R_M32R_24_RELA:
+ case R_M32R_32_RELA:
+ case R_M32R_HI16_ULO_RELA:
+ case R_M32R_HI16_SLO_RELA:
+ case R_M32R_LO16_RELA:
+ case R_M32R_SDA16_RELA:
+ case R_M32R_18_PCREL_RELA:
+ case R_M32R_26_PCREL_RELA:
+
+ if (h != NULL && !info->shared)
+ {
+ h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF;
+ h->plt.refcount += 1;
+ }
+
+ /* If we are creating a shared library, and this is a reloc
+ against a global symbol, or a non PC relative reloc
+ against a local symbol, then we need to copy the reloc
+ into the shared library. However, if we are linking with
+ -Bsymbolic, we do not need to copy a reloc against a
+ global symbol which is defined in an object we are
+ including in the link (i.e., DEF_REGULAR is set). At
+ this point we have not seen all the input files, so it is
+ possible that DEF_REGULAR is not set now but will be set
+ later (it is never cleared). We account for that
+ possibility below by storing information in the
+ dyn_relocs field of the hash table entry. A similar
+ situation occurs when creating shared libraries and symbol
+ visibility changes render the symbol local.
+
+ If on the other hand, we are creating an executable, we
+ may need to keep relocations for symbols satisfied by a
+ dynamic library if we manage to avoid copy relocs for the
+ symbol. */
+ if ((info->shared
+ && (sec->flags & SEC_ALLOC) != 0
+ && ((r_type != R_M32R_26_PCREL_RELA
+ && r_type != R_M32R_18_PCREL_RELA)
+ || (h != NULL
+ && (! info->symbolic
+ || h->root.type == bfd_link_hash_defweak
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0))))
+ || (!info->shared
+ && (sec->flags & SEC_ALLOC) != 0
+ && h != NULL
+ && (h->root.type == bfd_link_hash_defweak
+ || (h->elf_link_hash_flags
+ & ELF_LINK_HASH_DEF_REGULAR) == 0)))
+ {
+ struct elf_m32r_dyn_relocs *p;
+ struct elf_m32r_dyn_relocs **head;
+
+ if (dynobj == NULL)
+ htab->root.dynobj = dynobj = abfd;
+
+ /* When creating a shared object, we must copy these
+ relocs into the output file. We create a reloc
+ section in dynobj and make room for the reloc. */
+ if (sreloc == NULL)
+ {
+ const char *name;
+
+ name = (bfd_elf_string_from_elf_section
+ (abfd,
+ elf_elfheader (abfd)->e_shstrndx,
+ elf_section_data (sec)->rel_hdr.sh_name));
+ if (name == NULL)
+ return FALSE;
+
+ BFD_ASSERT (strncmp (name, ".rela", 5) == 0
+ && strcmp (bfd_get_section_name (abfd, sec),
+ name + 5) == 0);
+
+ sreloc = bfd_get_section_by_name (dynobj, name);
+ if (sreloc == NULL)
+ {
+ flagword flags;
+
+ sreloc = bfd_make_section (dynobj, name);
+ flags = (SEC_HAS_CONTENTS | SEC_READONLY
+ | SEC_IN_MEMORY | SEC_LINKER_CREATED);
+ if ((sec->flags & SEC_ALLOC) != 0)
+ flags |= SEC_ALLOC | SEC_LOAD;
+ if (sreloc == NULL
+ || ! bfd_set_section_flags (dynobj, sreloc, flags)
+ || ! bfd_set_section_alignment (dynobj, sreloc, 2))
+ return FALSE;
+ }
+ elf_section_data (sec)->sreloc = sreloc;
+ }
+
+ /* If this is a global symbol, we count the number of
+ relocations we need for this symbol. */
+ if (h != NULL)
+ head = &((struct elf_m32r_link_hash_entry *) h)->dyn_relocs;
+ else
+ {
+ asection *s;
+
+ /* Track dynamic relocs needed for local syms too. */
+ s = bfd_section_from_r_symndx (abfd, &htab->sym_sec,
+ sec, r_symndx);
+ if (s == NULL)
+ return FALSE;
+
+ head = ((struct elf_m32r_dyn_relocs **)
+ &elf_section_data (s)->local_dynrel);
+ }
+
+ p = *head;
+ if (p == NULL || p->sec != sec)
+ {
+ bfd_size_type amt = sizeof (*p);
+ p = ((struct elf_m32r_dyn_relocs *) bfd_alloc (dynobj, amt));
+ if (p == NULL)
+ return FALSE;
+ p->next = *head;
+ *head = p;
+ p->sec = sec;
+ p->count = 0;
+ p->pc_count = 0;
+ }
+
+ p->count += 1;
+ if (ELF32_R_TYPE (rel->r_info) == R_M32R_26_PCREL_RELA
+ || ELF32_R_TYPE (rel->r_info) == R_M32R_18_PCREL_RELA)
+ p->pc_count += 1;
+ }
+ break;
+
/* This relocation describes the C++ object vtable hierarchy.
Reconstruct it for later use during GC. */
+ case R_M32R_RELA_GNU_VTINHERIT:
case R_M32R_GNU_VTINHERIT:
if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
return FALSE;
@@ -2091,6 +4666,10 @@ m32r_elf_check_relocs (abfd, info, sec, relocs)
if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_offset))
return FALSE;
break;
+ case R_M32R_RELA_GNU_VTENTRY:
+ if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
+ return FALSE;
+ break;
}
}
@@ -2103,6 +4682,61 @@ static struct bfd_elf_special_section const m32r_elf_special_sections[]=
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
+
+static bfd_boolean
+m32r_elf_fake_sections (abfd, hdr, sec)
+ bfd *abfd;
+ Elf_Internal_Shdr *hdr ATTRIBUTE_UNUSED;
+ asection *sec;
+{
+ register const char *name;
+
+ name = bfd_get_section_name (abfd, sec);
+
+ /* The generic elf_fake_sections will set up REL_HDR using the
+ default kind of relocations. But, we may actually need both
+ kinds of relocations, so we set up the second header here.
+
+ This is not necessary for the O32 ABI since that only uses Elf32_Rel
+ relocations (cf. System V ABI, MIPS RISC Processor Supplement,
+ 3rd Edition, p. 4-17). It breaks the IRIX 5/6 32-bit ld, since one
+ of the resulting empty .rela.<section> sections starts with
+ sh_offset == object size, and ld doesn't allow that. While the check
+ is arguably bogus for empty or SHT_NOBITS sections, it can easily be
+ avoided by not emitting those useless sections in the first place. */
+ if ((sec->flags & SEC_RELOC) != 0)
+ {
+ struct bfd_elf_section_data *esd;
+ bfd_size_type amt = sizeof (Elf_Internal_Shdr);
+
+ esd = elf_section_data (sec);
+ BFD_ASSERT (esd->rel_hdr2 == NULL);
+ esd->rel_hdr2 = (Elf_Internal_Shdr *) bfd_zalloc (abfd, amt);
+ if (!esd->rel_hdr2)
+ return FALSE;
+ _bfd_elf_init_reloc_shdr (abfd, esd->rel_hdr2, sec,
+ !sec->use_rela_p);
+ }
+
+ return TRUE;
+}
+
+static enum elf_reloc_type_class
+m32r_elf_reloc_type_class (rela)
+ const Elf_Internal_Rela *rela;
+{
+ switch ((int) ELF32_R_TYPE (rela->r_info))
+ {
+ case R_M32R_RELATIVE:
+ return reloc_class_relative;
+ case R_M32R_JMP_SLOT:
+ return reloc_class_plt;
+ case R_M32R_COPY:
+ return reloc_class_copy;
+ default:
+ return reloc_class_normal;
+ }
+}
#define ELF_ARCH bfd_arch_m32r
#define ELF_MACHINE_CODE EM_M32R
@@ -2111,8 +4745,10 @@ static struct bfd_elf_special_section const m32r_elf_special_sections[]=
#define TARGET_BIG_SYM bfd_elf32_m32r_vec
#define TARGET_BIG_NAME "elf32-m32r"
+#define TARGET_LITTLE_SYM bfd_elf32_m32rle_vec
+#define TARGET_LITTLE_NAME "elf32-m32rle"
-#define elf_info_to_howto 0
+#define elf_info_to_howto m32r_info_to_howto
#define elf_info_to_howto_rel m32r_info_to_howto_rel
#define elf_backend_section_from_bfd_section _bfd_m32r_elf_section_from_bfd_section
#define elf_backend_symbol_processing _bfd_m32r_elf_symbol_processing
@@ -2122,10 +4758,35 @@ static struct bfd_elf_special_section const m32r_elf_special_sections[]=
#define elf_backend_gc_sweep_hook m32r_elf_gc_sweep_hook
#define elf_backend_check_relocs m32r_elf_check_relocs
+#define elf_backend_create_dynamic_sections m32r_elf_create_dynamic_sections
+#define bfd_elf32_bfd_link_hash_table_create m32r_elf_link_hash_table_create
+#define elf_backend_size_dynamic_sections m32r_elf_size_dynamic_sections
+#define elf_backend_finish_dynamic_sections m32r_elf_finish_dynamic_sections
+#define elf_backend_adjust_dynamic_symbol m32r_elf_adjust_dynamic_symbol
+#define elf_backend_finish_dynamic_symbol m32r_elf_finish_dynamic_symbol
+#define elf_backend_reloc_type_class m32r_elf_reloc_type_class
+#define elf_backend_copy_indirect_symbol m32r_elf_copy_indirect_symbol
+
#define elf_backend_can_gc_sections 1
-#if !USE_REL
+/*#if !USE_REL
#define elf_backend_rela_normal 1
+#endif*/
+#define elf_backend_can_refcount 1
+#define elf_backend_want_got_plt 1
+#define elf_backend_plt_readonly 1
+#define elf_backend_want_plt_sym 0
+#define elf_backend_got_header_size 12
+
+#define elf_backend_may_use_rel_p 1
+#ifdef USE_M32R_OLD_RELOC
+#define elf_backend_default_use_rela_p 0
+#define elf_backend_may_use_rela_p 0
+#else
+#define elf_backend_default_use_rela_p 1
+#define elf_backend_may_use_rela_p 1
+#define elf_backend_fake_sections m32r_elf_fake_sections
#endif
+
#if 0 /* not yet */
/* relax support */
#define bfd_elf32_bfd_relax_section m32r_elf_relax_section
@@ -2141,3 +4802,20 @@ static struct bfd_elf_special_section const m32r_elf_special_sections[]=
#define elf_backend_special_sections m32r_elf_special_sections
#include "elf32-target.h"
+
+#undef ELF_MAXPAGESIZE
+#define ELF_MAXPAGESIZE 0x1000
+
+#undef TARGET_BIG_SYM
+#define TARGET_BIG_SYM bfd_elf32_m32rlin_vec
+#undef TARGET_BIG_NAME
+#define TARGET_BIG_NAME "elf32-m32r-linux"
+#undef TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM bfd_elf32_m32rlelin_vec
+#undef TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME "elf32-m32rle-linux"
+#undef elf32_bed
+#define elf32_bed elf32_m32r_lin_bed
+
+#include "elf32-target.h"
+
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 90609c5c08..1c7fed92ba 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -817,26 +817,27 @@ elf_m68k_gc_sweep_hook (abfd, info, sec, relocs)
struct elf_link_hash_entry **sym_hashes;
bfd_signed_vma *local_got_refcounts;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
asection *sgot;
asection *srelgot;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
- local_got_refcounts = elf_local_got_refcounts (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+ local_got_refcounts = elf_local_got_refcounts (abfd);
+
sgot = bfd_get_section_by_name (dynobj, ".got");
srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_68K_GOT8:
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index 299c39546b..a0480f0970 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -47,14 +47,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define ECOFF_SIGNED_32
#include "ecoffswap.h"
-static bfd_reloc_status_type mips_elf_generic_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_hi16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_lo16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_got16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type gprel32_with_gp
(bfd *, asymbol *, arelent *, asection *, bfd_boolean, void *, bfd_vma);
static bfd_reloc_status_type mips_elf_gprel32_reloc
@@ -120,7 +112,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -135,7 +127,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -150,7 +142,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -165,7 +157,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -183,7 +175,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
/* This needs complex overflow
detection, because the upper four
bits must match the PC + 4. */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_26", /* name */
TRUE, /* partial_inplace */
0x03ffffff, /* src_mask */
@@ -192,13 +184,13 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
/* High 16 bits of symbol value. */
HOWTO (R_MIPS_HI16, /* type */
- 0, /* rightshift */
+ 16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_hi16_reloc, /* special_function */
+ _bfd_mips_elf_hi16_reloc, /* special_function */
"R_MIPS_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -213,7 +205,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_lo16_reloc, /* special_function */
+ _bfd_mips_elf_lo16_reloc, /* special_function */
"R_MIPS_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -258,7 +250,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_got16_reloc, /* special_function */
+ _bfd_mips_elf_got16_reloc, /* special_function */
"R_MIPS_GOT16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -273,7 +265,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -288,7 +280,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -324,7 +316,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT5", /* name */
TRUE, /* partial_inplace */
0x000007c0, /* src_mask */
@@ -341,7 +333,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT6", /* name */
TRUE, /* partial_inplace */
0x000007c4, /* src_mask */
@@ -371,7 +363,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_DISP", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -386,7 +378,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_PAGE", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -401,7 +393,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_OFST", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -416,7 +408,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -431,7 +423,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -446,7 +438,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SUB", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -466,7 +458,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHER", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -481,7 +473,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHEST", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -496,7 +488,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -511,7 +503,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -526,7 +518,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SCN_DISP", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -547,7 +539,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_JALR", /* name */
FALSE, /* partial_inplace */
0x00000000, /* src_mask */
@@ -611,13 +603,13 @@ static reloc_howto_type elf_mips16_gprel_howto =
/* High 16 bits of symbol value, pc-relative. */
static reloc_howto_type elf_mips_gnu_rel_hi16 =
HOWTO (R_MIPS_GNU_REL_HI16, /* type */
- 0, /* rightshift */
+ 16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_hi16_reloc, /* special_function */
+ _bfd_mips_elf_hi16_reloc, /* special_function */
"R_MIPS_GNU_REL_HI16", /* name */
TRUE, /* partial_inplace */
0xffff, /* src_mask */
@@ -633,7 +625,7 @@ static reloc_howto_type elf_mips_gnu_rel_lo16 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_lo16_reloc, /* special_function */
+ _bfd_mips_elf_lo16_reloc, /* special_function */
"R_MIPS_GNU_REL_LO16", /* name */
TRUE, /* partial_inplace */
0xffff, /* src_mask */
@@ -649,7 +641,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GNU_REL16_S2", /* name */
TRUE, /* partial_inplace */
0xffff, /* src_mask */
@@ -665,7 +657,7 @@ static reloc_howto_type elf_mips_gnu_pcrel64 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC64", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -681,7 +673,7 @@ static reloc_howto_type elf_mips_gnu_pcrel32 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -720,260 +712,6 @@ static reloc_howto_type elf_mips_gnu_vtentry_howto =
0, /* dst_mask */
FALSE); /* pcrel_offset */
-/* We use this instead of bfd_elf_generic_reloc because the latter
- gets the handling of zero addends wrong. */
-static bfd_reloc_status_type
-mips_elf_generic_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
- char **error_message ATTRIBUTE_UNUSED)
-{
- /* If we're relocating, and this is an external symbol, we don't want
- to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- /* Just go on, nothing to see here. */
- return bfd_reloc_continue;
-}
-
-/* Do a R_MIPS_HI16 relocation. This has to be done in combination
- with a R_MIPS_LO16 reloc, because there is a carry from the LO16 to
- the HI16. Here we just save the information we need; we do the
- actual relocation when we see the LO16.
-
- MIPS ELF requires that the LO16 immediately follow the HI16. As a
- GNU extension, for non-pc-relative relocations, we permit an
- arbitrary number of HI16 relocs to be associated with a single LO16
- reloc. This extension permits gcc to output the HI and LO relocs
- itself.
-
- This cannot be done for PC-relative relocations because both the HI16
- and LO16 parts of the relocations must be done relative to the LO16
- part, and there can be carry to or borrow from the HI16 part. */
-
-struct mips_hi16
-{
- struct mips_hi16 *next;
- bfd_byte *addr;
- bfd_vma addend;
-};
-
-/* FIXME: This should not be a static variable. */
-
-static struct mips_hi16 *mips_hi16_list;
-
-static bfd_reloc_status_type
-mips_elf_hi16_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data, asection *input_section,
- bfd *output_bfd, char **error_message)
-{
- bfd_reloc_status_type ret;
- bfd_vma relocation;
- struct mips_hi16 *n;
-
- /* If we're relocating, and this is an external symbol, we don't want
- to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- ret = bfd_reloc_ok;
-
- if (strcmp (bfd_asymbol_name (symbol), "_gp_disp") == 0)
- {
- bfd_boolean relocatable;
- bfd_vma gp;
-
- if (ret == bfd_reloc_undefined)
- abort ();
-
- if (output_bfd != NULL)
- relocatable = TRUE;
- else
- {
- relocatable = FALSE;
- output_bfd = symbol->section->output_section->owner;
- }
-
- ret = mips_elf_final_gp (output_bfd, symbol, relocatable,
- error_message, &gp);
- if (ret != bfd_reloc_ok)
- return ret;
-
- relocation = gp - reloc_entry->address;
- }
- else
- {
- if (bfd_is_und_section (symbol->section) && output_bfd == NULL)
- ret = bfd_reloc_undefined;
-
- if (bfd_is_com_section (symbol->section))
- relocation = 0;
- else
- relocation = symbol->value;
- }
-
- relocation += symbol->section->output_section->vma;
- relocation += symbol->section->output_offset;
- relocation += reloc_entry->addend;
-
- if (reloc_entry->address > input_section->_cooked_size)
- return bfd_reloc_outofrange;
-
- /* Save the information, and let LO16 do the actual relocation. */
- n = bfd_malloc (sizeof *n);
- if (n == NULL)
- return bfd_reloc_outofrange;
- n->addr = (bfd_byte *) data + reloc_entry->address;
- n->addend = relocation;
- n->next = mips_hi16_list;
- mips_hi16_list = n;
-
- if (output_bfd != NULL)
- reloc_entry->address += input_section->output_offset;
-
- return ret;
-}
-
-/* Do a R_MIPS_LO16 relocation. This is a straightforward 16 bit
- inplace relocation; this function exists in order to do the
- R_MIPS_HI16 relocation described above. */
-
-static bfd_reloc_status_type
-mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
-{
- arelent gp_disp_relent;
-
- if (mips_hi16_list != NULL)
- {
- struct mips_hi16 *l;
-
- l = mips_hi16_list;
- while (l != NULL)
- {
- unsigned long insn;
- unsigned long val;
- unsigned long vallo;
- struct mips_hi16 *next;
-
- if (strcmp (bfd_asymbol_name (symbol), "_gp_disp") == 0)
- {
- gp_disp_relent = *reloc_entry;
- reloc_entry = &gp_disp_relent;
- reloc_entry->addend = l->addend;
- }
- else
- {
- /* Do the HI16 relocation. Note that we actually don't need
- to know anything about the LO16 itself, except where to
- find the low 16 bits of the addend needed by the LO16. */
- insn = bfd_get_32 (abfd, l->addr);
- vallo = bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address);
- /* The low order 16 bits are always treated as a signed
- value. */
- vallo = ((vallo & 0xffff) ^ 0x8000) - 0x8000;
- val = ((insn & 0xffff) << 16) + vallo;
- val += l->addend;
-
- /* If PC-relative, we need to subtract out the address of the LO
- half of the HI/LO. (The actual relocation is relative
- to that instruction.) */
- if (reloc_entry->howto->pc_relative)
- val -= reloc_entry->address;
-
- /* At this point, "val" has the value of the combined HI/LO
- pair. If the low order 16 bits (which will be used for
- the LO16 insn) are negative, then we will need an
- adjustment for the high order 16 bits. */
- val += 0x8000;
- val = (val >> 16) & 0xffff;
-
- insn &= ~ (bfd_vma) 0xffff;
- insn |= val;
- bfd_put_32 (abfd, insn, l->addr);
- }
-
- next = l->next;
- free (l);
- l = next;
- }
-
- mips_hi16_list = NULL;
- }
- else if (strcmp (bfd_asymbol_name (symbol), "_gp_disp") == 0)
- {
- bfd_reloc_status_type ret;
- bfd_vma gp, relocation;
-
- /* FIXME: Does this case ever occur? */
-
- ret = mips_elf_final_gp (output_bfd, symbol, TRUE, error_message, &gp);
- if (ret != bfd_reloc_ok)
- return ret;
-
- relocation = gp - reloc_entry->address;
- relocation += symbol->section->output_section->vma;
- relocation += symbol->section->output_offset;
- relocation += reloc_entry->addend;
-
- if (reloc_entry->address > input_section->_cooked_size)
- return bfd_reloc_outofrange;
-
- gp_disp_relent = *reloc_entry;
- reloc_entry = &gp_disp_relent;
- reloc_entry->addend = relocation - 4;
- }
-
- /* Now do the LO16 reloc in the usual way. */
- return mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
-/* Do a R_MIPS_GOT16 reloc. This is a reloc against the global offset
- table used for PIC code. If the symbol is an external symbol, the
- instruction is modified to contain the offset of the appropriate
- entry in the global offset table. If the symbol is a section
- symbol, the next reloc is a R_MIPS_LO16 reloc. The two 16 bit
- addends are combined to form the real addend against the section
- symbol; the GOT16 is modified to contain the offset of an entry in
- the global offset table, and the LO16 is modified to offset it
- appropriately. Thus an offset larger than 16 bits requires a
- modified value in the global offset table.
-
- This implementation suffices for the assembler, but the linker does
- not yet know how to create global offset tables. */
-
-static bfd_reloc_status_type
-mips_elf_got16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
-{
- /* If we're relocating, and this is an external symbol, we don't want
- to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- return mips_elf_hi16_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a
dangerous relocation. */
@@ -1078,16 +816,6 @@ _bfd_mips_elf32_gprel16_reloc (bfd *abfd, arelent *reloc_entry,
bfd_reloc_status_type ret;
bfd_vma gp;
- /* If we're relocating, and this is an external symbol, we don't want
- to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
if (output_bfd != NULL)
relocatable = TRUE;
else
@@ -1118,17 +846,6 @@ mips_elf_gprel32_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
bfd_reloc_status_type ret;
bfd_vma gp;
- /* If we're relocating, and this is an external symbol, we don't want
- to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- *error_message = (char *)
- _("32bits gp relative relocation occurs for an external symbol");
- return bfd_reloc_outofrange;
- }
-
if (output_bfd != NULL)
relocatable = TRUE;
else
@@ -1194,20 +911,16 @@ gprel32_with_gp (bfd *abfd, asymbol *symbol, arelent *reloc_entry,
sign extension. */
static bfd_reloc_status_type
-mips32_64bit_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
+mips32_64bit_reloc (bfd *abfd, arelent *reloc_entry,
+ asymbol *symbol ATTRIBUTE_UNUSED,
+ void *data, asection *input_section,
+ bfd *output_bfd, char **error_message)
{
bfd_reloc_status_type r;
arelent reloc32;
unsigned long val;
bfd_size_type addr;
- r = mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
- if (r != bfd_reloc_continue)
- return r;
-
/* Do a normal 32 bit relocation on the lower 32 bits. */
reloc32 = *reloc_entry;
if (bfd_big_endian (abfd))
@@ -1800,10 +1513,6 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible. */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -1881,20 +1590,29 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define TARGET_BIG_SYM bfd_elf32_bigmips_vec
#define TARGET_BIG_NAME "elf32-bigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible. */
+#define ELF_MAXPAGESIZE 0x1000
+
#include "elf32-target.h"
/* Support for traditional mips targets. */
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
-
#undef TARGET_LITTLE_SYM
#undef TARGET_LITTLE_NAME
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf32_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_tradbigmips_vec
#define TARGET_BIG_NAME "elf32-tradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf32_bed elf32_tradbed
+
/* Include the target file again for this target. */
#include "elf32-target.h"
diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
index f77f22c7c3..c20e403588 100644
--- a/bfd/elf32-sparc.c
+++ b/bfd/elf32-sparc.c
@@ -502,6 +502,35 @@ sparc_elf_lox10_reloc (abfd,
return bfd_reloc_ok;
}
+/* Support for core dump NOTE sections. */
+
+static bfd_boolean
+elf32_sparc_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
+{
+ switch (note->descsz)
+ {
+ default:
+ return FALSE;
+
+ case 260: /* Solaris prpsinfo_t. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 84, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 100, 80);
+ break;
+
+ case 336: /* Solaris psinfo_t. */
+ elf_tdata (abfd)->core_program
+ = _bfd_elfcore_strndup (abfd, note->descdata + 88, 16);
+ elf_tdata (abfd)->core_command
+ = _bfd_elfcore_strndup (abfd, note->descdata + 104, 80);
+ break;
+ }
+
+ return TRUE;
+}
+
+
/* Functions for the SPARC ELF linker. */
/* The name of the dynamic interpreter. This is put in the .interp
@@ -3451,6 +3480,7 @@ elf32_sparc_reloc_type_class (rela)
elf32_sparc_final_write_processing
#define elf_backend_gc_mark_hook elf32_sparc_gc_mark_hook
#define elf_backend_gc_sweep_hook elf32_sparc_gc_sweep_hook
+#define elf_backend_grok_psinfo elf32_sparc_grok_psinfo
#define elf_backend_reloc_type_class elf32_sparc_reloc_type_class
#define elf_backend_can_gc_sections 1
diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c
index c37ca005f0..e085e3509f 100644
--- a/bfd/elf32-vax.c
+++ b/bfd/elf32-vax.c
@@ -892,20 +892,21 @@ elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
Elf_Internal_Shdr *symtab_hdr;
struct elf_link_hash_entry **sym_hashes;
const Elf_Internal_Rela *rel, *relend;
- unsigned long r_symndx;
- struct elf_link_hash_entry *h;
bfd *dynobj;
- symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
- sym_hashes = elf_sym_hashes (abfd);
-
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
return TRUE;
+ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+ sym_hashes = elf_sym_hashes (abfd);
+
relend = relocs + sec->reloc_count;
for (rel = relocs; rel < relend; rel++)
{
+ unsigned long r_symndx;
+ struct elf_link_hash_entry *h;
+
switch (ELF32_R_TYPE (rel->r_info))
{
case R_VAX_GOT32:
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 998c5df5b3..fa3b494b99 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -104,8 +104,6 @@ static void mips_elf64_write_rel
(bfd *, asection *, Elf_Internal_Shdr *, int *, void *);
static void mips_elf64_write_rela
(bfd *, asection *, Elf_Internal_Shdr *, int *, void *);
-static bfd_reloc_status_type mips_elf64_hi16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type mips_elf64_gprel16_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type mips_elf64_literal_reloc
@@ -114,8 +112,6 @@ static bfd_reloc_status_type mips_elf64_gprel32_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type mips_elf64_shift6_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf64_got16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type mips16_jump_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_reloc_status_type mips16_gprel_reloc
@@ -155,7 +151,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -170,7 +166,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -185,7 +181,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -200,7 +196,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -218,7 +214,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
/* This needs complex overflow
detection, because the upper 36
bits must match the PC + 4. */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_26", /* name */
TRUE, /* partial_inplace */
0x03ffffff, /* src_mask */
@@ -230,13 +226,13 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
/* High 16 bits of symbol value. */
HOWTO (R_MIPS_HI16, /* type */
- 0, /* rightshift */
+ 16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf64_hi16_reloc, /* special_function */
+ _bfd_mips_elf_hi16_reloc, /* special_function */
"R_MIPS_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -251,7 +247,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_lo16_reloc, /* special_function */
"R_MIPS_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -296,7 +292,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf64_got16_reloc, /* special_function */
+ _bfd_mips_elf_got16_reloc, /* special_function */
"R_MIPS_GOT16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -311,7 +307,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -326,7 +322,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -360,7 +356,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT5", /* name */
TRUE, /* partial_inplace */
0x000007c0, /* src_mask */
@@ -390,7 +386,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_64", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -405,7 +401,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_DISP", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -420,7 +416,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_PAGE", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -435,7 +431,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_OFST", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -450,7 +446,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -465,7 +461,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -480,7 +476,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SUB", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -496,7 +492,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_A", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -513,7 +509,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_B", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -529,7 +525,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_DELETE", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -553,7 +549,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -568,7 +564,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -583,7 +579,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SCN_DISP", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -597,7 +593,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL16", /* name */
TRUE, /* partial_inplace */
0xffff, /* src_mask */
@@ -617,7 +613,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_RELGOT", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -633,7 +629,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_JALR", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -653,7 +649,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -668,7 +664,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -683,7 +679,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -698,7 +694,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -716,7 +712,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
/* This needs complex overflow
detection, because the upper 36
bits must match the PC + 4. */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_26", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -731,7 +727,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -746,7 +742,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -791,7 +787,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf64_got16_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -806,7 +802,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -821,7 +817,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -855,7 +851,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT5", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -885,7 +881,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_64", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -900,7 +896,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_DISP", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -915,7 +911,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_PAGE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -930,7 +926,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_OFST", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -945,7 +941,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -960,7 +956,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -975,7 +971,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SUB", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -991,7 +987,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_A", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1008,7 +1004,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_B", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1024,7 +1020,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_DELETE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1039,7 +1035,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHER", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1054,7 +1050,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHEST", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1069,7 +1065,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1084,7 +1080,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1099,7 +1095,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SCN_DISP", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1113,7 +1109,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1133,7 +1129,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_RELGOT", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1149,7 +1145,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_JALR", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1233,7 +1229,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GNU_REL16_S2", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -1249,7 +1245,7 @@ static reloc_howto_type elf_mips_gnu_rela16_s2 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GNU_REL16_S2", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1411,66 +1407,6 @@ mips_elf64_be_swap_reloca_out (bfd *abfd, const Elf_Internal_Rela *src,
(Elf64_Mips_External_Rela *) dst);
}
-/* Do a R_MIPS_HI16 relocation. */
-
-static bfd_reloc_status_type
-mips_elf64_hi16_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
- char **error_message ATTRIBUTE_UNUSED)
-{
- /* If we're relocating, and this is an external symbol, we don't
- want to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
- if (reloc_entry->howto->partial_inplace)
- {
- if (((reloc_entry->addend & 0xffff) + 0x8000) & ~0xffff)
- reloc_entry->addend += 0x8000;
- }
-
- return bfd_reloc_continue;
-}
-
-/* Do a R_MIPS_GOT16 reloc. This is a reloc against the global offset
- table used for PIC code. If the symbol is an external symbol, the
- instruction is modified to contain the offset of the appropriate
- entry in the global offset table. If the symbol is a section
- symbol, the next reloc is a R_MIPS_LO16 reloc. The two 16 bit
- addends are combined to form the real addend against the section
- symbol; the GOT16 is modified to contain the offset of an entry in
- the global offset table, and the LO16 is modified to offset it
- appropriately. Thus an offset larger than 16 bits requires a
- modified value in the global offset table.
-
- This implementation suffices for the assembler, but the linker does
- not yet know how to create global offset tables. */
-
-static bfd_reloc_status_type
-mips_elf64_got16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
-{
- /* If we're relocating, and this is a local symbol, we can handle it
- just like an R_MIPS_HI16. */
- if (output_bfd != NULL
- && ((symbol->flags & BSF_SECTION_SYM) != 0
- || (symbol->flags & BSF_LOCAL) == 0))
- return mips_elf64_hi16_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-
-
- /* Otherwise we try to handle it as R_MIPS_GOT_DISP. */
- return bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a
dangerous relocation. */
@@ -1716,28 +1652,19 @@ mips_elf64_gprel32_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
the rest is at bits 6-10. The bitpos already got right by the howto. */
static bfd_reloc_status_type
-mips_elf64_shift6_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
- char **error_message ATTRIBUTE_UNUSED)
+mips_elf64_shift6_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
+ void *data, asection *input_section, bfd *output_bfd,
+ char **error_message)
{
- /* If we're relocating, and this is an external symbol, we don't
- want to change anything. */
- if (output_bfd != NULL
- && (symbol->flags & BSF_SECTION_SYM) == 0
- && (symbol->flags & BSF_LOCAL) != 0)
- {
- reloc_entry->address += input_section->output_offset;
- return bfd_reloc_ok;
- }
-
if (reloc_entry->howto->partial_inplace)
{
reloc_entry->addend = ((reloc_entry->addend & 0x00007c0)
| (reloc_entry->addend & 0x00000800) >> 9);
}
- return bfd_reloc_continue;
+ return _bfd_mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
+ input_section, output_bfd,
+ error_message);
}
/* Handle a mips16 jump. */
@@ -2088,7 +2015,7 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect,
arelent *relent;
bfd_vma i;
int entsize;
- reloc_howto_type *howto_table;
+ bfd_boolean rela_p;
allocated = bfd_malloc (rel_hdr->sh_size);
if (allocated == NULL)
@@ -2106,9 +2033,9 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect,
|| entsize == sizeof (Elf64_Mips_External_Rela));
if (entsize == sizeof (Elf64_Mips_External_Rel))
- howto_table = mips_elf64_howto_table_rel;
+ rela_p = FALSE;
else
- howto_table = mips_elf64_howto_table_rela;
+ rela_p = TRUE;
for (i = 0, relent = relents;
i < reloc_count;
@@ -2221,7 +2148,7 @@ mips_elf64_slurp_one_reloc_table (bfd *abfd, asection *asect,
relent->addend = rela.r_addend;
- relent->howto = &howto_table[(int) type];
+ relent->howto = mips_elf64_rtype_to_howto (type, rela_p);
++relent;
}
@@ -2749,11 +2676,6 @@ const struct elf_size_info mips_elf64_size_info =
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible.
- FIXME: How does this affect NewABI? */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -2864,9 +2786,12 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#define TARGET_BIG_SYM bfd_elf64_bigmips_vec
#define TARGET_BIG_NAME "elf64-bigmips"
-#include "elf64-target.h"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible.
+ FIXME: How does this affect NewABI? */
+#define ELF_MAXPAGESIZE 0x1000
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
+#include "elf64-target.h"
/* The SYSV-style 'traditional' (n)64 NewABI. */
#undef TARGET_LITTLE_SYM
@@ -2874,10 +2799,17 @@ extern bfd_boolean bfd_elf64_archive_write_armap
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf64_tradlittlemips_vec
#define TARGET_LITTLE_NAME "elf64-tradlittlemips"
#define TARGET_BIG_SYM bfd_elf64_tradbigmips_vec
#define TARGET_BIG_NAME "elf64-tradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf64_bed elf64_tradbed
+
/* Include the target file again for this target. */
#include "elf64-target.h"
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 3ed9042e6f..304a635856 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3590,6 +3590,15 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (info->relocatable)
return TRUE;
+ /* Don't do anything special with non-loaded, non-alloced sections.
+ In particular, any relocs in such sections should not affect GOT
+ and PLT reference counting (ie. we don't allow them to create GOT
+ or PLT entries), there's no possibility or desire to optimize TLS
+ relocs, and there's not much point in propagating relocs to shared
+ libs that the dynamic linker won't relocate. */
+ if ((sec->flags & SEC_ALLOC) == 0)
+ return TRUE;
+
htab = ppc_hash_table (info);
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -3947,10 +3956,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (NO_OPD_RELOCS && opd_sym_map != NULL)
break;
- /* Don't propagate relocs that the dynamic linker won't relocate. */
- if ((sec->flags & SEC_ALLOC) == 0)
- break;
-
/* If we are creating a shared library, and this is a reloc
against a global symbol, or a non PC relative reloc
against a local symbol, then we need to copy the reloc
@@ -4166,6 +4171,9 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info,
struct got_entry **local_got_ents;
const Elf_Internal_Rela *rel, *relend;
+ if ((sec->flags & SEC_ALLOC) == 0)
+ return TRUE;
+
elf_section_data (sec)->local_dynrel = NULL;
htab = ppc_hash_table (info);
@@ -6001,7 +6009,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
}
/* .plt is in the bss section. We don't initialise it. */
- if ((s->flags & SEC_LOAD) == 0)
+ if (s == htab->plt)
continue;
/* Allocate memory for the section contents. We use bfd_zalloc
diff --git a/bfd/elflink.h b/bfd/elflink.h
index f558e1c51a..c37d7398d0 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -5801,7 +5801,10 @@ elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
|| info->emitrelocations
|| !is_elf_hash_table (info->hash)
|| elf_hash_table (info)->dynamic_sections_created)
- return TRUE;
+ {
+ (*_bfd_error_handler)(_("Warning: gc-sections option ignored"));
+ return TRUE;
+ }
/* Apply transitive closure to the vtable entry usage info. */
elf_link_hash_traverse (elf_hash_table (info),
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c
index 49cf898191..973edd52da 100644
--- a/bfd/elfn32-mips.c
+++ b/bfd/elfn32-mips.c
@@ -47,14 +47,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define ECOFF_SIGNED_32
#include "ecoffswap.h"
-static bfd_reloc_status_type mips_elf_generic_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_hi16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_lo16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
-static bfd_reloc_status_type mips_elf_got16_reloc
- (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
static bfd_boolean mips_elf_assign_gp
(bfd *, bfd_vma *);
static bfd_reloc_status_type mips_elf_final_gp
@@ -95,10 +87,6 @@ static irix_compat_t elf_n32_mips_irix_compat
extern const bfd_target bfd_elf32_nbigmips_vec;
extern const bfd_target bfd_elf32_nlittlemips_vec;
-static asection *prev_reloc_section = NULL;
-static bfd_vma prev_reloc_address = -1;
-static bfd_vma prev_reloc_addend = 0;
-
/* Nonzero if ABFD is using the N32 ABI. */
#define ABI_N32_P(abfd) \
((elf_elfheader (abfd)->e_flags & EF_MIPS_ABI2) != 0)
@@ -126,7 +114,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -141,7 +129,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -156,7 +144,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -171,7 +159,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -189,7 +177,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
/* This needs complex overflow
detection, because the upper four
bits must match the PC + 4. */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_26", /* name */
TRUE, /* partial_inplace */
0x03ffffff, /* src_mask */
@@ -201,13 +189,13 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
/* High 16 bits of symbol value. */
HOWTO (R_MIPS_HI16, /* type */
- 0, /* rightshift */
+ 16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_hi16_reloc, /* special_function */
+ _bfd_mips_elf_hi16_reloc, /* special_function */
"R_MIPS_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -222,7 +210,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_lo16_reloc, /* special_function */
+ _bfd_mips_elf_lo16_reloc, /* special_function */
"R_MIPS_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -267,7 +255,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_got16_reloc, /* special_function */
+ _bfd_mips_elf_got16_reloc, /* special_function */
"R_MIPS_GOT16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -282,7 +270,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -297,7 +285,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -333,7 +321,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT5", /* name */
TRUE, /* partial_inplace */
0x000007c0, /* src_mask */
@@ -363,7 +351,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_64", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -378,7 +366,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_DISP", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -393,7 +381,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_PAGE", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -408,7 +396,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_OFST", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -423,7 +411,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -438,7 +426,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -453,7 +441,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SUB", /* name */
TRUE, /* partial_inplace */
MINUS_ONE, /* src_mask */
@@ -469,7 +457,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_A", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -486,7 +474,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_B", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -502,7 +490,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_DELETE", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -526,7 +514,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_HI16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -541,7 +529,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_LO16", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -556,7 +544,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SCN_DISP", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -570,7 +558,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL16", /* name */
TRUE, /* partial_inplace */
0xffff, /* src_mask */
@@ -590,7 +578,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_RELGOT", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -606,7 +594,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_JALR", /* name */
FALSE, /* partial_inplace */
0x00000000, /* src_mask */
@@ -626,7 +614,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -641,7 +629,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -656,7 +644,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -671,7 +659,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL32", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -689,7 +677,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
/* This needs complex overflow
detection, because the upper 36
bits must match the PC + 4. */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_26", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -704,7 +692,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -719,7 +707,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -764,7 +752,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_got16_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -779,7 +767,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_PC16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -794,7 +782,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -828,7 +816,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
6, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SHIFT5", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -858,7 +846,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_64", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -873,7 +861,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_DISP", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -888,7 +876,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_PAGE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -903,7 +891,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_OFST", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -918,7 +906,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -933,7 +921,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GOT_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -948,7 +936,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SUB", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -964,7 +952,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_A", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -981,7 +969,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_INSERT_B", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -997,7 +985,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_DELETE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1012,7 +1000,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHER", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1027,7 +1015,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_HIGHEST", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1042,7 +1030,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_HI16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1057,7 +1045,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_CALL_LO16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1072,7 +1060,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_SCN_DISP", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1087,7 +1075,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_REL16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1107,7 +1095,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_RELGOT", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1123,7 +1111,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_JALR", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
@@ -1207,7 +1195,7 @@ static reloc_howto_type elf_mips_gnu_rel16_s2 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GNU_REL16_S2", /* name */
TRUE, /* partial_inplace */
0x0000ffff, /* src_mask */
@@ -1223,224 +1211,13 @@ static reloc_howto_type elf_mips_gnu_rela16_s2 =
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
- mips_elf_generic_reloc, /* special_function */
+ _bfd_mips_elf_generic_reloc, /* special_function */
"R_MIPS_GNU_REL16_S2", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0x0000ffff, /* dst_mask */
TRUE); /* pcrel_offset */
-/* This is derived from bfd_elf_generic_reloc. NewABI allows us to have
- several relocations against the same address. The addend is derived
- from the addends of preceding relocations. If we don't need to
- do something special, we simply keep track of the addend. */
-
-#define GET_RELOC_ADDEND(obfd, sym, entry, sec) \
-{ \
- /* If we're relocating, and this is an external symbol, we don't \
- want to change anything. */ \
- if ((obfd) != NULL \
- && ((sym)->flags & BSF_SECTION_SYM) == 0 \
- && (! (entry)->howto->partial_inplace \
- || (entry)->addend == 0)) \
- { \
- (entry)->address += (sec)->output_offset; \
- return bfd_reloc_ok; \
- } \
- \
- /* The addend of combined relocs is remembered and left for \
- subsequent relocs. */ \
- if (prev_reloc_address != (entry)->address \
- || prev_reloc_section != (sec)) \
- { \
- prev_reloc_section = (sec); \
- prev_reloc_address = (entry)->address; \
- prev_reloc_addend = (entry)->addend; \
- } \
- else \
- (entry)->addend = prev_reloc_addend; \
-}
-
-#define SET_RELOC_ADDEND(entry) \
-{ \
- prev_reloc_addend = (entry)->addend; \
-}
-
-static bfd_reloc_status_type
-mips_elf_generic_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
- char **error_message ATTRIBUTE_UNUSED)
-{
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
- return bfd_reloc_continue;
-}
-
-/* Do a R_MIPS_HI16 relocation. This has to be done in combination
- with a R_MIPS_LO16 reloc, because there is a carry from the LO16 to
- the HI16. Here we just save the information we need; we do the
- actual relocation when we see the LO16.
-
- MIPS ELF requires that the LO16 immediately follow the HI16. As a
- GNU extension, for non-pc-relative relocations, we permit an
- arbitrary number of HI16 relocs to be associated with a single LO16
- reloc. This extension permits gcc to output the HI and LO relocs
- itself.
-
- This cannot be done for PC-relative relocations because both the HI16
- and LO16 parts of the relocations must be done relative to the LO16
- part, and there can be carry to or borrow from the HI16 part. */
-
-struct mips_hi16
-{
- struct mips_hi16 *next;
- bfd_byte *addr;
- bfd_vma addend;
-};
-
-/* FIXME: This should not be a static variable. */
-
-static struct mips_hi16 *mips_hi16_list;
-
-static bfd_reloc_status_type
-mips_elf_hi16_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data, asection *input_section,
- bfd *output_bfd, char **error_message ATTRIBUTE_UNUSED)
-{
- bfd_reloc_status_type ret;
- bfd_vma relocation;
- struct mips_hi16 *n;
-
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
- ret = bfd_reloc_ok;
-
- if (bfd_is_und_section (symbol->section) && output_bfd == NULL)
- ret = bfd_reloc_undefined;
-
- if (bfd_is_com_section (symbol->section))
- relocation = 0;
- else
- relocation = symbol->value;
-
- relocation += symbol->section->output_section->vma;
- relocation += symbol->section->output_offset;
- relocation += reloc_entry->addend;
-
- if (reloc_entry->address > input_section->_cooked_size)
- return bfd_reloc_outofrange;
-
- /* Save the information, and let LO16 do the actual relocation. */
- n = bfd_malloc (sizeof *n);
- if (n == NULL)
- return bfd_reloc_outofrange;
- n->addr = (bfd_byte *) data + reloc_entry->address;
- n->addend = relocation;
- n->next = mips_hi16_list;
- mips_hi16_list = n;
-
- if (output_bfd != NULL)
- reloc_entry->address += input_section->output_offset;
-
- return ret;
-}
-
-/* Do a R_MIPS_LO16 relocation. This is a straightforward 16 bit
- inplace relocation; this function exists in order to do the
- R_MIPS_HI16 relocation described above. */
-
-static bfd_reloc_status_type
-mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
-{
- if (mips_hi16_list != NULL)
- {
- struct mips_hi16 *l;
-
- l = mips_hi16_list;
- while (l != NULL)
- {
- unsigned long insn;
- unsigned long val;
- unsigned long vallo;
- struct mips_hi16 *next;
-
- /* Do the HI16 relocation. Note that we actually don't need
- to know anything about the LO16 itself, except where to
- find the low 16 bits of the addend needed by the LO16. */
- insn = bfd_get_32 (abfd, l->addr);
- vallo = bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address);
-
- /* The low order 16 bits are always treated as a signed
- value. */
- vallo = ((vallo & 0xffff) ^ 0x8000) - 0x8000;
- val = ((insn & 0xffff) << 16) + vallo;
- val += l->addend;
-
- /* If PC-relative, we need to subtract out the address of the LO
- half of the HI/LO. (The actual relocation is relative
- to that instruction.) */
- if (reloc_entry->howto->pc_relative)
- val -= reloc_entry->address;
-
- /* At this point, "val" has the value of the combined HI/LO
- pair. If the low order 16 bits (which will be used for
- the LO16 insn) are negative, then we will need an
- adjustment for the high order 16 bits. */
- val += 0x8000;
- val = (val >> 16) & 0xffff;
-
- insn &= ~ (bfd_vma) 0xffff;
- insn |= val;
- bfd_put_32 (abfd, insn, l->addr);
-
- next = l->next;
- free (l);
- l = next;
- }
-
- mips_hi16_list = NULL;
- }
-
- /* Now do the LO16 reloc in the usual way. */
- return mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
-/* Do a R_MIPS_GOT16 reloc. This is a reloc against the global offset
- table used for PIC code. If the symbol is an external symbol, the
- instruction is modified to contain the offset of the appropriate
- entry in the global offset table. If the symbol is a section
- symbol, the next reloc is a R_MIPS_LO16 reloc. The two 16 bit
- addends are combined to form the real addend against the section
- symbol; the GOT16 is modified to contain the offset of an entry in
- the global offset table, and the LO16 is modified to offset it
- appropriately. Thus an offset larger than 16 bits requires a
- modified value in the global offset table.
-
- This implementation suffices for the assembler, but the linker does
- not yet know how to create global offset tables. */
-
-static bfd_reloc_status_type
-mips_elf_got16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
- void *data, asection *input_section, bfd *output_bfd,
- char **error_message)
-{
- /* If we're relocating, and this is a local symbol, we can handle it
- just like an R_MIPS_HI16. */
- if (output_bfd != NULL
- && ((symbol->flags & BSF_SECTION_SYM) != 0
- || (symbol->flags & BSF_LOCAL) == 0))
- return mips_elf_hi16_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-
- /* Otherwise we try to handle it as R_MIPS_GOT_DISP. */
- return mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
- input_section, output_bfd, error_message);
-}
-
/* Set the GP value for OUTPUT_BFD. Returns FALSE if this is a
dangerous relocation. */
@@ -1542,8 +1319,6 @@ mips_elf_gprel16_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
bfd_reloc_status_type ret;
bfd_vma gp;
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
if (output_bfd != NULL)
relocatable = TRUE;
else
@@ -1573,8 +1348,6 @@ mips_elf_literal_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
bfd_reloc_status_type ret;
bfd_vma gp;
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
/* FIXME: The entries in the .lit8 and .lit4 sections should be merged. */
if (output_bfd != NULL)
relocatable = TRUE;
@@ -1606,8 +1379,6 @@ mips_elf_gprel32_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
bfd_reloc_status_type ret;
bfd_vma gp;
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
/* R_MIPS_GPREL32 relocations are defined for local symbols only. */
if (output_bfd != NULL
&& (symbol->flags & BSF_SECTION_SYM) == 0
@@ -1684,36 +1455,33 @@ gprel32_with_gp (bfd *abfd, asymbol *symbol, arelent *reloc_entry,
the rest is at bits 6-10. The bitpos already got right by the howto. */
static bfd_reloc_status_type
-mips_elf_shift6_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
- char **error_message ATTRIBUTE_UNUSED)
+mips_elf_shift6_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
+ void *data, asection *input_section, bfd *output_bfd,
+ char **error_message)
{
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
if (reloc_entry->howto->partial_inplace)
{
reloc_entry->addend = ((reloc_entry->addend & 0x00007c0)
| (reloc_entry->addend & 0x00000800) >> 9);
}
- SET_RELOC_ADDEND (reloc_entry)
-
- return bfd_reloc_continue;
+ return _bfd_mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
+ input_section, output_bfd,
+ error_message);
}
/* Handle a mips16 jump. */
static bfd_reloc_status_type
-mips16_jump_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
- asymbol *symbol, void *data ATTRIBUTE_UNUSED,
- asection *input_section, bfd *output_bfd,
+mips16_jump_reloc (bfd *abfd ATTRIBUTE_UNUSED,
+ arelent *reloc_entry ATTRIBUTE_UNUSED,
+ asymbol *symbol ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED,
+ asection *input_section, bfd *output_bfd ATTRIBUTE_UNUSED,
char **error_message ATTRIBUTE_UNUSED)
{
static bfd_boolean warned = FALSE;
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
/* FIXME. */
if (! warned)
(*_bfd_error_handler)
@@ -1739,8 +1507,6 @@ mips16_gprel_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
bfd_signed_vma val;
bfd_vma relocation;
- GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section)
-
if (output_bfd != NULL)
relocatable = TRUE;
else
@@ -1804,9 +1570,6 @@ mips16_gprel_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
return bfd_reloc_ok;
}
-
-#undef GET_RELOC_ADDEND
-#undef SET_RELOC_ADDEND
/* A mapping from BFD reloc types to MIPS ELF reloc types. */
@@ -2110,11 +1873,6 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define ELF_ARCH bfd_arch_mips
#define ELF_MACHINE_CODE EM_MIPS
-/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
- a value of 0x1000, and we are compatible.
- FIXME: How does this affect NewABI? */
-#define ELF_MAXPAGESIZE 0x1000
-
#define elf_backend_collect TRUE
#define elf_backend_type_change_ok TRUE
#define elf_backend_can_gc_sections TRUE
@@ -2196,20 +1954,30 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = {
#define TARGET_BIG_SYM bfd_elf32_nbigmips_vec
#define TARGET_BIG_NAME "elf32-nbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, but Irix 5 uses
+ a value of 0x1000, and we are compatible.
+ FIXME: How does this affect NewABI? */
+#define ELF_MAXPAGESIZE 0x1000
+
#include "elf32-target.h"
/* Support for traditional mips targets using n32 ABI. */
-#define INCLUDED_TARGET_FILE /* More a type of flag. */
-
#undef TARGET_LITTLE_SYM
#undef TARGET_LITTLE_NAME
#undef TARGET_BIG_SYM
#undef TARGET_BIG_NAME
+#undef ELF_MAXPAGESIZE
+
#define TARGET_LITTLE_SYM bfd_elf32_ntradlittlemips_vec
#define TARGET_LITTLE_NAME "elf32-ntradlittlemips"
#define TARGET_BIG_SYM bfd_elf32_ntradbigmips_vec
#define TARGET_BIG_NAME "elf32-ntradbigmips"
+/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+#define ELF_MAXPAGESIZE 0x10000
+#define elf32_bed elf32_tradbed
+
/* Include the target file again for this target. */
#include "elf32-target.h"
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index aba571a415..c699922154 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -876,6 +876,8 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
if (is_branch)
{
+ bfd_signed_vma offset;
+
reladdr = (sec->output_section->vma
+ sec->output_offset
+ roff) & (bfd_vma) -4;
@@ -911,6 +913,13 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
/* Resize the current section to make room for the new branch. */
trampoff = (sec->_cooked_size + 15) & (bfd_vma) -16;
+
+ /* If trampoline is out of range, there is nothing we
+ can do. */
+ offset = trampoff - (roff & (bfd_vma) -4);
+ if (offset < -0x1000000 || offset > 0x0FFFFF0)
+ continue;
+
amt = trampoff + size;
contents = (bfd_byte *) bfd_realloc (contents, amt);
if (contents == NULL)
@@ -957,14 +966,18 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
}
else
{
+ /* If trampoline is out of range, there is nothing we
+ can do. */
+ offset = f->trampoff - (roff & (bfd_vma) -4);
+ if (offset < -0x1000000 || offset > 0x0FFFFF0)
+ continue;
+
/* Nop out the reloc, since we're finalizing things here. */
irel->r_info = ELFNN_R_INFO (0, R_IA64_NONE);
}
- /* Fix up the existing branch to hit the trampoline. Hope like
- hell this doesn't overflow too. */
- if (elfNN_ia64_install_value (abfd, contents + roff,
- f->trampoff - (roff & (bfd_vma) -4),
+ /* Fix up the existing branch to hit the trampoline. */
+ if (elfNN_ia64_install_value (abfd, contents + roff, offset,
r_type) != bfd_reloc_ok)
goto error_return;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 1af0f98001..7bcdb1115b 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -1082,8 +1082,8 @@ _bfd_mips_elf_gprel16_with_gp (bfd *abfd, asymbol *symbol,
bfd_boolean relocatable, void *data, bfd_vma gp)
{
bfd_vma relocation;
- unsigned long insn = 0;
bfd_signed_vma val;
+ bfd_reloc_status_type status;
if (bfd_is_com_section (symbol->section))
relocation = 0;
@@ -1099,13 +1099,7 @@ _bfd_mips_elf_gprel16_with_gp (bfd *abfd, asymbol *symbol,
/* Set val to the offset into the section or symbol. */
val = reloc_entry->addend;
- if (reloc_entry->howto->partial_inplace)
- {
- insn = bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address);
- val += insn & 0xffff;
- }
-
- _bfd_mips_elf_sign_extend(val, 16);
+ _bfd_mips_elf_sign_extend (val, 16);
/* Adjust val for the final section location and GP value. If we
are producing relocatable output, we don't want to do this for
@@ -1116,16 +1110,215 @@ _bfd_mips_elf_gprel16_with_gp (bfd *abfd, asymbol *symbol,
if (reloc_entry->howto->partial_inplace)
{
- insn = (insn & ~0xffff) | (val & 0xffff);
- bfd_put_32 (abfd, insn, (bfd_byte *) data + reloc_entry->address);
+ status = _bfd_relocate_contents (reloc_entry->howto, abfd, val,
+ (bfd_byte *) data
+ + reloc_entry->address);
+ if (status != bfd_reloc_ok)
+ return status;
}
else
reloc_entry->addend = val;
if (relocatable)
reloc_entry->address += input_section->output_offset;
- else if (((val & ~0xffff) != ~0xffff) && ((val & ~0xffff) != 0))
- return bfd_reloc_overflow;
+
+ return bfd_reloc_ok;
+}
+
+/* Used to store a REL high-part relocation such as R_MIPS_HI16 or
+ R_MIPS_GOT16. REL is the relocation, INPUT_SECTION is the section
+ that contains the relocation field and DATA points to the start of
+ INPUT_SECTION. */
+
+struct mips_hi16
+{
+ struct mips_hi16 *next;
+ bfd_byte *data;
+ asection *input_section;
+ arelent rel;
+};
+
+/* FIXME: This should not be a static variable. */
+
+static struct mips_hi16 *mips_hi16_list;
+
+/* A howto special_function for REL *HI16 relocations. We can only
+ calculate the correct value once we've seen the partnering
+ *LO16 relocation, so just save the information for later.
+
+ The ABI requires that the *LO16 immediately follow the *HI16.
+ However, as a GNU extension, we permit an arbitrary number of
+ *HI16s to be associated with a single *LO16. This significantly
+ simplies the relocation handling in gcc. */
+
+bfd_reloc_status_type
+_bfd_mips_elf_hi16_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
+ asymbol *symbol ATTRIBUTE_UNUSED, void *data,
+ asection *input_section, bfd *output_bfd,
+ char **error_message ATTRIBUTE_UNUSED)
+{
+ struct mips_hi16 *n;
+
+ if (reloc_entry->address > input_section->_cooked_size)
+ return bfd_reloc_outofrange;
+
+ n = bfd_malloc (sizeof *n);
+ if (n == NULL)
+ return bfd_reloc_outofrange;
+
+ n->next = mips_hi16_list;
+ n->data = data;
+ n->input_section = input_section;
+ n->rel = *reloc_entry;
+ mips_hi16_list = n;
+
+ if (output_bfd != NULL)
+ reloc_entry->address += input_section->output_offset;
+
+ return bfd_reloc_ok;
+}
+
+/* A howto special_function for REL R_MIPS_GOT16 relocations. This is just
+ like any other 16-bit relocation when applied to global symbols, but is
+ treated in the same as R_MIPS_HI16 when applied to local symbols. */
+
+bfd_reloc_status_type
+_bfd_mips_elf_got16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
+ void *data, asection *input_section,
+ bfd *output_bfd, char **error_message)
+{
+ if ((symbol->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
+ || bfd_is_und_section (bfd_get_section (symbol))
+ || bfd_is_com_section (bfd_get_section (symbol)))
+ /* The relocation is against a global symbol. */
+ return _bfd_mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
+ input_section, output_bfd,
+ error_message);
+
+ return _bfd_mips_elf_hi16_reloc (abfd, reloc_entry, symbol, data,
+ input_section, output_bfd, error_message);
+}
+
+/* A howto special_function for REL *LO16 relocations. The *LO16 itself
+ is a straightforward 16 bit inplace relocation, but we must deal with
+ any partnering high-part relocations as well. */
+
+bfd_reloc_status_type
+_bfd_mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol,
+ void *data, asection *input_section,
+ bfd *output_bfd, char **error_message)
+{
+ bfd_vma vallo;
+
+ if (reloc_entry->address > input_section->_cooked_size)
+ return bfd_reloc_outofrange;
+
+ vallo = bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address);
+ while (mips_hi16_list != NULL)
+ {
+ bfd_reloc_status_type ret;
+ struct mips_hi16 *hi;
+
+ hi = mips_hi16_list;
+
+ /* R_MIPS_GOT16 relocations are something of a special case. We
+ want to install the addend in the same way as for a R_MIPS_HI16
+ relocation (with a rightshift of 16). However, since GOT16
+ relocations can also be used with global symbols, their howto
+ has a rightshift of 0. */
+ if (hi->rel.howto->type == R_MIPS_GOT16)
+ hi->rel.howto = MIPS_ELF_RTYPE_TO_HOWTO (abfd, R_MIPS_HI16, FALSE);
+
+ /* VALLO is a signed 16-bit number. Bias it by 0x8000 so that any
+ carry or borrow will induce a change of +1 or -1 in the high part. */
+ hi->rel.addend += (vallo + 0x8000) & 0xffff;
+
+ /* R_MIPS_GNU_REL_HI16 relocations are relative to the address of the
+ lo16 relocation, not their own address. If we're calculating the
+ final value, and hence subtracting the "PC", subtract the offset
+ of the lo16 relocation from here. */
+ if (output_bfd == NULL && hi->rel.howto->type == R_MIPS_GNU_REL_HI16)
+ hi->rel.addend -= reloc_entry->address - hi->rel.address;
+
+ ret = _bfd_mips_elf_generic_reloc (abfd, &hi->rel, symbol, hi->data,
+ hi->input_section, output_bfd,
+ error_message);
+ if (ret != bfd_reloc_ok)
+ return ret;
+
+ mips_hi16_list = hi->next;
+ free (hi);
+ }
+
+ return _bfd_mips_elf_generic_reloc (abfd, reloc_entry, symbol, data,
+ input_section, output_bfd,
+ error_message);
+}
+
+/* A generic howto special_function. This calculates and installs the
+ relocation itself, thus avoiding the oft-discussed problems in
+ bfd_perform_relocation and bfd_install_relocation. */
+
+bfd_reloc_status_type
+_bfd_mips_elf_generic_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc_entry,
+ asymbol *symbol, void *data ATTRIBUTE_UNUSED,
+ asection *input_section, bfd *output_bfd,
+ char **error_message ATTRIBUTE_UNUSED)
+{
+ bfd_signed_vma val;
+ bfd_reloc_status_type status;
+ bfd_boolean relocatable;
+
+ relocatable = (output_bfd != NULL);
+
+ if (reloc_entry->address > input_section->_cooked_size)
+ return bfd_reloc_outofrange;
+
+ /* Build up the field adjustment in VAL. */
+ val = 0;
+ if (!relocatable || (symbol->flags & BSF_SECTION_SYM) != 0)
+ {
+ /* Either we're calculating the final field value or we have a
+ relocation against a section symbol. Add in the section's
+ offset or address. */
+ val += symbol->section->output_section->vma;
+ val += symbol->section->output_offset;
+ }
+
+ if (!relocatable)
+ {
+ /* We're calculating the final field value. Add in the symbol's value
+ and, if pc-relative, subtract the address of the field itself. */
+ val += symbol->value;
+ if (reloc_entry->howto->pc_relative)
+ {
+ val -= input_section->output_section->vma;
+ val -= input_section->output_offset;
+ val -= reloc_entry->address;
+ }
+ }
+
+ /* VAL is now the final adjustment. If we're keeping this relocation
+ in the output file, and if the relocation uses a separate addend,
+ we just need to add VAL to that addend. Otherwise we need to add
+ VAL to the relocation field itself. */
+ if (relocatable && !reloc_entry->howto->partial_inplace)
+ reloc_entry->addend += val;
+ else
+ {
+ /* Add in the separate addend, if any. */
+ val += reloc_entry->addend;
+
+ /* Add VAL to the relocation field. */
+ status = _bfd_relocate_contents (reloc_entry->howto, abfd, val,
+ (bfd_byte *) data
+ + reloc_entry->address);
+ if (status != bfd_reloc_ok)
+ return status;
+ }
+
+ if (relocatable)
+ reloc_entry->address += input_section->output_offset;
return bfd_reloc_ok;
}
@@ -3203,7 +3396,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
break;
case R_MIPS_GNU_REL16_S2:
- value = symbol + _bfd_mips_elf_sign_extend (addend << 2, 18) - p;
+ value = symbol + _bfd_mips_elf_sign_extend (addend, 18) - p;
overflowed_p = mips_elf_overflow_p (value, 18);
value = (value >> 2) & howto->dst_mask;
break;
@@ -3226,9 +3419,9 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
R_MIPS_26 case here. */
case R_MIPS_26:
if (local_p)
- value = (((addend << 2) | ((p + 4) & 0xf0000000)) + symbol) >> 2;
+ value = ((addend | ((p + 4) & 0xf0000000)) + symbol) >> 2;
else
- value = (_bfd_mips_elf_sign_extend (addend << 2, 28) + symbol) >> 2;
+ value = (_bfd_mips_elf_sign_extend (addend, 28) + symbol) >> 2;
value &= howto->dst_mask;
break;
@@ -6067,7 +6260,6 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
addend = mips_elf_obtain_contents (howto, rel, input_bfd,
contents);
addend &= howto->src_mask;
- addend <<= howto->rightshift;
/* For some kinds of relocations, the ADDEND is a
combination of the addend stored in two different
@@ -6131,6 +6323,8 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
| ((addend & 0x7e00000) >> 16)
| (addend & 0x1f));
}
+ else
+ addend <<= howto->rightshift;
}
else
addend = rel->r_addend;
@@ -6170,33 +6364,25 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
/* Adjust the addend appropriately. */
addend += local_sections[r_symndx]->output_offset;
- if (howto->partial_inplace)
+ if (rela_relocation_p)
+ /* If this is a RELA relocation, just update the addend. */
+ rel->r_addend = addend;
+ else
{
- /* If the relocation is for a R_MIPS_HI16 or R_MIPS_GOT16,
- then we only want to write out the high-order 16 bits.
- The subsequent R_MIPS_LO16 will handle the low-order bits.
- */
- if (r_type == R_MIPS_HI16 || r_type == R_MIPS_GOT16
+ if (r_type == R_MIPS_HI16
+ || r_type == R_MIPS_GOT16
|| r_type == R_MIPS_GNU_REL_HI16)
addend = mips_elf_high (addend);
else if (r_type == R_MIPS_HIGHER)
addend = mips_elf_higher (addend);
else if (r_type == R_MIPS_HIGHEST)
addend = mips_elf_highest (addend);
- }
+ else
+ addend >>= howto->rightshift;
- if (rela_relocation_p)
- /* If this is a RELA relocation, just update the addend.
- We have to cast away constness for REL. */
- rel->r_addend = addend;
- else
- {
- /* Otherwise, we have to write the value back out. Note
- that we use the source mask, rather than the
- destination mask because the place to which we are
- writing will be source of the addend in the final
- link. */
- addend >>= howto->rightshift;
+ /* We use the source mask, rather than the destination
+ mask because the place to which we are writing will be
+ source of the addend in the final link. */
addend &= howto->src_mask;
if (r_type == R_MIPS_64 && ! NEWABI_P (output_bfd))
@@ -6260,8 +6446,6 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
else
use_saved_addend_p = FALSE;
- addend >>= howto->rightshift;
-
/* Figure out what value we are supposed to relocate. */
switch (mips_elf_calculate_relocation (output_bfd, input_bfd,
input_section, info, rel,
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index aef4e7b7b2..d3787e9ef9 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -103,6 +103,14 @@ extern bfd_reloc_status_type _bfd_mips_elf_gprel16_with_gp
(bfd *, asymbol *, arelent *, asection *, bfd_boolean, void *, bfd_vma);
extern bfd_reloc_status_type _bfd_mips_elf32_gprel16_reloc
(bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
+extern bfd_reloc_status_type _bfd_mips_elf_hi16_reloc
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
+extern bfd_reloc_status_type _bfd_mips_elf_got16_reloc
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
+extern bfd_reloc_status_type _bfd_mips_elf_lo16_reloc
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
+extern bfd_reloc_status_type _bfd_mips_elf_generic_reloc
+ (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **);
extern unsigned long _bfd_elf_mips_mach
(flagword);
extern bfd_boolean _bfd_mips_relax_section
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index b40a249bb3..40e1b789f9 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -864,6 +864,20 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_FRV_GPREL32",
"BFD_RELOC_FRV_GPRELHI",
"BFD_RELOC_FRV_GPRELLO",
+ "BFD_RELOC_FRV_GOT12",
+ "BFD_RELOC_FRV_GOTHI",
+ "BFD_RELOC_FRV_GOTLO",
+ "BFD_RELOC_FRV_FUNCDESC",
+ "BFD_RELOC_FRV_FUNCDESC_GOT12",
+ "BFD_RELOC_FRV_FUNCDESC_GOTHI",
+ "BFD_RELOC_FRV_FUNCDESC_GOTLO",
+ "BFD_RELOC_FRV_FUNCDESC_VALUE",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
+ "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
+ "BFD_RELOC_FRV_GOTOFF12",
+ "BFD_RELOC_FRV_GOTOFFHI",
+ "BFD_RELOC_FRV_GOTOFFLO",
"BFD_RELOC_MN10300_GOTOFF24",
"BFD_RELOC_MN10300_GOT32",
@@ -1168,6 +1182,20 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_M32R_HI16_SLO",
"BFD_RELOC_M32R_LO16",
"BFD_RELOC_M32R_SDA16",
+ "BFD_RELOC_M32R_GOT24",
+ "BFD_RELOC_M32R_26_PLTREL",
+ "BFD_RELOC_M32R_COPY",
+ "BFD_RELOC_M32R_GLOB_DAT",
+ "BFD_RELOC_M32R_JMP_SLOT",
+ "BFD_RELOC_M32R_RELATIVE",
+ "BFD_RELOC_M32R_GOTOFF",
+ "BFD_RELOC_M32R_GOTPC24",
+ "BFD_RELOC_M32R_GOT16_HI_ULO",
+ "BFD_RELOC_M32R_GOT16_HI_SLO",
+ "BFD_RELOC_M32R_GOT16_LO",
+ "BFD_RELOC_M32R_GOTPC_HI_ULO",
+ "BFD_RELOC_M32R_GOTPC_HI_SLO",
+ "BFD_RELOC_M32R_GOTPC_LO",
"BFD_RELOC_V850_9_PCREL",
"BFD_RELOC_V850_22_PCREL",
"BFD_RELOC_V850_SDA_16_16_OFFSET",
@@ -1402,6 +1430,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_M68HC11_LO16",
"BFD_RELOC_M68HC11_PAGE",
"BFD_RELOC_M68HC11_24",
+ "BFD_RELOC_M68HC12_5B",
"BFD_RELOC_CRIS_BDISP8",
"BFD_RELOC_CRIS_UNSIGNED_5",
"BFD_RELOC_CRIS_SIGNED_6",
diff --git a/bfd/opncls.c b/bfd/opncls.c
index 96f1e14ccd..6abd40509c 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -70,8 +70,7 @@ _bfd_new_bfd (void)
nbfd->direction = no_direction;
nbfd->iostream = NULL;
nbfd->where = 0;
- if (!bfd_hash_table_init_n (&nbfd->section_htab,
- bfd_section_hash_newfunc,
+ if (!bfd_hash_table_init_n (& nbfd->section_htab, bfd_section_hash_newfunc,
251))
{
free (nbfd);
@@ -923,7 +922,7 @@ find_separate_debug_file (bfd *abfd, const char *debug_file_directory)
for (i = strlen (dir) - 1; i >= 0; i--)
if (IS_DIR_SEPARATOR (dir[i]))
break;
-
+
dir[i + 1] = '\0';
BFD_ASSERT (dir[i] == '/' || dir[0] == '\0')
@@ -996,23 +995,26 @@ SYNOPSIS
DESCRIPTION
Takes a BFD and searches it for a .gnu_debuglink section. If this
- section is found, examines the section for the name and checksum of
- a '.debug' file containing auxiliary debugging
- information. Searches filesystem for .debug file in some standard
+ section is found, it examines the section for the name and checksum
+ of a '.debug' file containing auxiliary debugging information. It
+ then searches the filesystem for this .debug file in some standard
locations, including the directory tree rooted at @var{dir}, and if
- found returns the full filename. If @var{dir} is NULL, will search
- default path configured into libbfd at build time.
+ found returns the full filename.
+
+ If @var{dir} is NULL, it will search a default path configured into
+ libbfd at build time. [XXX this feature is not currently
+ implemented].
RETURNS
<<NULL>> on any errors or failure to locate the .debug file,
otherwise a pointer to a heap-allocated string containing the
- filename. The caller is responsible for freeing this string.
+ filename. The caller is responsible for freeing this string.
*/
char *
bfd_follow_gnu_debuglink (bfd *abfd, const char *dir)
{
-#if 0 /* Disabled until DEBUGDIR can be defined by configure.in */
+#if 0 /* Disabled until DEBUGDIR can be defined by configure.in. */
if (dir == NULL)
dir = DEBUGDIR;
#endif
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index 2fe294fe1b..559f2a2f67 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -1,5 +1,5 @@
/* Support for the generic parts of PE/PEI; the common executable parts.
- Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Solutions.
@@ -985,13 +985,21 @@ _bfd_XXi_swap_scnhdr_out (abfd, in, out)
pe_required_section_flags * p;
int flags = scnhdr_int->s_flags;
+ /* We have defaulted to adding the IMAGE_SCN_MEM_WRITE flag, but now
+ we know exactly what this specific section wants so we remove it
+ and then allow the must_have field to add it back in if necessary.
+ However, we don't remove IMAGE_SCN_MEM_WRITE flag from .text if the
+ default WP_TEXT file flag has been cleared. WP_TEXT may be cleared
+ by ld --enable-auto-import (if auto-import is actually needed),
+ by ld --omagic, or by obcopy --writable-text. */
+
+ if (strcmp (scnhdr_int->s_name, ".text")
+ || (bfd_get_file_flags (abfd) & WP_TEXT))
+ flags &= ~IMAGE_SCN_MEM_WRITE;
+
for (p = known_sections; p->section_name; p++)
if (strcmp (scnhdr_int->s_name, p->section_name) == 0)
{
- /* We have defaulted to adding the IMAGE_SCN_MEM_WRITE flag, but now
- we know exactly what this specific section wants so we remove it
- and then allow the must_have field to add it back in if necessary. */
- flags &= ~IMAGE_SCN_MEM_WRITE;
flags |= p->must_have;
break;
}
diff --git a/bfd/peicode.h b/bfd/peicode.h
index 41fcbbcb65..41445e592c 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -902,10 +902,40 @@ pe_ILF_build_a_bfd (bfd * abfd,
symbol = symbol_name;
if (import_name_type != IMPORT_NAME)
- /* Skip any prefix in symbol_name. */
- while (*symbol == '@' || * symbol == '?' || * symbol == '_')
- ++ symbol;
-
+ {
+ bfd_boolean skipped_leading_underscore = FALSE;
+ bfd_boolean skipped_leading_at = FALSE;
+ bfd_boolean skipped_leading_question_mark = FALSE;
+ bfd_boolean check_again;
+
+ /* Skip any prefix in symbol_name. */
+ -- symbol;
+ do
+ {
+ check_again = FALSE;
+ ++ symbol;
+
+ switch (*symbol)
+ {
+ case '@':
+ if (! skipped_leading_at)
+ check_again = skipped_leading_at = TRUE;
+ break;
+ case '?':
+ if (! skipped_leading_question_mark)
+ check_again = skipped_leading_question_mark = TRUE;
+ break;
+ case '_':
+ if (! skipped_leading_underscore)
+ check_again = skipped_leading_underscore = TRUE;
+ break;
+ default:
+ break;
+ }
+ }
+ while (check_again);
+ }
+
if (import_name_type == IMPORT_NAME_UNDECORATE)
{
/* Truncate at the first '@' */
diff --git a/bfd/reloc.c b/bfd/reloc.c
index ad4963f8c6..9bffaa3658 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -1,6 +1,6 @@
/* BFD support for handling relocation entries.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Cygnus Support.
@@ -2139,6 +2139,34 @@ ENUMX
BFD_RELOC_FRV_GPRELHI
ENUMX
BFD_RELOC_FRV_GPRELLO
+ENUMX
+ BFD_RELOC_FRV_GOT12
+ENUMX
+ BFD_RELOC_FRV_GOTHI
+ENUMX
+ BFD_RELOC_FRV_GOTLO
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOT12
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTHI
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTLO
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_VALUE
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI
+ENUMX
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO
+ENUMX
+ BFD_RELOC_FRV_GOTOFF12
+ENUMX
+ BFD_RELOC_FRV_GOTOFFHI
+ENUMX
+ BFD_RELOC_FRV_GOTOFFLO
ENUMDOC
Fujitsu Frv Relocations.
COMMENT
@@ -2911,6 +2939,37 @@ ENUM
ENUMDOC
This is a 16-bit reloc containing the small data area offset for use in
add3, load, and store instructions.
+ENUM
+ BFD_RELOC_M32R_GOT24
+ENUMX
+ BFD_RELOC_M32R_26_PLTREL
+ENUMX
+ BFD_RELOC_M32R_COPY
+ENUMX
+ BFD_RELOC_M32R_GLOB_DAT
+ENUMX
+ BFD_RELOC_M32R_JMP_SLOT
+ENUMX
+ BFD_RELOC_M32R_RELATIVE
+ENUMX
+ BFD_RELOC_M32R_GOTOFF
+ENUMX
+ BFD_RELOC_M32R_GOTPC24
+ENUMX
+ BFD_RELOC_M32R_GOT16_HI_ULO
+ENUMX
+ BFD_RELOC_M32R_GOT16_HI_SLO
+ENUMX
+ BFD_RELOC_M32R_GOT16_LO
+ENUMX
+ BFD_RELOC_M32R_GOTPC_HI_ULO
+ENUMX
+ BFD_RELOC_M32R_GOTPC_HI_SLO
+ENUMX
+ BFD_RELOC_M32R_GOTPC_LO
+ENUMDOC
+ For PIC.
+
ENUM
BFD_RELOC_V850_9_PCREL
@@ -3705,6 +3764,11 @@ ENUMDOC
This is a 24-bit reloc that represents the address with a 16-bit
value and a 8-bit page number. The symbol address is transformed
to follow the 16K memory bank of 68HC12 (seen as mapped in the window).
+ENUM
+ BFD_RELOC_M68HC12_5B
+ENUMDOC
+ Motorola 68HC12 reloc.
+ This is the 5 bits of a value.
ENUM
BFD_RELOC_CRIS_BDISP8
diff --git a/bfd/targets.c b/bfd/targets.c
index 488e8e4a6b..de4284eb80 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -542,6 +542,9 @@ extern const bfd_target bfd_elf32_littlearm_oabi_vec;
extern const bfd_target bfd_elf32_littlearm_vec;
extern const bfd_target bfd_elf32_littlemips_vec;
extern const bfd_target bfd_elf32_m32r_vec;
+extern const bfd_target bfd_elf32_m32rle_vec;
+extern const bfd_target bfd_elf32_m32rlin_vec;
+extern const bfd_target bfd_elf32_m32rlelin_vec;
extern const bfd_target bfd_elf32_m68hc11_vec;
extern const bfd_target bfd_elf32_m68hc12_vec;
extern const bfd_target bfd_elf32_m68k_vec;
@@ -831,6 +834,9 @@ static const bfd_target * const _bfd_target_vector[] = {
&bfd_elf32_littlearm_vec,
&bfd_elf32_littlemips_vec,
&bfd_elf32_m32r_vec,
+ &bfd_elf32_m32rle_vec,
+ &bfd_elf32_m32rlin_vec,
+ &bfd_elf32_m32rlelin_vec,
&bfd_elf32_m68hc11_vec,
&bfd_elf32_m68hc12_vec,
&bfd_elf32_m68k_vec,
diff --git a/bfd/version.h b/bfd/version.h
index 33474d8ac3..714d236067 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,3 +1,3 @@
-#define BFD_VERSION_DATE 20031215
+#define BFD_VERSION_DATE 20040126
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_string@
diff --git a/config-ml.in b/config-ml.in
index 06752b7a67..b2e4ea9cf9 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -553,6 +553,7 @@ multi-do:
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
LDFLAGS="$(LDFLAGS) $${flags}" \
+ MULTIFLAGS="$${flags}" \
DESTDIR="$(DESTDIR)" \
INSTALL="$(INSTALL)" \
INSTALL_DATA="$(INSTALL_DATA)" \
@@ -765,7 +766,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
cd ${ml_dir}/${ml_libdir}
if [ -f ${ml_newsrcdir}/configure ]; then
- ml_recprog="${ml_newsrcdir}/configure --cache-file=../config.cache"
+ ml_recprog="${ml_newsrcdir}/configure"
fi
# find compiler flag corresponding to ${ml_dir}
diff --git a/config/ChangeLog b/config/ChangeLog
index 92eb9020c7..85868b4246 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,10 @@
+2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
+ throughout.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
* gettext.m4: Properly quote arguments to AC_DEFUN.
diff --git a/config/acinclude.m4 b/config/acinclude.m4
index c60373a2fb..c7c0ab5dc1 100755
--- a/config/acinclude.m4
+++ b/config/acinclude.m4
@@ -6,7 +6,7 @@ dnl and doesn't call AC_PROG_CXX_GNU, cause we test for that in AC_PROG_CC_WORK
dnl We are probably using a cross compiler, which will not be able to fully
dnl link an executable. This should really be fixed in autoconf itself.
dnl Find a working G++ cross compiler. This only works for the GNU C++ compiler.
-AC_DEFUN(CYG_AC_PROG_CXX_CROSS,
+AC_DEFUN([CYG_AC_PROG_CXX_CROSS],
[AC_BEFORE([$0], [AC_PROG_CXXCPP])
AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
@@ -35,7 +35,7 @@ fi
])
dnl See if the G++ compiler we found works.
-AC_DEFUN(CYG_AC_PROG_GXX_WORKS,
+AC_DEFUN([CYG_AC_PROG_GXX_WORKS],
[AC_MSG_CHECKING([whether the G++ compiler ($CXX $CXXFLAGS $LDFLAGS) actually works])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
@@ -103,7 +103,7 @@ AC_SUBST(CXX)
dnl ====================================================================
dnl Find a working GCC cross compiler. This only works for the GNU gcc compiler.
dnl This is based on the macros above for G++.
-AC_DEFUN(CYG_AC_PROG_CC_CROSS,
+AC_DEFUN([CYG_AC_PROG_CC_CROSS],
[AC_BEFORE([$0], [AC_PROG_CCPP])
AC_CHECK_PROGS(CC, cc, gcc)
@@ -132,7 +132,7 @@ fi
])
dnl See if the GCC compiler we found works.
-AC_DEFUN(CYG_AC_PROG_GCC_WORKS,
+AC_DEFUN([CYG_AC_PROG_GCC_WORKS],
[AC_MSG_CHECKING([whether the Gcc compiler ($CC $CFLAGS $LDFLAGS) actually works])
AC_LANG_SAVE
AC_LANG_C
@@ -199,7 +199,7 @@ AC_SUBST(CC)
dnl ====================================================================
dnl Find the BFD library in the build tree. This is used to access and
dnl manipulate object or executable files.
-AC_DEFUN(CYG_AC_PATH_BFD, [
+AC_DEFUN([CYG_AC_PATH_BFD], [
AC_MSG_CHECKING(for the bfd header in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
dnl Look for the header file
@@ -241,7 +241,7 @@ AC_SUBST(BFDLIB)
dnl ====================================================================
dnl Find the libiberty library. This defines many commonly used C
dnl functions that exists in various states based on the underlying OS.
-AC_DEFUN(CYG_AC_PATH_LIBERTY, [
+AC_DEFUN([CYG_AC_PATH_LIBERTY], [
AC_MSG_CHECKING(for the liberty library in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_liberty,[
@@ -262,7 +262,7 @@ AC_SUBST(LIBERTY)
dnl ====================================================================
dnl Find the opcodes library. This is used to do dissasemblies.
-AC_DEFUN(CYG_AC_PATH_OPCODES, [
+AC_DEFUN([CYG_AC_PATH_OPCODES], [
AC_MSG_CHECKING(for the opcodes library in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_opc,[
@@ -284,7 +284,7 @@ AC_SUBST(OPCODESLIB)
dnl ====================================================================
dnl Look for the DejaGnu header file in the source tree. This file
dnl defines the functions used to testing support.
-AC_DEFUN(CYG_AC_PATH_DEJAGNU, [
+AC_DEFUN([CYG_AC_PATH_DEJAGNU], [
AC_MSG_CHECKING(for the testing support files in the source tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_dejagnu,[
@@ -335,7 +335,7 @@ AC_SUBST(DEJAGNUHDIR)
dnl ====================================================================
dnl Find the libintl library in the build tree. This is for
dnl internationalization support.
-AC_DEFUN(CYG_AC_PATH_INTL, [
+AC_DEFUN([CYG_AC_PATH_INTL], [
AC_MSG_CHECKING(for the intl header in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
dnl Look for the header file
@@ -375,7 +375,7 @@ AC_SUBST(INTLLIB)
dnl ====================================================================
dnl Find the simulator library.
-AC_DEFUN(CYG_AC_PATH_SIM, [
+AC_DEFUN([CYG_AC_PATH_SIM], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.. ../../../../../../../../../.."
case "$target_cpu" in
powerpc) target_dir=ppc ;;
@@ -457,7 +457,7 @@ AC_SUBST(SIMLIB)
dnl ====================================================================
dnl Find the libiberty library.
-AC_DEFUN(CYG_AC_PATH_LIBIBERTY, [
+AC_DEFUN([CYG_AC_PATH_LIBIBERTY], [
AC_MSG_CHECKING(for the libiberty library in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_libib,[
@@ -477,7 +477,7 @@ AC_SUBST(LIBIBERTY)
])
dnl ====================================================================
-AC_DEFUN(CYG_AC_PATH_DEVO, [
+AC_DEFUN([CYG_AC_PATH_DEVO], [
AC_MSG_CHECKING(for devo headers in the source tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_devoh,[
@@ -498,7 +498,7 @@ AC_SUBST(DEVOHDIR)
dnl ====================================================================
dnl find the IDE library and headers.
-AC_DEFUN(CYG_AC_PATH_IDE, [
+AC_DEFUN([CYG_AC_PATH_IDE], [
AC_MSG_CHECKING(for IDE headers in the source tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
IDEHDIR=
@@ -591,7 +591,7 @@ AC_SUBST(IDETCLLIB)
dnl ====================================================================
dnl Find all the ILU headers and libraries
-AC_DEFUN(CYG_AC_PATH_ILU, [
+AC_DEFUN([CYG_AC_PATH_ILU], [
AC_MSG_CHECKING(for ILU kernel headers in the source tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
AC_CACHE_VAL(ac_cv_c_iluh,[
@@ -752,7 +752,7 @@ dnl ====================================================================
dnl This defines the byte order for the host. We can't use
dnl AC_C_BIGENDIAN, cause we want to create a config file and
dnl substitue the real value, so the header files work right
-AC_DEFUN(CYG_AC_C_ENDIAN, [
+AC_DEFUN([CYG_AC_C_ENDIAN], [
AC_MSG_CHECKING(to see if this is a little endian host)
AC_CACHE_VAL(ac_cv_c_little_endian, [
ac_cv_c_little_endian=unknown
@@ -809,7 +809,7 @@ AC_SUBST(ENDIAN)
dnl ====================================================================
dnl Look for the path to libgcc, so we can use it to directly link
dnl in libgcc.a with LD.
-AC_DEFUN(CYG_AC_PATH_LIBGCC,
+AC_DEFUN([CYG_AC_PATH_LIBGCC],
[AC_MSG_CHECKING([Looking for the path to libgcc.a])
AC_LANG_SAVE
AC_LANG_C
@@ -844,12 +844,12 @@ dnl Warning: transition of version 9 to 10 will break this algorithm
dnl because 10 sorts before 9. We also look for just tcl. We have to
dnl be careful that we don't match stuff like tclX by accident.
dnl the alternative search directory is involked by --with-tclinclude
-AC_DEFUN(CYG_AC_PATH_TCL, [
+AC_DEFUN([CYG_AC_PATH_TCL], [
CYG_AC_PATH_TCLH
CYG_AC_PATH_TCLCONFIG
CYG_AC_LOAD_TCLCONFIG
])
-AC_DEFUN(CYG_AC_PATH_TCLH, [
+AC_DEFUN([CYG_AC_PATH_TCLH], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
no_tcl=true
AC_MSG_CHECKING(for Tcl headers in the source tree)
@@ -935,7 +935,7 @@ AC_SUBST(TCLHDIR)
dnl ====================================================================
dnl Ok, lets find the tcl configuration
-AC_DEFUN(CYG_AC_PATH_TCLCONFIG, [
+AC_DEFUN([CYG_AC_PATH_TCLCONFIG], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
dnl First, look for one uninstalled.
dnl the alternative search directory is invoked by --with-tclconfig
@@ -1024,7 +1024,7 @@ AC_SUBST(TCLCONFIG)
dnl Defined as a separate macro so we don't have to cache the values
dnl from PATH_TCLCONFIG (because this can also be cached).
-AC_DEFUN(CYG_AC_LOAD_TCLCONFIG, [
+AC_DEFUN([CYG_AC_LOAD_TCLCONFIG], [
. $TCLCONFIG
dnl AC_SUBST(TCL_VERSION)
@@ -1070,12 +1070,12 @@ dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
])
dnl ====================================================================
-AC_DEFUN(CYG_AC_PATH_TK, [
+AC_DEFUN([CYG_AC_PATH_TK], [
CYG_AC_PATH_TKH
CYG_AC_PATH_TKCONFIG
CYG_AC_LOAD_TKCONFIG
])
-AC_DEFUN(CYG_AC_PATH_TKH, [
+AC_DEFUN([CYG_AC_PATH_TKH], [
#
# Ok, lets find the tk source trees so we can use the headers
# If the directory (presumably symlink) named "tk" exists, use that one
@@ -1168,7 +1168,7 @@ fi
AC_SUBST(TKHDIR)
])
-AC_DEFUN(CYG_AC_PATH_TKCONFIG, [
+AC_DEFUN([CYG_AC_PATH_TKCONFIG], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
dnl First, look for one uninstalled.
dnl the alternative search directory is invoked by --with-tkconfig
@@ -1257,7 +1257,7 @@ AC_SUBST(TKCONFIG)
dnl Defined as a separate macro so we don't have to cache the values
dnl from PATH_TKCONFIG (because this can also be cached).
-AC_DEFUN(CYG_AC_LOAD_TKCONFIG, [
+AC_DEFUN([CYG_AC_LOAD_TKCONFIG], [
if test -f "$TKCONFIG" ; then
. $TKCONFIG
fi
@@ -1287,13 +1287,13 @@ dnl AC_SUBST(TK_EXEC_PREFIX)
dnl ====================================================================
dnl Ok, lets find the itcl source trees so we can use the headers
dnl the alternative search directory is involked by --with-itclinclude
-AC_DEFUN(CYG_AC_PATH_ITCL, [
+AC_DEFUN([CYG_AC_PATH_ITCL], [
CYG_AC_PATH_ITCLH
CYG_AC_PATH_ITCLLIB
CYG_AC_PATH_ITCLSH
CYG_AC_PATH_ITCLMKIDX
])
-AC_DEFUN(CYG_AC_PATH_ITCLH, [
+AC_DEFUN([CYG_AC_PATH_ITCLH], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
no_itcl=true
AC_MSG_CHECKING(for Itcl headers in the source tree)
@@ -1367,7 +1367,7 @@ AC_SUBST(ITCLHDIR)
dnl Ok, lets find the itcl library
dnl First, look for one uninstalled.
dnl the alternative search directory is invoked by --with-itcllib
-AC_DEFUN(CYG_AC_PATH_ITCLLIB, [
+AC_DEFUN([CYG_AC_PATH_ITCLLIB], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
if test x"${no_itcl}" = x ; then
dnl we reset no_itcl incase something fails here
@@ -1454,7 +1454,7 @@ AC_SUBST(ITCLLIB)
dnl ====================================================================
dnl Ok, lets find the itcl source trees so we can use the itcl_sh script
dnl the alternative search directory is involked by --with-itclinclude
-AC_DEFUN(CYG_AC_PATH_ITCLSH, [
+AC_DEFUN([CYG_AC_PATH_ITCLSH], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
no_itcl=true
AC_MSG_CHECKING(for the itcl_sh script)
@@ -1516,7 +1516,7 @@ AC_SUBST(ITCLSH)
dnl ====================================================================
dnl Ok, lets find the itcl source trees so we can use the itcl_sh script
dnl the alternative search directory is involked by --with-itclinclude
-AC_DEFUN(CYG_AC_PATH_ITCLMKIDX, [
+AC_DEFUN([CYG_AC_PATH_ITCLMKIDX], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
no_itcl=true
AC_MSG_CHECKING(for itcl_mkindex.tcl script)
@@ -1582,11 +1582,11 @@ AC_SUBST(ITCLMKIDX)
dnl ====================================================================
dnl Ok, lets find the tix source trees so we can use the headers
dnl the alternative search directory is involked by --with-tixinclude
-AC_DEFUN(CYG_AC_PATH_TIX, [
+AC_DEFUN([CYG_AC_PATH_TIX], [
CYG_AC_PATH_TIXH
CYG_AC_PATH_TIXLIB
])
-AC_DEFUN(CYG_AC_PATH_TIXH, [
+AC_DEFUN([CYG_AC_PATH_TIXH], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
no_tix=true
AC_MSG_CHECKING(for Tix headers in the source tree)
@@ -1663,7 +1663,7 @@ fi
AC_SUBST(TIXHDIR)
])
-AC_DEFUN(CYG_AC_PATH_TIXCONFIG, [
+AC_DEFUN([CYG_AC_PATH_TIXCONFIG], [
#
# Ok, lets find the tix configuration
# First, look for one uninstalled.
@@ -1737,7 +1737,7 @@ fi
# Defined as a separate macro so we don't have to cache the values
# from PATH_TIXCONFIG (because this can also be cached).
-AC_DEFUN(CYG_AC_LOAD_TIXCONFIG, [
+AC_DEFUN([CYG_AC_LOAD_TIXCONFIG], [
if test -f "$TIXCONFIG" ; then
. $TIXCONFIG
fi
@@ -1746,7 +1746,7 @@ AC_DEFUN(CYG_AC_LOAD_TIXCONFIG, [
AC_SUBST(TIX_LIB_FULL_PATH)
])
-AC_DEFUN(CYG_AC_PATH_ITCLCONFIG, [
+AC_DEFUN([CYG_AC_PATH_ITCLCONFIG], [
#
# Ok, lets find the itcl configuration
# First, look for one uninstalled.
@@ -1820,7 +1820,7 @@ fi
# Defined as a separate macro so we don't have to cache the values
# from PATH_ITCLCONFIG (because this can also be cached).
-AC_DEFUN(CYG_AC_LOAD_ITCLCONFIG, [
+AC_DEFUN([CYG_AC_LOAD_ITCLCONFIG], [
if test -f "$ITCLCONFIG" ; then
. $ITCLCONFIG
fi
@@ -1833,7 +1833,7 @@ AC_DEFUN(CYG_AC_LOAD_ITCLCONFIG, [
])
-AC_DEFUN(CYG_AC_PATH_ITKCONFIG, [
+AC_DEFUN([CYG_AC_PATH_ITKCONFIG], [
#
# Ok, lets find the itk configuration
# First, look for one uninstalled.
@@ -1907,7 +1907,7 @@ fi
# Defined as a separate macro so we don't have to cache the values
# from PATH_ITKCONFIG (because this can also be cached).
-AC_DEFUN(CYG_AC_LOAD_ITKCONFIG, [
+AC_DEFUN([CYG_AC_LOAD_ITKCONFIG], [
if test -f "$ITKCONFIG" ; then
. $ITKCONFIG
fi
@@ -1921,11 +1921,11 @@ AC_DEFUN(CYG_AC_LOAD_ITKCONFIG, [
dnl ====================================================================
dnl Ok, lets find the libgui source trees so we can use the headers
dnl the alternative search directory is involked by --with-libguiinclude
-AC_DEFUN(CYG_AC_PATH_LIBGUI, [
+AC_DEFUN([CYG_AC_PATH_LIBGUI], [
CYG_AC_PATH_LIBGUIH
CYG_AC_PATH_LIBGUILIB
])
-AC_DEFUN(CYG_AC_PATH_LIBGUIH, [
+AC_DEFUN([CYG_AC_PATH_LIBGUIH], [
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../..../../../../../../../../../../.."
no_libgui=true
AC_MSG_CHECKING(for Libgui headers in the source tree)
@@ -1995,7 +1995,7 @@ AC_SUBST(LIBGUIHDIR)
dnl ====================================================================
dnl find the GUI library
-AC_DEFUN(CYG_AC_PATH_LIBGUILIB, [
+AC_DEFUN([CYG_AC_PATH_LIBGUILIB], [
AC_MSG_CHECKING(for GUI library in the build tree)
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
dnl look for the library
diff --git a/configure b/configure
index bc4677d16c..88d3753ed6 100755
--- a/configure
+++ b/configure
@@ -1130,6 +1130,9 @@ case "${target}" in
*) ;;
esac
;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
+ ;;
*-*-vxworks*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
;;
@@ -1262,7 +1265,7 @@ case "${target}" in
;;
ia64*-**-hpux*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
+ noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
;;
i[3456789]86-*-coff | i[3456789]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -2585,7 +2588,9 @@ case "${cache_file}" in
cache_file_option="--cache-file=../${cache_file}" ;;
esac
-host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
+# Host dirs don't like to share a cache file either, horribly enough.
+# This seems to be due to autoconf 2.5x stupidity.
+host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
target_configargs=${baseargs}
@@ -2609,8 +2614,17 @@ if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib
target_configargs="--with-newlib ${target_configargs}"
fi
+# Different target subdirs use different values of certain variables
+# (notably CXX). Worse, multilibs use *lots* of different values.
+# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
+# it doesn't automatically accept command-line overrides of them.
+# This means it's not safe for target subdirs to share a cache file,
+# which is disgusting, but there you have it. Hopefully this can be
+# fixed in future. It's still worthwhile to use a cache file for each
+# directory. I think.
+
# Pass the appropriate --host, --build, and --cache-file arguments.
-target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
+target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
# provide a proper gxx_include_dir.
# Note, if you change the default, make sure to fix both here and in
@@ -2823,7 +2837,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
# Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2827: checking for $ac_word" >&5
+echo "configure:2841: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2856,7 +2870,7 @@ if test -z "$ac_cv_prog_AR" ; then
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2860: checking for $ac_word" >&5
+echo "configure:2874: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2895,7 +2909,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2899: checking for $ac_word" >&5
+echo "configure:2913: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2928,7 +2942,7 @@ if test -z "$ac_cv_prog_AS" ; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2932: checking for $ac_word" >&5
+echo "configure:2946: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2967,7 +2981,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2971: checking for $ac_word" >&5
+echo "configure:2985: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3000,7 +3014,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3004: checking for $ac_word" >&5
+echo "configure:3018: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3039,7 +3053,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3043: checking for $ac_word" >&5
+echo "configure:3057: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3072,7 +3086,7 @@ if test -z "$ac_cv_prog_LD" ; then
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3076: checking for $ac_word" >&5
+echo "configure:3090: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3111,7 +3125,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3115: checking for $ac_word" >&5
+echo "configure:3129: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3144,7 +3158,7 @@ if test -z "$ac_cv_prog_NM" ; then
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3148: checking for $ac_word" >&5
+echo "configure:3162: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3183,7 +3197,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3187: checking for $ac_word" >&5
+echo "configure:3201: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3216,7 +3230,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3220: checking for $ac_word" >&5
+echo "configure:3234: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3255,7 +3269,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3259: checking for $ac_word" >&5
+echo "configure:3273: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3288,7 +3302,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3292: checking for $ac_word" >&5
+echo "configure:3306: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3327,7 +3341,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3331: checking for $ac_word" >&5
+echo "configure:3345: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3360,7 +3374,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then
# Extract the first word of "objcopy", so it can be a program name with args.
set dummy objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3364: checking for $ac_word" >&5
+echo "configure:3378: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3399,7 +3413,7 @@ fi
# Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ncn_tool_prefix}objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3403: checking for $ac_word" >&5
+echo "configure:3417: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3432,7 +3446,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then
# Extract the first word of "objdump", so it can be a program name with args.
set dummy objdump; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3436: checking for $ac_word" >&5
+echo "configure:3450: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3481,7 +3495,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3485: checking for $ac_word" >&5
+echo "configure:3499: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3514,7 +3528,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3518: checking for $ac_word" >&5
+echo "configure:3532: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3553,7 +3567,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3557: checking for $ac_word" >&5
+echo "configure:3571: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3586,7 +3600,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
# Extract the first word of "as", so it can be a program name with args.
set dummy as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3590: checking for $ac_word" >&5
+echo "configure:3604: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3625,7 +3639,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3629: checking for $ac_word" >&5
+echo "configure:3643: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3658,7 +3672,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3662: checking for $ac_word" >&5
+echo "configure:3676: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3697,7 +3711,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3701: checking for $ac_word" >&5
+echo "configure:3715: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3730,7 +3744,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
# Extract the first word of "ld", so it can be a program name with args.
set dummy ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3734: checking for $ac_word" >&5
+echo "configure:3748: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3769,7 +3783,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3773: checking for $ac_word" >&5
+echo "configure:3787: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3802,7 +3816,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
# Extract the first word of "nm", so it can be a program name with args.
set dummy nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3806: checking for $ac_word" >&5
+echo "configure:3820: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3841,7 +3855,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3845: checking for $ac_word" >&5
+echo "configure:3859: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3874,7 +3888,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3878: checking for $ac_word" >&5
+echo "configure:3892: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3913,7 +3927,7 @@ fi
# Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3917: checking for $ac_word" >&5
+echo "configure:3931: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3946,7 +3960,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
# Extract the first word of "windres", so it can be a program name with args.
set dummy windres; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3950: checking for $ac_word" >&5
+echo "configure:3964: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4013,7 +4027,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:4017: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:4031: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
diff --git a/configure.in b/configure.in
index 539a7f9f09..b286f1aa7e 100644
--- a/configure.in
+++ b/configure.in
@@ -369,6 +369,9 @@ case "${target}" in
*) ;;
esac
;;
+ *-*-uclinux*)
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
+ ;;
*-*-vxworks*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
;;
@@ -501,7 +504,7 @@ case "${target}" in
;;
ia64*-**-hpux*)
# No gdb or ld support yet.
- noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
+ noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld"
;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}"
@@ -1823,7 +1826,9 @@ case "${cache_file}" in
cache_file_option="--cache-file=../${cache_file}" ;;
esac
-host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
+# Host dirs don't like to share a cache file either, horribly enough.
+# This seems to be due to autoconf 2.5x stupidity.
+host_configargs="--cache-file=./config.cache --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
target_configargs=${baseargs}
@@ -1847,8 +1852,17 @@ if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib
target_configargs="--with-newlib ${target_configargs}"
fi
+# Different target subdirs use different values of certain variables
+# (notably CXX). Worse, multilibs use *lots* of different values.
+# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
+# it doesn't automatically accept command-line overrides of them.
+# This means it's not safe for target subdirs to share a cache file,
+# which is disgusting, but there you have it. Hopefully this can be
+# fixed in future. It's still worthwhile to use a cache file for each
+# directory. I think.
+
# Pass the appropriate --host, --build, and --cache-file arguments.
-target_configargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
+target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
# provide a proper gxx_include_dir.
# Note, if you change the default, make sure to fix both here and in
diff --git a/gettext.m4 b/gettext.m4
index 82a5277f22..6735696cb9 100644
--- a/gettext.m4
+++ b/gettext.m4
@@ -11,7 +11,7 @@
# serial 3
-AC_DEFUN(CY_WITH_NLS,
+AC_DEFUN([CY_WITH_NLS],
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
@@ -158,7 +158,7 @@ AC_DEFUN(CY_WITH_NLS,
AC_SUBST(POSUB)
])
-AC_DEFUN(CY_GNU_GETTEXT,
+AC_DEFUN([CY_GNU_GETTEXT],
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
@@ -286,7 +286,7 @@ __argz_count __argz_stringify __argz_next])
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN(AM_PATH_PROG_WITH_TEST,
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
[# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
@@ -332,7 +332,7 @@ AC_SUBST($1)dnl
# serial 1
-AC_DEFUN(AM_LC_MESSAGES,
+AC_DEFUN([AM_LC_MESSAGES],
[if test $ac_cv_header_locale_h = yes; then
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
diff --git a/include/ChangeLog b/include/ChangeLog
index 4328b98a45..e2fa68f30d 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,39 +1,32 @@
-2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
- * bfdlink.h (bfd_link_info): Change relax_finalizing to
- need_relax_finalize.
+ * demangle.h: Instead of checking ANSI_PROTOTYPES, just include
+ "libiberty.h".
-2003-12-03 Alan Modra <amodra@bigpond.net.au>
+ * demangle.h: If ANSI_PROTOTYPES is defined, include <stddef.h>.
- * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
+ * demangle.h (enum demangle_component_type): Define.
+ (struct demangle_operator_info): Declare.
+ (struct demangle_builtin_type_info): Declare.
+ (struct demangle_component): Define.
+ (cplus_demangle_fill_component): Declare.
+ (cplus_demangle_fill_name): Declare.
+ (cplus_demangle_fill_builtin_type): Declare.
+ (cplus_demangle_fill_operator): Declare.
+ (cplus_demangle_fill_extended_operator): Declare.
+ (cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare.
+ (cplus_demangle_v3_components): Declare.
+ (cplus_demangle_print): Declare.
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
+2003-12-19 Andreas Tobler <a.tobler@schweiz.ch>
- * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field.
+ * include/fibheap.h (fibnode): Use __extension__ for
+ bit-fields mark and degree if __GNUC__.
-2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
- * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
-
-2003-11-14 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h (struct disassemble_info): Add new field
- 'symbol_is_valid' which is a function which can tell the
- disassembler to skip certain symbols as they should not be
- displayed to the user.
- (arm_symbol_is_valid): New prototype. This is the ARM
- specific function for the symbol_is_valid field.
- (generic_symbol_is_valid): New prototype. This is the default
- function pointed to by the symbol_is_valid field.
-
-2003-11-06 Bruno Rohee <bruno@rohee.com>
-
- * hp-symtab.h: Fix "the the" typo.
-
-2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
- "wildcard".
+ * include/fibheap.h (fibnode): Use unsigned long int for
+ bit-fields if __GNUC__ is defined.
2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
@@ -50,23 +43,6 @@
definiens of the fast variant; that way, we'll be more likely to
catch future bugs in the fast variants.
-2003-10-22 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_elf_version_expr): Remove match field.
- Add wildcard and mask fields.
- (BFD_ELF_VERSION_C_TYPE): Define.
- (BFD_ELF_VERSION_CXX_TYPE): Likewise.
- (BFD_ELF_VERSION_JAVA_TYPE): Likewise.
- (struct bfd_elf_version_expr_head): New.
- (struct bfd_elf_version_tree): Add match field.
- Change type of globals and locals fields
- to struct bfd_elf_version_expr_head.
-
-2003-10-14 Bob Wilson <bob.wilson@acm.org>
-
- * elf/xtensa.h: Formatting. Fix comments about property section
- names for linkonce sections.
-
2003-09-22 Andrew Cagney <cagney@redhat.com>
* floatformat.h (struct floatformat): Add field "is_valid".
@@ -84,27 +60,6 @@
* floatformat.h (floatformat_is_valid): Add prototype.
-2003-08-27 Andrew Cagney <cagney@redhat.com>
-
- * dis-asm.h (init_disassemble_info): Declare.
- (INIT_DISASSEMBLE_INFO): Redefine as a call to
- init_disassemble_info.
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.
-
-2003-08-20 Nick Clifton <nickc@redhat.com>
-
- * bfdlink.h (enum report_method): New enum. Describes how to
- report something.
- (struct bfd_link_info): Delete fields 'no_undefined' and
- 'allow_shlib_undefined'. Replace with
- 'unresolved_symbols_in_objects' and
- 'unresolved_symbols_in_shared_libs'.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Remove PARAMS macro. Replace PTR with void *.
- * dis-asm.h: Likewise.
-
2003-07-09 Bob Wilson <bob.wilson@acm.org>
* xtensa-config.h: Undef all macros before defining them.
@@ -121,15 +76,6 @@
* xtensa-config.h: New file imported from binutils.
-2003-06-30 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS,
- XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define.
-
-2003-06-25 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Correct spelling of "relocatable".
-
2003-06-22 Zack Weinberg <zack@codesourcery.com>
* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
@@ -145,25 +91,6 @@
* ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
-2003-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
- * elf/common.h (PT_GNU_STACK): Define.
-
-2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
-
-2003-05-30 Ulrich Drepper <drepper@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add pie and executable
- bits.
-
-2003-05-21 Nick Clifton <nickc@redhat.com>
-
- * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
-
2003-05-15 Jim Blandy <jimb@redhat.com>
* libiberty.h (hex_value): Make the value an unsigned int, to
@@ -171,43 +98,11 @@
than int --- like bfd_vma, on some platforms.
(_hex_value): Update declaration.
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
- gen_num_opcodes_fn return type.
-
2003-05-07 Jason Merrill <jason@redhat.com>
* hashtab.h (iterative_hash): Prototype.
(iterative_hash_object): New macro.
-2003-04-28 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add relax_finalizing.
-
-2003-04-23 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_callbacks): Add error_handler.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
- and s/c3x/tic3x/
- * coff/tc-tic4x.h: Ditto
- * opcode/tic4x.h: Ditto
-
-2003-04-02 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-config.h: Remove comment indicating that this is a
- generated file.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * dis-asm.h (print_insn_xtensa): Declare.
- * xtensa-config.h: New file.
- * xtensa-isa-internal.h: Likewise.
- * xtensa-isa.h: Likewise.
-
2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
@@ -232,10 +127,6 @@
* libiberty.h (lrealpath): Add declaration.
-2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com>
-
- * hppa.h (ldwa, ldda): Add ordered opcodes.
-
2003-01-26 Daniel Jacobowitz <drow@mvista.com>
* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
@@ -243,15 +134,6 @@
(htab_create_alloc_ex): New prototype.
(htab_set_functions_ex): New prototype.
-2003-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252.
-
-2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
- * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
-
2002-07-17 Geoffrey Keating <geoffk@redhat.com>
* splay-tree.h (GTY): Define if undefined.
@@ -260,31 +142,6 @@
(struct splay_tree_s): Likewise. Make allocate_data a PTR,
not a void *.
-2002-01-02 Ben Elliston <bje@redhat.com>
-
- * dis-asm.h (print_insn_iq2000): Declare.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * dis-asm.h: Add msp430 disassembler prototype.
-
-2002-12-27 Chris Demetriou <cgd@broadcom.com>
-
- * dis-asm.h (print_mips_disassembler_options): Prototype.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_info): Add "strip_discarded".
-
-2002-12-20 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with
- bit-fields. Rearrange to put all like types together.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h: Replace boolean with bfd_boolean. Formatting.
-
2002-11-23 Simon Burge <simonb@wasabisystems.com>
* libiberty.h (basename): Add NetBSD to the list.
@@ -293,17 +150,6 @@
* libiberty.h (make_relative_prefix): Add prototype.
-2002-11-16 Klee Dienes <kdienes@apple.com>
-
- * opcode/m88k.h (INSTAB): Remove 'next' field.
- (instruction): Remove definition; replace with extern declaration
- and mark as const.
-
-2002-11-14 Egor Duda <deo@logos-m.ru>
-
- * bfdlink.h (struct bfd_link_info): Add new boolean
- field pei386_runtime_pseudo_reloc.
-
2002-10-26 Roger Sayle <roger@eyesopen.com>
* partition.h: Close the extern "C" scope when compiling with C++.
@@ -324,70 +170,11 @@
* getopt.h: getopt is in unistd.h (based on SUSv2).
-2002-09-26 Jakub Jelinek <jakub@redhat.com>
-
- * elf/x86-64.h: Add TLS relocs.
-
-2002-09-26 Andrew Cagney <ac131313@redhat.com>
-
- * regs/: Delete directory.
-
2002-09-19 Alexandre Oliva <aoliva@redhat.com>
* libiberty.h (asprintf, vasprintf): Don't declare them if the
corresponding HAVE_DECL_ macro is 1.
-2002-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
- Define.
-
-2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * dis-asm.h: Remove (errant) trailing semicolon (;) from the
- extern "C" { } declaration.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h (print_ppc_disassembler_options): Prototype.
-
-2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * coff/internal.h: Add new relocation types.
- * coff/ti.h: Add file-header flags for tic4x code.
- * dis-asm.h: Add standard disassembler for tic4x.
- * opcode/tic4x.h: New file.
- * coff/tic4x.h: New file
-
-2002-08-07 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add allow_undefined_version.
- (bfd_elf_version_expr): Add symver and script.
-
-2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
-
- * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
- (struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
-
-2002-07-25 Richard Sandiford <rsandifo@redhat.com>
-
- * opcode/mips.h (CPU_R2000): Remove.
-
-2002-07-19 Denis Chertykov <denisc@overta.ru>
- Matthew Green <mrg@redhat.com>
-
- * dis-asm.h (print_insn_ip2k): Declare.
-
-2002-07-10 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
- DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
-
-2002-07-01 Alan Modra <amodra@bigpond.net.au>
-
- * bfdlink.h (struct bfd_sym_chain): Declare.
- (struct bfd_link_info): Add gc_sym_list. Formatting fixes.
-
2002-06-25 Alan Modra <amodra@bigpond.net.au>
* demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
@@ -402,22 +189,6 @@
* libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
* getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore:
- * dis-asm.h (print_insn_frv): New prototype.
-
-2002-06-09 Andrew Cagney <cagney@redhat.com>
-
- * remote-sim.h: Move to directory gdb/.
- * callback.h: Move to directory gdb/.
-
-2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
-
- * bfdlink.h (struct bfd_link_info): Change type of
- pei386_auto_import field to int so that -1 can mean enabled by
- default and 1 can mean enabled by command line switch.
-
2002-06-06 DJ Delorie <dj@redhat.com>
* hashtab.h (htab): Rearrange new members for backward
@@ -445,33 +216,6 @@
(htab_create): Replace with #define.
(htab_try_create): Delete.
-2002-05-31 Michal Ludvig <mludvig@suse.cz>
-
- * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
- to DW_CFA_lo_user, DW_CFA_hi_user respectively.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * dis-asm.h: Prototype print_insn_dlx.
-
-2002-05-23 Andrew Cagney <ac131313@redhat.com>
-
- * sim-d10v.h: Delete file. Moved to include/gdb/.
-
-2002-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
- * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
- * elf/i386.h: Add TLS relocs.
-
-2002-05-21 H.J. Lu (hjl@gnu.org)
-
- * bfdlink.h (bfd_link_info): Add allow_multiple_definition.
-
-2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype.
-
2002-04-16 David S. Miller <davem@redhat.com>
* xregex2.h (__restrict_arr): Define to __restrict on GCC
@@ -481,15 +225,11 @@
* dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names.
-2002-03-10 Daniel Jacobowitz <drow@mvista.com>
-
- * gdb: New directory.
-
2002-03-06 Andrew Cagney <ac131313@redhat.com>
* floatformat.h (floatformat_arm_ext): Delete declaration.
-2002-02-21 Jim Blandy <jimb@redhat.com>
+2002-02-22 Jim Blandy <jimb@redhat.com>
Allow the user to specify functions for allocating memory for
splay tree roots and nodes.
@@ -499,25 +239,6 @@
`allocate_data'.
(splay_tree_new_with_allocator): New function declaration.
-2002-02-15 Alan Modra <amodra@bigpond.net.au>
-
- Support arbitrary length fill patterns.
- * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
- (struct bfd_link_order): Remove fill. Add data.size.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
- * dis-asm.h (print_insn_sh64): New prototype.
- (print_insn_sh64l): New prototype.
- (print_insn_sh64x_media): New prototype.
-
-2002-02-05 Frank Ch. Eigler <fche@redhat.com>
-
- * dis-asm.h (disassemble_info): New field `insn_sets'.
- (INIT_DISASSEMBLE_INFO): Clear it.
-
2002-02-05 Jason Merrill <jason@redhat.com>
* demangle.h (cplus_demangle_v3): Add "options" parm.
@@ -529,48 +250,15 @@
* demangle.h (cplus_demangle_v3_type): New prototype.
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * dis-asm.h : Add support for or32 targets
-
2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
-2002-01-27 David O'Brien <obrien@FreeBSD.org>
-
- * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead.
-
-2001-12-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the
- disassembler_options field (to NULL).
-
-2001-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
-
- * dis-asm.h (print_insn_xstormy16): Declare.
-
2001-12-06 Richard Henderson <rth@redhat.com>
* demangle.h (no_demangling): New.
(NO_DEMANGLING_STYLE_STRING): New.
-2001-11-14 Alan Modra <amodra@bigpond.net.au>
-
- * dis-asm.h (print_insn_i386): Declare.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * dis-asm.h: Fix comment to refer to octets rather than bytes.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * dis-asm.h (print_insn_mmix): Add prototype.
-
2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk>
* safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
@@ -582,19 +270,11 @@
* libiberty.h (_hex_value): Const-ify.
(hex_init): Delete.
-2001-10-16 Christopher Faylor <cgf@redhat.com>
-
- * filenames.h: Add cygwin to the list of dosish style path systems.
-
2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h (demangler_engine): Const-ify.
* libiberty.h (buildargv): Likewise.
-2001-10-03 Vassili Karpov <malc@pulsesoft.com>
-
- * bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
-
2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* libiberty.h (reconcat): New function.
@@ -624,24 +304,6 @@
* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
-2001-08-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to
- unsigned to remove a compile time warning message.
-
-2001-08-24 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_hash_table_type): New. The linker hash
- table type, bfd_link_generic_hash_table and
- bfd_link_elf_hash_table.
- (bfd_link_hash_table): Add a new field, type, for the linker
- hash table type.
-
-2001-08-23 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (struct bfd_link_info): Add combreloc and
- spare_dynamic_tags fields.
-
2001-08-23 Lars Brinkhoff <lars@nocrew.org>
* dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
@@ -652,10 +314,6 @@
* fibheap.h: Tidy formatting.
(fibnode_t): Limit degree to 31 bits to avoid warning.
-2001-08-20 Daniel Berlin <dan@cgsoftware.com>
-
- * fibheap.h: New file. Fibonacci heap.
-
2001-08-20 Andrew Cagney <ac131313@redhat.com>
* floatformat.h (floatformat_arm_ext): Document as deprecated.
@@ -664,6 +322,10 @@
(floatformat_ia64_spill_big, floatformat_ia64_quad_big)
(floatformat_m88110_harris_ext): Declare.
+2001-08-20 Daniel Berlin <dan@cgsoftware.com>
+
+ * fibheap.h: New file. Fibonacci heap.
+
2001-08-18 Zack Weinberg <zackw@panix.com>
* ansidecl.h: Reorganize for readability, remove documentation
@@ -686,11 +348,6 @@
(re_comp): Define to xre_comp.
(re_exec): Define to xre_exec.
-2001-08-02 Charles Wilson <cwilson@ece.gatech.edu>
-
- * bfdlink.h (struct bfd_link_info): add new boolean
- field pei386_auto_import.
-
2001-07-18 Andreas Jaeger <aj@suse.de>
* xregex2.h: Place under LGPL version 2.1.
@@ -700,10 +357,6 @@
* xregex.h: New file to support libiberty regex.
* xregex2.h: Ditto.
-2001-06-15 Hans-Peter Nilsson <hp@axis.com>
-
- * bfdlink.h (struct bfd_link_info): New member export_dynamic.
-
2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
* partition.h: Fix misspelling of `implementation'.
@@ -723,18 +376,10 @@
* splay-tree.h (splay_tree_max): New function.
(splay_tree_min): Likewise.
-2001-04-27 Johan Rydberg <jrydberg@opencores.org>
-
- * dis-asm.h (print_insn_openrisc): Add prototype.
-
2001-04-15 Daniel Berlin <dan@cgsoftware.com>
* ternary.h: New file - Ternary search tree header.
-2001-04-13 Jakub Jelinek <jakub@redhat.com>
-
- * bfdlink.h (bfd_link_discard): Add discard_sec_merge.
-
2001-04-03 Zack Weinberg <zackw@stanford.edu>
* ansidecl.h: All logic from gcc/gansidecl.h moved here.
@@ -776,46 +421,17 @@
* safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
compatibility.
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * dis-asm.h: Add PDP-11 target.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * dis-asm.h: Add linux target for S/390.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * dis-asm.h (arc_get_disassembler): Correct declaration.
-
-2001-01-09 Philip Blundell <philb@gnu.org>
-
- * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'.
-
2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
* COPYING: Update to current
ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
to 19yy as example year in copyright notice).
-2000-12-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * dis-asm.h (struct disassemble_info): New member "section".
- (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member.
- Initialize section member.
-
2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* safe-ctype.h: Make code work on all targets and not just on
targets where a char is 8 bits.
-2000-12-10 Fred Fish <fnf@be.com>
-
- * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
- member to struct for systems where it is normal to have undefined
- symbols in shared libraries at runtime and the runtime linker
- takes care of redirecting them.
-
2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
* safe-ctype.h: New file.
@@ -846,19 +462,10 @@
* hashtab.h: Change void * to PTR where necessary.
-2000-10-11 Mark Mitchell <mark@codesourcery.com>
+2000-09-10 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_predecessor): Declare.
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris.
- Fix typo in comment.
-
-2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * alloca-conf.h: New file (copied from libiberty).
-
2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
* md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
@@ -876,31 +483,6 @@
* libiberty.h (ARRAY_SIZE): New macro.
-2000-07-29 Nick Clifton <nickc@cygnus.com>
-
- * os9k.h: Add copyright notice.
- Fix formatting.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * dis-asm.h (print_insn_i860): Add prototype.
-
-2000-07-20 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_info): Add new_dtags.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- * dis-asm.h (print_insn_cris): Declare.
-
-2000-07-19 H.J. Lu (hjl@gnu.org)
-
- * bfdlink.h (bfd_link_info): Add flags and flags_1.
-
-2000-06-05 DJ Delorie <dj@redhat.com>
-
- * MAINTAINERS: new
-
2000-06-21 Alex Samuel <samuel@codesourcery.com>
* dyn-string.h (dyn_string_init, dyn_string_new,
@@ -916,16 +498,6 @@
dyn_string_append_char, dyn_string_substring): Change return type
to int.
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * dis-asm.h (print_insn_m68hc12): Define.
- (print_insn_m68hc11): Likewise.
-
-2000-06-18 Nick Clifton <nickc@redhat.com>
-
- * os9k.h: Change values of MODSYNC and CRCCON due to bug report
- from Russ Magee <rmagee@home.com>.
-
2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h (demangling_styles): Remove trailing comma in enum.
@@ -948,31 +520,16 @@ Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
* floatformat.h (struct floatformat): Add field name.
-2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
-
- * filenames.h: New file.
- (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
- (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.
-
2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
* libiberty.h (basename): Likewise.
-2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
- Rick Gorton <gorton@scrugs.lkg.dec.com>
-
- * bfdlink.h (struct bfd_link_info): Add emitrelocations flag.
-
-2000-05-08 Alan Modra <alan@linuxcare.com.au>
-
- * dis-asm.h (print_insn_tic54x): Declare.
-
2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
- * ansidecl.h: #define __extension__ to nothing if
- GCC_VERSION < 2008.
+ * ansidecl.h: #define __extension__ to nothing if
+ GCC_VERSION < 2008.
2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
@@ -1003,11 +560,6 @@ Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be>
* sort.h: New file.
-Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
-
- * dis-asm.h (print_insn_ia64): Declare.
-
Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* hashtab.h (enum insert_option): New type.
@@ -1022,24 +574,12 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* splay-tree.h (splay_tree_remove): Declare.
-2000-04-04 Alan Modra <alan@linuxcare.com.au>
-
- * bin-bugs.h (REPORT_BUGS_TO): Remove translated part.
-
-2000-04-03 Alan Modra <alan@linuxcare.com.au>
-
- * bin-bugs.h: New file.
-
2000-03-30 Mark Mitchell <mark@codesourcery.com>
* hashtab.h (hashval_t): New type.
(htab_find_with_hash): Use it as an argument.
(htab_find_slot_with_hash): Likewise.
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * dis-asm.h (print_insn_avr): Declare.
-
2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk>
* hashtab.h (htab_trav): Modify type so that first arg is of type
@@ -1067,66 +607,11 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
(hash_table_entry_t): Discard; just use void * for element
type.
-2000-03-01 H.J. Lu <hjl@gnu.org>
-
- * bfdlink.h (bfd_link_callbacks): Add a boolean arg to
- the undefined_symbol callback.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * dis-asm.h (print_insn_i370): Declare.
-
-Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_trace): Document return values.
- (sim_set_trace): Declare. Deprecate.
-
-2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * dis-asm.h (struct disassemble_info): Change `length' param of
- read_memory_func to unsigned. Change type of `buffer_length' and
- `octets_per_byte' to unsigned.
- (buffer_read_memory): Change `length' param to unsigned.
-
-2000-02-16 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h: Add prototypes for ARM register name functions.
-
-Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * wait.h: Delete. No longer used by GDB.
-
-Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com>
-
- * remote-sim.h (sim_resume): Clarify use of SIGGNAL.
- (sim_stop_reason): Clarify meaning of sim_signalled.
-
-2000-02-03 Timothy Wall <twall@redhat.com>
-
- * dis-asm.h (struct disassemble_info): Added octets_per_byte
- field and initialize it to one (1).
-
-2000-01-27 Nick Clifton <nickc@redhat.com>
-
- * dis-asm.h: Add prototype for disassembler_usage().
- Add prototype for arm_disassembler_options().
- Remove prototype for arm_toggle_regnames().
- Add prototype for parse_arm_disassembler_option().
-
Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com>
* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
to stringify argument s.
-Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com)
-
- * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant.
- (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN.
-
-1999-12-15 Doug Evans <dje@transmeta.com>
-
- * dis-asm.h: Enclose in extern "C" ifdef __cplusplus.
-
1999-12-05 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (struct splay_tree_node): Rename to ...
@@ -1153,26 +638,12 @@ Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
* ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
-1999-11-04 Jimmy Guo <guo@cup.hp.com>
-
- * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind
- fields, change location type to CORE_ADDR from int.
- (dntt_type_const): Name the 5th field location_type.
-
-Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com>
-
- * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define.
-
1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com>
* hashtab.h: Give hash_table_t a struct tag. Add prototypes
for clear_hash_table_slot and traverse_hash_table. Correct
prototype of all_hash_table_collisions.
-Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
-
- * sim-d10v.h: New file.
-
Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
* hashtab.h: New file.
@@ -1197,10 +668,6 @@ Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org>
* libiberty.h (xmemdup): Add prototype for new function.
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * dis-asm.h (print_insn_pj): Declare.
-
1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
@@ -1221,37 +688,6 @@ Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org>
* ansidecl.h: Copy attribute support macros from egcs.
-1999-06-22 Mark Mitchell <mark@codesourcery.com>
-
- * bfdlink.h (struct bfd_link_hash_entry): Add init_function and
- fini_function.
-
-1999-06-20 Mark Mitchell <mark@codesourcery.com>
-
- * mips.h (Elf32_Internal_Msym): New structure.
- (Elf32_External_Msym): Likewise.
- (ELF32_MS_REL_INDEX): New macro.
- (ELF32_MS_FLAGS): Likewise.
- (ELF32_MS_INFO): Likewise.
-
-1999-06-14 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h (arm_toggle_regnames): New prototype.
- (struct diassemble_info): New field: disassembler_options.
-
-1999-04-11 Richard Henderson <rth@cygnus.com>
-
- * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'.
- Add `match' callback function.
-
-1999-04-10 Richard Henderson <rth@cygnus.com>
-
- * bfdlink.h (bfd_link_info): Add no_undefined.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * dis-asm.h: Add prototype for print_insn_mcore.
-
1999-04-02 Mark Mitchell <mark@codesourcery.com>
* splay-tree.h (splay_tree_compare_pointers): Declare.
@@ -1264,24 +700,6 @@ Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
* libiberty.h (basename): Cygwin{,32} should have the prototype.
-1999-02-22 Jim Lemke <jlemke@cygnus.com>
-
- * bfdlink.h (bfd_link_info): add field "mpc860c0".
-
-Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com>
-
- * dis-asm.h (print_insn_i386_att): Declare.
- (print_insn_i386_intel): Declare.
-
-1998-12-30 Michael Meissner <meissner@cygnus.com>
-
- * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and
- FPRINTF_FUNC to avoid compiler warnings.
-
-Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com>
-
- * dis-asm.h: change void * to PTR (two places).
-
Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h: Don't check IN_GCC anymore.
@@ -1289,15 +707,6 @@ Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
- The following changes were made by Elena Zannoni
- <ezannoni@kwikemart.cygnus.com> and Edith Epstein
- <eepstein@sophia.cygnus.com> as part of a project to merge in
- changes made by HP; HP did not create ChangeLog entries.
-
- * dis-asm.h (struct disassemble_info): change the type of stream
- from FILE* to void*, for use with gdb's new type GDB_FILE.
- (fprintf_ftype): change FILE* parameter type to void*.
-
* demangle.h: (DMGL_EDG): new macro for Kuck and Associates
(DMGL_STYLE_MASK): modify to include Kuck and Assoc style
(demangling_styles): add new edg_demangling style
@@ -1310,12 +719,6 @@ Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
(ARM_DEMANGLING): coerce to int.
(HP_DEMANGLING): new macro.
- * hp-symtab.h: rewritten, from HP.
- (quick_procedure): change type of language field to unsigned int
- (quick_module): change type of language field to unsigned int
- (struct dntt_type_svar): add field thread_specific.
- (hp_language): add languages modcal and dmpascal.
-
Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
* libiberty.h (basename): Add prototype for FreeBSD.
@@ -1331,19 +734,11 @@ Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h: Never define PARAMS().
* splay-tree.h: Likewise.
-Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
-
- * dis-asm.h (print_insn_vax): Declare.
-
Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* demangle.h: Don't include gansidecl.h.
* splay-tree.h: Likewise.
-1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com>
-
- * bfdlink.h (struct bfd_link_info): Add new field optimize.
-
Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* splay-tree.h: Wrap function pointer parameter declarations in
@@ -1379,8 +774,8 @@ Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com>
Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_fetch_register, sim_store_register): Add
- register length parameter. Functions return actual length of
- register.
+ register length parameter. Functions return actual length of
+ register.
Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
@@ -1408,6 +803,10 @@ Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com>
* dis-asm.h (disasm_symaddr): New prototype.
+Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * coff/sh.h (R_SH_SWITCH8): New.
+
Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com>
* callback.h (CB_SYSCALL): Comment out arg names in prototypes.
@@ -1434,7 +833,7 @@ Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
- argument.
+ argument.
Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com>
@@ -1514,12 +913,12 @@ Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h: Review documentation. Clarify restrictions on
- when functions can be called.
+ when functions can be called.
Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_set_profile_size): Add prototype, document as
- depreciated.
+ depreciated.
Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
@@ -1536,6 +935,14 @@ Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com>
* obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun,
obstack_freefun): Eliminate compile warnings in gdb.
+Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com>
+
+ * coff/arm.h (constants): Added new flag bits F_APCS_26 and
+ F_APCS_SET for the f_flags field of the filehdr structure. Added new
+ flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
+ information in the flags field of the internal_f structure used by BFD
+ routines.
+
Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
* floatformat.h (floatformat_byteorders): Add comments for previous
@@ -1545,16 +952,16 @@ Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
* remote-sim.h (sim_stop): New interface - asynchronous
- notification of a request to stop / suspend the running
- simulation.
+ notification of a request to stop / suspend the running
+ simulation.
* remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
- states for use internal to simulators.
+ states for use internal to simulators.
* callback.h (struct host_callback_strut): Put a magic number at
- the end of the struct to allow basic checking.
+ the end of the struct to allow basic checking.
(struct host_callback_struct ): Add poll_quit - so
- that the console etc can be polled at regular intervals.
+ that the console etc can be polled at regular intervals.
Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
@@ -1565,7 +972,7 @@ Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* remote-sim.h (sim_trace, sim_size): Make these global. They
- will go away shortly.
+ will go away shortly.
Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com>
@@ -1595,7 +1002,7 @@ Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com>
Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* remote-sim.h: New file, copied in from gdb/remote-sim.h. One
- day this will be placed in a directory of its own.
+ day this will be placed in a directory of its own.
Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
@@ -1604,8 +1011,8 @@ Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
* callback.h (struct host_callback_struct): Add callbacks -
- flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
- evprintf_filtered. Delete redundant callbacks - printf_filtered.
+ flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
+ evprintf_filtered. Delete redundant callbacks - printf_filtered.
Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com>
@@ -1630,10 +1037,6 @@ Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
bytes_per_chunk and display_endian to control the
display of raw instructions.
-Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com>
-
- * dis-asm.h (print_insn_tic80): Declare.
-
Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com>
* callback.h (host_callback): New member `error'.
@@ -1721,7 +1124,7 @@ Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com>
can define PRIVATE_XMALLOC and then define xmalloc and
xrealloc anyway they want.
(basename): Document in source that we can't declare the
- parameter type because it is declared inconsistently across
+ parameter type because it is declared inconsistently across
different systems.
Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu>
@@ -1884,7 +1287,13 @@ Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
+ * coff/pe.h: New file.
* bfdlink.h (subsytem, stack_heap_parameters): New.
+ * coff/i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
+ NT_DEF_RESERVE, NT_DEF_COMMIT): New.
+ * coff/internal.h (internal_filehdr): New fields for PE.
+ (IMAGE_DATA_DIRECTORY): New.
+ (internal_aouthdr): New fields for PE.
Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
@@ -1959,6 +1368,8 @@ Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+ * aout/aout64.h: Only define QMAGIC if it isn't already defined.
+
* dis-asm.h: Add support for the ARM.
Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com)
@@ -2104,6 +1515,10 @@ Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
* getopt.h, obstack.h: Update to latest FSF version.
+Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com)
+
+ * coff/i386.h: Add Lynx magic number.
+
Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com)
* dis-asm.h: Move enum outside of struct defn to avoid warnings.
@@ -2133,6 +1548,10 @@ Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* dis-asm.h: Added declaration of print_insn_m88k.
+Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * opcode/h8300.h: Lots of little fixes for the h8/300h.
+
Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com)
* ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are
@@ -2157,6 +1576,9 @@ Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
Support for H8/300-H
* dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it.
+ * coff/h8300.h: New magic number.
+ * coff/internal.h: New relocations.
+ * opcode/h8300.h: Lots of new opcodes.
Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
@@ -2435,7 +1857,7 @@ Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com)
Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
- * bfd.h, ieee.h: ANSIfy enums.
+ * bfd.h, ieee.h, opcode/m68k.h, opcode/sparc.h: ANSIfy enums.
Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com)
@@ -2578,7 +2000,7 @@ Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com)
Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com)
- RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
+ RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
John Gilmore.
* a.out.gnu.h: Update slightly.
diff --git a/include/ChangeLog-9103 b/include/ChangeLog-9103
new file mode 100644
index 0000000000..670fe38b31
--- /dev/null
+++ b/include/ChangeLog-9103
@@ -0,0 +1,2737 @@
+2003-12-19 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * include/fibheap.h (fibnode): Use __extension__ for
+ bit-fields mark and degree if __GNUC__.
+
+2003-12-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * include/fibheap.h (fibnode): Use unsigned long int for
+ bit-fields if __GNUC__ is defined.
+
+2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_link_info): Change relax_finalizing to
+ need_relax_finalize.
+
+2003-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field.
+
+2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
+
+2003-11-14 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Add new field
+ 'symbol_is_valid' which is a function which can tell the
+ disassembler to skip certain symbols as they should not be
+ displayed to the user.
+ (arm_symbol_is_valid): New prototype. This is the ARM
+ specific function for the symbol_is_valid field.
+ (generic_symbol_is_valid): New prototype. This is the default
+ function pointed to by the symbol_is_valid field.
+
+2003-11-06 Bruno Rohee <bruno@rohee.com>
+
+ * hp-symtab.h: Fix "the the" typo.
+
+2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
+ "wildcard".
+
+2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * obstack.h: Merge the following change from gnulib:
+ 2003-10-21 Paul Eggert <eggert@twinsun.com>
+ * obstack.h (obstack_1grow_fast): Properly parenthesize arg.
+ (obstack_ptr_grow_fast, obstack_int_grow_fast):
+ Don't use lvalue casts, as GCC plans to remove support for them
+ in GCC 3.5. Reported by Joseph S. Myers. This bug
+ was also present in the non-GCC version, indicating that this
+ code had always been buggy and had never been widely used.
+ (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
+ Use the fast variant of each macro, rather than copying the
+ definiens of the fast variant; that way, we'll be more likely to
+ catch future bugs in the fast variants.
+
+2003-10-22 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_elf_version_expr): Remove match field.
+ Add wildcard and mask fields.
+ (BFD_ELF_VERSION_C_TYPE): Define.
+ (BFD_ELF_VERSION_CXX_TYPE): Likewise.
+ (BFD_ELF_VERSION_JAVA_TYPE): Likewise.
+ (struct bfd_elf_version_expr_head): New.
+ (struct bfd_elf_version_tree): Add match field.
+ Change type of globals and locals fields
+ to struct bfd_elf_version_expr_head.
+
+2003-10-14 Bob Wilson <bob.wilson@acm.org>
+
+ * elf/xtensa.h: Formatting. Fix comments about property section
+ names for linkonce sections.
+
+2003-09-22 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (struct floatformat): Add field "is_valid".
+
+2003-09-15 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (floatformat_to_double): Make input buffer constant.
+ (floatformat_from_double, floatformat_is_valid): Ditto.
+
+2003-09-15 Andrew Cagney <cagney@redhat.com>
+
+ * floatformat.h (struct floatformat): Make "exp_bias" signed.
+
+2003-09-15 Daniel Jacobowitz <drow@mvista.com>
+
+ * floatformat.h (floatformat_is_valid): Add prototype.
+
+2003-08-27 Andrew Cagney <cagney@redhat.com>
+
+ * dis-asm.h (init_disassemble_info): Declare.
+ (INIT_DISASSEMBLE_INFO): Redefine as a call to
+ init_disassemble_info.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.
+
+2003-08-20 Nick Clifton <nickc@redhat.com>
+
+ * bfdlink.h (enum report_method): New enum. Describes how to
+ report something.
+ (struct bfd_link_info): Delete fields 'no_undefined' and
+ 'allow_shlib_undefined'. Replace with
+ 'unresolved_symbols_in_objects' and
+ 'unresolved_symbols_in_shared_libs'.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Remove PARAMS macro. Replace PTR with void *.
+ * dis-asm.h: Likewise.
+
+2003-07-09 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: Undef all macros before defining them.
+
+2003-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * demangle.h: Support C++.
+
+2003-07-01 Zack Weinberg <zack@codesourcery.com>
+
+ * filenames.h: New file imported from binutils.
+
+2003-06-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: New file imported from binutils.
+
+2003-06-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS,
+ XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define.
+
+2003-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Correct spelling of "relocatable".
+
+2003-06-22 Zack Weinberg <zack@codesourcery.com>
+
+ * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
+ HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC
+ respectively.
+
+2003-06-21 Zack Weinberg <zack@codesourcery.com>
+
+ * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
+ New #defines.
+
+2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
+
+2003-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
+ * elf/common.h (PT_GNU_STACK): Define.
+
+2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
+
+2003-05-30 Ulrich Drepper <drepper@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add pie and executable
+ bits.
+
+2003-05-21 Nick Clifton <nickc@redhat.com>
+
+ * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
+
+2003-05-15 Jim Blandy <jimb@redhat.com>
+
+ * libiberty.h (hex_value): Make the value an unsigned int, to
+ avoid unexpected sign-extension when cast to unsigned types larger
+ than int --- like bfd_vma, on some platforms.
+ (_hex_value): Update declaration.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
+ gen_num_opcodes_fn return type.
+
+2003-05-07 Jason Merrill <jason@redhat.com>
+
+ * hashtab.h (iterative_hash): Prototype.
+ (iterative_hash_object): New macro.
+
+2003-04-28 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add relax_finalizing.
+
+2003-04-23 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_callbacks): Add error_handler.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
+ and s/c3x/tic3x/
+ * coff/tc-tic4x.h: Ditto
+ * opcode/tic4x.h: Ditto
+
+2003-04-02 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-config.h: Remove comment indicating that this is a
+ generated file.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * dis-asm.h (print_insn_xtensa): Declare.
+ * xtensa-config.h: New file.
+ * xtensa-isa-internal.h: Likewise.
+ * xtensa-isa.h: Likewise.
+
+2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
+ ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
+ ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
+ ATTRIBUTE_NULL_PRINTF_5): New.
+ (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.
+
+2003-03-17 Jan Hubicka <jh@suse.cz>
+
+ * hashtab.h (htab_traverse_noresize): Declare.
+
+2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Document return value of physmem routines.
+
+2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (physmem_total, physmem_available): Prototype.
+
+2003-02-20 Daniel Jacobowitz <drow@mvista.com>
+
+ * libiberty.h (lrealpath): Add declaration.
+
+2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com>
+
+ * hppa.h (ldwa, ldda): Add ordered opcodes.
+
+2003-01-26 Daniel Jacobowitz <drow@mvista.com>
+
+ * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
+ (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
+ (htab_create_alloc_ex): New prototype.
+ (htab_set_functions_ex): New prototype.
+
+2003-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252.
+
+2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
+ * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
+
+2002-07-17 Geoffrey Keating <geoffk@redhat.com>
+
+ * splay-tree.h (GTY): Define if undefined.
+ (splay_tree_allocate_fn): Return PTR for compatibility, not void *.
+ (struct splay_tree_node_s): Support gengtype.
+ (struct splay_tree_s): Likewise. Make allocate_data a PTR,
+ not a void *.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+
+ * dis-asm.h (print_insn_iq2000): Declare.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * dis-asm.h: Add msp430 disassembler prototype.
+
+2002-12-27 Chris Demetriou <cgd@broadcom.com>
+
+ * dis-asm.h (print_mips_disassembler_options): Prototype.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Add "strip_discarded".
+
+2002-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with
+ bit-fields. Rearrange to put all like types together.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h: Replace boolean with bfd_boolean. Formatting.
+
+2002-11-23 Simon Burge <simonb@wasabisystems.com>
+
+ * libiberty.h (basename): Add NetBSD to the list.
+
+2002-11-22 Daniel Jacobowitz <drow@mvista.com>
+
+ * libiberty.h (make_relative_prefix): Add prototype.
+
+2002-11-16 Klee Dienes <kdienes@apple.com>
+
+ * opcode/m88k.h (INSTAB): Remove 'next' field.
+ (instruction): Remove definition; replace with extern declaration
+ and mark as const.
+
+2002-11-14 Egor Duda <deo@logos-m.ru>
+
+ * bfdlink.h (struct bfd_link_info): Add new boolean
+ field pei386_runtime_pseudo_reloc.
+
+2002-10-26 Roger Sayle <roger@eyesopen.com>
+
+ * partition.h: Close the extern "C" scope when compiling with C++.
+
+2002-10-26 Roger Sayle <roger@eyesopen.com>
+ DJ Delorie <dj@redhat.com>
+
+ PR bootstrap/8351
+ * getopt.h: Avoid prototyping getopt with no arguments in C++.
+
+2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the
+ list of platform compilers that may look, smell and act
+ like __STDC__ but that may not define it.
+
+2002-10-11 David O'Brien <obrien@FreeBSD.org>
+
+ * getopt.h: getopt is in unistd.h (based on SUSv2).
+
+2002-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/x86-64.h: Add TLS relocs.
+
+2002-09-26 Andrew Cagney <ac131313@redhat.com>
+
+ * regs/: Delete directory.
+
+2002-09-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * libiberty.h (asprintf, vasprintf): Don't declare them if the
+ corresponding HAVE_DECL_ macro is 1.
+
+2002-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
+ Define.
+
+2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * dis-asm.h: Remove (errant) trailing semicolon (;) from the
+ extern "C" { } declaration.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (print_ppc_disassembler_options): Prototype.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * coff/internal.h: Add new relocation types.
+ * coff/ti.h: Add file-header flags for tic4x code.
+ * dis-asm.h: Add standard disassembler for tic4x.
+ * opcode/tic4x.h: New file.
+ * coff/tic4x.h: New file
+
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add allow_undefined_version.
+ (bfd_elf_version_expr): Add symver and script.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
+ (struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
+
+2002-07-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * opcode/mips.h (CPU_R2000): Remove.
+
+2002-07-19 Denis Chertykov <denisc@overta.ru>
+ Matthew Green <mrg@redhat.com>
+
+ * dis-asm.h (print_insn_ip2k): Declare.
+
+2002-07-10 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
+ DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
+
+2002-07-01 Alan Modra <amodra@bigpond.net.au>
+
+ * bfdlink.h (struct bfd_sym_chain): Declare.
+ (struct bfd_link_info): Add gc_sym_list. Formatting fixes.
+
+2002-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
+ * fibheap.h: Likewise.
+ * hashtab.h: Likewise.
+ * partition.h: Likewise.
+ * sort.h: Likewise.
+ * splay-tree.h: Likewise.
+
+2002-06-24 Alan Modra <amodra@bigpond.net.au>
+
+ * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
+ * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore:
+ * dis-asm.h (print_insn_frv): New prototype.
+
+2002-06-09 Andrew Cagney <cagney@redhat.com>
+
+ * remote-sim.h: Move to directory gdb/.
+ * callback.h: Move to directory gdb/.
+
+2002-06-07 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * bfdlink.h (struct bfd_link_info): Change type of
+ pei386_auto_import field to int so that -1 can mean enabled by
+ default and 1 can mean enabled by command line switch.
+
+2002-06-06 DJ Delorie <dj@redhat.com>
+
+ * hashtab.h (htab): Rearrange new members for backward
+ compatibility.
+ (htab_create): Don't use a macro that requires other headers.
+
+2002-06-05 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (htab_create): Restore prototype for backward
+ compatibility.
+ (htab_try_create): Likewise.
+
+2002-05-22 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (struct htab): Update for change to length specifier.
+
+2002-05-10 Geoffrey Keating <geoffk@redhat.com>
+
+ * hashtab.h (GTY): Define if undefined.
+ (htab_alloc): New typedef.
+ (htab_free): New typedef.
+ (struct htab): Support gengtype; allow user-specified memory
+ allocation.
+ (htab_create_alloc): New.
+ (htab_create): Replace with #define.
+ (htab_try_create): Delete.
+
+2002-05-31 Michal Ludvig <mludvig@suse.cz>
+
+ * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
+ to DW_CFA_lo_user, DW_CFA_hi_user respectively.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * dis-asm.h: Prototype print_insn_dlx.
+
+2002-05-23 Andrew Cagney <ac131313@redhat.com>
+
+ * sim-d10v.h: Delete file. Moved to include/gdb/.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
+ * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
+ * elf/i386.h: Add TLS relocs.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * bfdlink.h (bfd_link_info): Add allow_multiple_definition.
+
+2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype.
+
+2002-04-16 David S. Miller <davem@redhat.com>
+
+ * xregex2.h (__restrict_arr): Define to __restrict on GCC
+ 3.1 and later. Do not redefine.
+
+2002-04-01 Phil Edwards <pme@gcc.gnu.org>
+
+ * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names.
+
+2002-03-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * gdb: New directory.
+
+2002-03-06 Andrew Cagney <ac131313@redhat.com>
+
+ * floatformat.h (floatformat_arm_ext): Delete declaration.
+
+2002-02-21 Jim Blandy <jimb@redhat.com>
+
+ Allow the user to specify functions for allocating memory for
+ splay tree roots and nodes.
+ * splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
+ New types.
+ (splay_tree): New fields: `allocate', `deallocate', and
+ `allocate_data'.
+ (splay_tree_new_with_allocator): New function declaration.
+
+2002-02-15 Alan Modra <amodra@bigpond.net.au>
+
+ Support arbitrary length fill patterns.
+ * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
+ (struct bfd_link_order): Remove fill. Add data.size.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
+ * dis-asm.h (print_insn_sh64): New prototype.
+ (print_insn_sh64l): New prototype.
+ (print_insn_sh64x_media): New prototype.
+
+2002-02-05 Frank Ch. Eigler <fche@redhat.com>
+
+ * dis-asm.h (disassemble_info): New field `insn_sets'.
+ (INIT_DISASSEMBLE_INFO): Clear it.
+
+2002-02-05 Jason Merrill <jason@redhat.com>
+
+ * demangle.h (cplus_demangle_v3): Add "options" parm.
+ (cplus_demangle_v3_type): Remove prototype.
+ (DMGL_VERBOSE): New macro.
+ (DMGL_TYPES): New macro.
+
+2002-02-02 H.J. Lu (hjl@gnu.org)
+
+ * demangle.h (cplus_demangle_v3_type): New prototype.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * dis-asm.h : Add support for or32 targets
+
+2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
+
+2002-01-27 David O'Brien <obrien@FreeBSD.org>
+
+ * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead.
+
+2001-12-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the
+ disassembler_options field (to NULL).
+
+2001-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * dis-asm.h (print_insn_xstormy16): Declare.
+
+2001-12-06 Richard Henderson <rth@redhat.com>
+
+ * demangle.h (no_demangling): New.
+ (NO_DEMANGLING_STYLE_STRING): New.
+
+2001-11-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dis-asm.h (print_insn_i386): Declare.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * dis-asm.h: Fix comment to refer to octets rather than bytes.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dis-asm.h (print_insn_mmix): Add prototype.
+
+2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
+
+2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (hex_init): Revert delete.
+
+ * libiberty.h (_hex_value): Const-ify.
+ (hex_init): Delete.
+
+2001-10-16 Christopher Faylor <cgf@redhat.com>
+
+ * filenames.h: Add cygwin to the list of dosish style path systems.
+
+2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangler_engine): Const-ify.
+ * libiberty.h (buildargv): Likewise.
+
+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
+
+2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (reconcat): New function.
+
+2001-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (concat, concat_length, concat_copy, concat_copy2,
+ ACONCAT): Improve comments.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
+
+2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (concat_length, concat_copy, concat_copy2,
+ libiberty_concat_ptr, ACONCAT): New.
+
+ * libiberty.h (ASTRDUP): New macro.
+ libiberty_optr, libiberty_nptr, libiberty_len): Declare.
+
+2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Update comments reflecting previous change.
+
+2001-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
+
+2001-08-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to
+ unsigned to remove a compile time warning message.
+
+2001-08-24 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_hash_table_type): New. The linker hash
+ table type, bfd_link_generic_hash_table and
+ bfd_link_elf_hash_table.
+ (bfd_link_hash_table): Add a new field, type, for the linker
+ hash table type.
+
+2001-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (struct bfd_link_info): Add combreloc and
+ spare_dynamic_tags fields.
+
+2001-08-23 Lars Brinkhoff <lars@nocrew.org>
+
+ * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
+ replace "GNU CC" with "GCC".
+
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * fibheap.h: Tidy formatting.
+ (fibnode_t): Limit degree to 31 bits to avoid warning.
+
+2001-08-20 Daniel Berlin <dan@cgsoftware.com>
+
+ * fibheap.h: New file. Fibonacci heap.
+
+2001-08-20 Andrew Cagney <ac131313@redhat.com>
+
+ * floatformat.h (floatformat_arm_ext): Document as deprecated.
+ (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
+ (floatformat_ia64_spill_little, floatformat_ia64_quad_little)
+ (floatformat_ia64_spill_big, floatformat_ia64_quad_big)
+ (floatformat_m88110_harris_ext): Declare.
+
+2001-08-18 Zack Weinberg <zackw@panix.com>
+
+ * ansidecl.h: Reorganize for readability, remove documentation
+ of obsolete macros, document PARAMS and VPARAMS. Add new
+ macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
+ function implementation.
+
+2001-08-16 Richard Henderson <rth@redhat.com>
+
+ * hashtab.h (htab_hash_string): Declare.
+
+2001-08-10 Andrew Cagney <ac131313@redhat.com>
+
+ * libiberty.h (lbasename): Change function declaration to return a
+ const char pointer.
+
+2001-08-02 Mark Kettenis <kettenis@gnu.org>
+
+ * xregex.h (_REGEX_RE_COMP): Define.
+ (re_comp): Define to xre_comp.
+ (re_exec): Define to xre_exec.
+
+2001-08-02 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * bfdlink.h (struct bfd_link_info): add new boolean
+ field pei386_auto_import.
+
+2001-07-18 Andreas Jaeger <aj@suse.de>
+
+ * xregex2.h: Place under LGPL version 2.1.
+
+2001-07-10 Jeff Johnston <jjohnstn@redhat.com>
+
+ * xregex.h: New file to support libiberty regex.
+ * xregex2.h: Ditto.
+
+2001-06-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * bfdlink.h (struct bfd_link_info): New member export_dynamic.
+
+2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+ * partition.h: Fix misspelling of `implementation'.
+
+2001-05-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (NULL_PTR): Delete.
+
+2001-05-07 Zack Weinberg <zackw@stanford.edu>
+
+ * demangle.h: Use PARAMS for all prototypes.
+ * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *.
+ Make arguments constant where possible.
+
+2001-05-07 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_max): New function.
+ (splay_tree_min): Likewise.
+
+2001-04-27 Johan Rydberg <jrydberg@opencores.org>
+
+ * dis-asm.h (print_insn_openrisc): Add prototype.
+
+2001-04-15 Daniel Berlin <dan@cgsoftware.com>
+
+ * ternary.h: New file - Ternary search tree header.
+
+2001-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ * bfdlink.h (bfd_link_discard): Add discard_sec_merge.
+
+2001-04-03 Zack Weinberg <zackw@stanford.edu>
+
+ * ansidecl.h: All logic from gcc/gansidecl.h moved here.
+
+2001-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (alloca): Handle setting C_ALLOCA.
+
+2001-03-20 Jim Blandy <jimb@redhat.com>
+
+ * demangle.h (enum gnu_v3_constructor_kinds,
+ is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
+ is_gnu_v3_mangled_dtor): New declarations.
+
+2001-03-14 Nick Clifton <nickc@redhat.com>
+
+ * ansidecl.h: Fix copyright dates.
+ * demangle.h: Fix copyright dates.
+ * floatformat.h: Fix copyright dates.
+ * fnmatch.h: Fix copyright dates.
+ * getopt.h: Fix copyright dates.
+ * libiberty.h: Add FSF copyright notice.
+ * md5.h: Fix copyright dates.
+ * obstack.h: Fix copyright dates.
+ * splay-tree.h: Fix copyright dates.
+
+2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
+ John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * libiberty.h: Add lbasename.
+
+2001-03-06 Zack Weinberg <zackw@stanford.edu>
+
+ * libiberty.h: Prototype C_alloca; define alloca to either
+ __builtin_alloca or C_alloca as appropriate.
+
+2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
+ compatibility.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * dis-asm.h: Add PDP-11 target.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * dis-asm.h: Add linux target for S/390.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * dis-asm.h (arc_get_disassembler): Correct declaration.
+
+2001-01-09 Philip Blundell <philb@gnu.org>
+
+ * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'.
+
+2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * COPYING: Update to current
+ ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+ to 19yy as example year in copyright notice).
+
+2000-12-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dis-asm.h (struct disassemble_info): New member "section".
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member.
+ Initialize section member.
+
+2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * safe-ctype.h: Make code work on all targets and not just on
+ targets where a char is 8 bits.
+
+2000-12-10 Fred Fish <fnf@be.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
+ member to struct for systems where it is normal to have undefined
+ symbols in shared libraries at runtime and the runtime linker
+ takes care of redirecting them.
+
+2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * safe-ctype.h: New file.
+
+2000-12-06 Rodney Brown <RodneyBrown@mynd.com>
+
+ * getopt.h obstack.h: Standarize copyright statement.
+
+2000-12-04 Richard Henderson <rth@redhat.com>
+
+ * demangle.h: Change "new_abi" to "v3" everywhere.
+
+2000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * libiberty.h: Move #includes to top. Prototype xmalloc_failed.
+
+2000-11-15 Kenneth Block <kenneth.block@compaq.com>
+
+ * demangle.h: Add gnat and java demangle styles.
+
+2000-11-04 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * hashtab.h (struct htab): Add member return_allocation_failure.
+ (htab_try_create): New prototype. Mention which functions may
+ return NULL when this is used.
+
+2000-11-03 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * hashtab.h: Change void * to PTR where necessary.
+
+2000-10-11 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_predecessor): Declare.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris.
+ Fix typo in comment.
+
+2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * alloca-conf.h: New file (copied from libiberty).
+
+2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
+
+2000-09-04 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h: Adjust formatting.
+ (dyn_string_insert_char): New macro. New declaration.
+
+2000-08-28 Jason Merrill <jason@redhat.com>
+
+ * md5.h: New file.
+
+2000-08-24 Greg McGary <greg@mcgary.org>
+
+ * libiberty.h (ARRAY_SIZE): New macro.
+
+2000-07-29 Nick Clifton <nickc@cygnus.com>
+
+ * os9k.h: Add copyright notice.
+ Fix formatting.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * dis-asm.h (print_insn_i860): Add prototype.
+
+2000-07-20 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add new_dtags.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * dis-asm.h (print_insn_cris): Declare.
+
+2000-07-19 H.J. Lu (hjl@gnu.org)
+
+ * bfdlink.h (bfd_link_info): Add flags and flags_1.
+
+2000-06-05 DJ Delorie <dj@redhat.com>
+
+ * MAINTAINERS: new
+
+2000-06-21 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h (dyn_string_init, dyn_string_new,
+ dyn_string_delete, dyn_string_release, dyn_string_resize,
+ dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
+ dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+ dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+ dyn_string_append_char, dyn_string_substring_dyn_string_eq):
+ Define as same name with __cxa_ prepended, if IN_LIBGCC2.
+ (dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
+ dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+ dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+ dyn_string_append_char, dyn_string_substring): Change return type
+ to int.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * dis-asm.h (print_insn_m68hc12): Define.
+ (print_insn_m68hc11): Likewise.
+
+2000-06-18 Nick Clifton <nickc@redhat.com>
+
+ * os9k.h: Change values of MODSYNC and CRCCON due to bug report
+ from Russ Magee <rmagee@home.com>.
+
+2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangling_styles): Remove trailing comma in enum.
+
+ * dyn-string.h (dyn_string_append_char): Change parameter from
+ char to int.
+
+2000-06-04 Alex Samuel <samuel@codesourcery.com>
+
+ * dyn-string.h: Move here from gcc/dyn-string.h. Add new functions.
+
+ * demangle.h (DMGL_GNU_NEW_ABI): New macro.
+ (DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI.
+ (current_demangling_style): Add gnu_new_abi_demangling.
+ (GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro.
+ (GNU_NEW_ABI_DEMANGLING): Likewise.
+ (cplus_demangle_new_abi): New declaration.
+
+Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * floatformat.h (struct floatformat): Add field name.
+
+2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * filenames.h: New file.
+ (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
+ (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.
+
+2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
+
+ * libiberty.h (basename): Likewise.
+
+2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
+ Rick Gorton <gorton@scrugs.lkg.dec.com>
+
+ * bfdlink.h (struct bfd_link_info): Add emitrelocations flag.
+
+2000-05-08 Alan Modra <alan@linuxcare.com.au>
+
+ * dis-asm.h (print_insn_tic54x): Declare.
+
+2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
+
+ * ansidecl.h: #define __extension__ to nothing if
+ GCC_VERSION < 2008.
+
+2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h (demangler_engine): Constify.
+
+Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * sort.h (sys/types.h): File included unconditionnaly.
+ (stddef.h): File include only #ifdef __STDC__.
+
+2000-05-03 Zack Weinberg <zack@wolery.cumb.org>
+
+ * symcat.h: Remove #endif label.
+
+2000-04-28 Kenneth Block <block@zk3.dec.com>
+ Jason Merrill <jason@casey.cygnus.com>
+
+ * demangle.h (libiberty_demanglers): new table for different styles.
+ (cplus_demangle_set_style): New function for setting style.
+ (cplus_demangle_name_to_style): New function to translate name.
+
+2000-04-24 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.h (hash_pointer): Declare.
+ (eq_pointer): Likewise.
+
+2000-04-23 Mark Mitchell <mark@codesourcery.com>
+
+ * sort.h: New file.
+
+Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+
+ * dis-asm.h (print_insn_ia64): Declare.
+
+Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * hashtab.h (enum insert_option): New type.
+ (htab_find_slot, htab_find_slot_with_hash): Use it.
+
+2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * symcat.h: Honor autoconf macro HAVE_STRINGIZE. Add
+ comments/caveats with regard to traditional C behavior.
+
+2000-04-05 Richard Henderson <rth@cygnus.com>
+
+ * splay-tree.h (splay_tree_remove): Declare.
+
+2000-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * bin-bugs.h (REPORT_BUGS_TO): Remove translated part.
+
+2000-04-03 Alan Modra <alan@linuxcare.com.au>
+
+ * bin-bugs.h: New file.
+
+2000-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * hashtab.h (hashval_t): New type.
+ (htab_find_with_hash): Use it as an argument.
+ (htab_find_slot_with_hash): Likewise.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * dis-asm.h (print_insn_avr): Declare.
+
+2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * hashtab.h (htab_trav): Modify type so that first arg is of type
+ void **.
+ (htab_find_with_hash, htab_find_slot_with_hash): Declare new
+ functions.
+
+2000-03-09 Alex Samuel <samuel@codesourcery.com>
+
+ * partition.h: New file.
+
+2000-03-09 Zack Weinberg <zack@wolery.cumb.org>
+
+ * hashtab.h (struct htab): Add del_f.
+ (htab_del): New type.
+ (htab_create): Add fourth argument.
+
+2000-03-08 Zack Weinberg <zack@wolery.cumb.org>
+
+ * hashtab.h (hash_table_t): Rename to htab_t.
+ (struct hash_table): Rename to struct htab. Shorten element
+ names. Reorder elements by size.
+ (htab_hash, htab_eq, htab_trav): New typedefs for the callback
+ function pointers.
+ (hash_table_entry_t): Discard; just use void * for element
+ type.
+
+2000-03-01 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_callbacks): Add a boolean arg to
+ the undefined_symbol callback.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * dis-asm.h (print_insn_i370): Declare.
+
+Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_trace): Document return values.
+ (sim_set_trace): Declare. Deprecate.
+
+2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * dis-asm.h (struct disassemble_info): Change `length' param of
+ read_memory_func to unsigned. Change type of `buffer_length' and
+ `octets_per_byte' to unsigned.
+ (buffer_read_memory): Change `length' param to unsigned.
+
+2000-02-16 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Add prototypes for ARM register name functions.
+
+Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * wait.h: Delete. No longer used by GDB.
+
+Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_resume): Clarify use of SIGGNAL.
+ (sim_stop_reason): Clarify meaning of sim_signalled.
+
+2000-02-03 Timothy Wall <twall@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Added octets_per_byte
+ field and initialize it to one (1).
+
+2000-01-27 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h: Add prototype for disassembler_usage().
+ Add prototype for arm_disassembler_options().
+ Remove prototype for arm_toggle_regnames().
+ Add prototype for parse_arm_disassembler_option().
+
+Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
+ to stringify argument s.
+
+Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant.
+ (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN.
+
+1999-12-15 Doug Evans <dje@transmeta.com>
+
+ * dis-asm.h: Enclose in extern "C" ifdef __cplusplus.
+
+1999-12-05 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (struct splay_tree_node): Rename to ...
+ (struct splay_tree_node_s): ... this.
+ (struct splay_tree): Rename to ...
+ (struct splay_tree_s): ... this.
+
+1999-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (ATTRIBUTE_MALLOC): New macro.
+
+ * libiberty.h (buildargv, dupargv, concat, choose_temp_base,
+ make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
+ ATTRIBUTE_MALLOC.
+ (xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
+
+1999-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
+ (asprintf, vasprintf): Provide declarations.
+
+Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
+ Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
+
+1999-11-04 Jimmy Guo <guo@cup.hp.com>
+
+ * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind
+ fields, change location type to CORE_ADDR from int.
+ (dntt_type_const): Name the 5th field location_type.
+
+Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define.
+
+1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * hashtab.h: Give hash_table_t a struct tag. Add prototypes
+ for clear_hash_table_slot and traverse_hash_table. Correct
+ prototype of all_hash_table_collisions.
+
+Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-d10v.h: New file.
+
+Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
+
+ * hashtab.h: New file.
+
+1999-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h (HAVE_GCC_VERSION): New macro. Use it instead of
+ explicitly testing __GNUC__ and __GNUC_MINOR__.
+
+ (ATTRIBUTE_PRINTF): Use `__format__', not `format'.
+
+1999-09-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (make_temp_file): Add a prototype.
+
+Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org>
+
+ * libiberty.h (basename): OpenBSD has a correct prototype.
+ (xrealloc): Remove outdated comment.
+
+1999-09-07 Jeff Garzik <jgarzik@pobox.com>
+
+ * libiberty.h (xmemdup): Add prototype for new function.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * dis-asm.h (print_insn_pj): Declare.
+
+1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
+ in calls to `_obstack_memcpy' from here ...
+
+ (_obstack_memcpy): ... to here, except in the __STDC__ case which
+ doesn't need it.
+
+1999-08-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h (getpwd): Prototype.
+
+1999-08-01 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_insert): Return the new node.
+
+1999-07-11 Ian Lance Taylor <ian@zembu.com>
+
+ * ansidecl.h: Copy attribute support macros from egcs.
+
+1999-06-22 Mark Mitchell <mark@codesourcery.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Add init_function and
+ fini_function.
+
+1999-06-20 Mark Mitchell <mark@codesourcery.com>
+
+ * mips.h (Elf32_Internal_Msym): New structure.
+ (Elf32_External_Msym): Likewise.
+ (ELF32_MS_REL_INDEX): New macro.
+ (ELF32_MS_FLAGS): Likewise.
+ (ELF32_MS_INFO): Likewise.
+
+1999-06-14 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (arm_toggle_regnames): New prototype.
+ (struct diassemble_info): New field: disassembler_options.
+
+1999-04-11 Richard Henderson <rth@cygnus.com>
+
+ * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'.
+ Add `match' callback function.
+
+1999-04-10 Richard Henderson <rth@cygnus.com>
+
+ * bfdlink.h (bfd_link_info): Add no_undefined.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Add prototype for print_insn_mcore.
+
+1999-04-02 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_compare_pointers): Declare.
+
+1999-03-30 Mark Mitchell <mark@codesourcery.com>
+
+ * splay-tree.h (splay_tree_compare_ints): Declare.
+
+Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
+
+ * libiberty.h (basename): Cygwin{,32} should have the prototype.
+
+1999-02-22 Jim Lemke <jlemke@cygnus.com>
+
+ * bfdlink.h (bfd_link_info): add field "mpc860c0".
+
+Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com>
+
+ * dis-asm.h (print_insn_i386_att): Declare.
+ (print_insn_i386_intel): Declare.
+
+1998-12-30 Michael Meissner <meissner@cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and
+ FPRINTF_FUNC to avoid compiler warnings.
+
+Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com>
+
+ * dis-asm.h: change void * to PTR (two places).
+
+Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h: Don't check IN_GCC anymore.
+ * splay-tree.h: Likewise.
+
+Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
+
+ The following changes were made by Elena Zannoni
+ <ezannoni@kwikemart.cygnus.com> and Edith Epstein
+ <eepstein@sophia.cygnus.com> as part of a project to merge in
+ changes made by HP; HP did not create ChangeLog entries.
+
+ * dis-asm.h (struct disassemble_info): change the type of stream
+ from FILE* to void*, for use with gdb's new type GDB_FILE.
+ (fprintf_ftype): change FILE* parameter type to void*.
+
+ * demangle.h: (DMGL_EDG): new macro for Kuck and Associates
+ (DMGL_STYLE_MASK): modify to include Kuck and Assoc style
+ (demangling_styles): add new edg_demangling style
+ (EDG_DEMANGLING_STYLE_STRING): new macro
+ (EDG_DEMANGLING): new macro
+ (DMGL_HP): new macro, for HP/aCC compiler.
+ (DMGL_STYLE_MASK): modify to include new HP's style.
+ (demangling_styles): add new hp_demangling value.
+ (HP_DEMANGLING_STYLE_STRING): new macro.
+ (ARM_DEMANGLING): coerce to int.
+ (HP_DEMANGLING): new macro.
+
+ * hp-symtab.h: rewritten, from HP.
+ (quick_procedure): change type of language field to unsigned int
+ (quick_module): change type of language field to unsigned int
+ (struct dntt_type_svar): add field thread_specific.
+ (hp_language): add languages modcal and dmpascal.
+
+Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libiberty.h (basename): Add prototype for FreeBSD.
+
+Fri Nov 13 19:19:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libiberty.h: Prototype xcalloc.
+
+Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * ansidecl.h: Wrap problematic macros with !IN_GCC.
+
+ * demangle.h: Never define PARAMS().
+ * splay-tree.h: Likewise.
+
+Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
+
+ * dis-asm.h (print_insn_vax): Declare.
+
+Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * demangle.h: Don't include gansidecl.h.
+ * splay-tree.h: Likewise.
+
+1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new field optimize.
+
+Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * splay-tree.h: Wrap function pointer parameter declarations in
+ PARAMS() macro.
+
+1998-10-21 Mark Mitchell <mark@markmitchell.com>
+
+ * splay-tree.h: New file.
+
+Fri Oct 9 00:02:03 1998 Jeffrey A Law (law@cygnus.com)
+
+ * Merge devo and egcs include directories.
+
+Sat Sep 5 12:16:33 1998 Jeffrey A Law (law@cygnus.com)
+
+ * getopt.h, obstack.h: Updated from gcc.
+
+1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com)
+
+ * libiberty.h (xexit): Change decl to use modern GCC attribute
+ to indicate exit does not return.
+
+Mon Jun 1 13:48:32 1998 Jason Molenda (crash@bugshack.cygnus.com)
+
+ * obstack.h: Update to latest FSF version.
+
+Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * dis-asm.h (disassemble_info): Member `symbol' renamed to `symbols'
+ and made an "asymbol **". New member num_symbols.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Update.
+
+Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_fetch_register, sim_store_register): Add
+ register length parameter. Functions return actual length of
+ register.
+
+Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * getopt.h: Update to latest FSF version.
+
+Wed Feb 11 16:56:06 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * symcat.h: New file.
+
+Mon Feb 2 17:13:31 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * dis-asm.h (print_insn_tic30): Declare.
+
+Thu Jan 22 16:23:59 1998 Fred Fish <fnf@cygnus.com>
+
+ * dis-asm.h: Add flag INSN_HAS_RELOC to tell disassembly
+ function there is a reloc on this line.
+
+Mon Dec 8 11:22:23 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h: Remove prototype of disasm_symaddr() as this function
+ no longer exists.
+
+Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (disasm_symaddr): New prototype.
+
+Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com>
+
+ * callback.h (CB_SYSCALL): Comment out arg names in prototypes.
+
+Wed Nov 26 16:47:58 1997 Michael Meissner <meissner@cygnus.com>
+
+ * callback.h (CB_SYSCALL): Consistantly use names for prototype
+ arguments.
+
+Wed Nov 26 11:39:30 1997 Doug Evans <devans@canuck.cygnus.com>
+
+ * callback.h (CB_SYSCALL): Change byte count arguments to
+ {read,write}_mem to `int'. New member `magic'.
+ (CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
+
+Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
+
+ * callback.h (struct stat): Move forward decl up.
+ (host_callback): Pass stat struct pointer to stat,fstat.
+ (CB_SYS_nnn): Reorganize.
+ (CB_SYSCALL): New members p1,p2.
+ (cb_host_to_target_stat): Delete fourth arg.
+
+Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
+ argument.
+
+Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com>
+
+ * callback.h (CB_TARGET_DEFS_MAP): Renamed from target_defs_map.
+ (host_callback): Add stat, fstat, syscall_map, errno_map, open_map,
+ signal_map, stat_map.
+ (errn_map,open_map): Renamed to cb_init_foo_map.
+ (cb_host_to_target_errno,cb_target_to_host_open): Renamed from
+ host_to_target_errno,target_to_host_open.
+ (cb_read_target_syscall_maps): Add prototype.
+ (cb_target_to_host_syscall): Likewise.
+ (cb_host_to_target_stat): Likewise.
+ (cb_syscall): Likewise.
+ (CB_SYS_{exit,open,close,read,write,lseek,unlink,getpid,kill,fstat,
+ argvlen,argv,chdir,stat,chmod,utime,time}): Define.
+ (CB_SYSCALL): New type.
+ (CB_RC): New enum.
+
+Fri Nov 7 10:34:09 1997 Rob Savoye <rob@darkstar.cygnus.com>
+
+ * libiberty.h: Add extern "C" { so it can be used with C++
+ programs.
+ * remote-sim.h: Add extern "C" { so it can be used with C++
+ programs.
+
+Tue Oct 14 16:07:51 1997 Nick Clifton <nickc@cygnus.com>
+
+ * dis-asm.h (struct disassemble_info): New field
+ 'symbol_at_address_func'.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise new field with
+ generic_symbol_at_address.
+
+Mon Oct 13 10:17:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Clarify sim_read, sim_write MEM argument.
+
+Wed Sep 24 18:03:10 1997 Stu Grossman <grossman@babylon-5.cygnus.com>
+
+ * remote-sim.h (SIM_RC): Add a bunch of new return codes for
+ breakpoint stuff.
+ * Add functions to tell the simulator to set/clear/enable/disable
+ intrinsic breakpoints.
+
+Thu Aug 28 19:41:42 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * libiberty.h (dupargv): Add prototype.
+
+Tue Aug 26 12:25:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_create_inferior): Add ABFD arg. Document.
+
+Mon Aug 25 10:50:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_open): Add ABFD arg. Document.
+
+Fri Aug 8 16:43:56 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (arc_get_disassembler): Declare.
+
+Wed Jul 30 11:39:50 1997 Per Bothner <bothner@deneb.cygnus.com>
+
+ * demangle.h (DMGL_JAVA): New option to request Java demangling.
+
+Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (PEXECUTE_*): Define.
+ (pexecute, pwait): Declare.
+
+Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_kill): Mark as depreciated.
+
+Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add task_link member.
+
+Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Review documentation. Clarify restrictions on
+ when functions can be called.
+
+Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_set_profile_size): Add prototype, document as
+ depreciated.
+
+Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_open): Add callback struct.
+ (sim_set_callbacks): Drop SIM_DESC argument. Document.
+ (sim_size): Remove recently added SIM_DESC argument. Document.
+
+Mon May 19 19:14:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h: Pass SD into sim_size.
+
+Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com>
+
+ * obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun,
+ obstack_freefun): Eliminate compile warnings in gdb.
+
+Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com>
+
+ * floatformat.h (floatformat_byteorders): Add comments for previous
+ formats and add floatformat_littlebyte_bigword, primarily for ARM.
+ Add declaration for floatformat_ieee_double_littlebyte_bigword.
+
+Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * remote-sim.h (sim_stop): New interface - asynchronous
+ notification of a request to stop / suspend the running
+ simulation.
+
+ * remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
+ states for use internal to simulators.
+
+ * callback.h (struct host_callback_strut): Put a magic number at
+ the end of the struct to allow basic checking.
+ (struct host_callback_struct ): Add poll_quit - so
+ that the console etc can be polled at regular intervals.
+
+Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * remote-sim.h (struct _bfd): Declare.
+ (sim_load): Return SIM_RC. New arg `abfd'.
+ (sim_create_inferior): Return SIM_RC. Delete arg `start_address'.
+
+Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * remote-sim.h (sim_trace, sim_size): Make these global. They
+ will go away shortly.
+
+Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * remote-sim.h (SIM_OPEN_KIND, SIM_RC): New enums.
+ (sim_open): New argument `kind'.
+
+Wed Apr 2 14:45:51 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * COPYING: Update FSF address.
+
+Fri Mar 28 15:29:54 1997 Mike Meissner <meissner@cygnus.com>
+
+ * callback.h (top level): Include stdarg.h or varargs.h if
+ va_start is not defined.
+ (host_callback_struct): Make {,e}vprintf_filtered take a va_list
+ instead of void *, since va_list might be an array or structure
+ type.
+
+Fri Mar 28 15:44:41 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * libiberty.h (basename): Add prototype for glibc and linux.
+
+Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * objalloc.h: New file.
+
+Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * remote-sim.h: New file, copied in from gdb/remote-sim.h. One
+ day this will be placed in a directory of its own.
+
+Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * obstack.h: Update to current FSF version.
+
+Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+ * callback.h (struct host_callback_struct): Add callbacks -
+ flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
+ evprintf_filtered. Delete redundant callbacks - printf_filtered.
+
+Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove lprefix and lprefix_len
+ fields.
+
+Tue Feb 25 00:10:49 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize
+ bytes_per_chunk and display_endian.
+
+Mon Feb 24 17:47:02 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ From Eric Youngdale <eric@andante.jic.com>:
+ * bfdlink.h (struct bfd_elf_version_expr): Define.
+ (struct bfd_elf_version_deps): Define.
+ (struct bfd_elf_version_tree): Define.
+
+Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * dis-asm.h: (disassemble_info): Add new fields
+ bytes_per_chunk and display_endian to control the
+ display of raw instructions.
+
+Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com>
+
+ * dis-asm.h (print_insn_tic80): Declare.
+
+Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * callback.h (host_callback): New member `error'.
+
+Wed Nov 20 00:40:23 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * callback.h: New file, moved here from gdb.
+
+Mon Nov 18 16:34:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Checkin again; last checkin failed due to sticky tag.
+
+Wed Nov 13 08:22:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Revert last commit due to conflicts with hpux
+ system headers.
+
+Tue Nov 12 16:31:00 1996 Dawn Perchik <dawn@critters.cygnus.com>
+
+ * libiberty.h: Move prototypes from argv.c here.
+
+Thu Oct 31 14:56:18 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * ansidecl.h (VPARAMS,VA_START): Define.
+
+Fri Oct 25 12:08:04 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (disassemble_info): Add bytes_per_line field.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize bytes_per_line field.
+
+Thu Oct 24 17:10:01 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h (disassemble_info): Add symbol field.
+ (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize symbol field.
+
+Thu Oct 17 11:17:40 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (print_insn_m32r): Declare.
+
+Mon Oct 14 23:56:52 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h: Declare parameter types for xmalloc and xrealloc.
+
+Thu Oct 3 13:45:27 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * fnmatch.h: New file.
+
+Thu Oct 3 10:33:14 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_mn10x00): Delete declaration.
+ (print_insn_mn10200, print_insn_mn10300): Declare.
+
+Wed Oct 2 21:24:43 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_mn10x00): Declare.
+
+Mon Sep 30 13:56:11 1996 Fred Fish <fnf@cygnus.com>
+
+ * libiberty.h: Remove #ifndef PRIVATE_XMALLOC.
+
+Sat Aug 31 13:27:06 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_v850): Declare.
+
+Tue Aug 13 16:10:30 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * obstack.h: Change bcopy to memcpy. Works better on Posix
+ systems, which generally lack bcopy.
+
+Mon Aug 12 17:03:18 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * ansidecl.h: Change WIN32 to _WIN32.
+
+Fri Jul 26 13:58:18 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * dis-asm.h: Add flavour field.
+ (print_insn_alpha): Declare.
+ (print_insn_alpha_osf, print_insn_alpha_vms): Don't declare.
+ (INIT_DISASSEMBLE_INFO): Initialize flavour field.
+
+Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com>
+
+ * libiberty.h (PRIVATE_XMALLOC): Enclose xmalloc/xrealloc
+ definitions inside #ifndef so that programs that want to
+ can define PRIVATE_XMALLOC and then define xmalloc and
+ xrealloc anyway they want.
+ (basename): Document in source that we can't declare the
+ parameter type because it is declared inconsistently across
+ different systems.
+
+Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu>
+
+ * dis-asm.h (print_insn_alpha): Don't declare.
+ (print_insn_alpha_osf, print_insn_alpha_vms): Declare.
+
+Wed Jul 17 14:45:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * dis-asm.h: (print_insn_d10v): Declare.
+
+Mon Jul 15 16:55:38 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h: Get rid of decls for print_insn_i8086,
+ print_insn_sparc64 and print_insn_sparclite.
+ * (INIT_DISASSEMBLE_INFO): Split into two pieces. One,
+ INIT_DISASSEMBLE_INFO_NO_ARCH inits everything except for endian,
+ mach, and arch.
+
+Fri Jul 12 10:19:27 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h (print_insn_i8086): Declare.
+
+Wed Jul 3 16:02:39 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * dis-asm.h (print_insn_sparclite): Declare.
+
+Tue Jun 18 16:02:46 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * dis-asm.h (print_insn_h8300s): Declare.
+
+Tue Jun 18 15:11:33 1996 Klaus Kaempf <kkaempf@progis.de>
+
+ * fopen-vms.h: New file.
+
+Tue Jun 4 18:58:16 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add notice_all field.
+
+Fri Apr 26 10:33:12 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * demangle.h (#ifdef IN_GCC): #include "gansidecl.h".
+ (PROTO,PTR,const): Delete.
+
+Mon Apr 22 17:27:42 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add traditional_format field.
+
+Mon Apr 15 15:16:56 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * libiberty.h (choose_temp_base): Add prototype.
+
+Tue Mar 12 17:29:46 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (bfd_wrapped_link_hash_lookup): Declare.
+ (struct bfd_link_info): Add wrap_hash field.
+
+Wed Feb 14 16:49:17 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
+
+ * ieee.h (ieee_record_enum_type): Define
+ ieee_external_reference_info_enum.
+
+Fri Feb 2 17:09:25 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (DISASM_RAW_INSN): Delete.
+
+Tue Jan 23 09:21:47 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (INIT_DISASSEMBLE_INFO): Set endian to BFD_ENDIAN_UNKNOWN.
+ New argument FPRINTF_FUNC.
+
+Mon Jan 22 16:37:59 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * dis-asm.h (disassemble_info): New members arch, mach, endian.
+ (INIT_DISASSEMBLE_INFO): Initialize them.
+ (DISASM_RAW_INSN{,FLAG}): Define.
+
+Thu Jan 18 11:32:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * demangle.h (cplus_demangle_opname): Change opname parameter to
+ const char *.
+ (cplus_mangle_opname): Change return type and opname parameter to
+ const char *.
+
+Fri Jan 5 00:01:22 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * ieee.h (enum ieee_record): Add ieee_asn_record_enum,
+ ieee_at_record_enum, ieee_ty_record_enum, ieee_atn_record_enum,
+ ieee_bb_record_enum, and ieee_be_record_enum.
+
+Wed Jan 3 13:12:09 1996 Fred Fish <fnf@cygnus.com>
+
+ * obstack.h: Update copyright to 1996.
+ (_obstack_memory_used): Declare.
+ (obstack_memory_used): Define macro.
+
+Thu Dec 28 11:42:12 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (xstrdup): Declare.
+
+Thu Dec 21 14:47:17 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * wait.h: Protect all macros with #ifndef.
+
+Tue Oct 24 21:45:40 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Add static_link field.
+
+Tue Sep 12 16:28:04 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Add symbol parameter to
+ warning callback.
+
+Fri Sep 1 13:11:51 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Change warning callback
+ to take BFD, section, and address arguments.
+
+Thu Aug 31 16:45:12 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Tue Aug 22 03:18:23 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
+
+ * libiberty.h: Declare xstrerror. From Pat Rankin.
+
+Mon Aug 21 18:11:36 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Wed Aug 2 08:14:12 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * dis-asm.h (print_insn_sparc64): Declare.
+
+Mon Jul 10 13:26:49 1995 Eric Youngdale <eric@aib.com>
+
+ * bfdlink.h (struct bfd_link_info): Add new field symbolic.
+
+Sun Jul 2 17:48:40 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Change type of base_file to
+ PTR.
+
+Thu Jun 29 00:02:45 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_info): Added base_file member.
+
+Tue Jun 20 16:40:04 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * ansidecl.h: win32s is ANSI enough.
+
+Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
+
+ Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
+
+ * dis-asm.h (print_insn_arm): Delete declaration.
+ (print_insn_{little,big}_arm): New declarations.
+
+ * floatformat.h (floatformat_arm_ext): Declare.
+
+Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * bfdlink.h (subsytem, stack_heap_parameters): New.
+
+Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com>
+
+ * demangle.h: Don't include ansidecl.h if IN_GCC.
+
+Tue Feb 21 00:37:28 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hp-symtab.h: Don't use bitfield enumerations, the HP C compiler
+ does not handle them correctly.
+
+Thu Feb 9 14:20:27 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * libiberty.h (basename): Don't declare parameter type; some
+ systems have this in their header files.
+
+Wed Feb 8 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change format of common
+ symbol information, to remove restrictions on maximum size and
+ alignment power, by using a pointer to a structure instead.
+
+Mon Feb 6 14:55:32 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
+ to bfd_link_hash_undefweak. Add bfd_link_hash_defweak.
+
+Mon Jan 16 21:00:23 1995 Stan Shebs <shebs@andros.cygnus.com>
+
+ * dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all
+ GDB-specific definitions.
+
+Sun Jan 15 18:39:35 1995 Steve Chamberlain <sac@splat>
+
+ * dis-asm.h (print_insn_w65): Declare.
+
+Thu Jan 12 17:51:17 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * libiberty.h (hex_p): Fix sense of test.
+
+Wed Jan 11 22:36:40 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * libiberty.h (_hex_array_size, _hex_bad, _hex_value, hex_init,
+ hex_p, hex_value): New macros and declarations, for hex.c.
+
+Fri Jan 6 17:44:14 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * dis-asm.h: Make idempotent.
+
+Wed Dec 14 13:08:43 1994 Stan Shebs <shebs@andros.cygnus.com>
+
+ * progress.h: New file, empty definitions for progress macros.
+
+Fri Nov 25 00:14:05 1994 Jeff Law (law@snake.cs.utah.edu)
+
+ * hp-symtab.h: New file describing the debug symbols emitted
+ by the HP C compilers.
+
+Fri Nov 11 15:48:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size from 24
+ to 26 bits, and change u.c.alignment_power from 8 to 6 bits. 6
+ bit in the alignment power is enough for a 64 bit address space.
+
+Mon Oct 31 13:02:51 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * demangle.h (cplus_mangle_opname): Declare.
+
+Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * bfdlink.h (struct bfd_link_callbacks): Fix comments for
+ multiple_common field.
+
+Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+
+ * dis-asm.h: Add support for the ARM.
+
+Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com)
+
+ * libiberty.h (strsignal): Document its existence even if we
+ can't declare it.
+
+Tue Aug 2 14:40:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * os9k.h: Remove u_int16, u_int32, and owner_id typedefs and
+ expand their uses. Those names conflict with Mach headers.
+
+Fri Jul 22 14:17:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_hash_entry): Change u.c.size into a
+ bitfield. Add field u.c.alignment_power.
+
+Sun Jul 10 00:26:39 1994 Ian Dall (dall@hfrd.dsto.gov.au)
+
+ * dis-asm.h: Add print_insn_ns32k declaration.
+
+Mon Jun 20 17:13:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * bfdlink.h (bfd_link_hash_table): Make creator a const pointer.
+
+Sat Jun 18 16:09:32 1994 Stan Shebs (shebs@andros.cygnus.com)
+
+ * demangle.h (cplus_demangle_opname): Declare.
+
+Thu Jun 16 15:19:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_info): Add new field shared.
+
+Mon Jun 6 14:39:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_hash_entry): Remove written field:
+ not needed for all backends.
+
+Thu Apr 28 19:06:50 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * dis-asm.h (disassembler): Declare.
+
+Fri Apr 1 00:38:17 1994 Jim Wilson (wilson@mole.gnu.ai.mit.edu)
+
+ * obstack.h: Delete use of IN_GCC to control whether
+ stddef.h or gstddef.h is included.
+
+Tue Mar 22 13:06:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (enum bfd_link_order_type): Add bfd_data_link_order.
+ (struct bfd_link_order): Add data field to union.
+
+Mon Mar 21 18:45:26 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Change bitsize argument
+ to add_to_set to reloc. Remove bitsize argument from constructor.
+ Comment that reloc_overflow, reloc_dangerous and unattached_reloc
+ must handle NULL pointers for reloc location.
+ (enum bfd_link_order_type): Add bfd_section_reloc_link_order and
+ bfd_symbol_reloc_link_order.
+ (struct bfd_link_order): Add reloc field to union.
+ (struct bfd_link_order_reloc): Define.
+
+Mon Mar 14 12:27:50 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * ieee-float.h: Removed; no longer used.
+
+Tue Mar 1 18:10:49 1994 Kung Hsu (kung@mexican.cygnus.com)
+
+ * os9k.h: os9000 target specific header file, the header of the
+ object file is used now.
+
+Sun Feb 27 21:52:26 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * floatformat.h: New file, intended to replace ieee-float.h.
+
+Sun Feb 20 17:15:42 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
+
+ * ansidecl.h (ANSI_PROTOTYPES): Define if using ANSI prototypes.
+
+Wed Feb 16 01:07:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * libiberty.h: Don't declare strsignal, to avoid conflicts with
+ Solaris system header files.
+
+Sat Feb 12 22:11:32 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * libiberty.h (xexit): Use __volatile__ to avoid losing if
+ compiling with gcc -traditional.
+
+Thu Feb 10 14:05:41 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * libiberty.h: New file. Declares functions provided by
+ libiberty.
+
+Tue Feb 8 05:19:52 1994 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ Handle obstack_chunk_alloc returning NULL. This allows
+ obstacks to be used by libraries, without forcing them
+ to call exit or longjmp.
+ * obstack.h (struct obstack): Add alloc_failed flag.
+ _obstack_begin, _obstack_begin_1): Declare to return int, not void.
+ (obstack_finish): If alloc_failed, return NULL.
+ (obstack_base, obstack_next_free, objstack_object_size):
+ If alloc_failed, return 0.
+ (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
+ obstack_int_grow, obstack_blank): If alloc_failed, do nothing that
+ could corrupt the obstack.
+
+Mon Jan 24 15:06:05 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Add name, reloc_name and
+ addend argments to reloc_overflow callback.
+
+Fri Jan 21 19:13:12 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h (print_insn_big_powerpc, print_insn_little_powerpc,
+ print_insn_rs6000): Declare.
+
+Thu Jan 6 14:15:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfdlink.h (struct bfd_link_callbacks): Add bitsize argument to
+ add_to_set field. Add new callback named constructor.
+
+Thu Dec 30 10:44:06 1993 Ian Lance Taylor (ian@rtl.cygnus.com)
+
+ * bfdlink.h: New file for new BFD linker backend routines.
+
+Mon Nov 29 10:43:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h (enum dis_insn_tyupe): Remove non-ANSI trailing comma.
+
+Sat Oct 2 20:42:26 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h: Move comment to right place.
+
+Mon Aug 9 19:03:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * obstack.h (obstack_chunkfun, obstack_freefun): Add defns from
+ previous version. Are these Cygnus local changes?
+
+Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
+
+ * getopt.h, obstack.h: Update to latest FSF version.
+
+Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com)
+
+ * dis-asm.h: Move enum outside of struct defn to avoid warnings.
+
+Mon Aug 2 08:49:30 1993 Stu Grossman (grossman at cygnus.com)
+
+ * wait.h (WEXITSTATUS, WSTOPSIG): Mask down to 8 bits. This is
+ for systems that store stuff into the high 16 bits of a wait
+ status.
+
+Fri Jul 30 18:38:02 1993 John Gilmore (gnu@cygnus.com)
+
+ * dis-asm.h: Add new fields insn_info_valid, branch_delay_insns,
+ data_size, insn_type, target, target2. These are used to return
+ information from the instruction decoders back to the calling
+ program. Add comments, make more readable.
+
+Mon Jul 19 22:14:14 1993 Fred Fish (fnf@deneb.cygnus.com)
+
+ * nlm: New directory containing NLM/NetWare includes.
+
+Thu Jul 15 12:10:04 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * dis-asm.h (struct disassemble_info): New field application_data.
+
+Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * dis-asm.h: Added declaration of print_insn_m88k.
+
+Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are
+ defined, since RISC/OS cc handles ANSI declarations in SVR4 mode
+ but does not define __STDC__.
+
+Sun Jun 20 18:27:52 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
+
+ * dis-asm.h: Don't need to include ansidecl.h any more.
+
+Fri Jun 18 03:22:10 1993 John Gilmore (gnu@cygnus.com)
+
+ * oasys.h: Eliminate "int8_type", "int16_type", "int32_type", and
+ their variants. These changes are coordinated with corresponding
+ changes in ../bfd/oasys.c.
+
+Wed Jun 16 10:43:08 1993 Fred Fish (fnf@cygnus.com)
+
+ * bfd.h: Note that it has been removed.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it.
+
+Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * ansidecl.h (const): Don't define it if it's already defined.
+
+Thu May 27 18:19:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * dis-asm.h (print_insn_hppa): Declare it.
+
+ * bfd.h: Moved to bfd directory. Small stub here includes it
+ without requiring "-I../bfd".
+
+Thu Apr 29 12:06:13 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * bfd.h: Updated with BSF_FUNCTION.
+
+Mon Apr 26 18:15:50 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h, dis-asm.h: Updated with Hitachi SH.
+
+Fri Apr 23 18:41:38 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: Updated with alpha changes.
+ * dis-asm.h: Added alpha.
+
+Fri Apr 16 17:35:30 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * bfd.h: Update for signed bfd_*get_*.
+
+Thu Apr 15 09:24:21 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * bfd.h: Updated for file_truncated error.
+
+Thu Apr 8 10:53:47 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ansidecl.h: If no ANSI, define const to be empty.
+
+Thu Apr 1 09:00:10 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * dis-asm.h: Declare a29k and i960 print_insn_*.
+
+ * dis-asm.h: Add print_address_func and related stuff.
+
+ * dis-asm.h (dis_asm_read_memory): Fix prototype.
+
+Wed Mar 31 17:40:16 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h: Add print_insn_sparc.
+
+Wed Mar 31 17:51:42 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Updated for BFD_RELOC_MIPS_GPREL and bfd_[gs]et_gp_size
+ prototypes.
+
+Wed Mar 31 16:35:12 1993 Stu Grossman (grossman@cygnus.com)
+
+ * dis-asm.h: (disassemble_info): Fix typo in prototype of
+ dis_asm_memory_error().
+
+Tue Mar 30 19:09:23 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * dis-asm.h (disassembler_info): Add read_memory_func,
+ memory_error_func, buffer, and length.
+ ({GDB_,}INIT_DISASSEMBLE_INFO): Set them.
+ print_insn_*: Remove second argument.
+
+Tue Mar 30 14:48:55 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: Update for lma field of section.
+
+Tue Mar 30 12:22:55 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * ansidecl.h: Use ANSI versions on AIX regardless of __STDC__.
+
+Fri Mar 19 14:49:49 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * dis-asm.h: Add h8500.
+
+Thu Mar 18 13:49:09 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * ieee-float.h: Moved from ../gdb.
+ * dis-asm.h: New file. Interface to dis-assembler.
+
+Thu Mar 11 10:52:57 1993 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h (DMGL_NO_OPTS): Add define (set to 0) to use
+ in place of bare 0, for readability reasons.
+
+Tue Mar 2 17:50:11 1993 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h: Replace all references to cfront with ARM.
+
+Tue Feb 23 12:21:14 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update for new elements in JUMP_TABLE.
+
+Tue Feb 16 00:51:30 1993 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update for BFD_VERSION 2.1.
+
+Tue Jan 26 11:49:20 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update for SEC_IS_COMMON flag.
+
+Tue Jan 19 12:25:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.h: Update for bfd_asymbol_value bug fix.
+
+Fri Jan 8 16:37:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * bfd.h: Update to include ECOFF tdata and target_flavour.
+
+Sun Dec 27 17:52:30 1992 Fred Fish (fnf@cygnus.com)
+
+ * bfd.h: Add declaration for bfd_get_size().
+
+Tue Dec 22 22:42:46 1992 Fred Fish (fnf@cygnus.com)
+
+ * demangle.h: Protect file from multiple inclusions with
+ #if !defined(DEMANGLE_H)...#define DEMANGLE_H...#endif.
+
+Mon Dec 21 21:25:50 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h: Update to get hppa_core_struct from bfd.c.
+
+Thu Dec 17 00:42:35 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update to get tekhex tdata name change from bfd.
+
+Mon Nov 9 23:55:42 1992 John Gilmore (gnu@cygnus.com)
+
+ * ansidecl.h: Update comments to discourage use of EXFUN.
+
+Thu Nov 5 16:35:44 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * bfd.h: Update to bring in SEC_SHARED_LIBRARY.
+
+Thu Nov 5 03:21:32 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update to match EXFUN, bfd_seclet_struct, and SDEF
+ cleanups in bfd.
+
+Wed Nov 4 07:28:05 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * bout.h (N_CALLNAME, N_BALNAME): Define as char-type values, so
+ widening works consistently.
+
+Fri Oct 16 03:17:08 1992 John Gilmore (gnu@cygnus.com)
+
+ * getopt.h: Update to Revised Standard FSF Version.
+
+Thu Oct 15 21:43:22 1992 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * getopt.h (struct option): use the provided enum for has_arg.
+
+ * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING,
+ LUCID_DEMANGLING): ultrix compilers require enums to be
+ enums and ints to be ints and casts where they meet. cast some
+ enums into ints.
+
+Thu Oct 15 04:35:51 1992 John Gilmore (gnu@cygnus.com)
+
+ * bfd.h: Update after comment changes.
+
+Thu Oct 8 09:03:02 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h (bfd_get_symbol_leading_char): new macro for getting in xvec
+
+Thu Sep 3 09:10:50 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h (struct reloc_howto_struct): size needs to be signed if
+ it's going to hold negative values.
+
+Sun Aug 30 17:50:27 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * demangle.h: New file, moved from ../gdb. Made independent
+ of gdb. Allow demangling style option to be passed as a
+ parameter to cplus_demangle(), but using the
+ current_demangling_style global as the default.
+
+Sat Aug 29 10:07:55 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Merge comment change from current FSF version.
+
+Thu Aug 27 12:59:29 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * bfd.h: add we32k
+
+Tue Aug 25 15:07:47 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: new after Z8000 stuff
+
+Mon Aug 17 09:01:23 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * bfd.h: Regenerated after page/segment size changes.
+
+Sat Aug 1 13:46:31 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Merge changes from current FSF version.
+
+Mon Jul 20 21:06:23 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h (area_id, flags): Remove, replace with extra_arg,
+ use_extra_arg, and maybe_empty_object.
+ * obstack.h (OBSTACK_MAYBE_EMPTY_OBJECT, OBSTACK_MMALLOC_LIKE):
+ Remove, replaced by maybe_empty_object and use_extra_arg bitfields.
+ * obstack.h (obstack_full_begin, _obstack_begin): Remove area_id
+ and flags arguments.
+ * obstack.h (obstack_alloc_arg): New macro to set extra_arg.
+
+Thu Jul 16 08:12:44 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * bfd.h: new after adding BFD_IS_RELAXABLE
+
+Sat Jul 4 03:22:23 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Regen after adding BSF_FILE.
+
+Mon Jun 29 14:18:36 1992 Fred Fish (fnf at sunfish)
+
+ * obstack.h: Convert bcopy() use to memcpy(), which is more
+ portable, more standard, and can take advantage of gcc's builtin
+ functions for increased performance.
+
+Thu Jun 25 04:46:08 1992 John Gilmore (gnu at cygnus.com)
+
+ * ansidecl.h (PARAMS): Incorporate this macro from gdb's defs.h.
+ It's a cleaner way to forward-declare function prototypes.
+
+Fri Jun 19 15:46:32 1992 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h: HPPA merge.
+
+Tue Jun 16 21:30:56 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: gratuitous white space changes merged from other prep
+ releases.
+
+Thu Jun 11 01:10:55 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Regen'd from bfd.c after removing elf_core_tdata_struct.
+
+Mon May 18 17:29:03 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: merged changes from make-3.62.11.
+
+ * getopt.h: merged changes from grep-1.6 (alpha).
+
+Fri May 8 14:53:32 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * getopt.h: merged changes from bison-1.18.
+
+Sat Mar 14 17:25:20 1992 Fred Fish (fnf@cygnus.com)
+
+ * obstack.h: Add "area_id" and "flags" members to obstack
+ structure. Add obstack_chunkfun() and obstack_freefun() to
+ set functions explicitly. Convert maybe_empty_object to
+ a bit in "flags".
+
+Thu Feb 27 22:01:02 1992 Per Bothner (bothner@cygnus.com)
+
+ * wait.h (WIFSTOPPED): Add IBM rs6000-specific version.
+
+Fri Feb 21 20:49:20 1992 John Gilmore (gnu at cygnus.com)
+
+ * obstack.h: Add obstack_full_begin.
+ * bfd.h, obstack.h: Protolint.
+
+Thu Jan 30 01:18:42 1992 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h: Remove comma from enum declaration.
+
+Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com)
+
+ * bfd.h : new target entr, bfd_relax_section
+
+Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
+
+ * bfd.h, ieee.h: ANSIfy enums.
+
+Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com)
+
+ * fopen-same.h, fopen-bin.h: New files for configuring
+ whether fopen distinguishes binary files or not. For use
+ by host-dependent config files.
+
+Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * bfd.h: change the documentation format.
+
+ * created coff, elf and opcode and aout directories. Moved:
+
+ aout64.h ==> aout/aout64.h
+ ar.h ==> aout/ar.h
+ a.out.encap.h ==> aout/encap.h
+ a.out.host.h ==> aout/host.h
+ a.out.hp.h ==> aout/hp.h
+ a.out.sun4.h ==> aout/sun4.h
+ ranlib.h ==> aout/ranlib.h
+ reloc.h ==> aout/reloc.h
+ stab.def ==> aout/stab.def
+ stab.gnu.h ==> aout/stab_gnu.h
+
+ coff-a29k.h ==> coff/a29k.h
+ coff-h8300.h ==> coff/h8300.h
+ coff-i386.h ==> coff/i386.h
+ coff-i960.h ==> coff/i960.h
+ internalcoff.h ==> coff/internal.h
+ coff-m68k.h ==> coff/m68k.h
+ coff-m88k.h ==> coff/m88k.h
+ coff-mips.h ==> coff/mips.h
+ coff-rs6000.h ==> coff/rs6000.h
+
+ elf-common.h ==> elf/common.h
+ dwarf.h ==> elf/dwarf.h
+ elf-external.h ==> elf/external.h
+ elf-internal.h ==> elf/internal.h
+
+ a29k-opcode.h ==> opcode/a29k.h
+ arm-opcode.h ==> opcode/arm.h
+ h8300-opcode.h ==> opcode/h8300.h
+ i386-opcode.h ==> opcode/i386.h
+ i860-opcode.h ==> opcode/i860.h
+ i960-opcode.h ==> opcode/i960.h
+ m68k-opcode.h ==> opcode/m68k.h
+ m88k-opcode.h ==> opcode/m88k.h
+ mips-opcode.h ==> opcode/mips.h
+ np1-opcode.h ==> opcode/np1.h
+ ns32k-opcode.h ==> opcode/ns32k.h
+ pn-opcode.h ==> opcode/pn.h
+ pyr-opcode.h ==> opcode/pyr.h
+ sparc-opcode.h ==> opcode/sparc.h
+ tahoe-opcode.h ==> opcode/tahoe.h
+ vax-opcode.h ==> opcode/vax.h
+
+
+
+Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * internalcoff.h: (internal_scnhdr) took out #def dependency, now
+ s_nreloc and s_nlnno are always long. (internal_reloc): allways
+ has an offset field now.
+
+Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com)
+
+ * coff-rs6000.h: Lint; use unsigned chars for external fields.
+ * internalcoff.h: Lint; cast storage classes to signed char.
+
+Thu Nov 21 21:01:05 1991 Per Bothner (bothner at cygnus.com)
+
+ * stab.def: Remove the GNU extended type codes (e.g. N_SETT).
+ * aout64.h: The heuristic for distinguishing between
+ sunos-style and bsd-style ZMAGIC files (wrt. where the
+ text segment starts) is moved into (the default definition of)
+ the macro N_HEADER_IN_TEXT. This definition is only used
+ if no other definition is used - e.g. bfd/newsos3.c defines
+ N_HEADER_IN_TEXT(x) to be always 0 (as before).
+
+Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions
+ that should handle all uses. LOGICAL_ versions deleted.
+ Eliminate N_HEADER_IN_TEXT, using a_entry to determine which
+ kind of zmagic a.out file we are looking at.
+ * coff-rs6000.h: Typo.
+
+Tue Nov 19 18:43:37 1991 Per Bothner (bothner at cygnus.com)
+
+ (Note: This is a revised entry, as was aout64.h.)
+ * aout64.h: Some cleanups of N_TXTADDR and N_TXTOFF:
+ Will now work for both old- and new-style ZMAGIC files,
+ depending on N_HEADER_IN_TEXT macro.
+ Add LOGICAL_TXTADDR, LOICAL_TXTOFF and LOGICAL_TXTSIZE
+ that don't count the exec header as part
+ of the text segment, to be consistent with bfd.
+ * a.out.sun4.h: Simplified/fixed for previous change.
+
+Mon Nov 18 00:02:06 1991 Fred Fish (fnf at cygnus.com)
+
+ * dwarf.h: Update to DWARF draft 5 version from gcc2.
+
+Thu Nov 14 19:44:59 1991 Per Bothner (bothner at cygnus.com)
+
+ * stab.def: Added defs for extended GNU symbol types,
+ such as N_SETT. These are normally ifdef'd out (because
+ of conflicts with a.out.gnu.h), but are used by bfb_stab_name().
+
+Thu Nov 14 19:17:03 1991 Fred Fish (fnf at cygnus.com)
+
+ * elf-common.h: Add defines to support ELF symbol table code.
+
+Mon Nov 11 19:01:06 1991 Fred Fish (fnf at cygnus.com)
+
+ * elf-internal.h, elf-external.h, elf-common.h: Add support for
+ note sections, which are used in ELF core files to hold copies
+ of various /proc structures.
+
+Thu Nov 7 08:58:26 1991 Steve Chamberlain (sac at cygnus.com)
+
+ * internalcoff.h: took out the M88 dependency in the lineno
+ struct.
+ * coff-m88k.h: defines GET_LINENO_LNNO and PUT_LINENO_LNNO to use
+ 32bit linno entries.
+ * a29k-opcode.h: fixed encoding of mtacc
+
+Sun Nov 3 11:54:22 1991 Per Bothner (bothner at cygnus.com)
+
+ * bfd.h: Updated from ../bfd/bfd-in.h (q.v).
+
+Fri Nov 1 11:13:53 1991 John Gilmore (gnu at cygnus.com)
+
+ * internalcoff.h: Add x_csect defines.
+
+Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com)
+
+ * Rename COFF-related files in `coff-ARCH.h' form.
+ coff-a29k.h, coff-i386.h, coff-i960.h, coff-m68k.h, coff-m88k.h,
+ coff-mips.h, coff-rs6000.h to be exact.
+
+Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com)
+
+ RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
+ John Gilmore.
+
+ * a.out.gnu.h: Update slightly.
+ * bfd.h: Add new error code, fix doc, add bfd_arch_rs6000.
+ * internalcoff.h: Add more F_ codes for filehdr. Add
+ rs/6000-dependent fields to aouthdr. Add storage classes
+ to syments. Add 6000-specific auxent. Add r_size in reloc.
+ * rs6000coff.c: New file.
+
+Thu Oct 24 04:13:20 1991 Fred Fish (fnf at cygnus.com)
+
+ * dwarf.h: New file for dwarf support. Copied from gcc2
+ distribution.
+
+Wed Oct 16 13:31:45 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h: Remove PAGE_SIZE defines; they are target-dependent.
+ Add N_FN_SEQ for N_FN symbol type used on Sequent machines.
+ * stab.def: Include N_FN_SEQ in table.
+ * bout.h: External formats of structures use unsigned chars.
+
+Fri Oct 11 12:40:43 1991 Steve Chamberlain (steve at cygnus.com)
+
+ * bfd.h:upgrade from bfd.c
+ * internalcoff.h: add n_name, n_zeroes and n_offset macros
+ * amdcoff.h: Define OMAGIC and AOUTHDRSZ.
+
+Fri Oct 11 10:58:06 1991 Per Bothner (bothner at cygnus.com)
+
+ * a.out.host.h: Change SEGMENT_SIZE to 0x1000 for Sony.
+ * bfd.h (align_power): Add (actually move) comment.
+
+Tue Oct 8 15:29:32 1991 Per Bothner (bothner at cygnus.com)
+
+ * sys/h-rtbsd.h: Define MISSING_VFPRINT (for binutils/bucomm.c).
+
+Sun Oct 6 19:24:39 1991 John Gilmore (gnu at cygnus.com)
+
+ * aout64.h: Move struct internal_exec to ../bfd/libaout.h so
+ it can be shared by all `a.out-family' code. Rename
+ EXTERNAL_LIST_SIZE to EXTERNAL_NLIST_SIZE. Use basic types
+ for nlist members, and make strx integral rather than pointer.
+ More commentary on n_type values.
+ * bout.h: Provide a struct external_exec rather than an
+ internal_exec.
+ * m68kcoff.h: Remove `tagentries' which snuck in from the i960
+ COFF port.
+
+Fri Oct 4 01:25:59 1991 John Gilmore (gnu at cygnus.com)
+
+ * h8300-opcode.h: Remove `_enum' from the typedef for an enum.
+ * bfd.h: Update to match bfd changes.
+
+ * sys/h-i386mach.h, sysdep.h: Add 386 Mach host support.
+
+Tue Oct 1 04:58:42 1991 John Gilmore (gnu at cygnus.com)
+
+ * bfd.h, elf-common.h, elf-external.h, elf-internal.h:
+ Add preliminary ELF support, sufficient for GDB, from Fred Fish.
+ * sysdep.h, sys/h-amix.h: Support Amiga SVR4.
+
+ * sys/h-vaxult.h: Make it work. (David Taylor <taylor@think.com>)
+ * a.out.vax.h: Remove unused and confusing file.
+
+Mon Sep 30 12:52:35 1991 Per Bothner (bothner at cygnus.com)
+
+ * sysdep.h: Define NEWSOS3_SYS, and use it.
+
+Fri Sep 20 13:38:21 1991 John Gilmore (gnu at cygnus.com)
+
+ * a.out.gnu.h (N_FN): Its value *really is* 0x1F.
+ Fix it, and add comments warning about or-ing N_EXT with it
+ and/or N_WARNING.
+ * aout64.h (N_FN): Fix value, add comments about N_EXT.
+ * stab.def (table at end): Update to show all the type
+ values <0x20, including low order bits. Move N_FN to
+ its rightful place.
+
+Tue Sep 17 17:41:37 1991 Stu Grossman (grossman at cygnus.com)
+
+ * sys/h-irix3.h: sgi/irix support.
+
+Tue Sep 17 07:52:59 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * stab.def (N_DEFD): Add GNU Modula-2 debug stab, from Andrew
+ Beers.
+
+Thu Sep 12 14:12:59 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * internalcoff.h (SYMNMLEN, FILNMLEN, DIMNUM): Define these
+ for internalcoff, separately from the various external coff's.
+ * amdcoff.h, bcs88kcoff.h, i386coff.h, intel-coff.h, m68kcoff.h,
+ m88k-bcs.h: Prefix SYMNMLEN, FILNMLEN, and DIMNUM with E_'s for
+ the external struct definitions.
+ * ecoff.h: Remove these #define's, kludge no longer needed.
+
+ * sys/h-ultra3.h: Add new Ultracomputer host.
+ * sysdep.h: Add ULTRA3_SYM1_SYS and use it.
+
+Tue Sep 10 10:11:46 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * i386coff.h (LINESZ): Always 6, not based on sizeof().
+ (Fix from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.)
+
+Wed Sep 4 08:58:37 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * a.out.gnu.h, aout64.h: Add N_WARNING. Change N_FN to 0x0E,
+ to match SunOS and BSD. Add N_COMM as 0x12 for SunOS shared lib
+ support.
+ * stab.def: Add N_COMM to table, fix overlap comment.
+
+Tue Sep 3 06:29:20 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ Merge with latest FSF versions of these files.
+
+ * stab.gnu.h: Add LAST_UNUSED_STAB_CODE.
+ * stab.def: Update to GPL2. Move N_WARNING out, since not a
+ debug symbol. Change comments, and reorder table to numeric
+ order. Update final table comment.
+ (N_DSLINE, N_BSLINE): Renumber from 0x66 and 0x68, to 0x46 and 0x48.
+
+ * obstack.h: GPL2. Merge.
+
+Fri Aug 23 01:54:23 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * a.out.gnu.h, a.out.sun4.h: Make SEGMENT_SIZE able to depend
+ on the particular a.out being examined.
+ * a.out.sun4.h: Define segment sizes for Sun-3's and Sun-4's.
+ * FIXME: a.out.gnu.h is almost obsolete.
+ * FIXME: a.out.sun4.h should be renamed a.out.sun.h now.
+
+Wed Aug 21 20:32:13 1991 John Gilmore (gnu at cygint.cygnus.com)
+
+ * Start a ChangeLog for the includes directory.
+
+ * a.out.gnu.h (N_FN): Fix value -- was 15, should be 0x1E.
+ * stab.def: Update allocation table in comments at end,
+ to reflect reality as I know it.
+
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/include/aout/ChangeLog b/include/aout/ChangeLog
index 0d054eae3c..148a020e5c 100644
--- a/include/aout/ChangeLog
+++ b/include/aout/ChangeLog
@@ -1,3 +1,7 @@
+2004-01-06 Mark Kettenis <kettenis@gnu.org>
+
+ * stab.def: Add N_PATCH to DO definition.
+
2003-03-06 Elias Athanasopoulos <elathan@phys.uoa.gr>
* aout64.h (BYTES_IN_WORD): Define if necessary.
diff --git a/include/aout/stab.def b/include/aout/stab.def
index 67bde35f10..8188b845fc 100644
--- a/include/aout/stab.def
+++ b/include/aout/stab.def
@@ -1,20 +1,20 @@
/* Table of DBX symbol codes for the GNU system.
- Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998
+ Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998, 2004
Free Software Foundation, Inc.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* New stab from Solaris 2. This uses an n_type of 0, which in a.out files
overlaps the N_UNDF used for ordinary symbols. In ELF files, the
@@ -181,6 +181,9 @@ __define_stab (N_EXCL, 0xc2, "EXCL")
/* Modula-2 scope information. Can someone say what info it contains? */
__define_stab (N_SCOPE, 0xc4, "SCOPE")
+/* Solaris2: Patch Run Time Checker. */
+__define_stab (N_PATCH, 0xd0, "PATCH")
+
/* End of a lexical block. Desc matches the N_LBRAC's desc.
The value is the address of the end of the text for the block.
On Solaris2, the value is relative to the start of the current function. */
@@ -256,7 +259,7 @@ __define_stab (N_LENG, 0xfe, "LENG")
| B8 | BA | BC | BE |
| C0 LBRAC | C2 EXCL | C4 SCOPE | C6 |
| C8 | CA | CC | CE |
- | D0 | D2 | D4 | D6 |
+ | D0 PATCH | D2 | D4 | D6 |
| D8 | DA | DC | DE |
| E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 |
| E8 ECOML | EA WITH | EC | EE |
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index d18113d52e..3316383422 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,1160 +1,9 @@
-2003-12-02 Graham Reed <grahamr@algorithmics.com>
-
- * internal.h (C_WEAKEXT): Add alternative value for AIX 5.2
- based targets.
-
-2003-08-23 Jason Eckhardt <jle@rice.edu>
-
- * coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
- COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
- COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
- COFF860_R_BRADDR): Define new relocation constants and document.
- Minor formatting adjustments.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.
- (PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise.
- (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise.
- (GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise.
-
-2003-07-17 Jeff Muizelaar <muizelaar@rogers.com>
-
- * pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define.
- (IMAGE_FILE_MACHINE_WCEMIPSV2): Define.
- (IMAGE_FILE_MACHINE_SH3DSP): Define.
- (IMAGE_FILE_MACHINE_SH3E): Define.
- (IMAGE_FILE_MACHINE_SH5): Define.
- (IMAGE_FILE_MACHINE_AM33): Define.
- (IMAGE_FILE_MACHINE_POWERPCFP): Define.
- (IMAGE_FILE_MACHINE_AXP64): Define.
- (IMAGE_FILE_MACHINE_TRICORE): Define.
- (IMAGE_FILE_MACHINE_CEF): Define.
- (IMAGE_FILE_MACHINE_EBC): Define.
- (IMAGE_FILE_MACHINE_AMD64): Define.
- (IMAGE_FILE_MACHINE_M32R): Define.
- (IMAGE_FILE_MACHINE_CEE): Define.
-
-2003-07-14 Christian Groessler <chris@groessler.org>
-
- * i860.h (AOUTSZ): Define for i860 coff.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes.
-
- * ecoff.h: Convert to ISO C90 prototypes. Replace PTR by void *.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New.
- (H8300HNBADMAG, H8300SNBADMAG): New.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'.
- * h8300.h: Likewise.
- * h8500.h: Likewise.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm.h (ARM_NOTE_SECTION): Define.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * ecoff.h: Replace boolean with bfd_boolean.
- * xcoff.h: Likewise.
-
-2002-03-18 Tom Rix <trix@redhat.com>
-
- * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number.
-
-2002-02-01 Tom Rix <trix@redhat.com>
-
- * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
-
-2001-12-24 Tom Rix <trix@redhat.com>
-
- * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive
- format.
- (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for
- archive header ascii elements.
-
-2001-12-17 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Add .except and .typchk section string and styp flags.
- Fix xcoff_big_format_p macro.
-
-2001-12-16 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Clean up formatting.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (F_VFP_FLOAT): Define.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * ti.h: Move arch-specific stuff from here...
- (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol
- value.
- * tic54x.h: ...to here.
-
-2001-10-26 Christian Groessler <cpg@aladdin.de>
-
- * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16.
- (PUT_LINENO_LNNO): Likewise with H_PUT_32/16.
-
-2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
-
- * ti.h (GET_SCNHDR_PAGE): Fix compile time warning.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * external.h (GET_LINENO_LNNO): Use H_GET_32/16.
- (PUT_LINENO_LNNO): Use H_PUT_32/16.
- * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC,
- GET_SCN_NLINNO): Use H_GET_32.
- (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO):
- Use H_PUT_32.
- * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout.
- * xcoff.h: White space changes.
-
-2001-09-05 Tom Rix <trix@redhat.com>
-
- * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags.
-
-2001-08-27 Andreas Jaeger <aj@suse.de>
-
- * xcoff.h (struct __rtinit): Make proper prototype for rtl.
-
-Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com>
-
- * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix.
-
-2001-04-05 Tom Rix <trix@redhat.com>
-
- * rs6000.h : move xcoff32 external structures from xcofflink.
- * rs6k64.h : move xcoff64 external structures from xcofflink.
- * internal.h : promote 32 bit structure elements to 64 bit
- for xcoff64 support
- * xcoff.h : New file.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * a29k.h: Fix compile time warning.
- * external.h: Fix compile time warning.
- * m88k.h: Fix compile time warning.
-
-2001-03-13 Nick Clifton <nickc@redhat.com>
-
- * external.h: New file. Common structure definitions found in
- other COFF header files.
-
- * a29k.h: Use external.h.
- * apollo.h: Use external.h.
- * arm.h: Use external.h.
- * h8300.h: Use external.h.
- * h8500.h: Use external.h.
- * i386.h: Use external.h.
- * i860.h: Use external.h.
- * ia64.h: Use external.h.
- * m68k.h: Use external.h.
- * m88k.h: Use external.h.
- * mcore.h: Use external.h.
- * mips.h: Use external.h.
- * mipspe.h: Use external.h.
- * powerpc.h: Use external.h.
- * rs6000.h: Use external.h.
- * rs6k64.h: Use external.h.
- * sh.h: Use external.h.
- * sparc.h: Use external.h.
- * tic30.h: Use external.h.
- * tic80.h: Use external.h.
- * w65.h: Use external.h.
- * we32k.h: Use external.h.
- * z8k.h: Use external.h.
-
-2001-02-09 David Mosberger <davidm@hpl.hp.com>
-
- * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
- Rename from PEPAOUTHDR.
-
-2001-01-23 H.J. Lu <hjl@gnu.org>
-
- * pe.h (struct external_PEI_DOS_hdr): New.
- (struct external_PEI_IMAGE_hdr): New.
-
-2000-12-11 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error.
-
-2000-12-08 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning.
-
-2000-06-30 DJ Delorie <dj@cygnus.com>
-
- * pe.h: Clarify a comment.
-
-2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
-
- * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
-
-2000-04-24 Clinton Popetz <cpopetz@cygnus.com>
-
- * rs6k64.h: New file.
-
-2000-04-17 Timothy Wall <twall@cygnus.com>
-
- * ti.h: Load page cleanup.
- * intental.h: Add load page field.
-
-Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com>
-
- * pe.h (PEP64AOUTHDR): New header for PE+.
- (PEP64AOUTSZ): New macro.
- (IMAGE_SUBSYSTEM_UNKNOWN): New macro.
- (IMAGE_SUBSYSTEM_NATIVE): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto.
- (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto.
- (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto.
- (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto.
- (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto.
- (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto.
- * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined
- already.
- * ia64.h: New file.
-
-2000-04-13 Alan Modra <alan@linuxcare.com.au>
-
- * ti.h (ADDR_MASK): Don't use ul suffix on constants.
- (PG_MASK): Ditto.
-
-2000-04-11 Timothy Wall <twall@cygnus.com>
-
- * ti.h: Remove load page references until load pages are
- reimplemented.
- * tic54x.h: Ditto.
-
-2000-04-07 Timothy Wall <twall@cygnus.com>
-
- * internal.h: Fix some comments related to TI COFF (instead of tic80).
- * ti.h: New.
- * tic54x.h: New.
-
-Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
-
-2000-03-15 Kazu Hirata <kazu@hxi.com>
-
- * internal.h: Fix a typo in the comment for R_MOVL2.
-
-2000-02-28 Nick Clifton <nickc@cygnus.com>
-
- * mipspe.h (MIPS_PE_MAGIC): Define.
- * sh.h (SH_PE_MAGIC): Define.
-
-2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com>
-
- * sh.h: Add Windows CE definitions.
- * arm.h: Add Windows CE definitions.
- * mipspe.h: New file: Windows CE definitions for MIPS.
- * pe.h: Add constants for ILF support.
-
-2000-01-05 Nick Clifton <nickc@cygnus.com>
-
- * pe.h: Fix formatting of comments.
- (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define.
- (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define.
- (IMAGE_FILE_16BIT_MACHINE): Define.
- (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define.
- (IMAGE_FILE_UP_SYSTEM_ONLY): Define.
- (IMAGE_FILE_MACHINE_UNKNOWN): Define.
- (IMAGE_FILE_MACHINE_ALPHA): Define.
- (IMAGE_FILE_MACHINE_ALPHA64): Define.
- (IMAGE_FILE_MACHINE_I386): Define.
- (IMAGE_FILE_MACHINE_IA64): Define.
- (IMAGE_FILE_MACHINE_M68K): Define.
- (IMAGE_FILE_MACHINE_MIPS16): Define.
- (IMAGE_FILE_MACHINE_MIPSFPU): Define.
- (IMAGE_FILE_MACHINE_MIPSFPU16): Define.
- (IMAGE_FILE_MACHINE_POWERPC): Define.
- (IMAGE_FILE_MACHINE_R3000): Define.
- (IMAGE_FILE_MACHINE_R4000): Define.
- (IMAGE_FILE_MACHINE_R10000): Define.
- (IMAGE_FILE_MACHINE_SH3): Define.
- (IMAGE_FILE_MACHINE_SH4): Define.
- (IMAGE_FILE_MACHINE_THUMB): Define.
-
-1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and
- R_RELWORD, and rewrite some R_* as decimal.
-
-1999-09-06 Donn Terry <donn@interix.com>
-
- * internal.h (DTYPE): Define.
- * pe.h (struct external_PEI_filehdr): Rename from
- external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not
- defined.
-
-1999-07-17 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT.
-
-1999-06-21 Philip Blundell <pb@nexus.co.uk>
-
- * arm.h (F_SOFTFLOAT): Define.
-
-1999-07-05 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (F_ARM_5): Define.
-
-Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com>
-
- * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
-
-Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
-
- * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M,
- F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish
- F_ARM_2a, F_ARM_3M, F_ARM_4T.
-
-1999-05-15 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (IMAGE_REL_MCORE_RVA): Define.
-
-1999-04-21 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (GET_LINENO_LNNO): New macro.
- (PUT_LINENO_LNNO): New macro.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h: New header file. Defines for Motorola's MCore
- processor.
-
-Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net>
-
- * internal.h (C_WEAKEXT): Define.
-
-Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
-
- * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26):
- Changed values to avoid clashing with IMAGE_FILE_* coff header
- flag values.
-
-Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com>
-
- * internal.h: Document numbers associated with Thumb symbol
- types.
-
-Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long.
-
-Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
-
- * tic30.h: New file.
-
-Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative
- offsets.
-
-Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (COFFARM): New define.
-
-Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_SWITCH8): New.
-
-Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com>
-
- * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to
- define static and external functions.
-
- * arm.h: Add bits to support PIC and APCS-FLOAT type binaries,
- when implemented.
-
-Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (R_PPL16B): Make constant uppercase for consistency.
-
-Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
-
- * go32exe.h: New file.
-
-Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_TARGET_ID): Add define.
- * internal.h (struct internal_filehdr): Add f_target_id field.
-
-Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com>
-
- * internal.h: Add storage classes for Thumb symbols
-
-Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * tic80.h (R_PPL16B): Correct value.
-
-Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (constants): Added new flag bits F_APCS_26 and
- F_APCS_SET for the f_flags field of the filehdr structure. Added new
- flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
- information in the flags field of the internal_f structure used by BFD
- routines.
-
-Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com>
-
- * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM):
- New storage classes for TIc80.
-
-Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se>
-
- * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too.
- (ALPHA_R_LITERALSLEAZY): Define.
- * ecoff.h (ALPHA_MAGIC_BSD): Define.
-
-Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (R_IPR13, R_ALIGN): Define.
-
-Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
- from here...
- * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
-
-Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC.
-
-Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: New file for TIc80 support.
-
-Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * arm.h (_LIT): Define.
-
-Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * pe.h (FILHSZ): Define.
-
-Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ,
- AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of
- sizeof. Define AOUTHDRSZ in all files.
- * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ.
-
-Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: Add declarations for relocation types added for Alpha
- OSF/1 3.0.
-
-Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * h8300.h (H8300SMAGIC): Define.
- (H8300SBADMAG): Define.
-
-Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for
- relaxing in the H8/300 series.
-
-Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define.
-
-Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
- consistent with other similar relocs.
-
- * internal.h (H8/300 specific relocs): Add comments better
- explaining what each reloc is used for.
- (R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
- (R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
- (R_MOVL1, R_MOVL2): New relocs.
-
-Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_PCRWORD_B): Define for the h8300 relaxing
- linker.
-
-Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (SCNNMLEN): Define.
- (struct internal_scnhdr): Use SCNNMLEN for s_name field.
-
-Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * pe.h: Define IMAGE_COMDAT codes.
-
-Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * arm.h (union external_auxent): Add x_checksum, x_associated, and
- x_comdat fields to x_scn struct.
- * i386.h (union external_auxent): Likewise.
- * powerpc.h (union external_auxent): Likewise.
- * internal.h (union internal_auxent): Likewise.
-
-Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com>
-
- * ecoff.h (struct ecoff_find_line): Add caching fields.
-
-Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com)
-
- * internal.h (R_MEM_INDIRECT): New reloc for the h8300.
-
-Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
- systems which think that aux is a com port.
-
-Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (F_I960HX): Define.
-
-Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu>
-
- * aux.h: New file.
- * internal.h, m68k.h: Protect against multiple inclusion.
-
-Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
- (NUM_RELOC_SECTIONS): Update.
- * symconst.h (scRConst): Define.
-
-Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (C_NT_WEAK): Define.
-
-Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (STYP_OVRFLO): Define.
-
-Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com>
-
- * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
- * pe.h: Added defines for file level flags
-
-Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com>
-
- * i860.h: New file, based on i386.h.
-
-Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
-
- * m68k.h (PAGEMAGICEXECSWAPPED): Define.
- (PAGEMAGICPEXECSWAPPED): Define.
- (PAGEMAGICPEXECTSHLIB): Define.
- (PAGEMAGICPEXECPAGED): Define.
- (_COMMENT): DEFINE.
- * m88k.h (_COMMENT): Define.
-
-Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com>
-
- * sym.h: #if 0'd out runtime_pdr struct because it chokes
- Visual C++ and there aren't any references to it elsewhere in gdb.
-
-Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (SMALL_AOUTSZ): Define.
-
- * internal.h (XMC_TD): Define.
-
-Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct internal_aouthdr): Add o_cputype field.
- * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.
-
-Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments.
- (_PAD, _LOADER): Define.
- (STYP_LOADER): Define.
- * internal.h (struct internal_aouthdr): Add o_maxdata field.
-
-Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h: Define section name macros and STYP macros for various
- Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
- .comment, .liblist, .dynamic.
-
-Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com>
-
- * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
- * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- Also removed other unused defines (various MAGIC ones)
- * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
- * apollo.h: removed unused DEFAULT_* defines
- * alpha.h: removed unused DEFAULT_* defines
- * h8500.h: removed unused DEFAULT_* defines
- * h8300.h: removed unused DEFAULT_* defines
- * i960.h: removed unused DEFAULT_* defines
- * m88k.h: removed unused DEFAULT_* defines
- * we32k.h: removed unused DEFAULT_* defines
- * rs6000.h: removed unused DEFAULT_* defines
- * mips.h: removed unused DEFAULT_* defines
- * m68k.h: removed unused DEFAULT_* defines
- * z8k.h: removed unused DEFAULT_* defines
- * w65.h: removed unused DEFAULT_* defines
- * sparc.h: removed unused DEFAULT_* defines
- * sh.h: removed unused DEFAULT_* defines
-
-Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com>
-
- * powerpc.h: Reformatted to GNU coding conventions.
-
-Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie>
-
- * pe.h: added defines for more section characteristics
- * powerpc.h (new file): base coff definitions for ppc PE
-
-Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct internal_syment): Change n_numaux field from
- char to unsigned char.
-
-Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
-
- * mips.h (struct rpdr_ext): Define.
-
-Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * internal.h (internal_aouthdr, internal_filehdr):
- don't indirect the pe stuff.
-
-Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
- as 'the other' compiler.
- * internal.h (NT_IMAGE_BASE): Deleted.
- (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
- (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
- (R_IMAGEBASE): New.
-
-Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com>
-
- * internal.h: (internal_filehdr): Moved PE stuff into
- internal_extra_pe_filehdr.
- (internal_aouthdr): Moved PE stuff into
- interanl_extra_pe_aouthdr.
-
-Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h: Move R_SH_* relocs from here...
- * sh.h: ...to here.
- (R_SH_SWITCH16, R_SH_SWITCH32): Define.
- (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.
-
-Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.
-
-Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * internal.h (NT_subsystem, NT_stack_heap): Delete
-
-Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * internal.h (NT_subsystem, NT_stack_heap): Now extern.
-
-Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
-
- * pe.h: New file.
- * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
- NT_DEF_RESERVE, NT_DEF_COMMIT): New.
- * internal.h (internal_filehdr): New fields for PE.
- (IMAGE_DATA_DIRECTORY): New.
- (internal_aouthdr): New fields for PE.
-
-Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * ecoff.h (struct ecoff_fdrtab_entry): Define.
- (struct ecoff_find_line): Define.
-
-Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
-
- * sym.h (struct pdr): field "prof" added.
-
- * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
- updated accordingly.
-
-Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat>
-
- * w65.h: New file.
-
-Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
-
- * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
- (SHBADMAG): Changed to suit.
-
-Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i960.h (F_I960JX): New macro.
-
-Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * alpha.h: Add definitions for alpha file header flags, encoding
- the object type of the file.
-
-Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * ecoff.h (ecoff_swap_tir_in): Remove declaration.
- (ecoff_swap_tir_out): Likewise.
- (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
- (struct ecoff_debug_swap): Add new fields: swap_tir_in,
- swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.
-
-Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * symconst.h: Pick up SGI define for stIndirect.
-
-Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (REGINFO): Don't define.
- (struct ecoff_reginfo): Don't define.
-
- * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by
- several targets to mean a shared library.
- (SHBADMAG): Corresponding change.
-
-Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
- (RELOC_BITS3_TYPEHI_LITTLE): Define.
- (RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
- (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
- (MIPS_R_RELHI): Define.
- (MIPS_R_RELLO): Define.
- (MIPS_R_SWITCH): Change value from 9 to 22.
-
-Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (MIPS_R_SWITCH): Define.
-
-Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * internal.h (internal_aouthdr): Added comments for Apollo fields.
-
-Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
-
-Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_info): Add adjust field.
- (struct ecoff_value_adjust): Define.
-
-Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (MIPS_R_PCREL16): Define.
-
-Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff.h: Add casts to avoid warnings from SVR4 cc.
-
-Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
-
- * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
- long.
- (SYMR): Make field value bfd_vma, not long.
-
-Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * rs6000.h (STYP_DEBUG): Define.
-
-Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * internal.h (union internal_auxent): Change x_csect.x_scnlen into
- a union of a long and a pointer to a symbol. XCOFF sometimes uses
- this field as a symbol index.
-
-Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (ecoff_debug_info): Remove fields line_end,
- external_dnr_end, external_pdr_end, external_sym_end,
- external_opt_end, external_aux_end, ss_end, external_fdr_end.
- Replace ifdbase with ifdmap.
-
-Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com)
-
- * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
- Define.
-
-Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (NUM_RELOC_SECTIONS): Define.
-
-Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
-
- * sparc.h (struct external_reloc): Rename field r_addend to
- r_offset.
-
-Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h (R_DISP7, R_SH_IMM16): New reloc types.
-
-Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
- the symbolic information pointers.
-
- * sym.h: Named the EXTR structure ecoff_extr.
-
-Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com)
-
- * sparc.h (RELSZ): Use correct size.
-
-Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (struct ecoff_debug_info): Define.
-
-Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (struct ecoff_debug_swap): Define.
-
-Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com)
-
- * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
- * m68k.h (LYNXCOFFMAGIC): Define.
- * sparc.h: New file.
-
-Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * alpha.h (external_aouthdr): Split four byte padding field into
- two byte bldrev field and two byte padding field.
-
- * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.
-
-Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com)
-
- Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au)
-
- * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well
- as R_DIR16.
-
- * apollo.h: New file
-
-Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (REGINFO, struct ecoff_reginfo): Define.
-
-Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * rs6000.h: Change non-ASCII characters in comment to octal
- escapes.
-
-Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section.
-
-Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
- * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
-
-Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
- * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
-
-Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com)
-
- * sym.h, symconst.h: Add comment stating these files are not part
- of GDB, GAS, etc. In 1991, when we asked rms whether we could
- include these files in GDB (although they are copyrighted by
- someone besides the FSF), he said it was OK if they were not
- considered part of GDB.
-
-Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.
-
- * alpha.c (external_aouthdr): Need four bytes of padding between
- vstamp and tsize.
-
-Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
- change in bfd swapping routine names.
-
-Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
- changes.
-
-Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff.h (RELOC_SECTION_NONE): Define.
-
-Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * alpha.h (struct external_reloc): Add r_symndx field.
- (RELSZ): Correct.
- (RELOC_BITS*): Correct.
- (ALPHA_R_*): Define.
- * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
- (r_extern): Undefine.
- * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
- than long. Add r_extern field.
-
- * alpha.h (PDR_BITS*): Define.
- * sym.h (PDR): Give correct names to new fields.
-
- * ecoff.h: Moved MIPS reloc definitions from here...
- * mips.h: to here.
-
-Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com)
-
- * i386.h: Add Lynx magic number.
-
-Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * alpha.h: Corrected external symbolic debugging structures to
- match actual usage.
- * internal.h (internal_filehdr, internal_aouthdr,
- internal_scnhdr): Changed type of some fields to bfd_vma so they
- can hold 64 bits.
- * sym.h (HDRR, FDR, PDR, EXTR): Likewise.
- (PDR): Added new fields found on Alpha.
- * symconst.h (magicSym2): Define; new value found on Alpha.
-
- * ecoff.h: New file.
- * alpha.h, mips.h: Moved common information into ecoff.h. Moved
- external structure definitions in from ecoff-ext.h.
- * ecoff-ext.h: Removed; information now in alpha.h and mips.h.
-
-Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
-
- * i386.h: Recognize I386PTXMAGIC.
-
-Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.
-
-Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
- ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.
-
-Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * m68k.h: Define MC68KBCSMAGIC.
-
-Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
- (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.
-
-Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (OMAGIC): Define.
-
-Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- Support for H8/300-H
- * h8300.h: New magic number.
- * internal.h: New relocations.
-
-Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h, sh.h: Support for SH.
-
-Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * a29k.h: Define _LIT.
-
-Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * alpha.h: New file.
-
-Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
- * m88k.h, i386.h, we32k.h: Don't define all the storage classes;
- they're already in internal.h.
-
-Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * internal.h: Change n_sclass to unsigned char.
- Change C_EFCN to 0xff, change RS/6000 dbx symbols
- to no longer be signed.
-
-Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: Add H8/500 reloc types.
-
-Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
- conditional expression.
-
-Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
- (AUX_PUT_*): New macros corresponding to the AUX_GET macros.
- (ecoff_swap_tir_out): Added prototype.
-
- * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
- are needed to interpret gcc debugging output.
-
-Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
- more definitions duplicated in internal.h.
-
-Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.
-
-Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * internal.h (internal_aouthdr): Added additional fields used only
- by MIPS ECOFF.
-
-Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h (AOUTHDR): Added additional fields used by ECOFF.
-
-Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
- duplicated in internal.h.
-
- * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
- relocs.
-
-Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
- (opt_ext): New structure.
- * mips.h (ZMAGIC): Defined to be 0413.
- (_LIB): Defined to be ".lib"
- (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added
- macros to aid in swapping.
-
-Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ecoff-ext.h: Added prototypes for ECOFF swapping functions.
- * internal.h (internal_scnhdr): Always provide s_align field, not
- just on i960.
- (internal_reloc): Always provide r_size field, not just on
- RS/6000.
- * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
- STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
- (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
- STABS_SYMBOL): Moved in from gdb/mipsread.c.
-
-Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h, we32k.h: removed STYP_* defines, since they duplicated
- those in internal.h.
-
-Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.
-
-Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
- are defined in internal.h.
-
-Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: (internal_reloc): r_offset is now a long.
- * z8k.h: slight comment enhancement
-
-Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: changed z8k reloc types
-
-Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * we32k.h: new file
-
-Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com)
-
- * symconst.h: comment out cruft at the end of #endif
-
-Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: added #define for STYP_LIT, removed from a29k and
- h8300.
-
- * z8k.h: added z8000 support
-
-Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * internal.h: added R_RELLONG_NEG reloc type
-
-Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com)
-
- * symconst.h: Fix unterminated comment.
-
-Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * i386.h: a.out magic numbers from
- mohring@informatik.tu-muenchen.de
-
-Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h, mips.h: Use unsigned chars everywhere.
- (Suggested by Antti Miettinen.)
-
-Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com)
-
- * sym.h: Add comments.
- * symconst.h: Merge with Fred's changes.
-
-Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com)
-
- * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum,
- langCplusplus, and langCplusplusV2.
-
-Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com)
-
- * sym.h, symconst.h: MIPS has provided redistributable versions
- of these files. Thanks!
- * ecoff-ext.h: Add weakext bit to match new sym.h.
-
-Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h: Add relative file descriptors.
-
-Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com)
-
- * ecoff-ext.h: New file for external (in-file) form of ecoff
- symbol structures.
-
-Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * h8300.h: made the external_lineno l_lnno field 4 bytes wide.
- andded GET/PUT_LINENO_LNNO macros
-
-Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h,
- mips.h, rs6000.h: Move from above coff-<foo>.h.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/coff/ChangeLog-9103 b/include/coff/ChangeLog-9103
new file mode 100644
index 0000000000..d18113d52e
--- /dev/null
+++ b/include/coff/ChangeLog-9103
@@ -0,0 +1,1160 @@
+2003-12-02 Graham Reed <grahamr@algorithmics.com>
+
+ * internal.h (C_WEAKEXT): Add alternative value for AIX 5.2
+ based targets.
+
+2003-08-23 Jason Eckhardt <jle@rice.edu>
+
+ * coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
+ COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
+ COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
+ COFF860_R_BRADDR): Define new relocation constants and document.
+ Minor formatting adjustments.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.
+ (PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise.
+ (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise.
+ (GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise.
+
+2003-07-17 Jeff Muizelaar <muizelaar@rogers.com>
+
+ * pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define.
+ (IMAGE_FILE_MACHINE_WCEMIPSV2): Define.
+ (IMAGE_FILE_MACHINE_SH3DSP): Define.
+ (IMAGE_FILE_MACHINE_SH3E): Define.
+ (IMAGE_FILE_MACHINE_SH5): Define.
+ (IMAGE_FILE_MACHINE_AM33): Define.
+ (IMAGE_FILE_MACHINE_POWERPCFP): Define.
+ (IMAGE_FILE_MACHINE_AXP64): Define.
+ (IMAGE_FILE_MACHINE_TRICORE): Define.
+ (IMAGE_FILE_MACHINE_CEF): Define.
+ (IMAGE_FILE_MACHINE_EBC): Define.
+ (IMAGE_FILE_MACHINE_AMD64): Define.
+ (IMAGE_FILE_MACHINE_M32R): Define.
+ (IMAGE_FILE_MACHINE_CEE): Define.
+
+2003-07-14 Christian Groessler <chris@groessler.org>
+
+ * i860.h (AOUTSZ): Define for i860 coff.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes.
+
+ * ecoff.h: Convert to ISO C90 prototypes. Replace PTR by void *.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New.
+ (H8300HNBADMAG, H8300SNBADMAG): New.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+ * h8300.h: Likewise.
+ * h8500.h: Likewise.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm.h (ARM_NOTE_SECTION): Define.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * ecoff.h: Replace boolean with bfd_boolean.
+ * xcoff.h: Likewise.
+
+2002-03-18 Tom Rix <trix@redhat.com>
+
+ * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number.
+
+2002-02-01 Tom Rix <trix@redhat.com>
+
+ * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+
+2001-12-24 Tom Rix <trix@redhat.com>
+
+ * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive
+ format.
+ (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for
+ archive header ascii elements.
+
+2001-12-17 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Add .except and .typchk section string and styp flags.
+ Fix xcoff_big_format_p macro.
+
+2001-12-16 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Clean up formatting.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (F_VFP_FLOAT): Define.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * ti.h: Move arch-specific stuff from here...
+ (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol
+ value.
+ * tic54x.h: ...to here.
+
+2001-10-26 Christian Groessler <cpg@aladdin.de>
+
+ * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16.
+ (PUT_LINENO_LNNO): Likewise with H_PUT_32/16.
+
+2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * ti.h (GET_SCNHDR_PAGE): Fix compile time warning.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * external.h (GET_LINENO_LNNO): Use H_GET_32/16.
+ (PUT_LINENO_LNNO): Use H_PUT_32/16.
+ * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC,
+ GET_SCN_NLINNO): Use H_GET_32.
+ (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO):
+ Use H_PUT_32.
+ * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout.
+ * xcoff.h: White space changes.
+
+2001-09-05 Tom Rix <trix@redhat.com>
+
+ * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags.
+
+2001-08-27 Andreas Jaeger <aj@suse.de>
+
+ * xcoff.h (struct __rtinit): Make proper prototype for rtl.
+
+Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix.
+
+2001-04-05 Tom Rix <trix@redhat.com>
+
+ * rs6000.h : move xcoff32 external structures from xcofflink.
+ * rs6k64.h : move xcoff64 external structures from xcofflink.
+ * internal.h : promote 32 bit structure elements to 64 bit
+ for xcoff64 support
+ * xcoff.h : New file.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * a29k.h: Fix compile time warning.
+ * external.h: Fix compile time warning.
+ * m88k.h: Fix compile time warning.
+
+2001-03-13 Nick Clifton <nickc@redhat.com>
+
+ * external.h: New file. Common structure definitions found in
+ other COFF header files.
+
+ * a29k.h: Use external.h.
+ * apollo.h: Use external.h.
+ * arm.h: Use external.h.
+ * h8300.h: Use external.h.
+ * h8500.h: Use external.h.
+ * i386.h: Use external.h.
+ * i860.h: Use external.h.
+ * ia64.h: Use external.h.
+ * m68k.h: Use external.h.
+ * m88k.h: Use external.h.
+ * mcore.h: Use external.h.
+ * mips.h: Use external.h.
+ * mipspe.h: Use external.h.
+ * powerpc.h: Use external.h.
+ * rs6000.h: Use external.h.
+ * rs6k64.h: Use external.h.
+ * sh.h: Use external.h.
+ * sparc.h: Use external.h.
+ * tic30.h: Use external.h.
+ * tic80.h: Use external.h.
+ * w65.h: Use external.h.
+ * we32k.h: Use external.h.
+ * z8k.h: Use external.h.
+
+2001-02-09 David Mosberger <davidm@hpl.hp.com>
+
+ * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
+ Rename from PEPAOUTHDR.
+
+2001-01-23 H.J. Lu <hjl@gnu.org>
+
+ * pe.h (struct external_PEI_DOS_hdr): New.
+ (struct external_PEI_IMAGE_hdr): New.
+
+2000-12-11 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error.
+
+2000-12-08 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning.
+
+2000-06-30 DJ Delorie <dj@cygnus.com>
+
+ * pe.h: Clarify a comment.
+
+2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
+
+ * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
+
+2000-04-24 Clinton Popetz <cpopetz@cygnus.com>
+
+ * rs6k64.h: New file.
+
+2000-04-17 Timothy Wall <twall@cygnus.com>
+
+ * ti.h: Load page cleanup.
+ * intental.h: Add load page field.
+
+Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com>
+
+ * pe.h (PEP64AOUTHDR): New header for PE+.
+ (PEP64AOUTSZ): New macro.
+ (IMAGE_SUBSYSTEM_UNKNOWN): New macro.
+ (IMAGE_SUBSYSTEM_NATIVE): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto.
+ (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto.
+ (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto.
+ (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto.
+ * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined
+ already.
+ * ia64.h: New file.
+
+2000-04-13 Alan Modra <alan@linuxcare.com.au>
+
+ * ti.h (ADDR_MASK): Don't use ul suffix on constants.
+ (PG_MASK): Ditto.
+
+2000-04-11 Timothy Wall <twall@cygnus.com>
+
+ * ti.h: Remove load page references until load pages are
+ reimplemented.
+ * tic54x.h: Ditto.
+
+2000-04-07 Timothy Wall <twall@cygnus.com>
+
+ * internal.h: Fix some comments related to TI COFF (instead of tic80).
+ * ti.h: New.
+ * tic54x.h: New.
+
+Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
+
+2000-03-15 Kazu Hirata <kazu@hxi.com>
+
+ * internal.h: Fix a typo in the comment for R_MOVL2.
+
+2000-02-28 Nick Clifton <nickc@cygnus.com>
+
+ * mipspe.h (MIPS_PE_MAGIC): Define.
+ * sh.h (SH_PE_MAGIC): Define.
+
+2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com>
+
+ * sh.h: Add Windows CE definitions.
+ * arm.h: Add Windows CE definitions.
+ * mipspe.h: New file: Windows CE definitions for MIPS.
+ * pe.h: Add constants for ILF support.
+
+2000-01-05 Nick Clifton <nickc@cygnus.com>
+
+ * pe.h: Fix formatting of comments.
+ (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define.
+ (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define.
+ (IMAGE_FILE_16BIT_MACHINE): Define.
+ (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define.
+ (IMAGE_FILE_UP_SYSTEM_ONLY): Define.
+ (IMAGE_FILE_MACHINE_UNKNOWN): Define.
+ (IMAGE_FILE_MACHINE_ALPHA): Define.
+ (IMAGE_FILE_MACHINE_ALPHA64): Define.
+ (IMAGE_FILE_MACHINE_I386): Define.
+ (IMAGE_FILE_MACHINE_IA64): Define.
+ (IMAGE_FILE_MACHINE_M68K): Define.
+ (IMAGE_FILE_MACHINE_MIPS16): Define.
+ (IMAGE_FILE_MACHINE_MIPSFPU): Define.
+ (IMAGE_FILE_MACHINE_MIPSFPU16): Define.
+ (IMAGE_FILE_MACHINE_POWERPC): Define.
+ (IMAGE_FILE_MACHINE_R3000): Define.
+ (IMAGE_FILE_MACHINE_R4000): Define.
+ (IMAGE_FILE_MACHINE_R10000): Define.
+ (IMAGE_FILE_MACHINE_SH3): Define.
+ (IMAGE_FILE_MACHINE_SH4): Define.
+ (IMAGE_FILE_MACHINE_THUMB): Define.
+
+1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and
+ R_RELWORD, and rewrite some R_* as decimal.
+
+1999-09-06 Donn Terry <donn@interix.com>
+
+ * internal.h (DTYPE): Define.
+ * pe.h (struct external_PEI_filehdr): Rename from
+ external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not
+ defined.
+
+1999-07-17 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT.
+
+1999-06-21 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.h (F_SOFTFLOAT): Define.
+
+1999-07-05 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (F_ARM_5): Define.
+
+Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com>
+
+ * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
+
+Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
+
+ * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M,
+ F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish
+ F_ARM_2a, F_ARM_3M, F_ARM_4T.
+
+1999-05-15 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (IMAGE_REL_MCORE_RVA): Define.
+
+1999-04-21 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (GET_LINENO_LNNO): New macro.
+ (PUT_LINENO_LNNO): New macro.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h: New header file. Defines for Motorola's MCore
+ processor.
+
+Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net>
+
+ * internal.h (C_WEAKEXT): Define.
+
+Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
+
+ * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26):
+ Changed values to avoid clashing with IMAGE_FILE_* coff header
+ flag values.
+
+Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h: Document numbers associated with Thumb symbol
+ types.
+
+Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long.
+
+Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * tic30.h: New file.
+
+Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative
+ offsets.
+
+Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (COFFARM): New define.
+
+Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_SWITCH8): New.
+
+Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to
+ define static and external functions.
+
+ * arm.h: Add bits to support PIC and APCS-FLOAT type binaries,
+ when implemented.
+
+Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (R_PPL16B): Make constant uppercase for consistency.
+
+Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+ * go32exe.h: New file.
+
+Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_TARGET_ID): Add define.
+ * internal.h (struct internal_filehdr): Add f_target_id field.
+
+Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com>
+
+ * internal.h: Add storage classes for Thumb symbols
+
+Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * tic80.h (R_PPL16B): Correct value.
+
+Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (constants): Added new flag bits F_APCS_26 and
+ F_APCS_SET for the f_flags field of the filehdr structure. Added new
+ flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
+ information in the flags field of the internal_f structure used by BFD
+ routines.
+
+Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com>
+
+ * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM):
+ New storage classes for TIc80.
+
+Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se>
+
+ * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too.
+ (ALPHA_R_LITERALSLEAZY): Define.
+ * ecoff.h (ALPHA_MAGIC_BSD): Define.
+
+Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (R_IPR13, R_ALIGN): Define.
+
+Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
+ from here...
+ * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
+
+Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC.
+
+Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: New file for TIc80 support.
+
+Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * arm.h (_LIT): Define.
+
+Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * pe.h (FILHSZ): Define.
+
+Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ,
+ AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of
+ sizeof. Define AOUTHDRSZ in all files.
+ * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ.
+
+Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: Add declarations for relocation types added for Alpha
+ OSF/1 3.0.
+
+Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * h8300.h (H8300SMAGIC): Define.
+ (H8300SBADMAG): Define.
+
+Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for
+ relaxing in the H8/300 series.
+
+Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define.
+
+Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
+ consistent with other similar relocs.
+
+ * internal.h (H8/300 specific relocs): Add comments better
+ explaining what each reloc is used for.
+ (R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
+ (R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
+ (R_MOVL1, R_MOVL2): New relocs.
+
+Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_PCRWORD_B): Define for the h8300 relaxing
+ linker.
+
+Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (SCNNMLEN): Define.
+ (struct internal_scnhdr): Use SCNNMLEN for s_name field.
+
+Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * pe.h: Define IMAGE_COMDAT codes.
+
+Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * arm.h (union external_auxent): Add x_checksum, x_associated, and
+ x_comdat fields to x_scn struct.
+ * i386.h (union external_auxent): Likewise.
+ * powerpc.h (union external_auxent): Likewise.
+ * internal.h (union internal_auxent): Likewise.
+
+Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com>
+
+ * ecoff.h (struct ecoff_find_line): Add caching fields.
+
+Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com)
+
+ * internal.h (R_MEM_INDIRECT): New reloc for the h8300.
+
+Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
+ systems which think that aux is a com port.
+
+Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (F_I960HX): Define.
+
+Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu>
+
+ * aux.h: New file.
+ * internal.h, m68k.h: Protect against multiple inclusion.
+
+Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
+ (NUM_RELOC_SECTIONS): Update.
+ * symconst.h (scRConst): Define.
+
+Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (C_NT_WEAK): Define.
+
+Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (STYP_OVRFLO): Define.
+
+Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com>
+
+ * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
+ * pe.h: Added defines for file level flags
+
+Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com>
+
+ * i860.h: New file, based on i386.h.
+
+Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
+
+ * m68k.h (PAGEMAGICEXECSWAPPED): Define.
+ (PAGEMAGICPEXECSWAPPED): Define.
+ (PAGEMAGICPEXECTSHLIB): Define.
+ (PAGEMAGICPEXECPAGED): Define.
+ (_COMMENT): DEFINE.
+ * m88k.h (_COMMENT): Define.
+
+Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com>
+
+ * sym.h: #if 0'd out runtime_pdr struct because it chokes
+ Visual C++ and there aren't any references to it elsewhere in gdb.
+
+Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (SMALL_AOUTSZ): Define.
+
+ * internal.h (XMC_TD): Define.
+
+Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct internal_aouthdr): Add o_cputype field.
+ * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.
+
+Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments.
+ (_PAD, _LOADER): Define.
+ (STYP_LOADER): Define.
+ * internal.h (struct internal_aouthdr): Add o_maxdata field.
+
+Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h: Define section name macros and STYP macros for various
+ Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
+ .comment, .liblist, .dynamic.
+
+Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com>
+
+ * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
+ * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ Also removed other unused defines (various MAGIC ones)
+ * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+ * apollo.h: removed unused DEFAULT_* defines
+ * alpha.h: removed unused DEFAULT_* defines
+ * h8500.h: removed unused DEFAULT_* defines
+ * h8300.h: removed unused DEFAULT_* defines
+ * i960.h: removed unused DEFAULT_* defines
+ * m88k.h: removed unused DEFAULT_* defines
+ * we32k.h: removed unused DEFAULT_* defines
+ * rs6000.h: removed unused DEFAULT_* defines
+ * mips.h: removed unused DEFAULT_* defines
+ * m68k.h: removed unused DEFAULT_* defines
+ * z8k.h: removed unused DEFAULT_* defines
+ * w65.h: removed unused DEFAULT_* defines
+ * sparc.h: removed unused DEFAULT_* defines
+ * sh.h: removed unused DEFAULT_* defines
+
+Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com>
+
+ * powerpc.h: Reformatted to GNU coding conventions.
+
+Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie>
+
+ * pe.h: added defines for more section characteristics
+ * powerpc.h (new file): base coff definitions for ppc PE
+
+Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct internal_syment): Change n_numaux field from
+ char to unsigned char.
+
+Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
+
+ * mips.h (struct rpdr_ext): Define.
+
+Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * internal.h (internal_aouthdr, internal_filehdr):
+ don't indirect the pe stuff.
+
+Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
+ as 'the other' compiler.
+ * internal.h (NT_IMAGE_BASE): Deleted.
+ (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
+ (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
+ (R_IMAGEBASE): New.
+
+Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * internal.h: (internal_filehdr): Moved PE stuff into
+ internal_extra_pe_filehdr.
+ (internal_aouthdr): Moved PE stuff into
+ interanl_extra_pe_aouthdr.
+
+Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h: Move R_SH_* relocs from here...
+ * sh.h: ...to here.
+ (R_SH_SWITCH16, R_SH_SWITCH32): Define.
+ (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.
+
+Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.
+
+Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * internal.h (NT_subsystem, NT_stack_heap): Delete
+
+Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * internal.h (NT_subsystem, NT_stack_heap): Now extern.
+
+Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * pe.h: New file.
+ * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
+ NT_DEF_RESERVE, NT_DEF_COMMIT): New.
+ * internal.h (internal_filehdr): New fields for PE.
+ (IMAGE_DATA_DIRECTORY): New.
+ (internal_aouthdr): New fields for PE.
+
+Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * ecoff.h (struct ecoff_fdrtab_entry): Define.
+ (struct ecoff_find_line): Define.
+
+Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu>
+
+ * sym.h (struct pdr): field "prof" added.
+
+ * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
+ updated accordingly.
+
+Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat>
+
+ * w65.h: New file.
+
+Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
+ (SHBADMAG): Changed to suit.
+
+Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i960.h (F_I960JX): New macro.
+
+Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * alpha.h: Add definitions for alpha file header flags, encoding
+ the object type of the file.
+
+Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * ecoff.h (ecoff_swap_tir_in): Remove declaration.
+ (ecoff_swap_tir_out): Likewise.
+ (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
+ (struct ecoff_debug_swap): Add new fields: swap_tir_in,
+ swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.
+
+Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * symconst.h: Pick up SGI define for stIndirect.
+
+Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (REGINFO): Don't define.
+ (struct ecoff_reginfo): Don't define.
+
+ * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by
+ several targets to mean a shared library.
+ (SHBADMAG): Corresponding change.
+
+Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
+ (RELOC_BITS3_TYPEHI_LITTLE): Define.
+ (RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
+ (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
+ (MIPS_R_RELHI): Define.
+ (MIPS_R_RELLO): Define.
+ (MIPS_R_SWITCH): Change value from 9 to 22.
+
+Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (MIPS_R_SWITCH): Define.
+
+Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * internal.h (internal_aouthdr): Added comments for Apollo fields.
+
+Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
+
+Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_info): Add adjust field.
+ (struct ecoff_value_adjust): Define.
+
+Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (MIPS_R_PCREL16): Define.
+
+Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff.h: Add casts to avoid warnings from SVR4 cc.
+
+Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com)
+
+ * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
+ long.
+ (SYMR): Make field value bfd_vma, not long.
+
+Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * rs6000.h (STYP_DEBUG): Define.
+
+Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * internal.h (union internal_auxent): Change x_csect.x_scnlen into
+ a union of a long and a pointer to a symbol. XCOFF sometimes uses
+ this field as a symbol index.
+
+Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (ecoff_debug_info): Remove fields line_end,
+ external_dnr_end, external_pdr_end, external_sym_end,
+ external_opt_end, external_aux_end, ss_end, external_fdr_end.
+ Replace ifdbase with ifdmap.
+
+Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
+ Define.
+
+Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (NUM_RELOC_SECTIONS): Define.
+
+Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
+
+ * sparc.h (struct external_reloc): Rename field r_addend to
+ r_offset.
+
+Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h (R_DISP7, R_SH_IMM16): New reloc types.
+
+Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
+ the symbolic information pointers.
+
+ * sym.h: Named the EXTR structure ecoff_extr.
+
+Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com)
+
+ * sparc.h (RELSZ): Use correct size.
+
+Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (struct ecoff_debug_info): Define.
+
+Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (struct ecoff_debug_swap): Define.
+
+Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com)
+
+ * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
+ * m68k.h (LYNXCOFFMAGIC): Define.
+ * sparc.h: New file.
+
+Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * alpha.h (external_aouthdr): Split four byte padding field into
+ two byte bldrev field and two byte padding field.
+
+ * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.
+
+Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au)
+
+ * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well
+ as R_DIR16.
+
+ * apollo.h: New file
+
+Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (REGINFO, struct ecoff_reginfo): Define.
+
+Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * rs6000.h: Change non-ASCII characters in comment to octal
+ escapes.
+
+Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section.
+
+Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+ * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+
+Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+ * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+
+Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com)
+
+ * sym.h, symconst.h: Add comment stating these files are not part
+ of GDB, GAS, etc. In 1991, when we asked rms whether we could
+ include these files in GDB (although they are copyrighted by
+ someone besides the FSF), he said it was OK if they were not
+ considered part of GDB.
+
+Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.
+
+ * alpha.c (external_aouthdr): Need four bytes of padding between
+ vstamp and tsize.
+
+Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
+ change in bfd swapping routine names.
+
+Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
+ changes.
+
+Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff.h (RELOC_SECTION_NONE): Define.
+
+Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * alpha.h (struct external_reloc): Add r_symndx field.
+ (RELSZ): Correct.
+ (RELOC_BITS*): Correct.
+ (ALPHA_R_*): Define.
+ * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
+ (r_extern): Undefine.
+ * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
+ than long. Add r_extern field.
+
+ * alpha.h (PDR_BITS*): Define.
+ * sym.h (PDR): Give correct names to new fields.
+
+ * ecoff.h: Moved MIPS reloc definitions from here...
+ * mips.h: to here.
+
+Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com)
+
+ * i386.h: Add Lynx magic number.
+
+Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * alpha.h: Corrected external symbolic debugging structures to
+ match actual usage.
+ * internal.h (internal_filehdr, internal_aouthdr,
+ internal_scnhdr): Changed type of some fields to bfd_vma so they
+ can hold 64 bits.
+ * sym.h (HDRR, FDR, PDR, EXTR): Likewise.
+ (PDR): Added new fields found on Alpha.
+ * symconst.h (magicSym2): Define; new value found on Alpha.
+
+ * ecoff.h: New file.
+ * alpha.h, mips.h: Moved common information into ecoff.h. Moved
+ external structure definitions in from ecoff-ext.h.
+ * ecoff-ext.h: Removed; information now in alpha.h and mips.h.
+
+Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
+
+ * i386.h: Recognize I386PTXMAGIC.
+
+Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.
+
+Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
+ ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.
+
+Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * m68k.h: Define MC68KBCSMAGIC.
+
+Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
+ (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.
+
+Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (OMAGIC): Define.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * h8300.h: New magic number.
+ * internal.h: New relocations.
+
+Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h, sh.h: Support for SH.
+
+Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * a29k.h: Define _LIT.
+
+Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * alpha.h: New file.
+
+Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
+ * m88k.h, i386.h, we32k.h: Don't define all the storage classes;
+ they're already in internal.h.
+
+Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * internal.h: Change n_sclass to unsigned char.
+ Change C_EFCN to 0xff, change RS/6000 dbx symbols
+ to no longer be signed.
+
+Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: Add H8/500 reloc types.
+
+Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
+ conditional expression.
+
+Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
+ (AUX_PUT_*): New macros corresponding to the AUX_GET macros.
+ (ecoff_swap_tir_out): Added prototype.
+
+ * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
+ are needed to interpret gcc debugging output.
+
+Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
+ more definitions duplicated in internal.h.
+
+Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.
+
+Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * internal.h (internal_aouthdr): Added additional fields used only
+ by MIPS ECOFF.
+
+Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h (AOUTHDR): Added additional fields used by ECOFF.
+
+Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
+ duplicated in internal.h.
+
+ * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
+ relocs.
+
+Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
+ (opt_ext): New structure.
+ * mips.h (ZMAGIC): Defined to be 0413.
+ (_LIB): Defined to be ".lib"
+ (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added
+ macros to aid in swapping.
+
+Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ecoff-ext.h: Added prototypes for ECOFF swapping functions.
+ * internal.h (internal_scnhdr): Always provide s_align field, not
+ just on i960.
+ (internal_reloc): Always provide r_size field, not just on
+ RS/6000.
+ * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
+ STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
+ (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
+ STABS_SYMBOL): Moved in from gdb/mipsread.c.
+
+Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h, we32k.h: removed STYP_* defines, since they duplicated
+ those in internal.h.
+
+Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.
+
+Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
+ are defined in internal.h.
+
+Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: (internal_reloc): r_offset is now a long.
+ * z8k.h: slight comment enhancement
+
+Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: changed z8k reloc types
+
+Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * we32k.h: new file
+
+Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com)
+
+ * symconst.h: comment out cruft at the end of #endif
+
+Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: added #define for STYP_LIT, removed from a29k and
+ h8300.
+
+ * z8k.h: added z8000 support
+
+Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * internal.h: added R_RELLONG_NEG reloc type
+
+Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com)
+
+ * symconst.h: Fix unterminated comment.
+
+Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * i386.h: a.out magic numbers from
+ mohring@informatik.tu-muenchen.de
+
+Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h, mips.h: Use unsigned chars everywhere.
+ (Suggested by Antti Miettinen.)
+
+Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com)
+
+ * sym.h: Add comments.
+ * symconst.h: Merge with Fred's changes.
+
+Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com)
+
+ * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum,
+ langCplusplus, and langCplusplusV2.
+
+Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com)
+
+ * sym.h, symconst.h: MIPS has provided redistributable versions
+ of these files. Thanks!
+ * ecoff-ext.h: Add weakext bit to match new sym.h.
+
+Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h: Add relative file descriptors.
+
+Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com)
+
+ * ecoff-ext.h: New file for external (in-file) form of ecoff
+ symbol structures.
+
+Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * h8300.h: made the external_lineno l_lnno field 4 bytes wide.
+ andded GET/PUT_LINENO_LNNO macros
+
+Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h,
+ mips.h, rs6000.h: Move from above coff-<foo>.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/demangle.h b/include/demangle.h
index bff266931c..6e995e4817 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -1,6 +1,6 @@
/* Defs for interface to demanglers.
- Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002,
+ 2003, 2004 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
@@ -21,7 +21,7 @@
#if !defined (DEMANGLE_H)
#define DEMANGLE_H
-#include "ansidecl.h"
+#include "libiberty.h"
#ifdef __cplusplus
extern "C" {
@@ -164,6 +164,368 @@ enum gnu_v3_dtor_kinds {
extern enum gnu_v3_dtor_kinds
is_gnu_v3_mangled_dtor PARAMS ((const char *name));
+/* The V3 demangler works in two passes. The first pass builds a tree
+ representation of the mangled name, and the second pass turns the
+ tree representation into a demangled string. Here we define an
+ interface to permit a caller to build their own tree
+ representation, which they can pass to the demangler to get a
+ demangled string. This can be used to canonicalize user input into
+ something which the demangler might output. It could also be used
+ by other demanglers in the future. */
+
+/* These are the component types which may be found in the tree. Many
+ component types have one or two subtrees, referred to as left and
+ right (a component type with only one subtree puts it in the left
+ subtree). */
+
+enum demangle_component_type
+{
+ /* A name, with a length and a pointer to a string. */
+ DEMANGLE_COMPONENT_NAME,
+ /* A qualified name. The left subtree is a class or namespace or
+ some such thing, and the right subtree is a name qualified by
+ that class. */
+ DEMANGLE_COMPONENT_QUAL_NAME,
+ /* A local name. The left subtree describes a function, and the
+ right subtree is a name which is local to that function. */
+ DEMANGLE_COMPONENT_LOCAL_NAME,
+ /* A typed name. The left subtree is a name, and the right subtree
+ describes that name as a function. */
+ DEMANGLE_COMPONENT_TYPED_NAME,
+ /* A template. The left subtree is a template name, and the right
+ subtree is a template argument list. */
+ DEMANGLE_COMPONENT_TEMPLATE,
+ /* A template parameter. This holds a number, which is the template
+ parameter index. */
+ DEMANGLE_COMPONENT_TEMPLATE_PARAM,
+ /* A constructor. This holds a name and the kind of
+ constructor. */
+ DEMANGLE_COMPONENT_CTOR,
+ /* A destructor. This holds a name and the kind of destructor. */
+ DEMANGLE_COMPONENT_DTOR,
+ /* A vtable. This has one subtree, the type for which this is a
+ vtable. */
+ DEMANGLE_COMPONENT_VTABLE,
+ /* A VTT structure. This has one subtree, the type for which this
+ is a VTT. */
+ DEMANGLE_COMPONENT_VTT,
+ /* A construction vtable. The left subtree is the type for which
+ this is a vtable, and the right subtree is the derived type for
+ which this vtable is built. */
+ DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE,
+ /* A typeinfo structure. This has one subtree, the type for which
+ this is the tpeinfo structure. */
+ DEMANGLE_COMPONENT_TYPEINFO,
+ /* A typeinfo name. This has one subtree, the type for which this
+ is the typeinfo name. */
+ DEMANGLE_COMPONENT_TYPEINFO_NAME,
+ /* A typeinfo function. This has one subtree, the type for which
+ this is the tpyeinfo function. */
+ DEMANGLE_COMPONENT_TYPEINFO_FN,
+ /* A thunk. This has one subtree, the name for which this is a
+ thunk. */
+ DEMANGLE_COMPONENT_THUNK,
+ /* A virtual thunk. This has one subtree, the name for which this
+ is a virtual thunk. */
+ DEMANGLE_COMPONENT_VIRTUAL_THUNK,
+ /* A covariant thunk. This has one subtree, the name for which this
+ is a covariant thunk. */
+ DEMANGLE_COMPONENT_COVARIANT_THUNK,
+ /* A Java class. This has one subtree, the type. */
+ DEMANGLE_COMPONENT_JAVA_CLASS,
+ /* A guard variable. This has one subtree, the name for which this
+ is a guard variable. */
+ DEMANGLE_COMPONENT_GUARD,
+ /* A reference temporary. This has one subtree, the name for which
+ this is a temporary. */
+ DEMANGLE_COMPONENT_REFTEMP,
+ /* A standard substitution. This holds the name of the
+ substitution. */
+ DEMANGLE_COMPONENT_SUB_STD,
+ /* The restrict qualifier. The one subtree is the type which is
+ being qualified. */
+ DEMANGLE_COMPONENT_RESTRICT,
+ /* The volatile qualifier. The one subtree is the type which is
+ being qualified. */
+ DEMANGLE_COMPONENT_VOLATILE,
+ /* The const qualifier. The one subtree is the type which is being
+ qualified. */
+ DEMANGLE_COMPONENT_CONST,
+ /* The restrict qualifier modifying a member function. The one
+ subtree is the type which is being qualified. */
+ DEMANGLE_COMPONENT_RESTRICT_THIS,
+ /* The volatile qualifier modifying a member function. The one
+ subtree is the type which is being qualified. */
+ DEMANGLE_COMPONENT_VOLATILE_THIS,
+ /* The const qualifier modifying a member function. The one subtree
+ is the type which is being qualified. */
+ DEMANGLE_COMPONENT_CONST_THIS,
+ /* A vendor qualifier. The left subtree is the type which is being
+ qualified, and the right subtree is the name of the
+ qualifier. */
+ DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
+ /* A pointer. The one subtree is the type which is being pointed
+ to. */
+ DEMANGLE_COMPONENT_POINTER,
+ /* A reference. The one subtree is the type which is being
+ referenced. */
+ DEMANGLE_COMPONENT_REFERENCE,
+ /* A complex type. The one subtree is the base type. */
+ DEMANGLE_COMPONENT_COMPLEX,
+ /* An imaginary type. The one subtree is the base type. */
+ DEMANGLE_COMPONENT_IMAGINARY,
+ /* A builtin type. This holds the builtin type information. */
+ DEMANGLE_COMPONENT_BUILTIN_TYPE,
+ /* A vendor's builtin type. This holds the name of the type. */
+ DEMANGLE_COMPONENT_VENDOR_TYPE,
+ /* A function type. The left subtree is the return type. The right
+ subtree is a list of ARGLIST nodes. Either or both may be
+ NULL. */
+ DEMANGLE_COMPONENT_FUNCTION_TYPE,
+ /* An array type. The left subtree is the dimension, which may be
+ NULL, or a string (represented as DEMANGLE_COMPONENT_NAME), or an
+ expression. The right subtree is the element type. */
+ DEMANGLE_COMPONENT_ARRAY_TYPE,
+ /* A pointer to member type. The left subtree is the class type,
+ and the right subtree is the member type. CV-qualifiers appear
+ on the latter. */
+ DEMANGLE_COMPONENT_PTRMEM_TYPE,
+ /* An argument list. The left subtree is the current argument, and
+ the right subtree is either NULL or another ARGLIST node. */
+ DEMANGLE_COMPONENT_ARGLIST,
+ /* A template argument list. The left subtree is the current
+ template argument, and the right subtree is either NULL or
+ another TEMPLATE_ARGLIST node. */
+ DEMANGLE_COMPONENT_TEMPLATE_ARGLIST,
+ /* An operator. This holds information about a standard
+ operator. */
+ DEMANGLE_COMPONENT_OPERATOR,
+ /* An extended operator. This holds the number of arguments, and
+ the name of the extended operator. */
+ DEMANGLE_COMPONENT_EXTENDED_OPERATOR,
+ /* A typecast, represented as a unary operator. The one subtree is
+ the type to which the argument should be cast. */
+ DEMANGLE_COMPONENT_CAST,
+ /* A unary expression. The left subtree is the operator, and the
+ right subtree is the single argument. */
+ DEMANGLE_COMPONENT_UNARY,
+ /* A binary expression. The left subtree is the operator, and the
+ right subtree is a BINARY_ARGS. */
+ DEMANGLE_COMPONENT_BINARY,
+ /* Arguments to a binary expression. The left subtree is the first
+ argument, and the right subtree is the second argument. */
+ DEMANGLE_COMPONENT_BINARY_ARGS,
+ /* A trinary expression. The left subtree is the operator, and the
+ right subtree is a TRINARY_ARG1. */
+ DEMANGLE_COMPONENT_TRINARY,
+ /* Arguments to a trinary expression. The left subtree is the first
+ argument, and the right subtree is a TRINARY_ARG2. */
+ DEMANGLE_COMPONENT_TRINARY_ARG1,
+ /* More arguments to a trinary expression. The left subtree is the
+ second argument, and the right subtree is the third argument. */
+ DEMANGLE_COMPONENT_TRINARY_ARG2,
+ /* A literal. The left subtree is the type, and the right subtree
+ is the value, represented as a DEMANGLE_COMPONENT_NAME. */
+ DEMANGLE_COMPONENT_LITERAL,
+ /* A negative literal. Like LITERAL, but the value is negated.
+ This is a minor hack: the NAME used for LITERAL points directly
+ to the mangled string, but since negative numbers are mangled
+ using 'n' instead of '-', we want a way to indicate a negative
+ number which involves neither modifying the mangled string nor
+ allocating a new copy of the literal in memory. */
+ DEMANGLE_COMPONENT_LITERAL_NEG
+};
+
+/* Types which are only used internally. */
+
+struct demangle_operator_info;
+struct demangle_builtin_type_info;
+
+/* A node in the tree representation is an instance of a struct
+ demangle_component. Note that the field names of the struct are
+ not well protected against macros defined by the file including
+ this one. We can fix this if it ever becomes a problem. */
+
+struct demangle_component
+{
+ /* The type of this component. */
+ enum demangle_component_type type;
+
+ union
+ {
+ /* For DEMANGLE_COMPONENT_NAME. */
+ struct
+ {
+ /* A pointer to the name (which need not NULL terminated) and
+ its length. */
+ const char *s;
+ int len;
+ } s_name;
+
+ /* For DEMANGLE_COMPONENT_OPERATOR. */
+ struct
+ {
+ /* Operator. */
+ const struct demangle_operator_info *op;
+ } s_operator;
+
+ /* For DEMANGLE_COMPONENT_EXTENDED_OPERATOR. */
+ struct
+ {
+ /* Number of arguments. */
+ int args;
+ /* Name. */
+ struct demangle_component *name;
+ } s_extended_operator;
+
+ /* For DEMANGLE_COMPONENT_CTOR. */
+ struct
+ {
+ /* Kind of constructor. */
+ enum gnu_v3_ctor_kinds kind;
+ /* Name. */
+ struct demangle_component *name;
+ } s_ctor;
+
+ /* For DEMANGLE_COMPONENT_DTOR. */
+ struct
+ {
+ /* Kind of destructor. */
+ enum gnu_v3_dtor_kinds kind;
+ /* Name. */
+ struct demangle_component *name;
+ } s_dtor;
+
+ /* For DEMANGLE_COMPONENT_BUILTIN_TYPE. */
+ struct
+ {
+ /* Builtin type. */
+ const struct demangle_builtin_type_info *type;
+ } s_builtin;
+
+ /* For DEMANGLE_COMPONENT_SUB_STD. */
+ struct
+ {
+ /* Standard substitution string. */
+ const char* string;
+ /* Length of string. */
+ int len;
+ } s_string;
+
+ /* For DEMANGLE_COMPONENT_TEMPLATE_PARAM. */
+ struct
+ {
+ /* Template parameter index. */
+ long number;
+ } s_number;
+
+ /* For other types. */
+ struct
+ {
+ /* Left (or only) subtree. */
+ struct demangle_component *left;
+ /* Right subtree. */
+ struct demangle_component *right;
+ } s_binary;
+
+ } u;
+};
+
+/* People building mangled trees are expected to allocate instances of
+ struct demangle_component themselves. They can then call one of
+ the following functions to fill them in. */
+
+/* Fill in most component types with a left subtree and a right
+ subtree. Returns non-zero on success, zero on failure, such as an
+ unrecognized or inappropriate component type. */
+
+extern int
+cplus_demangle_fill_component PARAMS ((struct demangle_component *fill,
+ enum demangle_component_type,
+ struct demangle_component *left,
+ struct demangle_component *right));
+
+/* Fill in a DEMANGLE_COMPONENT_NAME. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_name PARAMS ((struct demangle_component *fill,
+ const char *, int));
+
+/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE, using the name of the
+ builtin type (e.g., "int", etc.). Returns non-zero on success,
+ zero if the type is not recognized. */
+
+extern int
+cplus_demangle_fill_builtin_type PARAMS ((struct demangle_component *fill,
+ const char *typename));
+
+/* Fill in a DEMANGLE_COMPONENT_OPERATOR, using the name of the
+ operator and the number of arguments which it takes (the latter is
+ used to disambiguate operators which can be both binary and unary,
+ such as '-'). Returns non-zero on success, zero if the operator is
+ not recognized. */
+
+extern int
+cplus_demangle_fill_operator PARAMS ((struct demangle_component *fill,
+ const char *opname, int args));
+
+/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR, providing the
+ number of arguments and the name. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_extended_operator PARAMS ((struct demangle_component *fill,
+ int numargs,
+ struct demangle_component *nm));
+
+/* Fill in a DEMANGLE_COMPONENT_CTOR. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_ctor PARAMS ((struct demangle_component *fill,
+ enum gnu_v3_ctor_kinds kind,
+ struct demangle_component *name));
+
+/* Fill in a DEMANGLE_COMPONENT_DTOR. Returns non-zero on success,
+ zero for bad arguments. */
+
+extern int
+cplus_demangle_fill_dtor PARAMS ((struct demangle_component *fill,
+ enum gnu_v3_dtor_kinds kind,
+ struct demangle_component *name));
+
+/* This function translates a mangled name into a struct
+ demangle_component tree. The first argument is the mangled name.
+ The second argument is DMGL_* options. This returns a pointer to a
+ tree on success, or NULL on failure. On success, the third
+ argument is set to a block of memory allocated by malloc. This
+ block should be passed to free when the tree is no longer
+ needed. */
+
+extern struct demangle_component *
+cplus_demangle_v3_components PARAMS ((const char *mangled,
+ int options,
+ void **mem));
+
+/* This function takes a struct demangle_component tree and returns
+ the corresponding demangled string. The first argument is DMGL_*
+ options. The second is the tree to demangle. The third is a guess
+ at the length of the demangled string, used to initially allocate
+ the return buffer. The fourth is a pointer to a size_t. On
+ success, this function returns a buffer allocated by malloc(), and
+ sets the size_t pointed to by the fourth argument to the size of
+ the allocated buffer (not the length of the returned string). On
+ failure, this function returns NULL, and sets the size_t pointed to
+ by the fourth argument to 0 for an invalid tree, or to 1 for a
+ memory allocation error. */
+
+extern char *
+cplus_demangle_print PARAMS ((int options,
+ const struct demangle_component *tree,
+ int estimated_length,
+ size_t *p_allocated_size));
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 9fc3b58993..4a4501eb89 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,1897 +1,27 @@
-2003-12-06 Alan Modra <amodra@bigpond.net.au>
+2004-01-17 Mark Kettenis <kettenis@gnu.org>
- From Jan Beulich <JBeulich@novell.com>
- * common.h (DT_HIOS): Correct value.
+ * common.h (NT_OPENBSD_IDENT): Define.
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
- * elf/m32r.h: Add new machine type m32r2 and instruction modes.
+ 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (EF_FRV_FDPIC): New macro.
+ (EF_FRV_PIC_FLAGS): Adjust.
+ 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
+ R_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFHI, R_FRV_GOTOFF12,
+ R_FRV_GOTOFFLO, R_FRV_GOTOFFHI): New.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv.h (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, R_FRV_FUNCDESC,
+ R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTLO):
+ New.
-2003-11-06 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (R_PPC_RELAX32PC): Define.
-
-2003-10-22 Alexandre Oliva <aoliva@redhat.com>,
- Michael Snyder <msnyder@redhat.com>
-
- * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New.
- (EF_SH_MERGE_MACH): Combine them.
-
-2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number.
- (_bfd_mmix_before_linker_allocation): Rename from
- _bfd_mmix_prepare_linker_allocated_gregs.
- (_bfd_mmix_after_linker_allocation): Rename from
- _bfd_mmix_finalize_linker_allocated_gregs.
-
-2003-10-06 Dave Brolley <brolley@redhat.com>
-
- * frv.h (EF_FRV_CPU_FR550): New macro.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (E_MIPS_ARCH_64R2): New define.
-
-2003-09-23 DJ Delorie <dj@redhat.com>
-
- * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
- R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces.
- (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
- R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
- R_SH_PSHA, R_SH_PSHL): New.
-
-2003-09-11 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add HP dwarf extensions from their hacked gdb
- header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850.h (E_V850E1_ARCH): Define.
-
-2003-08-21 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add PGI dwarf extensions.
-
-2003-08-08 Dmitry Diky <diwil@mail.ru>
-
- * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
- gcc order.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use
- C90 function definition. Formatting.
- (RELOC_NUMBER): Remove !__STDC__ code.
-
-2003-07-28 Eric Christopher <echristo@redhat.com>
-
- * ppc.h (R_PPC_RELAX32): New. Fake relocation.
-
-2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * v850.h (SHF_V850_GPREL): New.
- (SHF_V850_EPREL): Likewise.
- (SHF_V850_R0REL): Likewise.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
- PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
- Renumbered all relocs.
- 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
- * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF,
- R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24,
- R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT,
- R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from
- E_MN10300_MACH_AM332.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (E_MN10300_MACH_AM332): Defined.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (elf_s390_reloc_type): Add long displacement relocations
- R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
-
-2003-06-29 Andreas Jaeger <aj@suse.de>
-
- * mmix.h: Convert to ISO C90 prototypes.
- * mips.h: Likewise.
-
-2003-06-13 Robert Millan <zeratul2@wanadoo.es>
-
- * common.h (GNU_ABI_TAG_NETBSD): New tag.
- (GNU_ABI_TAG_FREEBSD): New tag.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8.h (E_H8_MACH_H8300SXN): New flag.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * v850.h (R_V850_32): Rename to R_V850_ABS32.
- Add R_V850_REL32.
-
-2003-05-15 Roland McGrath <roland@redhat.com>
-
- * common.h (NT_AUXV, AT_*): New macros.
- * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
- * internal.h (Elf_Internal_Auxv): New type.
-
-2003-05-14 Michael Snyder <msnyder@redhat.com>
- From Bernd Schmidt <bernds@redhat.com>
- * h8.h (E_H8_MACH_H8300SX): New.
-
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
-
-2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
-
- * common.h (EM_SH): Amend comment to refer to SuperH.
-
-2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * common.h: Replace references to Mitsubishi M32R with
- references to Renesas M32R.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * common.h: Replace occurrances of 'Hitachi' with 'Renesas'.
-
-2003-04-01 Bob Wilson <bob.wilson@acm.org>
-
- * elf/common.h (EM_XTENSA_OLD): Define.
- * elf/xtensa.h: New file.
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * arm.h (ARM_NOTE_SECTION): Include .gnu in the string.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm.h (ARM_NOTE_SECTION): Define.
-
-2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
-
- * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
- and SH2E & SH4 merge to SH4, not SH2E.
-
-2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au>
-
- * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
- SHT_IA_64_PRIORITY_INIT): Define.
-
-2003-02-18 Alan Modra <amodra@bigpond.net.au>
-
- * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
-
- * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc.
- (IS_PPC_TLS_RELOC): Define.
-
-2003-02-10 Nick Clifton <nickc@redhat.com>
-
- * arm.h (EF_ARM_MAVERICK_FLOAT): Define.
-
-2003-02-05 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h: Add TLS relocs. Format.
- * ppc64.h: Likewise.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * mips.h (EF_MIPS_XGOT): Define.
-
-2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: Add s390 TLS relocations.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
-
- 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (EF_SH_MERGE_MACH): Handle SH2E.
-
- 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
-
- * sh.h (EF_SH2E): New.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * sh.h: Split out various bits to bfd/elf32-sh64.h.
-
-2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
- gotplt and pltoff relocations.
-
-2003-01-17 Alan Modra <amodra@bigpond.net.au>
-
- * common.h: Formatting, typo fixes.
- (DT_ENCODING): Correct value.
-
-2003-01-17 Fabio Alemagna <falemagn@aros.org>
-
- * common.h (ELFOSABI_AROS): Define.
- (ELFOSABI_OPENVMS): Likewise.
- (ELFOSABI_NSK): Likewise.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h: Split out ppc64 definitions to..
- * pcc64.h: ..here. New file.
- (R_PPC64_REL30): Rename from R_PPC64_ADDR30.
-
-2003-01-13 Dmitry Diky <diwil@mail.ru>
-
- * elf/common.h (EM_MSP430): Change e_machine value to officially
- assigned.
-
-2003-01-02 Ben Elliston <bje@redhat.com>
-
- * common.h (EM_IQ2000): Define.
- * iq2000.h: New file.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (E_MIPS_ARCH_32R2): New define.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * common.h: Define msp430 machine numbers.
- * msp430.h: New file. Define msp430 relocs.
-
-2002-12-20 DJ Delorie <dj@redhat.com>
-
- * xstormy16.h: Add XSTORMY16_12.
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
- for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
-
-2002-12-10 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
- DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
- Define.
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
- (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
- (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- * mmix.h: Replace boolean with bfd_boolean.
- * sh.h: Likewise.
-
-2002-11-28 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
- elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
- Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
- elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
- Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
- Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
- elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
- elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
- elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
- elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
- Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
- elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
- elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
- elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
- Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
- Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
- Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
- Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
- (Elf_Internal_Rel): Delete.
-
-2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
-
- * sh.h: Add SH TLS relocs.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
-
-2002-09-12 Roland McGrath <roland@redhat.com>
-
- * dwarf2.h: Updates from GCC version of thie file:
- (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref.
- Add DW_OP_GNU_push_tls_address.
- (DW_OP_lo_user): Change to 0xe0.
-
-2002-08-28 Catherine Moore <clm@redhat.com>
-
- * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN,
- R_V850_LONGJUMP): New relocations.
-
-2002-08-15 Alan Modra <amodra@bigpond.net.au>
-
- * i370.h: Define relocs using reloc-macros.h.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
- EF_M68HC11_ABI): Define for ABI specification.
- (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
- linker and debugger.
- (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
- (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
- relaxation.
-
-2002-07-15 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Ben Elliston <bje@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- John Healy <jhealy@redhat.com>
- Graham Stott <grahams@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * common.h (EM_IP2K): New macro.
- (EM_IP2K_OLD): New macro.
- * ip2k.h: New file.
-
-2002-07-01 Matt Thomas <matt@3am-software.com>
-
- * vax.h: Rename EF_* to EF_VAX_*.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- From Catherine Moore, Michael Meissner, Dave Brolley:
- * common.h (EM_CYGNUS_FRV): New macro.
- * frv.h: New file.
-
-2002-06-06 Lars Brinkhoff <lars@nocrew.org>
-
- * common.h: Change registry@sco.com to registry@caldera.com.
- (EM_PDP10, EM_PDP11): Define.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
- (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
- prototypes.
-
-2002-06-01 Richard Henderson <rth@redhat.com>
-
- * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
- LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
-
-2002-05-30 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
- R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
- R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
- R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
-
-2002-05-29 Matt Thomas <matt@3am-software.com>
-
- * vax.h: New file
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * common.h (EM_DLX): Define.
- * dlx.h: New file.
-
-2002-05-08 Jason Thorpe <thorpej@wasabisystems.com>
-
- * common.h (NT_GNU_ABI_TAG): Define.
- (GNU_ABI_TAG_LINUX): Define.
- (GNU_ABI_TAG_HURD): Define.
- (GNU_ABI_TAG_SOLARIS): Define.
- (NT_NETBSD_IDENT): Define.
- (NT_FREEBSD_ABI_TAG): Define.
-
-2002-04-24 Elena Zannoni <ezannoni@redhat.com>
-
- * dwarf2.h: Add DW_AT_GNU_vector.
-
-2002-02-13 Matt Fredette <fredette@netbsd.org>
-
- * m68k.h (EF_M68000): Define.
-
-2002-02-12 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
-
-2002-02-09 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_BRSGP): New.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
- * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
- R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
- R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
- R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
- R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
- R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
- R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
- R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8,
- R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64,
- R_SH_RELATIVE64): New relocs.
- (R_SH_FIRST_INVALID_RELOC_4): Adjust.
- 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
- * sh.h: Renumbered and renamed some SH5 relocations to match
- official numbers and names; moved unmaching ones to the range
- 0xf2-0xff.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (sh64_get_contents_type): Declare.
- (sh64_address_is_shmedia): Likewise.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (sh64_elf_crange): New type.
- (struct sh64_section_data): New.
- (sh64_elf_section_data): New macro.
- (EF_SH5): Rename back from EF_SH64.
- 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED,
- SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE,
- SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET,
- SH64_CRANGE_CR_TYPE_OFFSET): New macros.
- 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64): Don't define EF_SH64_ABI64.
- 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete.
- (EF_SH64_ABI64): New.
- 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh.h (EF_SH64): Rename from EF_SH5.
- (EF_SH64_32BIT_ABI): New.
- (EF_SH64_64BIT_ABI): New.
- (R_SH_PT_16, R_SH_SHMEDIA_CODE
- R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
- R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
- R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
- R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
- R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New
- relocs.
- 2000-09-01 Ben Elliston <bje@redhat.com>
- * sh.h (EF_SH5): Define.
-
-2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: Tweak comments.
- (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New.
- [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs,
- _bfd_mmix_finalize_linker_allocated_gregs,
- _bfd_mmix_check_all_relocs): Provide prototypes.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
- * common.h: Add support for or32 targets.
-
-2002-01-28 Jason Merrill <jason@redhat.com>
-
- * dwarf2.h: Sync with gcc version.
-
-2002-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (DT_PPC64_GLINK): Define.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define.
-
-2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
-
- * common.h: Update copyright years.
- (NT_NETBSDCORE_PROCINFO): Define.
- (NT_NETBSDCORE_FIRSTMACH): Define.
-
-2002-01-06 Steve Ellcey <sje@cup.hp.com>
-
- * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX.
- (SHT_IA_64_HP_OPT_ANOT): Ditto
- (PT_IA_64_HP_OPT_ANOT): Ditto
- (PT_IA_64_HP_HSL_ANOT): Ditto
- (PT_IA_64_HP_STACK): Ditto
- (SHN_IA_64_ANSI_COMMON): Ditto
-
-2001-12-17 Alan Modra <amodra@bigpond.net.au>
-
- * external.h (Elf_External_Sym_Shndx): Declare.
- * internal.h (struct elf_internal_sym <st_shndx>): Make it an
- unsigned int.
- * common.h (SHN_BAD): Define.
-
-2001-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * elf/common.h (PT_GNU_EH_FRAME): Define.
-
-2001-12-11 Alan Modra <amodra@bigpond.net.au>
-
- * common.h (SHN_XINDEX): Comment typo fix.
- * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short"
- size, count and index fields to "unsigned int".
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- * common.h (EM_XSTORMY16): Define.
- * xstormy16.h: New file.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * common.h (NT_ARCH): Define. Remove incorrect comment.
-
-2001-11-11 Geoffrey Keating <geoffk@redhat.com>
-
- * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: New file.
-
-2001-10-23 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h: White space changes to keep lines under 80 chars.
-
-2001-10-16 Jeff Holcomb <jeffh@redhat.com>
-
- * internal.h (elf_internal_shdr): Make contents a unsigned char *.
-
-2001-09-18 Alan Modra <amodra@bigpond.net.au>
-
- * internal.h (elf_internal_rela): Make r_addend a bfd_vma.
-
-2001-09-13 Alexandre Oliva <aoliva@redhat.com>
-
- * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry.
-
-2001-09-12 Alexandre Oliva <aoliva@redhat.com>
-
- * common.h (EM_AVR_OLD): Renamed from...
- (EM_AVR): this, redefined as in the current ELF standard.
- (EM_PJ_OLD): Renamed from...
- (EM_PJ): this, redefined as in the current ELF standard.
- (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300,
- EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in
- the current ELF standard.
- (EM_CYGNUS_ARC): Removed, unused for a long time.
-
-2001-09-04 Richard Henderson <rth@redhat.com>
-
- * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove.
- (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
-
-2001-08-30 Eric Christopher <echristo@redhat.com>
-
- * mips.h: Remove E_MIPS_MACH_MIPS32_4K.
-
-2001-08-29 Jeff Law <law@redhat.com>
-
- * h8.h (EF_H8_MACH): New mask for encoded machine type.
- (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New
- machine types.
-
-2001-08-26 J"orn Rennecke <amylaar@redhat.com>
-
- * h8.h: New file.
-
-2001-08-27 Staffan Ulfberg <staffanu@swox.se>
-
- * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
-
-2001-06-30 Daniel Berlin <dan@cgsoftware.com>
-
- * dwarf2.h: Remerge with gcc version,
- including all new DWARF 2.1 extensions.
-
-2001-06-29 James Cownie <jcownie@etnus.com>
-
- * dwarf2.h: Add DWARF 2.1 attribues.
-
-2001-06-15 Per Bothner <per@bothner.com>
-
- * dwarf2.h: Partial merge with gcc version.
- (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list.
- (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc).
-
-2001-05-15 Ralf Baechle <ralf@gnu.org>
-
- * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was
- never in active use and is used otherwise by the ABI.
-
-2001-05-11 Jakub Jelinek <jakub@redhat.com>
-
- * ia64.h (ELF_STRING_ia64_unwind_once): Define.
- (ELF_STRING_ia64_unwind_info_once): Define.
-
-2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * external.h: Fix typo.
- * mips.h: Add/Extend many comments with reference to the MIPS ELF64
- spec v. 2.4, available at e.g.
- ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
- (EF_MIPS_UCODE): Define.
- (EF_MIPS_OPTIONS_FIRST): Define.
- (EF_MIPS_ARCH_ASE): Define.
- (EF_MIPS_ARCH_ASE_MDMX): Define.
- (EF_MIPS_ARCH_ASE_M16): Define.
- (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
- (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
- (SHF_MIPS_NODUPES): Define.
- (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
- (ELF64_MIPS_R_TYPE3): Likewise.
- (ELF64_MIPS_R_TYPE2): Likewise.
- (ELF64_MIPS_R_TYPE): Likewise.
- (OHW_R10KLDL): Define.
-
-2001-04-24 Todd Fries <todd@fries.net>
-
- * sparc.h: Fix typo.
-
-2001-04-20 Johan Rydberg <jrydberg@opencores.org>
-
- * openrisc.h: New file.
- * common.h (EM_OPENRISC): New constant.
-
-2001-04-23 Bo Thorsen <bo@suse.de>
-
- * x86-64.h: Add vtable support.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Remove extraneous whitespace.
-
-2001-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h: Add leading comment about PC-relative location.
- (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
- R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
- R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL):
- New relocs.
-
-2001-02-27 Philip Blundell <pb@futuretv.com>
-
- * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
- (EF_PIC, et al.): Rename to EF_ARM_xx.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * common.h: Add linux target for S/390.
- * s390.h: New file.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
- E_ARC_MACH_ARC8): New definitions for cpu types.
-
- * common.h (EM_ARC): Change comment.
-
-2000-12-12 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Fix formatting.
-
-2000-12-11 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
- compatibility.
-
-2000-10-16 Chris Demetriou <cgd@sibyte.com>
-
- * mips.h (E_MIPS_ARCH_32): New constant.
- (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
- former with the latter.
-
- * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
-
- * mips.h (E_MIPS_MACH_SB1): New constant.
-
-2000-11-30 Jan Hubicka <jh@suse.cz>
-
- * common.h (EM_X86_64): New macro.
- * x86-64.h: New file.
-
-2000-11-27 Hans-Peter Nilsson <hp@axis.com>
-
- * common.h (e_machine numbers): Clarify comments to describe how
- EM_* constants are assigned. Move EM_PJ from official section to
- ad-hoc section.
- (EM_CRIS): Correct comment to match official description.
- (EM_MMIX): Ditto.
-
-2000-11-22 Nick Clifton <nickc@redhat.com>
-
- * common.h (EM_JAVELIN): New machine number.
- (EM_FIREPATH): New machine number.
- (EM_ZSP): New machine number.
- (EM_MMIX): New machine number.
- (EM_HUANY): New machine number.
- (EM_PRISM): New machine number.
- (SHT_GROUP): New section type.
- (SHT_SYMTAB_SHNDX): New section type.
- (SHF_GROUP): New section flag.
- (SHN_XINDEX): New section index.
- (GRP_COMDAT): New section group flag.
-
-2000-11-20 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_MONTEREY): Renamed to ...
- (ELFOSABI_AIX): This.
-
-2000-11-16 Richard Henderson <rth@redhat.com>
-
- Update relocations per August psABI docs.
- * ia64.h (R_IA64_SEGBASE): Remove.
- (R_IA64_LTV*): Renumber to 0x74 to 0x77.
- (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
- (R_IA64_TPREL14, R_IA64_TPREL64I): New.
- (R_IA64_DTPMOD*): New.
- (R_IA64_DTPREL*): New.
-
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (EF_CRIS_UNDERSCORE): New.
-
-2000-09-27 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h (R_PARISC_DIR14F): Add.
-
-2000-09-14 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
- R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
- numbers to the range from 160 to 167.
- (R_SH_FIRST_INVALID_RELOC): Adjust.
- (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
- New relocs to fill in the gap.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips.h (E_MIPS_MACH_4K): New define.
-
-2000-09-05 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Fix a comment.
- (R_PARISC_PCREL12F): Define.
- (R_PARISC_GNU_VTENTRY): Define.
- (R_PARISC_GNU_VTINHERIT): Define.
-
-2000-09-01 Alexandre Oliva <aoliva@redhat.com>
-
- * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
- R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
- (R_SH_FIRST_INVALID_RELOC): Adjust.
-
-2000-08-14 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
- EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
-
-2000-08-07 Nick Clifton <nickc@cygnus.com>
-
- * ppc.h: Remove spurious CYGNUS LOCAL comments.
- * v850.h: Likewise.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h: New file.
- (elf_i860_reloc_type): Defined ELF32 i860 relocations.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- common.h (EM_CRIS): New machine number.
- cris.h: New file.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
- (DTF_1_CONFEXP): It is 0x00000002 as suspected.
-
-2000-07-19 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
- (DT_CONFIG): New. From Solaris 8.
- (DT_DEPAUDIT): Likewise.
- (DT_AUDIT): Likewise.
- (DT_PLTPAD): Likewise.
- (DT_MOVETAB): Likewise.
- (DF_1_NODEPLIB): Likewise.
- (DF_1_NODUMP): Likewise.
- (DF_1_CONLFAT): Likewise.
- (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
- (DTF_1_CONFEXP): Likewise.
-
-2000-07-18 H.J. Lu <hjl@gnu.org>
-
- * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
-
-2000-07-12 Alan Modra <alan@linuxcare.com.au>
-
- * internal.h (struct elf_internal_sym): Update comment for st_other.
-
-2000-07-10 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Add comments to all the relocs.
-
-2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (E_AVR_MACH_AVR5): Define.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * m68hc11.h: New file, definitions for the Motorola 68hc11.
-
-2000-06-06 Alan Modra <alan@linuxcare.com.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
- -1 valued enum.
- (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
- prepend comma.
- (END_RELOC_NUMBERS): Give macro an arg to define as last enum.
-
- * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
- with EMPTY_RELOC.
- * arc.h (R_ARC_max): Likewise.
- * avr.h (R_AVR_max): Likewise.
- * fr30.h (R_FR30_max): Likewise.
- * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
- * i960.h (R_960_max): Likewise.
- * m32r.h (R_M32R_max): Likewise.
- * m68k.h (R_68K_max): Likewise.
- * mcore.h (R_MCORE_max): Likewise.
- * mn10300.h (R_MN10300_MAX): Likewise.
- * pj.h (R_PJ_max): Likewise.
- * ppc.h (R_PPC_max): Likewise.
- * sh.h (R_SH_max): Likewise.
- * sparc.h (R_SPARC_max): Likewise.
- * v850.h (R_V850_max): Likewise.
-
- * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
- * d10v.h (R_D10V_max): Likewise.
- * d30v.h (R_D30V_max): Likewise.
- * ia64.h (R_IA64_max): Likewise.
- * mips.h (R_MIPS_maxext): Likewise.
- * mn10200.h (R_MN10200_max): Likewise.
-
- * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
- define via END_RELOC_NUMBERS.
-
-2000-06-03 Alan Modra <alan@linuxcare.com.au>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
- !__STDC__ case.
- (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.
-
-2000-05-22 Richard Henderson <rth@cygnus.com>
-
- * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
- (R_IA64_PCREL22, R_IA64_PCREL64I): New.
-
-2000-05-02 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
- (ELFOSABI_MODESTO): Defined.
- (ELFOSABI_OPENBSD): Likewise.
-
-2000-04-21 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
-
- * ia64.h: New file.
-
-2000-04-14 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.
-
-2000-04-14 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_NETBSD): Defined.
- (ELFOSABI_HURD): Likewise.
- (ELFOSABI_SOLARIS): Likewise.
- (ELFOSABI_MONTEREY): Likewise.
- (ELFOSABI_IRIX): Likewise.
- (ELFOSABI_FREEBSD): Likewise.
- (ELFOSABI_TRUE64): Likewise.
-
-2000-04-07 Nick Clifton <nickc@cygnus.com>
-
- * arm-oabi.h: Delete.
- * arm.h: Merge in definitions of old reloc numbers from
- arm-oabi.h.
-
-2000-04-06 Nick Clifton <nickc@cygnus.com>
-
- * arm.h (EF_ARM_SYMSARESORTED): Define.
- (EF_ARM_EABIMASK): Define.
- (EF_ARM_EABI_VERSION): Define.
- (EF_ARM_EABI_UNKNOWN): Define.
- (EF_ARM_EABI_VER1): Define.
- (PF_ARM_PI): Define.
- (PF_ARM_ABS): Define.
-
-2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
-
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: New file. AVR ELF support for BFD.
- * common.h: Add AVR magic number.
-
-2000-03-10 Geoffrey Keating <geoffk@cygnus.com>
-
- * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
- R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
- numbers.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370.h: New file.
-
-2000-02-22 Nick Clifton <nickc@cygnus.com>
-
- * common.h (ELF_ST_OTHER): Remove definition.
- (ELF32_ST_OTHER): Remove definition.
- (ELF64_ST_OTHER): Remove definition.
-
-2000-02-22 H.J. Lu <hjl@gnu.org>
-
- * common.h (ELFOSABI_LINUX): Define.
-
-2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
- (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
- (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.
-
-2000-02-03 H.J. Lu <hjl@gnu.org>
-
- * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
- 2000 by Thomas de Lellis <tdel@windriver.com>.
-
-2000-01-27 Thomas de Lellis <tdel@windriver.com>
-
- * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
- (STT_ARM_16BIT): New flag. Denotes a label that was defined in
- Thumb block but was does not identify a function.
-
-2000-01-20 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_MCORE): Fix spelling of Motorola.
- * mcore.h (EM_MCORE): Fix spelling of Motorola.
-
-2000-01-13 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_S370): Change comment - this is now the IBM
- System/370.
- (EM_IA_64): Change comment - this is now the IA-64.
-
-2000-01-11 Nick Clifton <nickc@cygnus.com>
-
- * common.h (DT_ENCODING): Fix definition of this value.
- (DT_LOOS): Fix definition of this value.
- (DT_HIOS): Fix definition of this value.
- (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
- of ELF spec changed it.
- (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
- of ELF spec changed it.
-
-2000-01-10 Egor Duda <deo@logos-m.ru>
-
- * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps).
-
-1999-12-28 Nick Clifton <nickc@cygnus.com>
-
- * mips.h (STO_*): Redefine in terms of STV_* values now in
- common.h.
-
-1999-12-27 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
- (EM_MIPS_RS3_LE): New machine number.
- (EM_RCE): New machine number.
- (EM_MMA): New machine number.
- (EM_PCP): New machine number.
- (EM_NCPU): New machine number.
- (EM_NDR1): New machine number.
- (EM_STARCORE): New machine number.
- (EM_ME16): New machine number.
- (EM_ST100): New machine number.
- (EM_TINYJ): New machine number.
- (EM_FX66): New machine number.
- (EM_ST9PLUS): New machine number.
- (EM_ST7): New machine number.
- (EM_68HC16): New machine number.
- (EM_68HC11): New machine number.
- (EM_68HC08): New machine number.
- (EM_68HC05): New machine number.
- (EM_SVX): New machine number.
- (EM_VAX): New machine number.
- (PF_MASKOS): Change value.
- (SHT_INIT_ARRAY): New value for sh_type field.
- (SHT_FINI_ARRAY): New value for sh_type field.
- (SHT_PREINIT_ARRAY): New value for sh_type field.
- (SHT_HIUSER): Change value.
- (SHF_MERGE): New valye for sh_flags field.
- (SHF_STRINGS): New valye for sh_flags field.
- (SHF_INFO_LINK): New valye for sh_flags field.
- (SHF_OS_NONCONFORMING): New valye for sh_flags field.
- (SHF_MASKOS): Change value.
- (ELF_ST_VISIBILITY): New macro.
- (ELF_ST_OTHER): New macro.
- (STT_COMMON): New symbol type.
- (STV_DEFAULT): Value for symbol visibility.
- (STV_INTERNAL): Value for symbol visibility.
- (STV_HIDDEN): Value for symbol visibility.
- (STV_PROTECTED): Value for symbol visibility.
- (DT_RUNPATH): New dynamic section tag.
- (DT_FLAGS): New dynamic section tag.
- (DT_ENCODING): New dynamic section tag.
- (DT_PREINIT_ARRAY): New dynamic section tag.
- (DT_PREINIT_ARRAYSZ): New dynamic section tag.
- (DT_LOPROC): New dynamic section tag index.
- (DT_HIPROC): New dynamic section tag index.
- (DF_ORIGIN): Value for dynamic section flag.
- (DF_SYMBOLIC): Value for dynamic section flag.
- (DF_TEXTREL): Value for dynamic section flag.
- (DF_BIND_NOW): Value for dynamic section flag.
-
-1999-12-09 Fred Fish <fnf@cygnus.com>
-
- * i960.h (reloc-macros.h): Include using relative dir elf/.
- * i386.h (reloc-macros.h): Include using relative dir elf/.
- * hppa.h (reloc-macros.h): Include using relative dir elf/.
-
-1999-12-07 Jim Blandy <jimb@cygnus.com>
-
- * common.h (NT_PRXFPREG): New definition.
-
-Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (E_MN10300_MACH_AM33): Define.
-
-Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (PF_HP_PAGE_SIZE): Define.
- (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
- (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.
-
-Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com>
-
- * m32r.h (E_M32RX_ARCH): Define.
-
-1999-09-15 Ulrich Drepper <drepper@cygnus.com>
-
- * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.
-
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * pj.h: New file.
- * common.h (EM_PJ): Define.
-
-1999-09-02 Ulrich Drepper <drepper@cygnus.com>
-
- * hppa.h: Add HPUX specific symbol type definitions.
-
- * hppa.h: Add HPUX specific dynamic and program header table
- specific definitions.
-
-1999-08-31 Scott Bambrough <scottb@netwinder.org>
-
- * common.h (NT_TASKSTRUCT): Define.
-
-1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
- flag (as per SCD2.4.1).
-
-1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
- ELF64_R_SYM bits.
-
-1999-06-21 Philip Blundell <pb@nexus.co.uk>
-
- * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
-
-1999-07-13 Andreas Schwab <schwab@suse.de>
-
- * m68k.h (EF_CPU32): Move definition inside multiple inclusion
- guard.
-
-1999-07-08 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
- (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
- (DT_SPARC_PLTFMT): Delete.
- Based on a patch from Jakub Jelinek.
-
-Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
-
-1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
-
- * sparc.h (R_SPARC_max_std): Define.
-
-Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Update with various changes from newest PA ELF
- specifications.
-
-1999-06-03 Ian Lance Taylor <ian@zembu.com>
-
- * common.h (EM_PPC64): Define.
-
-1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com>
-
- * dwarf.h: Add LANG_JAVA.
- * dwarf2.h: Add DW_LANG_Java.
-
-1999-05-29 Nick Clifton <nickc@cygnus.com>
-
- * common.h (ELFOSABI_ARM): Define.
-
-1999-05-28 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: Update comment.
-
-1999-05-28 Ian Lance Taylor <ian@zembu.com>
-
- * i960.h: New file.
-
-1999-05-16 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (R_MCORE_COPY): Define.
- (R_MCORE_GLOB_DAT): Define.
- (R_MCORE_JUMP_SLOT): Define.
-
-1999-05-15 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h (R_MCORE_RELATIVE): Define.
-
-1999-05-05 Catherine Moore <clm@cygnus.com>
-
- * m68k.h (EF_CPU32): Define.
-
-1999-04-21 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
- fake reloc entry name (if possible), in order to avoid conflicts
- with typedefs of the same name.
-
-1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_32BITMODE): New.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * mcore.h: New header file. Defines for Motorola's MCore
- processor.
-
-1999-04-08 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Add new constants defined in: "System V Application
- Binary Interface - DRAFT - April 29, 1998" found at the web site:
- http://www.sco.com/developer/gabi/contents.html
-
- (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this
- value.
-
-1999-03-31 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: Fixed to not generate an enum with a trailing
- comma.
-
-1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (E_MIPS_MACH_5000): New.
-
-1999-03-10 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add definitions for a few more Solaris ELF extensions.
-
-Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com>
-
- * external.h: Only use attribute if __GNUC__ is defined.
-
-1999-02-17 Nick Clifton <nickc@cygnus.com>
-
- Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>
-
- * external.h: struct Elf_External_Versym must be packed on
- ARM. Code uses sizeof(Elf_External_Versym) and assumes it is
- equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com>
-
-1999-02-02 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2.h (DWARF2_External_ARange): New structure.
- (DWARF2_Internal_ARange): New structure.
-
-Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Renumber relocs to conform to standard.
- (EF_NEW_ABI): Define.
- (EF_OLD_ABI): Define.
- * arm-oabi.h: New file.
-
-1999-01-28 Nick Clifton <nickc@cygnus.com>
-
- * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.
-
-1999-01-27 Nick Clifton <nickc@cygnus.com>
-
- * dwarf2.h: Add typedefs for structures found in dwarf2 sections.
-
-1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (E_MIPS_MACH_4111): New.
-
-1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
- E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
-
-1998-12-03 Nick Clifton <nickc@cygnus.com>
-
- * fr30.h: Add R_FR30_48 reloc.
-
-1998-12-02 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add external data type for conflict section.
-
- * mips.h: Add more LL_* options from Irix 6.5.
-
- * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.
-
-Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC,
- R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max.
-
-Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.
-
-Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com>
-
- * d10v.h: Add vtable relocs.
-
-Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_FR30): New machine number.
-
- * fr30.h: New file: Definitions for the FR30.
-
-Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com>
-
- From Philip Blundell <pb@nexus.co.uk>:
- * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
- (EF_ALIGN8): New flag.
-
-Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (NT_LWPSTATUS): Close comment accidentally left open.
-
-Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com>
-
- * sh.h: Add vtable relocs.
-
-Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com>
-
- * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
- NT_LWPSTATUS,NT_LWPSINFO): added.
- * internal.h (Elf_Internal_Note): new structure members.
-
-Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com>
-
- * m32r.h: Add vtable relocs.
-
-Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com>
-
- * sparc.h: Add vtable relocs.
-
-Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com>
-
- * v850.h: Add vtable relocs.
-
-Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (R_386_max): Change from 252 to 24.
-
-Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com>
-
- * i386.h: Change vtable reloc numbers.
-
-Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h: Add vtable relocs and R_68K_max.
-
-Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add vtable relocs.
-
-Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx
- definitions.
-
-Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com>
-
- * i386.h: Add vtable relocs.
-
-1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.
-
- * external.h: Add Elf_External_Syminfo definition.
-
- * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
- and Elf64_Syminfo definitions.
-
-Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add ST_THUMB definitions.
-
-Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com>
-
- * arm.h: Add ELF header flags to specify compile time optins:
- EF_INTERWORK: New flag.
- EF_APCS_26: New flag.
- EF_APCS_FLOAT: New flag.
- EF_PIC: New flag.
-
-1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add missing RHF_* constants.
-
-Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Add R_ARM_THM_PC9 relocation.
-
-1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com>
-
- * common.h: Add new DT_* entries and there flag macros from Solaris.
-
-Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com>
-
- * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.
-
-Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add R_MN10300_24 relocation.
-
-1998-07-24 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add MIPS64 relocation names and values.
-
-Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com>
-
- * arm.h: Rename relocations.
-
-1998-07-22 Ulrich Drepper <drepper@cygnus.com>
-
- * ppc.h: Define enum as elf_ppc_reloc_type.
-
-Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com>
-
- * reloc-macros.h: New file. Provides relocation macros:
- START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
- END_RELOC_NUMBERS used by other elf header files.
-
- * alpha.h: Use reloc-macros.h.
- * arc.h: Use reloc-macros.h.
- * arm.h: Use reloc-macros.h.
- * d10v.h: Use reloc-macros.h.
- * d30v.h: Use reloc-macros.h.
- * hppa.h: Use reloc-macros.h.
- * i386.h: Use reloc-macros.h.
- * m32r.h: Use reloc-macros.h.
- * m68k.h: Use reloc-macros.h.
- * mips.h: Use reloc-macros.h.
- * mn10200.h: Use reloc-macros.h.
- * mn10300.h: Use reloc-macros.h.
- * ppc.h: Use reloc-macros.h.
- * sh.h: Use reloc-macros.h.
- * sparc.h: Use reloc-macros.h.
- * v850.h: Use reloc-macros.h.
-
-1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com>
-
- * mn10300.h: Rewrite relocation definition using macros.
- * mips.h: Likewise.
- * ppc.h: Likewise.
- * alpha.h: Likewise.
- * arm.h: Likewise.
- * d10v.h: Likewise.
- * d30v.h: Likewise.
- * m32r.h: Likewise.
- * m68k.h: Likewise.
- * mn10200.h: Likewise.
- * sh.h: Likewise.
- * sparc.h: Likewise.
-
-1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com>
-
- * arm.h: New file.
- * d10v.h: New file.
- * d30v.h: New file.
- * i386.h: New file.
- * m68k.h: New file.
- * mn10200.h: New file.
- * sh.h: New file.
-
- * mips.h: Add R_MIPS_* and SHT_MIPS_* entries.
-
- * mn10300.h: Add R_MN10300_* entries.
-
- * ppc.h: Add R_PPC_* entries.
-
-1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
- Define Elf32_External_Lib.
-
-1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com>
-
- * mips.h (PT_MIPS_OPTIONS): New symbol.
- Add lots of DT_MIPS_* symbols.
-
-Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: New file.
-
-Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
- EM_OLD_ALPHA): Add these constants.
-
-Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_486, EM_S370): Add these constants.
-
-Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_ARM): Add this constant.
-
-Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.
-
-Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
-
-Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com>
-
- * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
- (EM_SPARCV9): New. This is the official ABI name and number.
-
-Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.
-
-Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com>
-
- * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
- specify machine architecture.
-
-Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
- SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
- SHT_V850_ZCOMMON to handle v850 common sections.
- enum reloc_type renamed to v850_reloc_type to avoid name
- conflict.
-
-Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.
-
-Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com>
-
- * sparc.h (DT_SPARC_REGISTER): New macro.
- (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
- go away soon.
-
-Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
- (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
- (SHN_BEFORE,SHN_AFTER): New macros.
- (SHF_EXCLUDE,SHF_ORDERED): New macros.
- (STT_REGISTER): New macro.
- (R_SPARC_GLOB_JMP): Deleted, but slot reserved.
- (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
- (R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
- (ELF64_R_TYPE_{DATA,ID,INFO}): New macros.
-
-Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.
-
-Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.
-
-Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com>
-
- * mips.h: Correct typo in comment.
-
-Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Remove R_V850_16_PCREL.
-
-Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com>
-
- * common.h: Remove magic number for V850E.
- * common.h: Remove magic number for V850EA.
- * v850.h: Add new flags for e_flags field in elf header.
-
-Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com>
-
- * common.h (EM_CYGNUS_V850E): backend magic number for v850e.
- * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.
-
-Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (reloc_type): Add 16 bit PC relative relocation.
-
-Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h (enum reloc): Move here from elf32-arc.c.
-
-Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h: New file.
- * common.h (EM_CYGNUS_ARC): Define.
-
-Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
- bfd_signed_vma to bfd_size_type, as they are not signed.
-
-Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (SHF_M32R_CAN_RELAX): Define.
-
-Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * external.h: Dump the 32/64 bit specific forms of the version
- structures, and just define them as size independent.
-
- * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.
-
-Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * m32r.h (enum reloc_type): Add R_M32R_SDA16.
- (SHN_M32R_SCOMMON): Define.
-
-Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com>
-
- From Eric Youngdale <eric@andante.jic.com>:
- * external.h, internal.h, common.h: Added new structures and
- definitions for ELF versions.
-
-Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * common.h (EM_CYGNUS_D30V): Define.
-
-Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.
-
-Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
- field.
- (SHN_V850_*): Remove v850 specific section indexes, which are not
- needed.
- (enum reloc_type): Move the v850 relocations here from
- elf32-v850.c
-
-Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h: New file, provide V850 specific definitions.
-
-Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (DT_AUXILIARY): Define.
- (DT_FILTER): Define.
-
-Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com>
-
- * dwarf2.h: Update.
-
-Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (STO_MIPS16): Define.
-
-Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Remove empty file.
-
-Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (EF_MIPS_ABI2): Define.
-
-Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com)
-
- * common.h: Break mn10x00 support into mn10200 and mn10300.
-
-Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com)
-
- * common.h (EM_CYGNUS_MN10x00): Define.
-
-Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com>
-
- * m32r.h: New file.
-
-Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * common.h (EM_SH): Define.
-
-Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com>
-
- * common.h (EM_CYGNUS_V850): Define.
-
-Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * common.h (EM_CYGNUS_M32R): Define.
-
-Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
- (SHT_MIPS_SYMBOL_LIB): Define.
- (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
- (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.
-
-Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com>
-
- * dwarf2.h: New file.
-
-Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * common.h (EM_CYGNUS_D10V): Define.
- * d10v.h: New file.
-
-Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: New file.
- * common.h (EM_ALPHA): Define.
-
-Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (Elf_External_Options, Elf_Internal_Options): Define.
- (bfd_mips_elf_swap_options_in): Declare.
- (bfd_mips_elf_swap_options_out): Declare.
- (ODK_*): Define.
- (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
- (bfd_mips_elf64_swap_reginfo_in): Declare.
- (bfd_mips_elf64_swap_reginfo_out): Declare.
-
-Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (E_MIPS_ARCH_4): Define.
-
-Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (Elf64_Mips_External_Rel): Define.
- (Elf64_Mips_Internal_Rel): Define.
- (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
- (RSS_*): Define.
-
-Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (R_SPARC_[56]): Always define.
-
-Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
- PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.
-
-Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_elf_reloc_type): Define.
-
-Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * common.h: Define EM_SPARC32PLUS.
- * sparc.h: New file.
-
-Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.
-
-Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct elf_segment_map): Add includes_filehdr and
- includes_phdrs fields.
-
-Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * internal.h (struct elf_segment_map): Define.
-
-Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com>
-
- * common.h, dwarf.h, external.h, hppa.h, internal.h,
- mips.h, ppc.h: Protect against multiple inclusions.
-
-Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.
-
-Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
-
- * mips.h: Add some definitions used on Irix 5.
-
-Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
- (CPU_PA_RISC1_1): Likewise.
-
-Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h: New file for PowerPC support.
-
-Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * common.h (EM_PPC): Use offical value of 20, not 17.
- (EM_PPC_OLD): Define this to be the old value of EM_PPC.
-
-Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * common.h (EM_PPC): New macro, PowerPC machine id.
-
-Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.
-
-Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
- Add bfd_section field.
-
-Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (Elf32_External_gptab): Define.
-
-Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu)
-
- * common.h (EM_HPPA): Delete.
- (EM_PARISC): Add.
- * hppa.h: New file.
-
-Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
- (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
- (ELF64_R_TYPE): Don't rely on size of unsigned long.
-
-Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * internal.h (Elf_Internal_Shdr): Use PTR, not void *.
-
-Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define.
-
-Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
-
- * internal.h: Remove Elf32_*, Elf64_* typedefs. These names
- cause conflicts with system headers, e.g. link.h in gdb/solib.c.
- Combine 32- and 64-bit versions of *_Internal_Dyn.
- * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs
- by their expansion.
- * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
- typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.
-
-Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary,
- depending upon how quickly I can find a real PowerPC ABI.
-
-Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
-
-Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * common.h: Add comments regarding value of EM_HPPA and how to
- pick an unofficial value.
-
-Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (SHT_MIPS_OPTIONS): Define.
-
-Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Added some more MIPS ABI macro definitions.
-
-Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
-
- * common.h (EM_MIPS_RS4_BE): New macro.
-
-Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: New file. MIPS ABI specific information.
-
-Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
-
- * internal.h: Combined 32- and 64-bit versions of all structures
- except *_Internal_Dyn. This will simply the assembler interface,
- and some bfd code.
-
-Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * external.h, internal.h, common.h: Added 64-bit versions of some
- structures and macros. Renamed old versions to put "32" in the
- name. Some are unchanged.
-
-Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
-
- * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
- * external.h (Elf_External_Dyn): New type.
-
- * internal.h (Elf_Intenral_Shdr): New field `size'.
- (Elf_Internal_Dyn): New type.
-
-Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h (LANG_CHILL): Change value to one randomly picked in
- the user defined range, to reduce probability of collisions.
-
-Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h (AT_src_coords): Whitespace change only.
- * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
- Add from latest gcc.
- * dwarf.h (LANG_CHILL): Add as GNU extension.
-
-Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com)
-
- * dwarf.h: Replace with current version from gcc distribution.
-
-Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com)
-
- * internal.h: Add real struct tags to all the Type_Defs, so they
- can be used in prototypes where the Type_Defs are not known.
-
-Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com)
-
- * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
- info
- added EM_MIPS, and corrected value of EM_860 based on System V ABI
- manual.
-
- * external.h: added Elf_External_{Rel,Rela}.
-
- * internal.h: added Elf_Internal_{Rel,Rela}.
- added rawdata to Elf_Internal_Shdr.
-
-Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
- ../elf-<foo>
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/elf/ChangeLog-9103 b/include/elf/ChangeLog-9103
new file mode 100644
index 0000000000..713d80d144
--- /dev/null
+++ b/include/elf/ChangeLog-9103
@@ -0,0 +1,1914 @@
+2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that
+ uses RELA.
+ (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+ R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+ R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+ R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+ R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+ R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+ R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+ R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+ R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+ R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+ R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+ R_M32R_GOTPC_LO): New relocs.
+
+2003-12-06 Alan Modra <amodra@bigpond.net.au>
+
+ From Jan Beulich <JBeulich@novell.com>
+ * common.h (DT_HIOS): Correct value.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * elf/m32r.h: Add new machine type m32r2 and instruction modes.
+
+2003-11-06 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (R_PPC_RELAX32PC): Define.
+
+2003-10-22 Alexandre Oliva <aoliva@redhat.com>,
+ Michael Snyder <msnyder@redhat.com>
+
+ * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New.
+ (EF_SH_MERGE_MACH): Combine them.
+
+2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number.
+ (_bfd_mmix_before_linker_allocation): Rename from
+ _bfd_mmix_prepare_linker_allocated_gregs.
+ (_bfd_mmix_after_linker_allocation): Rename from
+ _bfd_mmix_finalize_linker_allocated_gregs.
+
+2003-10-06 Dave Brolley <brolley@redhat.com>
+
+ * frv.h (EF_FRV_CPU_FR550): New macro.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (E_MIPS_ARCH_64R2): New define.
+
+2003-09-23 DJ Delorie <dj@redhat.com>
+
+ * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+ R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces.
+ (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+ R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+ R_SH_PSHA, R_SH_PSHL): New.
+
+2003-09-11 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add HP dwarf extensions from their hacked gdb
+ header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (E_V850E1_ARCH): Define.
+
+2003-08-21 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add PGI dwarf extensions.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
+ gcc order.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use
+ C90 function definition. Formatting.
+ (RELOC_NUMBER): Remove !__STDC__ code.
+
+2003-07-28 Eric Christopher <echristo@redhat.com>
+
+ * ppc.h (R_PPC_RELAX32): New. Fake relocation.
+
+2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * v850.h (SHF_V850_GPREL): New.
+ (SHF_V850_EPREL): Likewise.
+ (SHF_V850_R0REL): Likewise.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+ PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+ Renumbered all relocs.
+ 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
+ * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF,
+ R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24,
+ R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT,
+ R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from
+ E_MN10300_MACH_AM332.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (E_MN10300_MACH_AM332): Defined.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (elf_s390_reloc_type): Add long displacement relocations
+ R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+
+2003-06-29 Andreas Jaeger <aj@suse.de>
+
+ * mmix.h: Convert to ISO C90 prototypes.
+ * mips.h: Likewise.
+
+2003-06-13 Robert Millan <zeratul2@wanadoo.es>
+
+ * common.h (GNU_ABI_TAG_NETBSD): New tag.
+ (GNU_ABI_TAG_FREEBSD): New tag.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8.h (E_H8_MACH_H8300SXN): New flag.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (R_V850_32): Rename to R_V850_ABS32.
+ Add R_V850_REL32.
+
+2003-05-15 Roland McGrath <roland@redhat.com>
+
+ * common.h (NT_AUXV, AT_*): New macros.
+ * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
+ * internal.h (Elf_Internal_Auxv): New type.
+
+2003-05-14 Michael Snyder <msnyder@redhat.com>
+ From Bernd Schmidt <bernds@redhat.com>
+ * h8.h (E_H8_MACH_H8300SX): New.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
+
+2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * common.h (EM_SH): Amend comment to refer to SuperH.
+
+2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * common.h: Replace references to Mitsubishi M32R with
+ references to Renesas M32R.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * common.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-01 Bob Wilson <bob.wilson@acm.org>
+
+ * elf/common.h (EM_XTENSA_OLD): Define.
+ * elf/xtensa.h: New file.
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * arm.h (ARM_NOTE_SECTION): Include .gnu in the string.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm.h (ARM_NOTE_SECTION): Define.
+
+2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
+ and SH2E & SH4 merge to SH4, not SH2E.
+
+2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au>
+
+ * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
+ SHT_IA_64_PRIORITY_INIT): Define.
+
+2003-02-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
+
+ * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc.
+ (IS_PPC_TLS_RELOC): Define.
+
+2003-02-10 Nick Clifton <nickc@redhat.com>
+
+ * arm.h (EF_ARM_MAVERICK_FLOAT): Define.
+
+2003-02-05 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h: Add TLS relocs. Format.
+ * ppc64.h: Likewise.
+
+2003-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips.h (EF_MIPS_XGOT): Define.
+
+2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: Add s390 TLS relocations.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+
+ 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (EF_SH_MERGE_MACH): Handle SH2E.
+
+ 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
+
+ * sh.h (EF_SH2E): New.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * sh.h: Split out various bits to bfd/elf32-sh64.h.
+
+2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
+ gotplt and pltoff relocations.
+
+2003-01-17 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h: Formatting, typo fixes.
+ (DT_ENCODING): Correct value.
+
+2003-01-17 Fabio Alemagna <falemagn@aros.org>
+
+ * common.h (ELFOSABI_AROS): Define.
+ (ELFOSABI_OPENVMS): Likewise.
+ (ELFOSABI_NSK): Likewise.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h: Split out ppc64 definitions to..
+ * pcc64.h: ..here. New file.
+ (R_PPC64_REL30): Rename from R_PPC64_ADDR30.
+
+2003-01-13 Dmitry Diky <diwil@mail.ru>
+
+ * elf/common.h (EM_MSP430): Change e_machine value to officially
+ assigned.
+
+2003-01-02 Ben Elliston <bje@redhat.com>
+
+ * common.h (EM_IQ2000): Define.
+ * iq2000.h: New file.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (E_MIPS_ARCH_32R2): New define.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * common.h: Define msp430 machine numbers.
+ * msp430.h: New file. Define msp430 relocs.
+
+2002-12-20 DJ Delorie <dj@redhat.com>
+
+ * xstormy16.h: Add XSTORMY16_12.
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
+ for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
+
+2002-12-10 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
+ DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
+ Define.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
+ (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
+ (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * mmix.h: Replace boolean with bfd_boolean.
+ * sh.h: Likewise.
+
+2002-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
+ elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
+ Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
+ elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
+ Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
+ Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
+ elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
+ elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
+ elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
+ elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
+ Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
+ elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
+ elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
+ elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
+ Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
+ Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
+ Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
+ Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
+ (Elf_Internal_Rel): Delete.
+
+2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sh.h: Add SH TLS relocs.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
+
+2002-09-12 Roland McGrath <roland@redhat.com>
+
+ * dwarf2.h: Updates from GCC version of thie file:
+ (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref.
+ Add DW_OP_GNU_push_tls_address.
+ (DW_OP_lo_user): Change to 0xe0.
+
+2002-08-28 Catherine Moore <clm@redhat.com>
+
+ * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN,
+ R_V850_LONGJUMP): New relocations.
+
+2002-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * i370.h: Define relocs using reloc-macros.h.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
+ EF_M68HC11_ABI): Define for ABI specification.
+ (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
+ linker and debugger.
+ (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
+ (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
+ relaxation.
+
+2002-07-15 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Ben Elliston <bje@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Graham Stott <grahams@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * common.h (EM_IP2K): New macro.
+ (EM_IP2K_OLD): New macro.
+ * ip2k.h: New file.
+
+2002-07-01 Matt Thomas <matt@3am-software.com>
+
+ * vax.h: Rename EF_* to EF_VAX_*.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ From Catherine Moore, Michael Meissner, Dave Brolley:
+ * common.h (EM_CYGNUS_FRV): New macro.
+ * frv.h: New file.
+
+2002-06-06 Lars Brinkhoff <lars@nocrew.org>
+
+ * common.h: Change registry@sco.com to registry@caldera.com.
+ (EM_PDP10, EM_PDP11): Define.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
+ (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
+ prototypes.
+
+2002-06-01 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
+ LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
+
+2002-05-30 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
+ R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
+ R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
+ R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+
+ * vax.h: New file
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * common.h (EM_DLX): Define.
+ * dlx.h: New file.
+
+2002-05-08 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * common.h (NT_GNU_ABI_TAG): Define.
+ (GNU_ABI_TAG_LINUX): Define.
+ (GNU_ABI_TAG_HURD): Define.
+ (GNU_ABI_TAG_SOLARIS): Define.
+ (NT_NETBSD_IDENT): Define.
+ (NT_FREEBSD_ABI_TAG): Define.
+
+2002-04-24 Elena Zannoni <ezannoni@redhat.com>
+
+ * dwarf2.h: Add DW_AT_GNU_vector.
+
+2002-02-13 Matt Fredette <fredette@netbsd.org>
+
+ * m68k.h (EF_M68000): Define.
+
+2002-02-12 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
+
+2002-02-09 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_BRSGP): New.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
+ * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
+ R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
+ R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
+ R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
+ R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
+ R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
+ R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
+ R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8,
+ R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64,
+ R_SH_RELATIVE64): New relocs.
+ (R_SH_FIRST_INVALID_RELOC_4): Adjust.
+ 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
+ * sh.h: Renumbered and renamed some SH5 relocations to match
+ official numbers and names; moved unmaching ones to the range
+ 0xf2-0xff.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (sh64_get_contents_type): Declare.
+ (sh64_address_is_shmedia): Likewise.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (sh64_elf_crange): New type.
+ (struct sh64_section_data): New.
+ (sh64_elf_section_data): New macro.
+ (EF_SH5): Rename back from EF_SH64.
+ 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED,
+ SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE,
+ SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET,
+ SH64_CRANGE_CR_TYPE_OFFSET): New macros.
+ 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64): Don't define EF_SH64_ABI64.
+ 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete.
+ (EF_SH64_ABI64): New.
+ 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh.h (EF_SH64): Rename from EF_SH5.
+ (EF_SH64_32BIT_ABI): New.
+ (EF_SH64_64BIT_ABI): New.
+ (R_SH_PT_16, R_SH_SHMEDIA_CODE
+ R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
+ R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
+ R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
+ R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
+ R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New
+ relocs.
+ 2000-09-01 Ben Elliston <bje@redhat.com>
+ * sh.h (EF_SH5): Define.
+
+2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: Tweak comments.
+ (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New.
+ [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs,
+ _bfd_mmix_finalize_linker_allocated_gregs,
+ _bfd_mmix_check_all_relocs): Provide prototypes.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+ * common.h: Add support for or32 targets.
+
+2002-01-28 Jason Merrill <jason@redhat.com>
+
+ * dwarf2.h: Sync with gcc version.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (DT_PPC64_GLINK): Define.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define.
+
+2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * common.h: Update copyright years.
+ (NT_NETBSDCORE_PROCINFO): Define.
+ (NT_NETBSDCORE_FIRSTMACH): Define.
+
+2002-01-06 Steve Ellcey <sje@cup.hp.com>
+
+ * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX.
+ (SHT_IA_64_HP_OPT_ANOT): Ditto
+ (PT_IA_64_HP_OPT_ANOT): Ditto
+ (PT_IA_64_HP_HSL_ANOT): Ditto
+ (PT_IA_64_HP_STACK): Ditto
+ (SHN_IA_64_ANSI_COMMON): Ditto
+
+2001-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ * external.h (Elf_External_Sym_Shndx): Declare.
+ * internal.h (struct elf_internal_sym <st_shndx>): Make it an
+ unsigned int.
+ * common.h (SHN_BAD): Define.
+
+2001-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/common.h (PT_GNU_EH_FRAME): Define.
+
+2001-12-11 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h (SHN_XINDEX): Comment typo fix.
+ * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short"
+ size, count and index fields to "unsigned int".
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ * common.h (EM_XSTORMY16): Define.
+ * xstormy16.h: New file.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * common.h (NT_ARCH): Define. Remove incorrect comment.
+
+2001-11-11 Geoffrey Keating <geoffk@redhat.com>
+
+ * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: New file.
+
+2001-10-23 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h: White space changes to keep lines under 80 chars.
+
+2001-10-16 Jeff Holcomb <jeffh@redhat.com>
+
+ * internal.h (elf_internal_shdr): Make contents a unsigned char *.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h (elf_internal_rela): Make r_addend a bfd_vma.
+
+2001-09-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry.
+
+2001-09-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * common.h (EM_AVR_OLD): Renamed from...
+ (EM_AVR): this, redefined as in the current ELF standard.
+ (EM_PJ_OLD): Renamed from...
+ (EM_PJ): this, redefined as in the current ELF standard.
+ (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300,
+ EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in
+ the current ELF standard.
+ (EM_CYGNUS_ARC): Removed, unused for a long time.
+
+2001-09-04 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove.
+ (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
+
+2001-08-30 Eric Christopher <echristo@redhat.com>
+
+ * mips.h: Remove E_MIPS_MACH_MIPS32_4K.
+
+2001-08-29 Jeff Law <law@redhat.com>
+
+ * h8.h (EF_H8_MACH): New mask for encoded machine type.
+ (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New
+ machine types.
+
+2001-08-26 J"orn Rennecke <amylaar@redhat.com>
+
+ * h8.h: New file.
+
+2001-08-27 Staffan Ulfberg <staffanu@swox.se>
+
+ * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
+
+2001-06-30 Daniel Berlin <dan@cgsoftware.com>
+
+ * dwarf2.h: Remerge with gcc version,
+ including all new DWARF 2.1 extensions.
+
+2001-06-29 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h: Add DWARF 2.1 attribues.
+
+2001-06-15 Per Bothner <per@bothner.com>
+
+ * dwarf2.h: Partial merge with gcc version.
+ (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list.
+ (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc).
+
+2001-05-15 Ralf Baechle <ralf@gnu.org>
+
+ * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was
+ never in active use and is used otherwise by the ABI.
+
+2001-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * ia64.h (ELF_STRING_ia64_unwind_once): Define.
+ (ELF_STRING_ia64_unwind_info_once): Define.
+
+2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * external.h: Fix typo.
+ * mips.h: Add/Extend many comments with reference to the MIPS ELF64
+ spec v. 2.4, available at e.g.
+ ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
+ (EF_MIPS_UCODE): Define.
+ (EF_MIPS_OPTIONS_FIRST): Define.
+ (EF_MIPS_ARCH_ASE): Define.
+ (EF_MIPS_ARCH_ASE_MDMX): Define.
+ (EF_MIPS_ARCH_ASE_M16): Define.
+ (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
+ (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
+ (SHF_MIPS_NODUPES): Define.
+ (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
+ (ELF64_MIPS_R_TYPE3): Likewise.
+ (ELF64_MIPS_R_TYPE2): Likewise.
+ (ELF64_MIPS_R_TYPE): Likewise.
+ (OHW_R10KLDL): Define.
+
+2001-04-24 Todd Fries <todd@fries.net>
+
+ * sparc.h: Fix typo.
+
+2001-04-20 Johan Rydberg <jrydberg@opencores.org>
+
+ * openrisc.h: New file.
+ * common.h (EM_OPENRISC): New constant.
+
+2001-04-23 Bo Thorsen <bo@suse.de>
+
+ * x86-64.h: Add vtable support.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Remove extraneous whitespace.
+
+2001-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h: Add leading comment about PC-relative location.
+ (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
+ R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
+ R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL):
+ New relocs.
+
+2001-02-27 Philip Blundell <pb@futuretv.com>
+
+ * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
+ (EF_PIC, et al.): Rename to EF_ARM_xx.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * common.h: Add linux target for S/390.
+ * s390.h: New file.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
+ E_ARC_MACH_ARC8): New definitions for cpu types.
+
+ * common.h (EM_ARC): Change comment.
+
+2000-12-12 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Fix formatting.
+
+2000-12-11 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
+ compatibility.
+
+2000-10-16 Chris Demetriou <cgd@sibyte.com>
+
+ * mips.h (E_MIPS_ARCH_32): New constant.
+ (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
+ former with the latter.
+
+ * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
+
+ * mips.h (E_MIPS_MACH_SB1): New constant.
+
+2000-11-30 Jan Hubicka <jh@suse.cz>
+
+ * common.h (EM_X86_64): New macro.
+ * x86-64.h: New file.
+
+2000-11-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * common.h (e_machine numbers): Clarify comments to describe how
+ EM_* constants are assigned. Move EM_PJ from official section to
+ ad-hoc section.
+ (EM_CRIS): Correct comment to match official description.
+ (EM_MMIX): Ditto.
+
+2000-11-22 Nick Clifton <nickc@redhat.com>
+
+ * common.h (EM_JAVELIN): New machine number.
+ (EM_FIREPATH): New machine number.
+ (EM_ZSP): New machine number.
+ (EM_MMIX): New machine number.
+ (EM_HUANY): New machine number.
+ (EM_PRISM): New machine number.
+ (SHT_GROUP): New section type.
+ (SHT_SYMTAB_SHNDX): New section type.
+ (SHF_GROUP): New section flag.
+ (SHN_XINDEX): New section index.
+ (GRP_COMDAT): New section group flag.
+
+2000-11-20 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_MONTEREY): Renamed to ...
+ (ELFOSABI_AIX): This.
+
+2000-11-16 Richard Henderson <rth@redhat.com>
+
+ Update relocations per August psABI docs.
+ * ia64.h (R_IA64_SEGBASE): Remove.
+ (R_IA64_LTV*): Renumber to 0x74 to 0x77.
+ (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
+ (R_IA64_TPREL14, R_IA64_TPREL64I): New.
+ (R_IA64_DTPMOD*): New.
+ (R_IA64_DTPREL*): New.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (EF_CRIS_UNDERSCORE): New.
+
+2000-09-27 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h (R_PARISC_DIR14F): Add.
+
+2000-09-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+ R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
+ numbers to the range from 160 to 167.
+ (R_SH_FIRST_INVALID_RELOC): Adjust.
+ (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
+ New relocs to fill in the gap.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips.h (E_MIPS_MACH_4K): New define.
+
+2000-09-05 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Fix a comment.
+ (R_PARISC_PCREL12F): Define.
+ (R_PARISC_GNU_VTENTRY): Define.
+ (R_PARISC_GNU_VTINHERIT): Define.
+
+2000-09-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+ R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
+ (R_SH_FIRST_INVALID_RELOC): Adjust.
+
+2000-08-14 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
+ EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
+
+2000-08-07 Nick Clifton <nickc@cygnus.com>
+
+ * ppc.h: Remove spurious CYGNUS LOCAL comments.
+ * v850.h: Likewise.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h: New file.
+ (elf_i860_reloc_type): Defined ELF32 i860 relocations.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ common.h (EM_CRIS): New machine number.
+ cris.h: New file.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
+ (DTF_1_CONFEXP): It is 0x00000002 as suspected.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
+ (DT_CONFIG): New. From Solaris 8.
+ (DT_DEPAUDIT): Likewise.
+ (DT_AUDIT): Likewise.
+ (DT_PLTPAD): Likewise.
+ (DT_MOVETAB): Likewise.
+ (DF_1_NODEPLIB): Likewise.
+ (DF_1_NODUMP): Likewise.
+ (DF_1_CONLFAT): Likewise.
+ (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
+ (DTF_1_CONFEXP): Likewise.
+
+2000-07-18 H.J. Lu <hjl@gnu.org>
+
+ * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
+
+2000-07-12 Alan Modra <alan@linuxcare.com.au>
+
+ * internal.h (struct elf_internal_sym): Update comment for st_other.
+
+2000-07-10 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Add comments to all the relocs.
+
+2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (E_AVR_MACH_AVR5): Define.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * m68hc11.h: New file, definitions for the Motorola 68hc11.
+
+2000-06-06 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
+ -1 valued enum.
+ (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
+ prepend comma.
+ (END_RELOC_NUMBERS): Give macro an arg to define as last enum.
+
+ * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
+ with EMPTY_RELOC.
+ * arc.h (R_ARC_max): Likewise.
+ * avr.h (R_AVR_max): Likewise.
+ * fr30.h (R_FR30_max): Likewise.
+ * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
+ * i960.h (R_960_max): Likewise.
+ * m32r.h (R_M32R_max): Likewise.
+ * m68k.h (R_68K_max): Likewise.
+ * mcore.h (R_MCORE_max): Likewise.
+ * mn10300.h (R_MN10300_MAX): Likewise.
+ * pj.h (R_PJ_max): Likewise.
+ * ppc.h (R_PPC_max): Likewise.
+ * sh.h (R_SH_max): Likewise.
+ * sparc.h (R_SPARC_max): Likewise.
+ * v850.h (R_V850_max): Likewise.
+
+ * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
+ * d10v.h (R_D10V_max): Likewise.
+ * d30v.h (R_D30V_max): Likewise.
+ * ia64.h (R_IA64_max): Likewise.
+ * mips.h (R_MIPS_maxext): Likewise.
+ * mn10200.h (R_MN10200_max): Likewise.
+
+ * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
+ define via END_RELOC_NUMBERS.
+
+2000-06-03 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
+ !__STDC__ case.
+ (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.
+
+2000-05-22 Richard Henderson <rth@cygnus.com>
+
+ * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
+ (R_IA64_PCREL22, R_IA64_PCREL64I): New.
+
+2000-05-02 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
+ (ELFOSABI_MODESTO): Defined.
+ (ELFOSABI_OPENBSD): Likewise.
+
+2000-04-21 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+
+ * ia64.h: New file.
+
+2000-04-14 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.
+
+2000-04-14 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_NETBSD): Defined.
+ (ELFOSABI_HURD): Likewise.
+ (ELFOSABI_SOLARIS): Likewise.
+ (ELFOSABI_MONTEREY): Likewise.
+ (ELFOSABI_IRIX): Likewise.
+ (ELFOSABI_FREEBSD): Likewise.
+ (ELFOSABI_TRUE64): Likewise.
+
+2000-04-07 Nick Clifton <nickc@cygnus.com>
+
+ * arm-oabi.h: Delete.
+ * arm.h: Merge in definitions of old reloc numbers from
+ arm-oabi.h.
+
+2000-04-06 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (EF_ARM_SYMSARESORTED): Define.
+ (EF_ARM_EABIMASK): Define.
+ (EF_ARM_EABI_VERSION): Define.
+ (EF_ARM_EABI_UNKNOWN): Define.
+ (EF_ARM_EABI_VER1): Define.
+ (PF_ARM_PI): Define.
+ (PF_ARM_ABS): Define.
+
+2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: New file. AVR ELF support for BFD.
+ * common.h: Add AVR magic number.
+
+2000-03-10 Geoffrey Keating <geoffk@cygnus.com>
+
+ * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
+ R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
+ numbers.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370.h: New file.
+
+2000-02-22 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (ELF_ST_OTHER): Remove definition.
+ (ELF32_ST_OTHER): Remove definition.
+ (ELF64_ST_OTHER): Remove definition.
+
+2000-02-22 H.J. Lu <hjl@gnu.org>
+
+ * common.h (ELFOSABI_LINUX): Define.
+
+2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
+ (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
+ (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.
+
+2000-02-03 H.J. Lu <hjl@gnu.org>
+
+ * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
+ 2000 by Thomas de Lellis <tdel@windriver.com>.
+
+2000-01-27 Thomas de Lellis <tdel@windriver.com>
+
+ * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
+ (STT_ARM_16BIT): New flag. Denotes a label that was defined in
+ Thumb block but was does not identify a function.
+
+2000-01-20 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_MCORE): Fix spelling of Motorola.
+ * mcore.h (EM_MCORE): Fix spelling of Motorola.
+
+2000-01-13 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_S370): Change comment - this is now the IBM
+ System/370.
+ (EM_IA_64): Change comment - this is now the IA-64.
+
+2000-01-11 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (DT_ENCODING): Fix definition of this value.
+ (DT_LOOS): Fix definition of this value.
+ (DT_HIOS): Fix definition of this value.
+ (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
+ of ELF spec changed it.
+ (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
+ of ELF spec changed it.
+
+2000-01-10 Egor Duda <deo@logos-m.ru>
+
+ * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps).
+
+1999-12-28 Nick Clifton <nickc@cygnus.com>
+
+ * mips.h (STO_*): Redefine in terms of STV_* values now in
+ common.h.
+
+1999-12-27 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
+ (EM_MIPS_RS3_LE): New machine number.
+ (EM_RCE): New machine number.
+ (EM_MMA): New machine number.
+ (EM_PCP): New machine number.
+ (EM_NCPU): New machine number.
+ (EM_NDR1): New machine number.
+ (EM_STARCORE): New machine number.
+ (EM_ME16): New machine number.
+ (EM_ST100): New machine number.
+ (EM_TINYJ): New machine number.
+ (EM_FX66): New machine number.
+ (EM_ST9PLUS): New machine number.
+ (EM_ST7): New machine number.
+ (EM_68HC16): New machine number.
+ (EM_68HC11): New machine number.
+ (EM_68HC08): New machine number.
+ (EM_68HC05): New machine number.
+ (EM_SVX): New machine number.
+ (EM_VAX): New machine number.
+ (PF_MASKOS): Change value.
+ (SHT_INIT_ARRAY): New value for sh_type field.
+ (SHT_FINI_ARRAY): New value for sh_type field.
+ (SHT_PREINIT_ARRAY): New value for sh_type field.
+ (SHT_HIUSER): Change value.
+ (SHF_MERGE): New valye for sh_flags field.
+ (SHF_STRINGS): New valye for sh_flags field.
+ (SHF_INFO_LINK): New valye for sh_flags field.
+ (SHF_OS_NONCONFORMING): New valye for sh_flags field.
+ (SHF_MASKOS): Change value.
+ (ELF_ST_VISIBILITY): New macro.
+ (ELF_ST_OTHER): New macro.
+ (STT_COMMON): New symbol type.
+ (STV_DEFAULT): Value for symbol visibility.
+ (STV_INTERNAL): Value for symbol visibility.
+ (STV_HIDDEN): Value for symbol visibility.
+ (STV_PROTECTED): Value for symbol visibility.
+ (DT_RUNPATH): New dynamic section tag.
+ (DT_FLAGS): New dynamic section tag.
+ (DT_ENCODING): New dynamic section tag.
+ (DT_PREINIT_ARRAY): New dynamic section tag.
+ (DT_PREINIT_ARRAYSZ): New dynamic section tag.
+ (DT_LOPROC): New dynamic section tag index.
+ (DT_HIPROC): New dynamic section tag index.
+ (DF_ORIGIN): Value for dynamic section flag.
+ (DF_SYMBOLIC): Value for dynamic section flag.
+ (DF_TEXTREL): Value for dynamic section flag.
+ (DF_BIND_NOW): Value for dynamic section flag.
+
+1999-12-09 Fred Fish <fnf@cygnus.com>
+
+ * i960.h (reloc-macros.h): Include using relative dir elf/.
+ * i386.h (reloc-macros.h): Include using relative dir elf/.
+ * hppa.h (reloc-macros.h): Include using relative dir elf/.
+
+1999-12-07 Jim Blandy <jimb@cygnus.com>
+
+ * common.h (NT_PRXFPREG): New definition.
+
+Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (E_MN10300_MACH_AM33): Define.
+
+Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (PF_HP_PAGE_SIZE): Define.
+ (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
+ (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.
+
+Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com>
+
+ * m32r.h (E_M32RX_ARCH): Define.
+
+1999-09-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * pj.h: New file.
+ * common.h (EM_PJ): Define.
+
+1999-09-02 Ulrich Drepper <drepper@cygnus.com>
+
+ * hppa.h: Add HPUX specific symbol type definitions.
+
+ * hppa.h: Add HPUX specific dynamic and program header table
+ specific definitions.
+
+1999-08-31 Scott Bambrough <scottb@netwinder.org>
+
+ * common.h (NT_TASKSTRUCT): Define.
+
+1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
+ flag (as per SCD2.4.1).
+
+1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
+ ELF64_R_SYM bits.
+
+1999-06-21 Philip Blundell <pb@nexus.co.uk>
+
+ * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
+
+1999-07-13 Andreas Schwab <schwab@suse.de>
+
+ * m68k.h (EF_CPU32): Move definition inside multiple inclusion
+ guard.
+
+1999-07-08 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
+ (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
+ (DT_SPARC_PLTFMT): Delete.
+ Based on a patch from Jakub Jelinek.
+
+Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
+
+1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
+
+ * sparc.h (R_SPARC_max_std): Define.
+
+Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Update with various changes from newest PA ELF
+ specifications.
+
+1999-06-03 Ian Lance Taylor <ian@zembu.com>
+
+ * common.h (EM_PPC64): Define.
+
+1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com>
+
+ * dwarf.h: Add LANG_JAVA.
+ * dwarf2.h: Add DW_LANG_Java.
+
+1999-05-29 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (ELFOSABI_ARM): Define.
+
+1999-05-28 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: Update comment.
+
+1999-05-28 Ian Lance Taylor <ian@zembu.com>
+
+ * i960.h: New file.
+
+1999-05-16 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (R_MCORE_COPY): Define.
+ (R_MCORE_GLOB_DAT): Define.
+ (R_MCORE_JUMP_SLOT): Define.
+
+1999-05-15 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h (R_MCORE_RELATIVE): Define.
+
+1999-05-05 Catherine Moore <clm@cygnus.com>
+
+ * m68k.h (EF_CPU32): Define.
+
+1999-04-21 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
+ fake reloc entry name (if possible), in order to avoid conflicts
+ with typedefs of the same name.
+
+1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_32BITMODE): New.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * mcore.h: New header file. Defines for Motorola's MCore
+ processor.
+
+1999-04-08 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Add new constants defined in: "System V Application
+ Binary Interface - DRAFT - April 29, 1998" found at the web site:
+ http://www.sco.com/developer/gabi/contents.html
+
+ (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this
+ value.
+
+1999-03-31 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: Fixed to not generate an enum with a trailing
+ comma.
+
+1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (E_MIPS_MACH_5000): New.
+
+1999-03-10 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add definitions for a few more Solaris ELF extensions.
+
+Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com>
+
+ * external.h: Only use attribute if __GNUC__ is defined.
+
+1999-02-17 Nick Clifton <nickc@cygnus.com>
+
+ Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>
+
+ * external.h: struct Elf_External_Versym must be packed on
+ ARM. Code uses sizeof(Elf_External_Versym) and assumes it is
+ equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com>
+
+1999-02-02 Nick Clifton <nickc@cygnus.com>
+
+ * dwarf2.h (DWARF2_External_ARange): New structure.
+ (DWARF2_Internal_ARange): New structure.
+
+Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Renumber relocs to conform to standard.
+ (EF_NEW_ABI): Define.
+ (EF_OLD_ABI): Define.
+ * arm-oabi.h: New file.
+
+1999-01-28 Nick Clifton <nickc@cygnus.com>
+
+ * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.
+
+1999-01-27 Nick Clifton <nickc@cygnus.com>
+
+ * dwarf2.h: Add typedefs for structures found in dwarf2 sections.
+
+1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (E_MIPS_MACH_4111): New.
+
+1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
+ E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
+
+1998-12-03 Nick Clifton <nickc@cygnus.com>
+
+ * fr30.h: Add R_FR30_48 reloc.
+
+1998-12-02 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add external data type for conflict section.
+
+ * mips.h: Add more LL_* options from Irix 6.5.
+
+ * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.
+
+Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC,
+ R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max.
+
+Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.
+
+Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com>
+
+ * d10v.h: Add vtable relocs.
+
+Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_FR30): New machine number.
+
+ * fr30.h: New file: Definitions for the FR30.
+
+Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com>
+
+ From Philip Blundell <pb@nexus.co.uk>:
+ * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
+ (EF_ALIGN8): New flag.
+
+Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (NT_LWPSTATUS): Close comment accidentally left open.
+
+Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com>
+
+ * sh.h: Add vtable relocs.
+
+Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com>
+
+ * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
+ NT_LWPSTATUS,NT_LWPSINFO): added.
+ * internal.h (Elf_Internal_Note): new structure members.
+
+Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com>
+
+ * m32r.h: Add vtable relocs.
+
+Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com>
+
+ * sparc.h: Add vtable relocs.
+
+Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com>
+
+ * v850.h: Add vtable relocs.
+
+Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (R_386_max): Change from 252 to 24.
+
+Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com>
+
+ * i386.h: Change vtable reloc numbers.
+
+Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.h: Add vtable relocs and R_68K_max.
+
+Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add vtable relocs.
+
+Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx
+ definitions.
+
+Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com>
+
+ * i386.h: Add vtable relocs.
+
+1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.
+
+ * external.h: Add Elf_External_Syminfo definition.
+
+ * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
+ and Elf64_Syminfo definitions.
+
+Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add ST_THUMB definitions.
+
+Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com>
+
+ * arm.h: Add ELF header flags to specify compile time optins:
+ EF_INTERWORK: New flag.
+ EF_APCS_26: New flag.
+ EF_APCS_FLOAT: New flag.
+ EF_PIC: New flag.
+
+1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add missing RHF_* constants.
+
+Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Add R_ARM_THM_PC9 relocation.
+
+1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com>
+
+ * common.h: Add new DT_* entries and there flag macros from Solaris.
+
+Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com>
+
+ * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.
+
+Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add R_MN10300_24 relocation.
+
+1998-07-24 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add MIPS64 relocation names and values.
+
+Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com>
+
+ * arm.h: Rename relocations.
+
+1998-07-22 Ulrich Drepper <drepper@cygnus.com>
+
+ * ppc.h: Define enum as elf_ppc_reloc_type.
+
+Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com>
+
+ * reloc-macros.h: New file. Provides relocation macros:
+ START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
+ END_RELOC_NUMBERS used by other elf header files.
+
+ * alpha.h: Use reloc-macros.h.
+ * arc.h: Use reloc-macros.h.
+ * arm.h: Use reloc-macros.h.
+ * d10v.h: Use reloc-macros.h.
+ * d30v.h: Use reloc-macros.h.
+ * hppa.h: Use reloc-macros.h.
+ * i386.h: Use reloc-macros.h.
+ * m32r.h: Use reloc-macros.h.
+ * m68k.h: Use reloc-macros.h.
+ * mips.h: Use reloc-macros.h.
+ * mn10200.h: Use reloc-macros.h.
+ * mn10300.h: Use reloc-macros.h.
+ * ppc.h: Use reloc-macros.h.
+ * sh.h: Use reloc-macros.h.
+ * sparc.h: Use reloc-macros.h.
+ * v850.h: Use reloc-macros.h.
+
+1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com>
+
+ * mn10300.h: Rewrite relocation definition using macros.
+ * mips.h: Likewise.
+ * ppc.h: Likewise.
+ * alpha.h: Likewise.
+ * arm.h: Likewise.
+ * d10v.h: Likewise.
+ * d30v.h: Likewise.
+ * m32r.h: Likewise.
+ * m68k.h: Likewise.
+ * mn10200.h: Likewise.
+ * sh.h: Likewise.
+ * sparc.h: Likewise.
+
+1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com>
+
+ * arm.h: New file.
+ * d10v.h: New file.
+ * d30v.h: New file.
+ * i386.h: New file.
+ * m68k.h: New file.
+ * mn10200.h: New file.
+ * sh.h: New file.
+
+ * mips.h: Add R_MIPS_* and SHT_MIPS_* entries.
+
+ * mn10300.h: Add R_MN10300_* entries.
+
+ * ppc.h: Add R_PPC_* entries.
+
+1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
+ Define Elf32_External_Lib.
+
+1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com>
+
+ * mips.h (PT_MIPS_OPTIONS): New symbol.
+ Add lots of DT_MIPS_* symbols.
+
+Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: New file.
+
+Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
+ EM_OLD_ALPHA): Add these constants.
+
+Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_486, EM_S370): Add these constants.
+
+Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_ARM): Add this constant.
+
+Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.
+
+Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
+
+Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com>
+
+ * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
+ (EM_SPARCV9): New. This is the official ABI name and number.
+
+Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.
+
+Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com>
+
+ * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
+ specify machine architecture.
+
+Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
+ SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
+ SHT_V850_ZCOMMON to handle v850 common sections.
+ enum reloc_type renamed to v850_reloc_type to avoid name
+ conflict.
+
+Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.
+
+Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com>
+
+ * sparc.h (DT_SPARC_REGISTER): New macro.
+ (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
+ go away soon.
+
+Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
+ (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
+ (SHN_BEFORE,SHN_AFTER): New macros.
+ (SHF_EXCLUDE,SHF_ORDERED): New macros.
+ (STT_REGISTER): New macro.
+ (R_SPARC_GLOB_JMP): Deleted, but slot reserved.
+ (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
+ (R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
+ (ELF64_R_TYPE_{DATA,ID,INFO}): New macros.
+
+Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.
+
+Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.
+
+Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com>
+
+ * mips.h: Correct typo in comment.
+
+Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Remove R_V850_16_PCREL.
+
+Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com>
+
+ * common.h: Remove magic number for V850E.
+ * common.h: Remove magic number for V850EA.
+ * v850.h: Add new flags for e_flags field in elf header.
+
+Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com>
+
+ * common.h (EM_CYGNUS_V850E): backend magic number for v850e.
+ * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.
+
+Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (reloc_type): Add 16 bit PC relative relocation.
+
+Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h (enum reloc): Move here from elf32-arc.c.
+
+Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h: New file.
+ * common.h (EM_CYGNUS_ARC): Define.
+
+Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
+ bfd_signed_vma to bfd_size_type, as they are not signed.
+
+Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h (SHF_M32R_CAN_RELAX): Define.
+
+Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * external.h: Dump the 32/64 bit specific forms of the version
+ structures, and just define them as size independent.
+
+ * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.
+
+Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * m32r.h (enum reloc_type): Add R_M32R_SDA16.
+ (SHN_M32R_SCOMMON): Define.
+
+Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ From Eric Youngdale <eric@andante.jic.com>:
+ * external.h, internal.h, common.h: Added new structures and
+ definitions for ELF versions.
+
+Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * common.h (EM_CYGNUS_D30V): Define.
+
+Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.
+
+Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
+ field.
+ (SHN_V850_*): Remove v850 specific section indexes, which are not
+ needed.
+ (enum reloc_type): Move the v850 relocations here from
+ elf32-v850.c
+
+Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h: New file, provide V850 specific definitions.
+
+Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (DT_AUXILIARY): Define.
+ (DT_FILTER): Define.
+
+Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarf2.h: Update.
+
+Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (STO_MIPS16): Define.
+
+Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Remove empty file.
+
+Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (EF_MIPS_ABI2): Define.
+
+Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com)
+
+ * common.h: Break mn10x00 support into mn10200 and mn10300.
+
+Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com)
+
+ * common.h (EM_CYGNUS_MN10x00): Define.
+
+Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com>
+
+ * m32r.h: New file.
+
+Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * common.h (EM_SH): Define.
+
+Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com>
+
+ * common.h (EM_CYGNUS_V850): Define.
+
+Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * common.h (EM_CYGNUS_M32R): Define.
+
+Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
+ (SHT_MIPS_SYMBOL_LIB): Define.
+ (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
+ (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.
+
+Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com>
+
+ * dwarf2.h: New file.
+
+Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * common.h (EM_CYGNUS_D10V): Define.
+ * d10v.h: New file.
+
+Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: New file.
+ * common.h (EM_ALPHA): Define.
+
+Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (Elf_External_Options, Elf_Internal_Options): Define.
+ (bfd_mips_elf_swap_options_in): Declare.
+ (bfd_mips_elf_swap_options_out): Declare.
+ (ODK_*): Define.
+ (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
+ (bfd_mips_elf64_swap_reginfo_in): Declare.
+ (bfd_mips_elf64_swap_reginfo_out): Declare.
+
+Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (E_MIPS_ARCH_4): Define.
+
+Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (Elf64_Mips_External_Rel): Define.
+ (Elf64_Mips_Internal_Rel): Define.
+ (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
+ (RSS_*): Define.
+
+Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (R_SPARC_[56]): Always define.
+
+Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
+ PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.
+
+Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_elf_reloc_type): Define.
+
+Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * common.h: Define EM_SPARC32PLUS.
+ * sparc.h: New file.
+
+Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.
+
+Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct elf_segment_map): Add includes_filehdr and
+ includes_phdrs fields.
+
+Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * internal.h (struct elf_segment_map): Define.
+
+Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com>
+
+ * common.h, dwarf.h, external.h, hppa.h, internal.h,
+ mips.h, ppc.h: Protect against multiple inclusions.
+
+Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.
+
+Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
+
+ * mips.h: Add some definitions used on Irix 5.
+
+Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
+ (CPU_PA_RISC1_1): Likewise.
+
+Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h: New file for PowerPC support.
+
+Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * common.h (EM_PPC): Use offical value of 20, not 17.
+ (EM_PPC_OLD): Define this to be the old value of EM_PPC.
+
+Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * common.h (EM_PPC): New macro, PowerPC machine id.
+
+Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.
+
+Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
+ Add bfd_section field.
+
+Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (Elf32_External_gptab): Define.
+
+Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu)
+
+ * common.h (EM_HPPA): Delete.
+ (EM_PARISC): Add.
+ * hppa.h: New file.
+
+Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
+ (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
+ (ELF64_R_TYPE): Don't rely on size of unsigned long.
+
+Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * internal.h (Elf_Internal_Shdr): Use PTR, not void *.
+
+Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define.
+
+Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * internal.h: Remove Elf32_*, Elf64_* typedefs. These names
+ cause conflicts with system headers, e.g. link.h in gdb/solib.c.
+ Combine 32- and 64-bit versions of *_Internal_Dyn.
+ * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs
+ by their expansion.
+ * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
+ typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.
+
+Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary,
+ depending upon how quickly I can find a real PowerPC ABI.
+
+Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
+
+Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * common.h: Add comments regarding value of EM_HPPA and how to
+ pick an unofficial value.
+
+Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (SHT_MIPS_OPTIONS): Define.
+
+Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Added some more MIPS ABI macro definitions.
+
+Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
+
+ * common.h (EM_MIPS_RS4_BE): New macro.
+
+Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: New file. MIPS ABI specific information.
+
+Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
+
+ * internal.h: Combined 32- and 64-bit versions of all structures
+ except *_Internal_Dyn. This will simply the assembler interface,
+ and some bfd code.
+
+Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * external.h, internal.h, common.h: Added 64-bit versions of some
+ structures and macros. Renamed old versions to put "32" in the
+ name. Some are unchanged.
+
+Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
+
+ * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
+ * external.h (Elf_External_Dyn): New type.
+
+ * internal.h (Elf_Intenral_Shdr): New field `size'.
+ (Elf_Internal_Dyn): New type.
+
+Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h (LANG_CHILL): Change value to one randomly picked in
+ the user defined range, to reduce probability of collisions.
+
+Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h (AT_src_coords): Whitespace change only.
+ * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
+ Add from latest gcc.
+ * dwarf.h (LANG_CHILL): Add as GNU extension.
+
+Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com)
+
+ * dwarf.h: Replace with current version from gcc distribution.
+
+Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com)
+
+ * internal.h: Add real struct tags to all the Type_Defs, so they
+ can be used in prototypes where the Type_Defs are not known.
+
+Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com)
+
+ * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
+ info
+ added EM_MIPS, and corrected value of EM_860 based on System V ABI
+ manual.
+
+ * external.h: added Elf_External_{Rel,Rela}.
+
+ * internal.h: added Elf_Internal_{Rel,Rela}.
+ added rawdata to Elf_Internal_Shdr.
+
+Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
+ ../elf-<foo>
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/elf/common.h b/include/elf/common.h
index 3c4fabec6c..15aa5d9b11 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -404,6 +404,10 @@
#define NT_NETBSD_IDENT 1
+/* Values for OpenBSD .note.openbsd.ident notes. Note name is "OpenBSD". */
+
+#define NT_OPENBSD_IDENT 1
+
/* Values for FreeBSD .note.ABI-tag notes. Note name is "FreeBSD". */
#define NT_FREEBSD_ABI_TAG 1
diff --git a/include/elf/frv.h b/include/elf/frv.h
index 08def62a32..8246a21bd4 100644
--- a/include/elf/frv.h
+++ b/include/elf/frv.h
@@ -35,6 +35,20 @@ START_RELOC_NUMBERS (elf_frv_reloc_type)
RELOC_NUMBER (R_FRV_GPREL32, 8)
RELOC_NUMBER (R_FRV_GPRELHI, 9)
RELOC_NUMBER (R_FRV_GPRELLO, 10)
+ RELOC_NUMBER (R_FRV_GOT12, 11)
+ RELOC_NUMBER (R_FRV_GOTHI, 12)
+ RELOC_NUMBER (R_FRV_GOTLO, 13)
+ RELOC_NUMBER (R_FRV_FUNCDESC, 14)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOT12, 15)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTHI, 16)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTLO, 17)
+ RELOC_NUMBER (R_FRV_FUNCDESC_VALUE, 18)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFF12, 19)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFHI, 20)
+ RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFLO, 21)
+ RELOC_NUMBER (R_FRV_GOTOFF12, 22)
+ RELOC_NUMBER (R_FRV_GOTOFFHI, 23)
+ RELOC_NUMBER (R_FRV_GOTOFFLO, 24)
RELOC_NUMBER (R_FRV_GNU_VTINHERIT, 200)
RELOC_NUMBER (R_FRV_GNU_VTENTRY, 201)
END_RELOC_NUMBERS(R_FRV_max)
@@ -67,6 +81,7 @@ END_RELOC_NUMBERS(R_FRV_max)
#define EF_FRV_LIBPIC 0x00001000 /* -mlibrary-pic */
#define EF_FRV_G0 0x00002000 /* -G 0, no small data ptr */
#define EF_FRV_NOPACK 0x00004000 /* -mnopack */
+#define EF_FRV_FDPIC 0x00008000 /* -mfdpic */
#define EF_FRV_CPU_MASK 0xff000000 /* specific cpu bits */
#define EF_FRV_CPU_GENERIC 0x00000000 /* generic FRV */
@@ -78,7 +93,8 @@ END_RELOC_NUMBERS(R_FRV_max)
#define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */
/* Mask of PIC related bits */
-#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC)
+#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \
+ | EF_FRV_FDPIC)
/* Mask of all flags */
#define EF_FRV_ALL_FLAGS (EF_FRV_GPR_MASK | \
diff --git a/include/elf/m32r.h b/include/elf/m32r.h
index 2663f3abb3..709d792344 100644
--- a/include/elf/m32r.h
+++ b/include/elf/m32r.h
@@ -25,18 +25,48 @@
/* Relocations. */
START_RELOC_NUMBERS (elf_m32r_reloc_type)
RELOC_NUMBER (R_M32R_NONE, 0)
- RELOC_NUMBER (R_M32R_16, 1)
- RELOC_NUMBER (R_M32R_32, 2)
- RELOC_NUMBER (R_M32R_24, 3)
- RELOC_NUMBER (R_M32R_10_PCREL, 4)
- RELOC_NUMBER (R_M32R_18_PCREL, 5)
- RELOC_NUMBER (R_M32R_26_PCREL, 6)
- RELOC_NUMBER (R_M32R_HI16_ULO, 7)
- RELOC_NUMBER (R_M32R_HI16_SLO, 8)
- RELOC_NUMBER (R_M32R_LO16, 9)
- RELOC_NUMBER (R_M32R_SDA16, 10)
- RELOC_NUMBER (R_M32R_GNU_VTINHERIT, 11)
- RELOC_NUMBER (R_M32R_GNU_VTENTRY, 12)
+ /* REL relocations */
+ RELOC_NUMBER (R_M32R_16, 1) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_32, 2) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_24, 3) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_10_PCREL, 4) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_18_PCREL, 5) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_26_PCREL, 6) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_HI16_ULO, 7) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_HI16_SLO, 8) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_LO16, 9) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_SDA16, 10) /* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_GNU_VTINHERIT, 11)/* For backwards compatibility. */
+ RELOC_NUMBER (R_M32R_GNU_VTENTRY, 12) /* For backwards compatibility. */
+
+ /* RELA relocations */
+ RELOC_NUMBER (R_M32R_16_RELA, 33)
+ RELOC_NUMBER (R_M32R_32_RELA, 34)
+ RELOC_NUMBER (R_M32R_24_RELA, 35)
+ RELOC_NUMBER (R_M32R_10_PCREL_RELA, 36)
+ RELOC_NUMBER (R_M32R_18_PCREL_RELA, 37)
+ RELOC_NUMBER (R_M32R_26_PCREL_RELA, 38)
+ RELOC_NUMBER (R_M32R_HI16_ULO_RELA, 39)
+ RELOC_NUMBER (R_M32R_HI16_SLO_RELA, 40)
+ RELOC_NUMBER (R_M32R_LO16_RELA, 41)
+ RELOC_NUMBER (R_M32R_SDA16_RELA, 42)
+ RELOC_NUMBER (R_M32R_RELA_GNU_VTINHERIT, 43)
+ RELOC_NUMBER (R_M32R_RELA_GNU_VTENTRY, 44)
+
+ RELOC_NUMBER (R_M32R_GOT24, 48)
+ RELOC_NUMBER (R_M32R_26_PLTREL, 49)
+ RELOC_NUMBER (R_M32R_COPY, 50)
+ RELOC_NUMBER (R_M32R_GLOB_DAT, 51)
+ RELOC_NUMBER (R_M32R_JMP_SLOT, 52)
+ RELOC_NUMBER (R_M32R_RELATIVE, 53)
+ RELOC_NUMBER (R_M32R_GOTOFF, 54)
+ RELOC_NUMBER (R_M32R_GOTPC24, 55)
+ RELOC_NUMBER (R_M32R_GOT16_HI_ULO, 56)
+ RELOC_NUMBER (R_M32R_GOT16_HI_SLO, 57)
+ RELOC_NUMBER (R_M32R_GOT16_LO, 58)
+ RELOC_NUMBER (R_M32R_GOTPC_HI_ULO, 59)
+ RELOC_NUMBER (R_M32R_GOTPC_HI_SLO, 60)
+ RELOC_NUMBER (R_M32R_GOTPC_LO, 61)
END_RELOC_NUMBERS (R_M32R_max)
/* Processor specific section indices. These sections do not actually
diff --git a/include/fibheap.h b/include/fibheap.h
index fc37f9ef63..4eebaf13ba 100644
--- a/include/fibheap.h
+++ b/include/fibheap.h
@@ -59,8 +59,13 @@ typedef struct fibnode
struct fibnode *right;
fibheapkey_t key;
void *data;
+#ifdef __GNUC__
+ __extension__ unsigned long int degree : 31;
+ __extension__ unsigned long int mark : 1;
+#else
unsigned int degree : 31;
unsigned int mark : 1;
+#endif
} *fibnode_t;
extern fibheap_t fibheap_new PARAMS ((void));
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 42cf9a5e4f..8f0d6d7635 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3102 +1,17 @@
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
+2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
+
+ * h8300.h (BITOP): Pass MEMRELAX flag.
- * m68k.h: Add MCFv4/MCF5528x support.
+2004-01-09 Anil Paranjpe <anilp1@KPITCummins.com>
-2003-10-19 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h (JMP_INSN_BYTE): Define.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Document +E, +F, +G, +H, and +I operand types.
- Update documentation of I, +B and +C operand types.
- (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
- (M_DEXT, M_DINS): New enum values.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850.h (PROCESSOR_V850E1): Define.
-
-2003-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other
- PPC_OPCODE_* defines.
-
-2003-08-16 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (fmov.ds): Expand as famov.ds.
- (fmov.sd): Expand as famov.sd.
- (pfmov.ds): Expand as pfamov.ds.
-
-2003-08-07 Michael Meissner <gnu@the-meissners.org>
-
- * cgen.h: Remove PARAM macro usage in all prototypes.
- (CGEN_EXTRACT_INFO): Use void * instead of PTR.
- (cgen_print_fn): Ditto.
- (CGEN_HW_ENTRY): Ditto.
- (CGEN_MAYBE_MULTI_IFLD): Ditto.
- (struct cgen_insn): Ditto.
- (CGEN_CPU_TABLE): Ditto.
-
-2003-08-07 Alan Modra <amodra@bigpond.net.au>
-
- * alpha.h: Remove PARAMS macro.
- * arc.h: Likewise.
- * d10v.h: Likewise.
- * d30v.h: Likewise.
- * i370.h: Likewise.
- * or32.h: Likewise.
- * pj.h: Likewise.
- * ppc.h: Likewise.
- * sparc.h: Likewise.
- * tic80.h: Likewise.
- * v850.h: Likewise.
-
-2003-07-18 Michael Snyder <msnyder@redhat.com>
-
- * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (CPU_RM7000): New macro.
- (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (AM33_2): Renamed from AM33.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * mn10300.h (AM332, FMT_D3): Defined.
- (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
- (MN10300_OPERAND_FPCR): Likewise.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
-
-2003-06-25 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
- (IMM8U, IMM8U_NS): Define.
- (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
-
-2003-06-25 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
- mov.l ERs,@(dd:32,ERd) entries.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386.h (i386_optab): Support Intel Precott New Instructions.
-
-2003-06-10 Gary Hade <garyhade@us.ibm.com>
-
- * ppc.h (PPC_OPERAND_DQ): Define.
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300.h (IMM4_NS, IMM8_NS): New.
- (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
- Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
-
- * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
- (ldc): Split ccr ops from exr ops (which are only available
- on H8S or H8SX).
- (stc): Ditto.
- (andc, orc, xorc): Ditto.
- (ldmac, stmac, clrmac, mac): Change access to AV_H8S.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
- and Bernd Schmidt <bernds@redhat.com>
- and Alexandre Oliva <aoliva@redhat.com>
- * h8300.h: Add support for h8300sx instruction set.
-
-2003-05-23 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (expand_type): Add XP_ONLY.
- (scyc.b): New XP instruction.
- (ldio.l): Likewise.
- (ldio.s): Likewise.
- (ldio.b): Likewise.
- (ldint.l): Likewise.
- (ldint.s): Likewise.
- (ldint.b): Likewise.
- (stio.l): Likewise.
- (stio.s): Likewise.
- (stio.b): Likewise.
- (pfld.q): Likewise.
-
-2003-05-20 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (flush): Set lower 3 bits properly and use 'L'
- for the immediate operand type instead of 'i'.
-
-2003-05-20 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (fzchks): Both S and R bits must be set.
- (pfzchks): Likewise.
- (faddp): Likewise.
- (pfaddp): Likewise.
- (fix.ss): Remove (invalid instruction).
- (pfix.ss): Likewise.
- (ftrunc.ss): Likewise.
- (pftrunc.ss): Likewise.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * i860.h (form, pform): Add missing .dd suffix.
-
-2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
-
-2003-04-07 Michael Snyder <msnyder@redhat.com>
-
- * h8300.h (ldc/stc): Fix up src/dst swaps.
-
-2003-04-09 J. Grant <jg-binutils@jguk.org>
-
- * mips.h: Correct comment typo.
-
-2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
- (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
- (s390_opcode): Remove architecture. Add modes and min_cpu.
-
-2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
- processing.
-
-2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * m68hc11.h (cpu6812s): Define.
-
-2003-01-07 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Fix missing space in comment.
- (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
- (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
- by four bits.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Update copyright years to include 2002 (which had
- been missed previously) and 2003. Make comments about "+A",
- "+B", and "+C" operand types more descriptive.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Note that the "+D" operand type name is now used.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Document "+" as the start of two-character operand
- type names, and add new "K", "+A", "+B", and "+C" operand types.
- (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
- (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
- defines.
-
-2002-12-24 Dmitry Diky <diwil@mail.ru>
-
- * msp430.h: New file. Defines msp430 opcodes.
-
-2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
-
- * h8300.h: Added some more pseudo opcodes for system call
- processing.
-
-2002-12-19 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
- (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
- (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
- (OP_OP_SDC2, OP_OP_SDC3): Define.
-
-2002-12-16 Alan Modra <amodra@bigpond.net.au>
-
- * hppa.h (completer_chars): #if 0 out.
-
- * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
- "default_args".
- (struct not_wot): Constify "args".
- (struct not): Constify "name".
- (numopcodes): Delete.
- (endop): Delete.
-
-2002-12-13 Alan Modra <amodra@bigpond.net.au>
-
- * pj.h (pj_opc_info_t): Add union.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * ia64.h: Fix copyright message.
- (IA64_OPND_AR_CSD): New operand kind.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
-
-2002-12-03 Alan Modra <amodra@bigpond.net.au>
-
- * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
- Constify "leaf" and "multi".
-
-2002-11-19 Klee Dienes <kdienes@apple.com>
-
- * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
- fields.
- (h8_opcodes). Modify initializer and initializer macros to no
- longer initialize the removed fields.
-
-2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h (c4x_insts): Fixed LDHI constraint
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * h8300.h (h8_opcode): Remove 'length' field.
- (h8_opcodes): Mark as 'const' (both the declaration and
- definition). Modify initializer and initializer macros to no
- longer initialize the length field.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * arc.h (arc_ext_opcodes): Declare as extern.
- (arc_ext_operands): Declare as extern.
- * i860.h (i860_opcodes): Declare as const.
-
-2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: File reordering. Added enhanced opcodes.
-
-2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: Major rewrite of entire file. Define instruction
- classes, and put each instruction into a class.
-
-2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x.h: Added new opcodes and corrected some bugs. Add support
- for new DSP types.
-
-2002-10-14 Alan Modra <amodra@bigpond.net.au>
-
- * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h: Update comment for new opcodes.
- (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
- (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
- (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
- (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
- (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
- Don't match CPU_R4111 with INSN_4100.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- From matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
- instructions.
- (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
- PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
- e500x2 Integer select, branch locking, performance monitor,
- cache locking and machine check APUs, respectively.
- (PPC_OPCODE_EFS): New opcode type for efs* instructions.
- (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
- (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
- M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
- memory banks.
- (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
-
-2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_MIPS16): New define.
-
-2002-07-08 Alan Modra <amodra@bigpond.net.au>
-
- * i386.h: Remove IgnoreSize from movsx and movzx.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * a29k.h: Replace CONST with const.
- (CONST): Don't define.
- * convex.h: Replace CONST with const.
- (CONST): Don't define.
- * dlx.h: Replace CONST with const.
- * or32.h (CONST): Don't define.
-
-2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
- (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
- (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
- (INSN_MDMX): New constants, for MDMX support.
- (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * dlx.h: New file.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * ia64.h: Use #include "" instead of <> for local header files.
- * sparc.h: Likewise.
-
-2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
-
-2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
-
- * h8300.h: Corrected defs of all control regs
- and eepmov instr.
-
-2002-04-11 Alan Modra <amodra@bigpond.net.au>
-
- * i386.h: Add intel mode cmpsd and movsd.
- Put them before SSE2 insns, so that rep prefix works.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
- instructions.
- (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
- may be passed along with the ISA bitmask.
-
-2002-03-05 Paul Koning <pkoning@equallogic.com>
-
- * pdp11.h: Add format codes for float instruction formats.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
-
-Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz>
-
- * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
-
-Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz>
-
- * i386.h (push,pop): Allow 16bit operands in 64bit mode.
- (xchg): Fix.
- (in, out): Disable 64bit operands.
- (call, jmp): Avoid REX prefixes.
- (jcxz): Prohibit in 64bit mode
- (jrcxz, loop): Add 64bit variants.
- (movq): Fix patterns.
- (movmskps, pextrw, pinstrw): Add 64bit variants.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32.h: New file.
-
-2002-01-22 Graydon Hoare <graydon@redhat.com>
-
- * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
- (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
-
-2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-
- * h8300.h: Comment typo fix.
-
-2002-01-03 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
- (PPC_OPCODE_BOOKE64): Likewise.
-
-Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (call, ret): Move to end of table.
- (addb, addib): PA2.0 variants should have been PA2.0W.
- (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
- happy.
- (fldw, fldd, fstw, fstd, bb): Likewise.
- (short loads/stores): Tweak format specifier slightly to keep
- disassembler happy.
- (indexed loads/stores): Likewise.
- (absolute loads/stores): Likewise.
-
-2001-12-04 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v.h (OPERAND_NOSP): New macro.
-
-2001-11-29 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v.h (OPERAND_SP): New macro.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * tic54x.h: Revise opcode layout; don't really need a separate
- structure for parallel opcodes.
-
-2001-11-13 Zack Weinberg <zack@codesourcery.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
- accept WordReg.
-
-2001-11-04 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OPCODE_IS_MEMBER): Remove extra space.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * mmix.h: New file.
-
-2001-10-18 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
- of the expression, to make source code merging easier.
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h: Sort coprocessor instruction argument characters
- in comment, add a few more words of description for "H".
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips.h (INSN_SB1): New cpu-specific instruction bit.
- (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
- if cpu is CPU_SB1.
-
-2001-10-17 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
-
-2001-10-12 matthew green <mrg@redhat.com>
-
- * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
- opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
- instructions, respectively.
-
-2001-09-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * v850.h: Remove spurious comment.
-
-2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
-
- * h8300.h: Fix compile time warning messages
-
-2001-09-04 Richard Henderson <rth@redhat.com>
-
- * alpha.h (struct alpha_operand): Pack elements into bitfields.
-
-2001-08-31 Eric Christopher <echristo@redhat.com>
-
- * mips.h: Remove CPU_MIPS32_4K.
-
-2001-08-27 Torbjorn Granlund <tege@swox.com>
-
- * ppc.h (PPC_OPERAND_DS): Define.
-
-2001-08-25 Andreas Jaeger <aj@suse.de>
-
- * d30v.h: Fix declaration of reg_name_cnt.
-
- * d10v.h: Fix declaration of d10v_reg_name_cnt.
-
- * arc.h: Add prototypes from opcodes/arc-opc.c.
-
-2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_10000): Define.
- (OPCODE_IS_MEMBER): Check for INSN_10000.
-
-2001-08-10 Alan Modra <amodra@one.net.au>
-
- * ppc.h: Revert 2001-08-08.
-
-2001-08-10 Richard Sandiford <rsandifo@redhat.com>
-
- * mips.h (INSN_GP32): Remove.
- (OPCODE_IS_MEMBER): Remove gp32 parameter.
- (M_MOVE): New macro identifier.
-
-2001-08-08 Alan Modra <amodra@one.net.au>
-
- 1999-10-25 Torbjorn Granlund <tege@swox.com>
- * ppc.h (struct powerpc_operand): New field `reloc'.
-
-2001-08-01 Aldy Hernandez <aldyh@redhat.com>
-
- * mips.h (INSN_ISA_MASK): Nuke bits 12-15.
-
-2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen.h (CGEN_INSN): Add regex support.
- (build_insn_regex): Declare.
-
-2001-07-11 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
- (cgen_cpu_desc): Ditto.
-
-2001-07-07 Ben Elliston <bje@redhat.com>
-
- * m88k.h: Clean up and reformat. Remove unused code.
-
-2001-06-14 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen.h (cgen_keyword): Add nonalpha_chars field.
-
-2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (CPU_R12000): Define.
-
-2001-05-23 John Healy <jhealy@redhat.com>
-
- * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
-
-2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips.h (INSN_ISA_MASK): Define.
-
-2001-05-12 Alan Modra <amodra@one.net.au>
-
- * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
- not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
- and use InvMem as these insns must have register operands.
-
-2001-05-04 Alan Modra <amodra@one.net.au>
-
- * i386.h (i386_optab): Move InvMem to first operand of pmovmskb
- and pextrw to swap reg/rm assignments.
-
-2001-04-05 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (enum cris_insn_version_usage): Correct comment for
- cris_ver_v3p.
-
-2001-03-24 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq".
- Add InvMem to first operand of "maskmovdqu".
-
-2001-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * cris.h (ADD_PC_INCR_OPCODE): New macro.
-
-2001-03-21 Kazu Hirata <kazu@hxi.com>
-
- * h8300.h: Fix formatting.
-
-2001-03-22 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (i386_optab): Add paddq, psubq.
-
-2001-03-19 Alan Modra <alan@linuxcare.com.au>
-
- * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
-
-2001-02-28 Igor Shevlyakov <igor@windriver.com>
-
- * m68k.h: new defines for Coldfire V4. Update mcf to know
- about mcf5407.
-
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * pdp11.h: New file.
-
-2001-02-12 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): SSE integer converison instructions have
- 64bit versions on x86-64.
-
-2001-02-10 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Remove extraneous whitespace. Formating change to allow
- for future contribution.
-
-2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390.h: New file.
-
-2001-02-02 Patrick Macdonald <patrickm@redhat.com>
-
- * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
- (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
- (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
-
-2001-01-24 Karsten Keil <kkeil@suse.de>
-
- * i386.h (i386_optab): Fix swapgs
-
-2001-01-14 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Describe new '<' and '>' operand types, and tidy
- existing comments.
- (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
- Remove duplicate "ldw j(s,b),x". Sort some entries.
-
-2001-01-13 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Fix pusha and ret templates.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
- definitions for masking cpu type.
- (arc_ext_operand_value) New structure for storing extended
- operands.
- (ARC_OPERAND_*) Flags for operand values.
-
-2001-01-10 Jan Hubicka <jh@suse.cz>
-
- * i386.h (pinsrw): Add.
- (pshufw): Remove.
- (cvttpd2dq): Fix operands.
- (cvttps2dq): Likewise.
- (movq2q): Rename to movdq2q.
-
-2001-01-10 Richard Schaal <richard.schaal@intel.com>
-
- * i386.h: Correct movnti instruction.
-
-2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
- of operands (unsigned char or unsigned short).
- (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
- (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
-
-2001-01-05 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Make [sml]fence template to use immext field.
-
-2001-01-03 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Fix 64bit pushf template; Add instructions
- introduced by Pentium4
-
-2000-12-30 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Add "rex*" instructions;
- add swapgs; disable jmp/call far direct instructions for
- 64bit mode; add syscall and sysret; disable registers for 0xc6
- template. Add 'q' suffixes to extendable instructions, disable
- obsolete instructions, add new sign/zero extension ones.
- (i386_regtab): Add extended registers.
- (*Suf): Add No_qSuf.
- (q_Suf, wlq_Suf, bwlq_Suf): New.
-
-2000-12-20 Jan Hubicka <jh@suse.cz>
-
- * i386.h (i386_optab): Replace "Imm" with "EncImm".
- (i386_regtab): Add flags field.
-
-2000-12-12 Nick Clifton <nickc@redhat.com>
-
- * mips.h: Fix formatting.
-
-2000-12-01 Chris Demetriou <cgd@sibyte.com>
-
- mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
- (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
- OP_*_SYSCALL definitions.
- (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
- 19 bit wait codes.
- (MIPS operand specifier comments): Remove 'm', add 'U' and
- 'J', and update the meaning of 'B' so that it's more general.
-
- * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
- INSN_ISA5): Renumber, redefine to mean the ISA at which the
- instruction was added.
- (INSN_ISA32): New constant.
- (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
- Renumber to avoid new and/or renumbered INSN_* constants.
- (INSN_MIPS32): Delete.
- (ISA_UNKNOWN): New constant to indicate unknown ISA.
- (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
- ISA_MIPS32): New constants, defined to be the mask of INSN_*
- constants available at that ISA level.
- (CPU_UNKNOWN): New constant to indicate unknown CPU.
- (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
- define it with a unique value.
- (OPCODE_IS_MEMBER): Update for new ISA membership-related
- constant meanings.
-
- * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
- definitions.
-
- * mips.h (CPU_SB1): New constant.
-
-2000-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
- Note that '3' is used for siam operand.
-
-2000-09-22 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips.h: Use defines instead of hard-coded processor numbers.
- (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
- CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
- CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
- CPU_4KC, CPU_4KM, CPU_4KP): Define..
- (OPCODE_IS_MEMBER): Use new defines.
- (OP_MASK_SEL, OP_SH_SEL): Define.
- (OP_MASK_CODE20, OP_SH_CODE20): Define.
- Add 'P' to used characters.
- Use 'H' for coprocessor select field.
- Use 'm' for 20 bit breakpoint code.
- Document new arg characters and add to used characters.
- (INSN_MIPS32): New define for MIPS32 extensions.
- (OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
-
-2000-09-05 Alan Modra <alan@linuxcare.com.au>
-
- * hppa.h: Mention cz completer.
-
-2000-08-16 Jim Wilson <wilson@cygnus.com>
-
- * ia64.h (IA64_OPCODE_POSTINC): New.
-
-2000-08-15 H.J. Lu <hjl@gnu.org>
-
- * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
- IgnoreSize change.
-
-2000-08-08 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h: Small formatting adjustments.
-
-2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
- Move related opcodes closer to each other.
- Minor changes in comments, list undefined opcodes.
-
-2000-07-26 Dave Brolley <brolley@redhat.com>
-
- * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
-
-2000-07-22 Jason Eckhardt <jle@cygnus.com>
-
- * i860.h (btne, bte, bla): Changed these opcodes
- to use sbroff ('r') instead of split16 ('s').
- (J, K, L, M): New operand types for 16-bit aligned fields.
- (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
- use I, J, K, L, M instead of just I.
- (T, U): New operand types for split 16-bit aligned fields.
- (st.x): Changed these opcodes to use S, T, U instead of just S.
- (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
- exist on the i860.
- (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
- (pfeq.ss, pfeq.dd): New opcodes.
- (st.s): Fixed incorrect mask bits.
- (fmlow): Fixed incorrect mask bits.
- (fzchkl, pfzchkl): Fixed incorrect mask bits.
- (faddz, pfaddz): Fixed incorrect mask bits.
- (form, pform): Fixed incorrect mask bits.
- (pfld.l): Fixed incorrect mask bits.
- (fst.q): Fixed incorrect mask bits.
- (all floating point opcodes): Fixed incorrect mask bits for
- handling of dual bit.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- cris.h: New file.
-
-2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
- (AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
- (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
- (AVR_ISA_M83): Define for ATmega83, ATmega85.
- (espm): Remove, because ESPM removed in databook update.
- (eicall, eijmp): Move to the end of opcode table.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * m68hc11.h: New file for support of Motorola 68hc11.
-
-Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: clr,lsl,rol, ... moved after add,adc, ...
-
-Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru>
-
- * avr.h: New file with AVR opcodes.
-
-Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
-
- * d10v.h: added ALONE attribute for d10v_opcode.exec_type.
-
-2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * i386.h: Allow d suffix on iret, and add DefaultSize modifier.
-
-2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * i386.h: Use sl_FP, not sl_Suf for fild.
-
-2000-05-16 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that
- it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
- (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds
- CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>,
-
- * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>,
- Alexander Sokolov <robocop@netlink.ru>
-
- * i386.h (i386_optab): Add cpu_flags for all instructions.
-
-2000-05-13 Alan Modra <alan@linuxcare.com.au>
-
- From Gavin Romig-Koch <gavin@cygnus.com>
- * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa.
-
-2000-05-04 Timothy Wall <twall@cygnus.com>
-
- * tic54x.h: New.
-
-2000-05-03 J.T. Conklin <jtc@redback.com>
-
- * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
- (PPC_OPERAND_VR): New operand flag for vector registers.
-
-2000-05-01 Kazu Hirata <kazu@hxi.com>
-
- * h8300.h (EOP): Add missing initializer.
-
-Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com>
-
- * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
- forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
- New operand types l,y,&,fe,fE,fx added to support above forms.
- (pa_opcodes): Replaced usage of 'x' as source/target for
- floating point double-word loads/stores with 'fx'.
-
-Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
- David Mosberger <davidm@hpl.hp.com>
- Timothy Wall <twall@cygnus.com>
- Jim Wilson <wilson@cygnus.com>
-
- * ia64.h: New file.
-
-2000-03-27 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (SHORT_A1): Fix value.
- (SHORT_AR): Renumber so that it is at the end of the list of short
- instructions, not the end of the list of long instructions.
-
-2000-03-26 Alan Modra <alan@linuxcare.com>
-
- * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
- problem isn't really specific to Unixware.
- (OLDGCC_COMPAT): Define.
- (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
- destination %st(0).
- Fix lots of comments.
-
-2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d30v.h:
- (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
- (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
- (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
- (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
- (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
- (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
- (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
-
-2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (fild, fistp): Change intel d_Suf form to fildd and
- fistpd without suffix.
-
-2000-02-24 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h (cgen_cpu_desc): Rename field 'flags' to
- 'signed_overflow_ok_p'.
- Delete prototypes for cgen_set_flags() and cgen_get_flags().
-
-2000-02-24 Andrew Haley <aph@cygnus.com>
-
- * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
- (CGEN_CPU_TABLE): flags: new field.
- Add prototypes for new functions.
-
-2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add some more UNIXWARE_COMPAT comments.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370.h: New file.
-
-2000-02-22 Chandra Chavva <cchavva@cygnus.com>
-
- * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
- cannot be combined in parallel with ADD/SUBppp.
-
-2000-02-22 Andrew Haley <aph@cygnus.com>
-
- * mips.h: (OPCODE_IS_MEMBER): Add comment.
-
-1999-12-30 Andrew Haley <aph@cygnus.com>
-
- * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
- whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
- insns.
-
-2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Qualify intel mode far call and jmp with x_Suf.
-
-1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add JumpAbsolute qualifier to all non-intel mode
- indirect jumps and calls. Add FF/3 call for intel mode.
-
-Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add new operand types. Add new instruction formats.
-
-Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
- instruction.
-
-1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (INSN_ISA5): New.
-
-1999-11-01 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (OPCODE_IS_MEMBER): New.
-
-1999-10-29 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (SHORT_AR): Define.
-
-1999-10-18 Michael Meissner <meissner@cygnus.com>
-
- * alpha.h (alpha_num_opcodes): Convert to unsigned.
- (alpha_num_operands): Ditto.
-
-Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
-
- * hppa.h (pa_opcodes): Add load and store cache control to
- instructions. Add ordered access load and store.
-
- * hppa.h (pa_opcode): Add new entries for addb and addib.
-
- * hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
-
- * hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
-
-Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
-
- * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
-
-Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve"
- and "be" using completer prefixes.
-
- * hppa.h (pa_opcodes): Add initializers to silence compiler.
-
- * hppa.h: Update comments about character usage.
-
-Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
- up the new fstw & bve instructions.
-
-Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
- instructions.
-
- * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
-
- * hppa.h (pa_opcodes): Add long offset double word load/store
- instructions.
-
- * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
- stores.
-
- * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
-
- * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
-
- * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
-
- * hppa.h (pa_opcodes): Add new syntax "be" instructions.
-
- * hppa.h (pa_opcodes): Note use of 'M' and 'L'.
-
- * hppa.h (pa_opcodes): Add support for "b,l".
-
- * hppa.h (pa_opcodes): Add support for "b,gate".
-
-Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Use 'fX' for first register operand
- in xmpyu.
-
- * hppa.h (pa_opcodes): Fix mask for probe and probei.
-
- * hppa.h (pa_opcodes): Fix mask for depwi.
-
-Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
- an explicit output argument.
-
-Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
- Add a few PA2.0 loads and store variants.
-
-1999-09-04 Steve Chamberlain <sac@pobox.com>
-
- * pj.h: New file.
-
-1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_regtab): Move %st to top of table, and split off
- other fp reg entries.
- (i386_float_regtab): To here.
-
-Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args
- by 'f'.
-
- * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
- Add supporting args.
-
- * hppa.h: Document new completers and args.
- * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
- uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0
- extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions
- pmenb and pmdis.
-
- * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
- hshr, hsub, mixh, mixw, permh.
-
- * hppa.h (pa_opcodes): Change completers in instructions to
- use 'c' prefix.
-
- * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
- hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments.
-
- * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
- fnegabs to use 'I' instead of 'F'.
-
-1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
- Document pf2iw and pi2fw as athlon insns. Remove pswapw.
- Alphabetically sort PIII insns.
-
-Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
-
-Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
- and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr.
-
- * hppa.h: Document 64 bit condition completers.
-
-Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
-
- * hppa.h (pa_opcodes): Change condition args to use '?' prefix.
-
-1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Add DefaultSize modifier to all insns
- that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf,
- sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
-
-Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
- Jeff Law <law@cygnus.com>
-
- * hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
-
- * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
-
- * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
- and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
-
-1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
-
-Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (struct pa_opcode): Add new field "flags".
- (FLAGS_STRICT): Define.
-
-Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com>
- Jeff Law <law@cygnus.com>
-
- * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
-
- * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
-
-1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl,
- lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP
- flag to fcomi and friends.
-
-Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Move integer arithmetic instructions after
- integer logical instructions.
-
-1999-05-28 Linus Nordberg <linus.nordberg@canit.se>
-
- * m68k.h: Document new formats `E', `G', `H' and new places `N',
- `n', `o'.
-
- * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u'
- and new places `m', `M', `h'.
-
-Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com
-
- * hppa.h (pa_opcodes): Add several processor specific system
- instructions.
-
-Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pa_opcodes): Add second entry for "comb", "comib",
- "addb", and "addib" to be used by the disassembler.
-
-1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au>
-
- * i386.h (ReverseModrm): Remove all occurences.
- (InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
- movmskps, pextrw, pmovmskb, maskmovq.
- Change NoSuf to FP on all MMX, XMM and AMD insns as these all
- ignore the data size prefix.
-
- * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
- Mostly stolen from Doug Ledford <dledford@redhat.com>
-
-Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com>
-
- * ppc.h (PPC_OPCODE_64_BRIDGE): New.
-
-1999-04-14 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ATTR): Delete member num_nonbools.
- (CGEN_ATTR_TYPE): Update.
- (CGEN_ATTR_MASK): Number booleans starting at 0.
- (CGEN_ATTR_VALUE): Update.
- (CGEN_INSN_ATTR): Update.
-
-Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
- instructions.
-
-Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (bb, bvb): Tweak opcode/mask.
-
-
-1999-03-22 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
- (struct cgen_cpu_desc): Rename member mach to machs. New member isas.
- New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
- min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
- Delete member max_insn_size.
- (enum cgen_cpu_open_arg): New enum.
- (cpu_open): Update prototype.
- (cpu_open_1): Declare.
- (cgen_set_cpu): Delete.
-
-1999-03-11 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
- (CGEN_OPERAND_NIL): New macro.
- (CGEN_OPERAND): New member `type'.
- (@arch@_cgen_operand_table): Delete decl.
- (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
- (CGEN_OPERAND_TABLE): New struct.
- (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
- (CGEN_OPINST): Pointer to operand table entry replaced with enum.
- (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table',
- now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to
- {get,set}_{int,vma}_operand.
- (@arch@_cgen_cpu_open): New arg `isa'.
- (cgen_set_cpu): Ditto.
-
-Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com>
-
- * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms.
-
-1999-02-25 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
- (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to
- enum cgen_hw_type.
- (CGEN_HW_TABLE): New struct.
- (hw_table): Delete declaration.
- (CGEN_OPERAND): Change member hw to hw_type, change type from pointer
- to table entry to enum.
- (CGEN_OPINST): Ditto.
- (CGEN_CPU_TABLE): Change member hw_list to hw_table.
-
-Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com>
-
- * alpha.h (AXP_OPCODE_EV6): New.
- (AXP_OPCODE_NOPAL): Include it.
-
-1999-02-09 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
- All uses updated. New members int_insn_p, max_insn_size,
- parse_operand,insert_operand,extract_operand,print_operand,
- sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
- get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
- extract_handlers,print_handlers.
- (CGEN_ATTR): Change type of num_nonbools to unsigned int.
- (CGEN_ATTR_BOOL_OFFSET): New macro.
- (CGEN_ATTR_MASK): Subtract it to compute bit number.
- (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
- (cgen_opcode_handler): Renamed from cgen_base.
- (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
- (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
- all uses updated.
- (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
- (enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
- (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
- (CGEN_OPCODE,CGEN_IBASE): New types.
- (CGEN_INSN): Rewrite.
- (CGEN_{ASM,DIS}_HASH*): Delete.
- (init_opcode_table,init_ibld_table): Declare.
- (CGEN_INSN_ATTR): New type.
-
-Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com>
-
- * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
- (x_FP, d_FP, dls_FP, sldx_FP): Define.
- Change *Suf definitions to include x and d suffixes.
- (movsx): Use w_Suf and b_Suf.
- (movzx): Likewise.
- (movs): Use bwld_Suf.
- (fld): Change ordering. Use sld_FP.
- (fild): Add Intel Syntax equivalent of fildq.
- (fst): Use sld_FP.
- (fist): Use sld_FP.
- (fstp): Use sld_FP. Add x_FP version.
- (fistp): LLongMem version for Intel Syntax.
- (fcom, fcomp): Use sld_FP.
- (fadd, fiadd, fsub): Use sld_FP.
- (fsubr): Use sld_FP.
- (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
-
-1999-01-27 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
- CGEN_MODE_UINT.
-
-1999-01-16 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (bv): Fix mask.
-
-1999-01-05 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
- (CGEN_ATTR): Use it.
- (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
- (CGEN_ATTR_TABLE): New member dfault.
-
-1998-12-30 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (MIPS16_INSN_BRANCH): New.
-
-Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com>
-
- The following is part of a change made by Edith Epstein
- <eepstein@sophia.cygnus.com> as part of a project to merge in
- changes by HP; HP did not create ChangeLog entries.
-
- * hppa.h (completer_chars): list of chars to not put a space
- after.
-
-Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (i386_optab): Permit w suffix on processor control and
- status word instructions.
-
-1998-11-30 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (struct cgen_hw_entry): Delete const on attrs member.
- (struct cgen_keyword_entry): Ditto.
- (struct cgen_operand): Ditto.
- (CGEN_IFLD): New typedef, with associated access macros.
- (CGEN_IFMT): New typedef, with associated access macros.
- (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'.
- (CGEN_IVALUE): New typedef.
- (struct cgen_insn): Delete const on syntax,attrs members.
- `format' now points to format data. Type of `value' is now
- CGEN_IVALUE.
- (struct cgen_opcode_table): New member ifld_table.
-
-1998-11-18 Doug Evans <devans@casey.cygnus.com>
-
- * cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
- (CGEN_OPERAND_INSTANCE): New member `attrs'.
- (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
- (cgen_dis_lookup_insn): Update type of `base_insn' arg.
- (cgen_opcode_table): Update type of dis_hash fn.
- (extract_operand): Update type of `insn_value' arg.
-
-Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
-
-Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com>
-
- * mips.h (INSN_MULT): Added.
-
-Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
-
-Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_INSN_INT): New typedef.
- (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
- (CGEN_INSN_BYTES): Renamed from cgen_insn_t.
- (CGEN_INSN_BYTES_PTR): New typedef.
- (CGEN_EXTRACT_INFO): New typedef.
- (cgen_insert_fn,cgen_extract_fn): Update.
- (cgen_opcode_table): New member `insn_endian'.
- (assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
- (insert_operand,extract_operand): Update.
- (cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
-
-Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_ATTR_BOOLS): New macro.
- (struct CGEN_HW_ENTRY): New member `attrs'.
- (CGEN_HW_ATTR): New macro.
- (struct CGEN_OPERAND_INSTANCE): New member `name'.
- (CGEN_INSN_INVALID_P): New macro.
-
-Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add "fid".
-
-Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- From Robert Andrew Dale <rob@nb.net>
- * i386.h (i386_optab): Add AMD 3DNow! instructions.
- (AMD_3DNOW_OPCODE): Define.
-
-Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com>
-
- * d30v.h (EITHER_BUT_PREFER_MU): Define.
-
-Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (cgen_insn): #if 0 out element `cdx'.
-
-Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com>
-
- Move all global state data into opcode table struct, and treat
- opcode table as something that is "opened/closed".
- * cgen.h (CGEN_OPCODE_DESC): New type.
- (all fns): New first arg of opcode table descriptor.
- (cgen_set_parse_operand_fn): Add prototype.
- (cgen_current_machine,cgen_current_endian): Delete.
- (CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
- parse_operand_fn,asm_hash_table,asm_hash_table_entries,
- dis_hash_table,dis_hash_table_entries.
- (opcode_open,opcode_close): Add prototypes.
-
- * cgen.h (cgen_insn): New element `cdx'.
-
-Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com>
-
- * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
-
-Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add "no_match_operands" field for instructions.
- (MN10300_MAX_OPERANDS): Define.
-
-Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (cgen_macro_insn_count): Declare.
-
-Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
- (cgen_insert_fn,cgen_extract_fn): New arg `pc'.
- (get_operand,put_operand): Replaced with get_{int,vma}_operand,
- set_{int,vma}_operand.
-
-Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h: Add "machine" field for instructions.
- (MN103, AM30): Define machine types.
-
-Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
-
-1998-06-18 Ulrich Drepper <drepper@cygnus.com>
-
- * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
-
-Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Add general form of aad and aam. Add ud2a
- and ud2b.
- (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
- those that happen to be implemented on pentiums.
-
-Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
- IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
- with Size16|IgnoreSize or Size32|IgnoreSize.
-
-Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
- (REPE): Rename to REPE_PREFIX_OPCODE.
- (i386_regtab_end): Remove.
- (i386_prefixtab, i386_prefixtab_end): Remove.
- (i386_optab): Use NULL as sentinel rather than "" to suit rewrite
- of md_begin.
- (MAX_OPCODE_SIZE): Define.
- (i386_optab_end): Remove.
- (sl_Suf): Define.
- (sl_FP): Use sl_Suf.
-
- * i386.h (i386_optab): Allow 16 bit displacement for `mov
- mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
- bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
- data32, dword, and adword prefixes.
- (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
- regs.
-
-Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_regtab): Remove BaseIndex modifier from esp.
-
- * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
- register operands, because this is a common idiom. Flag them with
- a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
- fdivrp because gcc erroneously generates them. Also flag with a
- warning.
-
- * i386.h: Add suffix modifiers to most insns, and tighter operand
- checks in some cases. Fix a number of UnixWare compatibility
- issues with float insns. Merge some floating point opcodes, using
- new FloatMF modifier.
- (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
- consistency.
-
- * i386.h: Change occurence of ShortformW to W|ShortForm. Add
- IgnoreDataSize where appropriate.
-
-Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: (one_byte_segment_defaults): Remove.
- (two_byte_segment_defaults): Remove.
- (i386_regtab): Add BaseIndex to 32 bit regs reg_type.
-
-Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
- (cgen_hw_lookup_by_num): Declare.
-
-Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com>
-
- * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
- ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
-
-Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com>
-
- * cgen.h (cgen_asm_init_parse): Delete.
- (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
- (cgen_asm_record_register,cgen_asm_finish_insn): Delete.
-
-Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
- (cgen_asm_finish_insn): Update prototype.
- (cgen_insn): New members num, data.
- (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
- dis_hash, dis_hash_table_size moved to ...
- (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA.
- All uses updated. New members asm_hash_p, dis_hash_p.
- (CGEN_MINSN_EXPANSION): New struct.
- (cgen_expand_macro_insn): Declare.
- (cgen_macro_insn_count): Declare.
- (get_insn_operands): Update prototype.
- (lookup_get_insn_operands): Declare.
-
-Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Change iclrKludge and imulKludge to
- regKludge. Add operands types for string instructions.
-
-Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com>
-
- * i386.h (X): Renamed from `Z_' to preserve formatting of opcode
- table.
-
-Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com>
-
- * i386.h (Z_): Renamed from `_' to avoid clash with common alias
- for `gettext'.
-
-Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h: Remove NoModrm flag from all insns: it's never checked.
- Add IsString flag to string instructions.
- (IS_STRING): Don't define.
- (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
- (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
- (SS_PREFIX_OPCODE): Define.
-
-Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Revert March 24 patch; no more LinearAddress.
-
-Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Remove fwait (9b) from all floating point
- instructions, and instead add FWait opcode modifier. Add short
- form of fldenv and fstenv.
- (FWAIT_OPCODE): Define.
-
- * i386.h (i386_optab): Change second operand constraint of `mov
- sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
- allow legal instructions such as `movl %gs,%esi'
-
-Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * h8300.h: Various changes to fully bracket initializers.
-
-Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org>
-
- * i386.h: Set LinearAddress for lidt and lgdt.
-
-Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_BOOL_ATTR): New macro.
-
-Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
-
-Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
- (cgen_insn): Record syntax and format entries here, rather than
- separately.
-
-Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
-
-Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (cgen_insert_fn): Change type of result to const char *.
- (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
- (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
-
-Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com>
-
- * cgen.h (lookup_insn): New argument alias_p.
-
-Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-
-Fix rac to accept only a0:
- * d10v.h (OPERAND_ACC): Split into:
- (OPERAND_ACC0, OPERAND_ACC1) .
- (OPERAND_GPR): Define.
-
-Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_FIELDS): Define here.
- (CGEN_HW_ENTRY): New member `type'.
- (hw_list): Delete decl.
- (enum cgen_mode): Declare.
- (CGEN_OPERAND): New member `hw'.
- (enum cgen_operand_instance_type): Declare.
- (CGEN_OPERAND_INSTANCE): New type.
- (CGEN_INSN): New member `operands'.
- (CGEN_OPCODE_DATA): Make hw_list const.
- (get_insn_operands,lookup_insn): Add prototypes for.
-
-Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
- (CGEN_HW_ENTRY): Move `next' entry to end of struct.
- (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
- (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
-
-Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com>
-
- * cgen.h: Correct typo in comment end marker.
-
-Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
-
- * tic30.h: New file.
-
-Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h: Add prototypes for cgen_save_fixups(),
- cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype
- of cgen_asm_finish_insn() to return a char *.
-
-Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com>
-
- * cgen.h: Formatting changes to improve readability.
-
-Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com>
-
- * cgen.h (*): Clean up pass over `struct foo' usage.
- (CGEN_ATTR): Make unsigned char.
- (CGEN_ATTR_TYPE): Update.
- (CGEN_ATTR_{ENTRY,TABLE}): New types.
- (cgen_base): Move member `attrs' to cgen_insn.
- (CGEN_KEYWORD): New member `null_entry'.
- (CGEN_{SYNTAX,FORMAT}): New types.
- (cgen_insn): Format and syntax separated from each other.
-
-Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
- 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make
- flags_{used,set} long.
- (d30v_operand): Make flags field long.
-
-Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * m68k.h: Fix comment describing operand types.
-
-Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com>
-
- * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
- everything else after down.
-
-Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
-
- * d10v.h (OPERAND_FLAG): Split into:
- (OPERAND_FFLAG, OPERAND_CFLAG) .
-
-Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (struct mips_opcode): Changed comments to reflect new
- field usage.
-
-Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com>
-
- * mips.h: Added to comments a quick-ref list of all assigned
- operand type characters.
- (OP_{MASK,SH}_PERFREG): New macros.
-
-Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com>
-
- * sparc.h: Add '_' and '/' for v9a asr's.
- Patch from David Miller <davem@vger.rutgers.edu>
-
-Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h: Bit ops with absolute addresses not in the 8 bit
- area are not available in the base model (H8/300).
-
-Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Remove documentation of ` operand specifier.
-
-Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Document q and v operand specifiers.
-
-Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Add processors field.
- (PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
- (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
- (PROCESSOR_V850EA): New bit constants.
-
-Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com>
-
- Merge changes from Martin Hunt:
-
- * d30v.h: Allow up to 64 control registers. Add
- SHORT_A5S format.
-
- * d30v.h (LONG_Db): New form for delayed branches.
-
- * d30v.h: (LONG_Db): New form for repeati.
-
- * d30v.h (SHORT_D2B): New form.
-
- * d30v.h (SHORT_A2): New form.
-
- * d30v.h (OPERAND_2REG): Add new operand to indicate 2
- registers are used. Needed for VLIW optimization.
-
-Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h: Move assembler interface section
- up so cgen_parse_operand_result is defined for cgen_parse_address.
- (cgen_parse_address): Update prototype.
-
-Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
-
-Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h (two_byte_segment_defaults): Correct base register 5 in
- modes 1 and 2 to be ss rather than ds. From Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
- <paubert@iram.es>.
-
- * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
- (JUMP_ON_ECX_ZERO): Remove commented out macro.
-
-Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (V850_NOT_R0): New flag.
-
-Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Remove flags field.
-
-Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com>
-
- * v850.h (struct v850_opcode): Add flags field.
- (struct v850_operand): Extend meaning of 'bits' and 'shift'
- fields.
- (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
- (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
-
-Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * arc.h: New file.
-
-Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_opcodes): Declare as const.
-
-Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn
- uses single or double precision floating point resources.
- (INSN_NO_ISA, INSN_ISA1): Define.
- (cpu specific INSN macros): Tweak into bitmasks outside the range
- of INSN_ISA field.
-
-Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h: Fix pand opcode.
-
-Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h: Widen INSN_ISA and move it to a more convenient
- bit position. Add INSN_3900.
-
-Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com>
-
- * mips.h (struct mips_opcode): added new field membership.
-
-Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h (movd): only Reg32 is allowed.
-
- * i386.h: add fcomp and ud2. From Wayne Scott
- <wscott@ichips.intel.com>.
-
-Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Add MMX instructions.
-
-Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
-
- * i386.h: Remove W modifier from conditional move instructions.
-
-Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
- with no arguments to match that generated by the UnixWare
- assembler.
-
-Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
- (cgen_parse_operand_fn): Declare.
- (cgen_init_parse_operand): Declare.
- (cgen_parse_operand): Renamed from cgen_asm_parse_operand,
- new argument `want'.
- (enum cgen_parse_operand_result): Renamed from cgen_asm_result.
- (enum cgen_parse_operand_type): New enum.
-
-Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
-
-Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com>
-
- * cgen.h: New file.
-
-Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
- fdivrp.
-
-Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com)
-
- * v850.h (extract): Make unsigned.
-
-Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Add iclr.
-
-Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Change DW to W for cmpxchg and xadd, since they don't
- take a direction bit.
-
-Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org>
-
- * sparc.h (sparc_opcode_lookup_arch): Use full prototype.
-
-Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * sparc.h: Include <ansidecl.h>. Update function declarations to
- use prototypes, and to use const when appropriate.
-
-Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_RELAX): Define.
-
-Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Change pre_defined_registers to
- d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
-
-Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com>
-
- * mips.h: Add macros for cop0, cop1 cop2 and cop3.
- Change mips_opcodes from const array to a pointer,
- and change bfd_mips_num_opcodes from const int to int,
- so that we can increase the size of the mips opcodes table
- dynamically.
-
-Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d30v.h (FLAG_X): Remove unused flag.
-
-Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d30v.h: New file.
-
-Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
- (PDS_VALUE): Macro to access value field of predefined symbols.
- (tic80_next_predefined_symbol): Add prototype.
-
-Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (tic80_symbol_to_value): Change prototype to match
- change in function, added class parameter.
-
-Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
- endmask fields, which are somewhat weird in that 0 and 32 are
- treated exactly the same.
-
-Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: Change all the OPERAND defines to use the form (1 << X)
- rather than a constant that is 2**X. Reorder them to put bits for
- operands that have symbolic names in the upper bits, so they can
- be packed into an int where the lower bits contain the value that
- corresponds to that symbolic name.
- (predefined_symbo): Add struct.
- (tic80_predefined_symbols): Declare array of translations.
- (tic80_num_predefined_symbols): Declare size of that array.
- (tic80_value_to_symbol): Declare function.
- (tic80_symbol_to_value): Declare function.
-
-Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h (MN10200_OPERAND_RELAX): Define.
-
-Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
- be the destination register.
-
-Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (struct tic80_opcode): Change "format" field to "flags".
- (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
- (TIC80_VECTOR): Define a flag bit for the flags. This one means
- that the opcode can have two vector instructions in a single
- 32 bit word and we have to encode/decode both.
-
-Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_PCREL): Renamed from
- TIC80_OPERAND_RELATIVE for PC relative.
- (TIC80_OPERAND_BASEREL): New flag bit for register
- base relative.
-
-Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
-
-Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
- ":s" modifier for scaling.
-
-Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
- (TIC80_OPERAND_M_LI): Ditto
-
-Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
- (TIC80_OPERAND_CC): New define for condition code operand.
- (TIC80_OPERAND_CR): New define for control register operand.
-
-Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com>
-
- * tic80.h (struct tic80_opcode): Name changed.
- (struct tic80_opcode): Remove format field.
- (struct tic80_operand): Add insertion and extraction functions.
- (TIC80_OPERAND_*): Remove old bogus values, start adding new
- correct ones.
- (FMT_*): Ditto.
-
-Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
- type IV instruction offsets.
-
-Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com>
-
- * tic80.h: New file.
-
-Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h (MN10200_OPERAND_NOCHECK): Define.
-
-Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com>
-
- * mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
- * mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
- * v850.h: Fix comment, v850_operand not powerpc_operand.
-
-Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10200.h: Flesh out structures and definitions needed by
- the mn10200 assembler & disassembler.
-
-Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h: Add mips16 definitions.
-
-Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com>
-
- * m68k.h: Document new <, >, m, n, o and p operand specifiers.
-
-Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_PCREL): Define.
- (MN10300_OPERAND_MEMADDR): Define.
-
-Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_REG_LIST): Define.
-
-Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_SPLIT): Define.
-
-Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_EXTENDED): Define.
-
-Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_REPEATED): Define.
-
-Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: Don't include "bfd.h"; private relocation types are now
- negative to minimize problems with shared libraries. Organize
- instruction subsets by AMASK extensions and PALcode
- implementation.
- (struct alpha_operand): Move flags slot for better packing.
-
-Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (V850_OPERAND_RELAX): New operand flag.
-
-Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (FMT_*): Move operand format definitions
- here.
-
-Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (MN10300_OPERAND_PAREN): Define.
-
-Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10300.h (mn10300_opcode): Add "format" field.
- (MN10300_OPERAND_*): Define.
-
-Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10x00.h: Delete.
- * mn10200.h, mn10300.h: New files.
-
-Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com)
-
- * mn10x00.h: New file.
-
-Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com)
-
- * v850.h: Add new flag to indicate this instruction uses a PC
- displacement.
-
-Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (stmac): Add missing instruction.
-
-Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (v850_opcode): Remove "size" field. Add "memop"
- field.
-
-Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com)
-
- * v850.h (V850_OPERAND_EP): Define.
-
- * v850.h (v850_opcode): Add size field.
-
-Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h (v850_operands): Add insert and extract fields, pointers
- to functions used to handle unusual operand encoding.
- (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
- V850_OPERAND_SIGNED): Defined.
-
-Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h (v850_operands): Add flags field.
- (OPERAND_REG, OPERAND_NUM): Defined.
-
-Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * v850.h: New file.
-
-Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk>
-
- * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
- OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
- OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
- OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
- OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
- Defined.
-
-Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
- a 3 bit space id instead of a 2 bit space id.
-
-Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Add some additional defines to support the
- assembler in determining which operations can be done in parallel.
-
-Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (SN): Define.
- (eepmov.b): Renamed from "eepmov"
- (nop, bpt, rte, rts, sleep, clrmac): These have no size associated
- with them.
-
-Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h (OPERAND_SHIFT): New operand flag.
-
-Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: Changes for divs, parallel-only instructions, and
- signed numbers.
-
-Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h (pd_reg): Define. Putting the definition here allows
- the assembler and disassembler to share the same struct.
-
-Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (i960_opcodes): "halt" takes an argument. From Stephen
- Williams <steve@icarus.com>.
-
-Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
-
- * d10v.h: New file.
-
-Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (band, bclr): Force high bit of immediate nibble to zero.
-
-Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * m68k.h (mcf5200): New macro.
- Document names of coldfire control registers.
-
-Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (SRC_IN_DST): Define.
-
- * h8300.h (UNOP3): Mark the register operand in this insn
- as a source operand, not a destination operand.
- (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references.
- (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark
- register operand with SRC_IN_DST.
-
-Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu>
-
- * alpha.h: New file.
-
-Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * rs6k.h: Remove obsolete file.
-
-Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
- fdivp, and fdivrp. Add ffreep.
-
-Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com>
-
- * h8300.h: Reorder various #defines for readability.
- (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
- (BITOP): Accept additional (unused) argument. All callers changed.
- (EBITOP): Likewise.
- (O_LAST): Bump.
- (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
-
- * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
- (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
- (BITOP, EBITOP): Handle new H8/S addressing modes for
- bit insns.
- (UNOP3): Handle new shift/rotate insns on the H8/S.
- (insns using exr): New instructions.
- (tas, mac, ldmac, clrmac, ldm, stm): New instructions.
-
-Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (add.l): Undo Apr 5th change. The manual I had
- was incorrect.
-
-Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (START): Remove.
- (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w
- and mov.l insns that can be relaxed.
-
-Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i386.h: Remove Abs32 from lcall.
-
-Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com>
-
- * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
- (SLCPOP): New macro.
- Mark X,Y opcode letters as in use.
-
-Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * sparc.h (F_FLOAT, F_FBR): Define.
-
-Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com)
-
- * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV
- from all insns.
- (ABS8SRC,ABS8DST): Add ABS8MEM.
- (add.l): Fix reg+reg variant.
- (eepmov.w): Renamed from eepmovw.
- (ldc,stc): Fix many cases.
-
-Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
-
-Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (O): Mark operand letter as in use.
-
-Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
- Mark operand letters uU as in use.
-
-Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
- (sparc_opcode_arch): Delete member `conflicts'. Add `supported'.
- (SPARC_OPCODE_SUPPORTED): New macro.
- (SPARC_OPCODE_CONFLICT_P): Rewrite.
- (F_NOTV9): Delete.
-
-Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com)
-
- * sparc.h (sparc_opcode_lookup_arch) Make return type in
- declaration consistent with return type in definition.
-
-Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * i386.h (i386_optab): Remove Data32 from pushf and popf.
-
-Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com>
-
- * i386.h (i386_regtab): Add 80486 test registers.
-
-Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com>
-
- * i960.h (I_HX): Define.
- (i960_opcodes): Add HX instruction.
-
-Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
- and fclex.
-
-Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
- (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
- (bfd_* defines): Delete.
- (sparc_opcode_archs): Replaces architecture_pname.
- (sparc_opcode_lookup_arch): Declare.
- (NUMOPCODES): Delete.
-
-Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com>
-
- * sparc.h (enum sparc_architecture): Add v9a.
- (ARCHITECTURES_CONFLICT_P): Update.
-
-Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com>
-
- * i386.h: Added Pentium Pro instructions.
-
-Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Document new 'W' operand place.
-
-Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com)
-
- * hppa.h: Add lci and syncdma instructions.
-
-Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
-
- * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
- instructions.
-
-Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com>
-
- * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
- assembler's -mcom and -many switches.
-
-Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Fix cmpxchg8b extension opcode description.
-
-Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com>
-
- * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
- and register cr4.
-
-Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68k.h: Change comment: split type P into types 0, 1 and 2.
-
-Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_prefetch): Declare.
-
-Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
-
-Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * m68kmri.h: Remove.
-
- * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
- declarations. Remove F_ALIAS and flag field of struct
- m68k_opcode. Change arch field of struct m68k_opcode to unsigned
- int. Make name and args fields of struct m68k_opcode const.
-
-Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com>
-
- * sparc.h (F_NOTV9): Define.
-
-Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com>
-
- * mips.h (INSN_4010): Define.
-
-Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h (TBL1): Reverse sense of "round" argument in result.
-
- Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
- * m68k.h: Fix argument descriptions of coprocessor
- instructions to allow only alterable operands where appropriate.
- [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
- (m68k_opcode_aliases): Add more aliases.
-
-Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h: Added explcitly short-sized conditional branches, and a
- bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
- svr4-based configurations.
-
-Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu>
- * i386.h: added missing Data16/Data32 flags to a few instructions.
-
-Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (OP_MASK_FR, OP_SH_FR): Define.
- (OP_MASK_BCC, OP_SH_BCC): Define.
- (OP_MASK_PREFX, OP_SH_PREFX): Define.
- (OP_MASK_CCC, OP_SH_CCC): Define.
- (INSN_READ_FPR_R): Define.
- (INSN_RFE): Delete.
-
-Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * m68k.h (enum m68k_architecture): Deleted.
- (struct m68k_opcode_alias): New type.
- (m68k_opcodes): Now const. Deleted opcode aliases with exactly
- matching constraints, values and flags. As a side effect of this,
- the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
- as I know were never used, now may need re-examining.
- (numopcodes): Now const.
- (m68k_opcode_aliases, numaliases): New variables.
- (endop): Deleted.
- [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
- m68k_opcode_aliases; update declaration of m68k_opcodes.
-
-Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (delay_type): Delete unused enumeration.
- (pa_opcode): Replace unused delayed field with an architecture
- field.
- (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
-
-Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (INSN_ISA4): Define.
-
-Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (M_DLA_AB, M_DLI): Define.
-
-Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu)
-
- * hppa.h (fstwx): Fix single-bit error.
-
-Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com>
-
- * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
-
-Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com>
-
- * i386.h: added cpuid instruction , and dr[0-7] aliases for the
- debug registers. From Charles Hannum (mycroft@netbsd.org).
-
-Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit
- i386 support:
- * i386.h (MOV_AX_DISP32): New macro.
- (i386_optab): Added Data16 and Data32 as needed. Added "w" forms
- of several call/return instructions.
- (ADDR_PREFIX_OPCODE): New macro.
-
-Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
-
- * vax.h (struct vot_wot, field `args'): Make it pointer to const
- char.
- (struct vot, field `name'): ditto.
-
-Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
-
- * vax.h: Supply and properly group all values in end sentinel.
-
-Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * mips.h (INSN_ISA, INSN_4650): Define.
-
-Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
-
- * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
- systems with a separate instruction and data cache, such as the
- 29040, these instructions take an optional argument.
-
-Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
- INSN_TRAP.
-
-Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
-
- * mips.h (INSN_STORE_MEMORY): Define.
-
-Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * sparc.h: Document new operand type 'x'.
-
-Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i960.h (I_CX2): New instruction category. It includes
- instructions available on Cx and Jx processors.
- (I_JX): New instruction category, for JX-only instructions.
- (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added
- Jx-only instructions, in I_JX category.
-
-Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * ns32k.h (endop): Made pointer const too.
-
-Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au)
-
- * ns32k.h: Drop Q operand type as there is no correct use
- for it. Add I and Z operand types which allow better checking.
-
-Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com)
-
- * h8300.h (xor.l) :fix bit pattern.
- (L_2): New size of operand.
- (trapa): Use it.
-
-Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m68k.h: Move "trap" before "tpcc" to change disassembly.
-
-Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * sparc.h: Include v9 definitions.
-
-Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * m68k.h (m68060): Defined.
- (m68040up, mfloat, mmmu): Include it.
- (struct m68k_opcode): Widen `arch' field.
- (m68k_opcodes): Updated for M68060. Removed comments that were
- instructions commented out by "JF" years ago.
-
-Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
- add a one-bit `flags' field.
- (F_ALIAS): New macro.
-
-Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com)
-
- * h8300.h (dec, inc): Get encoding right.
-
-Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (struct powerpc_operand): Removed signedp field; just use
- a flag instead.
- (PPC_OPERAND_SIGNED): Define.
- (PPC_OPERAND_SIGNOPT): Define.
-
-Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
- prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com).
-
-Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h: Reverse last change. It'll be handled in gas instead.
-
-Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (sar): Disabled the two-operand Imm1 form, since it was
- slower on the 486 and used the implicit shift count despite the
- explicit operand. The one-operand form is still available to get
- the shorter form with the implicit shift count.
-
-Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com)
-
- * hppa.h: Fix typo in fstws arg string.
-
-Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (struct powerpc_opcode): Make operands field unsigned.
-
-Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (PPC_OPCODE_601): Define.
-
-Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h (addb): Use '@' for addb and addib pseudo ops.
- (so we can determine valid completers for both addb and addb[tf].)
-
- * hppa.h (xmpyu): No floating point format specifier for the
- xmpyu instruction.
-
-Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h (PPC_OPERAND_NEXT): Define.
- (PPC_OPERAND_NEGATIVE): Change value to make room for above.
- (struct powerpc_macro): Define.
- (powerpc_macros, powerpc_num_macros): Declare.
-
-Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * ppc.h: New file. Header file for PowerPC opcode table.
-
-Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: More minor template fixes for sfu and copr (to allow
- for easier disassembly).
-
- * hppa.h: Fix templates for all the sfu and copr instructions.
-
-Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
-
- * i386.h (push): Permit Imm16 operand too.
-
-Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * h8300.h (andc): Exists in base arch.
-
-Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp>
- * hppa.h: #undef NONE to avoid conflict with hiux include files.
-
-Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: Add FP quadword store instructions.
-
-Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: (M_J_A): Added.
- (M_LA): Removed.
-
-Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon
- <mellon@pepper.ncd.com>.
-
-Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
-
- * hppa.h: Immediate field in probei instructions is unsigned,
- not low-sign extended.
-
-Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
-
-Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
-
- * i386.h: Add "fxch" without operand.
-
-Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
-
-Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * hppa.h: Add gfw and gfr to the opcode table.
-
-Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
-
- * m88k.h: extended to handle m88110.
-
-Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu)
-
- * hppa.h (be, ble): Use operand type 'z' to denote absolute branch
- addresses.
-
-Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i960.h (i960_opcodes): Properly bracket initializers.
-
-Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com)
-
- * m88k.h (BOFLAG): rewrite to avoid nested comment.
-
-Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m68k.h (two): Protect second argument with parentheses.
-
-Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
- Deleted old in/out instructions in "#if 0" section.
-
-Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * i386.h (i386_optab): Properly bracket initializers.
-
-Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From
- Jeff Law, law@cs.utah.edu).
-
-Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * i386.h (lcall): Accept Imm32 operand also.
-
-Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (M_ABSU): Removed (absolute value of unsigned number??).
- (M_DABS): Added.
-
-Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h (INSN_*): Changed values. Removed unused definitions.
- Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
- INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
- INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
- INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
- (M_*): Added new values for r6000 and r4000 macros.
- (ANY_DELAY): Removed.
-
-Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Added M_LI_S and M_LI_SS.
-
-Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- * h8300.h: Get some rare mov.bs correct.
-
-Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
-
- * sparc.h: Don't define const ourself; rely on ansidecl.h having
- been included.
-
-Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com)
-
- * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
- jump instructions, for use in disassemblers.
-
-Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * m88k.h: Make bitfields just unsigned, not unsigned long or
- unsigned short.
-
-Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
-
- * hppa.h: New argument type 'y'. Use in various float instructions.
-
-Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
-
- * hppa.h (break): First immediate field is unsigned.
-
- * hppa.h: Add rfir instruction.
-
-Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
-
- * mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
-
-Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: Reworked the hazard information somewhat, and fixed some
- bugs in the instruction hazard descriptions.
-
-Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * m88k.h: Corrected a couple of opcodes.
-
-Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * mips.h: Replaced with version from Ralph Campbell and OSF. The
- new version includes instruction hazard information, but is
- otherwise reasonably similar.
-
-Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
-
-Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com)
-
- Patches from Jeff Law, law@cs.utah.edu:
- * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
- Make the tables be the same for the following instructions:
- "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
- "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
- "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
- "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
- "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
- "fcmp", and "ftest".
-
- * hppa.h: Make new and old tables the same for "break", "mtctl",
- "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
- Fix typo in last patch. Collapse several #ifdefs into a
- single #ifdef.
-
- * hppa.h: Delete remaining OLD_TABLE code. Bring some
- of the comments up-to-date.
-
- * hppa.h: Update "free list" of letters and update
- comments describing each letter's function.
-
-Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com)
-
- * h8300.h: Lots of little fixes for the h8/300h.
-
-Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- Support for H8/300-H
- * h8300.h: Lots of new opcodes.
-
-Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
-
- * h8300.h: checkpoint, includes H8/300-H opcodes.
-
-Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com)
-
- * Patches from Jeffrey Law <law@cs.utah.edu>.
- * hppa.h: Rework single precision FP
- instructions so that they correctly disassemble code
- PA1.1 code.
-
-Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org)
-
- * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
- mov to allow instructions like mov ss,xyz(ecx) to assemble.
-
-Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com)
-
- * hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
- gdb will define it for now.
-
-Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * sparc.h: Don't end enumerator list with comma.
-
-Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com)
-
- * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson):
- * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
- ("bc2t"): Correct typo.
- ("[ls]wc[023]"): Use T rather than t.
- ("c[0123]"): Define general coprocessor instructions.
-
-Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
-
- * m68k.h: Move split point for gcc compilation more towards
- middle.
-
-Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com)
-
- * rs6k.h: Clean up instructions for primary opcode 19 (many were
- simply wrong, ics, rfi, & rfsvc were missing).
- Add "a" to opr_ext for "bb". Doc fix.
-
-Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com).
- * mips.h: Add casts, to suppress warnings about shifting too much.
- * m68k.h: Document the placement code '9'.
-
-Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com)
-
- * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
- allows callers to break up the large initialized struct full of
- opcodes into two half-sized ones. This permits GCC to compile
- this module, since it takes exponential space for initializers.
- (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
-
-Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com)
-
- * a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
- * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all
- initialized structs in it.
-
-Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com)
-
- Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>:
- * m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
- (AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
-
-Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com)
-
- * mips.h: document "i" and "j" operands correctly.
-
-Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
-
- * mips.h: Removed endianness dependency.
-
-Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * h8300.h: include info on number of cycles per instruction.
-
-Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com)
-
- * hppa.h: Move handy aliases to the front. Fix masks for extract
- and deposit instructions.
-
-Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * i386.h: accept shld and shrd both with and without the shift
- count argument, which is always %cl.
-
-Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com)
-
- * i386.h (i386_optab_end, i386_regtab_end): Now const.
- (one_byte_segment_defaults, two_byte_segment_defaults,
- i386_prefixtab_end): Ditto.
-
-Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
- for operand 2; from John Carr, jfc@dsg.dec.com.
-
-Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
- always use 16-bit offsets. Makes calculated-size jump tables
- feasible.
-
-Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * i386.h: Fix one-operand forms of in* and out* patterns.
-
-Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * m68k.h: Added CPU32 support.
-
-Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com)
-
- * mips.h (break): Disassemble the argument. Patch from
- jonathan@cs.stanford.edu (Jonathan Stone).
-
-Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * m68k.h: merged Motorola and MIT syntax.
-
-Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68k.h (pmove): make the tests less strict, the 68k book is
- wrong.
-
-Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
-
- * m68k.h (m68ec030): Defined as alias for 68030.
- (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
- for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use
- them. Tightened description of "fmovex" to distinguish it from
- some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned
- up descriptions that claimed versions were available for chips not
- supporting them. Added "pmovefd".
-
-Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68k.h: fix where the . goes in divull
-
-Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * m68k.h: the cas2 instruction is supposed to be written with
- indirection on the last two operands, which can be either data or
- address registers. Added a new operand type 'r' which accepts
- either register type. Added new cases for cas2l and cas2w which
- use them. Corrected masks for cas2 which failed to recognize use
- of address register.
-
-Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com)
-
- * m68k.h: Merged in patches (mostly m68040-specific) from
- Colin Smith <colin@wrs.com>.
-
- * m68k.h: Merged m68kmri.h and m68k.h (using the former as a
- base). Also cleaned up duplicates, re-ordered instructions for
- the sake of dis-assembling (so aliases come after standard names).
- * m68kmri.h: Now just defines some macros, and #includes m68k.h.
-
-Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com)
-
- * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
- all missing .s
-
-Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com)
-
- * sparc.h: Moved tables to BFD library.
-
- * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
-
-Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com)
-
- * h8300.h: Finish filling in all the holes in the opcode table,
- so that the Lucid C compiler can digest this as well...
-
-Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com)
-
- * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
- Fix opcodes on various sizes of fild/fist instructions
- (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
- Use tabs to indent for comments. Fixes suggested by Minh Tran-Le.
-
-Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com)
-
- * h8300.h: Fill in all the holes in the opcode table so that the
- losing HPUX C compiler can digest this...
-
-Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com)
-
- * mips.h: Fix decoding of coprocessor instructions, somewhat.
- (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.)
-
-Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
-
- * sparc.h: Add new architecture variant sparclite; add its scan
- and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro.
-
-Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * mips.h: Add some more opcode synonyms (from Frank Yellin,
- fy@lucid.com).
-
-Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com)
-
- * rs6k.h: New version from IBM (Metin).
-
-Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * rs6k.h: Fix incorrect extended opcode for instructions `fm'
- and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).)
-
-Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com)
-
- * rs6k.h: Move from ../../gdb/rs6k-opcode.h.
-
-Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com)
-
- * m68k.h (one, two): Cast macro args to unsigned to suppress
- complaints from compiler and lint about integer overflow during
- shift.
-
-Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com)
-
- * sparc.h (OP): Avoid signed overflow when shifting to high order bit.
-
-Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com)
-
- * mips.h: Make bitfield layout depend on the HOST compiler,
- not on the TARGET system.
-
-Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com)
-
- * i386.h: added inb, inw, outb, outw opcodes, added att syntax for
- scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le
- <TRANLE@INTELLICORP.COM>.
-
-Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * h8300.h: turned op_type enum into #define list
-
-Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com)
-
- * sparc.h: Remove "cypress" architecture. Remove "fitox" and
- similar instructions -- they've been renamed to "fitoq", etc.
- REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong
- number of arguments.
- * h8300.h: Remove extra ; which produces compiler warning.
-
-Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com)
-
- * sparc.h: fix opcode for tsubcctv.
-
-Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com)
-
- * sparc.h: fba and cba are now aliases for fb and cb respectively.
-
-Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com)
-
- * sparc.h (nop): Made the 'lose' field be even tighter,
- so only a standard 'nop' is disassembled as a nop.
-
-Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com)
-
- * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
- disassembled as a nop.
-
-Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
-
- * m68k.h, sparc.h: ANSIfy enums.
-
-Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com)
-
- * sparc.h: fix a typo.
-
-Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com)
-
- * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h,
- m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
- vax.h: Renamed from ../<foo>-opcode.h.
+ * h8300.h (BITOP): Dissallow operations on @aa:16 and @aa:32
+ except for the H8S.
+For older changes see ChangeLog-9103
Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
version-control: never
End:
diff --git a/include/opcode/ChangeLog-9103 b/include/opcode/ChangeLog-9103
new file mode 100644
index 0000000000..0cdb1f3bed
--- /dev/null
+++ b/include/opcode/ChangeLog-9103
@@ -0,0 +1,3102 @@
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * m68k.h: Add MCFv4/MCF5528x support.
+
+2003-10-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h (JMP_INSN_BYTE): Define.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Document +E, +F, +G, +H, and +I operand types.
+ Update documentation of I, +B and +C operand types.
+ (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
+ (M_DEXT, M_DINS): New enum values.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850.h (PROCESSOR_V850E1): Define.
+
+2003-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other
+ PPC_OPCODE_* defines.
+
+2003-08-16 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (fmov.ds): Expand as famov.ds.
+ (fmov.sd): Expand as famov.sd.
+ (pfmov.ds): Expand as pfamov.ds.
+
+2003-08-07 Michael Meissner <gnu@the-meissners.org>
+
+ * cgen.h: Remove PARAM macro usage in all prototypes.
+ (CGEN_EXTRACT_INFO): Use void * instead of PTR.
+ (cgen_print_fn): Ditto.
+ (CGEN_HW_ENTRY): Ditto.
+ (CGEN_MAYBE_MULTI_IFLD): Ditto.
+ (struct cgen_insn): Ditto.
+ (CGEN_CPU_TABLE): Ditto.
+
+2003-08-07 Alan Modra <amodra@bigpond.net.au>
+
+ * alpha.h: Remove PARAMS macro.
+ * arc.h: Likewise.
+ * d10v.h: Likewise.
+ * d30v.h: Likewise.
+ * i370.h: Likewise.
+ * or32.h: Likewise.
+ * pj.h: Likewise.
+ * ppc.h: Likewise.
+ * sparc.h: Likewise.
+ * tic80.h: Likewise.
+ * v850.h: Likewise.
+
+2003-07-18 Michael Snyder <msnyder@redhat.com>
+
+ * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (CPU_RM7000): New macro.
+ (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (AM33_2): Renamed from AM33.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * mn10300.h (AM332, FMT_D3): Defined.
+ (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
+ (MN10300_OPERAND_FPCR): Likewise.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
+
+2003-06-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
+ (IMM8U, IMM8U_NS): Define.
+ (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
+
+2003-06-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
+ mov.l ERs,@(dd:32,ERd) entries.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386.h (i386_optab): Support Intel Precott New Instructions.
+
+2003-06-10 Gary Hade <garyhade@us.ibm.com>
+
+ * ppc.h (PPC_OPERAND_DQ): Define.
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300.h (IMM4_NS, IMM8_NS): New.
+ (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
+ Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+
+ * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
+ (ldc): Split ccr ops from exr ops (which are only available
+ on H8S or H8SX).
+ (stc): Ditto.
+ (andc, orc, xorc): Ditto.
+ (ldmac, stmac, clrmac, mac): Change access to AV_H8S.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+ and Bernd Schmidt <bernds@redhat.com>
+ and Alexandre Oliva <aoliva@redhat.com>
+ * h8300.h: Add support for h8300sx instruction set.
+
+2003-05-23 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (expand_type): Add XP_ONLY.
+ (scyc.b): New XP instruction.
+ (ldio.l): Likewise.
+ (ldio.s): Likewise.
+ (ldio.b): Likewise.
+ (ldint.l): Likewise.
+ (ldint.s): Likewise.
+ (ldint.b): Likewise.
+ (stio.l): Likewise.
+ (stio.s): Likewise.
+ (stio.b): Likewise.
+ (pfld.q): Likewise.
+
+2003-05-20 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (flush): Set lower 3 bits properly and use 'L'
+ for the immediate operand type instead of 'i'.
+
+2003-05-20 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (fzchks): Both S and R bits must be set.
+ (pfzchks): Likewise.
+ (faddp): Likewise.
+ (pfaddp): Likewise.
+ (fix.ss): Remove (invalid instruction).
+ (pfix.ss): Likewise.
+ (ftrunc.ss): Likewise.
+ (pftrunc.ss): Likewise.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (form, pform): Add missing .dd suffix.
+
+2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
+
+2003-04-07 Michael Snyder <msnyder@redhat.com>
+
+ * h8300.h (ldc/stc): Fix up src/dst swaps.
+
+2003-04-09 J. Grant <jg-binutils@jguk.org>
+
+ * mips.h: Correct comment typo.
+
+2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
+ (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
+ (s390_opcode): Remove architecture. Add modes and min_cpu.
+
+2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
+ processing.
+
+2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * m68hc11.h (cpu6812s): Define.
+
+2003-01-07 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Fix missing space in comment.
+ (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
+ (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
+ by four bits.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Update copyright years to include 2002 (which had
+ been missed previously) and 2003. Make comments about "+A",
+ "+B", and "+C" operand types more descriptive.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Note that the "+D" operand type name is now used.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Document "+" as the start of two-character operand
+ type names, and add new "K", "+A", "+B", and "+C" operand types.
+ (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
+ (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
+ defines.
+
+2002-12-24 Dmitry Diky <diwil@mail.ru>
+
+ * msp430.h: New file. Defines msp430 opcodes.
+
+2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+ * h8300.h: Added some more pseudo opcodes for system call
+ processing.
+
+2002-12-19 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
+ (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
+ (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
+ (OP_OP_SDC2, OP_OP_SDC3): Define.
+
+2002-12-16 Alan Modra <amodra@bigpond.net.au>
+
+ * hppa.h (completer_chars): #if 0 out.
+
+ * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
+ "default_args".
+ (struct not_wot): Constify "args".
+ (struct not): Constify "name".
+ (numopcodes): Delete.
+ (endop): Delete.
+
+2002-12-13 Alan Modra <amodra@bigpond.net.au>
+
+ * pj.h (pj_opc_info_t): Add union.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64.h: Fix copyright message.
+ (IA64_OPND_AR_CSD): New operand kind.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
+
+2002-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
+ Constify "leaf" and "multi".
+
+2002-11-19 Klee Dienes <kdienes@apple.com>
+
+ * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
+ fields.
+ (h8_opcodes). Modify initializer and initializer macros to no
+ longer initialize the removed fields.
+
+2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h (c4x_insts): Fixed LDHI constraint
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * h8300.h (h8_opcode): Remove 'length' field.
+ (h8_opcodes): Mark as 'const' (both the declaration and
+ definition). Modify initializer and initializer macros to no
+ longer initialize the length field.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * arc.h (arc_ext_opcodes): Declare as extern.
+ (arc_ext_operands): Declare as extern.
+ * i860.h (i860_opcodes): Declare as const.
+
+2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: File reordering. Added enhanced opcodes.
+
+2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: Major rewrite of entire file. Define instruction
+ classes, and put each instruction into a class.
+
+2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x.h: Added new opcodes and corrected some bugs. Add support
+ for new DSP types.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h: Update comment for new opcodes.
+ (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
+ (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
+ (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
+ (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
+ (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
+ Don't match CPU_R4111 with INSN_4100.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
+ instructions.
+ (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
+ PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
+ e500x2 Integer select, branch locking, performance monitor,
+ cache locking and machine check APUs, respectively.
+ (PPC_OPCODE_EFS): New opcode type for efs* instructions.
+ (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
+ (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
+ M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
+ memory banks.
+ (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
+
+2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_MIPS16): New define.
+
+2002-07-08 Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h: Remove IgnoreSize from movsx and movzx.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * a29k.h: Replace CONST with const.
+ (CONST): Don't define.
+ * convex.h: Replace CONST with const.
+ (CONST): Don't define.
+ * dlx.h: Replace CONST with const.
+ * or32.h (CONST): Don't define.
+
+2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
+ (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
+ (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
+ (INSN_MDMX): New constants, for MDMX support.
+ (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * dlx.h: New file.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ia64.h: Use #include "" instead of <> for local header files.
+ * sparc.h: Likewise.
+
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
+2002-05-17 Andrey Volkov <avolkov@sources.redhat.com>
+
+ * h8300.h: Corrected defs of all control regs
+ and eepmov instr.
+
+2002-04-11 Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h: Add intel mode cmpsd and movsd.
+ Put them before SSE2 insns, so that rep prefix works.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
+ instructions.
+ (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
+ may be passed along with the ISA bitmask.
+
+2002-03-05 Paul Koning <pkoning@equallogic.com>
+
+ * pdp11.h: Add format codes for float instruction formats.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
+
+Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
+
+Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (push,pop): Allow 16bit operands in 64bit mode.
+ (xchg): Fix.
+ (in, out): Disable 64bit operands.
+ (call, jmp): Avoid REX prefixes.
+ (jcxz): Prohibit in 64bit mode
+ (jrcxz, loop): Add 64bit variants.
+ (movq): Fix patterns.
+ (movmskps, pextrw, pinstrw): Add 64bit variants.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32.h: New file.
+
+2002-01-22 Graydon Hoare <graydon@redhat.com>
+
+ * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
+ (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
+
+2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+ * h8300.h: Comment typo fix.
+
+2002-01-03 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
+ (PPC_OPCODE_BOOKE64): Likewise.
+
+Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (call, ret): Move to end of table.
+ (addb, addib): PA2.0 variants should have been PA2.0W.
+ (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
+ happy.
+ (fldw, fldd, fstw, fstd, bb): Likewise.
+ (short loads/stores): Tweak format specifier slightly to keep
+ disassembler happy.
+ (indexed loads/stores): Likewise.
+ (absolute loads/stores): Likewise.
+
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v.h (OPERAND_NOSP): New macro.
+
+2001-11-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v.h (OPERAND_SP): New macro.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * tic54x.h: Revise opcode layout; don't really need a separate
+ structure for parallel opcodes.
+
+2001-11-13 Zack Weinberg <zack@codesourcery.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
+ accept WordReg.
+
+2001-11-04 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Remove extra space.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix.h: New file.
+
+2001-10-18 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
+ of the expression, to make source code merging easier.
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h: Sort coprocessor instruction argument characters
+ in comment, add a few more words of description for "H".
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.h (INSN_SB1): New cpu-specific instruction bit.
+ (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
+ if cpu is CPU_SB1.
+
+2001-10-17 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
+
+2001-10-12 matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
+ opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
+ instructions, respectively.
+
+2001-09-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * v850.h: Remove spurious comment.
+
+2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * h8300.h: Fix compile time warning messages
+
+2001-09-04 Richard Henderson <rth@redhat.com>
+
+ * alpha.h (struct alpha_operand): Pack elements into bitfields.
+
+2001-08-31 Eric Christopher <echristo@redhat.com>
+
+ * mips.h: Remove CPU_MIPS32_4K.
+
+2001-08-27 Torbjorn Granlund <tege@swox.com>
+
+ * ppc.h (PPC_OPERAND_DS): Define.
+
+2001-08-25 Andreas Jaeger <aj@suse.de>
+
+ * d30v.h: Fix declaration of reg_name_cnt.
+
+ * d10v.h: Fix declaration of d10v_reg_name_cnt.
+
+ * arc.h: Add prototypes from opcodes/arc-opc.c.
+
+2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_10000): Define.
+ (OPCODE_IS_MEMBER): Check for INSN_10000.
+
+2001-08-10 Alan Modra <amodra@one.net.au>
+
+ * ppc.h: Revert 2001-08-08.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (INSN_GP32): Remove.
+ (OPCODE_IS_MEMBER): Remove gp32 parameter.
+ (M_MOVE): New macro identifier.
+
+2001-08-08 Alan Modra <amodra@one.net.au>
+
+ 1999-10-25 Torbjorn Granlund <tege@swox.com>
+ * ppc.h (struct powerpc_operand): New field `reloc'.
+
+2001-08-01 Aldy Hernandez <aldyh@redhat.com>
+
+ * mips.h (INSN_ISA_MASK): Nuke bits 12-15.
+
+2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen.h (CGEN_INSN): Add regex support.
+ (build_insn_regex): Declare.
+
+2001-07-11 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
+ (cgen_cpu_desc): Ditto.
+
+2001-07-07 Ben Elliston <bje@redhat.com>
+
+ * m88k.h: Clean up and reformat. Remove unused code.
+
+2001-06-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen.h (cgen_keyword): Add nonalpha_chars field.
+
+2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (CPU_R12000): Define.
+
+2001-05-23 John Healy <jhealy@redhat.com>
+
+ * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
+
+2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips.h (INSN_ISA_MASK): Define.
+
+2001-05-12 Alan Modra <amodra@one.net.au>
+
+ * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
+ not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
+ and use InvMem as these insns must have register operands.
+
+2001-05-04 Alan Modra <amodra@one.net.au>
+
+ * i386.h (i386_optab): Move InvMem to first operand of pmovmskb
+ and pextrw to swap reg/rm assignments.
+
+2001-04-05 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (enum cris_insn_version_usage): Correct comment for
+ cris_ver_v3p.
+
+2001-03-24 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq".
+ Add InvMem to first operand of "maskmovdqu".
+
+2001-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris.h (ADD_PC_INCR_OPCODE): New macro.
+
+2001-03-21 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.h: Fix formatting.
+
+2001-03-22 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (i386_optab): Add paddq, psubq.
+
+2001-03-19 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
+
+2001-02-28 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k.h: new defines for Coldfire V4. Update mcf to know
+ about mcf5407.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * pdp11.h: New file.
+
+2001-02-12 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): SSE integer converison instructions have
+ 64bit versions on x86-64.
+
+2001-02-10 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Remove extraneous whitespace. Formating change to allow
+ for future contribution.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390.h: New file.
+
+2001-02-02 Patrick Macdonald <patrickm@redhat.com>
+
+ * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
+ (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
+ (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
+
+2001-01-24 Karsten Keil <kkeil@suse.de>
+
+ * i386.h (i386_optab): Fix swapgs
+
+2001-01-14 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Describe new '<' and '>' operand types, and tidy
+ existing comments.
+ (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
+ Remove duplicate "ldw j(s,b),x". Sort some entries.
+
+2001-01-13 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Fix pusha and ret templates.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
+ definitions for masking cpu type.
+ (arc_ext_operand_value) New structure for storing extended
+ operands.
+ (ARC_OPERAND_*) Flags for operand values.
+
+2001-01-10 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (pinsrw): Add.
+ (pshufw): Remove.
+ (cvttpd2dq): Fix operands.
+ (cvttps2dq): Likewise.
+ (movq2q): Rename to movdq2q.
+
+2001-01-10 Richard Schaal <richard.schaal@intel.com>
+
+ * i386.h: Correct movnti instruction.
+
+2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
+ of operands (unsigned char or unsigned short).
+ (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
+ (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
+
+2001-01-05 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Make [sml]fence template to use immext field.
+
+2001-01-03 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Fix 64bit pushf template; Add instructions
+ introduced by Pentium4
+
+2000-12-30 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Add "rex*" instructions;
+ add swapgs; disable jmp/call far direct instructions for
+ 64bit mode; add syscall and sysret; disable registers for 0xc6
+ template. Add 'q' suffixes to extendable instructions, disable
+ obsolete instructions, add new sign/zero extension ones.
+ (i386_regtab): Add extended registers.
+ (*Suf): Add No_qSuf.
+ (q_Suf, wlq_Suf, bwlq_Suf): New.
+
+2000-12-20 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (i386_optab): Replace "Imm" with "EncImm".
+ (i386_regtab): Add flags field.
+
+2000-12-12 Nick Clifton <nickc@redhat.com>
+
+ * mips.h: Fix formatting.
+
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
+ (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
+ OP_*_SYSCALL definitions.
+ (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
+ 19 bit wait codes.
+ (MIPS operand specifier comments): Remove 'm', add 'U' and
+ 'J', and update the meaning of 'B' so that it's more general.
+
+ * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
+ INSN_ISA5): Renumber, redefine to mean the ISA at which the
+ instruction was added.
+ (INSN_ISA32): New constant.
+ (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
+ Renumber to avoid new and/or renumbered INSN_* constants.
+ (INSN_MIPS32): Delete.
+ (ISA_UNKNOWN): New constant to indicate unknown ISA.
+ (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
+ ISA_MIPS32): New constants, defined to be the mask of INSN_*
+ constants available at that ISA level.
+ (CPU_UNKNOWN): New constant to indicate unknown CPU.
+ (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
+ define it with a unique value.
+ (OPCODE_IS_MEMBER): Update for new ISA membership-related
+ constant meanings.
+
+ * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
+ definitions.
+
+ * mips.h (CPU_SB1): New constant.
+
+2000-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
+ Note that '3' is used for siam operand.
+
+2000-09-22 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips.h: Use defines instead of hard-coded processor numbers.
+ (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
+ CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
+ CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
+ CPU_4KC, CPU_4KM, CPU_4KP): Define..
+ (OPCODE_IS_MEMBER): Use new defines.
+ (OP_MASK_SEL, OP_SH_SEL): Define.
+ (OP_MASK_CODE20, OP_SH_CODE20): Define.
+ Add 'P' to used characters.
+ Use 'H' for coprocessor select field.
+ Use 'm' for 20 bit breakpoint code.
+ Document new arg characters and add to used characters.
+ (INSN_MIPS32): New define for MIPS32 extensions.
+ (OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
+
+2000-09-05 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa.h: Mention cz completer.
+
+2000-08-16 Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h (IA64_OPCODE_POSTINC): New.
+
+2000-08-15 H.J. Lu <hjl@gnu.org>
+
+ * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
+ IgnoreSize change.
+
+2000-08-08 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h: Small formatting adjustments.
+
+2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
+ Move related opcodes closer to each other.
+ Minor changes in comments, list undefined opcodes.
+
+2000-07-26 Dave Brolley <brolley@redhat.com>
+
+ * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * i860.h (btne, bte, bla): Changed these opcodes
+ to use sbroff ('r') instead of split16 ('s').
+ (J, K, L, M): New operand types for 16-bit aligned fields.
+ (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
+ use I, J, K, L, M instead of just I.
+ (T, U): New operand types for split 16-bit aligned fields.
+ (st.x): Changed these opcodes to use S, T, U instead of just S.
+ (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
+ exist on the i860.
+ (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
+ (pfeq.ss, pfeq.dd): New opcodes.
+ (st.s): Fixed incorrect mask bits.
+ (fmlow): Fixed incorrect mask bits.
+ (fzchkl, pfzchkl): Fixed incorrect mask bits.
+ (faddz, pfaddz): Fixed incorrect mask bits.
+ (form, pform): Fixed incorrect mask bits.
+ (pfld.l): Fixed incorrect mask bits.
+ (fst.q): Fixed incorrect mask bits.
+ (all floating point opcodes): Fixed incorrect mask bits for
+ handling of dual bit.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ cris.h: New file.
+
+2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
+ (AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
+ (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
+ (AVR_ISA_M83): Define for ATmega83, ATmega85.
+ (espm): Remove, because ESPM removed in databook update.
+ (eicall, eijmp): Move to the end of opcode table.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * m68hc11.h: New file for support of Motorola 68hc11.
+
+Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: clr,lsl,rol, ... moved after add,adc, ...
+
+Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru>
+
+ * avr.h: New file with AVR opcodes.
+
+Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
+
+ * d10v.h: added ALONE attribute for d10v_opcode.exec_type.
+
+2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * i386.h: Allow d suffix on iret, and add DefaultSize modifier.
+
+2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * i386.h: Use sl_FP, not sl_Suf for fild.
+
+2000-05-16 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that
+ it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
+ (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds
+ CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>,
+
+ * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>,
+ Alexander Sokolov <robocop@netlink.ru>
+
+ * i386.h (i386_optab): Add cpu_flags for all instructions.
+
+2000-05-13 Alan Modra <alan@linuxcare.com.au>
+
+ From Gavin Romig-Koch <gavin@cygnus.com>
+ * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa.
+
+2000-05-04 Timothy Wall <twall@cygnus.com>
+
+ * tic54x.h: New.
+
+2000-05-03 J.T. Conklin <jtc@redback.com>
+
+ * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
+ (PPC_OPERAND_VR): New operand flag for vector registers.
+
+2000-05-01 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.h (EOP): Add missing initializer.
+
+Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com>
+
+ * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
+ forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
+ New operand types l,y,&,fe,fE,fx added to support above forms.
+ (pa_opcodes): Replaced usage of 'x' as source/target for
+ floating point double-word loads/stores with 'fx'.
+
+Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+ Timothy Wall <twall@cygnus.com>
+ Jim Wilson <wilson@cygnus.com>
+
+ * ia64.h: New file.
+
+2000-03-27 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (SHORT_A1): Fix value.
+ (SHORT_AR): Renumber so that it is at the end of the list of short
+ instructions, not the end of the list of long instructions.
+
+2000-03-26 Alan Modra <alan@linuxcare.com>
+
+ * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
+ problem isn't really specific to Unixware.
+ (OLDGCC_COMPAT): Define.
+ (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
+ destination %st(0).
+ Fix lots of comments.
+
+2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * d30v.h:
+ (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
+ (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
+ (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
+ (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
+ (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
+ (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
+ (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
+
+2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (fild, fistp): Change intel d_Suf form to fildd and
+ fistpd without suffix.
+
+2000-02-24 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h (cgen_cpu_desc): Rename field 'flags' to
+ 'signed_overflow_ok_p'.
+ Delete prototypes for cgen_set_flags() and cgen_get_flags().
+
+2000-02-24 Andrew Haley <aph@cygnus.com>
+
+ * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+ (CGEN_CPU_TABLE): flags: new field.
+ Add prototypes for new functions.
+
+2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add some more UNIXWARE_COMPAT comments.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370.h: New file.
+
+2000-02-22 Chandra Chavva <cchavva@cygnus.com>
+
+ * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
+ cannot be combined in parallel with ADD/SUBppp.
+
+2000-02-22 Andrew Haley <aph@cygnus.com>
+
+ * mips.h: (OPCODE_IS_MEMBER): Add comment.
+
+1999-12-30 Andrew Haley <aph@cygnus.com>
+
+ * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
+ whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
+ insns.
+
+2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Qualify intel mode far call and jmp with x_Suf.
+
+1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add JumpAbsolute qualifier to all non-intel mode
+ indirect jumps and calls. Add FF/3 call for intel mode.
+
+Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add new operand types. Add new instruction formats.
+
+Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
+ instruction.
+
+1999-11-18 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (INSN_ISA5): New.
+
+1999-11-01 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (OPCODE_IS_MEMBER): New.
+
+1999-10-29 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (SHORT_AR): Define.
+
+1999-10-18 Michael Meissner <meissner@cygnus.com>
+
+ * alpha.h (alpha_num_opcodes): Convert to unsigned.
+ (alpha_num_operands): Ditto.
+
+Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
+
+ * hppa.h (pa_opcodes): Add load and store cache control to
+ instructions. Add ordered access load and store.
+
+ * hppa.h (pa_opcode): Add new entries for addb and addib.
+
+ * hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
+
+ * hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
+
+Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com>
+
+ * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
+
+Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve"
+ and "be" using completer prefixes.
+
+ * hppa.h (pa_opcodes): Add initializers to silence compiler.
+
+ * hppa.h: Update comments about character usage.
+
+Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
+ up the new fstw & bve instructions.
+
+Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
+ instructions.
+
+ * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
+
+ * hppa.h (pa_opcodes): Add long offset double word load/store
+ instructions.
+
+ * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
+ stores.
+
+ * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
+
+ * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
+
+ * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
+
+ * hppa.h (pa_opcodes): Add new syntax "be" instructions.
+
+ * hppa.h (pa_opcodes): Note use of 'M' and 'L'.
+
+ * hppa.h (pa_opcodes): Add support for "b,l".
+
+ * hppa.h (pa_opcodes): Add support for "b,gate".
+
+Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Use 'fX' for first register operand
+ in xmpyu.
+
+ * hppa.h (pa_opcodes): Fix mask for probe and probei.
+
+ * hppa.h (pa_opcodes): Fix mask for depwi.
+
+Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
+ an explicit output argument.
+
+Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
+ Add a few PA2.0 loads and store variants.
+
+1999-09-04 Steve Chamberlain <sac@pobox.com>
+
+ * pj.h: New file.
+
+1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_regtab): Move %st to top of table, and split off
+ other fp reg entries.
+ (i386_float_regtab): To here.
+
+Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args
+ by 'f'.
+
+ * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
+ Add supporting args.
+
+ * hppa.h: Document new completers and args.
+ * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
+ uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0
+ extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions
+ pmenb and pmdis.
+
+ * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
+ hshr, hsub, mixh, mixw, permh.
+
+ * hppa.h (pa_opcodes): Change completers in instructions to
+ use 'c' prefix.
+
+ * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
+ hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments.
+
+ * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
+ fnegabs to use 'I' instead of 'F'.
+
+1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
+ Document pf2iw and pi2fw as athlon insns. Remove pswapw.
+ Alphabetically sort PIII insns.
+
+Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+
+Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
+ and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr.
+
+ * hppa.h: Document 64 bit condition completers.
+
+Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+
+ * hppa.h (pa_opcodes): Change condition args to use '?' prefix.
+
+1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Add DefaultSize modifier to all insns
+ that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf,
+ sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
+
+Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+ Jeff Law <law@cygnus.com>
+
+ * hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
+
+ * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
+
+ * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
+ and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
+
+1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
+
+Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (struct pa_opcode): Add new field "flags".
+ (FLAGS_STRICT): Define.
+
+Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com>
+ Jeff Law <law@cygnus.com>
+
+ * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
+
+ * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
+
+1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl,
+ lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP
+ flag to fcomi and friends.
+
+Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Move integer arithmetic instructions after
+ integer logical instructions.
+
+1999-05-28 Linus Nordberg <linus.nordberg@canit.se>
+
+ * m68k.h: Document new formats `E', `G', `H' and new places `N',
+ `n', `o'.
+
+ * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u'
+ and new places `m', `M', `h'.
+
+Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com
+
+ * hppa.h (pa_opcodes): Add several processor specific system
+ instructions.
+
+Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pa_opcodes): Add second entry for "comb", "comib",
+ "addb", and "addib" to be used by the disassembler.
+
+1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au>
+
+ * i386.h (ReverseModrm): Remove all occurences.
+ (InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
+ movmskps, pextrw, pmovmskb, maskmovq.
+ Change NoSuf to FP on all MMX, XMM and AMD insns as these all
+ ignore the data size prefix.
+
+ * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
+ Mostly stolen from Doug Ledford <dledford@redhat.com>
+
+Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com>
+
+ * ppc.h (PPC_OPCODE_64_BRIDGE): New.
+
+1999-04-14 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ATTR): Delete member num_nonbools.
+ (CGEN_ATTR_TYPE): Update.
+ (CGEN_ATTR_MASK): Number booleans starting at 0.
+ (CGEN_ATTR_VALUE): Update.
+ (CGEN_INSN_ATTR): Update.
+
+Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
+ instructions.
+
+Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (bb, bvb): Tweak opcode/mask.
+
+
+1999-03-22 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
+ (struct cgen_cpu_desc): Rename member mach to machs. New member isas.
+ New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
+ min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
+ Delete member max_insn_size.
+ (enum cgen_cpu_open_arg): New enum.
+ (cpu_open): Update prototype.
+ (cpu_open_1): Declare.
+ (cgen_set_cpu): Delete.
+
+1999-03-11 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
+ (CGEN_OPERAND_NIL): New macro.
+ (CGEN_OPERAND): New member `type'.
+ (@arch@_cgen_operand_table): Delete decl.
+ (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
+ (CGEN_OPERAND_TABLE): New struct.
+ (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
+ (CGEN_OPINST): Pointer to operand table entry replaced with enum.
+ (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table',
+ now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to
+ {get,set}_{int,vma}_operand.
+ (@arch@_cgen_cpu_open): New arg `isa'.
+ (cgen_set_cpu): Ditto.
+
+Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com>
+
+ * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms.
+
+1999-02-25 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
+ (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to
+ enum cgen_hw_type.
+ (CGEN_HW_TABLE): New struct.
+ (hw_table): Delete declaration.
+ (CGEN_OPERAND): Change member hw to hw_type, change type from pointer
+ to table entry to enum.
+ (CGEN_OPINST): Ditto.
+ (CGEN_CPU_TABLE): Change member hw_list to hw_table.
+
+Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (AXP_OPCODE_EV6): New.
+ (AXP_OPCODE_NOPAL): Include it.
+
+1999-02-09 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
+ All uses updated. New members int_insn_p, max_insn_size,
+ parse_operand,insert_operand,extract_operand,print_operand,
+ sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
+ get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
+ extract_handlers,print_handlers.
+ (CGEN_ATTR): Change type of num_nonbools to unsigned int.
+ (CGEN_ATTR_BOOL_OFFSET): New macro.
+ (CGEN_ATTR_MASK): Subtract it to compute bit number.
+ (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
+ (cgen_opcode_handler): Renamed from cgen_base.
+ (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
+ (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
+ all uses updated.
+ (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
+ (enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
+ (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
+ (CGEN_OPCODE,CGEN_IBASE): New types.
+ (CGEN_INSN): Rewrite.
+ (CGEN_{ASM,DIS}_HASH*): Delete.
+ (init_opcode_table,init_ibld_table): Declare.
+ (CGEN_INSN_ATTR): New type.
+
+Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com>
+
+ * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
+ (x_FP, d_FP, dls_FP, sldx_FP): Define.
+ Change *Suf definitions to include x and d suffixes.
+ (movsx): Use w_Suf and b_Suf.
+ (movzx): Likewise.
+ (movs): Use bwld_Suf.
+ (fld): Change ordering. Use sld_FP.
+ (fild): Add Intel Syntax equivalent of fildq.
+ (fst): Use sld_FP.
+ (fist): Use sld_FP.
+ (fstp): Use sld_FP. Add x_FP version.
+ (fistp): LLongMem version for Intel Syntax.
+ (fcom, fcomp): Use sld_FP.
+ (fadd, fiadd, fsub): Use sld_FP.
+ (fsubr): Use sld_FP.
+ (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
+
+1999-01-27 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
+ CGEN_MODE_UINT.
+
+1999-01-16 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (bv): Fix mask.
+
+1999-01-05 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
+ (CGEN_ATTR): Use it.
+ (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
+ (CGEN_ATTR_TABLE): New member dfault.
+
+1998-12-30 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (MIPS16_INSN_BRANCH): New.
+
+Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com>
+
+ The following is part of a change made by Edith Epstein
+ <eepstein@sophia.cygnus.com> as part of a project to merge in
+ changes by HP; HP did not create ChangeLog entries.
+
+ * hppa.h (completer_chars): list of chars to not put a space
+ after.
+
+Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (i386_optab): Permit w suffix on processor control and
+ status word instructions.
+
+1998-11-30 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (struct cgen_hw_entry): Delete const on attrs member.
+ (struct cgen_keyword_entry): Ditto.
+ (struct cgen_operand): Ditto.
+ (CGEN_IFLD): New typedef, with associated access macros.
+ (CGEN_IFMT): New typedef, with associated access macros.
+ (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'.
+ (CGEN_IVALUE): New typedef.
+ (struct cgen_insn): Delete const on syntax,attrs members.
+ `format' now points to format data. Type of `value' is now
+ CGEN_IVALUE.
+ (struct cgen_opcode_table): New member ifld_table.
+
+1998-11-18 Doug Evans <devans@casey.cygnus.com>
+
+ * cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
+ (CGEN_OPERAND_INSTANCE): New member `attrs'.
+ (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
+ (cgen_dis_lookup_insn): Update type of `base_insn' arg.
+ (cgen_opcode_table): Update type of dis_hash fn.
+ (extract_operand): Update type of `insn_value' arg.
+
+Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
+
+Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * mips.h (INSN_MULT): Added.
+
+Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
+
+Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_INSN_INT): New typedef.
+ (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
+ (CGEN_INSN_BYTES): Renamed from cgen_insn_t.
+ (CGEN_INSN_BYTES_PTR): New typedef.
+ (CGEN_EXTRACT_INFO): New typedef.
+ (cgen_insert_fn,cgen_extract_fn): Update.
+ (cgen_opcode_table): New member `insn_endian'.
+ (assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
+ (insert_operand,extract_operand): Update.
+ (cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
+
+Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_BOOLS): New macro.
+ (struct CGEN_HW_ENTRY): New member `attrs'.
+ (CGEN_HW_ATTR): New macro.
+ (struct CGEN_OPERAND_INSTANCE): New member `name'.
+ (CGEN_INSN_INVALID_P): New macro.
+
+Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add "fid".
+
+Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ From Robert Andrew Dale <rob@nb.net>
+ * i386.h (i386_optab): Add AMD 3DNow! instructions.
+ (AMD_3DNOW_OPCODE): Define.
+
+Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com>
+
+ * d30v.h (EITHER_BUT_PREFER_MU): Define.
+
+Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (cgen_insn): #if 0 out element `cdx'.
+
+Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com>
+
+ Move all global state data into opcode table struct, and treat
+ opcode table as something that is "opened/closed".
+ * cgen.h (CGEN_OPCODE_DESC): New type.
+ (all fns): New first arg of opcode table descriptor.
+ (cgen_set_parse_operand_fn): Add prototype.
+ (cgen_current_machine,cgen_current_endian): Delete.
+ (CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
+ parse_operand_fn,asm_hash_table,asm_hash_table_entries,
+ dis_hash_table,dis_hash_table_entries.
+ (opcode_open,opcode_close): Add prototypes.
+
+ * cgen.h (cgen_insn): New element `cdx'.
+
+Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
+
+Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add "no_match_operands" field for instructions.
+ (MN10300_MAX_OPERANDS): Define.
+
+Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (cgen_macro_insn_count): Declare.
+
+Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
+ (cgen_insert_fn,cgen_extract_fn): New arg `pc'.
+ (get_operand,put_operand): Replaced with get_{int,vma}_operand,
+ set_{int,vma}_operand.
+
+Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h: Add "machine" field for instructions.
+ (MN103, AM30): Define machine types.
+
+Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
+
+1998-06-18 Ulrich Drepper <drepper@cygnus.com>
+
+ * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
+
+Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Add general form of aad and aam. Add ud2a
+ and ud2b.
+ (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
+ those that happen to be implemented on pentiums.
+
+Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
+ IgnoreDataSize to IgnoreSize. Flag address and data size prefixes
+ with Size16|IgnoreSize or Size32|IgnoreSize.
+
+Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
+ (REPE): Rename to REPE_PREFIX_OPCODE.
+ (i386_regtab_end): Remove.
+ (i386_prefixtab, i386_prefixtab_end): Remove.
+ (i386_optab): Use NULL as sentinel rather than "" to suit rewrite
+ of md_begin.
+ (MAX_OPCODE_SIZE): Define.
+ (i386_optab_end): Remove.
+ (sl_Suf): Define.
+ (sl_FP): Use sl_Suf.
+
+ * i386.h (i386_optab): Allow 16 bit displacement for `mov
+ mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16
+ bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32,
+ data32, dword, and adword prefixes.
+ (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
+ regs.
+
+Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_regtab): Remove BaseIndex modifier from esp.
+
+ * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
+ register operands, because this is a common idiom. Flag them with
+ a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
+ fdivrp because gcc erroneously generates them. Also flag with a
+ warning.
+
+ * i386.h: Add suffix modifiers to most insns, and tighter operand
+ checks in some cases. Fix a number of UnixWare compatibility
+ issues with float insns. Merge some floating point opcodes, using
+ new FloatMF modifier.
+ (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
+ consistency.
+
+ * i386.h: Change occurence of ShortformW to W|ShortForm. Add
+ IgnoreDataSize where appropriate.
+
+Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: (one_byte_segment_defaults): Remove.
+ (two_byte_segment_defaults): Remove.
+ (i386_regtab): Add BaseIndex to 32 bit regs reg_type.
+
+Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
+ (cgen_hw_lookup_by_num): Declare.
+
+Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com>
+
+ * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
+ ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
+
+Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com>
+
+ * cgen.h (cgen_asm_init_parse): Delete.
+ (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
+ (cgen_asm_record_register,cgen_asm_finish_insn): Delete.
+
+Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
+ (cgen_asm_finish_insn): Update prototype.
+ (cgen_insn): New members num, data.
+ (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
+ dis_hash, dis_hash_table_size moved to ...
+ (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA.
+ All uses updated. New members asm_hash_p, dis_hash_p.
+ (CGEN_MINSN_EXPANSION): New struct.
+ (cgen_expand_macro_insn): Declare.
+ (cgen_macro_insn_count): Declare.
+ (get_insn_operands): Update prototype.
+ (lookup_get_insn_operands): Declare.
+
+Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Change iclrKludge and imulKludge to
+ regKludge. Add operands types for string instructions.
+
+Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com>
+
+ * i386.h (X): Renamed from `Z_' to preserve formatting of opcode
+ table.
+
+Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com>
+
+ * i386.h (Z_): Renamed from `_' to avoid clash with common alias
+ for `gettext'.
+
+Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h: Remove NoModrm flag from all insns: it's never checked.
+ Add IsString flag to string instructions.
+ (IS_STRING): Don't define.
+ (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
+ (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
+ (SS_PREFIX_OPCODE): Define.
+
+Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Revert March 24 patch; no more LinearAddress.
+
+Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Remove fwait (9b) from all floating point
+ instructions, and instead add FWait opcode modifier. Add short
+ form of fldenv and fstenv.
+ (FWAIT_OPCODE): Define.
+
+ * i386.h (i386_optab): Change second operand constraint of `mov
+ sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
+ allow legal instructions such as `movl %gs,%esi'
+
+Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * h8300.h: Various changes to fully bracket initializers.
+
+Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org>
+
+ * i386.h: Set LinearAddress for lidt and lgdt.
+
+Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_BOOL_ATTR): New macro.
+
+Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
+
+Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now.
+ (cgen_insn): Record syntax and format entries here, rather than
+ separately.
+
+Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
+
+Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (cgen_insert_fn): Change type of result to const char *.
+ (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
+ (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
+
+Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com>
+
+ * cgen.h (lookup_insn): New argument alias_p.
+
+Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+Fix rac to accept only a0:
+ * d10v.h (OPERAND_ACC): Split into:
+ (OPERAND_ACC0, OPERAND_ACC1) .
+ (OPERAND_GPR): Define.
+
+Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_FIELDS): Define here.
+ (CGEN_HW_ENTRY): New member `type'.
+ (hw_list): Delete decl.
+ (enum cgen_mode): Declare.
+ (CGEN_OPERAND): New member `hw'.
+ (enum cgen_operand_instance_type): Declare.
+ (CGEN_OPERAND_INSTANCE): New type.
+ (CGEN_INSN): New member `operands'.
+ (CGEN_OPCODE_DATA): Make hw_list const.
+ (get_insn_operands,lookup_insn): Add prototypes for.
+
+Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
+ (CGEN_HW_ENTRY): Move `next' entry to end of struct.
+ (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
+ (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
+
+Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * cgen.h: Correct typo in comment end marker.
+
+Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
+
+ * tic30.h: New file.
+
+Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h: Add prototypes for cgen_save_fixups(),
+ cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype
+ of cgen_asm_finish_insn() to return a char *.
+
+Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cgen.h: Formatting changes to improve readability.
+
+Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com>
+
+ * cgen.h (*): Clean up pass over `struct foo' usage.
+ (CGEN_ATTR): Make unsigned char.
+ (CGEN_ATTR_TYPE): Update.
+ (CGEN_ATTR_{ENTRY,TABLE}): New types.
+ (cgen_base): Move member `attrs' to cgen_insn.
+ (CGEN_KEYWORD): New member `null_entry'.
+ (CGEN_{SYNTAX,FORMAT}): New types.
+ (cgen_insn): Format and syntax separated from each other.
+
+Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
+ 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make
+ flags_{used,set} long.
+ (d30v_operand): Make flags field long.
+
+Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.h: Fix comment describing operand types.
+
+Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com>
+
+ * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
+ everything else after down.
+
+Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * d10v.h (OPERAND_FLAG): Split into:
+ (OPERAND_FFLAG, OPERAND_CFLAG) .
+
+Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (struct mips_opcode): Changed comments to reflect new
+ field usage.
+
+Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com>
+
+ * mips.h: Added to comments a quick-ref list of all assigned
+ operand type characters.
+ (OP_{MASK,SH}_PERFREG): New macros.
+
+Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com>
+
+ * sparc.h: Add '_' and '/' for v9a asr's.
+ Patch from David Miller <davem@vger.rutgers.edu>
+
+Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h: Bit ops with absolute addresses not in the 8 bit
+ area are not available in the base model (H8/300).
+
+Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Remove documentation of ` operand specifier.
+
+Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Document q and v operand specifiers.
+
+Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Add processors field.
+ (PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
+ (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
+ (PROCESSOR_V850EA): New bit constants.
+
+Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com>
+
+ Merge changes from Martin Hunt:
+
+ * d30v.h: Allow up to 64 control registers. Add
+ SHORT_A5S format.
+
+ * d30v.h (LONG_Db): New form for delayed branches.
+
+ * d30v.h: (LONG_Db): New form for repeati.
+
+ * d30v.h (SHORT_D2B): New form.
+
+ * d30v.h (SHORT_A2): New form.
+
+ * d30v.h (OPERAND_2REG): Add new operand to indicate 2
+ registers are used. Needed for VLIW optimization.
+
+Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h: Move assembler interface section
+ up so cgen_parse_operand_result is defined for cgen_parse_address.
+ (cgen_parse_address): Update prototype.
+
+Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
+
+Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h (two_byte_segment_defaults): Correct base register 5 in
+ modes 1 and 2 to be ss rather than ds. From Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
+ <paubert@iram.es>.
+
+ * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
+ (JUMP_ON_ECX_ZERO): Remove commented out macro.
+
+Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (V850_NOT_R0): New flag.
+
+Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Remove flags field.
+
+Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com>
+
+ * v850.h (struct v850_opcode): Add flags field.
+ (struct v850_operand): Extend meaning of 'bits' and 'shift'
+ fields.
+ (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
+ (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
+
+Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * arc.h: New file.
+
+Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_opcodes): Declare as const.
+
+Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn
+ uses single or double precision floating point resources.
+ (INSN_NO_ISA, INSN_ISA1): Define.
+ (cpu specific INSN macros): Tweak into bitmasks outside the range
+ of INSN_ISA field.
+
+Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h: Fix pand opcode.
+
+Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h: Widen INSN_ISA and move it to a more convenient
+ bit position. Add INSN_3900.
+
+Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com>
+
+ * mips.h (struct mips_opcode): added new field membership.
+
+Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h (movd): only Reg32 is allowed.
+
+ * i386.h: add fcomp and ud2. From Wayne Scott
+ <wscott@ichips.intel.com>.
+
+Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Add MMX instructions.
+
+Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
+
+ * i386.h: Remove W modifier from conditional move instructions.
+
+Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
+ with no arguments to match that generated by the UnixWare
+ assembler.
+
+Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
+ (cgen_parse_operand_fn): Declare.
+ (cgen_init_parse_operand): Declare.
+ (cgen_parse_operand): Renamed from cgen_asm_parse_operand,
+ new argument `want'.
+ (enum cgen_parse_operand_result): Renamed from cgen_asm_result.
+ (enum cgen_parse_operand_type): New enum.
+
+Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
+
+Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * cgen.h: New file.
+
+Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
+ fdivrp.
+
+Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com)
+
+ * v850.h (extract): Make unsigned.
+
+Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Add iclr.
+
+Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Change DW to W for cmpxchg and xadd, since they don't
+ take a direction bit.
+
+Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org>
+
+ * sparc.h (sparc_opcode_lookup_arch): Use full prototype.
+
+Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * sparc.h: Include <ansidecl.h>. Update function declarations to
+ use prototypes, and to use const when appropriate.
+
+Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_RELAX): Define.
+
+Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Change pre_defined_registers to
+ d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
+
+Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com>
+
+ * mips.h: Add macros for cop0, cop1 cop2 and cop3.
+ Change mips_opcodes from const array to a pointer,
+ and change bfd_mips_num_opcodes from const int to int,
+ so that we can increase the size of the mips opcodes table
+ dynamically.
+
+Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d30v.h (FLAG_X): Remove unused flag.
+
+Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d30v.h: New file.
+
+Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
+ (PDS_VALUE): Macro to access value field of predefined symbols.
+ (tic80_next_predefined_symbol): Add prototype.
+
+Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (tic80_symbol_to_value): Change prototype to match
+ change in function, added class parameter.
+
+Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
+ endmask fields, which are somewhat weird in that 0 and 32 are
+ treated exactly the same.
+
+Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: Change all the OPERAND defines to use the form (1 << X)
+ rather than a constant that is 2**X. Reorder them to put bits for
+ operands that have symbolic names in the upper bits, so they can
+ be packed into an int where the lower bits contain the value that
+ corresponds to that symbolic name.
+ (predefined_symbo): Add struct.
+ (tic80_predefined_symbols): Declare array of translations.
+ (tic80_num_predefined_symbols): Declare size of that array.
+ (tic80_value_to_symbol): Declare function.
+ (tic80_symbol_to_value): Declare function.
+
+Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h (MN10200_OPERAND_RELAX): Define.
+
+Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
+ be the destination register.
+
+Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (struct tic80_opcode): Change "format" field to "flags".
+ (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
+ (TIC80_VECTOR): Define a flag bit for the flags. This one means
+ that the opcode can have two vector instructions in a single
+ 32 bit word and we have to encode/decode both.
+
+Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_PCREL): Renamed from
+ TIC80_OPERAND_RELATIVE for PC relative.
+ (TIC80_OPERAND_BASEREL): New flag bit for register
+ base relative.
+
+Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
+
+Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
+ ":s" modifier for scaling.
+
+Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
+ (TIC80_OPERAND_M_LI): Ditto
+
+Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
+ (TIC80_OPERAND_CC): New define for condition code operand.
+ (TIC80_OPERAND_CR): New define for control register operand.
+
+Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h (struct tic80_opcode): Name changed.
+ (struct tic80_opcode): Remove format field.
+ (struct tic80_operand): Add insertion and extraction functions.
+ (TIC80_OPERAND_*): Remove old bogus values, start adding new
+ correct ones.
+ (FMT_*): Ditto.
+
+Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
+ type IV instruction offsets.
+
+Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com>
+
+ * tic80.h: New file.
+
+Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h (MN10200_OPERAND_NOCHECK): Define.
+
+Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com>
+
+ * mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
+ * mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
+ * v850.h: Fix comment, v850_operand not powerpc_operand.
+
+Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h: Flesh out structures and definitions needed by
+ the mn10200 assembler & disassembler.
+
+Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h: Add mips16 definitions.
+
+Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com>
+
+ * m68k.h: Document new <, >, m, n, o and p operand specifiers.
+
+Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_PCREL): Define.
+ (MN10300_OPERAND_MEMADDR): Define.
+
+Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_REG_LIST): Define.
+
+Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_SPLIT): Define.
+
+Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_EXTENDED): Define.
+
+Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_REPEATED): Define.
+
+Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: Don't include "bfd.h"; private relocation types are now
+ negative to minimize problems with shared libraries. Organize
+ instruction subsets by AMASK extensions and PALcode
+ implementation.
+ (struct alpha_operand): Move flags slot for better packing.
+
+Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (V850_OPERAND_RELAX): New operand flag.
+
+Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (FMT_*): Move operand format definitions
+ here.
+
+Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (MN10300_OPERAND_PAREN): Define.
+
+Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10300.h (mn10300_opcode): Add "format" field.
+ (MN10300_OPERAND_*): Define.
+
+Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10x00.h: Delete.
+ * mn10200.h, mn10300.h: New files.
+
+Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10x00.h: New file.
+
+Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * v850.h: Add new flag to indicate this instruction uses a PC
+ displacement.
+
+Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (stmac): Add missing instruction.
+
+Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (v850_opcode): Remove "size" field. Add "memop"
+ field.
+
+Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com)
+
+ * v850.h (V850_OPERAND_EP): Define.
+
+ * v850.h (v850_opcode): Add size field.
+
+Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h (v850_operands): Add insert and extract fields, pointers
+ to functions used to handle unusual operand encoding.
+ (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
+ V850_OPERAND_SIGNED): Defined.
+
+Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h (v850_operands): Add flags field.
+ (OPERAND_REG, OPERAND_NUM): Defined.
+
+Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * v850.h: New file.
+
+Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk>
+
+ * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
+ OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
+ OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
+ OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
+ OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
+ Defined.
+
+Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
+ a 3 bit space id instead of a 2 bit space id.
+
+Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Add some additional defines to support the
+ assembler in determining which operations can be done in parallel.
+
+Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (SN): Define.
+ (eepmov.b): Renamed from "eepmov"
+ (nop, bpt, rte, rts, sleep, clrmac): These have no size associated
+ with them.
+
+Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h (OPERAND_SHIFT): New operand flag.
+
+Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: Changes for divs, parallel-only instructions, and
+ signed numbers.
+
+Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h (pd_reg): Define. Putting the definition here allows
+ the assembler and disassembler to share the same struct.
+
+Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (i960_opcodes): "halt" takes an argument. From Stephen
+ Williams <steve@icarus.com>.
+
+Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
+
+ * d10v.h: New file.
+
+Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (band, bclr): Force high bit of immediate nibble to zero.
+
+Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * m68k.h (mcf5200): New macro.
+ Document names of coldfire control registers.
+
+Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (SRC_IN_DST): Define.
+
+ * h8300.h (UNOP3): Mark the register operand in this insn
+ as a source operand, not a destination operand.
+ (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references.
+ (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark
+ register operand with SRC_IN_DST.
+
+Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu>
+
+ * alpha.h: New file.
+
+Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * rs6k.h: Remove obsolete file.
+
+Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
+ fdivp, and fdivrp. Add ffreep.
+
+Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com>
+
+ * h8300.h: Reorder various #defines for readability.
+ (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
+ (BITOP): Accept additional (unused) argument. All callers changed.
+ (EBITOP): Likewise.
+ (O_LAST): Bump.
+ (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
+
+ * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
+ (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
+ (BITOP, EBITOP): Handle new H8/S addressing modes for
+ bit insns.
+ (UNOP3): Handle new shift/rotate insns on the H8/S.
+ (insns using exr): New instructions.
+ (tas, mac, ldmac, clrmac, ldm, stm): New instructions.
+
+Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (add.l): Undo Apr 5th change. The manual I had
+ was incorrect.
+
+Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (START): Remove.
+ (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w
+ and mov.l insns that can be relaxed.
+
+Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i386.h: Remove Abs32 from lcall.
+
+Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com>
+
+ * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
+ (SLCPOP): New macro.
+ Mark X,Y opcode letters as in use.
+
+Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * sparc.h (F_FLOAT, F_FBR): Define.
+
+Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV
+ from all insns.
+ (ABS8SRC,ABS8DST): Add ABS8MEM.
+ (add.l): Fix reg+reg variant.
+ (eepmov.w): Renamed from eepmovw.
+ (ldc,stc): Fix many cases.
+
+Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
+
+Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (O): Mark operand letter as in use.
+
+Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
+ Mark operand letters uU as in use.
+
+Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
+ (sparc_opcode_arch): Delete member `conflicts'. Add `supported'.
+ (SPARC_OPCODE_SUPPORTED): New macro.
+ (SPARC_OPCODE_CONFLICT_P): Rewrite.
+ (F_NOTV9): Delete.
+
+Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com)
+
+ * sparc.h (sparc_opcode_lookup_arch) Make return type in
+ declaration consistent with return type in definition.
+
+Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * i386.h (i386_optab): Remove Data32 from pushf and popf.
+
+Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com>
+
+ * i386.h (i386_regtab): Add 80486 test registers.
+
+Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * i960.h (I_HX): Define.
+ (i960_opcodes): Add HX instruction.
+
+Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
+ and fclex.
+
+Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
+ (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
+ (bfd_* defines): Delete.
+ (sparc_opcode_archs): Replaces architecture_pname.
+ (sparc_opcode_lookup_arch): Declare.
+ (NUMOPCODES): Delete.
+
+Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com>
+
+ * sparc.h (enum sparc_architecture): Add v9a.
+ (ARCHITECTURES_CONFLICT_P): Update.
+
+Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com>
+
+ * i386.h: Added Pentium Pro instructions.
+
+Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Document new 'W' operand place.
+
+Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com)
+
+ * hppa.h: Add lci and syncdma instructions.
+
+Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
+
+ * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
+ instructions.
+
+Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com>
+
+ * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
+ assembler's -mcom and -many switches.
+
+Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Fix cmpxchg8b extension opcode description.
+
+Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com>
+
+ * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
+ and register cr4.
+
+Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68k.h: Change comment: split type P into types 0, 1 and 2.
+
+Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_prefetch): Declare.
+
+Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
+
+Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * m68kmri.h: Remove.
+
+ * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
+ declarations. Remove F_ALIAS and flag field of struct
+ m68k_opcode. Change arch field of struct m68k_opcode to unsigned
+ int. Make name and args fields of struct m68k_opcode const.
+
+Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com>
+
+ * sparc.h (F_NOTV9): Define.
+
+Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com>
+
+ * mips.h (INSN_4010): Define.
+
+Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h (TBL1): Reverse sense of "round" argument in result.
+
+ Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
+ * m68k.h: Fix argument descriptions of coprocessor
+ instructions to allow only alterable operands where appropriate.
+ [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
+ (m68k_opcode_aliases): Add more aliases.
+
+Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h: Added explcitly short-sized conditional branches, and a
+ bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
+ svr4-based configurations.
+
+Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu>
+ * i386.h: added missing Data16/Data32 flags to a few instructions.
+
+Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (OP_MASK_FR, OP_SH_FR): Define.
+ (OP_MASK_BCC, OP_SH_BCC): Define.
+ (OP_MASK_PREFX, OP_SH_PREFX): Define.
+ (OP_MASK_CCC, OP_SH_CCC): Define.
+ (INSN_READ_FPR_R): Define.
+ (INSN_RFE): Delete.
+
+Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * m68k.h (enum m68k_architecture): Deleted.
+ (struct m68k_opcode_alias): New type.
+ (m68k_opcodes): Now const. Deleted opcode aliases with exactly
+ matching constraints, values and flags. As a side effect of this,
+ the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
+ as I know were never used, now may need re-examining.
+ (numopcodes): Now const.
+ (m68k_opcode_aliases, numaliases): New variables.
+ (endop): Deleted.
+ [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
+ m68k_opcode_aliases; update declaration of m68k_opcodes.
+
+Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (delay_type): Delete unused enumeration.
+ (pa_opcode): Replace unused delayed field with an architecture
+ field.
+ (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
+
+Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (INSN_ISA4): Define.
+
+Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (M_DLA_AB, M_DLI): Define.
+
+Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * hppa.h (fstwx): Fix single-bit error.
+
+Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
+
+Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * i386.h: added cpuid instruction , and dr[0-7] aliases for the
+ debug registers. From Charles Hannum (mycroft@netbsd.org).
+
+Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit
+ i386 support:
+ * i386.h (MOV_AX_DISP32): New macro.
+ (i386_optab): Added Data16 and Data32 as needed. Added "w" forms
+ of several call/return instructions.
+ (ADDR_PREFIX_OPCODE): New macro.
+
+Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu)
+
+ * vax.h (struct vot_wot, field `args'): Make it pointer to const
+ char.
+ (struct vot, field `name'): ditto.
+
+Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
+
+ * vax.h: Supply and properly group all values in end sentinel.
+
+Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * mips.h (INSN_ISA, INSN_4650): Define.
+
+Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
+
+ * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On
+ systems with a separate instruction and data cache, such as the
+ 29040, these instructions take an optional argument.
+
+Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
+ INSN_TRAP.
+
+Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
+
+ * mips.h (INSN_STORE_MEMORY): Define.
+
+Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * sparc.h: Document new operand type 'x'.
+
+Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i960.h (I_CX2): New instruction category. It includes
+ instructions available on Cx and Jx processors.
+ (I_JX): New instruction category, for JX-only instructions.
+ (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added
+ Jx-only instructions, in I_JX category.
+
+Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * ns32k.h (endop): Made pointer const too.
+
+Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au)
+
+ * ns32k.h: Drop Q operand type as there is no correct use
+ for it. Add I and Z operand types which allow better checking.
+
+Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com)
+
+ * h8300.h (xor.l) :fix bit pattern.
+ (L_2): New size of operand.
+ (trapa): Use it.
+
+Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m68k.h: Move "trap" before "tpcc" to change disassembly.
+
+Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * sparc.h: Include v9 definitions.
+
+Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * m68k.h (m68060): Defined.
+ (m68040up, mfloat, mmmu): Include it.
+ (struct m68k_opcode): Widen `arch' field.
+ (m68k_opcodes): Updated for M68060. Removed comments that were
+ instructions commented out by "JF" years ago.
+
+Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
+ add a one-bit `flags' field.
+ (F_ALIAS): New macro.
+
+Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com)
+
+ * h8300.h (dec, inc): Get encoding right.
+
+Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (struct powerpc_operand): Removed signedp field; just use
+ a flag instead.
+ (PPC_OPERAND_SIGNED): Define.
+ (PPC_OPERAND_SIGNOPT): Define.
+
+Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
+ prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com).
+
+Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h: Reverse last change. It'll be handled in gas instead.
+
+Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (sar): Disabled the two-operand Imm1 form, since it was
+ slower on the 486 and used the implicit shift count despite the
+ explicit operand. The one-operand form is still available to get
+ the shorter form with the implicit shift count.
+
+Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com)
+
+ * hppa.h: Fix typo in fstws arg string.
+
+Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (struct powerpc_opcode): Make operands field unsigned.
+
+Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (PPC_OPCODE_601): Define.
+
+Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h (addb): Use '@' for addb and addib pseudo ops.
+ (so we can determine valid completers for both addb and addb[tf].)
+
+ * hppa.h (xmpyu): No floating point format specifier for the
+ xmpyu instruction.
+
+Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h (PPC_OPERAND_NEXT): Define.
+ (PPC_OPERAND_NEGATIVE): Change value to make room for above.
+ (struct powerpc_macro): Define.
+ (powerpc_macros, powerpc_num_macros): Declare.
+
+Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * ppc.h: New file. Header file for PowerPC opcode table.
+
+Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: More minor template fixes for sfu and copr (to allow
+ for easier disassembly).
+
+ * hppa.h: Fix templates for all the sfu and copr instructions.
+
+Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com)
+
+ * i386.h (push): Permit Imm16 operand too.
+
+Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * h8300.h (andc): Exists in base arch.
+
+Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp>
+ * hppa.h: #undef NONE to avoid conflict with hiux include files.
+
+Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Add FP quadword store instructions.
+
+Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: (M_J_A): Added.
+ (M_LA): Removed.
+
+Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon
+ <mellon@pepper.ncd.com>.
+
+Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Immediate field in probei instructions is unsigned,
+ not low-sign extended.
+
+Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
+
+Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com)
+
+ * i386.h: Add "fxch" without operand.
+
+Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
+
+Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu)
+
+ * hppa.h: Add gfw and gfr to the opcode table.
+
+Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * m88k.h: extended to handle m88110.
+
+Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu)
+
+ * hppa.h (be, ble): Use operand type 'z' to denote absolute branch
+ addresses.
+
+Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i960.h (i960_opcodes): Properly bracket initializers.
+
+Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com)
+
+ * m88k.h (BOFLAG): rewrite to avoid nested comment.
+
+Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m68k.h (two): Protect second argument with parentheses.
+
+Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
+ Deleted old in/out instructions in "#if 0" section.
+
+Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * i386.h (i386_optab): Properly bracket initializers.
+
+Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From
+ Jeff Law, law@cs.utah.edu).
+
+Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * i386.h (lcall): Accept Imm32 operand also.
+
+Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (M_ABSU): Removed (absolute value of unsigned number??).
+ (M_DABS): Added.
+
+Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h (INSN_*): Changed values. Removed unused definitions.
+ Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split
+ INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
+ INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into
+ INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
+ (M_*): Added new values for r6000 and r4000 macros.
+ (ANY_DELAY): Removed.
+
+Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Added M_LI_S and M_LI_SS.
+
+Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * h8300.h: Get some rare mov.bs correct.
+
+Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
+
+ * sparc.h: Don't define const ourself; rely on ansidecl.h having
+ been included.
+
+Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com)
+
+ * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
+ jump instructions, for use in disassemblers.
+
+Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * m88k.h: Make bitfields just unsigned, not unsigned long or
+ unsigned short.
+
+Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * hppa.h: New argument type 'y'. Use in various float instructions.
+
+Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com)
+
+ * hppa.h (break): First immediate field is unsigned.
+
+ * hppa.h: Add rfir instruction.
+
+Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com)
+
+ * mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
+
+Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: Reworked the hazard information somewhat, and fixed some
+ bugs in the instruction hazard descriptions.
+
+Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * m88k.h: Corrected a couple of opcodes.
+
+Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * mips.h: Replaced with version from Ralph Campbell and OSF. The
+ new version includes instruction hazard information, but is
+ otherwise reasonably similar.
+
+Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
+
+Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ Patches from Jeff Law, law@cs.utah.edu:
+ * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
+ Make the tables be the same for the following instructions:
+ "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
+ "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
+ "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
+ "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
+ "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
+ "fcmp", and "ftest".
+
+ * hppa.h: Make new and old tables the same for "break", "mtctl",
+ "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
+ Fix typo in last patch. Collapse several #ifdefs into a
+ single #ifdef.
+
+ * hppa.h: Delete remaining OLD_TABLE code. Bring some
+ of the comments up-to-date.
+
+ * hppa.h: Update "free list" of letters and update
+ comments describing each letter's function.
+
+Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com)
+
+ * h8300.h: Lots of little fixes for the h8/300h.
+
+Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ Support for H8/300-H
+ * h8300.h: Lots of new opcodes.
+
+Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
+
+ * h8300.h: checkpoint, includes H8/300-H opcodes.
+
+Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com)
+
+ * Patches from Jeffrey Law <law@cs.utah.edu>.
+ * hppa.h: Rework single precision FP
+ instructions so that they correctly disassemble code
+ PA1.1 code.
+
+Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org)
+
+ * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
+ mov to allow instructions like mov ss,xyz(ecx) to assemble.
+
+Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com)
+
+ * hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
+ gdb will define it for now.
+
+Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * sparc.h: Don't end enumerator list with comma.
+
+Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com)
+
+ * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson):
+ * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
+ ("bc2t"): Correct typo.
+ ("[ls]wc[023]"): Use T rather than t.
+ ("c[0123]"): Define general coprocessor instructions.
+
+Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com)
+
+ * m68k.h: Move split point for gcc compilation more towards
+ middle.
+
+Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * rs6k.h: Clean up instructions for primary opcode 19 (many were
+ simply wrong, ics, rfi, & rfsvc were missing).
+ Add "a" to opr_ext for "bb". Doc fix.
+
+Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com)
+
+ * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com).
+ * mips.h: Add casts, to suppress warnings about shifting too much.
+ * m68k.h: Document the placement code '9'.
+
+Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com)
+
+ * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
+ allows callers to break up the large initialized struct full of
+ opcodes into two half-sized ones. This permits GCC to compile
+ this module, since it takes exponential space for initializers.
+ (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
+
+Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com)
+
+ * a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
+ * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all
+ initialized structs in it.
+
+Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com)
+
+ Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>:
+ * m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
+ (AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
+
+Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com)
+
+ * mips.h: document "i" and "j" operands correctly.
+
+Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * mips.h: Removed endianness dependency.
+
+Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * h8300.h: include info on number of cycles per instruction.
+
+Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com)
+
+ * hppa.h: Move handy aliases to the front. Fix masks for extract
+ and deposit instructions.
+
+Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * i386.h: accept shld and shrd both with and without the shift
+ count argument, which is always %cl.
+
+Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com)
+
+ * i386.h (i386_optab_end, i386_regtab_end): Now const.
+ (one_byte_segment_defaults, two_byte_segment_defaults,
+ i386_prefixtab_end): Ditto.
+
+Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
+ for operand 2; from John Carr, jfc@dsg.dec.com.
+
+Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
+ always use 16-bit offsets. Makes calculated-size jump tables
+ feasible.
+
+Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * i386.h: Fix one-operand forms of in* and out* patterns.
+
+Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * m68k.h: Added CPU32 support.
+
+Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com)
+
+ * mips.h (break): Disassemble the argument. Patch from
+ jonathan@cs.stanford.edu (Jonathan Stone).
+
+Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * m68k.h: merged Motorola and MIT syntax.
+
+Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68k.h (pmove): make the tests less strict, the 68k book is
+ wrong.
+
+Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com)
+
+ * m68k.h (m68ec030): Defined as alias for 68030.
+ (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
+ for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use
+ them. Tightened description of "fmovex" to distinguish it from
+ some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned
+ up descriptions that claimed versions were available for chips not
+ supporting them. Added "pmovefd".
+
+Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68k.h: fix where the . goes in divull
+
+Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com)
+
+ * m68k.h: the cas2 instruction is supposed to be written with
+ indirection on the last two operands, which can be either data or
+ address registers. Added a new operand type 'r' which accepts
+ either register type. Added new cases for cas2l and cas2w which
+ use them. Corrected masks for cas2 which failed to recognize use
+ of address register.
+
+Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com)
+
+ * m68k.h: Merged in patches (mostly m68040-specific) from
+ Colin Smith <colin@wrs.com>.
+
+ * m68k.h: Merged m68kmri.h and m68k.h (using the former as a
+ base). Also cleaned up duplicates, re-ordered instructions for
+ the sake of dis-assembling (so aliases come after standard names).
+ * m68kmri.h: Now just defines some macros, and #includes m68k.h.
+
+Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
+ all missing .s
+
+Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com)
+
+ * sparc.h: Moved tables to BFD library.
+
+ * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
+
+Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com)
+
+ * h8300.h: Finish filling in all the holes in the opcode table,
+ so that the Lucid C compiler can digest this as well...
+
+Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com)
+
+ * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
+ Fix opcodes on various sizes of fild/fist instructions
+ (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
+ Use tabs to indent for comments. Fixes suggested by Minh Tran-Le.
+
+Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com)
+
+ * h8300.h: Fill in all the holes in the opcode table so that the
+ losing HPUX C compiler can digest this...
+
+Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com)
+
+ * mips.h: Fix decoding of coprocessor instructions, somewhat.
+ (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.)
+
+Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
+
+ * sparc.h: Add new architecture variant sparclite; add its scan
+ and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro.
+
+Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * mips.h: Add some more opcode synonyms (from Frank Yellin,
+ fy@lucid.com).
+
+Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com)
+
+ * rs6k.h: New version from IBM (Metin).
+
+Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com)
+
+ * rs6k.h: Fix incorrect extended opcode for instructions `fm'
+ and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).)
+
+Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com)
+
+ * rs6k.h: Move from ../../gdb/rs6k-opcode.h.
+
+Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com)
+
+ * m68k.h (one, two): Cast macro args to unsigned to suppress
+ complaints from compiler and lint about integer overflow during
+ shift.
+
+Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com)
+
+ * sparc.h (OP): Avoid signed overflow when shifting to high order bit.
+
+Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com)
+
+ * mips.h: Make bitfield layout depend on the HOST compiler,
+ not on the TARGET system.
+
+Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com)
+
+ * i386.h: added inb, inw, outb, outw opcodes, added att syntax for
+ scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le
+ <TRANLE@INTELLICORP.COM>.
+
+Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * h8300.h: turned op_type enum into #define list
+
+Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com)
+
+ * sparc.h: Remove "cypress" architecture. Remove "fitox" and
+ similar instructions -- they've been renamed to "fitoq", etc.
+ REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong
+ number of arguments.
+ * h8300.h: Remove extra ; which produces compiler warning.
+
+Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com)
+
+ * sparc.h: fix opcode for tsubcctv.
+
+Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com)
+
+ * sparc.h: fba and cba are now aliases for fb and cb respectively.
+
+Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com)
+
+ * sparc.h (nop): Made the 'lose' field be even tighter,
+ so only a standard 'nop' is disassembled as a nop.
+
+Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com)
+
+ * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
+ disassembled as a nop.
+
+Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com)
+
+ * m68k.h, sparc.h: ANSIfy enums.
+
+Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com)
+
+ * sparc.h: fix a typo.
+
+Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com)
+
+ * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h,
+ m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
+ vax.h: Renamed from ../<foo>-opcode.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/opcode/h8300.h b/include/opcode/h8300.h
index 20793a0a94..76d42e58a7 100644
--- a/include/opcode/h8300.h
+++ b/include/opcode/h8300.h
@@ -1,5 +1,5 @@
/* Opcode table for the H8/300
- Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2003
+ Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>.
@@ -26,7 +26,8 @@
typedef int op_type;
-enum h8_flags {
+enum h8_flags
+{
L_2 = 0x10,
L_3 = 0x20,
/* 3 bit constant, zero not accepted. */
@@ -225,7 +226,8 @@ enum h8_flags {
#endif
};
-enum ctrlreg {
+enum ctrlreg
+{
C_CCR = 0,
C_EXR = 1,
C_MACH = 2,
@@ -247,7 +249,8 @@ struct arg
};
/* Availability of instructions on processor models. */
-enum h8_model {
+enum h8_model
+{
AV_H8,
AV_H8H,
AV_H8S,
@@ -304,7 +307,7 @@ struct h8_opcode
#define A24LIST L_24, DATA5
#define A32LIST L_32, DATA7
-/* Extended Operand Prefixes: */
+/* Extended Operand Prefixes: */
#define PREFIX_010 0x0, 0x1, 0x0
#define PREFIX_015 0x0, 0x1, 0x5
@@ -383,7 +386,7 @@ struct h8_opcode
#define PREFIX_7A7C 0x7, 0xa, 0x7, 0xc
-/* Source standard fragment: */
+/* Source standard fragment: */
#define FROM_IND 0, RSIND
#define FROM_POSTINC 8, RSPOSTINC
#define FROM_POSTDEC 10, RSPOSTDEC
@@ -401,7 +404,7 @@ struct h8_opcode
#define FROM_ABS16 4, B30 | IGNORE
#define FROM_ABS32 4, B31 | IGNORE
-/* Destination standard fragment: */
+/* Destination standard fragment: */
#define TO_IND 0, RDIND
#define TO_IND_MOV 0, RDIND | B30
#define TO_POSTINC 8, RDPOSTINC
@@ -425,7 +428,7 @@ struct h8_opcode
#define TO_ABS16 4, B30 | IGNORE
#define TO_ABS32 4, B31 | IGNORE
-/* Source fragment for three-word instruction: */
+/* Source fragment for three-word instruction: */
#define TFROM_IND 6, 9, B30 | RSIND, 12
#define TFROM_DISP2 6, 9, B30 | DISPREG, 12
#define TFROM_ABS16 6, 11, B30 | B20 | B10 | IGNORE, 12, ABS16LIST
@@ -445,7 +448,7 @@ struct h8_opcode
#define TFROM_ABS16W 6, 11, 1, 12, ABS16LIST
#define TFROM_ABS32W 6, 11, 3, 12, ABS32LIST
-/* Source fragment for three-word instruction: */
+/* Source fragment for three-word instruction: */
#define TFROM_IND_B 6, 8, B30 | RSIND, 12
#define TFROM_ABS16_B 6, 10, B30 | B20 | B10 | IGNORE, 12, ABS16LIST
#define TFROM_ABS32_B 6, 10, B30 | B20 | B11 | IGNORE, 12, ABS32LIST
@@ -467,7 +470,7 @@ struct h8_opcode
#define TFROM_ABS16W_B 6, 10, 1, 12, ABS16LIST
#define TFROM_ABS32W_B 6, 10, 3, 12, ABS32LIST
-/* Extended Operand Class Expanders: */
+/* Extended Operand Class Expanders: */
#define MOVFROM_STD(CODE, PREFIX, NAME, SRC, SRC_INFIX) \
{CODE, AV_H8SX, 0, NAME, {{SRC, RDIND, E}}, {{PREFIX, SRC_INFIX, TO_IND_MOV, E}}}, \
@@ -577,9 +580,7 @@ struct h8_opcode
{CODE, AV_H8, 4, NAME, {{ABS16SRC, DST, E}}, {{ 6, OP2, 0, DST, RELAX16 | ABS16LIST, E}}}, \
{CODE, AV_H8, 6, NAME, {{ABS32SRC, DST, E}}, {{ 6, OP2, 2, DST, MEMRELAX | ABS32LIST, E}}}
-/*
- * Expansion macros for two-word (plus data) instructions.
- */
+/* Expansion macros for two-word (plus data) instructions. */
/* Expansion from one source to "standard" destinations. */
#define EXPAND2_STD_SRC(CODE, WEIGHT, NAME, SRC, PREFIX, NIB1, NIB2) \
@@ -661,9 +662,7 @@ struct h8_opcode
{CODE, AV_H8SX, 0, NAME, {{RSIND, INDEXW32D, E}}, {{0x7, 0xc, BIT | RSIND, 0x5, TO_DISP32W, OPCODE, IGNORE, DSTDISP32LIST, E}}}, \
{CODE, AV_H8SX, 0, NAME, {{RSIND, INDEXL32D, E}}, {{0x7, 0xc, BIT | RSIND, 0x5, TO_DISP32L, OPCODE, IGNORE, DSTDISP32LIST, E}}}
-/*
- * Expansion macros for three word (plus data) instructions.
- */
+/* Expansion macros for three word (plus data) instructions. */
#define EXPAND3_STD_SRC(CODE, WEIGHT, NAME, SRC, PREFIX, INFIX, OPCODE) \
{CODE, AV_H8SX, 0, NAME, {{SRC, RDPOSTINC, E}}, {{PREFIX, INFIX, 8, RDPOSTINC, OPCODE, B30 | IGNORE, E}}}, \
@@ -749,9 +748,7 @@ struct h8_opcode
EXPAND3_L_SRC (CODE, 4, NAME, INDEXL32, PREFIX_78R7W, TFROM_DISP32L_B, OPCODE)
-/*
- * Use the expansion macros to fill out the opcode table.
- */
+/* Use the expansion macros to fill out the opcode table. */
#define EXPAND_FROM_REG8(CODE, NAME, OP1, OP2, OP3) \
{CODE, AV_H8SX, 0, NAME, {{RS8, RDIND, E}}, {{0x7, 0xd, B30 | RDIND, IGNORE, OP1, OP2, RS8, IGNORE, E}}}, \
@@ -892,16 +889,14 @@ struct h8_opcode
EXPAND_STD_MATRIX_L (CODE, NAME, OP1)
-/*
- * Old expanders:
- */
+/* Old expanders: */
#define BITOP(code, imm, name, op00, op01, op10, op11, op20, op21, op30, op4) \
{code, AV_H8, 2, name, {{imm, RD8, E}}, {{op00, op01, imm, RD8, E}}}, \
{code, AV_H8, 6, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, 0, E}}}, \
{code, AV_H8, 6, name, {{imm, ABS8DST, E}}, {{op20, op21, DSTABS8LIST, op00, op01, imm, 0, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | ABS16LIST, op00, op01, imm, op4, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | ABS32LIST, op00, op01, imm, op4, E}}}
+ {code, AV_H8S, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | MEMRELAX | ABS16LIST , op00, op01, imm, op4, E}}}, \
+ {code, AV_H8S, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | MEMRELAX | ABS32LIST , op00, op01, imm, op4, E}}}
#define BITOP_B(code, imm, name, op00, op01, op10, op11, op20, op21, op30, op4) \
{code, AV_H8SX, 0, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, op4, E}}}, \
@@ -1047,11 +1042,12 @@ struct h8_opcode
#define PREFIXLDC 0x0, 0x1, 0x4, B30 | CCR_EXR | DST
#define PREFIXSTC 0x0, 0x1, 0x4, B30 | CCR_EXR | SRC
-#define O(op, size) (op*4+size)
+#define O(op, size) (op * 4 + size)
#define OP_SIZE(HOW) (HOW % 4)
#define OP_KIND(HOW) (HOW / 4)
-enum h8_asm_codes {
+enum h8_asm_codes
+{
O_RECOMPILE = 0,
O_ADD,
O_ADDX,
@@ -1182,7 +1178,8 @@ enum h8_asm_codes {
/* End of System Call specific Changes. */
};
-enum h8_size {
+enum h8_size
+{
SB = 0,
SW = 1,
SL = 2,
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index cd7200d040..10c7f4690e 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,195 @@
+2004-01-25 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * configure.ac: Add m4_pattern_allow(LIBOBJS).
+ * configure: Regenerate.
+
+2004-01-22 DJ Delorie <dj@redhat.com>
+
+ * Makefile.in: Convert to ./ throughout. Rebuild dependencies
+ with explicit build rules.
+ (VPATH): Remove.
+ (.c.o): Poison.
+ * configure.ac (pexecute, LIBOBJS): Add ./ .
+ * maint-tool: Build dependencies with explicit rules.
+
+2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * strdup.c (strdup): Constify the argument.
+
+2004-01-14 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (distclean): Remove config.cache.
+
+2004-01-13 Daniel Jacobowitz <drow@mvista.com>
+
+ * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
+ takes two parameters.
+ * cp-demint.c (cplus_demangle_fill_component): Likewise.
+
+2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
+ defined, rename some functions which are to become static via
+ #define.
+ (CP_STATIC_IF_GLIBCPP_V3): Define.
+ (struct d_operator_info): Move definition to cp-demangle.h, and
+ rename to demangle_operator_info. Change all uses.
+ (enum d_builtin_type_print): Move definition to cp-demangle.h.
+ (struct d_builtin_type_info): Move definition to cp-demangle.h,
+ and rename to demangle_builtin_type_info. Change all uses.
+ (enum d_comp_type): Move definition to include/demangle.h, and
+ rename to demangle_component_type, and change all enums to start
+ with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
+ (struct d_comp): Move definition to include/demangle.h, and rename
+ to demangle_component. Change all uses.
+ (struct d_info): Move definition to cp-demangle.h.
+ (cplus_demangle_fill_name): New function.
+ (cplus_demangle_fill_extended_operator): New function.
+ (cplus_demangle_fill_ctor): New function.
+ (cplus_demangle_fill_dtor): New function.
+ (d_make_empty): Remove type parameter. Change all callers.
+ (d_make_name): Use cplus_demangle_fill_name.
+ (d_make_extended_operator): Use
+ cplus_demangle_fill_extended_operator.
+ (d_make_ctor): Use cplus_demangle_fill_ctor.
+ (d_make_dtor): Use cplus_demangle_fill_dtor.
+ (cplus_demangle_mangled_name): Rename from d_mangled_name. Make
+ non-static by default. Change all callers.
+ (cplus_demangle_operators): Rename from d_operators. Change all
+ uses. Make non-static by default. Add sentinel at end of array.
+ (d_operator_name): Adjust initialization of high for new sentinel
+ in cplus_demangle_operators.
+ (cplus_demangle_builtin_types): Rename from d_builtin_types.
+ Change all uses. Make non-static by default. Change initializer
+ to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
+ (cplus_demangle_type): Rename from d_type. Make non-static by
+ default. Change all callers.
+ (cplus_demangle_init_info): Rename from d_init_info. Make
+ non-static by default. Change all callers.
+ * cp-demangle.h: New file.
+ * cp-demint.c: New file.
+ * Makefile.in: Rebuild dependencies.
+ (CFILES): Add cp-demint.c.
+ (REQUIRED_OFILES): Add cp-demint.o.
+
+2004-01-09 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.in: Rename file to ...
+ * configure.ac: ... this.
+ * Makefile.in: Update a comment for above change.
+ * README: Likewise.
+ * config.in: Regenerate.
+
+2004-01-02 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
+ CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
+ * cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
+ demangling template parameters.
+ * testsuite/test-demangle.c (fail): New static function.
+ (main): Support new options in input file: --no-params,
+ --is-v3-ctor, and --is-v3-dtor.
+ * testsuite/demangle-expected: Add --no-params to most tests, and
+ add the correct result when parameters are not demangled. Add
+ some simple tests for V3 constructor/destructor recognition.
+
+2003-12-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
+
+2003-12-22 Daniel Jacobowitz <drow@mvista.com>
+
+ PR debug/13272
+ * Makefile.in (lbasename.o): Depend on filenames.h.
+ * lbasename.c: Include "filenames.h" instead of defining
+ its macros locally.
+
+2003-12-22 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
+ dynamic arrays.
+ (struct d_operator_info): Add len field.
+ (struct d_builtin_type_info): Add len and java_len fields.
+ (struct d_standard_sub_info): Add simple_len, full_len, and
+ set_last_name_len fields.
+ (struct d_comp): Add len field to s_string.
+ (struct d_info): Add send, did_subs, and expansion fields.
+ (d_append_string_constant): Define.
+ (d_append_string): Remove. Change all users to use
+ d_append_string_constant or d_append_buffer instead.
+ (d_make_sub): Add len parameter. Change all callers.
+ (d_name): Increase expansion when substituting std::.
+ (d_unqualified_name): Increase expansion for an operator.
+ (d_number): Don't use multiplication for negative numbers.
+ (d_identifier): Make sure there are enough characters in the
+ string for the specified length. Adjust expansion for an
+ anonymous namespace.
+ (d_operators): Initialize len field.
+ (d_special_name, d_ctor_dtor_name): Increase expansion.
+ (d_builtin_types): Initialize len and java_len fields.
+ (d_type): Increase expansion for a builtin type.
+ (d_cv_qualifiers): Increase expansion for each qualifier.
+ (d_bare_function_type): Decrease expansion when removing single
+ void parameter.
+ (d_template_param): Increment did_subs.
+ (d_expression): Increase expansion for an operator.
+ (d_expr_primary): Decrease expansion for a type we will print
+ specially.
+ (standard_subs): Initialize new fields.
+ (d_substitution): Increment did_subs when doing a normal
+ substitution. Increase expansion for a special substitution.
+ (d_print): Add estimate parameter. Change all callers.
+ (d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
+ (d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
+ (d_print_java_identifier): Rename from d_print_identifier. Handle
+ only Java case. Change caller.
+ (d_init_info): Change return type to void. Change all callers.
+ Initialize send, did_subs, and expansion fields. Do not
+ initialize comps and subs fields.
+ (d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
+ arrays on stack. Make an estimate of the length of the demangled
+ name. Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
+ (is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
+ subs arrays on stack.
+
+2003-12-20 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
+ after the identifier.
+ * testsuite/demangle-expected: Add test case.
+
+2003-12-19 Ian Lance Taylor <ian@wasabisystems.com>
+
+ Fix for PR c++/13447:
+ * cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
+ (d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
+ (is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
+ D_COMP_QUAL_NAME.
+ (is_ctor_or_dtor): Likewise.
+ (d_local_name): Use D_COMP_LOCAL_NAME rather than
+ D_COMP_QUAL_NAME.
+ (d_print_comp) [D_COMP_LOCAL_NAME]: New.
+ (d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
+ D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
+ (d_print_mod_list): Handle D_COMP_LOCAL_NAME.
+ * testsuite/demangle-expected: Add two test cases.
+
+ * cp-demangle.c (d_print_function_type): Clear the global modifier
+ list when printing the modifiers, not just when printing the
+ function parameters.
+ * testsuite/demangle-expected: Add two test cases.
+
+2003-12-15 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * cp-demangle.c (d_print_function_type): Print the function
+ parameters with no modifiers.
+ * testsuite/demangle-expected: Add test case.
+
+ * cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
+ expect that we've read the entire string.
+ (is_ctor_or_dtor): Don't expect that we've read the entire
+ string--reverse patch of 2003-11-29.
+
2003-12-15 Brendan Kehoe <brendan@zen.org>
* libiberty/Makefile.in (floatformat.o): Add dependency on
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 5fff39be8b..bbb5c2a792 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -1,6 +1,6 @@
#
# Makefile
-# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003
+# Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation
#
# This file is part of the libiberty library.
@@ -28,7 +28,6 @@
libiberty_topdir = @libiberty_topdir@
srcdir = @srcdir@
-VPATH = @srcdir@
prefix = @prefix@
@@ -70,8 +69,8 @@ PICFLAG =
MAKEOVERRIDES =
-TARGETLIB = libiberty.a
-TESTLIB = testlib.a
+TARGETLIB = ./libiberty.a
+TESTLIB = ./testlib.a
LIBOBJS = @LIBOBJS@
@@ -118,19 +117,19 @@ installcheck: installcheck-subdir
INCDIR=$(srcdir)/$(MULTISRCTOP)../include
COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+
+# Just to make sure we don't use a built-in rule with VPATH
.c.o:
- if [ x"$(PICFLAG)" != x ]; then \
- $(COMPILE.c) $(PICFLAG) $< -o pic/$@; \
- else true; fi
- $(COMPILE.c) $< $(OUTPUT_OPTION)
+ false
# NOTE: If you add new files to the library, add them to this list
# (alphabetical), and add them to REQUIRED_OFILES, or
-# CONFIGURED_OFILES and funcs in configure.in.
+# CONFIGURED_OFILES and funcs in configure.ac. Also run "make maint-deps"
+# to build the new rules.
CFILES = alloca.c argv.c asprintf.c atexit.c \
basename.c bcmp.c bcopy.c bsearch.c bzero.c \
calloc.c choose-temp.c clock.c concat.c cp-demangle.c \
- cplus-dem.c \
+ cp-demint.c cplus-dem.c \
dyn-string.c \
fdmatch.c ffs.c fibheap.c floatformat.c fnmatch.c \
getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c \
@@ -158,45 +157,45 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
# These are always included in the library. The first four are listed
# first and by compile time to optimize parallel builds.
-REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o \
- alloca.o argv.o \
- choose-temp.o concat.o \
- dyn-string.o \
- fdmatch.o fibheap.o floatformat.o fnmatch.o \
- getopt.o getopt1.o getpwd.o getruntime.o \
- hashtab.o hex.o \
- lbasename.o \
- lrealpath.o \
- make-relative-prefix.o \
- make-temp-file.o \
- objalloc.o obstack.o \
- partition.o physmem.o @pexecute@ \
- safe-ctype.o sort.o spaces.o splay-tree.o strerror.o \
- strsignal.o \
- ternary.o \
- xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o
+REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./cp-demint.o ./md5.o \
+ ./alloca.o ./argv.o \
+ ./choose-temp.o ./concat.o \
+ ./dyn-string.o \
+ ./fdmatch.o ./fibheap.o ./floatformat.o ./fnmatch.o \
+ ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o \
+ ./hashtab.o ./hex.o \
+ ./lbasename.o \
+ ./lrealpath.o \
+ ./make-relative-prefix.o \
+ ./make-temp-file.o \
+ ./objalloc.o ./obstack.o \
+ ./partition.o ./physmem.o @pexecute@ \
+ ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o \
+ ./strsignal.o \
+ ./ternary.o \
+ ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o
# These are all the objects that configure may add to the library via
# $funcs or EXTRA_OFILES. This list exists here only for "make
# maint-missing" and "make check".
-CONFIGURED_OFILES = asprintf.o atexit.o \
- basename.o bcmp.o bcopy.o bsearch.o bzero.o \
- calloc.o clock.o copysign.o \
- _doprnt.o \
- ffs.o \
- getcwd.o getpagesize.o \
- index.o insque.o \
- memchr.o memcmp.o memcpy.o memmove.o mempcpy.o memset.o mkstemps.o \
- pex-djgpp.o pex-mpw.o pex-msdos.o pex-os2.o \
- pex-unix.o pex-win32.o \
- putenv.o \
- random.o rename.o rindex.o \
- setenv.o sigsetmask.o snprintf.o stpcpy.o stpncpy.o strcasecmp.o \
- strchr.o strdup.o strncasecmp.o strncmp.o strrchr.o strstr.o \
- strtod.o strtol.o strtoul.o \
- tmpnam.o \
- vasprintf.o vfork.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o \
- waitpid.o
+CONFIGURED_OFILES = ./asprintf.o ./atexit.o \
+ ./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o \
+ ./calloc.o ./clock.o ./copysign.o \
+ ./_doprnt.o \
+ ./ffs.o \
+ ./getcwd.o ./getpagesize.o \
+ ./index.o ./insque.o \
+ ./memchr.o ./memcmp.o ./memcpy.o ./memmove.o ./mempcpy.o ./memset.o ./mkstemps.o \
+ ./pex-djgpp.o ./pex-mpw.o ./pex-msdos.o ./pex-os2.o \
+ ./pex-unix.o ./pex-win32.o \
+ ./putenv.o \
+ ./random.o ./rename.o ./rindex.o \
+ ./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o ./strcasecmp.o \
+ ./strchr.o ./strdup.o ./strncasecmp.o ./strncmp.o ./strrchr.o ./strstr.o \
+ ./strtod.o ./strtol.o ./strtoul.o \
+ ./tmpnam.o \
+ ./vasprintf.o ./vfork.o ./vfprintf.o ./vprintf.o ./vsnprintf.o ./vsprintf.o \
+ ./waitpid.o
# These files are installed if the library has been configured to do so.
INSTALLED_HEADERS = \
@@ -376,7 +375,7 @@ clean: clean-subdir
distclean: distclean-subdir
$(MAKE) SUBDIRS="" clean
@$(MULTICLEAN) multi-clean DO=distclean
- -rm -f *~ Makefile config.status xhost-mkfrag TAGS multilib.out
+ -rm -f *~ Makefile config.cache config.status xhost-mkfrag TAGS multilib.out
-rm -f config.log
-rmdir testsuite 2>/dev/null
maintainer-clean realclean: maintainer-clean-subdir
@@ -390,8 +389,8 @@ Makefile: $(srcdir)/Makefile.in config.status
# Depending on Makefile makes sure that config.status has been re-run
# if needed. This prevents problems with parallel builds.
config.h: stamp-h ; @true
-stamp-h: config.in config.status Makefile
- CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
+stamp-h: $(srcdir)/config.in config.status Makefile
+ CONFIG_FILES= CONFIG_HEADERS=config.h:$(srcdir)/config.in $(SHELL) ./config.status
config.status: $(srcdir)/configure $(srcdir)/config.table
$(SHELL) ./config.status --recheck
@@ -415,110 +414,643 @@ $(CONFIGURED_OFILES): stamp-picdir
# The dependencies in the remainder of this file are automatically
# generated by "make maint-deps". Manual edits will be lost.
-_doprnt.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
-alloca.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-argv.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-asprintf.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-atexit.o: config.h
-basename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+./_doprnt.o: $(srcdir)/_doprnt.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/safe-ctype.h
-bsearch.o: config.h $(INCDIR)/ansidecl.h
-calloc.o: $(INCDIR)/ansidecl.h
-choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-clock.o: config.h
-concat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-copysign.o: $(INCDIR)/ansidecl.h
-cp-demangle.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
- $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h
-cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
- $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
-dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/_doprnt.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
+
+./alloca.o: $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
-fdmatch.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-fibheap.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/alloca.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
+
+./argv.o: $(srcdir)/argv.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/argv.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION)
+
+./asprintf.o: $(srcdir)/asprintf.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/asprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/asprintf.c $(OUTPUT_OPTION)
+
+./atexit.o: $(srcdir)/atexit.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/atexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/atexit.c $(OUTPUT_OPTION)
+
+./basename.o: $(srcdir)/basename.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/basename.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/basename.c $(OUTPUT_OPTION)
+
+./bcmp.o: $(srcdir)/bcmp.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/bcmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/bcmp.c $(OUTPUT_OPTION)
+
+./bcopy.o: $(srcdir)/bcopy.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/bcopy.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/bcopy.c $(OUTPUT_OPTION)
+
+./bsearch.o: $(srcdir)/bsearch.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/bsearch.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/bsearch.c $(OUTPUT_OPTION)
+
+./bzero.o: $(srcdir)/bzero.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/bzero.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/bzero.c $(OUTPUT_OPTION)
+
+./calloc.o: $(srcdir)/calloc.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/calloc.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/calloc.c $(OUTPUT_OPTION)
+
+./choose-temp.o: $(srcdir)/choose-temp.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
-floatformat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/floatformat.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/choose-temp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
+
+./clock.o: $(srcdir)/clock.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/clock.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION)
+
+./concat.o: $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
-fnmatch.o: config.h $(INCDIR)/fnmatch.h $(INCDIR)/safe-ctype.h
-getcwd.o: config.h
-getopt.o: config.h $(INCDIR)/getopt.h
-getopt1.o: config.h $(INCDIR)/getopt.h
-getpagesize.o: config.h
-getpwd.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-getruntime.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-hashtab.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/concat.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/concat.c $(OUTPUT_OPTION)
+
+./copysign.o: $(srcdir)/copysign.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/copysign.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/copysign.c $(OUTPUT_OPTION)
+
+./cp-demangle.o: $(srcdir)/cp-demangle.c config.h $(INCDIR)/ansidecl.h \
+ $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
+ $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demangle.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION)
+
+./cp-demint.o: $(srcdir)/cp-demint.c config.h $(INCDIR)/ansidecl.h \
+ $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
$(INCDIR)/libiberty.h
-hex.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demint.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
+
+./cplus-dem.o: $(srcdir)/cplus-dem.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/cplus-dem.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
+
+./dyn-string.o: $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/dyn-string.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
+
+./fdmatch.o: $(srcdir)/fdmatch.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fdmatch.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fdmatch.c $(OUTPUT_OPTION)
+
+./ffs.o: $(srcdir)/ffs.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/ffs.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/ffs.c $(OUTPUT_OPTION)
+
+./fibheap.o: $(srcdir)/fibheap.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/fibheap.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fibheap.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
+
+./floatformat.o: $(srcdir)/floatformat.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/floatformat.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
+
+./fnmatch.o: $(srcdir)/fnmatch.c config.h $(INCDIR)/fnmatch.h \
$(INCDIR)/safe-ctype.h
-lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fnmatch.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
+
+./getcwd.o: $(srcdir)/getcwd.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getcwd.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
+
+./getopt.o: $(srcdir)/getopt.c config.h $(INCDIR)/getopt.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION)
+
+./getopt1.o: $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt1.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
+
+./getpagesize.o: $(srcdir)/getpagesize.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getpagesize.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
+
+./getpwd.o: $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getpwd.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
+
+./getruntime.o: $(srcdir)/getruntime.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getruntime.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
+
+./hashtab.o: $(srcdir)/hashtab.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/hashtab.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
+
+./hex.o: $(srcdir)/hex.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/hex.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/hex.c $(OUTPUT_OPTION)
+
+./index.o: $(srcdir)/index.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/index.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/index.c $(OUTPUT_OPTION)
+
+./insque.o: $(srcdir)/insque.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/insque.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
+
+./lbasename.o: $(srcdir)/lbasename.c $(INCDIR)/ansidecl.h $(INCDIR)/filenames.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
+
+./lrealpath.o: $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/lrealpath.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+
+./make-relative-prefix.o: $(srcdir)/make-relative-prefix.c config.h \
+ $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/make-relative-prefix.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
+
+./make-temp-file.o: $(srcdir)/make-temp-file.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/make-temp-file.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
+
+./md5.o: $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/md5.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/md5.c $(OUTPUT_OPTION)
+
+./memchr.o: $(srcdir)/memchr.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memchr.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memchr.c $(OUTPUT_OPTION)
+
+./memcmp.o: $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memcmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memcmp.c $(OUTPUT_OPTION)
+
+./memcpy.o: $(srcdir)/memcpy.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memcpy.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memcpy.c $(OUTPUT_OPTION)
+
+./memmove.o: $(srcdir)/memmove.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memmove.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memmove.c $(OUTPUT_OPTION)
+
+./mempcpy.o: $(srcdir)/mempcpy.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/mempcpy.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/mempcpy.c $(OUTPUT_OPTION)
+
+./memset.o: $(srcdir)/memset.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memset.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memset.c $(OUTPUT_OPTION)
+
+./mkstemps.o: $(srcdir)/mkstemps.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/mkstemps.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/mkstemps.c $(OUTPUT_OPTION)
+
+./mpw.o: $(srcdir)/mpw.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/mpw.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/mpw.c $(OUTPUT_OPTION)
+
+./msdos.o: $(srcdir)/msdos.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/msdos.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/msdos.c $(OUTPUT_OPTION)
+
+./objalloc.o: $(srcdir)/objalloc.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/objalloc.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/objalloc.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
+
+./obstack.o: $(srcdir)/obstack.c config.h $(INCDIR)/obstack.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/obstack.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION)
+
+./partition.o: $(srcdir)/partition.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/partition.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/partition.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION)
+
+./pex-djgpp.o: $(srcdir)/pex-djgpp.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-djgpp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION)
+
+./pex-mpw.o: $(srcdir)/pex-mpw.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-mpw.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-mpw.c $(OUTPUT_OPTION)
+
+./pex-msdos.o: $(srcdir)/pex-msdos.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h \
$(INCDIR)/safe-ctype.h
-lrealpath.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-msdos.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION)
+
+./pex-os2.o: $(srcdir)/pex-os2.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-os2.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-os2.c $(OUTPUT_OPTION)
+
+./pex-unix.o: $(srcdir)/pex-unix.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-unix.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
+
+./pex-win32.o: $(srcdir)/pex-win32.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-win32.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-win32.c $(OUTPUT_OPTION)
+
+./physmem.o: $(srcdir)/physmem.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
-make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
-memchr.o: $(INCDIR)/ansidecl.h
-memcmp.o: $(INCDIR)/ansidecl.h
-memcpy.o: $(INCDIR)/ansidecl.h
-memmove.o: $(INCDIR)/ansidecl.h
-mempcpy.o: $(INCDIR)/ansidecl.h
-memset.o: $(INCDIR)/ansidecl.h
-mkstemps.o: config.h $(INCDIR)/ansidecl.h
-objalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/objalloc.h
-obstack.o: config.h $(INCDIR)/obstack.h
-partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(INCDIR)/partition.h
-pex-djgpp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h
-pex-mpw.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h
-pex-msdos.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h $(INCDIR)/safe-ctype.h
-pex-os2.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h
-pex-unix.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h
-pex-win32.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(srcdir)/pex-common.h
-physmem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-putenv.o: config.h $(INCDIR)/ansidecl.h
-random.o: $(INCDIR)/ansidecl.h
-regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
-rename.o: config.h $(INCDIR)/ansidecl.h
-safe-ctype.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
-setenv.o: config.h $(INCDIR)/ansidecl.h
-sigsetmask.o: $(INCDIR)/ansidecl.h
-snprintf.o: $(INCDIR)/ansidecl.h
-sort.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/physmem.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION)
+
+./putenv.o: $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/putenv.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/putenv.c $(OUTPUT_OPTION)
+
+./random.o: $(srcdir)/random.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/random.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
+
+./regex.o: $(srcdir)/regex.c config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION)
+
+./rename.o: $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/rename.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/rename.c $(OUTPUT_OPTION)
+
+./rindex.o: $(srcdir)/rindex.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/rindex.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION)
+
+./safe-ctype.o: $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/safe-ctype.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
+
+./setenv.o: $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/setenv.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION)
+
+./sigsetmask.o: $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/sigsetmask.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
+
+./snprintf.o: $(srcdir)/snprintf.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/snprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
+
+./sort.o: $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
$(INCDIR)/sort.h
-spaces.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-splay-tree.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(INCDIR)/splay-tree.h
-stpcpy.o: $(INCDIR)/ansidecl.h
-stpncpy.o: $(INCDIR)/ansidecl.h
-strcasecmp.o: $(INCDIR)/ansidecl.h
-strchr.o: $(INCDIR)/ansidecl.h
-strdup.o: $(INCDIR)/ansidecl.h
-strerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-strncasecmp.o: $(INCDIR)/ansidecl.h
-strncmp.o: $(INCDIR)/ansidecl.h
-strrchr.o: $(INCDIR)/ansidecl.h
-strsignal.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-strtod.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
-strtol.o: config.h $(INCDIR)/safe-ctype.h
-strtoul.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
-ternary.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
- $(INCDIR)/ternary.h
-vasprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-vfork.o: $(INCDIR)/ansidecl.h
-vfprintf.o: $(INCDIR)/ansidecl.h
-vprintf.o: $(INCDIR)/ansidecl.h
-vsnprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-vsprintf.o: $(INCDIR)/ansidecl.h
-waitpid.o: config.h
-xatexit.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-xexit.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-xmalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-xmemdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-xstrdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-xstrerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/sort.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
+
+./spaces.o: $(srcdir)/spaces.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/spaces.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION)
+
+./splay-tree.o: $(srcdir)/splay-tree.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/splay-tree.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
+
+./stpcpy.o: $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/stpcpy.c $(OUTPUT_OPTION)
+
+./stpncpy.o: $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/stpncpy.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/stpncpy.c $(OUTPUT_OPTION)
+
+./strcasecmp.o: $(srcdir)/strcasecmp.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strcasecmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strcasecmp.c $(OUTPUT_OPTION)
+
+./strchr.o: $(srcdir)/strchr.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strchr.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strchr.c $(OUTPUT_OPTION)
+
+./strdup.o: $(srcdir)/strdup.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strdup.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strdup.c $(OUTPUT_OPTION)
+
+./strerror.o: $(srcdir)/strerror.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strerror.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strerror.c $(OUTPUT_OPTION)
+
+./strncasecmp.o: $(srcdir)/strncasecmp.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strncasecmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strncasecmp.c $(OUTPUT_OPTION)
+
+./strncmp.o: $(srcdir)/strncmp.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strncmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strncmp.c $(OUTPUT_OPTION)
+
+./strrchr.o: $(srcdir)/strrchr.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strrchr.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strrchr.c $(OUTPUT_OPTION)
+
+./strsignal.o: $(srcdir)/strsignal.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strsignal.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strsignal.c $(OUTPUT_OPTION)
+
+./strstr.o: $(srcdir)/strstr.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strstr.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strstr.c $(OUTPUT_OPTION)
+
+./strtod.o: $(srcdir)/strtod.c $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strtod.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strtod.c $(OUTPUT_OPTION)
+
+./strtol.o: $(srcdir)/strtol.c config.h $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strtol.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
+
+./strtoul.o: $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoul.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
+
+./ternary.o: $(srcdir)/ternary.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/ternary.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/ternary.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/ternary.c $(OUTPUT_OPTION)
+
+./tmpnam.o: $(srcdir)/tmpnam.c
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/tmpnam.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/tmpnam.c $(OUTPUT_OPTION)
+
+./vasprintf.o: $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vasprintf.c $(OUTPUT_OPTION)
+
+./vfork.o: $(srcdir)/vfork.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vfork.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vfork.c $(OUTPUT_OPTION)
+
+./vfprintf.o: $(srcdir)/vfprintf.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vfprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
+
+./vprintf.o: $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vprintf.c $(OUTPUT_OPTION)
+
+./vsnprintf.o: $(srcdir)/vsnprintf.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vsnprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vsnprintf.c $(OUTPUT_OPTION)
+
+./vsprintf.o: $(srcdir)/vsprintf.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vsprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vsprintf.c $(OUTPUT_OPTION)
+
+./waitpid.o: $(srcdir)/waitpid.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/waitpid.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
+
+./xatexit.o: $(srcdir)/xatexit.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xatexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
+
+./xexit.o: $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION)
+
+./xmalloc.o: $(srcdir)/xmalloc.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xmalloc.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
+
+./xmemdup.o: $(srcdir)/xmemdup.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xmemdup.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
+
+./xstrdup.o: $(srcdir)/xstrdup.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrdup.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
+
+./xstrerror.o: $(srcdir)/xstrerror.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrerror.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
+
diff --git a/libiberty/README b/libiberty/README
index e8e9b33835..886bd67bc9 100644
--- a/libiberty/README
+++ b/libiberty/README
@@ -34,7 +34,7 @@ name of the function must be the same as the name of the file.
* Add the source file name to CFILES.
* Add the function to name to the funcs shell variable in
- configure.in.
+ configure.ac.
* Add the function to the AC_CHECK_FUNCS lists just after the
setting of the funcs shell variable. These AC_CHECK_FUNCS calls
diff --git a/libiberty/config.in b/libiberty/config.in
index 50ed326685..8e5071aec7 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -1,339 +1,376 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if you have <vfork.h>. */
-#undef HAVE_VFORK_H
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
+/* config.in. Generated from configure.ac by autoheader. */
+/* Define to `unsigned long' if <sys/types.h> doesn't define. */
+#undef uintptr_t
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-/* Define vfork as fork if vfork does not work. */
-#undef vfork
+/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+#undef BYTEORDER
-/* Define to `unsigned long' if <sys/types.h> doesn't define. */
-#undef uintptr_t
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
-/* Define if you have the _doprnt function. */
-#undef HAVE__DOPRNT
+/* Define to 1 if you have the <alloca.h> header file. */
+#undef HAVE_ALLOCA_H
-/* Define if you have the asprintf function. */
+/* Define to 1 if you have the `asprintf' function. */
#undef HAVE_ASPRINTF
-/* Define if you have the atexit function. */
+/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
-/* Define if you have the basename function. */
+/* Define to 1 if you have the `basename' function. */
#undef HAVE_BASENAME
-/* Define if you have the bcmp function. */
+/* Define to 1 if you have the `bcmp' function. */
#undef HAVE_BCMP
-/* Define if you have the bcopy function. */
+/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
-/* Define if you have the bsearch function. */
+/* Define to 1 if you have the `bsearch' function. */
#undef HAVE_BSEARCH
-/* Define if you have the bzero function. */
+/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
-/* Define if you have the calloc function. */
+/* Define to 1 if you have the `calloc' function. */
#undef HAVE_CALLOC
-/* Define if you have the canonicalize_file_name function. */
+/* Define to 1 if you have the `canonicalize_file_name' function. */
#undef HAVE_CANONICALIZE_FILE_NAME
-/* Define if you have the clock function. */
+/* Define to 1 if you have the `clock' function. */
#undef HAVE_CLOCK
-/* Define if you have the ffs function. */
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `ffs' function. */
#undef HAVE_FFS
-/* Define if you have the getcwd function. */
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
-/* Define if you have the getpagesize function. */
+/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
-/* Define if you have the getrusage function. */
+/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
-/* Define if you have the getsysinfo function. */
+/* Define to 1 if you have the `getsysinfo' function. */
#undef HAVE_GETSYSINFO
-/* Define if you have the gettimeofday function. */
+/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
-/* Define if you have the index function. */
+/* Define to 1 if you have the `index' function. */
#undef HAVE_INDEX
-/* Define if you have the insque function. */
+/* Define to 1 if you have the `insque' function. */
#undef HAVE_INSQUE
-/* Define if you have the memchr function. */
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */
+#undef HAVE_MACHINE_HAL_SYSINFO_H
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
-/* Define if you have the memcmp function. */
+/* Define to 1 if you have the `memcmp' function. */
#undef HAVE_MEMCMP
-/* Define if you have the memcpy function. */
+/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
-/* Define if you have the memmove function. */
+/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
-/* Define if you have the mempcpy function. */
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mempcpy' function. */
#undef HAVE_MEMPCPY
-/* Define if you have the memset function. */
+/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
-/* Define if you have the mkstemps function. */
+/* Define to 1 if you have the `mkstemps' function. */
#undef HAVE_MKSTEMPS
-/* Define if you have the on_exit function. */
+/* Define to 1 if you have a working `mmap' system call. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the `on_exit' function. */
#undef HAVE_ON_EXIT
-/* Define if you have the psignal function. */
+/* Define to 1 if you have the `psignal' function. */
#undef HAVE_PSIGNAL
-/* Define if you have the pstat_getdynamic function. */
+/* Define to 1 if you have the `pstat_getdynamic' function. */
#undef HAVE_PSTAT_GETDYNAMIC
-/* Define if you have the pstat_getstatic function. */
+/* Define to 1 if you have the `pstat_getstatic' function. */
#undef HAVE_PSTAT_GETSTATIC
-/* Define if you have the putenv function. */
+/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
-/* Define if you have the random function. */
+/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
-/* Define if you have the realpath function. */
+/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
-/* Define if you have the rename function. */
+/* Define to 1 if you have the `rename' function. */
#undef HAVE_RENAME
-/* Define if you have the rindex function. */
+/* Define to 1 if you have the `rindex' function. */
#undef HAVE_RINDEX
-/* Define if you have the sbrk function. */
+/* Define to 1 if you have the `sbrk' function. */
#undef HAVE_SBRK
-/* Define if you have the setenv function. */
+/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
-/* Define if you have the sigsetmask function. */
+/* Define to 1 if you have the `sigsetmask' function. */
#undef HAVE_SIGSETMASK
-/* Define if you have the snprintf function. */
+/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
-/* Define if you have the stpcpy function. */
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
-/* Define if you have the stpncpy function. */
+/* Define to 1 if you have the `stpncpy' function. */
#undef HAVE_STPNCPY
-/* Define if you have the strcasecmp function. */
+/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
-/* Define if you have the strchr function. */
+/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
-/* Define if you have the strdup function. */
+/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
-/* Define if you have the strerror function. */
+/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
-/* Define if you have the strncasecmp function. */
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
-/* Define if you have the strrchr function. */
+/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
-/* Define if you have the strsignal function. */
+/* Define to 1 if you have the `strsignal' function. */
#undef HAVE_STRSIGNAL
-/* Define if you have the strstr function. */
+/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
-/* Define if you have the strtod function. */
+/* Define to 1 if you have the `strtod' function. */
#undef HAVE_STRTOD
-/* Define if you have the strtol function. */
+/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
-/* Define if you have the strtoul function. */
+/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
-/* Define if you have the sysconf function. */
+/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
-/* Define if you have the sysctl function. */
+/* Define to 1 if you have the `sysctl' function. */
#undef HAVE_SYSCTL
-/* Define if you have the sysmp function. */
+/* Define to 1 if you have the `sysmp' function. */
#undef HAVE_SYSMP
-/* Define if you have the table function. */
-#undef HAVE_TABLE
+/* Define if you have the sys_errlist variable. */
+#undef HAVE_SYS_ERRLIST
-/* Define if you have the times function. */
-#undef HAVE_TIMES
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
-/* Define if you have the tmpnam function. */
-#undef HAVE_TMPNAM
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
-/* Define if you have the vasprintf function. */
-#undef HAVE_VASPRINTF
+/* Define if you have the sys_nerr variable. */
+#undef HAVE_SYS_NERR
-/* Define if you have the vfprintf function. */
-#undef HAVE_VFPRINTF
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
+/* Define to 1 if you have the <sys/pstat.h> header file. */
+#undef HAVE_SYS_PSTAT_H
-/* Define if you have the vsnprintf function. */
-#undef HAVE_VSNPRINTF
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
-/* Define if you have the vsprintf function. */
-#undef HAVE_VSPRINTF
+/* Define if you have the sys_siglist variable. */
+#undef HAVE_SYS_SIGLIST
-/* Define if you have the waitpid function. */
-#undef HAVE_WAITPID
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
-/* Define if you have the <alloca.h> header file. */
-#undef HAVE_ALLOCA_H
+/* Define to 1 if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
+/* Define to 1 if you have the <sys/sysinfo.h> header file. */
+#undef HAVE_SYS_SYSINFO_H
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
+/* Define to 1 if you have the <sys/sysmp.h> header file. */
+#undef HAVE_SYS_SYSMP_H
-/* Define if you have the <machine/hal_sysinfo.h> header file. */
-#undef HAVE_MACHINE_HAL_SYSINFO_H
+/* Define to 1 if you have the <sys/systemcfg.h> header file. */
+#undef HAVE_SYS_SYSTEMCFG_H
-/* Define if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+/* Define to 1 if you have the <sys/table.h> header file. */
+#undef HAVE_SYS_TABLE_H
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
-/* Define if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
-/* Define if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
+/* Define to 1 if you have the `table' function. */
+#undef HAVE_TABLE
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
+/* Define to 1 if you have the `times' function. */
+#undef HAVE_TIMES
-/* Define if you have the <sys/pstat.h> header file. */
-#undef HAVE_SYS_PSTAT_H
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
-/* Define if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
+/* Define to 1 if you have the `tmpnam' function. */
+#undef HAVE_TMPNAM
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+/* Define if you have the \`uintptr_t' type. */
+#undef HAVE_UINTPTR_T
-/* Define if you have the <sys/sysctl.h> header file. */
-#undef HAVE_SYS_SYSCTL_H
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
-/* Define if you have the <sys/sysinfo.h> header file. */
-#undef HAVE_SYS_SYSINFO_H
+/* Define to 1 if you have the `vasprintf' function. */
+#undef HAVE_VASPRINTF
-/* Define if you have the <sys/sysmp.h> header file. */
-#undef HAVE_SYS_SYSMP_H
+/* Define to 1 if you have the `vfork' function. */
+#undef HAVE_VFORK
-/* Define if you have the <sys/systemcfg.h> header file. */
-#undef HAVE_SYS_SYSTEMCFG_H
+/* Define to 1 if you have the <vfork.h> header file. */
+#undef HAVE_VFORK_H
-/* Define if you have the <sys/table.h> header file. */
-#undef HAVE_SYS_TABLE_H
+/* Define to 1 if you have the `vfprintf' function. */
+#undef HAVE_VFPRINTF
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
-/* Define if you have the <time.h> header file. */
-#undef HAVE_TIME_H
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `vsprintf' function. */
+#undef HAVE_VSPRINTF
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
+/* Define to 1 if you have the `waitpid' function. */
+#undef HAVE_WAITPID
-/* whether byteorder is bigendian */
-#undef WORDS_BIGENDIAN
+/* Define to 1 if `fork' works. */
+#undef HAVE_WORKING_FORK
+
+/* Define to 1 if `vfork' works. */
+#undef HAVE_WORKING_VFORK
+
+/* Define to 1 if you have the `_doprnt' function. */
+#undef HAVE__DOPRNT
+
+/* Define if you have the _system_configuration variable. */
+#undef HAVE__SYSTEM_CONFIGURATION
/* Define if the host machine stores words of multi-word integers in
big-endian order. */
#undef HOST_WORDS_BIG_ENDIAN
-/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
-#undef BYTEORDER
+/* Define if canonicalize_file_name is not declared in system header files. */
+#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME
/* Define if errno must be declared even when <errno.h> is included. */
#undef NEED_DECLARATION_ERRNO
-/* Define if you have the `uintptr_t' type. */
-#undef HAVE_UINTPTR_T
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
-/* Define if you have the sys_errlist variable. */
-#undef HAVE_SYS_ERRLIST
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
-/* Define if you have the sys_nerr variable. */
-#undef HAVE_SYS_NERR
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
-/* Define if you have the sys_siglist variable. */
-#undef HAVE_SYS_SIGLIST
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP
- systems. This function is required for alloca.c support on those
- systems. */
-#undef CRAY_STACKSEG_END
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
-/* Define if you know the direction of stack growth for your system;
- otherwise it will be automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
+/* Define if you know the direction of stack growth for your system; otherwise
+ it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows
+ toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
-/* Define if you have the _system_configuration variable. */
-#undef HAVE__SYSTEM_CONFIGURATION
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
-/* Define if canonicalize_file_name is not declared in system header files. */
-#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* whether byteorder is bigendian */
+#undef WORDS_BIGENDIAN
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define as `__inline' if that's what the C compiler calls it, or to nothing
+ if it is not supported. */
+#undef inline
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned long' if <sys/types.h> does not define. */
+#undef uintptr_t
+
+/* Define as `fork' if `vfork' does not work. */
+#undef vfork
diff --git a/libiberty/configure b/libiberty/configure
index 71f14e8a93..2f65976692 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5679,11 +5679,11 @@ fi
# Figure out which version of pexecute to use.
case "${host}" in
- *-*-mingw* | *-*-winnt*) pexecute=pex-win32.o ;;
- *-*-msdosdjgpp*) pexecute=pex-djgpp.o ;;
- *-*-msdos*) pexecute=pex-msdos.o ;;
- *-*-os2-emx*) pexecute=pex-os2.o ;;
- *) pexecute=pex-unix.o ;;
+ *-*-mingw* | *-*-winnt*) pexecute=./pex-win32.o ;;
+ *-*-msdosdjgpp*) pexecute=./pex-djgpp.o ;;
+ *-*-msdos*) pexecute=./pex-msdos.o ;;
+ *-*-os2-emx*) pexecute=./pex-os2.o ;;
+ *) pexecute=./pex-unix.o ;;
esac
@@ -6134,6 +6134,16 @@ else
fi
+
+L=""
+for l in x $LIBOBJS; do
+ case $l in
+ x) ;;
+ *) L="$L ./$l" ;;
+ esac
+done
+LIBOBJS="$L"
+
# We need multilib support, but only if configuring for the target.
ac_config_files="$ac_config_files Makefile testsuite/Makefile"
ac_config_commands="$ac_config_commands default"
diff --git a/libiberty/configure.in b/libiberty/configure.ac
index eb8a99daa0..e8907e708c 100644
--- a/libiberty/configure.in
+++ b/libiberty/configure.ac
@@ -477,11 +477,11 @@ fi
# Figure out which version of pexecute to use.
case "${host}" in
- *-*-mingw* | *-*-winnt*) pexecute=pex-win32.o ;;
- *-*-msdosdjgpp*) pexecute=pex-djgpp.o ;;
- *-*-msdos*) pexecute=pex-msdos.o ;;
- *-*-os2-emx*) pexecute=pex-os2.o ;;
- *) pexecute=pex-unix.o ;;
+ *-*-mingw* | *-*-winnt*) pexecute=./pex-win32.o ;;
+ *-*-msdosdjgpp*) pexecute=./pex-djgpp.o ;;
+ *-*-msdos*) pexecute=./pex-msdos.o ;;
+ *-*-os2-emx*) pexecute=./pex-os2.o ;;
+ *) pexecute=./pex-unix.o ;;
esac
AC_SUBST(pexecute)
@@ -496,6 +496,16 @@ else
fi
AC_SUBST(INSTALL_DEST)
+m4_pattern_allow(LIBOBJS)
+L=""
+for l in x $LIBOBJS; do
+ case $l in
+ x) ;;
+ *) L="$L ./$l" ;;
+ esac
+done
+LIBOBJS="$L"
+
# We need multilib support, but only if configuring for the target.
AC_OUTPUT(Makefile testsuite/Makefile,
[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 7a806dc44b..19f191ed8b 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1,5 +1,5 @@
/* Demangler for g++ V3 ABI.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@wasabisystems.com>.
This file is part of the libiberty library, which is part of GCC.
@@ -45,6 +45,22 @@
enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor (const char *name)
enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor (const char *name)
+ Also, the interface to the component list is public, and defined in
+ demangle.h. The interface consists of these types, which are
+ defined in demangle.h:
+ enum demangle_component_type
+ struct demangle_component
+ and these functions defined in this file:
+ cplus_demangle_fill_name
+ cplus_demangle_fill_extended_operator
+ cplus_demangle_fill_ctor
+ cplus_demangle_fill_dtor
+ cplus_demangle_print
+ and other functions defined in the file cp-demint.c.
+
+ This file also defines some other functions and variables which are
+ only to be used by the file cp-demint.c.
+
Preprocessor macros you can define while compiling this file:
IN_LIBGCC2
@@ -54,7 +70,8 @@
instead of cplus_demangle_v3() and java_demangle_v3().
IN_GLIBCPP_V3
- If defined, this file defines only __cxa_demangle().
+ If defined, this file defines only __cxa_demangle(), and no other
+ publically visible functions or variables.
STANDALONE_DEMANGLER
If defined, this file defines a main() function which demangles
@@ -81,6 +98,68 @@
#include "ansidecl.h"
#include "libiberty.h"
#include "demangle.h"
+#include "cp-demangle.h"
+
+/* If IN_GLIBCPP_V3 is defined, some functions are made static. We
+ also rename them via #define to avoid compiler errors when the
+ static definition conflicts with the extern declaration in a header
+ file. */
+#ifdef IN_GLIBCPP_V3
+
+#define CP_STATIC_IF_GLIBCPP_V3 static
+
+#define cplus_demangle_fill_name d_fill_name
+static int
+d_fill_name PARAMS ((struct demangle_component *, const char *, int));
+
+#define cplus_demangle_fill_extended_operator d_fill_extended_operator
+static int
+d_fill_extended_operator PARAMS ((struct demangle_component *, int,
+ struct demangle_component *));
+
+#define cplus_demangle_fill_ctor d_fill_ctor
+static int
+d_fill_ctor PARAMS ((struct demangle_component *, enum gnu_v3_ctor_kinds,
+ struct demangle_component *));
+
+#define cplus_demangle_fill_dtor d_fill_dtor
+static int
+d_fill_dtor PARAMS ((struct demangle_component *, enum gnu_v3_dtor_kinds,
+ struct demangle_component *));
+
+#define cplus_demangle_mangled_name d_mangled_name
+static struct demangle_component *
+d_mangled_name PARAMS ((struct d_info *, int));
+
+#define cplus_demangle_type d_type
+static struct demangle_component *
+d_type PARAMS ((struct d_info *));
+
+#define cplus_demangle_print d_print
+static char *
+d_print PARAMS ((int, const struct demangle_component *, int, size_t *));
+
+#define cplus_demangle_init_info d_init_info
+static void
+d_init_info PARAMS ((const char *, int, size_t, struct d_info *));
+
+#else /* ! defined(IN_GLIBCPP_V3) */
+#define CP_STATIC_IF_GLIBCPP_V3
+#endif /* ! defined(IN_GLIBCPP_V3) */
+
+/* See if the compiler supports dynamic arrays. */
+
+#ifdef __GNUC__
+#define CP_DYNAMIC_ARRAYS
+#else
+#ifdef __STDC__
+#ifdef __STDC_VERSION__
+#if __STDC_VERSION__ >= 199901L
+#define CP_DYNAMIC_ARRAYS
+#endif /* __STDC__VERSION >= 199901L */
+#endif /* defined (__STDC_VERSION__) */
+#endif /* defined (__STDC__) */
+#endif /* ! defined (__GNUC__) */
/* We avoid pulling in the ctype tables, to prevent pulling in
additional unresolved symbols when this code is used in a library.
@@ -101,46 +180,6 @@
#define ANONYMOUS_NAMESPACE_PREFIX_LEN \
(sizeof (ANONYMOUS_NAMESPACE_PREFIX) - 1)
-/* Information we keep for operators. */
-
-struct d_operator_info
-{
- /* Mangled name. */
- const char *code;
- /* Real name. */
- const char *name;
- /* Number of arguments. */
- int args;
-};
-
-/* How to print the value of a builtin type. */
-
-enum d_builtin_type_print
-{
- /* Print as (type)val. */
- D_PRINT_DEFAULT,
- /* Print as integer. */
- D_PRINT_INT,
- /* Print as long, with trailing `l'. */
- D_PRINT_LONG,
- /* Print as bool. */
- D_PRINT_BOOL,
- /* Print in usual way, but here to detect void. */
- D_PRINT_VOID
-};
-
-/* Information we keep for a builtin type. */
-
-struct d_builtin_type_info
-{
- /* Type name. */
- const char *name;
- /* Type name when using Java. */
- const char *java_name;
- /* How to print a value of this type. */
- enum d_builtin_type_print print;
-};
-
/* Information we keep for the standard substitutions. */
struct d_standard_sub_info
@@ -149,228 +188,26 @@ struct d_standard_sub_info
char code;
/* The simple string it expands to. */
const char *simple_expansion;
+ /* The length of the simple expansion. */
+ int simple_len;
/* The results of a full, verbose, expansion. This is used when
qualifying a constructor/destructor, or when in verbose mode. */
const char *full_expansion;
+ /* The length of the full expansion. */
+ int full_len;
/* What to set the last_name field of d_info to; NULL if we should
not set it. This is only relevant when qualifying a
constructor/destructor. */
const char *set_last_name;
+ /* The length of set_last_name. */
+ int set_last_name_len;
};
-/* Component types found in mangled names. */
-
-enum d_comp_type
-{
- /* A name. */
- D_COMP_NAME,
- /* A qualified name. */
- D_COMP_QUAL_NAME,
- /* A typed name. */
- D_COMP_TYPED_NAME,
- /* A template. */
- D_COMP_TEMPLATE,
- /* A template parameter. */
- D_COMP_TEMPLATE_PARAM,
- /* A constructor. */
- D_COMP_CTOR,
- /* A destructor. */
- D_COMP_DTOR,
- /* A vtable. */
- D_COMP_VTABLE,
- /* A VTT structure. */
- D_COMP_VTT,
- /* A construction vtable. */
- D_COMP_CONSTRUCTION_VTABLE,
- /* A typeinfo structure. */
- D_COMP_TYPEINFO,
- /* A typeinfo name. */
- D_COMP_TYPEINFO_NAME,
- /* A typeinfo function. */
- D_COMP_TYPEINFO_FN,
- /* A thunk. */
- D_COMP_THUNK,
- /* A virtual thunk. */
- D_COMP_VIRTUAL_THUNK,
- /* A covariant thunk. */
- D_COMP_COVARIANT_THUNK,
- /* A Java class. */
- D_COMP_JAVA_CLASS,
- /* A guard variable. */
- D_COMP_GUARD,
- /* A reference temporary. */
- D_COMP_REFTEMP,
- /* A standard substitution. */
- D_COMP_SUB_STD,
- /* The restrict qualifier. */
- D_COMP_RESTRICT,
- /* The volatile qualifier. */
- D_COMP_VOLATILE,
- /* The const qualifier. */
- D_COMP_CONST,
- /* The restrict qualifier modifying a member function. */
- D_COMP_RESTRICT_THIS,
- /* The volatile qualifier modifying a member function. */
- D_COMP_VOLATILE_THIS,
- /* The const qualifier modifying a member function. */
- D_COMP_CONST_THIS,
- /* A vendor qualifier. */
- D_COMP_VENDOR_TYPE_QUAL,
- /* A pointer. */
- D_COMP_POINTER,
- /* A reference. */
- D_COMP_REFERENCE,
- /* A complex type. */
- D_COMP_COMPLEX,
- /* An imaginary type. */
- D_COMP_IMAGINARY,
- /* A builtin type. */
- D_COMP_BUILTIN_TYPE,
- /* A vendor's builtin type. */
- D_COMP_VENDOR_TYPE,
- /* A function type. */
- D_COMP_FUNCTION_TYPE,
- /* An array type. */
- D_COMP_ARRAY_TYPE,
- /* A pointer to member type. */
- D_COMP_PTRMEM_TYPE,
- /* An argument list. */
- D_COMP_ARGLIST,
- /* A template argument list. */
- D_COMP_TEMPLATE_ARGLIST,
- /* An operator. */
- D_COMP_OPERATOR,
- /* An extended operator. */
- D_COMP_EXTENDED_OPERATOR,
- /* A typecast. */
- D_COMP_CAST,
- /* A unary expression. */
- D_COMP_UNARY,
- /* A binary expression. */
- D_COMP_BINARY,
- /* Arguments to a binary expression. */
- D_COMP_BINARY_ARGS,
- /* A trinary expression. */
- D_COMP_TRINARY,
- /* Arguments to a trinary expression. */
- D_COMP_TRINARY_ARG1,
- D_COMP_TRINARY_ARG2,
- /* A literal. */
- D_COMP_LITERAL,
- /* A negative literal. */
- D_COMP_LITERAL_NEG
-};
-
-/* A component of the mangled name. */
-
-struct d_comp
-{
- /* The type of this component. */
- enum d_comp_type type;
- union
- {
- /* For D_COMP_NAME. */
- struct
- {
- /* A pointer to the name (not NULL terminated) and it's
- length. */
- const char *s;
- int len;
- } s_name;
-
- /* For D_COMP_OPERATOR. */
- struct
- {
- /* Operator. */
- const struct d_operator_info *op;
- } s_operator;
-
- /* For D_COMP_EXTENDED_OPERATOR. */
- struct
- {
- /* Number of arguments. */
- int args;
- /* Name. */
- struct d_comp *name;
- } s_extended_operator;
-
- /* For D_COMP_CTOR. */
- struct
- {
- enum gnu_v3_ctor_kinds kind;
- struct d_comp *name;
- } s_ctor;
-
- /* For D_COMP_DTOR. */
- struct
- {
- enum gnu_v3_dtor_kinds kind;
- struct d_comp *name;
- } s_dtor;
-
- /* For D_COMP_BUILTIN_TYPE. */
- struct
- {
- const struct d_builtin_type_info *type;
- } s_builtin;
-
- /* For D_COMP_SUB_STD. */
- struct
- {
- const char* string;
- } s_string;
-
- /* For D_COMP_TEMPLATE_PARAM. */
- struct
- {
- long number;
- } s_number;
-
- /* For other types. */
- struct
- {
- struct d_comp *left;
- struct d_comp *right;
- } s_binary;
-
- } u;
-};
+/* Accessors for subtrees of struct demangle_component. */
#define d_left(dc) ((dc)->u.s_binary.left)
#define d_right(dc) ((dc)->u.s_binary.right)
-/* The information structure we pass around. */
-
-struct d_info
-{
- /* The string we are demangling. */
- const char *s;
- /* The options passed to the demangler. */
- int options;
- /* The next character in the string to consider. */
- const char *n;
- /* The array of components. */
- struct d_comp *comps;
- /* The index of the next available component. */
- int next_comp;
- /* The number of available component structures. */
- int num_comps;
- /* The array of substitutions. */
- struct d_comp **subs;
- /* The index of the next substitution. */
- int next_sub;
- /* The number of available entries in the subs array. */
- int num_subs;
- /* The last name we saw, for constructors and destructors. */
- struct d_comp *last_name;
-};
-
-#define d_peek_char(di) (*((di)->n))
-#define d_peek_next_char(di) ((di)->n[1])
-#define d_advance(di, i) ((di)->n += (i))
-#define d_next_char(di) (*((di)->n++))
-#define d_str(di) ((di)->n)
-
/* A list of templates. This is used while printing. */
struct d_print_template
@@ -378,7 +215,7 @@ struct d_print_template
/* Next template on the list. */
struct d_print_template *next;
/* This template. */
- const struct d_comp *template;
+ const struct demangle_component *template;
};
/* A list of type modifiers. This is used while printing. */
@@ -389,7 +226,7 @@ struct d_print_mod
in which they appeared in the mangled string. */
struct d_print_mod *next;
/* The modifier. */
- const struct d_comp *mod;
+ const struct demangle_component *mod;
/* Whether this modifier was printed. */
int printed;
/* The list of templates which applies to this modifier. */
@@ -442,105 +279,193 @@ struct d_print_info
} \
while (0)
-#define d_append_string(dpi, s) \
- do \
- { \
- size_t d_append_string_len = strlen (s); \
- d_append_buffer ((dpi), (s), d_append_string_len); \
- } \
- while (0)
+#define d_append_string_constant(dpi, s) \
+ d_append_buffer (dpi, (s), sizeof (s) - 1)
#define d_last_char(dpi) \
((dpi)->buf == NULL || (dpi)->len == 0 ? '\0' : (dpi)->buf[(dpi)->len - 1])
#ifdef CP_DEMANGLE_DEBUG
-static void d_dump PARAMS ((struct d_comp *, int));
+static void
+d_dump PARAMS ((struct demangle_component *, int));
#endif
-static struct d_comp *d_make_empty PARAMS ((struct d_info *,
- enum d_comp_type));
-static struct d_comp *d_make_comp PARAMS ((struct d_info *, enum d_comp_type,
- struct d_comp *, struct d_comp *));
-static struct d_comp *d_make_name PARAMS ((struct d_info *, const char *,
- int));
-static struct d_comp *d_make_builtin_type PARAMS ((struct d_info *,
- const struct d_builtin_type_info *));
-static struct d_comp *d_make_operator PARAMS ((struct d_info *,
- const struct d_operator_info *));
-static struct d_comp *d_make_extended_operator PARAMS ((struct d_info *,
- int,
- struct d_comp *));
-static struct d_comp *d_make_ctor PARAMS ((struct d_info *,
- enum gnu_v3_ctor_kinds,
- struct d_comp *));
-static struct d_comp *d_make_dtor PARAMS ((struct d_info *,
- enum gnu_v3_dtor_kinds,
- struct d_comp *));
-static struct d_comp *d_make_template_param PARAMS ((struct d_info *, long));
-static struct d_comp *d_make_sub PARAMS ((struct d_info *, const char *));
-static struct d_comp *d_mangled_name PARAMS ((struct d_info *, int));
-static int has_return_type PARAMS ((struct d_comp *));
-static int is_ctor_dtor_or_conversion PARAMS ((struct d_comp *));
-static struct d_comp *d_encoding PARAMS ((struct d_info *, int));
-static struct d_comp *d_name PARAMS ((struct d_info *));
-static struct d_comp *d_nested_name PARAMS ((struct d_info *));
-static struct d_comp *d_prefix PARAMS ((struct d_info *));
-static struct d_comp *d_unqualified_name PARAMS ((struct d_info *));
-static struct d_comp *d_source_name PARAMS ((struct d_info *));
-static long d_number PARAMS ((struct d_info *));
-static struct d_comp *d_identifier PARAMS ((struct d_info *, int));
-static struct d_comp *d_operator_name PARAMS ((struct d_info *));
-static struct d_comp *d_special_name PARAMS ((struct d_info *));
-static int d_call_offset PARAMS ((struct d_info *, int));
-static struct d_comp *d_ctor_dtor_name PARAMS ((struct d_info *));
-static struct d_comp *d_type PARAMS ((struct d_info *));
-static struct d_comp **d_cv_qualifiers PARAMS ((struct d_info *,
- struct d_comp **, int));
-static struct d_comp *d_function_type PARAMS ((struct d_info *));
-static struct d_comp *d_bare_function_type PARAMS ((struct d_info *, int));
-static struct d_comp *d_class_enum_type PARAMS ((struct d_info *));
-static struct d_comp *d_array_type PARAMS ((struct d_info *));
-static struct d_comp *d_pointer_to_member_type PARAMS ((struct d_info *));
-static struct d_comp *d_template_param PARAMS ((struct d_info *));
-static struct d_comp *d_template_args PARAMS ((struct d_info *));
-static struct d_comp *d_template_arg PARAMS ((struct d_info *));
-static struct d_comp *d_expression PARAMS ((struct d_info *));
-static struct d_comp *d_expr_primary PARAMS ((struct d_info *));
-static struct d_comp *d_local_name PARAMS ((struct d_info *));
-static int d_discriminator PARAMS ((struct d_info *));
-static int d_add_substitution PARAMS ((struct d_info *, struct d_comp *));
-static struct d_comp *d_substitution PARAMS ((struct d_info *, int));
-static void d_print_resize PARAMS ((struct d_print_info *, size_t));
-static void d_print_append_char PARAMS ((struct d_print_info *, int));
-static void d_print_append_buffer PARAMS ((struct d_print_info *, const char *,
- size_t));
-static void d_print_error PARAMS ((struct d_print_info *));
-static char *d_print PARAMS ((int, const struct d_comp *, size_t *));
-static void d_print_comp PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_identifier PARAMS ((struct d_print_info *, const char *,
- int));
-static void d_print_mod_list PARAMS ((struct d_print_info *,
- struct d_print_mod *, int));
-static void d_print_mod PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_function_type PARAMS ((struct d_print_info *,
- const struct d_comp *,
- struct d_print_mod *));
-static void d_print_array_type PARAMS ((struct d_print_info *,
- const struct d_comp *,
- struct d_print_mod *));
-static void d_print_expr_op PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static void d_print_cast PARAMS ((struct d_print_info *,
- const struct d_comp *));
-static int d_init_info PARAMS ((const char *, int, size_t, struct d_info *));
-static char *d_demangle PARAMS ((const char *, int, size_t *));
+
+static struct demangle_component *
+d_make_empty PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_make_comp PARAMS ((struct d_info *, enum demangle_component_type,
+ struct demangle_component *,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_name PARAMS ((struct d_info *, const char *, int));
+
+static struct demangle_component *
+d_make_builtin_type PARAMS ((struct d_info *,
+ const struct demangle_builtin_type_info *));
+
+static struct demangle_component *
+d_make_operator PARAMS ((struct d_info *,
+ const struct demangle_operator_info *));
+
+static struct demangle_component *
+d_make_extended_operator PARAMS ((struct d_info *, int,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_ctor PARAMS ((struct d_info *, enum gnu_v3_ctor_kinds,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_dtor PARAMS ((struct d_info *, enum gnu_v3_dtor_kinds,
+ struct demangle_component *));
+
+static struct demangle_component *
+d_make_template_param PARAMS ((struct d_info *, long));
+
+static struct demangle_component *
+d_make_sub PARAMS ((struct d_info *, const char *, int));
+
+static int
+has_return_type PARAMS ((struct demangle_component *));
+
+static int
+is_ctor_dtor_or_conversion PARAMS ((struct demangle_component *));
+
+static struct demangle_component *
+d_encoding PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_nested_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_prefix PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_unqualified_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_source_name PARAMS ((struct d_info *));
+
+static long
+d_number PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_identifier PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_operator_name PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_special_name PARAMS ((struct d_info *));
+
+static int
+d_call_offset PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_ctor_dtor_name PARAMS ((struct d_info *));
+
+static struct demangle_component **
+d_cv_qualifiers PARAMS ((struct d_info *, struct demangle_component **, int));
+
+static struct demangle_component *
+d_function_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_bare_function_type PARAMS ((struct d_info *, int));
+
+static struct demangle_component *
+d_class_enum_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_array_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_pointer_to_member_type PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_param PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_args PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_template_arg PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_expression PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_expr_primary PARAMS ((struct d_info *));
+
+static struct demangle_component *
+d_local_name PARAMS ((struct d_info *));
+
+static int
+d_discriminator PARAMS ((struct d_info *));
+
+static int
+d_add_substitution PARAMS ((struct d_info *, struct demangle_component *));
+
+static struct demangle_component *
+d_substitution PARAMS ((struct d_info *, int));
+
+static void
+d_print_resize PARAMS ((struct d_print_info *, size_t));
+
+static void
+d_print_append_char PARAMS ((struct d_print_info *, int));
+
+static void
+d_print_append_buffer PARAMS ((struct d_print_info *, const char *, size_t));
+
+static void
+d_print_error PARAMS ((struct d_print_info *));
+
+static void
+d_print_comp PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_java_identifier PARAMS ((struct d_print_info *, const char *, int));
+
+static void
+d_print_mod_list PARAMS ((struct d_print_info *, struct d_print_mod *, int));
+
+static void
+d_print_mod PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_function_type PARAMS ((struct d_print_info *,
+ const struct demangle_component *,
+ struct d_print_mod *));
+
+static void
+d_print_array_type PARAMS ((struct d_print_info *,
+ const struct demangle_component *,
+ struct d_print_mod *));
+
+static void
+d_print_expr_op PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static void
+d_print_cast PARAMS ((struct d_print_info *,
+ const struct demangle_component *));
+
+static char *
+d_demangle PARAMS ((const char *, int, size_t *));
#ifdef CP_DEMANGLE_DEBUG
static void
d_dump (dc, indent)
- struct d_comp *dc;
+ struct demangle_component *dc;
int indent;
{
int i;
@@ -553,156 +478,159 @@ d_dump (dc, indent)
switch (dc->type)
{
- case D_COMP_NAME:
+ case DEMANGLE_COMPONENT_NAME:
printf ("name '%.*s'\n", dc->u.s_name.len, dc->u.s_name.s);
return;
- case D_COMP_TEMPLATE_PARAM:
+ case DEMANGLE_COMPONENT_TEMPLATE_PARAM:
printf ("template parameter %ld\n", dc->u.s_number.number);
return;
- case D_COMP_CTOR:
+ case DEMANGLE_COMPONENT_CTOR:
printf ("constructor %d\n", (int) dc->u.s_ctor.kind);
d_dump (dc->u.s_ctor.name, indent + 2);
return;
- case D_COMP_DTOR:
+ case DEMANGLE_COMPONENT_DTOR:
printf ("destructor %d\n", (int) dc->u.s_dtor.kind);
d_dump (dc->u.s_dtor.name, indent + 2);
return;
- case D_COMP_SUB_STD:
+ case DEMANGLE_COMPONENT_SUB_STD:
printf ("standard substitution %s\n", dc->u.s_string.string);
return;
- case D_COMP_BUILTIN_TYPE:
+ case DEMANGLE_COMPONENT_BUILTIN_TYPE:
printf ("builtin type %s\n", dc->u.s_builtin.type->name);
return;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
printf ("operator %s\n", dc->u.s_operator.op->name);
return;
- case D_COMP_EXTENDED_OPERATOR:
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
printf ("extended operator with %d args\n",
dc->u.s_extended_operator.args);
d_dump (dc->u.s_extended_operator.name, indent + 2);
return;
- case D_COMP_QUAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
printf ("qualified name\n");
break;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ printf ("local name\n");
+ break;
+ case DEMANGLE_COMPONENT_TYPED_NAME:
printf ("typed name\n");
break;
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
printf ("template\n");
break;
- case D_COMP_VTABLE:
+ case DEMANGLE_COMPONENT_VTABLE:
printf ("vtable\n");
break;
- case D_COMP_VTT:
+ case DEMANGLE_COMPONENT_VTT:
printf ("VTT\n");
break;
- case D_COMP_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
printf ("construction vtable\n");
break;
- case D_COMP_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO:
printf ("typeinfo\n");
break;
- case D_COMP_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
printf ("typeinfo name\n");
break;
- case D_COMP_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
printf ("typeinfo function\n");
break;
- case D_COMP_THUNK:
+ case DEMANGLE_COMPONENT_THUNK:
printf ("thunk\n");
break;
- case D_COMP_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
printf ("virtual thunk\n");
break;
- case D_COMP_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
printf ("covariant thunk\n");
break;
- case D_COMP_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
printf ("java class\n");
break;
- case D_COMP_GUARD:
+ case DEMANGLE_COMPONENT_GUARD:
printf ("guard\n");
break;
- case D_COMP_REFTEMP:
+ case DEMANGLE_COMPONENT_REFTEMP:
printf ("reference temporary\n");
break;
- case D_COMP_RESTRICT:
+ case DEMANGLE_COMPONENT_RESTRICT:
printf ("restrict\n");
break;
- case D_COMP_VOLATILE:
+ case DEMANGLE_COMPONENT_VOLATILE:
printf ("volatile\n");
break;
- case D_COMP_CONST:
+ case DEMANGLE_COMPONENT_CONST:
printf ("const\n");
break;
- case D_COMP_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
printf ("restrict this\n");
break;
- case D_COMP_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
printf ("volatile this\n");
break;
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
printf ("const this\n");
break;
- case D_COMP_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
printf ("vendor type qualifier\n");
break;
- case D_COMP_POINTER:
+ case DEMANGLE_COMPONENT_POINTER:
printf ("pointer\n");
break;
- case D_COMP_REFERENCE:
+ case DEMANGLE_COMPONENT_REFERENCE:
printf ("reference\n");
break;
- case D_COMP_COMPLEX:
+ case DEMANGLE_COMPONENT_COMPLEX:
printf ("complex\n");
break;
- case D_COMP_IMAGINARY:
+ case DEMANGLE_COMPONENT_IMAGINARY:
printf ("imaginary\n");
break;
- case D_COMP_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
printf ("vendor type\n");
break;
- case D_COMP_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
printf ("function type\n");
break;
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
printf ("array type\n");
break;
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
printf ("pointer to member type\n");
break;
- case D_COMP_ARGLIST:
+ case DEMANGLE_COMPONENT_ARGLIST:
printf ("argument list\n");
break;
- case D_COMP_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
printf ("template argument list\n");
break;
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CAST:
printf ("cast\n");
break;
- case D_COMP_UNARY:
+ case DEMANGLE_COMPONENT_UNARY:
printf ("unary operator\n");
break;
- case D_COMP_BINARY:
+ case DEMANGLE_COMPONENT_BINARY:
printf ("binary operator\n");
break;
- case D_COMP_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
printf ("binary operator arguments\n");
break;
- case D_COMP_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY:
printf ("trinary operator\n");
break;
- case D_COMP_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
printf ("trinary operator arguments 1\n");
break;
- case D_COMP_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
printf ("trinary operator arguments 1\n");
break;
- case D_COMP_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL:
printf ("literal\n");
break;
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
printf ("negative literal\n");
break;
}
@@ -713,33 +641,105 @@ d_dump (dc, indent)
#endif /* CP_DEMANGLE_DEBUG */
+/* Fill in a DEMANGLE_COMPONENT_NAME. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_name (p, s, len)
+ struct demangle_component *p;
+ const char *s;
+ int len;
+{
+ if (p == NULL || s == NULL || len == 0)
+ return 0;
+ p->type = DEMANGLE_COMPONENT_NAME;
+ p->u.s_name.s = s;
+ p->u.s_name.len = len;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_extended_operator (p, args, name)
+ struct demangle_component *p;
+ int args;
+ struct demangle_component *name;
+{
+ if (p == NULL || args < 0 || name == NULL)
+ return 0;
+ p->type = DEMANGLE_COMPONENT_EXTENDED_OPERATOR;
+ p->u.s_extended_operator.args = args;
+ p->u.s_extended_operator.name = name;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_CTOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_ctor (p, kind, name)
+ struct demangle_component *p;
+ enum gnu_v3_ctor_kinds kind;
+ struct demangle_component *name;
+{
+ if (p == NULL
+ || name == NULL
+ || (kind < gnu_v3_complete_object_ctor
+ && kind > gnu_v3_complete_object_allocating_ctor))
+ return 0;
+ p->type = DEMANGLE_COMPONENT_CTOR;
+ p->u.s_ctor.kind = kind;
+ p->u.s_ctor.name = name;
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_DTOR. */
+
+CP_STATIC_IF_GLIBCPP_V3
+int
+cplus_demangle_fill_dtor (p, kind, name)
+ struct demangle_component *p;
+ enum gnu_v3_dtor_kinds kind;
+ struct demangle_component *name;
+{
+ if (p == NULL
+ || name == NULL
+ || (kind < gnu_v3_deleting_dtor
+ && kind > gnu_v3_base_object_dtor))
+ return 0;
+ p->type = DEMANGLE_COMPONENT_DTOR;
+ p->u.s_dtor.kind = kind;
+ p->u.s_dtor.name = name;
+ return 1;
+}
+
/* Add a new component. */
-static struct d_comp *
-d_make_empty (di, type)
+static struct demangle_component *
+d_make_empty (di)
struct d_info *di;
- enum d_comp_type type;
{
- struct d_comp *p;
+ struct demangle_component *p;
if (di->next_comp >= di->num_comps)
return NULL;
p = &di->comps[di->next_comp];
- p->type = type;
++di->next_comp;
return p;
}
/* Add a new generic component. */
-static struct d_comp *
+static struct demangle_component *
d_make_comp (di, type, left, right)
struct d_info *di;
- enum d_comp_type type;
- struct d_comp *left;
- struct d_comp *right;
+ enum demangle_component_type type;
+ struct demangle_component *left;
+ struct demangle_component *right;
{
- struct d_comp *p;
+ struct demangle_component *p;
/* We check for errors here. A typical error would be a NULL return
from a subroutine. We catch those here, and return NULL
@@ -747,64 +747,65 @@ d_make_comp (di, type, left, right)
switch (type)
{
/* These types require two parameters. */
- case D_COMP_QUAL_NAME:
- case D_COMP_TYPED_NAME:
- case D_COMP_TEMPLATE:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_PTRMEM_TYPE:
- case D_COMP_UNARY:
- case D_COMP_BINARY:
- case D_COMP_BINARY_ARGS:
- case D_COMP_TRINARY:
- case D_COMP_TRINARY_ARG1:
- case D_COMP_TRINARY_ARG2:
- case D_COMP_LITERAL:
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_UNARY:
+ case DEMANGLE_COMPONENT_BINARY:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
if (left == NULL || right == NULL)
return NULL;
break;
/* These types only require one parameter. */
- case D_COMP_VTABLE:
- case D_COMP_VTT:
- case D_COMP_CONSTRUCTION_VTABLE:
- case D_COMP_TYPEINFO:
- case D_COMP_TYPEINFO_NAME:
- case D_COMP_TYPEINFO_FN:
- case D_COMP_THUNK:
- case D_COMP_VIRTUAL_THUNK:
- case D_COMP_COVARIANT_THUNK:
- case D_COMP_JAVA_CLASS:
- case D_COMP_GUARD:
- case D_COMP_REFTEMP:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
- case D_COMP_VENDOR_TYPE:
- case D_COMP_ARGLIST:
- case D_COMP_TEMPLATE_ARGLIST:
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_VTABLE:
+ case DEMANGLE_COMPONENT_VTT:
+ case DEMANGLE_COMPONENT_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_GUARD:
+ case DEMANGLE_COMPONENT_REFTEMP:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_CAST:
if (left == NULL)
return NULL;
break;
/* This needs a right parameter, but the left parameter can be
empty. */
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
if (right == NULL)
return NULL;
break;
/* These are allowed to have no parameters--in some cases they
will be filled in later. */
- case D_COMP_FUNCTION_TYPE:
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
break;
/* Other types should not be seen here. */
@@ -812,9 +813,10 @@ d_make_comp (di, type, left, right)
return NULL;
}
- p = d_make_empty (di, type);
+ p = d_make_empty (di);
if (p != NULL)
{
+ p->type = type;
p->u.s_binary.left = left;
p->u.s_binary.right = right;
}
@@ -823,147 +825,141 @@ d_make_comp (di, type, left, right)
/* Add a new name component. */
-static struct d_comp *
+static struct demangle_component *
d_make_name (di, s, len)
struct d_info *di;
const char *s;
int len;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (s == NULL || len == 0)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_name (p, s, len))
return NULL;
- p = d_make_empty (di, D_COMP_NAME);
- if (p != NULL)
- {
- p->u.s_name.s = s;
- p->u.s_name.len = len;
- }
return p;
}
/* Add a new builtin type component. */
-static struct d_comp *
+static struct demangle_component *
d_make_builtin_type (di, type)
struct d_info *di;
- const struct d_builtin_type_info *type;
+ const struct demangle_builtin_type_info *type;
{
- struct d_comp *p;
+ struct demangle_component *p;
if (type == NULL)
return NULL;
- p = d_make_empty (di, D_COMP_BUILTIN_TYPE);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_builtin.type = type;
+ {
+ p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
+ p->u.s_builtin.type = type;
+ }
return p;
}
/* Add a new operator component. */
-static struct d_comp *
+static struct demangle_component *
d_make_operator (di, op)
struct d_info *di;
- const struct d_operator_info *op;
+ const struct demangle_operator_info *op;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = d_make_empty (di, D_COMP_OPERATOR);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_operator.op = op;
+ {
+ p->type = DEMANGLE_COMPONENT_OPERATOR;
+ p->u.s_operator.op = op;
+ }
return p;
}
/* Add a new extended operator component. */
-static struct d_comp *
+static struct demangle_component *
d_make_extended_operator (di, args, name)
struct d_info *di;
int args;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_extended_operator (p, args, name))
return NULL;
- p = d_make_empty (di, D_COMP_EXTENDED_OPERATOR);
- if (p != NULL)
- {
- p->u.s_extended_operator.args = args;
- p->u.s_extended_operator.name = name;
- }
return p;
}
/* Add a new constructor component. */
-static struct d_comp *
+static struct demangle_component *
d_make_ctor (di, kind, name)
struct d_info *di;
enum gnu_v3_ctor_kinds kind;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_ctor (p, kind, name))
return NULL;
- p = d_make_empty (di, D_COMP_CTOR);
- if (p != NULL)
- {
- p->u.s_ctor.kind = kind;
- p->u.s_ctor.name = name;
- }
return p;
}
/* Add a new destructor component. */
-static struct d_comp *
+static struct demangle_component *
d_make_dtor (di, kind, name)
struct d_info *di;
enum gnu_v3_dtor_kinds kind;
- struct d_comp *name;
+ struct demangle_component *name;
{
- struct d_comp *p;
+ struct demangle_component *p;
- if (name == NULL)
+ p = d_make_empty (di);
+ if (! cplus_demangle_fill_dtor (p, kind, name))
return NULL;
- p = d_make_empty (di, D_COMP_DTOR);
- if (p != NULL)
- {
- p->u.s_dtor.kind = kind;
- p->u.s_dtor.name = name;
- }
return p;
}
/* Add a new template parameter. */
-static struct d_comp *
+static struct demangle_component *
d_make_template_param (di, i)
struct d_info *di;
long i;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = d_make_empty (di, D_COMP_TEMPLATE_PARAM);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_number.number = i;
+ {
+ p->type = DEMANGLE_COMPONENT_TEMPLATE_PARAM;
+ p->u.s_number.number = i;
+ }
return p;
}
/* Add a new standard substitution component. */
-static struct d_comp *
-d_make_sub (di, name)
+static struct demangle_component *
+d_make_sub (di, name, len)
struct d_info *di;
const char *name;
+ int len;
{
- struct d_comp *p;
+ struct demangle_component *p;
- p = d_make_empty (di, D_COMP_SUB_STD);
+ p = d_make_empty (di);
if (p != NULL)
- p->u.s_string.string = name;
+ {
+ p->type = DEMANGLE_COMPONENT_SUB_STD;
+ p->u.s_string.string = name;
+ p->u.s_string.len = len;
+ }
return p;
}
@@ -971,8 +967,9 @@ d_make_sub (di, name)
TOP_LEVEL is non-zero when called at the top level. */
-static struct d_comp *
-d_mangled_name (di, top_level)
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
+cplus_demangle_mangled_name (di, top_level)
struct d_info *di;
int top_level;
{
@@ -994,7 +991,7 @@ d_mangled_name (di, top_level)
static int
has_return_type (dc)
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -1002,11 +999,11 @@ has_return_type (dc)
{
default:
return 0;
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
return ! is_ctor_dtor_or_conversion (d_left (dc));
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
return has_return_type (d_left (dc));
}
}
@@ -1016,7 +1013,7 @@ has_return_type (dc)
static int
is_ctor_dtor_or_conversion (dc)
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -1024,11 +1021,12 @@ is_ctor_dtor_or_conversion (dc)
{
default:
return 0;
- case D_COMP_QUAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
return is_ctor_dtor_or_conversion (d_right (dc));
- case D_COMP_CTOR:
- case D_COMP_DTOR:
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CTOR:
+ case DEMANGLE_COMPONENT_DTOR:
+ case DEMANGLE_COMPONENT_CAST:
return 1;
}
}
@@ -1042,7 +1040,7 @@ is_ctor_dtor_or_conversion (dc)
parameters. We only set this at the top level, because otherwise
we would not correctly demangle names in local scopes. */
-static struct d_comp *
+static struct demangle_component *
d_encoding (di, top_level)
struct d_info *di;
int top_level;
@@ -1053,7 +1051,7 @@ d_encoding (di, top_level)
return d_special_name (di);
else
{
- struct d_comp *dc;
+ struct demangle_component *dc;
dc = d_name (di);
@@ -1062,17 +1060,34 @@ d_encoding (di, top_level)
/* Strip off any initial CV-qualifiers, as they really apply
to the `this' parameter, and they were not output by the
v2 demangler without DMGL_PARAMS. */
- while (dc->type == D_COMP_RESTRICT_THIS
- || dc->type == D_COMP_VOLATILE_THIS
- || dc->type == D_COMP_CONST_THIS)
+ while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dc->type == DEMANGLE_COMPONENT_CONST_THIS)
dc = d_left (dc);
+
+ /* If the top level is a DEMANGLE_COMPONENT_LOCAL_NAME, then
+ there may be CV-qualifiers on its right argument which
+ really apply here; this happens when parsing a class
+ which is local to a function. */
+ if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME)
+ {
+ struct demangle_component *dcr;
+
+ dcr = d_right (dc);
+ while (dcr->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dcr->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dcr->type == DEMANGLE_COMPONENT_CONST_THIS)
+ dcr = d_left (dcr);
+ dc->u.s_binary.right = dcr;
+ }
+
return dc;
}
peek = d_peek_char (di);
if (peek == '\0' || peek == 'E')
return dc;
- return d_make_comp (di, D_COMP_TYPED_NAME, dc,
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc,
d_bare_function_type (di, has_return_type (dc)));
}
}
@@ -1089,12 +1104,12 @@ d_encoding (di, top_level)
::= <substitution>
*/
-static struct d_comp *
+static struct demangle_component *
d_name (di)
struct d_info *di;
{
char peek = d_peek_char (di);
- struct d_comp *dc;
+ struct demangle_component *dc;
switch (peek)
{
@@ -1116,8 +1131,10 @@ d_name (di)
else
{
d_advance (di, 2);
- dc = d_make_comp (di, D_COMP_QUAL_NAME, d_make_name (di, "std", 3),
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME,
+ d_make_name (di, "std", 3),
d_unqualified_name (di));
+ di->expansion += 3;
subst = 0;
}
@@ -1138,7 +1155,8 @@ d_name (di)
if (! d_add_substitution (di, dc))
return NULL;
}
- dc = d_make_comp (di, D_COMP_TEMPLATE, dc, d_template_args (di));
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc,
+ d_template_args (di));
}
return dc;
@@ -1153,7 +1171,8 @@ d_name (di)
candidate. */
if (! d_add_substitution (di, dc))
return NULL;
- dc = d_make_comp (di, D_COMP_TEMPLATE, dc, d_template_args (di));
+ dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc,
+ d_template_args (di));
}
return dc;
}
@@ -1163,12 +1182,12 @@ d_name (di)
::= N [<CV-qualifiers>] <template-prefix> <template-args> E
*/
-static struct d_comp *
+static struct demangle_component *
d_nested_name (di)
struct d_info *di;
{
- struct d_comp *ret;
- struct d_comp **pret;
+ struct demangle_component *ret;
+ struct demangle_component **pret;
if (d_next_char (di) != 'N')
return NULL;
@@ -1198,17 +1217,17 @@ d_nested_name (di)
::= <substitution>
*/
-static struct d_comp *
+static struct demangle_component *
d_prefix (di)
struct d_info *di;
{
- struct d_comp *ret = NULL;
+ struct demangle_component *ret = NULL;
while (1)
{
char peek;
- enum d_comp_type comb_type;
- struct d_comp *dc;
+ enum demangle_component_type comb_type;
+ struct demangle_component *dc;
peek = d_peek_char (di);
if (peek == '\0')
@@ -1218,7 +1237,7 @@ d_prefix (di)
that in the grammar. The older code does not accept a
<template-param> here. */
- comb_type = D_COMP_QUAL_NAME;
+ comb_type = DEMANGLE_COMPONENT_QUAL_NAME;
if (IS_DIGIT (peek)
|| IS_LOWER (peek)
|| peek == 'C'
@@ -1230,7 +1249,7 @@ d_prefix (di)
{
if (ret == NULL)
return NULL;
- comb_type = D_COMP_TEMPLATE;
+ comb_type = DEMANGLE_COMPONENT_TEMPLATE;
dc = d_template_args (di);
}
else if (peek == 'T')
@@ -1258,7 +1277,7 @@ d_prefix (di)
::= <source-name>
*/
-static struct d_comp *
+static struct demangle_component *
d_unqualified_name (di)
struct d_info *di;
{
@@ -1268,7 +1287,14 @@ d_unqualified_name (di)
if (IS_DIGIT (peek))
return d_source_name (di);
else if (IS_LOWER (peek))
- return d_operator_name (di);
+ {
+ struct demangle_component *ret;
+
+ ret = d_operator_name (di);
+ if (ret != NULL && ret->type == DEMANGLE_COMPONENT_OPERATOR)
+ di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
+ return ret;
+ }
else if (peek == 'C' || peek == 'D')
return d_ctor_dtor_name (di);
else
@@ -1277,12 +1303,12 @@ d_unqualified_name (di)
/* <source-name> ::= <(positive length) number> <identifier> */
-static struct d_comp *
+static struct demangle_component *
d_source_name (di)
struct d_info *di;
{
long len;
- struct d_comp *ret;
+ struct demangle_component *ret;
len = d_number (di);
if (len <= 0)
@@ -1298,15 +1324,15 @@ static long
d_number (di)
struct d_info *di;
{
- int sign;
+ int negative;
char peek;
long ret;
- sign = 1;
+ negative = 0;
peek = d_peek_char (di);
if (peek == 'n')
{
- sign = -1;
+ negative = 1;
d_advance (di, 1);
peek = d_peek_char (di);
}
@@ -1315,7 +1341,11 @@ d_number (di)
while (1)
{
if (! IS_DIGIT (peek))
- return ret * sign;
+ {
+ if (negative)
+ ret = - ret;
+ return ret;
+ }
ret = ret * 10 + peek - '0';
d_advance (di, 1);
peek = d_peek_char (di);
@@ -1324,7 +1354,7 @@ d_number (di)
/* identifier ::= <(unqualified source code identifier)> */
-static struct d_comp *
+static struct demangle_component *
d_identifier (di, len)
struct d_info *di;
int len;
@@ -1332,8 +1362,19 @@ d_identifier (di, len)
const char *name;
name = d_str (di);
+
+ if (di->send - name < len)
+ return NULL;
+
d_advance (di, len);
+ /* A Java mangled name may have a trailing '$' if it is a C++
+ keyword. This '$' is not included in the length count. We just
+ ignore the '$'. */
+ if ((di->options & DMGL_JAVA) != 0
+ && d_peek_char (di) == '$')
+ d_advance (di, 1);
+
/* Look for something which looks like a gcc encoding of an
anonymous namespace, and replace it with a more user friendly
name. */
@@ -1346,8 +1387,11 @@ d_identifier (di, len)
s = name + ANONYMOUS_NAMESPACE_PREFIX_LEN;
if ((*s == '.' || *s == '_' || *s == '$')
&& s[1] == 'N')
- return d_make_name (di, "(anonymous namespace)",
- sizeof "(anonymous namespace)" - 1);
+ {
+ di->expansion -= len - sizeof "(anonymous namespace)";
+ return d_make_name (di, "(anonymous namespace)",
+ sizeof "(anonymous namespace)" - 1);
+ }
}
return d_make_name (di, name, len);
@@ -1358,60 +1402,64 @@ d_identifier (di, len)
::= v <digit> <source-name>
*/
-static const struct d_operator_info d_operators[] =
-{
- { "aN", "&=", 2 },
- { "aS", "=", 2 },
- { "aa", "&&", 2 },
- { "ad", "&", 1 },
- { "an", "&", 2 },
- { "cl", "()", 0 },
- { "cm", ",", 2 },
- { "co", "~", 1 },
- { "dV", "/=", 2 },
- { "da", "delete[]", 1 },
- { "de", "*", 1 },
- { "dl", "delete", 1 },
- { "dv", "/", 2 },
- { "eO", "^=", 2 },
- { "eo", "^", 2 },
- { "eq", "==", 2 },
- { "ge", ">=", 2 },
- { "gt", ">", 2 },
- { "ix", "[]", 2 },
- { "lS", "<<=", 2 },
- { "le", "<=", 2 },
- { "ls", "<<", 2 },
- { "lt", "<", 2 },
- { "mI", "-=", 2 },
- { "mL", "*=", 2 },
- { "mi", "-", 2 },
- { "ml", "*", 2 },
- { "mm", "--", 1 },
- { "na", "new[]", 1 },
- { "ne", "!=", 2 },
- { "ng", "-", 1 },
- { "nt", "!", 1 },
- { "nw", "new", 1 },
- { "oR", "|=", 2 },
- { "oo", "||", 2 },
- { "or", "|", 2 },
- { "pL", "+=", 2 },
- { "pl", "+", 2 },
- { "pm", "->*", 2 },
- { "pp", "++", 1 },
- { "ps", "+", 1 },
- { "pt", "->", 2 },
- { "qu", "?", 3 },
- { "rM", "%=", 2 },
- { "rS", ">>=", 2 },
- { "rm", "%", 2 },
- { "rs", ">>", 2 },
- { "st", "sizeof ", 1 },
- { "sz", "sizeof ", 1 }
+#define NL(s) s, (sizeof s) - 1
+
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_operator_info cplus_demangle_operators[] =
+{
+ { "aN", NL ("&="), 2 },
+ { "aS", NL ("="), 2 },
+ { "aa", NL ("&&"), 2 },
+ { "ad", NL ("&"), 1 },
+ { "an", NL ("&"), 2 },
+ { "cl", NL ("()"), 0 },
+ { "cm", NL (","), 2 },
+ { "co", NL ("~"), 1 },
+ { "dV", NL ("/="), 2 },
+ { "da", NL ("delete[]"), 1 },
+ { "de", NL ("*"), 1 },
+ { "dl", NL ("delete"), 1 },
+ { "dv", NL ("/"), 2 },
+ { "eO", NL ("^="), 2 },
+ { "eo", NL ("^"), 2 },
+ { "eq", NL ("=="), 2 },
+ { "ge", NL (">="), 2 },
+ { "gt", NL (">"), 2 },
+ { "ix", NL ("[]"), 2 },
+ { "lS", NL ("<<="), 2 },
+ { "le", NL ("<="), 2 },
+ { "ls", NL ("<<"), 2 },
+ { "lt", NL ("<"), 2 },
+ { "mI", NL ("-="), 2 },
+ { "mL", NL ("*="), 2 },
+ { "mi", NL ("-"), 2 },
+ { "ml", NL ("*"), 2 },
+ { "mm", NL ("--"), 1 },
+ { "na", NL ("new[]"), 1 },
+ { "ne", NL ("!="), 2 },
+ { "ng", NL ("-"), 1 },
+ { "nt", NL ("!"), 1 },
+ { "nw", NL ("new"), 1 },
+ { "oR", NL ("|="), 2 },
+ { "oo", NL ("||"), 2 },
+ { "or", NL ("|"), 2 },
+ { "pL", NL ("+="), 2 },
+ { "pl", NL ("+"), 2 },
+ { "pm", NL ("->*"), 2 },
+ { "pp", NL ("++"), 1 },
+ { "ps", NL ("+"), 1 },
+ { "pt", NL ("->"), 2 },
+ { "qu", NL ("?"), 3 },
+ { "rM", NL ("%="), 2 },
+ { "rS", NL (">>="), 2 },
+ { "rm", NL ("%"), 2 },
+ { "rs", NL (">>"), 2 },
+ { "st", NL ("sizeof "), 1 },
+ { "sz", NL ("sizeof "), 1 },
+ { NULL, NULL, 0, 0 }
};
-static struct d_comp *
+static struct demangle_component *
d_operator_name (di)
struct d_info *di;
{
@@ -1423,19 +1471,25 @@ d_operator_name (di)
if (c1 == 'v' && IS_DIGIT (c2))
return d_make_extended_operator (di, c2 - '0', d_source_name (di));
else if (c1 == 'c' && c2 == 'v')
- return d_make_comp (di, D_COMP_CAST, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_CAST,
+ cplus_demangle_type (di), NULL);
else
{
+ /* LOW is the inclusive lower bound. */
int low = 0;
- int high = sizeof (d_operators) / sizeof (d_operators[0]);
+ /* HIGH is the exclusive upper bound. We subtract one to ignore
+ the sentinel at the end of the array. */
+ int high = ((sizeof (cplus_demangle_operators)
+ / sizeof (cplus_demangle_operators[0]))
+ - 1);
while (1)
{
int i;
- const struct d_operator_info *p;
+ const struct demangle_operator_info *p;
i = low + (high - low) / 2;
- p = d_operators + i;
+ p = cplus_demangle_operators + i;
if (c1 == p->code[0] && c2 == p->code[1])
return d_make_operator (di, p);
@@ -1464,68 +1518,79 @@ d_operator_name (di)
::= GR <name>
*/
-static struct d_comp *
+static struct demangle_component *
d_special_name (di)
struct d_info *di;
{
char c;
+ di->expansion += 20;
c = d_next_char (di);
if (c == 'T')
{
switch (d_next_char (di))
{
case 'V':
- return d_make_comp (di, D_COMP_VTABLE, d_type (di), NULL);
+ di->expansion -= 5;
+ return d_make_comp (di, DEMANGLE_COMPONENT_VTABLE,
+ cplus_demangle_type (di), NULL);
case 'T':
- return d_make_comp (di, D_COMP_VTT, d_type (di), NULL);
+ di->expansion -= 10;
+ return d_make_comp (di, DEMANGLE_COMPONENT_VTT,
+ cplus_demangle_type (di), NULL);
case 'I':
- return d_make_comp (di, D_COMP_TYPEINFO, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO,
+ cplus_demangle_type (di), NULL);
case 'S':
- return d_make_comp (di, D_COMP_TYPEINFO_NAME, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO_NAME,
+ cplus_demangle_type (di), NULL);
case 'h':
if (! d_call_offset (di, 'h'))
return NULL;
- return d_make_comp (di, D_COMP_THUNK, d_encoding (di, 0), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_THUNK,
+ d_encoding (di, 0), NULL);
case 'v':
if (! d_call_offset (di, 'v'))
return NULL;
- return d_make_comp (di, D_COMP_VIRTUAL_THUNK, d_encoding (di, 0),
- NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_VIRTUAL_THUNK,
+ d_encoding (di, 0), NULL);
case 'c':
if (! d_call_offset (di, '\0'))
return NULL;
if (! d_call_offset (di, '\0'))
return NULL;
- return d_make_comp (di, D_COMP_COVARIANT_THUNK, d_encoding (di, 0),
- NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_COVARIANT_THUNK,
+ d_encoding (di, 0), NULL);
case 'C':
{
- struct d_comp *derived_type;
+ struct demangle_component *derived_type;
long offset;
- struct d_comp *base_type;
+ struct demangle_component *base_type;
- derived_type = d_type (di);
+ derived_type = cplus_demangle_type (di);
offset = d_number (di);
if (offset < 0)
return NULL;
if (d_next_char (di) != '_')
return NULL;
- base_type = d_type (di);
+ base_type = cplus_demangle_type (di);
/* We don't display the offset. FIXME: We should display
it in verbose mode. */
- return d_make_comp (di, D_COMP_CONSTRUCTION_VTABLE, base_type,
- derived_type);
+ di->expansion += 5;
+ return d_make_comp (di, DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE,
+ base_type, derived_type);
}
case 'F':
- return d_make_comp (di, D_COMP_TYPEINFO_FN, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_TYPEINFO_FN,
+ cplus_demangle_type (di), NULL);
case 'J':
- return d_make_comp (di, D_COMP_JAVA_CLASS, d_type (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_JAVA_CLASS,
+ cplus_demangle_type (di), NULL);
default:
return NULL;
@@ -1536,10 +1601,11 @@ d_special_name (di)
switch (d_next_char (di))
{
case 'V':
- return d_make_comp (di, D_COMP_GUARD, d_name (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_GUARD, d_name (di), NULL);
case 'R':
- return d_make_comp (di, D_COMP_REFTEMP, d_name (di), NULL);
+ return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, d_name (di),
+ NULL);
default:
return NULL;
@@ -1599,10 +1665,17 @@ d_call_offset (di, c)
::= D2
*/
-static struct d_comp *
+static struct demangle_component *
d_ctor_dtor_name (di)
struct d_info *di;
{
+ if (di->last_name != NULL)
+ {
+ if (di->last_name->type == DEMANGLE_COMPONENT_NAME)
+ di->expansion += di->last_name->u.s_name.len;
+ else if (di->last_name->type == DEMANGLE_COMPONENT_SUB_STD)
+ di->expansion += di->last_name->u.s_string.len;
+ }
switch (d_next_char (di))
{
case 'C':
@@ -1671,42 +1744,45 @@ d_ctor_dtor_name (di)
::= u <source-name>
*/
-static const struct d_builtin_type_info d_builtin_types[26] =
-{
- /* a */ { "signed char", "signed char", D_PRINT_INT },
- /* b */ { "bool", "boolean", D_PRINT_BOOL },
- /* c */ { "char", "byte", D_PRINT_INT },
- /* d */ { "double", "double", D_PRINT_DEFAULT },
- /* e */ { "long double", "long double", D_PRINT_DEFAULT },
- /* f */ { "float", "float", D_PRINT_DEFAULT },
- /* g */ { "__float128", "__float128", D_PRINT_DEFAULT },
- /* h */ { "unsigned char", "unsigned char", D_PRINT_INT },
- /* i */ { "int", "int", D_PRINT_INT },
- /* j */ { "unsigned int", "unsigned", D_PRINT_INT },
- /* k */ { NULL, NULL, D_PRINT_DEFAULT },
- /* l */ { "long", "long", D_PRINT_LONG },
- /* m */ { "unsigned long", "unsigned long", D_PRINT_LONG },
- /* n */ { "__int128", "__int128", D_PRINT_DEFAULT },
- /* o */ { "unsigned __int128", "unsigned __int128", D_PRINT_DEFAULT },
- /* p */ { NULL, NULL, D_PRINT_DEFAULT },
- /* q */ { NULL, NULL, D_PRINT_DEFAULT },
- /* r */ { NULL, NULL, D_PRINT_DEFAULT },
- /* s */ { "short", "short", D_PRINT_INT },
- /* t */ { "unsigned short", "unsigned short", D_PRINT_INT },
- /* u */ { NULL, NULL, D_PRINT_DEFAULT },
- /* v */ { "void", "void", D_PRINT_VOID },
- /* w */ { "wchar_t", "char", D_PRINT_INT },
- /* x */ { "long long", "long", D_PRINT_DEFAULT },
- /* y */ { "unsigned long long", "unsigned long long", D_PRINT_DEFAULT },
- /* z */ { "...", "...", D_PRINT_DEFAULT },
+CP_STATIC_IF_GLIBCPP_V3
+const struct demangle_builtin_type_info
+cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT] =
+{
+ /* a */ { NL ("signed char"), NL ("signed char"), D_PRINT_INT },
+ /* b */ { NL ("bool"), NL ("boolean"), D_PRINT_BOOL },
+ /* c */ { NL ("char"), NL ("byte"), D_PRINT_INT },
+ /* d */ { NL ("double"), NL ("double"), D_PRINT_DEFAULT },
+ /* e */ { NL ("long double"), NL ("long double"), D_PRINT_DEFAULT },
+ /* f */ { NL ("float"), NL ("float"), D_PRINT_DEFAULT },
+ /* g */ { NL ("__float128"), NL ("__float128"), D_PRINT_DEFAULT },
+ /* h */ { NL ("unsigned char"), NL ("unsigned char"), D_PRINT_INT },
+ /* i */ { NL ("int"), NL ("int"), D_PRINT_INT },
+ /* j */ { NL ("unsigned int"), NL ("unsigned"), D_PRINT_INT },
+ /* k */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* l */ { NL ("long"), NL ("long"), D_PRINT_LONG },
+ /* m */ { NL ("unsigned long"), NL ("unsigned long"), D_PRINT_LONG },
+ /* n */ { NL ("__int128"), NL ("__int128"), D_PRINT_DEFAULT },
+ /* o */ { NL ("unsigned __int128"), NL ("unsigned __int128"), D_PRINT_DEFAULT },
+ /* p */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* q */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* r */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* s */ { NL ("short"), NL ("short"), D_PRINT_INT },
+ /* t */ { NL ("unsigned short"), NL ("unsigned short"), D_PRINT_INT },
+ /* u */ { NULL, 0, NULL, 0, D_PRINT_DEFAULT },
+ /* v */ { NL ("void"), NL ("void"), D_PRINT_VOID },
+ /* w */ { NL ("wchar_t"), NL ("char"), D_PRINT_INT },
+ /* x */ { NL ("long long"), NL ("long"), D_PRINT_DEFAULT },
+ /* y */ { NL ("unsigned long long"), NL ("unsigned long long"), D_PRINT_DEFAULT },
+ /* z */ { NL ("..."), NL ("..."), D_PRINT_DEFAULT },
};
-static struct d_comp *
-d_type (di)
+CP_STATIC_IF_GLIBCPP_V3
+struct demangle_component *
+cplus_demangle_type (di)
struct d_info *di;
{
char peek;
- struct d_comp *ret;
+ struct demangle_component *ret;
int can_subst;
/* The ABI specifies that when CV-qualifiers are used, the base type
@@ -1727,12 +1803,12 @@ d_type (di)
peek = d_peek_char (di);
if (peek == 'r' || peek == 'V' || peek == 'K')
{
- struct d_comp **pret;
+ struct demangle_component **pret;
pret = d_cv_qualifiers (di, &ret, 0);
if (pret == NULL)
return NULL;
- *pret = d_type (di);
+ *pret = cplus_demangle_type (di);
if (! d_add_substitution (di, ret))
return NULL;
return ret;
@@ -1746,14 +1822,17 @@ d_type (di)
case 'h': case 'i': case 'j': case 'l': case 'm': case 'n':
case 'o': case 's': case 't':
case 'v': case 'w': case 'x': case 'y': case 'z':
- ret = d_make_builtin_type (di, &d_builtin_types[peek - 'a']);
+ ret = d_make_builtin_type (di,
+ &cplus_demangle_builtin_types[peek - 'a']);
+ di->expansion += ret->u.s_builtin.type->len;
can_subst = 0;
d_advance (di, 1);
break;
case 'u':
d_advance (di, 1);
- ret = d_make_comp (di, D_COMP_VENDOR_TYPE, d_source_name (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE,
+ d_source_name (di), NULL);
break;
case 'F':
@@ -1784,7 +1863,8 @@ d_type (di)
candidate. */
if (! d_add_substitution (di, ret))
return NULL;
- ret = d_make_comp (di, D_COMP_TEMPLATE, ret, d_template_args (di));
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
+ d_template_args (di));
}
break;
@@ -1803,7 +1883,7 @@ d_type (di)
/* The substituted name may have been a template name and
may be followed by tepmlate args. */
if (d_peek_char (di) == 'I')
- ret = d_make_comp (di, D_COMP_TEMPLATE, ret,
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
d_template_args (di));
else
can_subst = 0;
@@ -1815,7 +1895,7 @@ d_type (di)
a new substitution candidate. However, if the
substitution was followed by template arguments, then
the whole thing is a substitution candidate. */
- if (ret != NULL && ret->type == D_COMP_SUB_STD)
+ if (ret != NULL && ret->type == DEMANGLE_COMPONENT_SUB_STD)
can_subst = 0;
}
}
@@ -1823,28 +1903,33 @@ d_type (di)
case 'P':
d_advance (di, 1);
- ret = d_make_comp (di, D_COMP_POINTER, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_POINTER,
+ cplus_demangle_type (di), NULL);
break;
case 'R':
d_advance (di, 1);
- ret = d_make_comp (di, D_COMP_REFERENCE, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_REFERENCE,
+ cplus_demangle_type (di), NULL);
break;
case 'C':
d_advance (di, 1);
- ret = d_make_comp (di, D_COMP_COMPLEX, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_COMPLEX,
+ cplus_demangle_type (di), NULL);
break;
case 'G':
d_advance (di, 1);
- ret = d_make_comp (di, D_COMP_IMAGINARY, d_type (di), NULL);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_IMAGINARY,
+ cplus_demangle_type (di), NULL);
break;
case 'U':
d_advance (di, 1);
ret = d_source_name (di);
- ret = d_make_comp (di, D_COMP_VENDOR_TYPE_QUAL, d_type (di), ret);
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
+ cplus_demangle_type (di), ret);
break;
default:
@@ -1862,10 +1947,10 @@ d_type (di)
/* <CV-qualifiers> ::= [r] [V] [K] */
-static struct d_comp **
+static struct demangle_component **
d_cv_qualifiers (di, pret, member_fn)
struct d_info *di;
- struct d_comp **pret;
+ struct demangle_component **pret;
int member_fn;
{
char peek;
@@ -1873,15 +1958,30 @@ d_cv_qualifiers (di, pret, member_fn)
peek = d_peek_char (di);
while (peek == 'r' || peek == 'V' || peek == 'K')
{
- enum d_comp_type t;
+ enum demangle_component_type t;
d_advance (di, 1);
if (peek == 'r')
- t = member_fn ? D_COMP_RESTRICT_THIS: D_COMP_RESTRICT;
+ {
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_RESTRICT_THIS
+ : DEMANGLE_COMPONENT_RESTRICT);
+ di->expansion += sizeof "restrict";
+ }
else if (peek == 'V')
- t = member_fn ? D_COMP_VOLATILE_THIS : D_COMP_VOLATILE;
+ {
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_VOLATILE_THIS
+ : DEMANGLE_COMPONENT_VOLATILE);
+ di->expansion += sizeof "volatile";
+ }
else
- t = member_fn ? D_COMP_CONST_THIS: D_COMP_CONST;
+ {
+ t = (member_fn
+ ? DEMANGLE_COMPONENT_CONST_THIS
+ : DEMANGLE_COMPONENT_CONST);
+ di->expansion += sizeof "const";
+ }
*pret = d_make_comp (di, t, NULL, NULL);
if (*pret == NULL)
@@ -1896,11 +1996,11 @@ d_cv_qualifiers (di, pret, member_fn)
/* <function-type> ::= F [Y] <bare-function-type> E */
-static struct d_comp *
+static struct demangle_component *
d_function_type (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
if (d_next_char (di) != 'F')
return NULL;
@@ -1918,14 +2018,14 @@ d_function_type (di)
/* <bare-function-type> ::= <type>+ */
-static struct d_comp *
+static struct demangle_component *
d_bare_function_type (di, has_return_type)
struct d_info *di;
int has_return_type;
{
- struct d_comp *return_type;
- struct d_comp *tl;
- struct d_comp **ptl;
+ struct demangle_component *return_type;
+ struct demangle_component *tl;
+ struct demangle_component **ptl;
return_type = NULL;
tl = NULL;
@@ -1933,12 +2033,12 @@ d_bare_function_type (di, has_return_type)
while (1)
{
char peek;
- struct d_comp *type;
+ struct demangle_component *type;
peek = d_peek_char (di);
if (peek == '\0' || peek == 'E')
break;
- type = d_type (di);
+ type = cplus_demangle_type (di);
if (type == NULL)
return NULL;
if (has_return_type)
@@ -1948,7 +2048,7 @@ d_bare_function_type (di, has_return_type)
}
else
{
- *ptl = d_make_comp (di, D_COMP_ARGLIST, type, NULL);
+ *ptl = d_make_comp (di, DEMANGLE_COMPONENT_ARGLIST, type, NULL);
if (*ptl == NULL)
return NULL;
ptl = &d_right (*ptl);
@@ -1963,16 +2063,19 @@ d_bare_function_type (di, has_return_type)
/* If we have a single parameter type void, omit it. */
if (d_right (tl) == NULL
- && d_left (tl)->type == D_COMP_BUILTIN_TYPE
+ && d_left (tl)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE
&& d_left (tl)->u.s_builtin.type->print == D_PRINT_VOID)
- tl = NULL;
+ {
+ di->expansion -= d_left (tl)->u.s_builtin.type->len;
+ tl = NULL;
+ }
- return d_make_comp (di, D_COMP_FUNCTION_TYPE, return_type, tl);
+ return d_make_comp (di, DEMANGLE_COMPONENT_FUNCTION_TYPE, return_type, tl);
}
/* <class-enum-type> ::= <name> */
-static struct d_comp *
+static struct demangle_component *
d_class_enum_type (di)
struct d_info *di;
{
@@ -1983,12 +2086,12 @@ d_class_enum_type (di)
::= A [<(dimension) expression>] _ <(element) type>
*/
-static struct d_comp *
+static struct demangle_component *
d_array_type (di)
struct d_info *di;
{
char peek;
- struct d_comp *dim;
+ struct demangle_component *dim;
if (d_next_char (di) != 'A')
return NULL;
@@ -2021,23 +2124,24 @@ d_array_type (di)
if (d_next_char (di) != '_')
return NULL;
- return d_make_comp (di, D_COMP_ARRAY_TYPE, dim, d_type (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_ARRAY_TYPE, dim,
+ cplus_demangle_type (di));
}
/* <pointer-to-member-type> ::= M <(class) type> <(member) type> */
-static struct d_comp *
+static struct demangle_component *
d_pointer_to_member_type (di)
struct d_info *di;
{
- struct d_comp *cl;
- struct d_comp *mem;
- struct d_comp **pmem;
+ struct demangle_component *cl;
+ struct demangle_component *mem;
+ struct demangle_component **pmem;
if (d_next_char (di) != 'M')
return NULL;
- cl = d_type (di);
+ cl = cplus_demangle_type (di);
/* The ABI specifies that any type can be a substitution source, and
that M is followed by two types, and that when a CV-qualified
@@ -2050,21 +2154,21 @@ d_pointer_to_member_type (di)
g++ does not work that way. g++ treats only the CV-qualified
member function as a substitution source. FIXME. So to work
with g++, we need to pull off the CV-qualifiers here, in order to
- avoid calling add_substitution() in d_type(). */
+ avoid calling add_substitution() in cplus_demangle_type(). */
pmem = d_cv_qualifiers (di, &mem, 1);
if (pmem == NULL)
return NULL;
- *pmem = d_type (di);
+ *pmem = cplus_demangle_type (di);
- return d_make_comp (di, D_COMP_PTRMEM_TYPE, cl, mem);
+ return d_make_comp (di, DEMANGLE_COMPONENT_PTRMEM_TYPE, cl, mem);
}
/* <template-param> ::= T_
::= T <(parameter-2 non-negative) number> _
*/
-static struct d_comp *
+static struct demangle_component *
d_template_param (di)
struct d_info *di;
{
@@ -2086,18 +2190,20 @@ d_template_param (di)
if (d_next_char (di) != '_')
return NULL;
+ ++di->did_subs;
+
return d_make_template_param (di, param);
}
/* <template-args> ::= I <template-arg>+ E */
-static struct d_comp *
+static struct demangle_component *
d_template_args (di)
struct d_info *di;
{
- struct d_comp *hold_last_name;
- struct d_comp *al;
- struct d_comp **pal;
+ struct demangle_component *hold_last_name;
+ struct demangle_component *al;
+ struct demangle_component **pal;
/* Preserve the last name we saw--don't let the template arguments
clobber it, as that would give us the wrong name for a subsequent
@@ -2111,13 +2217,13 @@ d_template_args (di)
pal = &al;
while (1)
{
- struct d_comp *a;
+ struct demangle_component *a;
a = d_template_arg (di);
if (a == NULL)
return NULL;
- *pal = d_make_comp (di, D_COMP_TEMPLATE_ARGLIST, a, NULL);
+ *pal = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, a, NULL);
if (*pal == NULL)
return NULL;
pal = &d_right (*pal);
@@ -2139,11 +2245,11 @@ d_template_args (di)
::= <expr-primary>
*/
-static struct d_comp *
+static struct demangle_component *
d_template_arg (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
switch (d_peek_char (di))
{
@@ -2158,7 +2264,7 @@ d_template_arg (di)
return d_expr_primary (di);
default:
- return d_type (di);
+ return cplus_demangle_type (di);
}
}
@@ -2172,7 +2278,7 @@ d_template_arg (di)
::= <expr-primary>
*/
-static struct d_comp *
+static struct demangle_component *
d_expression (di)
struct d_info *di;
{
@@ -2185,43 +2291,47 @@ d_expression (di)
return d_template_param (di);
else if (peek == 's' && d_peek_next_char (di) == 'r')
{
- struct d_comp *type;
- struct d_comp *name;
+ struct demangle_component *type;
+ struct demangle_component *name;
d_advance (di, 2);
- type = d_type (di);
+ type = cplus_demangle_type (di);
name = d_unqualified_name (di);
if (d_peek_char (di) != 'I')
- return d_make_comp (di, D_COMP_QUAL_NAME, type, name);
+ return d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, type, name);
else
- return d_make_comp (di, D_COMP_QUAL_NAME, type,
- d_make_comp (di, D_COMP_TEMPLATE, name,
+ return d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, type,
+ d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, name,
d_template_args (di)));
}
else
{
- struct d_comp *op;
+ struct demangle_component *op;
int args;
op = d_operator_name (di);
if (op == NULL)
return NULL;
- if (op->type == D_COMP_OPERATOR
+ if (op->type == DEMANGLE_COMPONENT_OPERATOR)
+ di->expansion += op->u.s_operator.op->len - 2;
+
+ if (op->type == DEMANGLE_COMPONENT_OPERATOR
&& strcmp (op->u.s_operator.op->code, "st") == 0)
- return d_make_comp (di, D_COMP_UNARY, op, d_type (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
+ cplus_demangle_type (di));
switch (op->type)
{
default:
return NULL;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
args = op->u.s_operator.op->args;
break;
- case D_COMP_EXTENDED_OPERATOR:
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
args = op->u.s_extended_operator.args;
break;
- case D_COMP_CAST:
+ case DEMANGLE_COMPONENT_CAST:
args = 1;
break;
}
@@ -2229,27 +2339,32 @@ d_expression (di)
switch (args)
{
case 1:
- return d_make_comp (di, D_COMP_UNARY, op, d_expression (di));
+ return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op,
+ d_expression (di));
case 2:
{
- struct d_comp *left;
+ struct demangle_component *left;
left = d_expression (di);
- return d_make_comp (di, D_COMP_BINARY, op,
- d_make_comp (di, D_COMP_BINARY_ARGS, left,
+ return d_make_comp (di, DEMANGLE_COMPONENT_BINARY, op,
+ d_make_comp (di,
+ DEMANGLE_COMPONENT_BINARY_ARGS,
+ left,
d_expression (di)));
}
case 3:
{
- struct d_comp *first;
- struct d_comp *second;
+ struct demangle_component *first;
+ struct demangle_component *second;
first = d_expression (di);
second = d_expression (di);
- return d_make_comp (di, D_COMP_TRINARY, op,
- d_make_comp (di, D_COMP_TRINARY_ARG1, first,
+ return d_make_comp (di, DEMANGLE_COMPONENT_TRINARY, op,
+ d_make_comp (di,
+ DEMANGLE_COMPONENT_TRINARY_ARG1,
+ first,
d_make_comp (di,
- D_COMP_TRINARY_ARG2,
+ DEMANGLE_COMPONENT_TRINARY_ARG2,
second,
d_expression (di))));
}
@@ -2264,23 +2379,29 @@ d_expression (di)
::= L <mangled-name> E
*/
-static struct d_comp *
+static struct demangle_component *
d_expr_primary (di)
struct d_info *di;
{
- struct d_comp *ret;
+ struct demangle_component *ret;
if (d_next_char (di) != 'L')
return NULL;
if (d_peek_char (di) == '_')
- ret = d_mangled_name (di, 0);
+ ret = cplus_demangle_mangled_name (di, 0);
else
{
- struct d_comp *type;
- enum d_comp_type t;
+ struct demangle_component *type;
+ enum demangle_component_type t;
const char *s;
- type = d_type (di);
+ type = cplus_demangle_type (di);
+
+ /* If we have a type we know how to print, we aren't going to
+ print the type name itself. */
+ if (type->type == DEMANGLE_COMPONENT_BUILTIN_TYPE
+ && type->u.s_builtin.type->print != D_PRINT_DEFAULT)
+ di->expansion -= type->u.s_builtin.type->len;
/* Rather than try to interpret the literal value, we just
collect it as a string. Note that it's possible to have a
@@ -2293,10 +2414,10 @@ d_expr_primary (di)
constant in any readable form anyhow. We don't attempt to
handle these cases. */
- t = D_COMP_LITERAL;
+ t = DEMANGLE_COMPONENT_LITERAL;
if (d_peek_char (di) == 'n')
{
- t = D_COMP_LITERAL_NEG;
+ t = DEMANGLE_COMPONENT_LITERAL_NEG;
d_advance (di, 1);
}
s = d_str (di);
@@ -2313,11 +2434,11 @@ d_expr_primary (di)
::= Z <(function) encoding> E s [<discriminator>]
*/
-static struct d_comp *
+static struct demangle_component *
d_local_name (di)
struct d_info *di;
{
- struct d_comp *function;
+ struct demangle_component *function;
if (d_next_char (di) != 'Z')
return NULL;
@@ -2332,18 +2453,18 @@ d_local_name (di)
d_advance (di, 1);
if (! d_discriminator (di))
return NULL;
- return d_make_comp (di, D_COMP_QUAL_NAME, function,
+ return d_make_comp (di, DEMANGLE_COMPONENT_LOCAL_NAME, function,
d_make_name (di, "string literal",
sizeof "string literal" - 1));
}
else
{
- struct d_comp *name;
+ struct demangle_component *name;
name = d_name (di);
if (! d_discriminator (di))
return NULL;
- return d_make_comp (di, D_COMP_QUAL_NAME, function, name);
+ return d_make_comp (di, DEMANGLE_COMPONENT_LOCAL_NAME, function, name);
}
}
@@ -2372,7 +2493,7 @@ d_discriminator (di)
static int
d_add_substitution (di, dc)
struct d_info *di;
- struct d_comp *dc;
+ struct demangle_component *dc;
{
if (dc == NULL)
return 0;
@@ -2404,24 +2525,30 @@ d_add_substitution (di, dc)
static const struct d_standard_sub_info standard_subs[] =
{
- { 't', "std", "std", NULL },
- { 'a', "std::allocator", "std::allocator", "allocator" },
- { 'b', "std::basic_string", "std::basic_string", "basic_string" },
- { 's', "std::string",
- "std::basic_string<char, std::char_traits<char>, std::allocator<char> >",
- "basic_string" },
- { 'i', "std::istream",
- "std::basic_istream<char, std::char_traits<char> >",
- "basic_istream" },
- { 'o', "std::ostream",
- "std::basic_ostream<char, std::char_traits<char> >",
- "basic_ostream" },
- { 'd', "std::iostream",
- "std::basic_iostream<char, std::char_traits<char> >",
- "basic_iostream" }
+ { 't', NL ("std"),
+ NL ("std"),
+ NULL, 0 },
+ { 'a', NL ("std::allocator"),
+ NL ("std::allocator"),
+ NL ("allocator") },
+ { 'b', NL ("std::basic_string"),
+ NL ("std::basic_string"),
+ NL ("basic_string") },
+ { 's', NL ("std::string"),
+ NL ("std::basic_string<char, std::char_traits<char>, std::allocator<char> >"),
+ NL ("basic_string") },
+ { 'i', NL ("std::istream"),
+ NL ("std::basic_istream<char, std::char_traits<char> >"),
+ NL ("basic_istream") },
+ { 'o', NL ("std::ostream"),
+ NL ("std::basic_ostream<char, std::char_traits<char> >"),
+ NL ("basic_ostream") },
+ { 'd', NL ("std::iostream"),
+ NL ("std::basic_iostream<char, std::char_traits<char> >"),
+ NL ("basic_iostream") }
};
-static struct d_comp *
+static struct demangle_component *
d_substitution (di, prefix)
struct d_info *di;
int prefix;
@@ -2457,6 +2584,8 @@ d_substitution (di, prefix)
if (id >= di->next_sub)
return NULL;
+ ++di->did_subs;
+
return di->subs[id];
}
else
@@ -2481,12 +2610,24 @@ d_substitution (di, prefix)
{
if (c == p->code)
{
+ const char *s;
+ int len;
+
if (p->set_last_name != NULL)
- di->last_name = d_make_sub (di, p->set_last_name);
+ di->last_name = d_make_sub (di, p->set_last_name,
+ p->set_last_name_len);
if (verbose)
- return d_make_sub (di, p->full_expansion);
+ {
+ s = p->full_expansion;
+ len = p->full_len;
+ }
else
- return d_make_sub (di, p->simple_expansion);
+ {
+ s = p->simple_expansion;
+ len = p->simple_len;
+ }
+ di->expansion += len;
+ return d_make_sub (di, s, len);
}
}
@@ -2578,22 +2719,27 @@ d_print_error (dpi)
dpi->buf = NULL;
}
-/* Turn components into a human readable string. Returns a string
- allocated by malloc, or NULL on error. On success, this sets *PALC
- to the size of the allocated buffer. On failure, this sets *PALC
- to 0 for a bad parse, or to 1 for a memory allocation failure. */
+/* Turn components into a human readable string. OPTIONS is the
+ options bits passed to the demangler. DC is the tree to print.
+ ESTIMATE is a guess at the length of the result. This returns a
+ string allocated by malloc, or NULL on error. On success, this
+ sets *PALC to the size of the allocated buffer. On failure, this
+ sets *PALC to 0 for a bad parse, or to 1 for a memory allocation
+ failure. */
-static char *
-d_print (options, dc, palc)
+CP_STATIC_IF_GLIBCPP_V3
+char *
+cplus_demangle_print (options, dc, estimate, palc)
int options;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
+ int estimate;
size_t *palc;
{
struct d_print_info dpi;
dpi.options = options;
- dpi.alc = 64;
+ dpi.alc = estimate + 1;
dpi.buf = malloc (dpi.alc);
if (dpi.buf == NULL)
{
@@ -2624,7 +2770,7 @@ d_print (options, dc, palc)
static void
d_print_comp (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
if (dc == NULL)
{
@@ -2636,20 +2782,27 @@ d_print_comp (dpi, dc)
switch (dc->type)
{
- case D_COMP_NAME:
- d_print_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len);
+ case DEMANGLE_COMPONENT_NAME:
+ if ((dpi->options & DMGL_JAVA) == 0)
+ d_append_buffer (dpi, dc->u.s_name.s, dc->u.s_name.len);
+ else
+ d_print_java_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len);
return;
- case D_COMP_QUAL_NAME:
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
d_print_comp (dpi, d_left (dc));
- d_append_string (dpi, (dpi->options & DMGL_JAVA) == 0 ? "::" : ".");
+ if ((dpi->options & DMGL_JAVA) == 0)
+ d_append_string_constant (dpi, "::");
+ else
+ d_append_char (dpi, '.');
d_print_comp (dpi, d_right (dc));
return;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
{
struct d_print_mod *hold_modifiers;
- struct d_comp *typed_name;
+ struct demangle_component *typed_name;
struct d_print_mod adpm[4];
unsigned int i;
struct d_print_template dpt;
@@ -2675,9 +2828,9 @@ d_print_comp (dpi, dc)
adpm[i].templates = dpi->templates;
++i;
- if (typed_name->type != D_COMP_RESTRICT_THIS
- && typed_name->type != D_COMP_VOLATILE_THIS
- && typed_name->type != D_COMP_CONST_THIS)
+ if (typed_name->type != DEMANGLE_COMPONENT_RESTRICT_THIS
+ && typed_name->type != DEMANGLE_COMPONENT_VOLATILE_THIS
+ && typed_name->type != DEMANGLE_COMPONENT_CONST_THIS)
break;
typed_name = d_left (typed_name);
@@ -2685,16 +2838,48 @@ d_print_comp (dpi, dc)
/* If typed_name is a template, then it applies to the
function type as well. */
- if (typed_name->type == D_COMP_TEMPLATE)
+ if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
{
dpt.next = dpi->templates;
dpi->templates = &dpt;
dpt.template = typed_name;
}
+ /* If typed_name is a DEMANGLE_COMPONENT_LOCAL_NAME, then
+ there may be CV-qualifiers on its right argument which
+ really apply here; this happens when parsing a class which
+ is local to a function. */
+ if (typed_name->type == DEMANGLE_COMPONENT_LOCAL_NAME)
+ {
+ struct demangle_component *local_name;
+
+ local_name = d_right (typed_name);
+ while (local_name->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || local_name->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || local_name->type == DEMANGLE_COMPONENT_CONST_THIS)
+ {
+ if (i >= sizeof adpm / sizeof adpm[0])
+ {
+ d_print_error (dpi);
+ return;
+ }
+
+ adpm[i] = adpm[i - 1];
+ adpm[i].next = &adpm[i - 1];
+ dpi->modifiers = &adpm[i];
+
+ adpm[i - 1].mod = local_name;
+ adpm[i - 1].printed = 0;
+ adpm[i - 1].templates = dpi->templates;
+ ++i;
+
+ local_name = d_left (local_name);
+ }
+ }
+
d_print_comp (dpi, d_right (dc));
- if (typed_name->type == D_COMP_TEMPLATE)
+ if (typed_name->type == DEMANGLE_COMPONENT_TEMPLATE)
dpi->templates = dpt.next;
/* If the modifiers didn't get printed by the type, print them
@@ -2714,7 +2899,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_TEMPLATE:
+ case DEMANGLE_COMPONENT_TEMPLATE:
{
struct d_print_mod *hold_dpm;
@@ -2741,10 +2926,10 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_TEMPLATE_PARAM:
+ case DEMANGLE_COMPONENT_TEMPLATE_PARAM:
{
long i;
- struct d_comp *a;
+ struct demangle_component *a;
struct d_print_template *hold_dpt;
if (dpi->templates == NULL)
@@ -2757,7 +2942,7 @@ d_print_comp (dpi, dc)
a != NULL;
a = d_right (a))
{
- if (a->type != D_COMP_TEMPLATE_ARGLIST)
+ if (a->type != DEMANGLE_COMPONENT_TEMPLATE_ARGLIST)
{
d_print_error (dpi);
return;
@@ -2787,92 +2972,92 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_CTOR:
+ case DEMANGLE_COMPONENT_CTOR:
d_print_comp (dpi, dc->u.s_ctor.name);
return;
- case D_COMP_DTOR:
+ case DEMANGLE_COMPONENT_DTOR:
d_append_char (dpi, '~');
d_print_comp (dpi, dc->u.s_dtor.name);
return;
- case D_COMP_VTABLE:
- d_append_string (dpi, "vtable for ");
+ case DEMANGLE_COMPONENT_VTABLE:
+ d_append_string_constant (dpi, "vtable for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_VTT:
- d_append_string (dpi, "VTT for ");
+ case DEMANGLE_COMPONENT_VTT:
+ d_append_string_constant (dpi, "VTT for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_CONSTRUCTION_VTABLE:
- d_append_string (dpi, "construction vtable for ");
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+ d_append_string_constant (dpi, "construction vtable for ");
d_print_comp (dpi, d_left (dc));
- d_append_string (dpi, "-in-");
+ d_append_string_constant (dpi, "-in-");
d_print_comp (dpi, d_right (dc));
return;
- case D_COMP_TYPEINFO:
- d_append_string (dpi, "typeinfo for ");
+ case DEMANGLE_COMPONENT_TYPEINFO:
+ d_append_string_constant (dpi, "typeinfo for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_TYPEINFO_NAME:
- d_append_string (dpi, "typeinfo name for ");
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+ d_append_string_constant (dpi, "typeinfo name for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_TYPEINFO_FN:
- d_append_string (dpi, "typeinfo fn for ");
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
+ d_append_string_constant (dpi, "typeinfo fn for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_THUNK:
- d_append_string (dpi, "non-virtual thunk to ");
+ case DEMANGLE_COMPONENT_THUNK:
+ d_append_string_constant (dpi, "non-virtual thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_VIRTUAL_THUNK:
- d_append_string (dpi, "virtual thunk to ");
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+ d_append_string_constant (dpi, "virtual thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_COVARIANT_THUNK:
- d_append_string (dpi, "covariant return thunk to ");
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+ d_append_string_constant (dpi, "covariant return thunk to ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_JAVA_CLASS:
- d_append_string (dpi, "java Class for ");
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
+ d_append_string_constant (dpi, "java Class for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_GUARD:
- d_append_string (dpi, "guard variable for ");
+ case DEMANGLE_COMPONENT_GUARD:
+ d_append_string_constant (dpi, "guard variable for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_REFTEMP:
- d_append_string (dpi, "reference temporary for ");
+ case DEMANGLE_COMPONENT_REFTEMP:
+ d_append_string_constant (dpi, "reference temporary for ");
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_SUB_STD:
- d_append_string (dpi, dc->u.s_string.string);
+ case DEMANGLE_COMPONENT_SUB_STD:
+ d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len);
return;
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
{
/* We keep a list of modifiers on the stack. */
struct d_print_mod dpm;
@@ -2895,18 +3080,20 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_BUILTIN_TYPE:
+ case DEMANGLE_COMPONENT_BUILTIN_TYPE:
if ((dpi->options & DMGL_JAVA) == 0)
- d_append_string (dpi, dc->u.s_builtin.type->name);
+ d_append_buffer (dpi, dc->u.s_builtin.type->name,
+ dc->u.s_builtin.type->len);
else
- d_append_string (dpi, dc->u.s_builtin.type->java_name);
+ d_append_buffer (dpi, dc->u.s_builtin.type->java_name,
+ dc->u.s_builtin.type->java_len);
return;
- case D_COMP_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
d_print_comp (dpi, d_left (dc));
return;
- case D_COMP_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
{
if (d_left (dc) != NULL)
{
@@ -2936,7 +3123,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
{
struct d_print_mod dpm;
@@ -2961,7 +3148,7 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
{
struct d_print_mod dpm;
@@ -2979,7 +3166,7 @@ d_print_comp (dpi, dc)
{
d_append_char (dpi, ' ');
d_print_comp (dpi, d_left (dc));
- d_append_string (dpi, "::*");
+ d_append_string_constant (dpi, "::*");
}
dpi->modifiers = dpm.next;
@@ -2987,56 +3174,57 @@ d_print_comp (dpi, dc)
return;
}
- case D_COMP_ARGLIST:
- case D_COMP_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
d_print_comp (dpi, d_left (dc));
if (d_right (dc) != NULL)
{
- d_append_string (dpi, ", ");
+ d_append_string_constant (dpi, ", ");
d_print_comp (dpi, d_right (dc));
}
return;
- case D_COMP_OPERATOR:
+ case DEMANGLE_COMPONENT_OPERATOR:
{
char c;
- d_append_string (dpi, "operator");
+ d_append_string_constant (dpi, "operator");
c = dc->u.s_operator.op->name[0];
if (IS_LOWER (c))
d_append_char (dpi, ' ');
- d_append_string (dpi, dc->u.s_operator.op->name);
+ d_append_buffer (dpi, dc->u.s_operator.op->name,
+ dc->u.s_operator.op->len);
return;
}
- case D_COMP_EXTENDED_OPERATOR:
- d_append_string (dpi, "operator ");
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
+ d_append_string_constant (dpi, "operator ");
d_print_comp (dpi, dc->u.s_extended_operator.name);
return;
- case D_COMP_CAST:
- d_append_string (dpi, "operator ");
+ case DEMANGLE_COMPONENT_CAST:
+ d_append_string_constant (dpi, "operator ");
d_print_cast (dpi, dc);
return;
- case D_COMP_UNARY:
- if (d_left (dc)->type != D_COMP_CAST)
+ case DEMANGLE_COMPONENT_UNARY:
+ if (d_left (dc)->type != DEMANGLE_COMPONENT_CAST)
d_print_expr_op (dpi, d_left (dc));
else
{
- d_append_string (dpi, "((");
+ d_append_string_constant (dpi, "((");
d_print_cast (dpi, d_left (dc));
d_append_char (dpi, ')');
}
d_append_char (dpi, '(');
d_print_comp (dpi, d_right (dc));
d_append_char (dpi, ')');
- if (d_left (dc)->type == D_COMP_CAST)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_CAST)
d_append_char (dpi, ')');
return;
- case D_COMP_BINARY:
- if (d_right (dc)->type != D_COMP_BINARY_ARGS)
+ case DEMANGLE_COMPONENT_BINARY:
+ if (d_right (dc)->type != DEMANGLE_COMPONENT_BINARY_ARGS)
{
d_print_error (dpi);
return;
@@ -3045,64 +3233,66 @@ d_print_comp (dpi, dc)
/* We wrap an expression which uses the greater-than operator in
an extra layer of parens so that it does not get confused
with the '>' which ends the template parameters. */
- if (d_left (dc)->type == D_COMP_OPERATOR
- && strcmp (d_left (dc)->u.s_operator.op->name, ">") == 0)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR
+ && d_left (dc)->u.s_operator.op->len == 1
+ && d_left (dc)->u.s_operator.op->name[0] == '>')
d_append_char (dpi, '(');
d_append_char (dpi, '(');
d_print_comp (dpi, d_left (d_right (dc)));
- d_append_string (dpi, ") ");
+ d_append_string_constant (dpi, ") ");
d_print_expr_op (dpi, d_left (dc));
- d_append_string (dpi, " (");
+ d_append_string_constant (dpi, " (");
d_print_comp (dpi, d_right (d_right (dc)));
d_append_char (dpi, ')');
- if (d_left (dc)->type == D_COMP_OPERATOR
- && strcmp (d_left (dc)->u.s_operator.op->name, ">") == 0)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR
+ && d_left (dc)->u.s_operator.op->len == 1
+ && d_left (dc)->u.s_operator.op->name[0] == '>')
d_append_char (dpi, ')');
return;
- case D_COMP_BINARY_ARGS:
- /* We should only see this as part of D_COMP_BINARY. */
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ /* We should only see this as part of DEMANGLE_COMPONENT_BINARY. */
d_print_error (dpi);
return;
- case D_COMP_TRINARY:
- if (d_right (dc)->type != D_COMP_TRINARY_ARG1
- || d_right (d_right (dc))->type != D_COMP_TRINARY_ARG2)
+ case DEMANGLE_COMPONENT_TRINARY:
+ if (d_right (dc)->type != DEMANGLE_COMPONENT_TRINARY_ARG1
+ || d_right (d_right (dc))->type != DEMANGLE_COMPONENT_TRINARY_ARG2)
{
d_print_error (dpi);
return;
}
d_append_char (dpi, '(');
d_print_comp (dpi, d_left (d_right (dc)));
- d_append_string (dpi, ") ");
+ d_append_string_constant (dpi, ") ");
d_print_expr_op (dpi, d_left (dc));
- d_append_string (dpi, " (");
+ d_append_string_constant (dpi, " (");
d_print_comp (dpi, d_left (d_right (d_right (dc))));
- d_append_string (dpi, ") : (");
+ d_append_string_constant (dpi, ") : (");
d_print_comp (dpi, d_right (d_right (d_right (dc))));
d_append_char (dpi, ')');
return;
- case D_COMP_TRINARY_ARG1:
- case D_COMP_TRINARY_ARG2:
- /* We should only see these are part of D_COMP_TRINARY. */
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ /* We should only see these are part of DEMANGLE_COMPONENT_TRINARY. */
d_print_error (dpi);
return;
- case D_COMP_LITERAL:
- case D_COMP_LITERAL_NEG:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
/* For some builtin types, produce simpler output. */
- if (d_left (dc)->type == D_COMP_BUILTIN_TYPE)
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE)
{
switch (d_left (dc)->u.s_builtin.type->print)
{
case D_PRINT_INT:
- if (d_right (dc)->type == D_COMP_NAME)
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
{
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
return;
@@ -3110,9 +3300,9 @@ d_print_comp (dpi, dc)
break;
case D_PRINT_LONG:
- if (d_right (dc)->type == D_COMP_NAME)
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME)
{
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
d_append_char (dpi, 'l');
@@ -3121,17 +3311,17 @@ d_print_comp (dpi, dc)
break;
case D_PRINT_BOOL:
- if (d_right (dc)->type == D_COMP_NAME
+ if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME
&& d_right (dc)->u.s_name.len == 1
- && dc->type == D_COMP_LITERAL)
+ && dc->type == DEMANGLE_COMPONENT_LITERAL)
{
switch (d_right (dc)->u.s_name.s[0])
{
case '0':
- d_append_string (dpi, "false");
+ d_append_string_constant (dpi, "false");
return;
case '1':
- d_append_string (dpi, "true");
+ d_append_string_constant (dpi, "true");
return;
default:
break;
@@ -3147,7 +3337,7 @@ d_print_comp (dpi, dc)
d_append_char (dpi, '(');
d_print_comp (dpi, d_left (dc));
d_append_char (dpi, ')');
- if (dc->type == D_COMP_LITERAL_NEG)
+ if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG)
d_append_char (dpi, '-');
d_print_comp (dpi, d_right (dc));
return;
@@ -3158,64 +3348,58 @@ d_print_comp (dpi, dc)
}
}
-/* Print an identifier. */
+/* Print a Java dentifier. For Java we try to handle encoded extended
+ Unicode characters. The C++ ABI doesn't mention Unicode encoding,
+ so we don't it for C++. Characters are encoded as
+ __U<hex-char>+_. */
static void
-d_print_identifier (dpi, name, len)
+d_print_java_identifier (dpi, name, len)
struct d_print_info *dpi;
const char *name;
int len;
{
- if ((dpi->options & DMGL_JAVA) == 0)
- d_append_buffer (dpi, name, len);
- else
- {
- const char *p;
- const char *end;
+ const char *p;
+ const char *end;
- /* For Java we try to handle encoded extended Unicode
- characters. The C++ ABI doesn't mention Unicode encoding, so
- we don't it for C++. Characters are encoded as
- __U<hex-char>+_. */
- end = name + len;
- for (p = name; p < end; ++p)
+ end = name + len;
+ for (p = name; p < end; ++p)
+ {
+ if (end - p > 3
+ && p[0] == '_'
+ && p[1] == '_'
+ && p[2] == 'U')
{
- if (end - p > 3
- && p[0] == '_'
- && p[1] == '_'
- && p[2] == 'U')
+ unsigned long c;
+ const char *q;
+
+ c = 0;
+ for (q = p + 3; q < end; ++q)
{
- unsigned long c;
- const char *q;
+ int dig;
+
+ if (IS_DIGIT (*q))
+ dig = *q - '0';
+ else if (*q >= 'A' && *q <= 'F')
+ dig = *q - 'A' + 10;
+ else if (*q >= 'a' && *q <= 'f')
+ dig = *q - 'a' + 10;
+ else
+ break;
- c = 0;
- for (q = p + 3; q < end; ++q)
- {
- int dig;
-
- if (IS_DIGIT (*q))
- dig = *q - '0';
- else if (*q >= 'A' && *q <= 'F')
- dig = *q - 'A' + 10;
- else if (*q >= 'a' && *q <= 'f')
- dig = *q - 'a' + 10;
- else
- break;
-
- c = c * 16 + dig;
- }
- /* If the Unicode character is larger than 256, we don't
- try to deal with it here. FIXME. */
- if (q < end && *q == '_' && c < 256)
- {
- d_append_char (dpi, c);
- p = q;
- continue;
- }
+ c = c * 16 + dig;
+ }
+ /* If the Unicode character is larger than 256, we don't try
+ to deal with it here. FIXME. */
+ if (q < end && *q == '_' && c < 256)
+ {
+ d_append_char (dpi, c);
+ p = q;
+ continue;
}
-
- d_append_char (dpi, *p);
}
+
+ d_append_char (dpi, *p);
}
}
@@ -3235,9 +3419,9 @@ d_print_mod_list (dpi, mods, suffix)
if (mods->printed
|| (! suffix
- && (mods->mod->type == D_COMP_RESTRICT_THIS
- || mods->mod->type == D_COMP_VOLATILE_THIS
- || mods->mod->type == D_COMP_CONST_THIS)))
+ && (mods->mod->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || mods->mod->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || mods->mod->type == DEMANGLE_COMPONENT_CONST_THIS)))
{
d_print_mod_list (dpi, mods->next, suffix);
return;
@@ -3248,18 +3432,49 @@ d_print_mod_list (dpi, mods, suffix)
hold_dpt = dpi->templates;
dpi->templates = mods->templates;
- if (mods->mod->type == D_COMP_FUNCTION_TYPE)
+ if (mods->mod->type == DEMANGLE_COMPONENT_FUNCTION_TYPE)
{
d_print_function_type (dpi, mods->mod, mods->next);
dpi->templates = hold_dpt;
return;
}
- else if (mods->mod->type == D_COMP_ARRAY_TYPE)
+ else if (mods->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
{
d_print_array_type (dpi, mods->mod, mods->next);
dpi->templates = hold_dpt;
return;
}
+ else if (mods->mod->type == DEMANGLE_COMPONENT_LOCAL_NAME)
+ {
+ struct d_print_mod *hold_modifiers;
+ struct demangle_component *dc;
+
+ /* When this is on the modifier stack, we have pulled any
+ qualifiers off the right argument already. Otherwise, we
+ print it as usual, but don't let the left argument see any
+ modifiers. */
+
+ hold_modifiers = dpi->modifiers;
+ dpi->modifiers = NULL;
+ d_print_comp (dpi, d_left (mods->mod));
+ dpi->modifiers = hold_modifiers;
+
+ if ((dpi->options & DMGL_JAVA) == 0)
+ d_append_string_constant (dpi, "::");
+ else
+ d_append_char (dpi, '.');
+
+ dc = d_right (mods->mod);
+ while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
+ || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
+ || dc->type == DEMANGLE_COMPONENT_CONST_THIS)
+ dc = d_left (dc);
+
+ d_print_comp (dpi, dc);
+
+ dpi->templates = hold_dpt;
+ return;
+ }
d_print_mod (dpi, mods->mod);
@@ -3273,47 +3488,47 @@ d_print_mod_list (dpi, mods, suffix)
static void
d_print_mod (dpi, mod)
struct d_print_info *dpi;
- const struct d_comp *mod;
+ const struct demangle_component *mod;
{
switch (mod->type)
{
- case D_COMP_RESTRICT:
- case D_COMP_RESTRICT_THIS:
- d_append_string (dpi, " restrict");
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ d_append_string_constant (dpi, " restrict");
return;
- case D_COMP_VOLATILE:
- case D_COMP_VOLATILE_THIS:
- d_append_string (dpi, " volatile");
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ d_append_string_constant (dpi, " volatile");
return;
- case D_COMP_CONST:
- case D_COMP_CONST_THIS:
- d_append_string (dpi, " const");
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ d_append_string_constant (dpi, " const");
return;
- case D_COMP_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
d_append_char (dpi, ' ');
d_print_comp (dpi, d_right (mod));
return;
- case D_COMP_POINTER:
+ case DEMANGLE_COMPONENT_POINTER:
/* There is no pointer symbol in Java. */
if ((dpi->options & DMGL_JAVA) == 0)
d_append_char (dpi, '*');
return;
- case D_COMP_REFERENCE:
+ case DEMANGLE_COMPONENT_REFERENCE:
d_append_char (dpi, '&');
return;
- case D_COMP_COMPLEX:
- d_append_string (dpi, "complex ");
+ case DEMANGLE_COMPONENT_COMPLEX:
+ d_append_string_constant (dpi, "complex ");
return;
- case D_COMP_IMAGINARY:
- d_append_string (dpi, "imaginary ");
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ d_append_string_constant (dpi, "imaginary ");
return;
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
if (d_last_char (dpi) != '(')
d_append_char (dpi, ' ');
d_print_comp (dpi, d_left (mod));
- d_append_string (dpi, "::*");
+ d_append_string_constant (dpi, "::*");
return;
- case D_COMP_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
d_print_comp (dpi, d_left (mod));
return;
default:
@@ -3329,12 +3544,13 @@ d_print_mod (dpi, mod)
static void
d_print_function_type (dpi, dc, mods)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
struct d_print_mod *mods;
{
int need_paren;
int saw_mod;
struct d_print_mod *p;
+ struct d_print_mod *hold_modifiers;
need_paren = 0;
saw_mod = 0;
@@ -3346,20 +3562,20 @@ d_print_function_type (dpi, dc, mods)
saw_mod = 1;
switch (p->mod->type)
{
- case D_COMP_RESTRICT:
- case D_COMP_VOLATILE:
- case D_COMP_CONST:
- case D_COMP_VENDOR_TYPE_QUAL:
- case D_COMP_POINTER:
- case D_COMP_REFERENCE:
- case D_COMP_COMPLEX:
- case D_COMP_IMAGINARY:
- case D_COMP_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
need_paren = 1;
break;
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
break;
default:
break;
@@ -3388,6 +3604,9 @@ d_print_function_type (dpi, dc, mods)
d_append_char (dpi, '(');
}
+ hold_modifiers = dpi->modifiers;
+ dpi->modifiers = NULL;
+
d_print_mod_list (dpi, mods, 0);
if (need_paren)
@@ -3401,6 +3620,8 @@ d_print_function_type (dpi, dc, mods)
d_append_char (dpi, ')');
d_print_mod_list (dpi, mods, 1);
+
+ dpi->modifiers = hold_modifiers;
}
/* Print an array type, except for the element type. */
@@ -3408,7 +3629,7 @@ d_print_function_type (dpi, dc, mods)
static void
d_print_array_type (dpi, dc, mods)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
struct d_print_mod *mods;
{
int need_space;
@@ -3425,7 +3646,7 @@ d_print_array_type (dpi, dc, mods)
if (p->printed)
break;
- if (p->mod->type == D_COMP_ARRAY_TYPE)
+ if (p->mod->type == DEMANGLE_COMPONENT_ARRAY_TYPE)
{
need_space = 0;
break;
@@ -3439,7 +3660,7 @@ d_print_array_type (dpi, dc, mods)
}
if (need_paren)
- d_append_string (dpi, " (");
+ d_append_string_constant (dpi, " (");
d_print_mod_list (dpi, mods, 0);
@@ -3463,10 +3684,11 @@ d_print_array_type (dpi, dc, mods)
static void
d_print_expr_op (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
- if (dc->type == D_COMP_OPERATOR)
- d_append_string (dpi, dc->u.s_operator.op->name);
+ if (dc->type == DEMANGLE_COMPONENT_OPERATOR)
+ d_append_buffer (dpi, dc->u.s_operator.op->name,
+ dc->u.s_operator.op->len);
else
d_print_comp (dpi, dc);
}
@@ -3476,9 +3698,9 @@ d_print_expr_op (dpi, dc)
static void
d_print_cast (dpi, dc)
struct d_print_info *dpi;
- const struct d_comp *dc;
+ const struct demangle_component *dc;
{
- if (d_left (dc)->type != D_COMP_TEMPLATE)
+ if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE)
d_print_comp (dpi, d_left (dc));
else
{
@@ -3518,14 +3740,16 @@ d_print_cast (dpi, dc)
/* Initialize the information structure we use to pass around
information. */
-static int
-d_init_info (mangled, options, len, di)
+CP_STATIC_IF_GLIBCPP_V3
+void
+cplus_demangle_init_info (mangled, options, len, di)
const char *mangled;
int options;
size_t len;
struct d_info *di;
{
di->s = mangled;
+ di->send = mangled + len;
di->options = options;
di->n = mangled;
@@ -3534,29 +3758,17 @@ d_init_info (mangled, options, len, di)
the mangled string. Most components correspond directly to
chars, but the ARGLIST types are exceptions. */
di->num_comps = 2 * len;
- di->comps = (struct d_comp *) malloc (di->num_comps
- * sizeof (struct d_comp));
di->next_comp = 0;
/* Similarly, we can not need more substitutions than there are
chars in the mangled string. */
di->num_subs = len;
- di->subs = (struct d_comp **) malloc (di->num_subs
- * sizeof (struct d_comp *));
di->next_sub = 0;
+ di->did_subs = 0;
di->last_name = NULL;
- if (di->comps == NULL || di->subs == NULL)
- {
- if (di->comps != NULL)
- free (di->comps);
- if (di->subs != NULL)
- free (di->subs);
- return 0;
- }
-
- return 1;
+ di->expansion = 0;
}
/* Entry point for the demangler. If MANGLED is a g++ v3 ABI mangled
@@ -3575,7 +3787,8 @@ d_demangle (mangled, options, palc)
size_t len;
int type;
struct d_info di;
- struct d_comp *dc;
+ struct demangle_component *dc;
+ int estimate;
char *ret;
*palc = 0;
@@ -3611,39 +3824,82 @@ d_demangle (mangled, options, palc)
type = 1;
}
- if (! d_init_info (mangled, options, len, &di))
- {
- *palc = 1;
- return NULL;
- }
+ cplus_demangle_init_info (mangled, options, len, &di);
- if (! type)
- dc = d_mangled_name (&di, 1);
- else
- dc = d_type (&di);
+ {
+#ifdef CP_DYNAMIC_ARRAYS
+ __extension__ struct demangle_component comps[di.num_comps];
+ __extension__ struct demangle_component *subs[di.num_subs];
+
+ di.comps = &comps[0];
+ di.subs = &subs[0];
+#else
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
+ if (di.comps == NULL || di.subs == NULL)
+ {
+ if (di.comps != NULL)
+ free (di.comps);
+ if (di.subs != NULL)
+ free (di.subs);
+ *palc = 1;
+ return NULL;
+ }
+#endif
+
+ if (! type)
+ dc = cplus_demangle_mangled_name (&di, 1);
+ else
+ dc = cplus_demangle_type (&di);
- /* If DMGL_PARAMS is set, then if we didn't consume the entire
- mangled string, then we didn't successfully demangle it. If
- DMGL_PARAMS is not set, we didn't look at the trailing
- parameters. */
- if (((options & DMGL_PARAMS) != 0) && d_peek_char (&di) != '\0')
- dc = NULL;
+ /* If DMGL_PARAMS is set, then if we didn't consume the entire
+ mangled string, then we didn't successfully demangle it. If
+ DMGL_PARAMS is not set, we didn't look at the trailing
+ parameters. */
+ if (((options & DMGL_PARAMS) != 0) && d_peek_char (&di) != '\0')
+ dc = NULL;
#ifdef CP_DEMANGLE_DEBUG
- if (dc == NULL)
- printf ("failed demangling\n");
- else
- d_dump (dc, 0);
+ if (dc == NULL)
+ printf ("failed demangling\n");
+ else
+ d_dump (dc, 0);
#endif
- free (di.subs);
- di.subs = NULL;
+ /* We try to guess the length of the demangled string, to minimize
+ calls to realloc during demangling. */
+ estimate = len + di.expansion + 10 * di.did_subs;
+ estimate += estimate / 8;
- ret = NULL;
- if (dc != NULL)
- ret = d_print (options, dc, palc);
+ ret = NULL;
+ if (dc != NULL)
+ ret = cplus_demangle_print (options, dc, estimate, palc);
- free (di.comps);
+#ifndef CP_DYNAMIC_ARRAYS
+ free (di.comps);
+ free (di.subs);
+#endif
+
+#ifdef CP_DEMANGLE_DEBUG
+ if (ret != NULL)
+ {
+ int rlen;
+
+ rlen = strlen (ret);
+ if (rlen > 2 * estimate)
+ printf ("*** Length %d much greater than estimate %d\n",
+ rlen, estimate);
+ else if (rlen > estimate)
+ printf ("*** Length %d greater than estimate %d\n",
+ rlen, estimate);
+ else if (rlen < estimate / 2)
+ printf ("*** Length %d much less than estimate %d\n",
+ rlen, estimate);
+ }
+#endif
+ }
return ret;
}
@@ -3820,53 +4076,78 @@ is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
enum gnu_v3_dtor_kinds *dtor_kind;
{
struct d_info di;
- struct d_comp *dc;
+ struct demangle_component *dc;
int ret;
*ctor_kind = (enum gnu_v3_ctor_kinds) 0;
*dtor_kind = (enum gnu_v3_dtor_kinds) 0;
- if (! d_init_info (mangled, DMGL_GNU_V3, strlen (mangled), &di))
- return 0;
+ cplus_demangle_init_info (mangled, DMGL_GNU_V3, strlen (mangled), &di);
- dc = d_mangled_name (&di, 1);
+ {
+#ifdef CP_DYNAMIC_ARRAYS
+ __extension__ struct demangle_component comps[di.num_comps];
+ __extension__ struct demangle_component *subs[di.num_subs];
+
+ di.comps = &comps[0];
+ di.subs = &subs[0];
+#else
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
+ if (di.comps == NULL || di.subs == NULL)
+ {
+ if (di.comps != NULL)
+ free (di.comps);
+ if (di.subs != NULL)
+ free (di.subs);
+ return 0;
+ }
+#endif
- /* Note that because we did not pass DMGL_PARAMS, we don't expect to
- demangle the entire string. */
+ dc = cplus_demangle_mangled_name (&di, 1);
- ret = 0;
- while (dc != NULL)
- {
- switch (dc->type)
- {
- default:
- dc = NULL;
- break;
- case D_COMP_TYPED_NAME:
- case D_COMP_TEMPLATE:
- case D_COMP_RESTRICT_THIS:
- case D_COMP_VOLATILE_THIS:
- case D_COMP_CONST_THIS:
- dc = d_left (dc);
- break;
- case D_COMP_QUAL_NAME:
- dc = d_right (dc);
- break;
- case D_COMP_CTOR:
- *ctor_kind = dc->u.s_ctor.kind;
- ret = 1;
- dc = NULL;
- break;
- case D_COMP_DTOR:
- *dtor_kind = dc->u.s_dtor.kind;
- ret = 1;
- dc = NULL;
- break;
- }
- }
+ /* Note that because we did not pass DMGL_PARAMS, we don't expect
+ to demangle the entire string. */
+
+ ret = 0;
+ while (dc != NULL)
+ {
+ switch (dc->type)
+ {
+ default:
+ dc = NULL;
+ break;
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ dc = d_left (dc);
+ break;
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ dc = d_right (dc);
+ break;
+ case DEMANGLE_COMPONENT_CTOR:
+ *ctor_kind = dc->u.s_ctor.kind;
+ ret = 1;
+ dc = NULL;
+ break;
+ case DEMANGLE_COMPONENT_DTOR:
+ *dtor_kind = dc->u.s_dtor.kind;
+ ret = 1;
+ dc = NULL;
+ break;
+ }
+ }
- free (di.subs);
- free (di.comps);
+#ifndef CP_DYNAMIC_ARRAYS
+ free (di.subs);
+ free (di.comps);
+#endif
+ }
return ret;
}
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
new file mode 100644
index 0000000000..d3c57ce376
--- /dev/null
+++ b/libiberty/cp-demangle.h
@@ -0,0 +1,139 @@
+/* Internal demangler interface for g++ V3 ABI.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+ This file is part of the libiberty library, which is part of GCC.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ In addition to the permissions in the GNU General Public License, the
+ Free Software Foundation gives you unlimited permission to link the
+ compiled version of this file into combinations with other programs,
+ and to distribute those combinations without any restriction coming
+ from the use of this file. (The General Public License restrictions
+ do apply in other respects; for example, they cover modification of
+ the file, and distribution when not linked into a combined
+ executable.)
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+/* This file provides some definitions shared by cp-demangle.c and
+ cp-demint.c. It should not be included by any other files. */
+
+/* Information we keep for operators. */
+
+struct demangle_operator_info
+{
+ /* Mangled name. */
+ const char *code;
+ /* Real name. */
+ const char *name;
+ /* Length of real name. */
+ int len;
+ /* Number of arguments. */
+ int args;
+};
+
+/* How to print the value of a builtin type. */
+
+enum d_builtin_type_print
+{
+ /* Print as (type)val. */
+ D_PRINT_DEFAULT,
+ /* Print as integer. */
+ D_PRINT_INT,
+ /* Print as long, with trailing `l'. */
+ D_PRINT_LONG,
+ /* Print as bool. */
+ D_PRINT_BOOL,
+ /* Print in usual way, but here to detect void. */
+ D_PRINT_VOID
+};
+
+/* Information we keep for a builtin type. */
+
+struct demangle_builtin_type_info
+{
+ /* Type name. */
+ const char *name;
+ /* Length of type name. */
+ int len;
+ /* Type name when using Java. */
+ const char *java_name;
+ /* Length of java name. */
+ int java_len;
+ /* How to print a value of this type. */
+ enum d_builtin_type_print print;
+};
+
+/* The information structure we pass around. */
+
+struct d_info
+{
+ /* The string we are demangling. */
+ const char *s;
+ /* The end of the string we are demangling. */
+ const char *send;
+ /* The options passed to the demangler. */
+ int options;
+ /* The next character in the string to consider. */
+ const char *n;
+ /* The array of components. */
+ struct demangle_component *comps;
+ /* The index of the next available component. */
+ int next_comp;
+ /* The number of available component structures. */
+ int num_comps;
+ /* The array of substitutions. */
+ struct demangle_component **subs;
+ /* The index of the next substitution. */
+ int next_sub;
+ /* The number of available entries in the subs array. */
+ int num_subs;
+ /* The number of substitutions which we actually made from the subs
+ array, plus the number of template parameter references we
+ saw. */
+ int did_subs;
+ /* The last name we saw, for constructors and destructors. */
+ struct demangle_component *last_name;
+ /* A running total of the length of large expansions from the
+ mangled name to the demangled name, such as standard
+ substitutions and builtin types. */
+ int expansion;
+};
+
+#define d_peek_char(di) (*((di)->n))
+#define d_peek_next_char(di) ((di)->n[1])
+#define d_advance(di, i) ((di)->n += (i))
+#define d_next_char(di) (*((di)->n++))
+#define d_str(di) ((di)->n)
+
+/* Functions and arrays in cp-demangle.c which are referenced by
+ functions in cp-demint.c. */
+
+extern const struct demangle_operator_info cplus_demangle_operators[];
+
+#define D_BUILTIN_TYPE_COUNT (26)
+
+extern const struct demangle_builtin_type_info
+cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT];
+
+extern struct demangle_component *
+cplus_demangle_mangled_name PARAMS ((struct d_info *, int));
+
+extern struct demangle_component *
+cplus_demangle_type PARAMS ((struct d_info *));
+
+extern void
+cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *));
diff --git a/libiberty/cp-demint.c b/libiberty/cp-demint.c
new file mode 100644
index 0000000000..533202dd10
--- /dev/null
+++ b/libiberty/cp-demint.c
@@ -0,0 +1,241 @@
+/* Demangler component interface functions.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+ This file is part of the libiberty library, which is part of GCC.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ In addition to the permissions in the GNU General Public License, the
+ Free Software Foundation gives you unlimited permission to link the
+ compiled version of this file into combinations with other programs,
+ and to distribute those combinations without any restriction coming
+ from the use of this file. (The General Public License restrictions
+ do apply in other respects; for example, they cover modification of
+ the file, and distribution when not linked into a combined
+ executable.)
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+/* This file implements a few interface functions which are provided
+ for use with struct demangle_component trees. These functions are
+ declared in demangle.h. These functions are closely tied to the
+ demangler code in cp-demangle.c, and other interface functions can
+ be found in that file. We put these functions in a separate file
+ because they are not needed by the demangler, and so we avoid
+ having them pulled in by programs which only need the
+ demangler. */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include "ansidecl.h"
+#include "libiberty.h"
+#include "demangle.h"
+#include "cp-demangle.h"
+
+/* Fill in most component types. */
+
+int
+cplus_demangle_fill_component (p, type, left, right)
+ struct demangle_component *p;
+ enum demangle_component_type type;
+ struct demangle_component *left;
+ struct demangle_component *right;
+{
+ if (p == NULL)
+ return 0;
+ switch (type)
+ {
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+ case DEMANGLE_COMPONENT_LOCAL_NAME:
+ case DEMANGLE_COMPONENT_TYPED_NAME:
+ case DEMANGLE_COMPONENT_TEMPLATE:
+ case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+ case DEMANGLE_COMPONENT_FUNCTION_TYPE:
+ case DEMANGLE_COMPONENT_ARRAY_TYPE:
+ case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+ case DEMANGLE_COMPONENT_ARGLIST:
+ case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
+ case DEMANGLE_COMPONENT_UNARY:
+ case DEMANGLE_COMPONENT_BINARY:
+ case DEMANGLE_COMPONENT_BINARY_ARGS:
+ case DEMANGLE_COMPONENT_TRINARY:
+ case DEMANGLE_COMPONENT_TRINARY_ARG1:
+ case DEMANGLE_COMPONENT_TRINARY_ARG2:
+ case DEMANGLE_COMPONENT_LITERAL:
+ case DEMANGLE_COMPONENT_LITERAL_NEG:
+ break;
+
+ /* These component types only have one subtree. */
+ case DEMANGLE_COMPONENT_VTABLE:
+ case DEMANGLE_COMPONENT_VTT:
+ case DEMANGLE_COMPONENT_TYPEINFO:
+ case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+ case DEMANGLE_COMPONENT_TYPEINFO_FN:
+ case DEMANGLE_COMPONENT_THUNK:
+ case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+ case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+ case DEMANGLE_COMPONENT_JAVA_CLASS:
+ case DEMANGLE_COMPONENT_GUARD:
+ case DEMANGLE_COMPONENT_REFTEMP:
+ case DEMANGLE_COMPONENT_RESTRICT:
+ case DEMANGLE_COMPONENT_VOLATILE:
+ case DEMANGLE_COMPONENT_CONST:
+ case DEMANGLE_COMPONENT_RESTRICT_THIS:
+ case DEMANGLE_COMPONENT_VOLATILE_THIS:
+ case DEMANGLE_COMPONENT_CONST_THIS:
+ case DEMANGLE_COMPONENT_POINTER:
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_COMPLEX:
+ case DEMANGLE_COMPONENT_IMAGINARY:
+ case DEMANGLE_COMPONENT_VENDOR_TYPE:
+ case DEMANGLE_COMPONENT_CAST:
+ if (right != NULL)
+ return 0;
+ break;
+
+ default:
+ /* Other types do not use subtrees. */
+ return 0;
+ }
+
+ p->type = type;
+ p->u.s_binary.left = left;
+ p->u.s_binary.right = right;
+
+ return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE. */
+
+int
+cplus_demangle_fill_builtin_type (p, typename)
+ struct demangle_component *p;
+ const char *typename;
+{
+ int len;
+ unsigned int i;
+
+ if (p == NULL || typename == NULL)
+ return 0;
+ len = strlen (typename);
+ for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i)
+ {
+ if (len == cplus_demangle_builtin_types[i].len
+ && strcmp (typename, cplus_demangle_builtin_types[i].name) == 0)
+ {
+ p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
+ p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_OPERATOR. */
+
+int
+cplus_demangle_fill_operator (p, opname, args)
+ struct demangle_component *p;
+ const char *opname;
+ int args;
+{
+ int len;
+ unsigned int i;
+
+ if (p == NULL || opname == NULL)
+ return 0;
+ len = strlen (opname);
+ for (i = 0; cplus_demangle_operators[i].name != NULL; ++i)
+ {
+ if (len == cplus_demangle_operators[i].len
+ && args == cplus_demangle_operators[i].args
+ && strcmp (opname, cplus_demangle_operators[i].name) == 0)
+ {
+ p->type = DEMANGLE_COMPONENT_OPERATOR;
+ p->u.s_operator.op = &cplus_demangle_operators[i];
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/* Translate a mangled name into components. */
+
+struct demangle_component *
+cplus_demangle_v3_components (mangled, options, mem)
+ const char *mangled;
+ int options;
+ void **mem;
+{
+ size_t len;
+ int type;
+ struct d_info di;
+ struct demangle_component *dc;
+
+ len = strlen (mangled);
+
+ if (mangled[0] == '_' && mangled[1] == 'Z')
+ type = 0;
+ else
+ {
+ if ((options & DMGL_TYPES) == 0)
+ return NULL;
+ type = 1;
+ }
+
+ cplus_demangle_init_info (mangled, options, len, &di);
+
+ di.comps = ((struct demangle_component *)
+ malloc (di.num_comps * sizeof (struct demangle_component)));
+ di.subs = ((struct demangle_component **)
+ malloc (di.num_subs * sizeof (struct demangle_component *)));
+ if (di.comps == NULL || di.subs == NULL)
+ {
+ if (di.comps != NULL)
+ free (di.comps);
+ if (di.subs != NULL)
+ free (di.subs);
+ return NULL;
+ }
+
+ if (! type)
+ dc = cplus_demangle_mangled_name (&di, 1);
+ else
+ dc = cplus_demangle_type (&di);
+
+ /* If DMGL_PARAMS is set, then if we didn't consume the entire
+ mangled string, then we didn't successfully demangle it. */
+ if ((options & DMGL_PARAMS) != 0 && d_peek_char (&di) != '\0')
+ dc = NULL;
+
+ free (di.subs);
+
+ if (dc != NULL)
+ *mem = di.comps;
+ else
+ free (di.comps);
+
+ return dc;
+}
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index 5e2e7a7126..f3c4464f18 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -1,6 +1,6 @@
/* Demangler for GNU C++
Copyright 1989, 1991, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004 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
@@ -2318,6 +2318,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
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.*>" */
@@ -2330,6 +2331,12 @@ demangle_arm_hp_template (work, mangled, n, declp)
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)
{
@@ -2376,17 +2383,25 @@ demangle_arm_hp_template (work, mangled, n, 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) {
@@ -2430,7 +2445,10 @@ demangle_arm_hp_template (work, mangled, n, declp)
/* Fail if we didn't make any progress: prevent infinite loop. */
if (args == old_args)
- return;
+ {
+ work->options = hold_options;
+ return;
+ }
}
}
string_appends (declp, &arg);
@@ -2441,6 +2459,7 @@ demangle_arm_hp_template (work, mangled, n, declp)
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'
diff --git a/libiberty/getpwd.c b/libiberty/getpwd.c
index f508b1e21e..31c7d20f30 100644
--- a/libiberty/getpwd.c
+++ b/libiberty/getpwd.c
@@ -35,6 +35,9 @@ extern int errno;
#if HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
+#if HAVE_LIMITS_H
+#include <limits.h>
+#endif
/* Prototype these in case the system headers don't provide them. */
extern char *getpwd ();
diff --git a/libiberty/lbasename.c b/libiberty/lbasename.c
index 43cb73f0a1..200a87f238 100644
--- a/libiberty/lbasename.c
+++ b/libiberty/lbasename.c
@@ -40,25 +40,7 @@ and a path ending in @code{/} returns the empty string after it.
#include "ansidecl.h"
#include "libiberty.h"
#include "safe-ctype.h"
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) \
- || defined (__DJGPP__) || defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif
+#include "filenames.h"
const char *
lbasename (name)
diff --git a/libiberty/maint-tool b/libiberty/maint-tool
index 6b9bf7f2cd..bfc5304224 100644
--- a/libiberty/maint-tool
+++ b/libiberty/maint-tool
@@ -213,6 +213,12 @@ sub locals_first {
sub deps {
+ $crule = "\tif [ x\"\$(PICFLAG)\" != x ]; then \\\n";
+ $crule .= "\t \$(COMPILE.c) \$(PICFLAG) \$< -o pic/\$@; \\\n";
+ $crule .= "\telse true; fi\n";
+ $crule .= "\t\$(COMPILE.c) \$< \$(OUTPUT_OPTION)\n";
+ $crule .= "\n";
+
$incdir = shift @ARGV;
opendir(INC, $incdir);
@@ -260,10 +266,10 @@ sub deps {
@deps = sort { &locals_first($a,$b) } keys %scanned;
$obj = $f;
$obj =~ s/\.c$/.o/;
- $obj = "$obj:";
+ $obj = "./$obj:";
if ($#deps >= 0) {
- print OUT $obj;
- $len = length($obj);
+ print OUT "$obj \$(srcdir)/$f";
+ $len = length("$obj $f");
for $dt (@deps) {
$d = $mine{$dt};
if ($len + length($d) > 70) {
@@ -275,7 +281,12 @@ sub deps {
}
}
print OUT "\n";
+ } else {
+ print OUT "$obj \$(srcdir)/$f\n";
}
+ $c = $crule;
+ $c =~ s@\$\<@\$\(srcdir\)\/$f@g;
+ print OUT $c;
}
}
closedir(S);
diff --git a/libiberty/strdup.c b/libiberty/strdup.c
index 071a4a401a..a3f17d3bcb 100644
--- a/libiberty/strdup.c
+++ b/libiberty/strdup.c
@@ -22,7 +22,7 @@ extern PTR memcpy PARAMS ((PTR, const PTR, size_t));
char *
strdup(s)
- char *s;
+ const char *s;
{
size_t len = strlen (s) + 1;
char *result = (char*) malloc (len);
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index b39e2f4386..25e88309b7 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -1,2571 +1,3223 @@
# This file holds test cases for the demangler.
-# Each test consists of three lines in succession.
-# The first line is arguments to pass to the test filter program.
-# The second line is the mangled string.
-# The third line is the expected output.
-# A line starting with `#' is ignore.
-# However blank lines in this file are NOT ignored.
-#
---format=gnu
+# Each test case looks like this:
+# options
+# input to be demangled
+# expected output
+#
+# Supported options:
+# --format=<name> Sets the demangling style.
+# --no-params There are two lines of expected output; the first
+# is with DMGL_PARAMS, the second is without it.
+# --is-v3-ctor Calls is_gnu_v3_mangled_ctor on input; expected
+# output is an integer representing ctor_kind.
+# --is-v3-dtor Likewise, but for dtors.
+#
+# For compatibility, just in case it matters, the options line may be
+# empty, to mean --format=auto. If it doesn't start with --, then it
+# may contain only a format name.
+#
+# 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
+--format=gnu --no-params
ArrowheadIntersects__9ArrowLineP9ArrowheadR6BoxObjP7Graphic
ArrowLine::ArrowheadIntersects(Arrowhead *, BoxObj &, Graphic *)
+ArrowLine::ArrowheadIntersects
#
---format=gnu
+--format=gnu --no-params
AtEnd__13ivRubberGroup
ivRubberGroup::AtEnd(void)
+ivRubberGroup::AtEnd
#
---format=gnu
+--format=gnu --no-params
BgFilter__9ivTSolverP12ivInteractor
ivTSolver::BgFilter(ivInteractor *)
+ivTSolver::BgFilter
#
---format=gnu
+--format=gnu --no-params
Check__6UArrayi
UArray::Check(int)
+UArray::Check
#
---format=gnu
+--format=gnu --no-params
CoreConstDecls__8TextCodeR7ostream
TextCode::CoreConstDecls(ostream &)
+TextCode::CoreConstDecls
#
---format=gnu
+--format=gnu --no-params
Detach__8StateVarP12StateVarView
StateVar::Detach(StateVarView *)
+StateVar::Detach
#
---format=gnu
+--format=gnu --no-params
Done__9ComponentG8Iterator
Component::Done(Iterator)
+Component::Done
#
---format=gnu
+--format=gnu --no-params
Effect__11RelateManipR7ivEvent
RelateManip::Effect(ivEvent &)
+RelateManip::Effect
#
---format=gnu
+--format=gnu --no-params
FindFixed__FRP4CNetP4CNet
FindFixed(CNet *&, CNet *)
+FindFixed
#
---format=gnu
+--format=gnu --no-params
Fix48_abort__FR8twolongs
Fix48_abort(twolongs &)
+Fix48_abort
#
---format=gnu
+--format=gnu --no-params
GetBarInfo__15iv2_6_VScrollerP13ivPerspectiveRiT2
iv2_6_VScroller::GetBarInfo(ivPerspective *, int &, int &)
+iv2_6_VScroller::GetBarInfo
#
---format=gnu
+--format=gnu --no-params
GetBgColor__C9ivPainter
ivPainter::GetBgColor(void) const
+ivPainter::GetBgColor
#
---format=gnu
+--format=gnu --no-params
InsertBody__15H_PullrightMenuii
H_PullrightMenu::InsertBody(int, int)
+H_PullrightMenu::InsertBody
#
---format=gnu
+--format=gnu --no-params
InsertCharacter__9TextManipc
TextManip::InsertCharacter(char)
+TextManip::InsertCharacter
#
---format=gnu
+--format=gnu --no-params
InsertToplevel__7ivWorldP12ivInteractorT1
ivWorld::InsertToplevel(ivInteractor *, ivInteractor *)
+ivWorld::InsertToplevel
#
---format=gnu
+--format=gnu --no-params
InsertToplevel__7ivWorldP12ivInteractorT1iiUi
ivWorld::InsertToplevel(ivInteractor *, ivInteractor *, int, int, unsigned int)
+ivWorld::InsertToplevel
#
---format=gnu
+--format=gnu --no-params
IsAGroup__FP11GraphicViewP11GraphicComp
IsAGroup(GraphicView *, GraphicComp *)
+IsAGroup
#
---format=gnu
+--format=gnu --no-params
IsA__10ButtonCodeUl
ButtonCode::IsA(unsigned long)
+ButtonCode::IsA
#
---format=gnu
+--format=gnu --no-params
ReadName__FR7istreamPc
ReadName(istream &, char *)
+ReadName
#
---format=gnu
+--format=gnu --no-params
Redraw__13StringBrowseriiii
StringBrowser::Redraw(int, int, int, int)
+StringBrowser::Redraw
#
---format=gnu
+--format=gnu --no-params
Rotate__13ivTransformerf
ivTransformer::Rotate(float)
+ivTransformer::Rotate
#
---format=gnu
+--format=gnu --no-params
Rotated__C13ivTransformerf
ivTransformer::Rotated(float) const
+ivTransformer::Rotated
#
---format=gnu
+--format=gnu --no-params
Round__Ff
Round(float)
+Round
#
---format=gnu
+--format=gnu --no-params
SetExport__16MemberSharedNameUi
MemberSharedName::SetExport(unsigned int)
+MemberSharedName::SetExport
#
---format=gnu
+--format=gnu --no-params
Set__14ivControlState13ControlStatusUi
ivControlState::Set(ControlStatus, unsigned int)
+ivControlState::Set
#
---format=gnu
+--format=gnu --no-params
Set__5DFacePcii
DFace::Set(char *, int, int)
+DFace::Set
#
---format=gnu
+--format=gnu --no-params
VConvert__9ivTSolverP12ivInteractorRP8TElementT2
ivTSolver::VConvert(ivInteractor *, TElement *&, TElement *&)
+ivTSolver::VConvert
#
---format=gnu
+--format=gnu --no-params
VConvert__9ivTSolverP7ivTGlueRP8TElement
ivTSolver::VConvert(ivTGlue *, TElement *&)
+ivTSolver::VConvert
#
---format=gnu
+--format=gnu --no-params
VOrder__9ivTSolverUiRP12ivInteractorT2
ivTSolver::VOrder(unsigned int, ivInteractor *&, ivInteractor *&)
+ivTSolver::VOrder
#
---format=gnu
+--format=gnu --no-params
_10PageButton$__both
PageButton::__both
+PageButton::__both
#
---format=gnu
+--format=gnu --no-params
_3RNG$singleMantissa
RNG::singleMantissa
+RNG::singleMantissa
#
---format=gnu
+--format=gnu --no-params
_5IComp$_release
IComp::_release
+IComp::_release
#
---format=gnu
+--format=gnu --no-params
_$_10BitmapComp
BitmapComp::~BitmapComp(void)
+BitmapComp::~BitmapComp
#
---format=gnu
+--format=gnu --no-params
_$_9__io_defs
__io_defs::~__io_defs(void)
+__io_defs::~__io_defs
#
---format=gnu
+--format=gnu --no-params
_$_Q23foo3bar
foo::bar::~bar(void)
+foo::bar::~bar
#
---format=gnu
+--format=gnu --no-params
_$_Q33foo3bar4bell
foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
#
---format=gnu
+--format=gnu --no-params
__10ivTelltaleiP7ivGlyph
ivTelltale::ivTelltale(int, ivGlyph *)
+ivTelltale::ivTelltale
#
---format=gnu
+--format=gnu --no-params
__10ivViewportiP12ivInteractorUi
ivViewport::ivViewport(int, ivInteractor *, unsigned int)
+ivViewport::ivViewport
#
---format=gnu
+--format=gnu --no-params
__10ostrstream
ostrstream::ostrstream(void)
+ostrstream::ostrstream
#
---format=gnu
+--format=gnu --no-params
__10ostrstreamPcii
ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
#
---format=gnu
+--format=gnu --no-params
__11BitmapTablei
BitmapTable::BitmapTable(int)
+BitmapTable::BitmapTable
#
---format=gnu
+--format=gnu --no-params
__12ViewportCodeP12ViewportComp
ViewportCode::ViewportCode(ViewportComp *)
+ViewportCode::ViewportCode
#
---format=gnu
+--format=gnu --no-params
__12iv2_6_Borderii
iv2_6_Border::iv2_6_Border(int, int)
+iv2_6_Border::iv2_6_Border
#
---format=gnu
+--format=gnu --no-params
__12ivBreak_Listl
ivBreak_List::ivBreak_List(long)
+ivBreak_List::ivBreak_List
#
---format=gnu
+--format=gnu --no-params
__14iv2_6_MenuItemiP12ivInteractor
iv2_6_MenuItem::iv2_6_MenuItem(int, ivInteractor *)
+iv2_6_MenuItem::iv2_6_MenuItem
#
---format=gnu
+--format=gnu --no-params
__20DisplayList_IteratorR11DisplayList
DisplayList_Iterator::DisplayList_Iterator(DisplayList &)
+DisplayList_Iterator::DisplayList_Iterator
#
---format=gnu
+--format=gnu --no-params
__3fooRT0
foo::foo(foo &)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__3fooiN31
foo::foo(int, int, int, int)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__3fooiRT0iT2iT2
foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
#
---format=gnu
+--format=gnu --no-params
__6KeyMapPT0
KeyMap::KeyMap(KeyMap *)
+KeyMap::KeyMap
#
---format=gnu
+--format=gnu --no-params
__8ArrowCmdP6EditorUiUi
ArrowCmd::ArrowCmd(Editor *, unsigned int, unsigned int)
+ArrowCmd::ArrowCmd
#
---format=gnu
+--format=gnu --no-params
__9F_EllipseiiiiP7Graphic
F_Ellipse::F_Ellipse(int, int, int, int, Graphic *)
+F_Ellipse::F_Ellipse
#
---format=gnu
+--format=gnu --no-params
__9FrameDataP9FrameCompi
FrameData::FrameData(FrameComp *, int)
+FrameData::FrameData
#
---format=gnu
+--format=gnu --no-params
__9HVGraphicP9CanvasVarP7Graphic
HVGraphic::HVGraphic(CanvasVar *, Graphic *)
+HVGraphic::HVGraphic
#
---format=gnu
+--format=gnu --no-params
__Q23foo3bar
foo::bar::bar(void)
+foo::bar::bar
#
---format=gnu
+--format=gnu --no-params
__Q33foo3bar4bell
foo::bar::bell::bell(void)
+foo::bar::bell::bell
#
---format=gnu
+--format=gnu --no-params
__aa__3fooRT0
foo::operator&&(foo &)
+foo::operator&&
#
---format=gnu
+--format=gnu --no-params
__aad__3fooRT0
foo::operator&=(foo &)
+foo::operator&=
#
---format=gnu
+--format=gnu --no-params
__ad__3fooRT0
foo::operator&(foo &)
+foo::operator&
#
---format=gnu
+--format=gnu --no-params
__adv__3fooRT0
foo::operator/=(foo &)
+foo::operator/=
#
---format=gnu
+--format=gnu --no-params
__aer__3fooRT0
foo::operator^=(foo &)
+foo::operator^=
#
---format=gnu
+--format=gnu --no-params
__als__3fooRT0
foo::operator<<=(foo &)
+foo::operator<<=
#
---format=gnu
+--format=gnu --no-params
__amd__3fooRT0
foo::operator%=(foo &)
+foo::operator%=
#
---format=gnu
+--format=gnu --no-params
__ami__3fooRT0
foo::operator-=(foo &)
+foo::operator-=
#
---format=gnu
+--format=gnu --no-params
__aml__3FixRT0
Fix::operator*=(Fix &)
+Fix::operator*=
#
---format=gnu
+--format=gnu --no-params
__aml__5Fix16i
Fix16::operator*=(int)
+Fix16::operator*=
#
---format=gnu
+--format=gnu --no-params
__aml__5Fix32RT0
Fix32::operator*=(Fix32 &)
+Fix32::operator*=
#
---format=gnu
+--format=gnu --no-params
__aor__3fooRT0
foo::operator|=(foo &)
+foo::operator|=
#
---format=gnu
+--format=gnu --no-params
__apl__3fooRT0
foo::operator+=(foo &)
+foo::operator+=
#
---format=gnu
+--format=gnu --no-params
__ars__3fooRT0
foo::operator>>=(foo &)
+foo::operator>>=
#
---format=gnu
+--format=gnu --no-params
__as__3fooRT0
foo::operator=(foo &)
+foo::operator=
#
---format=gnu
+--format=gnu --no-params
__cl__3fooRT0
foo::operator()(foo &)
+foo::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__6Normal
Normal::operator()(void)
+Normal::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__6Stringii
String::operator()(int, int)
+String::operator()
#
---format=gnu
+--format=gnu --no-params
__cm__3fooRT0
foo::operator, (foo &)
+foo::operator,
#
---format=gnu
+--format=gnu --no-params
__co__3foo
foo::operator~(void)
+foo::operator~
#
---format=gnu
+--format=gnu --no-params
__dl__3fooPv
foo::operator delete(void *)
+foo::operator delete
#
---format=gnu
+--format=gnu --no-params
__dv__3fooRT0
foo::operator/(foo &)
+foo::operator/
#
---format=gnu
+--format=gnu --no-params
__eq__3fooRT0
foo::operator==(foo &)
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
__er__3fooRT0
foo::operator^(foo &)
+foo::operator^
#
---format=gnu
+--format=gnu --no-params
__ge__3fooRT0
foo::operator>=(foo &)
+foo::operator>=
#
---format=gnu
+--format=gnu --no-params
__gt__3fooRT0
foo::operator>(foo &)
+foo::operator>
#
---format=gnu
+--format=gnu --no-params
__le__3fooRT0
foo::operator<=(foo &)
+foo::operator<=
#
---format=gnu
+--format=gnu --no-params
__ls__3fooRT0
foo::operator<<(foo &)
+foo::operator<<
#
---format=gnu
+--format=gnu --no-params
__ls__FR7ostreamPFR3ios_R3ios
operator<<(ostream &, ios &(*)(ios &))
+operator<<
#
---format=gnu
+--format=gnu --no-params
__ls__FR7ostreamR3Fix
operator<<(ostream &, Fix &)
+operator<<
#
---format=gnu
+--format=gnu --no-params
__lt__3fooRT0
foo::operator<(foo &)
+foo::operator<
#
---format=gnu
+--format=gnu --no-params
__md__3fooRT0
foo::operator%(foo &)
+foo::operator%
#
---format=gnu
+--format=gnu --no-params
__mi__3fooRT0
foo::operator-(foo &)
+foo::operator-
#
---format=gnu
+--format=gnu --no-params
__ml__3fooRT0
foo::operator*(foo &)
+foo::operator*
#
---format=gnu
+--format=gnu --no-params
__mm__3fooi
foo::operator--(int)
+foo::operator--
#
---format=gnu
+--format=gnu --no-params
__ne__3fooRT0
foo::operator!=(foo &)
+foo::operator!=
#
---format=gnu
+--format=gnu --no-params
__nt__3foo
foo::operator!(void)
+foo::operator!
#
---format=gnu
+--format=gnu --no-params
__nw__3fooi
foo::operator new(int)
+foo::operator new
#
---format=gnu
+--format=gnu --no-params
__oo__3fooRT0
foo::operator||(foo &)
+foo::operator||
#
---format=gnu
+--format=gnu --no-params
__opPc__3foo
foo::operator char *(void)
+foo::operator char *
#
---format=gnu
+--format=gnu --no-params
__opi__3foo
foo::operator int(void)
+foo::operator int
#
---format=gnu
+--format=gnu --no-params
__or__3fooRT0
foo::operator|(foo &)
+foo::operator|
#
---format=gnu
+--format=gnu --no-params
__pl__3fooRT0
foo::operator+(foo &)
+foo::operator+
#
---format=gnu
+--format=gnu --no-params
__pp__3fooi
foo::operator++(int)
+foo::operator++
#
---format=gnu
+--format=gnu --no-params
__rf__3foo
foo::operator->(void)
+foo::operator->
#
---format=gnu
+--format=gnu --no-params
__rm__3fooRT0
foo::operator->*(foo &)
+foo::operator->*
#
---format=gnu
+--format=gnu --no-params
__rs__3fooRT0
foo::operator>>(foo &)
+foo::operator>>
#
---format=gnu
+--format=gnu --no-params
_new_Fix__FUs
_new_Fix(unsigned short)
+_new_Fix
#
---format=gnu
+--format=gnu --no-params
_vt.foo
foo virtual table
+foo virtual table
#
---format=gnu
+--format=gnu --no-params
_vt.foo.bar
foo::bar virtual table
+foo::bar virtual table
#
---format=gnu
+--format=gnu --no-params
_vt$foo
foo virtual table
+foo virtual table
#
---format=gnu
+--format=gnu --no-params
_vt$foo$bar
foo::bar virtual table
+foo::bar virtual table
#
---format=gnu
+--format=gnu --no-params
append__7ivGlyphPT0
ivGlyph::append(ivGlyph *)
+ivGlyph::append
#
---format=gnu
+--format=gnu --no-params
clearok__FP7_win_sti
clearok(_win_st *, int)
+clearok
#
---format=gnu
+--format=gnu --no-params
complexfunc2__FPFPc_i
complexfunc2(int (*)(char *))
+complexfunc2
#
---format=gnu
+--format=gnu --no-params
complexfunc3__FPFPFPl_s_i
complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
#
---format=gnu
+--format=gnu --no-params
complexfunc4__FPFPFPc_s_i
complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
#
---format=gnu
+--format=gnu --no-params
complexfunc5__FPFPc_PFl_i
complexfunc5(int (*(*)(char *))(long))
+complexfunc5
#
---format=gnu
+--format=gnu --no-params
complexfunc6__FPFPi_PFl_i
complexfunc6(int (*(*)(int *))(long))
+complexfunc6
#
---format=gnu
+--format=gnu --no-params
complexfunc7__FPFPFPc_i_PFl_i
complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
#
---format=gnu
+--format=gnu --no-params
foo__FiN30
foo(int, int, int, int)
+foo
#
---format=gnu
+--format=gnu --no-params
foo__FiR3fooiT1iT1
foo(int, foo &, int, foo &, int, foo &)
+foo
#
---format=gnu
+--format=gnu --no-params
foo___3barl
bar::foo_(long)
+bar::foo_
#
---format=gnu
+--format=gnu --no-params
insert__15ivClippingStacklRP8_XRegion
ivClippingStack::insert(long, _XRegion *&)
+ivClippingStack::insert
#
---format=gnu
+--format=gnu --no-params
insert__16ChooserInfo_ListlR11ChooserInfo
ChooserInfo_List::insert(long, ChooserInfo &)
+ChooserInfo_List::insert
#
---format=gnu
+--format=gnu --no-params
insert__17FontFamilyRepListlRP15ivFontFamilyRep
FontFamilyRepList::insert(long, ivFontFamilyRep *&)
+FontFamilyRepList::insert
#
---format=gnu
+--format=gnu --no-params
leaveok__FP7_win_stc
leaveok(_win_st *, char)
+leaveok
#
---format=gnu
+--format=gnu --no-params
left_mover__C7ivMFKitP12ivAdjustableP7ivStyle
ivMFKit::left_mover(ivAdjustable *, ivStyle *) const
+ivMFKit::left_mover
#
---format=gnu
+--format=gnu --no-params
overload1arg__FSc
overload1arg(signed char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUc
overload1arg(unsigned char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUi
overload1arg(unsigned int)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUl
overload1arg(unsigned long)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__FUs
overload1arg(unsigned short)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fc
overload1arg(char)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fd
overload1arg(double)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Ff
overload1arg(float)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fi
overload1arg(int)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fl
overload1arg(long)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fs
overload1arg(short)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overload1arg__Fv
overload1arg(void)
+overload1arg
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fi
overloadargs(int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fii
overloadargs(int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiii
overloadargs(int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiii
overloadargs(int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiii
overloadargs(int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiii
overloadargs(int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiii
overloadargs(int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiii
overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
overloadargs__Fiiiiiiiiiii
overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=gnu
+--format=gnu --no-params
poke__8ivRasterUlUlffff
ivRaster::poke(unsigned long, unsigned long, float, float, float, float)
+ivRaster::poke
#
---format=gnu
+--format=gnu --no-params
polar__Fdd
polar(double, double)
+polar
#
---format=gnu
+--format=gnu --no-params
scale__13ivTransformerff
ivTransformer::scale(float, float)
+ivTransformer::scale
#
---format=gnu
+--format=gnu --no-params
sgetn__7filebufPci
filebuf::sgetn(char *, int)
+filebuf::sgetn
#
---format=gnu
+--format=gnu --no-params
shift__FP5_FrepiT0
shift(_Frep *, int, _Frep *)
+shift
#
---format=gnu
+--format=gnu --no-params
test__C6BitSeti
BitSet::test(int) const
+BitSet::test
#
---format=gnu
+--format=gnu --no-params
test__C6BitSetii
BitSet::test(int, int) const
+BitSet::test
#
---format=gnu
+--format=gnu --no-params
text_source__8Documentl
Document::text_source(long)
+Document::text_source
#
---format=gnu
+--format=gnu --no-params
variance__6Erlangd
Erlang::variance(double)
+Erlang::variance
#
---format=gnu
+--format=gnu --no-params
view__14DocumentViewerP8ItemViewP11TabularItem
DocumentViewer::view(ItemView *, TabularItem *)
+DocumentViewer::view
#
---format=gnu
+--format=gnu --no-params
xy_extents__11ivExtensionffff
ivExtension::xy_extents(float, float, float, float)
+ivExtension::xy_extents
#
---format=gnu
+--format=gnu --no-params
zero__8osMemoryPvUi
osMemory::zero(void *, unsigned int)
+osMemory::zero
#
---format=gnu
+--format=gnu --no-params
_2T4$N
T4::N
+T4::N
#
---format=gnu
+--format=gnu --no-params
_Q22T42t1$N
T4::t1::N
+T4::t1::N
#
---format=gnu
+--format=gnu --no-params
get__2T1
T1::get(void)
+T1::get
#
---format=gnu
+--format=gnu --no-params
get__Q22T11a
T1::a::get(void)
+T1::a::get
#
---format=gnu
+--format=gnu --no-params
get__Q32T11a1b
T1::a::b::get(void)
+T1::a::b::get
#
---format=gnu
+--format=gnu --no-params
get__Q42T11a1b1c
T1::a::b::c::get(void)
+T1::a::b::c::get
#
---format=gnu
+--format=gnu --no-params
get__Q52T11a1b1c1d
T1::a::b::c::d::get(void)
+T1::a::b::c::d::get
#
---format=gnu
+--format=gnu --no-params
put__2T1i
T1::put(int)
+T1::put
#
---format=gnu
+--format=gnu --no-params
put__Q22T11ai
T1::a::put(int)
+T1::a::put
#
---format=gnu
+--format=gnu --no-params
put__Q32T11a1bi
T1::a::b::put(int)
+T1::a::b::put
#
---format=gnu
+--format=gnu --no-params
put__Q42T11a1b1ci
T1::a::b::c::put(int)
+T1::a::b::c::put
#
---format=gnu
+--format=gnu --no-params
put__Q52T11a1b1c1di
T1::a::b::c::d::put(int)
+T1::a::b::c::d::put
#
---format=gnu
+--format=gnu --no-params
bar__3fooPv
foo::bar(void *)
+foo::bar
#
---format=gnu
+--format=gnu --no-params
bar__C3fooPv
foo::bar(void *) const
+foo::bar
#
---format=gnu
+--format=gnu --no-params
__eq__3fooRT0
foo::operator==(foo &)
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
__eq__C3fooR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=gnu
+--format=gnu --no-params
elem__t6vector1Zdi
vector<double>::elem(int)
+vector<double>::elem
#
---format=gnu
+--format=gnu --no-params
elem__t6vector1Zii
vector<int>::elem(int)
+vector<int>::elem
#
---format=gnu
+--format=gnu --no-params
__t6vector1Zdi
vector<double>::vector(int)
+vector<double>::vector
#
---format=gnu
+--format=gnu --no-params
__t6vector1Zii
vector<int>::vector(int)
+vector<int>::vector
#
---format=gnu
+--format=gnu --no-params
_$_t6vector1Zdi
vector<double>::~vector(int)
+vector<double>::~vector
#
---format=gnu
+--format=gnu --no-params
_$_t6vector1Zii
vector<int>::~vector(int)
+vector<int>::~vector
#
---format=gnu
+--format=gnu --no-params
__nw__t2T11ZcUi
T1<char>::operator new(unsigned int)
+T1<char>::operator new
#
---format=gnu
+--format=gnu --no-params
__nw__t2T11Z1tUi
T1<t>::operator new(unsigned int)
+T1<t>::operator new
#
---format=gnu
+--format=gnu --no-params
__dl__t2T11ZcPv
T1<char>::operator delete(void *)
+T1<char>::operator delete
#
---format=gnu
+--format=gnu --no-params
__dl__t2T11Z1tPv
T1<t>::operator delete(void *)
+T1<t>::operator delete
#
---format=gnu
+--format=gnu --no-params
__t2T11Zci
T1<char>::T1(int)
+T1<char>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Zc
T1<char>::T1(void)
+T1<char>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Z1ti
T1<t>::T1(int)
+T1<t>::T1
#
---format=gnu
+--format=gnu --no-params
__t2T11Z1t
T1<t>::T1(void)
+T1<t>::T1
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::Pix::Pix(void)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3PixPQ2t4List1Z10VHDLEntity7element
List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::element *)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity3PixRCQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::Pix::Pix(List<VHDLEntity>::Pix const &)
+List<VHDLEntity>::Pix::Pix
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity7elementRC10VHDLEntityPT0
List<VHDLEntity>::element::element(VHDLEntity const &, List<VHDLEntity>::element *)
+List<VHDLEntity>::element::element
#
---format=gnu
+--format=gnu --no-params
__Q2t4List1Z10VHDLEntity7elementRCQ2t4List1Z10VHDLEntity7element
List<VHDLEntity>::element::element(List<VHDLEntity>::element const &)
+List<VHDLEntity>::element::element
#
---format=gnu
+--format=gnu --no-params
__cl__C11VHDLLibraryGt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
VHDLLibrary::operator()(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >) const
+VHDLLibrary::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__Ct4List1Z10VHDLEntityRCQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::operator()(List<VHDLEntity>::Pix const &) const
+List<VHDLEntity>::operator()
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ2t4List1Z10VHDLEntity3Pix
operator!=(void *, List<VHDLEntity>::Pix const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
operator!=(void *, PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__t4List1Z10VHDLEntityRCt4List1Z10VHDLEntity
List<VHDLEntity>::List(List<VHDLEntity> const &)
+List<VHDLEntity>::List
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(void)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityP14VHDLLibraryRepGQ2t4List1Z10VHDLEntity3Pix
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(VHDLLibraryRep *, List<VHDLEntity>::Pix)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
__t4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntityRCt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > const &)
+PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> >::PixX
#
---format=gnu
+--format=gnu --no-params
nextE__C11VHDLLibraryRt4PixX3Z11VHDLLibraryZ14VHDLLibraryRepZt4List1Z10VHDLEntity
VHDLLibrary::nextE(PixX<VHDLLibrary, VHDLLibraryRep, List<VHDLEntity> > &) const
+VHDLLibrary::nextE
#
---format=gnu
+--format=gnu --no-params
next__Ct4List1Z10VHDLEntityRQ2t4List1Z10VHDLEntity3Pix
List<VHDLEntity>::next(List<VHDLEntity>::Pix &) const
+List<VHDLEntity>::next
#
---format=gnu
+--format=gnu --no-params
_GLOBAL_$D$set
global destructors keyed to set
+global destructors keyed to set
#
---format=gnu
+--format=gnu --no-params
_GLOBAL_$I$set
global constructors keyed to set
+global constructors keyed to set
#
---format=gnu
+--format=gnu --no-params
__as__t5ListS1ZUiRCt5ListS1ZUi
ListS<unsigned int>::operator=(ListS<unsigned int> const &)
+ListS<unsigned int>::operator=
#
---format=gnu
+--format=gnu --no-params
__cl__Ct5ListS1ZUiRCQ2t5ListS1ZUi3Vix
ListS<unsigned int>::operator()(ListS<unsigned int>::Vix const &) const
+ListS<unsigned int>::operator()
#
---format=gnu
+--format=gnu --no-params
__cl__Ct5SetLS1ZUiRCQ2t5SetLS1ZUi3Vix
SetLS<unsigned int>::operator()(SetLS<unsigned int>::Vix const &) const
+SetLS<unsigned int>::operator()
#
---format=gnu
+--format=gnu --no-params
__t10ListS_link1ZUiRCUiPT0
ListS_link<unsigned int>::ListS_link(unsigned int const &, ListS_link<unsigned int> *)
+ListS_link<unsigned int>::ListS_link
#
---format=gnu
+--format=gnu --no-params
__t10ListS_link1ZUiRCt10ListS_link1ZUi
ListS_link<unsigned int>::ListS_link(ListS_link<unsigned int> const &)
+ListS_link<unsigned int>::ListS_link
#
---format=gnu
+--format=gnu --no-params
__t5ListS1ZUiRCt5ListS1ZUi
ListS<unsigned int>::ListS(ListS<unsigned int> const &)
+ListS<unsigned int>::ListS
#
---format=gnu
+--format=gnu --no-params
next__Ct5ListS1ZUiRQ2t5ListS1ZUi3Vix
ListS<unsigned int>::next(ListS<unsigned int>::Vix &) const
+ListS<unsigned int>::next
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ2t5SetLS1ZUi3Vix
operator!=(void *, SetLS<unsigned int>::Vix const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__t8ListElem1Z5LabelRt4List1Z5Label
ListElem<Label>::ListElem(List<Label> &)
+ListElem<Label>::ListElem
#
---format=gnu
+--format=gnu --no-params
__t8BDDHookV1ZPcRCPc
BDDHookV<char *>::BDDHookV(char *const &)
+BDDHookV<char *>::BDDHookV
#
---format=gnu
+--format=gnu --no-params
_vt$t8BDDHookV1ZPc
BDDHookV<char *> virtual table
+BDDHookV<char *> virtual table
#
---format=gnu
+--format=gnu --no-params
__ne__FPvRCQ211BDDFunction4VixB
operator!=(void *, BDDFunction::VixB const &)
+operator!=
#
---format=gnu
+--format=gnu --no-params
__eq__FPvRCQ211BDDFunction4VixB
operator==(void *, BDDFunction::VixB const &)
+operator==
#
---format=gnu
+--format=gnu --no-params
relativeId__CQ36T_phi210T_preserve8FPC_nextRCQ26T_phi210T_preserveRC10Parameters
T_phi2::T_preserve::FPC_next::relativeId(T_phi2::T_preserve const &, Parameters const &) const
+T_phi2::T_preserve::FPC_next::relativeId
#
---format=lucid
+--format=lucid --no-params
WS__FR7istream
WS(istream &)
+WS
#
---format=lucid
+--format=lucid --no-params
__aa__3fooFR3foo
foo::operator&&(foo &)
+foo::operator&&
#
---format=lucid
+--format=lucid --no-params
__aad__3fooFR3foo
foo::operator&=(foo &)
+foo::operator&=
#
---format=lucid
+--format=lucid --no-params
__ad__3fooFR3foo
foo::operator&(foo &)
+foo::operator&
#
---format=lucid
+--format=lucid --no-params
__adv__3fooFR3foo
foo::operator/=(foo &)
+foo::operator/=
#
---format=lucid
+--format=lucid --no-params
__adv__7complexF7complex
complex::operator/=(complex)
+complex::operator/=
#
---format=lucid
+--format=lucid --no-params
__aer__3fooFR3foo
foo::operator^=(foo &)
+foo::operator^=
#
---format=lucid
+--format=lucid --no-params
__als__3fooFR3foo
foo::operator<<=(foo &)
+foo::operator<<=
#
---format=lucid
+--format=lucid --no-params
__amd__3fooFR3foo
foo::operator%=(foo &)
+foo::operator%=
#
---format=lucid
+--format=lucid --no-params
__ami__3fooFR3foo
foo::operator-=(foo &)
+foo::operator-=
#
---format=lucid
+--format=lucid --no-params
__amu__3fooFR3foo
foo::operator*=(foo &)
+foo::operator*=
#
---format=lucid
+--format=lucid --no-params
__amu__7complexF7complex
complex::operator*=(complex)
+complex::operator*=
#
---format=lucid
+--format=lucid --no-params
__aor__3fooFR3foo
foo::operator|=(foo &)
+foo::operator|=
#
---format=lucid
+--format=lucid --no-params
__apl__3fooFR3foo
foo::operator+=(foo &)
+foo::operator+=
#
---format=lucid
+--format=lucid --no-params
__ars__3fooFR3foo
foo::operator>>=(foo &)
+foo::operator>>=
#
---format=lucid
+--format=lucid --no-params
__as__18istream_withassignFP9streambuf
istream_withassign::operator=(streambuf *)
+istream_withassign::operator=
#
---format=lucid
+--format=lucid --no-params
__as__18istream_withassignFR7istream
istream_withassign::operator=(istream &)
+istream_withassign::operator=
#
---format=lucid
+--format=lucid --no-params
__as__3fooFR3foo
foo::operator=(foo &)
+foo::operator=
#
---format=lucid
+--format=lucid --no-params
__as__3iosFR3ios
ios::operator=(ios &)
+ios::operator=
#
---format=lucid
+--format=lucid --no-params
__cl__3fooFR3foo
foo::operator()(foo &)
+foo::operator()
#
---format=lucid
+--format=lucid --no-params
__cm__3fooFR3foo
foo::operator, (foo &)
+foo::operator,
#
---format=lucid
+--format=lucid --no-params
__co__3fooFv
foo::operator~(void)
+foo::operator~
#
---format=lucid
+--format=lucid --no-params
__ct__10istrstreamFPc
istrstream::istrstream(char *)
+istrstream::istrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10istrstreamFPci
istrstream::istrstream(char *, int)
+istrstream::istrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10ostrstreamFPciT2
ostrstream::ostrstream(char *, int, int)
+ostrstream::ostrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10ostrstreamFv
ostrstream::ostrstream(void)
+ostrstream::ostrstream
#
---format=lucid
+--format=lucid --no-params
__ct__10smanip_intFPFR3iosi_R3iosi
smanip_int::smanip_int(ios &(*)(ios &, int), int)
+smanip_int::smanip_int
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFi
fstreambase::fstreambase(int)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFiPcT1
fstreambase::fstreambase(int, char *, int)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11fstreambaseFv
fstreambase::fstreambase(void)
+fstreambase::fstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__11smanip_longFPFR3iosl_R3iosl
smanip_long::smanip_long(ios &(*)(ios &, long), long)
+smanip_long::smanip_long
#
---format=lucid
+--format=lucid --no-params
__ct__11stdiostreamFP4FILE
stdiostream::stdiostream(FILE *)
+stdiostream::stdiostream
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPFl_PvPFPv_v
strstreambuf::strstreambuf(void *(*)(long), void (*)(void *))
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPUciT1
strstreambuf::strstreambuf(unsigned char *, int, unsigned char *)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFPciT1
strstreambuf::strstreambuf(char *, int, char *)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFi
strstreambuf::strstreambuf(int)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__12strstreambufFv
strstreambuf::strstreambuf(void)
+strstreambuf::strstreambuf
#
---format=lucid
+--format=lucid --no-params
__ct__13strstreambaseFPciT1
strstreambase::strstreambase(char *, int, char *)
+strstreambase::strstreambase
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFR3foo
foo::foo(foo &)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFi
foo::foo(int)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFiN31
foo::foo(int, int, int, int)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3fooFiR3fooT1T2T1T2
foo::foo(int, foo &, int, foo &, int, foo &)
+foo::foo
#
---format=lucid
+--format=lucid --no-params
__ct__3iosFP9streambuf
ios::ios(streambuf *)
+ios::ios
#
---format=lucid
+--format=lucid --no-params
__ct__7filebufFiPcT1
filebuf::filebuf(int, char *, int)
+filebuf::filebuf
#
---format=lucid
+--format=lucid --no-params
__ct__7fstreamFiPcT1
fstream::fstream(int, char *, int)
+fstream::fstream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFP9streambuf
istream::istream(streambuf *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFP9streambufiP7ostream
istream::istream(streambuf *, int, ostream *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFiPcT1
istream::istream(int, char *, int)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7istreamFiT1P7ostream
istream::istream(int, int, ostream *)
+istream::istream
#
---format=lucid
+--format=lucid --no-params
__ct__7ostreamFP9streambuf
ostream::ostream(streambuf *)
+ostream::ostream
#
---format=lucid
+--format=lucid --no-params
__ct__7ostreamFiPc
ostream::ostream(int, char *)
+ostream::ostream
#
---format=lucid
+--format=lucid --no-params
__ct__8ifstreamFiPcT1
ifstream::ifstream(int, char *, int)
+ifstream::ifstream
#
---format=lucid
+--format=lucid --no-params
__ct__Q23foo3barFv
foo::bar::bar(void)
+foo::bar::bar
#
---format=lucid
+--format=lucid --no-params
__ct__Q33foo3bar4bellFv
foo::bar::bell::bell(void)
+foo::bar::bell::bell
#
---format=lucid
+--format=lucid --no-params
__dl__3fooSFPv
foo::operator delete(void *) static
+foo::operator delete
#
---format=lucid
+--format=lucid --no-params
__dl__FPv
operator delete(void *)
+operator delete
#
---format=lucid
+--format=lucid --no-params
__dt__10istrstreamFv
istrstream::~istrstream(void)
+istrstream::~istrstream
#
---format=lucid
+--format=lucid --no-params
__dt__Q23foo3barFv
foo::bar::~bar(void)
+foo::bar::~bar
#
---format=lucid
+--format=lucid --no-params
__dt__Q33foo3bar4bellFv
foo::bar::bell::~bell(void)
+foo::bar::bell::~bell
#
---format=lucid
+--format=lucid --no-params
__dv__3fooFR3foo
foo::operator/(foo &)
+foo::operator/
#
---format=lucid
+--format=lucid --no-params
__dv__F7complexT1
operator/(complex, complex)
+operator/
#
---format=lucid
+--format=lucid --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=lucid
+--format=lucid --no-params
__er__3fooFR3foo
foo::operator^(foo &)
+foo::operator^
#
---format=lucid
+--format=lucid --no-params
__ge__3fooFR3foo
foo::operator>=(foo &)
+foo::operator>=
#
---format=lucid
+--format=lucid --no-params
__gt__3fooFR3foo
foo::operator>(foo &)
+foo::operator>
#
---format=lucid
+--format=lucid --no-params
__le__3fooFR3foo
foo::operator<=(foo &)
+foo::operator<=
#
---format=lucid
+--format=lucid --no-params
__ls__3fooFR3foo
foo::operator<<(foo &)
+foo::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFP9streambuf
ostream::operator<<(streambuf *)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFPFR3ios_R3ios
ostream::operator<<(ios &(*)(ios &))
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFPv
ostream::operator<<(void *)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFUi
ostream::operator<<(unsigned int)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFUl
ostream::operator<<(unsigned long)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFd
ostream::operator<<(double)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFf
ostream::operator<<(float)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFi
ostream::operator<<(int)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__7ostreamFl
ostream::operator<<(long)
+ostream::operator<<
#
---format=lucid
+--format=lucid --no-params
__ls__FR7ostream7complex
operator<<(ostream &, complex)
+operator<<
#
---format=lucid
+--format=lucid --no-params
__lt__3fooFR3foo
foo::operator<(foo &)
+foo::operator<
#
---format=lucid
+--format=lucid --no-params
__md__3fooFR3foo
foo::operator%(foo &)
+foo::operator%
#
---format=lucid
+--format=lucid --no-params
__mi__3fooFR3foo
foo::operator-(foo &)
+foo::operator-
#
---format=lucid
+--format=lucid --no-params
__ml__3fooFR3foo
foo::operator*(foo &)
+foo::operator*
#
---format=lucid
+--format=lucid --no-params
__ml__F7complexT1
operator*(complex, complex)
+operator*
#
---format=lucid
+--format=lucid --no-params
__mm__3fooFi
foo::operator--(int)
+foo::operator--
#
---format=lucid
+--format=lucid --no-params
__ne__3fooFR3foo
foo::operator!=(foo &)
+foo::operator!=
#
---format=lucid
+--format=lucid --no-params
__nt__3fooFv
foo::operator!(void)
+foo::operator!
#
---format=lucid
+--format=lucid --no-params
__nw__3fooSFi
foo::operator new(int) static
+foo::operator new
#
---format=lucid
+--format=lucid --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=lucid
+--format=lucid --no-params
__nw__FUiPv
operator new(unsigned int, void *)
+operator new
#
---format=lucid
+--format=lucid --no-params
__oo__3fooFR3foo
foo::operator||(foo &)
+foo::operator||
#
---format=lucid
+--format=lucid --no-params
__opPc__3fooFv
foo::operator char *(void)
+foo::operator char *
#
---format=lucid
+--format=lucid --no-params
__opi__3fooFv
foo::operator int(void)
+foo::operator int
#
---format=lucid
+--format=lucid --no-params
__or__3fooFR3foo
foo::operator|(foo &)
+foo::operator|
#
---format=lucid
+--format=lucid --no-params
__pl__3fooFR3foo
foo::operator+(foo &)
+foo::operator+
#
---format=lucid
+--format=lucid --no-params
__pp__3fooFi
foo::operator++(int)
+foo::operator++
#
---format=lucid
+--format=lucid --no-params
__pt__3fooFv
foo::operator->(void)
+foo::operator->
#
---format=lucid
+--format=lucid --no-params
__rm__3fooFR3foo
foo::operator->*(foo &)
+foo::operator->*
#
---format=lucid
+--format=lucid --no-params
__rs__3fooFR3foo
foo::operator>>(foo &)
+foo::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFP9streambuf
istream::operator>>(streambuf *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPFR3ios_R3ios
istream::operator>>(ios &(*)(ios &))
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPFR7istream_R7istream
istream::operator>>(istream &(*)(istream &))
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPUc
istream::operator>>(unsigned char *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFPc
istream::operator>>(char *)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUi
istream::operator>>(unsigned int &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUl
istream::operator>>(unsigned long &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRUs
istream::operator>>(unsigned short &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRd
istream::operator>>(double &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRf
istream::operator>>(float &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRi
istream::operator>>(int &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRl
istream::operator>>(long &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__7istreamFRs
istream::operator>>(short &)
+istream::operator>>
#
---format=lucid
+--format=lucid --no-params
__rs__FR7istreamR7complex
operator>>(istream &, complex &)
+operator>>
#
---format=lucid
+--format=lucid --no-params
__vtbl__10istrstream
istrstream virtual table
+istrstream virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__17ostream__iostream__19iostream_withassign
iostream_withassign::ostream__iostream virtual table
+iostream_withassign::ostream__iostream virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__3ios
ios virtual table
+ios virtual table
#
---format=lucid
+--format=lucid --no-params
__vtbl__3ios__13strstreambase
strstreambase::ios virtual table
+strstreambase::ios virtual table
#
---format=lucid
+--format=lucid --no-params
abs__F7complex
abs(complex)
+abs
#
---format=lucid
+--format=lucid --no-params
allocate__9streambufFv
streambuf::allocate(void)
+streambuf::allocate
#
---format=lucid
+--format=lucid --no-params
attach__11fstreambaseFi
fstreambase::attach(int)
+fstreambase::attach
#
---format=lucid
+--format=lucid --no-params
bitalloc__3iosSFv
ios::bitalloc(void) static
+ios::bitalloc
#
---format=lucid
+--format=lucid --no-params
chr__FiT1
chr(int, int)
+chr
#
---format=lucid
+--format=lucid --no-params
complex_error__FR11c_exception
complex_error(c_exception &)
+complex_error
#
---format=lucid
+--format=lucid --no-params
complexfunc2__FPFPc_i
complexfunc2(int (*)(char *))
+complexfunc2
#
---format=lucid
+--format=lucid --no-params
complexfunc3__FPFPFPl_s_i
complexfunc3(int (*)(short (*)(long *)))
+complexfunc3
#
---format=lucid
+--format=lucid --no-params
complexfunc4__FPFPFPc_s_i
complexfunc4(int (*)(short (*)(char *)))
+complexfunc4
#
---format=lucid
+--format=lucid --no-params
complexfunc5__FPFPc_PFl_i
complexfunc5(int (*(*)(char *))(long))
+complexfunc5
#
---format=lucid
+--format=lucid --no-params
complexfunc6__FPFPi_PFl_i
complexfunc6(int (*(*)(int *))(long))
+complexfunc6
#
---format=lucid
+--format=lucid --no-params
complexfunc7__FPFPFPc_i_PFl_i
complexfunc7(int (*(*)(int (*)(char *)))(long))
+complexfunc7
#
---format=lucid
+--format=lucid --no-params
complicated_put__7ostreamFc
ostream::complicated_put(char)
+ostream::complicated_put
#
---format=lucid
+--format=lucid --no-params
conv10__FlPc
conv10(long, char *)
+conv10
#
---format=lucid
+--format=lucid --no-params
conv16__FUlPc
conv16(unsigned long, char *)
+conv16
#
---format=lucid
+--format=lucid --no-params
dec__FR3ios
dec(ios &)
+dec
#
---format=lucid
+--format=lucid --no-params
dec__Fli
dec(long, int)
+dec
#
---format=lucid
+--format=lucid --no-params
dofield__FP7ostreamPciT2T3
dofield(ostream *, char *, int, char *, int)
+dofield
#
---format=lucid
+--format=lucid --no-params
flags__3iosFl
ios::flags(long)
+ios::flags
#
---format=lucid
+--format=lucid --no-params
flags__3iosFv
ios::flags(void)
+ios::flags
#
---format=lucid
+--format=lucid --no-params
foo__FiN31
foo(int, int, int, int)
+foo
#
---format=lucid
+--format=lucid --no-params
foo__FiR3fooT1T2T1T2
foo(int, foo &, int, foo &, int, foo &)
+foo
#
---format=lucid
+--format=lucid --no-params
foo___3barFl
bar::foo_(long)
+bar::foo_
#
---format=lucid
+--format=lucid --no-params
get__7istreamFPcic
istream::get(char *, int, char)
+istream::get
#
---format=lucid
+--format=lucid --no-params
get__7istreamFR9streambufc
istream::get(streambuf &, char)
+istream::get
#
---format=lucid
+--format=lucid --no-params
get_complicated__7istreamFRUc
istream::get_complicated(unsigned char &)
+istream::get_complicated
#
---format=lucid
+--format=lucid --no-params
get_complicated__7istreamFRc
istream::get_complicated(char &)
+istream::get_complicated
#
---format=lucid
+--format=lucid --no-params
getline__7istreamFPUcic
istream::getline(unsigned char *, int, char)
+istream::getline
#
---format=lucid
+--format=lucid --no-params
getline__7istreamFPcic
istream::getline(char *, int, char)
+istream::getline
#
---format=lucid
+--format=lucid --no-params
ignore__7istreamFiT1
istream::ignore(int, int)
+istream::ignore
#
---format=lucid
+--format=lucid --no-params
init__12strstreambufFPciT1
strstreambuf::init(char *, int, char *)
+strstreambuf::init
#
---format=lucid
+--format=lucid --no-params
init__3iosFP9streambuf
ios::init(streambuf *)
+ios::init
#
---format=lucid
+--format=lucid --no-params
initcount__13Iostream_init
Iostream_init::initcount
+Iostream_init::initcount
#
---format=lucid
+--format=lucid --no-params
ipfx__7istreamFi
istream::ipfx(int)
+istream::ipfx
#
---format=lucid
+--format=lucid --no-params
ls_complicated__7ostreamFUc
ostream::ls_complicated(unsigned char)
+ostream::ls_complicated
#
---format=lucid
+--format=lucid --no-params
ls_complicated__7ostreamFc
ostream::ls_complicated(char)
+ostream::ls_complicated
#
---format=lucid
+--format=lucid --no-params
overload1arg__FSc
overload1arg(signed char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUc
overload1arg(unsigned char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUi
overload1arg(unsigned int)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUl
overload1arg(unsigned long)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__FUs
overload1arg(unsigned short)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fc
overload1arg(char)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fd
overload1arg(double)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Ff
overload1arg(float)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fi
overload1arg(int)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fl
overload1arg(long)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fs
overload1arg(short)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overload1arg__Fv
overload1arg(void)
+overload1arg
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN21
overloadargs(int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN31
overloadargs(int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN41
overloadargs(int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN51
overloadargs(int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN61
overloadargs(int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN71
overloadargs(int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN81
overloadargs(int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN91
overloadargs(int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiN91N11
overloadargs(int, int, int, int, int, int, int, int, int, int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
overloadargs__FiT1
overloadargs(int, int)
+overloadargs
#
---format=lucid
+--format=lucid --no-params
polar__FdT1
polar(double, double)
+polar
#
---format=lucid
+--format=lucid --no-params
pow__F7complexT1
pow(complex, complex)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__F7complexd
pow(complex, double)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__F7complexi
pow(complex, int)
+pow
#
---format=lucid
+--format=lucid --no-params
pow__Fd7complex
pow(double, complex)
+pow
#
---format=lucid
+--format=lucid --no-params
pstart__FPciT2
pstart(char *, int, int)
+pstart
#
---format=lucid
+--format=lucid --no-params
put__7ostreamFc
ostream::put(char)
+ostream::put
#
---format=lucid
+--format=lucid --no-params
read__7istreamFPci
istream::read(char *, int)
+istream::read
#
---format=lucid
+--format=lucid --no-params
resetiosflags__FR3iosl
resetiosflags(ios &, long)
+resetiosflags
#
---format=lucid
+--format=lucid --no-params
restore_errno__FRi
restore_errno(int &)
+restore_errno
#
---format=lucid
+--format=lucid --no-params
rs_complicated__7istreamFRUc
istream::rs_complicated(unsigned char &)
+istream::rs_complicated
#
---format=lucid
+--format=lucid --no-params
rs_complicated__7istreamFRc
istream::rs_complicated(char &)
+istream::rs_complicated
#
---format=lucid
+--format=lucid --no-params
seekg__7istreamFl8seek_dir
istream::seekg(long, seek_dir)
+istream::seekg
#
---format=lucid
+--format=lucid --no-params
seekoff__12strstreambufFl8seek_diri
strstreambuf::seekoff(long, seek_dir, int)
+strstreambuf::seekoff
#
---format=lucid
+--format=lucid --no-params
seekoff__9streambufFlQ2_3ios12ios_seek_diri
streambuf::seekoff(long, ios::ios_seek_dir, int)
+streambuf::seekoff
#
---format=lucid
+--format=lucid --no-params
seekpos__9streambufFli
streambuf::seekpos(long, int)
+streambuf::seekpos
#
---format=lucid
+--format=lucid --no-params
set_new_handler__FPFv_v
set_new_handler(void (*)(void))
+set_new_handler
#
---format=lucid
+--format=lucid --no-params
setb__9streambufFPcT1i
streambuf::setb(char *, char *, int)
+streambuf::setb
#
---format=lucid
+--format=lucid --no-params
setb__FR3iosi
setb(ios &, int)
+setb
#
---format=lucid
+--format=lucid --no-params
setbuf__11fstreambaseFPci
fstreambase::setbuf(char *, int)
+fstreambase::setbuf
#
---format=lucid
+--format=lucid --no-params
setbuf__9streambufFPUci
streambuf::setbuf(unsigned char *, int)
+streambuf::setbuf
#
---format=lucid
+--format=lucid --no-params
setbuf__9streambufFPciT2
streambuf::setbuf(char *, int, int)
+streambuf::setbuf
#
---format=lucid
+--format=lucid --no-params
setf__3iosFlT1
ios::setf(long, long)
+ios::setf
#
---format=lucid
+--format=lucid --no-params
setfill__FR3iosi
setfill(ios &, int)
+setfill
#
---format=lucid
+--format=lucid --no-params
setg__9streambufFPcN21
streambuf::setg(char *, char *, char *)
+streambuf::setg
#
---format=lucid
+--format=lucid --no-params
setp__9streambufFPcT1
streambuf::setp(char *, char *)
+streambuf::setp
#
---format=lucid
+--format=lucid --no-params
tie__3iosFP7ostream
ios::tie(ostream *)
+ios::tie
#
---format=lucid
+--format=lucid --no-params
uconv10__FUlPc
uconv10(unsigned long, char *)
+uconv10
#
---format=lucid
+--format=lucid --no-params
xget__7istreamFPc
istream::xget(char *)
+istream::xget
#
---format=lucid
+--format=lucid --no-params
xsgetn__9streambufFPci
streambuf::xsgetn(char *, int)
+streambuf::xsgetn
#
---format=arm
+--format=arm --no-params
__dt__21T5__pt__11_PFiPPdPv_iFv
T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
#
---format=arm
+--format=arm --no-params
__ct__1cFi
c::c(int)
+c::c
#
---format=arm
+--format=arm --no-params
__dt__11T5__pt__2_iFv
T5<int>::~T5(void)
+T5<int>::~T5
#
---format=arm
+--format=arm --no-params
__dt__11T5__pt__2_cFv
T5<char>::~T5(void)
+T5<char>::~T5
#
---format=arm
+--format=arm --no-params
__ct__2T2Fi
T2::T2(int)
+T2::T2
#
---format=arm
+--format=arm --no-params
__dt__2T1Fv
T1::~T1(void)
+T1::~T1
#
---format=arm
+--format=arm --no-params
__dt__12T5__pt__3_1xFv
T5<x>::~T5(void)
+T5<x>::~T5
#
---format=arm
+--format=arm --no-params
__dt__17T5__pt__8_PFcPv_iFv
T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
#
---format=arm
+--format=arm --no-params
__ct__21T5__pt__11_PFiPPdPv_iFi
T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
#
---format=arm
+--format=arm --no-params
__amd__FR2T2i
operator%=(T2 &, int)
+operator%=
#
---format=arm
+--format=arm --no-params
__adv__FR2T2i
operator/=(T2 &, int)
+operator/=
#
---format=arm
+--format=arm --no-params
__amu__FR2T2i
operator*=(T2 &, int)
+operator*=
#
---format=arm
+--format=arm --no-params
__ami__FR2T2i
operator-=(T2 &, int)
+operator-=
#
---format=arm
+--format=arm --no-params
__apl__FR2T2i
operator+=(T2 &, int)
+operator+=
#
---format=arm
+--format=arm --no-params
__nw__2T1SFUi
T1::operator new(unsigned int) static
+T1::operator new
#
---format=arm
+--format=arm --no-params
__dl__2T1SFPv
T1::operator delete(void *) static
+T1::operator delete
#
---format=arm
+--format=arm --no-params
put__2T7SFi
T7::put(int) static
+T7::put
#
---format=arm
+--format=arm --no-params
__dl__12T5__pt__3_1xSFPv
T5<x>::operator delete(void *) static
+T5<x>::operator delete
#
---format=arm
+--format=arm --no-params
h__FUc
h(unsigned char)
+h
#
---format=arm
+--format=arm --no-params
f__Fic
f(int, char)
+f
#
---format=arm
+--format=arm --no-params
h__FUi
h(unsigned int)
+h
#
---format=arm
+--format=arm --no-params
h__Fci
h(char, int)
+h
#
---format=arm
+--format=arm --no-params
h__FUl
h(unsigned long)
+h
#
---format=arm
+--format=arm --no-params
h__Fcl
h(char, long)
+h
#
---format=arm
+--format=arm --no-params
h__FUs
h(unsigned short)
+h
#
---format=arm
+--format=arm --no-params
h__Fcs
h(char, short)
+h
#
---format=arm
+--format=arm --no-params
X__12T5__pt__3_1x
T5<x>::X
+T5<x>::X
#
---format=arm
+--format=arm --no-params
__ct__11T5__pt__2_iFi
T5<int>::T5(int)
+T5<int>::T5
#
---format=arm
+--format=arm --no-params
__ct__11T5__pt__2_cFi
T5<char>::T5(int)
+T5<char>::T5
#
---format=arm
+--format=arm --no-params
h__FcT1
h(char, char)
+h
#
---format=arm
+--format=arm --no-params
f__Ficd
f(int, char, double)
+f
#
---format=arm
+--format=arm --no-params
__dl__17T5__pt__8_PFcPv_iSFPv
T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
#
---format=arm
+--format=arm --no-params
X__17T5__pt__8_PFcPv_i
T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
#
---format=arm
+--format=arm --no-params
__ct__12T5__pt__3_1xFi
T5<x>::T5(int)
+T5<x>::T5
#
---format=arm
+--format=arm --no-params
__dl__21T5__pt__11_PFiPPdPv_iSFPv
T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
#
---format=arm
+--format=arm --no-params
__std__foo
global destructors keyed to foo
+global destructors keyed to foo
#
---format=arm
+--format=arm --no-params
__sti__bar
global constructors keyed to bar
+global constructors keyed to bar
#
---format=arm
+--format=arm --no-params
f__FicdPcPFci_v
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=arm
+--format=arm --no-params
f__FicdPcPFic_v
f(int, char, double, char *, void (*)(int, char))
+f
#
---format=arm
+--format=arm --no-params
get__2T7SFv
T7::get(void) static
+T7::get
#
---format=arm
+--format=arm --no-params
X__21T5__pt__11_PFiPPdPv_i
T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
#
---format=arm
+--format=arm --no-params
__dl__11T5__pt__2_iSFPv
T5<int>::operator delete(void *) static
+T5<int>::operator delete
#
---format=arm
+--format=arm --no-params
__dl__11T5__pt__2_cSFPv
T5<char>::operator delete(void *) static
+T5<char>::operator delete
#
---format=arm
+--format=arm --no-params
h__Fc
h(char)
+h
#
---format=arm
+--format=arm --no-params
h__Fd
h(double)
+h
#
---format=arm
+--format=arm --no-params
h__Ff
h(float)
+h
#
---format=arm
+--format=arm --no-params
h__Fi
h(int)
+h
#
---format=arm
+--format=arm --no-params
f__Fi
f(int)
+f
#
---format=arm
+--format=arm --no-params
h__Fl
h(long)
+h
#
---format=arm
+--format=arm --no-params
h__Fs
h(short)
+h
#
---format=arm
+--format=arm --no-params
X__11T5__pt__2_c
T5<char>::X
+T5<char>::X
#
---format=arm
+--format=arm --no-params
X__11T5__pt__2_i
T5<int>::X
+T5<int>::X
#
---format=arm
+--format=arm --no-params
__ct__17T5__pt__8_PFcPv_iFi
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=arm
+--format=arm --no-params
f__FicdPc
f(int, char, double, char *)
+f
#
---format=arm
+--format=arm --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=arm
+--format=arm --no-params
__ct__Q3_2T11a1bSFi
T1::a::b::b(int) static
+T1::a::b::b
#
---format=arm
+--format=arm --no-params
__dt__Q3_2T11a1bSFi
T1::a::b::~b(int) static
+T1::a::b::~b
#
---format=arm
+--format=arm --no-params
put__Q3_2T11a1bSFi
T1::a::b::put(int) static
+T1::a::b::put
#
---format=arm
+--format=arm --no-params
get__Q2_2T11aSFv
T1::a::get(void) static
+T1::a::get
#
---format=arm
+--format=arm --no-params
put__2T1SFi
T1::put(int) static
+T1::put
#
---format=arm
+--format=arm --no-params
put__Q5_2T11a1b1c1dSFi
T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
#
---format=arm
+--format=arm --no-params
get__Q4_2T11a1b1cSFv
T1::a::b::c::get(void) static
+T1::a::b::c::get
#
---format=arm
+--format=arm --no-params
put__Q2_2T11aSFi
T1::a::put(int) static
+T1::a::put
#
---format=arm
+--format=arm --no-params
put__Q4_2T11a1b1cSFi
T1::a::b::c::put(int) static
+T1::a::b::c::put
#
---format=arm
+--format=arm --no-params
get__Q3_2T11a1bSFv
T1::a::b::get(void) static
+T1::a::b::get
#
---format=arm
+--format=arm --no-params
get__2T1SFv
T1::get(void) static
+T1::get
#
---format=arm
+--format=arm --no-params
get__Q5_2T11a1b1c1dSFv
T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
#
---format=arm
+--format=arm --no-params
__dt__11T1__pt__2_cFv
T1<char>::~T1(void)
+T1<char>::~T1
#
---format=arm
+--format=arm --no-params
__dt__12T1__pt__3_1tFv
T1<t>::~T1(void)
+T1<t>::~T1
#
---format=arm
+--format=arm --no-params
__dl__12T1__pt__3_1tSFPv
T1<t>::operator delete(void *) static
+T1<t>::operator delete
#
---format=arm
+--format=arm --no-params
__ct__11T1__pt__2_cFi
T1<char>::T1(int)
+T1<char>::T1
#
---format=arm
+--format=arm --no-params
__ct__11T1__pt__2_cFv
T1<char>::T1(void)
+T1<char>::T1
#
---format=arm
+--format=arm --no-params
__ct__12T1__pt__3_1tFi
T1<t>::T1(int)
+T1<t>::T1
#
---format=arm
+--format=arm --no-params
__ct__12T1__pt__3_1tFv
T1<t>::T1(void)
+T1<t>::T1
#
---format=arm
+--format=arm --no-params
__dl__11T1__pt__2_cSFPv
T1<char>::operator delete(void *) static
+T1<char>::operator delete
#
---format=arm
+--format=arm --no-params
bar__3fooFPv
foo::bar(void *)
+foo::bar
#
---format=arm
+--format=arm --no-params
bar__3fooCFPv
foo::bar(void *) const
+foo::bar
#
---format=arm
+--format=arm --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=arm
+--format=arm --no-params
__eq__3fooCFR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=arm
+--format=arm --no-params
elem__15vector__pt__2_dFi
vector<double>::elem(int)
+vector<double>::elem
#
---format=arm
+--format=arm --no-params
elem__15vector__pt__2_iFi
vector<int>::elem(int)
+vector<int>::elem
#
---format=arm
+--format=arm --no-params
__ct__15vector__pt__2_dFi
vector<double>::vector(int)
+vector<double>::vector
#
---format=arm
+--format=arm --no-params
__ct__15vector__pt__2_iFi
vector<int>::vector(int)
+vector<int>::vector
#
---format=arm
+--format=arm --no-params
__ct__25DListNode__pt__9_R6RLabelFR6RLabelP25DListNode__pt__9_R6RLabelT2
DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
#
---format=arm
+--format=arm --no-params
bar__3fooFiT16FooBar
foo::bar(int, int, FooBar)
+foo::bar
#
---format=arm
+--format=arm --no-params
bar__3fooFPiN51PdN37PcN211T1iN215
foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
#
---format=hp
+--format=hp --no-params
__amd__FR2T2i
operator%=(T2 &, int)
+operator%=
#
---format=hp
+--format=hp --no-params
__adv__FR2T2i
operator/=(T2 &, int)
+operator/=
#
---format=hp
+--format=hp --no-params
__amu__FR2T2i
operator*=(T2 &, int)
+operator*=
#
---format=hp
+--format=hp --no-params
__ami__FR2T2i
operator-=(T2 &, int)
+operator-=
#
---format=hp
+--format=hp --no-params
__apl__FR2T2i
operator+=(T2 &, int)
+operator+=
#
---format=hp
+--format=hp --no-params
__nw__2T1SFUi
T1::operator new(unsigned int) static
+T1::operator new
#
---format=hp
+--format=hp --no-params
__dl__2T1SFPv
T1::operator delete(void *) static
+T1::operator delete
#
---format=hp
+--format=hp --no-params
put__2T7SFi
T7::put(int) static
+T7::put
#
---format=hp
+--format=hp --no-params
h__FUc
h(unsigned char)
+h
#
---format=hp
+--format=hp --no-params
f__Fic
f(int, char)
+f
#
---format=hp
+--format=hp --no-params
h__FUi
h(unsigned int)
+h
#
---format=hp
+--format=hp --no-params
h__Fci
h(char, int)
+h
#
---format=hp
+--format=hp --no-params
h__FUl
h(unsigned long)
+h
#
---format=hp
+--format=hp --no-params
h__Fcl
h(char, long)
+h
#
---format=hp
+--format=hp --no-params
h__FUs
h(unsigned short)
+h
#
---format=hp
+--format=hp --no-params
h__Fcs
h(char, short)
+h
#
---format=hp
+--format=hp --no-params
h__FcT1
h(char, char)
+h
#
---format=hp
+--format=hp --no-params
f__Ficd
f(int, char, double)
+f
#
---format=hp
+--format=hp --no-params
f__FicdPcPFci_v
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=hp
+--format=hp --no-params
f__FicdPcPFic_v
f(int, char, double, char *, void (*)(int, char))
+f
#
---format=hp
+--format=hp --no-params
get__2T7SFv
T7::get(void) static
+T7::get
#
---format=hp
+--format=hp --no-params
h__Fc
h(char)
+h
#
---format=hp
+--format=hp --no-params
h__Fd
h(double)
+h
#
---format=hp
+--format=hp --no-params
h__Ff
h(float)
+h
#
---format=hp
+--format=hp --no-params
h__Fi
h(int)
+h
#
---format=hp
+--format=hp --no-params
f__Fi
f(int)
+f
#
---format=hp
+--format=hp --no-params
h__Fl
h(long)
+h
#
---format=hp
+--format=hp --no-params
h__Fs
h(short)
+h
#
---format=hp
+--format=hp --no-params
f__FicdPc
f(int, char, double, char *)
+f
#
---format=hp
+--format=hp --no-params
__nw__FUi
operator new(unsigned int)
+operator new
#
---format=hp
+--format=hp --no-params
__ct__Q3_2T11a1bSFi
T1::a::b::b(int) static
+T1::a::b::b
#
---format=hp
+--format=hp --no-params
__dt__Q3_2T11a1bSFi
T1::a::b::~b(int) static
+T1::a::b::~b
#
---format=hp
+--format=hp --no-params
put__Q3_2T11a1bSFi
T1::a::b::put(int) static
+T1::a::b::put
#
---format=hp
+--format=hp --no-params
get__Q2_2T11aSFv
T1::a::get(void) static
+T1::a::get
#
---format=hp
+--format=hp --no-params
put__2T1SFi
T1::put(int) static
+T1::put
#
---format=hp
+--format=hp --no-params
put__Q5_2T11a1b1c1dSFi
T1::a::b::c::d::put(int) static
+T1::a::b::c::d::put
#
---format=hp
+--format=hp --no-params
get__Q4_2T11a1b1cSFv
T1::a::b::c::get(void) static
+T1::a::b::c::get
#
---format=hp
+--format=hp --no-params
put__Q2_2T11aSFi
T1::a::put(int) static
+T1::a::put
#
---format=hp
+--format=hp --no-params
put__Q4_2T11a1b1cSFi
T1::a::b::c::put(int) static
+T1::a::b::c::put
#
---format=hp
+--format=hp --no-params
get__Q3_2T11a1bSFv
T1::a::b::get(void) static
+T1::a::b::get
#
---format=hp
+--format=hp --no-params
get__2T1SFv
T1::get(void) static
+T1::get
#
---format=hp
+--format=hp --no-params
get__Q5_2T11a1b1c1dSFv
T1::a::b::c::d::get(void) static
+T1::a::b::c::d::get
#
---format=hp
+--format=hp --no-params
bar__3fooFPv
foo::bar(void *)
+foo::bar
#
---format=hp
+--format=hp --no-params
bar__3fooCFPv
foo::bar(void *) const
+foo::bar
#
---format=hp
+--format=hp --no-params
__eq__3fooFR3foo
foo::operator==(foo &)
+foo::operator==
#
---format=hp
+--format=hp --no-params
__eq__3fooCFR3foo
foo::operator==(foo &) const
+foo::operator==
#
---format=hp
+--format=hp --no-params
bar__3fooFiT16FooBar
foo::bar(int, int, FooBar)
+foo::bar
#
---format=hp
+--format=hp --no-params
bar__3fooFPiN51PdN37PcN211T1iN215
foo::bar(int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, char *, char *, char *, int *, int, int, int)
+foo::bar
#
---format=hp
+--format=hp --no-params
__dt__2T5XTPFiPPdPv_i__Fv
T5<int (*)(int, double **, void *)>::~T5(void)
+T5<int (*)(int, double **, void *)>::~T5
#
---format=hp
+--format=hp --no-params
__ct__1cFi
c::c(int)
+c::c
#
---format=hp
+--format=hp --no-params
__dt__2T5XTi__Fv
T5<int>::~T5(void)
+T5<int>::~T5
#
---format=hp
+--format=hp --no-params
__dt__2T5XTc__Fv
T5<char>::~T5(void)
+T5<char>::~T5
#
---format=hp
+--format=hp --no-params
__ct__2T2Fi
T2::T2(int)
+T2::T2
#
---format=hp
+--format=hp --no-params
__dt__2T1Fv
T1::~T1(void)
+T1::~T1
#
---format=hp
+--format=hp --no-params
__dt__2T5XT1x__Fv
T5<x>::~T5(void)
+T5<x>::~T5
#
---format=hp
+--format=hp --no-params
__dt__2T5XTPFcPv_i__Fv
T5<int (*)(char, void *)>::~T5(void)
+T5<int (*)(char, void *)>::~T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFiPPdPv_i__Fi
T5<int (*)(int, double **, void *)>::T5(int)
+T5<int (*)(int, double **, void *)>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XT1x__SFPv
T5<x>::operator delete(void *) static
+T5<x>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XT1x
T5<x>::X
+T5<x>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XTi__Fi
T5<int>::T5(int)
+T5<int>::T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTc__Fi
T5<char>::T5(int)
+T5<char>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XTPFcPv_i__SFPv
T5<int (*)(char, void *)>::operator delete(void *) static
+T5<int (*)(char, void *)>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTPFcPv_i
T5<int (*)(char, void *)>::X
+T5<int (*)(char, void *)>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XT1x__Fi
T5<x>::T5(int)
+T5<x>::T5
#
---format=hp
+--format=hp --no-params
__dl__2T5XTPFiPPdPv_i__SFPv
T5<int (*)(int, double **, void *)>::operator delete(void *) static
+T5<int (*)(int, double **, void *)>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTPFiPPdPv_i
T5<int (*)(int, double **, void *)>::X
+T5<int (*)(int, double **, void *)>::X
#
---format=hp
+--format=hp --no-params
__dl__2T5XTi__SFPv
T5<int>::operator delete(void *) static
+T5<int>::operator delete
#
---format=hp
+--format=hp --no-params
__dl__2T5XTc__SFPv
T5<char>::operator delete(void *) static
+T5<char>::operator delete
#
---format=hp
+--format=hp --no-params
X__2T5XTc
T5<char>::X
+T5<char>::X
#
---format=hp
+--format=hp --no-params
X__2T5XTi
T5<int>::X
+T5<int>::X
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
__dt__2T1XTc__Fv
T1<char>::~T1(void)
+T1<char>::~T1
#
---format=hp
+--format=hp --no-params
__dt__2T1XT1t__Fv
T1<t>::~T1(void)
+T1<t>::~T1
#
---format=hp
+--format=hp --no-params
__dl__2T1XT1t__SFPv
T1<t>::operator delete(void *) static
+T1<t>::operator delete
#
---format=hp
+--format=hp --no-params
__ct__2T1XTc__Fi
T1<char>::T1(int)
+T1<char>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XTc__Fv
T1<char>::T1(void)
+T1<char>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XT1t__Fi
T1<t>::T1(int)
+T1<t>::T1
#
---format=hp
+--format=hp --no-params
__ct__2T1XT1t__Fv
T1<t>::T1(void)
+T1<t>::T1
#
---format=hp
+--format=hp --no-params
__dl__2T1XTc__SFPv
T1<char>::operator delete(void *) static
+T1<char>::operator delete
#
---format=hp
+--format=hp --no-params
elem__6vectorXTd__Fi
vector<double>::elem(int)
+vector<double>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTi__Fi
vector<int>::elem(int)
+vector<int>::elem
#
---format=hp
+--format=hp --no-params
__ct__6vectorXTd__Fi
vector<double>::vector(int)
+vector<double>::vector
#
---format=hp
+--format=hp --no-params
__ct__6vectorXTi__Fi
vector<int>::vector(int)
+vector<int>::vector
#
---format=hp
+--format=hp --no-params
__ct__9DListNodeXTR6RLabel__FR6RLabelP9DListNodeXTR6RLabel_T2
DListNode<RLabel &>::DListNode(RLabel &, DListNode<RLabel &> *, DListNode<RLabel &> *)
+DListNode<RLabel &>::DListNode
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiUP34__Fi
vector<int,34U>::elem(int)
+vector<int,34U>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXUP2701Td__Fi
vector<2701U,double>::elem(int)
+vector<2701U,double>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSP334__Fi
vector<int,334>::elem(int)
+vector<int,334>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67__Fi
vector<int,-67>::elem(int)
+vector<int,-67>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSM__SCFPPd
vector<int,-2147483648>::elem(double **) static const
+vector<int,-2147483648>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67UP4000TRs__Fi
vector<int,-67,4000U,short &>::elem(int)
+vector<int,-67,4000U,short &>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN67TRdTFPv_i__Fi
vector<int,-67,double &,int (void *)>::elem(int)
+vector<int,-67,double &,int (void *)>::elem
#
---format=hp
+--format=hp --no-params
X__6vectorXTiSN67TdTPvUP5TRs
vector<int,-67,double,void *,5U,short &>::X
+vector<int,-67,double,void *,5U,short &>::X
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiA3foo__Fi
vector<int,&foo>::elem(int)
+vector<int,&foo>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiA3fooTPvA5Label__FiPPvT2
vector<int,&foo,void *,&Label>::elem(int, void **, void **)
+vector<int,&foo,void *,&Label>::elem
#
---format=hp
+--format=hp --no-params
elem__6vectorXTiSN42A3foo__Fi
vector<int,-42,&foo>::elem(int)
+vector<int,-42,&foo>::elem
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi_2
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
__ct__2T5XTPFcPv_i__Fi_19
T5<int (*)(char, void *)>::T5(int)
+T5<int (*)(char, void *)>::T5
#
---format=hp
+--format=hp --no-params
f__FicdPcPFci_v_34
f(int, char, double, char *, void (*)(char, int))
+f
#
---format=hp
+--format=hp --no-params
spec__13Spec<#1,#1.*>XTiTPi_FPi
Spec<int,int *>::spec(int *)
+Spec<int,int *>::spec
#
---format=hp
+--format=hp --no-params
spec__16Spec<#1,#1.&,#1>XTiTRiTi_FPi
Spec<int,int &,int>::spec(int *)
+Spec<int,int &,int>::spec
#
---format=hp
+--format=hp --no-params
add__XTc_FcT1
add<char>(char, char)
+add<char>
#
---format=hp
+--format=hp --no-params
add__XTcSP9A5label_FcPPlT1
add<char,9,&label>(char, long **, char)
+add<char,9,&label>
#
---format=hp
+--format=hp --no-params
add__XTPfTFPd_f_FcT1
add<float *,float (double *)>(char, char)
+add<float *,float (double *)>
#
---format=hp
+--format=hp --no-params
unLink__12basic_stringXTcT18string_char_traitsXTc_T9allocator_Fv
basic_string<char,string_char_traits<char>,allocator>::unLink(void)
+basic_string<char,string_char_traits<char>,allocator>::unLink
#
# A regression test with no args. This used to cause a segv.
_Utf390_1__1_9223372036854775807__9223372036854775
_Utf390_1__1_9223372036854775807__9223372036854775
#
---format=gnu
+--format=gnu --no-params
call__H1Z4Test_RX01_t1C2ZX01PMX01FPX01i_vQ2X016output
C<Test, Test::output> call<Test>(Test &)
+C<Test, Test::output> call<Test>
#
---format=gnu
+--format=gnu --no-params
fn__FPQ21n1cPMQ21n1cFPQ21n1c_i
fn(n::c *, int (n::c::*)(n::c *))
+fn
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i2G1i
f(Bar<2>, i)
+f
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i21i
f(Bar<21>, int)
+f
#
---format=gnu
+--format=gnu --no-params
f__FGt3Bar1i2G4XY_t
f(Bar<2>, XY_t)
+f
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1Ui9_X01_i
int foo<TA<int const &, NA<9> > >(TA<int const &, NA<9> >)
+int foo<TA<int const &, NA<9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1Ui20_X01_i
int foo<TA<char, NA<20> > >(TA<char, NA<20> >)
+int foo<TA<char, NA<20> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt8N___A___1Ui99_X01_i
int foo<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo<TA<int, N___A___<99> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1im1_X01_i
int foo<TA<int const &, NA<-1> > >(TA<int const &, NA<-1> >)
+int foo<TA<int const &, NA<-1> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZRCiZt2NA1im9_X01_i
int foo<TA<int const &, NA<-9> > >(TA<int const &, NA<-9> >)
+int foo<TA<int const &, NA<-9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1i_m20__X01_i
int foo<TA<char, NA<-20> > >(TA<char, NA<-20> >)
+int foo<TA<char, NA<-20> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZcZt2NA1im1_X01_i
int foo<TA<char, NA<-1> > >(TA<char, NA<-1> >)
+int foo<TA<char, NA<-1> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt4N__A1im9_X01_i
int foo<TA<int, N__A<-9> > >(TA<int, N__A<-9> >)
+int foo<TA<int, N__A<-9> > >
#
---format=gnu
+--format=gnu --no-params
foo__H1Zt2TA2ZiZt4N__A1i_m99__X01_i
int foo<TA<int, N__A<-99> > >(TA<int, N__A<-99> >)
+int foo<TA<int, N__A<-99> > >
#
---format=gnu
+--format=gnu --no-params
__opi__t2TA2ZiZt4N__A1i9
TA<int, N__A<9> >::operator int(void)
+TA<int, N__A<9> >::operator int
#
---format=gnu
+--format=gnu --no-params
__opi__t2TA2ZiZt8N___A___1i_m99_
TA<int, N___A___<-99> >::operator int(void)
+TA<int, N___A___<-99> >::operator int
#
---format=gnu
+--format=gnu --no-params
foo___bar__baz_____H1Zt2TA2ZiZt8N___A___1i99_X01_i
int foo___bar__baz___<TA<int, N___A___<99> > >(TA<int, N___A___<99> >)
+int foo___bar__baz___<TA<int, N___A___<99> > >
#
---format=gnu
+--format=gnu --no-params
foo__bar___foobar_____t2TA2ZiZt8N___A___1i_m99_
TA<int, N___A___<-99> >::foo__bar___foobar___(void)
+TA<int, N___A___<-99> >::foo__bar___foobar___
#
---format=gnu
+--format=gnu --no-params
foo__bar___foobar_____t2TA2ZiZt4N__A1i9
TA<int, N__A<9> >::foo__bar___foobar___(void)
+TA<int, N__A<9> >::foo__bar___foobar___
#
---format=gnu
+--format=gnu --no-params
__tfP8sockaddr
sockaddr * type_info function
+sockaddr * type_info function
#
---format=gnu
+--format=gnu --no-params
__tfPQ25libcwt16option_event_tct1Z12burst_app_ct
libcw::option_event_tct<burst_app_ct> * type_info function
+libcw::option_event_tct<burst_app_ct> * type_info function
#
---format=gnu
+--format=gnu --no-params
__tiP8sockaddr
sockaddr * type_info node
+sockaddr * type_info node
#
---format=gnu
+--format=gnu --no-params
__tiPQ25libcwt16option_event_tct1Z12burst_app_ct
libcw::option_event_tct<burst_app_ct> * type_info node
+libcw::option_event_tct<burst_app_ct> * type_info node
#
---format=gnu
+--format=gnu --no-params
_27_GLOBAL_.N.__12burst_app_ct.app_instance
{anonymous}::app_instance
+{anonymous}::app_instance
#
---format=gnu
+--format=gnu --no-params
_26_GLOBAL_$N$_tmp_n.iilg4Gya$app_instance
{anonymous}::app_instance
+{anonymous}::app_instance
#
--format=java
_ZN4java3awt10ScrollPane7addImplEPNS0_9ComponentEPNS_4lang6ObjectEi
@@ -2591,330 +3243,486 @@ Prim.i(int, boolean, byte, double, float, char, java.lang.String, short, long)
_ZN4java4util14Map__U24_Entry11class__U24_E
java.util.Map$Entry.class$
#
---format=hp
+--format=java
+_ZN3org7eclipse3cdt5debug8internal4core5model9CVariable6sizeof$Ev
+org.eclipse.cdt.debug.internal.core.model.CVariable.sizeof()
+#
+--format=hp --no-params
+_Utf58_0_1__1_2147483647__2147483648
_Utf58_0_1__1_2147483647__2147483648
_Utf58_0_1__1_2147483647__2147483648
#
---format=gnu-v3
+--format=gnu-v3 --no-params
St9bad_alloc
std::bad_alloc
+std::bad_alloc
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1f1fE
f::f
+f::f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fv
f()
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fi
f(int)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3foo3bar
foo(bar)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Zrm1XS_
operator%(X, X)
+operator%
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZplR1XS0_
operator+(X&, X&)
+operator+
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRK1XS1_
operator<<(X const&, X const&)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN3FooIA4_iE3barE
Foo<int [4]>::bar
+Foo<int [4]>::bar
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fIiEvi
void f<int>(int)
+f<int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z5firstI3DuoEvS0_
void first<Duo>(Duo)
+first<Duo>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z5firstI3DuoEvT_
void first<Duo>(Duo)
+first<Duo>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooIiFvdEiEvv
void foo<int, void ()(double), int>()
+foo<int, void ()(double), int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1N1fE
N::f
+N::f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN6System5Sound4beepEv
System::Sound::beep()
+System::Sound::beep
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5Arena5levelE
Arena::level
+Arena::level
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5StackIiiE5levelE
Stack<int, int>::level
+Stack<int, int>::level
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fI1XEvPVN1AIT_E1TE
void f<X>(A<X>::T volatile*)
+f<X>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZngILi42EEvN1AIXplT_Li2EEE1TE
void operator-<42>(A<(42) + (2)>::T)
+operator-<42>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4makeI7FactoryiET_IT0_Ev
Factory<int> make<Factory, int>()
+make<Factory, int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4makeI7FactoryiET_IT0_Ev
Factory<int> make<Factory, int>()
+make<Factory, int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3foo5Hello5WorldS0_S_
foo(Hello, World, World, Hello)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooPM2ABi
foo(int AB::**)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRSoRKSs
operator<<(std::ostream&, std::string const&)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZTI7a_class
typeinfo for a_class
+typeinfo for a_class
#
---format=gnu-v3
+--format=gnu-v3 --no-params
U4_farrVKPi
int* const volatile restrict _far
+int* const volatile restrict _far
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooILi2EEvRAplT_Li1E_i
void foo<2>(int (&) [(2) + (1)])
+foo<2>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AKFvvE
f(void (A::*)() const)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooc
foo(char)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
2CBIL_Z3foocEE
CB<foo(char)>
+CB<foo(char)>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
2CBIL_Z7IsEmptyEE
CB<IsEmpty>
+CB<IsEmpty>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZN1N1fEiE1p
N::f(int)::p
+N::f(int)::p
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZZN1N1fEiEs
N::f(int)::string literal
+N::f(int)::string literal
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPFvvEM1SFvvE
f(void (*)(), void (S::*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1N1TIiiE2mfES0_IddE
N::T<int, int>::mf(N::T<double, double>)
+N::T<int, int>::mf
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt5state
std::state
+std::state
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSt3_In4wardE
std::_In::ward
+std::_In::ward
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fKPFiiE
f(int (* const)(int))
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
f(int [sizeof (N::A::f() const::foo)])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fA37_iPS_
f(int [37], int (*) [37])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AFivEPS0_
f(int (A::*)(), int (*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPFPA1_ivE
f(int (*(*)()) [1])
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fPKM1AFivE
f(int (A::* const*)())
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1jM1AFivEPS1_
j(int (A::*)(), int (A::**)())
+j
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1sPA37_iPS0_
s(int (*) [37], int (**) [37])
+s
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooA30_A_i
foo(int [30][])
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3kooPA28_A30_i
koo(int (*) [28][30])
+koo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRKU3fooU4bart1XS0_
operator<<(X bart foo const&, X bart)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZlsRKU3fooU4bart1XS2_
operator<<(X bart foo const&, X bart foo const)
+operator<<
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fM1AKFivE
f(int (A::*)() const)
+f
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3absILi11EEvv
void abs<11>()
+abs<11>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN1AIfEcvT_IiEEv
A<float>::operator int<int>()
+A<float>::operator int<int>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN12libcw_app_ct10add_optionIS_EEvMT_FvPKcES3_cS3_S3_
void libcw_app_ct::add_option<libcw_app_ct>(void (libcw_app_ct::*)(char const*), char const*, char, char const*, char const*)
+libcw_app_ct::add_option<libcw_app_ct>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZGVN5libcw24_GLOBAL__N_cbll.cc0ZhUKa23compiler_bug_workaroundISt6vectorINS_13omanip_id_tctINS_5debug32memblk_types_manipulator_data_ctEEESaIS6_EEE3idsE
guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
+guard variable for libcw::(anonymous namespace)::compiler_bug_workaround<std::vector<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct>, std::allocator<libcw::omanip_id_tct<libcw::debug::memblk_types_manipulator_data_ct> > > >::ids
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZN5libcw5debug13cwprint_usingINS_9_private_12GlobalObjectEEENS0_17cwprint_using_tctIT_EERKS5_MS5_KFvRSt7ostreamE
libcw::debug::cwprint_using_tct<libcw::_private_::GlobalObject> libcw::debug::cwprint_using<libcw::_private_::GlobalObject>(libcw::_private_::GlobalObject const&, void (libcw::_private_::GlobalObject::*)(std::ostream&) const)
+libcw::debug::cwprint_using<libcw::_private_::GlobalObject>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt14priority_queueIP27timer_event_request_base_ctSt5dequeIS1_SaIS1_EE13timer_greaterE3topEv
std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top() const
+std::priority_queue<timer_event_request_base_ct*, std::deque<timer_event_request_base_ct*, std::allocator<timer_event_request_base_ct*> >, timer_greater>::top
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt15_Deque_iteratorIP15memory_block_stRKS1_PS2_EeqERKS5_
std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==(std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*> const&) const
+std::_Deque_iterator<memory_block_st*, memory_block_st* const&, memory_block_st* const*>::operator==
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNKSt17__normal_iteratorIPK6optionSt6vectorIS0_SaIS0_EEEmiERKS6_
std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-(std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > > const&) const
+std::__normal_iterator<option const*, std::vector<option, std::allocator<option> > >::operator-
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSbIcSt11char_traitsIcEN5libcw5debug27no_alloc_checking_allocatorEE12_S_constructIPcEES6_T_S7_RKS3_
char* std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>(char*, char*, libcw::debug::no_alloc_checking_allocator const&)
+std::basic_string<char, std::char_traits<char>, libcw::debug::no_alloc_checking_allocator>::_S_construct<char*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fI1APS0_PKS0_EvT_T0_T1_PA4_S3_M1CS8_
void f<A, A*, A const*>(A, A*, A const*, A const* (*) [4], A const* (* C::*) [4])
+f<A, A*, A const*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z3fooiPiPS_PS0_PS1_PS2_PS3_PS4_PS5_PS6_PS7_PS8_PS9_PSA_PSB_PSC_
foo(int, int*, int**, int***, int****, int*****, int******, int*******, int********, int*********, int**********, int***********, int************, int*************, int**************, int***************)
+foo
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt1BISt1DIP1ARKS2_PS3_ES0_IS2_RS2_PS2_ES2_ET0_T_SB_SA_PT1_
std::D<A*, A*&, A**> std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>(std::D<A*, A* const&, A* const*>, std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A**)
+std::B<std::D<A*, A* const&, A* const*>, std::D<A*, A*&, A**>, A*>
#
---format=gnu-v3
+--format=gnu-v3 --no-params
+_X11TransParseAddress
_X11TransParseAddress
_X11TransParseAddress
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSt13_Alloc_traitsISbIcSt18string_char_traitsIcEN5libcw5debug9_private_17allocator_adaptorIcSt24__default_alloc_templateILb0ELi327664EELb1EEEENS5_IS9_S7_Lb1EEEE15_S_instancelessE
std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
+std::_Alloc_traits<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, libcw::debug::_private_::allocator_adaptor<std::basic_string<char, std::string_char_traits<char>, libcw::debug::_private_::allocator_adaptor<char, std::__default_alloc_template<false, 327664>, true> >, std::__default_alloc_template<false, 327664>, true> >::_S_instanceless
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_GLOBAL__I__Z2fnv
global constructors keyed to _Z2fnv
+global constructors keyed to _Z2fnv
#
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1rM1GFivEMS_KFivES_M1HFivES1_4whatIKS_E5what2IS8_ES3_
r(int (G::*)(), int (G::*)() const, G, int (H::*)(), int (G::*)(), what<G const>, what2<G const>, int (G::*)() const)
+r
#
# This is from the gdb testsuite gdb.cp/cplusfuncs.exp.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z10hairyfunc5PFPFilEPcE
hairyfunc5(int (*(*)(char*))(long))
+hairyfunc5
#
# This is from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE
void f<1, 120>(A<(1) + (((int)((double)810000000000000000703DAD7A370C5)))>)
+f<1, 120>
#
# This is also from gcc PR 8861
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILi1EEv1AIXplT_cvingLf3f800000EEE
void f<1>(A<(1) + (((int)(-((float)3f800000))))>)
+f<1>
#
# This is from a libstdc++ debug mode patch.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNK11__gnu_debug16_Error_formatter14_M_format_wordImEEvPciPKcT_
void __gnu_debug::_Error_formatter::_M_format_word<unsigned long>(char*, int, char const*, unsigned long) const
+__gnu_debug::_Error_formatter::_M_format_word<unsigned long>
#
# The new demangler used to core dump on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt4pairISsPFbP6sqlitePPcEESt6vectorIS9_SaIS9_EEEESE_ET0_T_SG_SF_
__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >(__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >)
+std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > >, __gnu_cxx::__normal_iterator<std::pair<std::string, bool (*)(sqlite*, char**)>*, std::vector<std::pair<std::string, bool (*)(sqlite*, char**)>, std::allocator<std::pair<std::string, bool (*)(sqlite*, char**)> > > > >
#
# The new demangler used to fail on this.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fP1cIPFiiEE
f(c<int (*)(int)>*)
+f
#
# Wrap expressions using '>' in an extra layer of parens to avoid
# confusion with the '>' which ends the template parameters.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z4dep9ILi3EEvP3fooIXgtT_Li2EEE
void dep9<3>(foo<((3) > (2))>*)
+dep9<3>
#
# Watch out for templated version of `operator<'--it needs an extra
# space.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZStltI9file_pathSsEbRKSt4pairIT_T0_ES6_
bool std::operator< <file_path, std::string>(std::pair<file_path, std::string> const&, std::pair<file_path, std::string> const&)
+std::operator< <file_path, std::string>
#
# More hairy qualifier handling.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z9hairyfuncM1YKFPVPFrPA2_PM1XKFKPA3_ilEPcEiE
hairyfunc(int (* const (X::** (* restrict (* volatile*(Y::*)(int) const)(char*)) [2])(long) const) [3])
+hairyfunc
#
# Check that negative numbers are handled correctly.
---format=gnu-v3
+--format=gnu-v3 --no-params
_Z1fILin1EEvv
void f<-1>()
+f<-1>
#
# Check a destructor of a standard substitution.
---format=gnu-v3
+--format=gnu-v3 --no-params
_ZNSdD0Ev
std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
+std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
+#
+# Another case where we got member function qualifiers wrong.
+--format=gnu-v3 --no-params
+_ZNK15nsBaseHashtableI15nsUint32HashKey8nsCOMPtrI4IFooEPS2_E13EnumerateReadEPF15PLDHashOperatorRKjS4_PvES9_
+nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead(PLDHashOperator (*)(unsigned int const&, IFoo*, void*), void*) const
+nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead
+#
+# Another member function qualifier test case, when the member function
+# returns a pointer to function.
+--format=gnu-v3 --no-params
+_ZNK1C1fIiEEPFivEv
+int (*C::f<int>() const)()
+C::f<int>
+#
+# Another case where we got member function qualifiers wrong.
+--format=gnu-v3 --no-params
+_ZZ3BBdI3FooEvvENK3Fob3FabEv
+void BBd<Foo>()::Fob::Fab() const
+void BBd<Foo>()::Fob::Fab
+#
+# The same idea one level deeper.
+--format=gnu-v3 --no-params
+_ZZZ3BBdI3FooEvvENK3Fob3FabEvENK3Gob3GabEv
+void BBd<Foo>()::Fob::Fab() const::Gob::Gab() const
+void BBd<Foo>()::Fob::Fab() const::Gob::Gab
+#
+# Yet another member function qualifier problem.
+--format=gnu-v3 --no-params
+_ZNK5boost6spirit5matchI13rcs_deltatextEcvMNS0_4impl5dummyEFvvEEv
+boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()() const
+boost::spirit::match<rcs_deltatext>::operator void (boost::spirit::impl::dummy::*)()
+#
+# Test GNU V3 constructor and destructor identification.
+# 0 means it is not a constructor/destructor.
+# Other integers correspond to enum gnu_v3_{c,d}tor_kinds in demangle.h.
+--is-v3-ctor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-dtor
+_GLOBAL__I__Z2fnv
+0
+#
+--is-v3-ctor
+_ZNSdC1Ev
+1
+#
+--is-v3-dtor
+_ZNSdC1Ev
+0
+#
+--is-v3-ctor
+_ZNSdD0Ev
+0
+#
+--is-v3-dtor
+_ZNSdD0Ev
+1
+#
+--is-v3-ctor
+_ZNSdC2Ev
+2
+#
+--is-v3-dtor
+_ZNSdC2Ev
+0
+#
+--is-v3-ctor
+_ZNSdD1Ev
+0
+#
+--is-v3-dtor
+_ZNSdD1Ev
+2
#
# This caused an infinite loop.
#
@@ -2929,12 +3737,14 @@ std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
# mode. Of course the result is more or less nonsense, but an older
# version of g++ would indeed generate this mangled name given the
# appropriate input, so the demangling is correct.
---format=auto
+--format=auto --no-params
__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm(iterator)
+_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm
#
# This used to cause a crash. It doesn't follow the C++ encoding so
# the demangled name should be identical to the original symbol name.
---format=auto
+--format=auto --no-params
+_test_array__L_1__B23b___clean.6
_test_array__L_1__B23b___clean.6
_test_array__L_1__B23b___clean.6
diff --git a/libiberty/testsuite/test-demangle.c b/libiberty/testsuite/test-demangle.c
index ed28229ca3..6e00d1416d 100644
--- a/libiberty/testsuite/test-demangle.c
+++ b/libiberty/testsuite/test-demangle.c
@@ -1,5 +1,5 @@
/* Demangler test program,
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Written by Zack Weinberg <zack@codesourcery.com
This file is part of GNU libiberty.
@@ -80,16 +80,39 @@ getline(buf)
buf->alloced = alloc;
}
-/* The tester operates on a data file consisting of triples of lines:
- format switch
+static void
+fail (lineno, opts, in, out, exp)
+ int lineno;
+ const char *opts;
+ const char *in;
+ const char *out;
+ const char *exp;
+{
+ printf ("\
+FAIL at line %d, options %s:\n\
+in: %s\n\
+out: %s\n\
+exp: %s\n",
+ lineno, opts, in, out != NULL ? out : "(null)", exp);
+}
+
+/* The tester operates on a data file consisting of groups of lines:
+ options
input to be demangled
expected output
- The format switch is expected to be either the empty string, a
- line of the form --format=<name>, or just <name> by itself. */
+ Supported options:
+ --format=<name> Sets the demangling style.
+ --no-params There are two lines of expected output; the first
+ is with DMGL_PARAMS, the second is without it.
+ --is-v3-ctor Calls is_gnu_v3_mangled_ctor on input; expected
+ output is an integer representing ctor_kind.
+ --is-v3-dtor Likewise, but for dtors.
-#define FORMATS "--format="
-#define FORMATL (sizeof FORMATS - 1)
+ For compatibility, just in case it matters, the options line may be
+ empty, to mean --format=auto. If it doesn't start with --, then it
+ may contain only a format name.
+*/
int
main(argc, argv)
@@ -97,10 +120,12 @@ main(argc, argv)
char **argv;
{
enum demangling_styles style;
+ int no_params;
+ int is_v3_ctor;
+ int is_v3_dtor;
struct line format;
struct line input;
struct line expect;
- char *fstyle;
char *result;
int failures = 0;
int tests = 0;
@@ -126,20 +151,98 @@ main(argc, argv)
tests++;
- fstyle = format.data;
- if (!strncmp (fstyle, FORMATS, FORMATL))
- fstyle += FORMATL;
-
- if (fstyle[0] == '\0')
+ no_params = 0;
+ is_v3_ctor = 0;
+ is_v3_dtor = 0;
+ if (format.data[0] == '\0')
style = auto_demangling;
+ else if (format.data[0] != '-')
+ {
+ style = cplus_demangle_name_to_style (format.data);
+ if (style == unknown_demangling)
+ {
+ printf ("FAIL at line %d: unknown demangling style %s\n",
+ lineno, format.data);
+ failures++;
+ continue;
+ }
+ }
else
- style = cplus_demangle_name_to_style (fstyle);
+ {
+ char *p;
+ char *opt;
- if (style == unknown_demangling)
+ p = format.data;
+ while (*p != '\0')
+ {
+ char c;
+
+ opt = p;
+ p += strcspn (p, " \t=");
+ c = *p;
+ *p = '\0';
+ if (strcmp (opt, "--format") == 0 && c == '=')
+ {
+ char *fstyle;
+
+ *p = c;
+ ++p;
+ fstyle = p;
+ p += strcspn (p, " \t");
+ c = *p;
+ *p = '\0';
+ style = cplus_demangle_name_to_style (fstyle);
+ if (style == unknown_demangling)
+ {
+ printf ("FAIL at line %d: unknown demangling style %s\n",
+ lineno, fstyle);
+ failures++;
+ continue;
+ }
+ }
+ else if (strcmp (opt, "--no-params") == 0)
+ no_params = 1;
+ else if (strcmp (opt, "--is-v3-ctor") == 0)
+ is_v3_ctor = 1;
+ else if (strcmp (opt, "--is-v3-dtor") == 0)
+ is_v3_dtor = 1;
+ else
+ {
+ printf ("FAIL at line %d: unrecognized option %s\n",
+ lineno, opt);
+ failures++;
+ continue;
+ }
+ *p = c;
+ p += strspn (p, " \t");
+ }
+ }
+
+ if (is_v3_ctor || is_v3_dtor)
{
- printf ("FAIL at line %d: unknown demangling style %s\n",
- lineno, fstyle);
- failures++;
+ char buf[20];
+
+ if (is_v3_ctor)
+ {
+ enum gnu_v3_ctor_kinds kc;
+
+ kc = is_gnu_v3_mangled_ctor (input.data);
+ sprintf (buf, "%d", (int) kc);
+ }
+ else
+ {
+ enum gnu_v3_dtor_kinds kd;
+
+ kd = is_gnu_v3_mangled_dtor (input.data);
+ sprintf (buf, "%d", (int) kd);
+ }
+
+ if (strcmp (buf, expect.data) != 0)
+ {
+ fail (lineno, format.data, input.data, buf, expect.data);
+ failures++;
+ }
+
continue;
}
@@ -152,18 +255,25 @@ main(argc, argv)
? strcmp (result, expect.data)
: strcmp (input.data, expect.data))
{
- printf ("\
-FAIL at line %d, style %s:\n\
-in: %s\n\
-out: %s\n\
-exp: %s\n",
- lineno, fstyle,
- input.data,
- result,
- expect.data);
+ fail (lineno, format.data, input.data, result, expect.data);
failures++;
}
free (result);
+
+ if (no_params)
+ {
+ getline (&expect);
+ result = cplus_demangle (input.data, DMGL_ANSI|DMGL_TYPES);
+
+ if (result
+ ? strcmp (result, expect.data)
+ : strcmp (input.data, expect.data))
+ {
+ fail (lineno, format.data, input.data, result, expect.data);
+ failures++;
+ }
+ free (result);
+ }
}
free (format.data);
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 7bf5b45575..15c6e668ef 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,4316 +1,68 @@
-2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+2004-01-23 Andrew Over <andrew.over@cs.anu.edu.au>
- * m32r-opc.c: Regenerate.
+ * sparc-opc.c (fdtox, fstox, fqtox, fxtod, fxtos, fxtoq): Tighten
+ contraints.
-2003-12-14 Mark Mitchell <mark@codesourcery.com>
+2004-01-19 Andrew Over <andrew.over@cs.anu.edu.au>
- * arm-opc.h (arm_opcodes): Put V6 instructions before XScale
- instructions.
+ * sparc-opc.c (sparc_opcodes) <f[dsq]tox, fxto[dsq]>: Fix args.
-2003-12-13 Hans-Peter Nilsson <hp@bitrange.com>
+2004-01-19 Alan Modra <amodra@bigpond.net.au>
- * mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE,
- SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE
- and SWYM_INSN_BYTE instead of raw numbers.
+ * i386-dis.c (OP_E): Print scale factor on intel mode sib when not
+ 1. Don't print scale factor on AT&T mode when index missing.
-2003-12-10 Zack Weinberg <zack@codesourcery.com>
+2004-01-16 Alexandre Oliva <aoliva@redhat.com>
- * ppc-opc.c (MO): Make optional.
- (RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
- (tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
+ * m10300-opc.c (mov): 8- and 24-bit immediates are zero-extended
+ when loaded into XR registers.
-2003-12-05 Ricardo Anguiano <anguiano@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
- Richard Earnshaw <rearnsha@arm.com>
+2004-01-14 Richard Sandiford <rsandifo@redhat.com>
- * arm-dis.c (print_arm_insn): Add 'W' macro.
- * arm-opc.h (arm_opcodes): Add V6 instructions.
- (thumb_opcodes): Likewise.
-
-2003-12-04 Alan Modra <amodra@bigpond.net.au>
-
- * openrisc-asm.c: Regenerate.
- * pj-opc.c: Update copyright date.
-
-2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2003-12-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h: Add support for sh4a and no-fpu variants.
- * sh-dis.c: Ditto.
-
-2003-12-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * alpha-opc.c: Remove ARGSUSED.
- * i370-opc.c: Likewise.
- * ppc-opc.c: Likewise.
-
-2003-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-11-28 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c: Convert to ISO C90.
- * z8kgen.c: Convert to ISO C90.
- (opt): Move long opcode for "ldb rdb,imm8" after short one, now
- the short one is created when assembling.
- * z8k-opc.h: Regenerate with new z8kgen.c.
-
-2003-11-19 Kazu Hirata <kazu@cs.umass.edu>
-
- * h8300-dis.c (print_colon_thingie): Remove.
-
-2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
- "dlca".
-
-2003-11-14 Nick Clifton <nickc@redhat.com>
-
- * dis-init.c (init_disassemble_info): Initialise
- symbol_is_valid field.
- * dis-buf.c (generic_symbol_is_valid): New function. Always
- returns TRUE.
- * arm-dis.c (arm_symbol_is_valid): New function. Return FALSE
- for ARM ELF mapping symbols.
- * disassemble.c (disassemble_init_for_target): Set
- symbol_is_valid field to arm_symbol_is_valid of the target is
- an ARM.
-
-2003-11-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * m68k-opc.c (m68k_opcodes): Reorder "fmovel".
-
-2003-11-03 Daniel Jacobowitz <drow@mvista.com>
-
- * arm-dis.c (print_arm_insn): Print "-" after "#".
-
-2003-10-30 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
-
- * alpha-opc.c: Add support for a second argument to RPCC.
-
-2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c: Convert to ISO C90 prototypes.
-
-2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
- Bernardo Innocenti <bernie@develer.com>
-
- * m68k-dis.c: Add MCFv4/MCF5528x support.
- * m68k-opc.c: Likewise.
-
-2003-10-10 Dave Brolley <brolley@redhat.com>
-
- * frv-asm.c,frv-desc.c,frv-opc.c: Regenerated.
-
-2003-10-08 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.[ch], frv-opc.[ch]: Regenerated.
-
-2003-09-30 Bob Wilson <bob.wilson@acm.org>
-
- * xtensa-dis.c (fetch_data): Remove numBytes parameter.
- (print_insn_xtensa): Fix call to fetch_data.
-
-2003-09-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
- (print_insn_args): Add handing for +E, +F, +G, and +H.
- * mips-opc.c (I65): New define for MIPS64r2.
- (mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
- "dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
- and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to
- be supported on MIPS64r2.
-
-2003-09-24 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.c, frv-opc.c, frv-opc.h: Regenerated.
-
-2003-09-14 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c: Convert to ISO C90 prototypes.
- * i370-dis.c: Likewise.
- * i370-opc.c: Likewiwse.
- * i960-dis.c: Likewise.
- * ia64-opc.c: Likewise.
-
-2003-09-09 Dave Brolley <brolley@redhat.com>
-
- * frv-desc.c: Regenerated.
-
-2003-09-08 Dave Brolley <brolley@redhat.com>
-
- On behalf of Doug Evans <dje@sebabeach.org>
- * Makefile.am (run-cgen): Pass new args archfile and opcfile
- to cgen.sh.
- (stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc,
- stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files
- to cgen.sh.
- (stamp-frv): Delete hardcoded path spec workaround.
- * Makefile.in: Regenerate.
- * cgen.sh: New args archfile and opcfile. Pass on to cgen.
-
-2003-09-04 Nick Clifton <nickc@redhat.com>
-
- * v850-dis.c (disassemble): Accept bfd_mach_v850e1.
- * v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions.
-
-2003-09-04 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-dis.c (struct dis_private): New.
- (powerpc_dialect): Make static. Accept -Many in addition to existing
- options. Save dialect in dis_private.
- (print_insn_big_powerpc): Retrieve dialect from dis_private.
- (print_insn_little_powerpc): Likewise.
- (print_insn_powerpc): Call powpc_dialect here. Remove unnecessary
- efs/altivec check. Try harder to disassemble if given -Many.
- * ppc-opc.c (insert_fxm): Expand comment.
- (PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
- (POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
- (POWER4): Remove PPCCOM.
- (PPCONLY): Don't define. Update all occurrences to PPC.
-
-2003-09-03 Andrew Cagney <cagney@redhat.com>
-
- * dis-init.c (init_disassemble_info): New file and function.
- * Makefile.am (CFILES): Add "dis-init.c".
- (libopcodes_la_SOURCES): Add "dis-init.c".
- (dis-init.lo): Specify dependencies.
- * Makefile.in: Regenerate.
-
-2003-09-03 Dave Brolley <brolley@redhat.com>
-
- * frv-*: Regenerated.
-
-2003-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
- Move duplicate mnemonic entries together. Use RS instead of RT on
- all mt*.
- * ppc-dis.c: Convert to ISO C.
-
-2003-08-29 Dave Brolley <brolley@redhat.com>
-
- * Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from
- $(srcdir)/../cpu temporarily when regenerating source files.
- * Makefile.in: Regenerated.
-
-2003-08-19 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn_arm: case 'A'): Add code to
- disassemble unindexed form of Addressing Mode 5.
-
-2003-08-19 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (PPC440): Define.
- (powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
- icread instructions when PPC440. Add dlmzb instruction.
-
-2003-08-14 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Remove libintl.h.
- * Makefile.am (POTFILES.in): Unset LC_COLLATE.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-08-07 Michael Meissner <gnu@the-meissners.org>
-
- * cgen-asm.c (hash_insn_array): Remove PARAMS macro.
- (hash_insn_list): Ditto.
- (build_asm_hash_table): Ditto.
- (cgen_set_parse_operand_fn): Prototype definition.
- (cgen_init_parse_operand): Ditto.
- (hash_insn_array): Ditto.
- (hash_insn_list): Ditto.
- (build_asm_hash_table): Ditto.
- (cgen_asm_lookup_insn): Ditto.
- (cgen_parse_keyword): Ditto.
- (cgen_parse_signed_integer): Ditto.
- (cgen_parse_unsigned_integer): Ditto.
- (cgen_parse_address): Ditto.
- (cgen_validate_signed_integer): Ditto.
- (cgen_validate_unsigned_integer): Ditto.
-
- * cgen-opc.c (hash_keyword_name): Remove PARAMS macro.
- (hash_keyword_value): Ditto.
- (build_keyword_hash_tables): Ditto.
- (cgen_keyword_lookup_name): Prototype definition.
- (cgen_keyword_lookup_value): Ditto.
- (cgen_keyword_add): Ditto.
- (cgen_keyword_search_init): Ditto.
- (cgen_keyword_search_next): Ditto.
- (hash_keyword_name): Ditto.
- (hash_keyword_value): Ditto.
- (build_keyword_hash_tables): Ditto.
- (cgen_hw_lookup_by_name): Ditto.
- (cgen_hw_lookup_by_num): Ditto.
- (cgen_operand_lookup_by_name): Ditto.
- (cgen_operand_lookup_by_num): Ditto.
- (cgen_insn_count): Ditto.
- (cgen_macro_insn_count): Ditto.
- (cgen_get_insn_value): Ditto.
- (cgen_put_insn_value): Ditto.
- (cgen_lookup_insn): Ditto.
- (cgen_get_insn_operands): Ditto.
- (cgen_lookup_get_insn_operands): Ditto.
- (cgen_set_signed_overflow_ok): Ditto.
- (cgen_clear_signed_overflow_ok): Ditto.
- (cgen_signed_overflow_ok_p): Ditto.
-
- * cgen-dis.c (hash_insn_array): Remove PARAMS macro.
- (hash_insn_list): Ditto.
- (build_dis_hash_table): Ditto.
- (count_decodable_bits): Ditto.
- (add_insn_to_hash_chain): Ditto.
- (count_decodable_bits): Prototype definition.
- (add_insn_to_hash_chain): Ditto.
- (hash_insn_array): Ditto.
- (hash_insn_list): Ditto.
- (build_dis_hash_table): Ditto.
- (cgen_dis_lookup_insn): Ditto.
-
- * cgen-asm.in (parse_insn_normal): Remove PARAMS macro.
- (@arch@_cgen_build_insn_regex): Prototype definition.
- (parse_insn_normal): Ditto.
- (@arch@_cgen_assemble_insn): Ditto.
- (@arch@_cgen_asm_hash_keywords): Ditto.
-
- * cgen-dis.in (print_normal): Remove PARAMS macro. Use void *
- instead of PTR.
- (print_address): Ditto.
- (print_keyword): Ditto.
- (print_insn_normal): Ditto.
- (print_insn): Ditto.
- (default_print_insn): Ditto.
- (read_insn): Ditto.
- (print_normal): Prototype definition. Use void * instead of PTR.
- (print_address): Ditto.
- (print_keyword): Ditto.
- (print_insn_normal): Ditto.
- (read_insn): Ditto.
- (print_insn): Ditto.
- (default_print_insn): Ditto.
- (print_insn_@arch@): Ditto.
-
- * cgen-ibld.in (insert_normal): Remove PARAMS macro.
- (insn_insn_normal): Ditto.
- (extract_normal): Ditto.
- (extract_insn_normal): Ditto.
- (put_insn_int_value): Ditto.
- (insert_1): Ditto.
- (fill_cache): Ditto.
- (extract_1): Ditto.
- (insert_1): Prototype definition.
- (insert_normal): Ditto.
- (insert_insn_normal): Ditto.
- (put_insn_int_value): Ditto.
- (fill_cache): Ditto.
- (extract_1): Ditto.
- (extract_normal): Ditto.
- (extract_insn_normal): Ditto.
-
- * fr30-asm.c: Regenerate.
- * fr30-dis.c: Ditto.
- * fr30-ibld.c: Ditto.
- * frv-asm.c: Ditto.
- * frv-dis.c: Ditto.
- * frv-ibld.c: Ditto.
- * ip2k-asm.c: Ditto.
- * ip2k-dis.c: Ditto.
- * ip2k-ibld.c: Ditto.
- * iq2000-asm.c: Ditto.
- * iq2000-dis.c: Ditto.
- * iq2000-ibld.c: Ditto.
- * m32r-asm.c: Ditto.
- * m32r-dis.c: Ditto.
- * m32r-ibld.c: Ditto.
- * openrisc-asm.c: Ditto.
- * openrisc-dis.c: Ditto.
- * openrisc-ibld.c: Ditto.
- * xstormy16-asm.c: Ditto.
- * xstormy16-dis.c: Ditto.
- * xstormy16-ibld.c: Ditto.
-
-2003-08-06 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-08-05 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add nl.
- * configure: Regenerate.
- * po/nl.po: New Dutch translation.
-
-2003-07-30 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c: Convert to ISO C90. Remove superflous prototypes.
-
-2003-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/ro.po: Updated Romanian translation.
-
-2003-07-29 Jakub Jelinek <jakub@redhat.com>
-
- * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
-
-2003-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
-
-2003-07-18 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (parse_arm_disassembler_option): Do not expect
- option string to be NUL terminated.
- (parse_disassembler_options): Allow options to be space or
- comma separated.
-
-2003-07-17 Nick Clifton <nickc@redhat.com>
-
- * po/es.po: New Spanish translation.
- * po/sv.po: New Swedish translation.
- * po/opcodes.pot: Regenerate.
-
-2003-07-15 Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries.
-
-2003-07-14 Nick Clifton <nickc@redhat.com>
-
- * po/tr.po: Update with latest version.
- * po/POTFILES.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2003-07-11 Alan Modra <amodra@bigpond.net.au>
-
- * po/opcodes.pot: Regenerate.
-
-2003-07-09 Alexandre Oliva <aoliva@redhat.com>
-
- 2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-dis.c (disassemble): Negate negative accumulator's shift.
- 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume
- 32-bit longs when sign-extending operands.
- 2000-04-20 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs.
- * m10300-dis.c (HAVE_AM33_2): Define.
- (disassemble): Use it.
- (HAVE_AM33): Redefine.
- (print_insn_mn10300): Fix mask for 5-byte extended insns.
- 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Renamed AM332 to AM33_2.
- 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
- * m10300-opc.c: Defined AM33 2.0 register operands. Added support
- for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and
- bclr. Implemented `fbCC', `flCC', `dcpf' and all FP insns.
- * m10300-dis.c (print_insn_mn10300): Recognize 5byte extended
- insn code of AM33 2.0.
- (disassemble): Recognize FMT_D3. Print out FP register names.
-
-2003-07-09 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (set_default_mips_dis_options): Get BFD from
- the disassembler_info's section, rather than from the
- disassembler_info's symbols pointer.
-
-2003-07-07 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Remove NULL pointer checks. Formatting. Remove
- extraneous ATTRIBUTE_UNUSED.
- * ppc-dis.c (print_insn_powerpc): Always pass a valid address to
- operand->extract.
-
-2003-07-04 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Convert to C90, removing unnecessary prototypes and
- casts. Formatting.
-
- * ppc-opc.c: Remove PARAMS from prototypes.
- (FXM4): Define.
- (insert_fxm): New function, used by both FXM and FXM4.
- (extract_fxm): Likewise.
- (XFXFXM_MASK): Remove 1 << 20 term.
- (powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask.
-
-2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (s390_extract_operand): Add support for long displacements.
- * s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
- * s390-opc.c (D20_20): Add define for 20 bit displacements.
- (INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
- INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
- new instruction formats.
- (MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
- MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
- (s390_opformats): Likewise.
- * s390-opc.txt: Add new instructions for cpu type z990. Add missing
- hfp instructions. Add missing instructions pgin, pgout and xsch.
-
-2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in
- Intel Precott New Instructions.
- (PREGRP27): New. Added for "addsubpd" and "addsubps".
- (PREGRP28): New. Added for "haddpd" and "haddps".
- (PREGRP29): New. Added for "hsubpd" and "hsubps".
- (PREGRP30): New. Added for "movsldup" and "movddup".
- (PREGRP31): New. Added for "movshdup" and "movhpd".
- (PREGRP32): New. Added for "lddqu".
- (dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry.
- Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for
- entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for
- entry 0xd0. Use PREGRP32 for entry 0xf0.
- (twobyte_has_modrm): Updated.
- (twobyte_uses_SSE_prefix): Likewise.
- (grps): Use PNI_Fixup in the "sidtQ" entry.
- (prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30,
- PREGRP31 and PREGRP32.
- (float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb.
- Use "fisttpll" in entry 1 in opcode 0xdd.
- Use "fisttp" in entry 1 in opcode 0xdf.
-
-2003-06-19 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (instr_data_s): Change tabl_index from long to int.
- (print_insn_z8k): Correctly check return value from
- z8k_lookup_instr call.
- (unparse_instr): Handle CLASS_IRO case.
- * z8kgen.c: Fix function definitions. Fix formatting.
- (opt): Add brk opcode alias for non-simulator breakpoint. Add
- missing and fix existing in/out and sin/sout opcode definitions.
- (args): "@ri", "@ro" - add CLASS_IRO register usage for in/out
- opcodes.
- (internal): Check p->flags for non-zero before dereferencing it.
- (gas): Add CLASS_IRO line. Insert new OPC_xxx lines for the added
- opcodes and renumber the remaining lines repectively.
- (main): Remove "-d" command line switch.
- * z8k-opc.h: Regenerate with new z8kgen.c.
-
-2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * po/Make-in (DESTDIR): New.
- (install-data-yes): Support $(DESTDIR).
- (uninstall): Likewise.
-
-2003-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2003-06-10 Doug Evans <dje@sebabeach.org>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to
- CGEN_INSN_RELAXED.
- * fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate.
- * frv-asm.c,frv-desc.c,frv-desc.h: Regenerate.
- * ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate.
- * iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate.
- * m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate.
- * openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate.
- * xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate.
-
-2003-06-10 Gary Hade <garyhade@us.ibm.com>
- Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define.
- (insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New.
- (powerpc_opcodes): Add "attn", "lq" and "stq".
-
-2003-06-10 Richard Sandiford <rsandifo@redhat.com>
-
- * h8300-dis.c (bfd_h8_disassemble): Don't print brackets round
- rts/l and rte/l register lists.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
- * frv-desc.c: Regenerate.
- * frv-opc.c: Regenerate.
- * frv-asm.c: Regenerate.
* frv-desc.h: Regenerate.
- * frv-dis.c: Regenerate.
- * frv-ibld.c: Regenerate.
- * frv-opc.h: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2003-06-03 Michael Snyder <msnyder@redhat.com>
- and Bernd Schmidt <bernds@redhat.com>
- and Alexandre Oliva <aoliva@redhat.com>
-
- * disassemble.c (disassembler): Add support for h8300sx.
- * h8300-dis.c: Ditto.
-
-2003-06-03 Nick Clifton <nickc@redhat.com>
-
* frv-desc.c: Regenerate.
* frv-opc.c: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
- * iq2000-asm.c: Regenerate.
- * iq2000-desc.c: Regenerate.
- * iq2000-desc.h: Regenerate.
- * iq2000-dis.c: Regenerate.
- * iq2000-ibld.c: Regenerate.
- * iq2000-opc.c: Regenerate.
- * iq2000-opc.h: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2003-05-23 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
- (print_insn_i860): Grab 4 bits of the control register field
- instead of 3.
-
-2003-05-18 Jason Eckhardt <jle@rice.edu>
-
- * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
- print it.
-
-2003-05-17 Andreas Jaeger <aj@suse.de>
-
- * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
- (libopcodes_la_DEPENDENCIES): Add libbfd.la.
- * Makefile.in: Regenerated.
-
-2003-05-16 Nick Clifton <nickc@redhat.com>
-
- * configure.in (ALL_LINGUAS): Add Romanian translation.
- * configure: Regenerate.
- * po/ro.po: New file: Romanian translation.
-
-2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
-
- * disassemble.c (disassembler): Add support for h8300hn and h8300sn.
-
-2003-05-09 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in
- case char is unsigned.
-
-2003-05-01 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
- (unpack_instr): Fix representation of segmented addresses.
- (intr_name): Added, contains names of the parameters to the EI/DI
- instructions.
- (unparse_instr): Fix display of EI/DI parameters.
-
-2003-04-22 Doug Evans <dje@sebabeach.org>
-
- * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate.
- * frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate.
- * ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate.
- * m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
- * openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate.
- * xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate.
-
-2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
-
- * h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'.
-
-2003-04-07 James E Wilson <wilson@tuliptree.org>
-
- * ia64-ic.tbl (fr-readers): Add mem-writers-fp.
- * ia64-asmtab.c: Regenerate.
-
-2003-04-08 Alexandre Oliva <aoliva@redhat.com>
-
- * mips-dis.c (mips_gpr_names_newabi): Reverted previous patch.
-
-2003-04-07 Alexandre Oliva <aoliva@redhat.com>
-
- * mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7.
-
-2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and
- s/c3x/tic3x/
-
-2003-04-01 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c: Remove presence of (r) and (tm) symbols.
- * arm-opc.h: Remove presence of (r) and (tm) symbols.
-
-2003-03-25 Stan Cox <scox@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- Contribute support for Intel's iWMMXt chip - an ARM variant:
-
- * arm-dis.c (regnames): Add iWMMXt register names.
- (set_iwmmxt_regnames): New function.
- (print_insn_arm): Handle iWMMXt formatters.
- * arm-opc.h: Document iWMMXt formatters.
- (arm_opcod): Add iWMMXt instructions.
-
-2003-03-22 Doug Evans <dje@sebabeach.org>
-
- * i386-dis.c (dis386): Recognize icebp (0xf1).
-
-2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to
- S390_OPCODE_ZARCH.
- (print_insn_s390): Use new modes field of s390_opcodes.
- * s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove.
- (s390_opcode_mode_val, s390_opcode_cpu_val): New enums.
- (struct op_struct): Remove archbits. Add mode_bits and min_cpu.
- (insertOpcode): Replace archbits by min_cpu and mode_bits.
- (dumpTable): Write mode_bits and min_cpu instead of archbits.
- (main): Adapt to new format in s390-opcode.txt.
- * s390-opc.c (s390_opformats): Replace archbits by min_cpu and
- mode_bits.
- * s390-opc.txt: Replace archbits by min_cpu and mode_bits.
-
-2003-03-17 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c: Fix formatting. Update copyright date.
-
-2003-03-14 Daniel Jacobowitz <drow@mvista.com>
-
- * ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
-
-2003-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * hppa-dis.c: Formatting.
-
-2003-02-25 Matthew Wilcox <willy@debian.org>
-
- * hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers.
-
- * hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print
- the space register when the value is zero.
-
-2003-02-23 Elias Athanasopoulos <elathan@phys.uoa.gr>
-
- * mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned,
- use ARRAY_SIZE in loops.
-
-2003-02-12 Dave Brolley <brolley@redhat.com>
-
- * fr30-desc.c: Regenerate.
-
-2003-02-06 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
-
- * i386-dis.c (dq_mode, Edq): Define.
- (dis386_twobyte): Correct movd operands.
- (OP_E): Handle dq_mode case.
-
-2003-01-29 Henric Jungheim <henric@attbi.com>
-
- * sparc-dis.c (print_insn_sparc): When examining values added in
- to rs1, make sure that there are previous instructions.
-
-2003-01-23 Nick Clifton <nickc@redhat.com>
-
- * Add sh2e support:
-
- 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e.
- * sh-opc.h (arch_sh2e, arch_sh2e_up): New.
- (arch_sh2_up): Added sh2e.
- (sh_table): Replaced all occurrences of arch_sh3e_up with
- arch_sh2e_up, except in fsqrt.
-
-2003-01-23 Alan Modra <amodra@bigpond.net.au>
-
- * sh64-dis.c: Include elf32-sh64.h.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2003-01-17 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
- PAL entry points.
-
-2003-01-16 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2003-01-08 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
- * Makefile.in: Regenerate.
-
-2003-01-08 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
-
-2002-01-02 Ben Elliston <bje@redhat.com>
- Jeff Johnston <jjohnstn@redhat.com>
-
- * iq2000-asm.c: New file.
- * iq2000-desc.c: Likewise.
- * iq2000-desc.h: Likewise.
- * iq2000-dis.c: Likewise.
- * iq2000-ibld.c: Likewise.
- * iq2000-opc.c: Likewise.
- * iq2000-opc.h: Likewise.
- * Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h.
- (CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c,
- iq2000-ibld.c, iq2000-opc.c.
- (ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo,
- iq2000-ibld.lo, iq2000-opc.lo.
- (CLEANFILES): Add stamp-iq2000.
- (IQ2000_DEPS): New macro.
- (stamp-iq2000): New target.
- * Makefile.in: Regenerate.
- * configure.in: Handle bfd_iq2000_arch.
- * configure: Regenerate.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (print_insn_args): Use position extracted by "+A"
- to calculate size for "+B". Redo code for "+C" so it shares
- the same style as "+A" and "+B" now do.
-
-2003-01-02 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c: Update copyright years.
- (print_insn_arg): Rename to...
- (print_insn_args): This, returning void. Process the whole
- string of args rather than a single one. Reindent.
- (print_insn_mips): Update to match the above.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Move "di" into the
- right order alphabetically, and make all hex constants use
- lower-case letters.
-
-2002-12-31 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_cp0sel_name): New structure.
- (mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2)
- (mips_cp0sel_names_sb1): New arrays.
- (mips_arch_choice): New structure members "cp0sel_names" and
- "cp0sel_names_len".
- (mips_arch_choices): Add references to new cp0sel_names arrays
- as appropriate, and make all existing entries reference
- appropriate mips_XXX_names_numeric arrays rather than simply
- using NULL.
- (mips_cp0sel_names, mips_cp0sel_names_len): New variables.
- (lookup_mips_cp0sel_name): New function.
- (set_default_mips_dis_options): Set mips_cp0sel_names and
- mips_cp0sel_names_len as appropriate. Remove now-unnecessary
- checks for NULL register name arrays.
- (parse_mips_dis_option): Likewise.
- (print_insn_arg): Handle "+D" operand type.
- * mips-opc.c (mips_builtin_opcodes): Add new "+D" variants
- of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register
- names symbolically.
-
-2002-12-30 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
- (mips_hwr_names_mips3264r2): New arrays.
- (mips_arch_choice): New "hwr_names" member.
- (mips_arch_choices): Adjust for structure change, and add a new
- entry for "mips32r2" ISA.
- (mips_hwr_names): New variable.
- (set_default_mips_dis_options): Set mips_hwr_names.
- (parse_mips_dis_option): New "hwr-names" option which sets
- mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
- (print_insn_arg): Change return type to "int"
- and use that to indicate number of characters consumed.
- Add support for "+" operand extension character, "+A", "+B",
- "+C", and "K" operands.
- (print_insn_mips): Adjust for changes to print_insn_arg.
- (print_mips_disassembler_options): Adjust for "hwr-names"
- addition and "reg-names" change.
- * mips-opc (I33): New define (shorthand for INSN_ISA32R2).
- (mips_builtin_opcodes): Note that "nop" and "ssnop" are special
- forms of "sll". Add new MIPS32 Release 2 instructions: ehb,
- di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
- rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
- Note that hardware rotate instructions (ror, rorv) can be
- used on MIPS32 Release 2, and add the official mnemonics
- for them (rotr, rotrv) and the similar "rotl" mnemonic for
- left-rotate.
-
-2002-12-30 Dmitry Diky <diwil@mail.ru>
-
- * configure.in: Add msp430 target.
- * configure: Regenerate.
- * disassemble.c: Add entry for msp430 disassembly.
- * msp430-dis.c: New file: msp430 disassembler.
-
-2002-12-27 Chris Demetriou <cgd@broadcom.com>
-
- * disassemble.c (disassembler_usage): Add invocation of
- print_mips_disassembler_options.
- * mips-dis.c: Include libiberty.h.
- (print_mips_disassembler_options, set_default_mips_dis_options)
- (parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name)
- (choose_arch_by_name, choose_arch_by_number): New functions.
- (mips_abi_choice, mips_arch_choice): New structures.
- (mips32_reg_names, mips64_reg_names, reg_names): Remove.
- (mips_gpr_names_numeric, mips_gpr_names_oldabi)
- (mips_gpr_names_newabi, mips_fpr_names_numeric)
- (mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64)
- (mips_cp0_names_numeric, mips_cp0_names_mips3264)
- (mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices)
- (mips_processor, mips_isa, mips_gpr_names, mips_fpr_names)
- (mips_cp0_names): New variables.
- (print_insn_args): Use new variables to print GPR, FPR, and CP0
- register names.
- (mips_isa_type): Remove.
- (print_insn_mips): Remove ISA and CPU setup since it is now done...
- (_print_insn_mips): Here. Remove register setup code, and
- call set_default_mips_dis_options and parse_mips_dis_options
- instead.
- (print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names.
-
-2002-12-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.in: Regenerate.
-
-2002-12-19 Nick Kelsey <nickk@ubicom.com>
-
- * cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character
- check to fix false keyword trigger with names such as <keyword>_foo.
-
-2002-12-19 Doug Evans <dje@sebabeach.org>
-
- * Makefile.am (CGEN_CPUS): New variable.
- (run-cgen-all): New rule.
- * Makefile.in: Regenerate.
-
-2002-12-18 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two
- "dror" entries, and reorder the remaining "dror" and "ror" entries.
-
-2002-12-16 DJ Delorie <dj@delorie.com>
-
- * xstormy16-asm.c (parse_immediate16): Add prototype.
-
-2002-12-16 Andrew MacLeod <amacleod@redhat.com>
-
- * xstormy16-asm.c: Regenerate.
-
-2002-12-16 Alan Modra <amodra@bigpond.net.au>
-
- * ns32k-dis.c (print_insn_ns32k): Constify "d", remove register
- keyword.
-
-2002-12-13 Alan Modra <amodra@bigpond.net.au>
-
- * h8500-opc.h (h8500_table): Add missing initializers to quiet
- warnings.
- * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
- * pj-opc.c (pj_opc_info): Add braces around union initializer.
- * z8kgen.c: Include "libiberty.h".
- (opt, args, toks): Fix initializer warnings.
- (chewname): Make "name" a char **. Return mnemonic trimmed of
- operands.
- (gas): Improve emitted "DO NOT EDIT" warning. Format emitted
- opcode_entry_type, and make "nicename" and "name" const. Make
- z8k_table const too. Formatting. Generate idx as gas needs it.
- * z8k-opc.h: Regenerate.
-
-2002-12-08 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_indexed_operand): Fix PC-relative address
- for 9 and 16-bit PC-relative addressing mode.
-
-2002-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
- evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
- evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
- evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
- evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
- evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
- evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
- evmwhgsmian, evmwhgumian.
- (mftb): Add to opcode table.
- (mtspefscr): Change RT to RS in opcode table.
-
-2002-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Move mbar and msync up. Change mask for mbar and
- msync.
-
-2002-12-04 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
- * ia64-opc-b.c: Add "hint.b" instruction.
- * ia64-opc-f.c: Add "hint.f" instruction.
- * ia64-opc-i.c: Add "hint.i" instruction.
- * ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
- "cmp8xchg16" instructions.
- * ia64-opc-x.c: Add "hint.x" instruction.
-
- * ia64-opc.h (AR_CSD): New macro.
-
- * ia64-ic.tbl: Update according to SDM2.1.
- * ia64-raw.tbl: Ditto.
- * ia64-waw.tbl: Ditto.
-
- * ia64-gen.c (in_iclass): Handle "hint" like "nop".
- (lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
- AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
- * ia64-asmtab.c: Regenerate.
-
-2002-11-25 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
- evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
-
-2002-12-04 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c (PMRN): Remove.
- (RA): Set to NB + 1.
- (powerpc_opcodes): Change PMRN to SPR.
- Change all RD to RS.
- Change mftb to look like mftbl.
- Move mftb before mftbl.
- Add mfbbtar.
- Add mtbbtar.
- Change mfpmr to use PMR.
- Change mtpmr to use PMR.
- (RD): Remove.
- (insert_ev2): Fix mask and shift.
- (extract_ev2): Same.
- (insert_ev4): Same.
- (extract_ev4): Same.
- (PMR): Define.
- (extract_pmrn): Remove.
- (insert_pmrn): Remove.
-
-2002-12-03 Richard Henderson <rth@redhat.com>
-
- * ia64-opc-m.c: Add ld8.mov.
- * ia64-asmtab.c: Regenerate.
-
-2002-12-02 Alan Modra <amodra@bigpond.net.au>
-
- * arm-dis.c (print_insn_arm): Constify "insn". Formatting.
- (print_insn_thumb): Likewise.
- * h8500-dis.c (print_insn_h8500): Constify "opcode".
- * mcore-dis.c (print_insn_mcore): Constify "op". Formatting.
- * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
- type-punned pointer warnings.
- <case 'L'>: Likewise. Fix error message too.
- * pdp11-dis.c (print_reg): Warning fix.
- * sh-dis.c (print_movxy): Constify "op" param.
- (print_insn_ddt): Constify sh_opcode_info vars.
- (print_insn_ppi): Likewise.
- (print_insn_sh): Likewise.
- * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
- type-punned pointer warnings.
- * w65-dis.c (print_insn_w65): Constify "op".
-
-2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (PC_REGNUM): Define.
- (print_indexed_operand): Need an adjustment for some PC-relative
- operand modes; print the final address of PC-relative modes.
- (print_insn): Take into account movw/movb to adjust the PC-relative
- operand addresses.
-
-2002-11-30 Alan Modra <amodra@bigpond.net.au>
-
- *arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c,
- sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with
- TRUE, false with FALSE. Simplify comparisons of bfd_boolean vars
- with TRUE/FALSE. Formatting.
-
-2002-11-25 DJ Delorie <dj@redhat.com>
-
- * xstormy16-opc.c: Regenerate.
-
-2002-11-25 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
-
-2002-11-15 DJ Delorie <dj@redhat.com>
-
- * xstormy16-desc.c: Regenerate.
- * xstormy16-opc.c: Regenerate.
- * xstormy16-opc.h: Regenerate.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * avr-dis.c: Include libiberty.h (for xmalloc).
- (struct avr_opcodes_s): Remove 'bin_mask' field (it's
- automatically computed in the init routine).
- (AVR_INSN): No longer provide bin_mask field in initializer.
- (avr_opcodes_s): Declare as const.
- (print_insn_avr): Store the bin_mask field in a separate table
- (allocated with xmalloc); iterate through it at the same time as
- we iterate through the opcodes.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * h8300-dis.c: Include libiberty.h (for xmalloc).
- (struct h8_instruction): New type, used to wrap h8_opcodes with a
- length field (computed at run-time).
- (h8_instructions): New variable.
- (bfd_h8_disassemble_init): Allocate the storage for
- h8_instructions. Fill h8_instructions with pointers to the
- appropriate opcode and the correct value for the length field.
- (bfd_h8_disassemble): Iterate through h8_instructions instead of
- h8_opcodes.
-
-2002-11-18 Klee Dienes <kdienes@apple.com>
-
- * arc-opc.c (arc_ext_opcodes): Define.
- (arc_ext_operands): Define.
- * i386-dis.c (Suffix3DNow): Declare as const.
- * arm-opc.h (arm_opcodes): Declare as const.
- (thumb_opcodes): Declare as const.
- * h8500-opc.h (h8500_table): Declare as const.
- (h8500_table): Use a NULL for the opcode in the terminator, so
- that code testing (opcode->name) behaves correctly.
- * mcore-opc.h (mcore_table): Declare as const.
- * sh-opc.h (sh_table): Declare as const.
- * w65-opc.h (optable): Declare as const.
- * z8k-opc.h (z8k_table): Declare as const.
-
-2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Added support for enhanced and special insn.
- (c4x_print_op): Added insn class 'i' and 'j'
- (c4x_hash_opcode_special): Add to support special insn
- (c4x_hash_opcode): Update to support the new opcode-list
- format. Add support for the new special insns.
- (c4x_disassemble): New opcode-list support.
-
-2002-11-16 Klee Dienes <kdienes@apple.com>
-
- * m88k-dis.c: Include libiberty.h (for xmalloc).
- (HASHTAB): New type, used to build instruction hash tables.
- Contains a pointer to an INSTAB and a pointer to the next hash
- chain entry.
- (instructions): Move definition from m88k.h; remove initialization
- of 'next' field.
- (hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
- (printop): Mark pointer to OPSPEC as const.
- (install): Remove; fold into init_disasm.
- (m88kdis): Update to ihashtab_initialized to 1 after calling
- init_disasm. entry_ptr now iterates through HASHTABs, not
- INSTABs.
- (init_disasm): Iterate through the instructions and add to
- hashtable[].
-
-2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: (c4x_print_op): Add support for the new argument
- format. Fix bug in 'N' register printer.
-
-2002-11-12 Segher Boessenkool <segher@koffie.nl>
-
- * ppc-dis.c (print_insn_powerpc): Correct condition register display.
-
-2002-11-07 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c (EVUIMM_4): Change bit size to 32.
- (EVUIMM_2): Same.
- (EVUIMM_8): Same.
-
-2002-11-07 Klee Dienes <kdienes@apple.com>
-
- * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir'
- argument to ia64-gen.
- Regenerate dependencies for ia64-len.lo.
- * Makefile.in: Regenerate.
- * ia64-gen.c: Convert to use getopt(). Add the standard GNU
- options, as well as '--srcdir', which controls the directory in
- which ia64-gen looks for the sources it uses to generate the
- output table. Add a 'const' to the declaration of the final
- output table. Call xmalloc_set_program_name to set the program
- name.
- * ia64-asmtab.c: Regenerate.
-
-2002-11-07 Nick Clifton <nickc@redhat.com>
-
- * ia64-gen.c: Fix comment formatting and compile time warnings.
- * ia64-opc-a.c: Fix compile time warnings.
- * ia64-opc-b.c: Likewise.
- * ia64-opc-d.c: Likewise.
- * ia64-opc-f.c: Likewise.
- * ia64-opc-i.c: Likewise.
- * ia64-opc-m.c: Likewise.
- * ia64-opc-x.c: Likewise.
-
-2002-11-06 Aldy Hernandez <aldyh@redhat.com>
-
- * ppc-opc.c: Change RD to RS for evmerge*.
-
-2002-10-07 Nathan Tallent <eraxxon@alumni.rice.edu>
-
- * sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge,
- fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge,
- fbul, fbule>: Add conditional/unconditional branch
- classification.
-
-2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_insn): Treat bitmask and branch operands
- at the end.
-
-2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
- Ken Raeburn <raeburn@cygnus.com>
- Aldy Hernandez <aldyh@redhat.com>
- Eric Christopher <echristo@redhat.com>
- Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'.
- (mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400
- and bfd_mach_mips5500.
- * mips-opc.c (V1): Include INSN_4111 and INSN_4120.
- (N411, N412, N5, N54, N55): New convenience defines.
- (mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes.
- Change dmadd16 and madd16 from V1 to N411.
-
-2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (print_insn_mips): Always allow disassembly of
- 32-bit jalx opcode.
-
-2002-09-24 Nick Clifton <nickc@redhat.com>
-
- * po/de.po: Updated German translation.
-
-2002-09-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-09-20 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr
- register names are accepted.
-
-2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED.
- Convert functions to K&R format.
-
-2002-09-13 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (MFDEC2): Include Book-E.
- (PPCCHLK64): New opcode mask.
- (evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid,
- mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl,
- mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1,
- mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr,
- mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5,
- mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11,
- mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0,
- mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear,
- mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7,
- mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3,
- mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0,
- mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7,
- mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13,
- mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New
- Book-E instructions.
- (evfsneg): Fix opcode value.
- (dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64
- mask.
- (mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit
- Book-E.
- (extsw): Restrict to 64-bit PPC instruction sets.
- (extsw.): Does not exist in 64-bit Book-E.
- (powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as
- they are no longer needed.
-
-2002-09-12 Gary Hade <garyhade@us.ibm.com>
-
- * ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC.
-
-2002-09-11 Nick Clifton <nickc@redhat.com>
-
- * po/da.po: Updated Danish translation file.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * disassemble.c (disassembler_usage): Add invocation of
- print_ppc_disassembler_options.
- * ppc-dis.c (print_ppc_disassembler_options): New function.
-
-2002-09-04 Nick Clifton <nickc@redhat.com>
-
- * ppc-opc.c: The BookE implementations of the TLBWE and TLBRE
- instructions do not take any arguments.
-
-2002-09-02 Nick Clifton <nickc@redhat.com>
-
- * v850-opc.c: Remove redundant references to V850EA architecture.
-
-2002-09-02 Alan Modra <amodra@bigpond.net.au>
-
- * arc-opc.c: Include bfd.h.
- (arc_get_opcode_mach): Subtract off base bfd_mach value.
-
-2002-08-30 Alan Modra <amodra@bigpond.net.au>
-
- * v850-dis.c (disassemble): Remove bfd_mach_v850ea case.
-
- * mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants.
-
-2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
-
- * configure.in: Added bfd_tic4x_arch.
- * configure: Regenerate.
- * Makefile.am: Added tic4x-dis.o target.
- * Makefile.in: Regenerate.
-
-2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
-
- * disassemble.c: Added tic4x target and c4x
- disassembler routine.
- * tic4x-dis.c: New file.
-
-2002-08-16 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
- values as those.
- * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
- * z8k-opc.h: Regenerated with new z8kgen.c.
-
-2002-08-19 Elena Zannoni <ezannoni@redhat.com>
-
- From matthew green <mrg@redhat.com>
-
- * ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
- `-mefs'. Turn off AltiVec for E500 and efs.
- (print_insn_powerpc): Don't print an AltiVec instruction if the
- dialect is not efs.
-
- * ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
- insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
- for extracting pmrn/evld/evstd/etc operands.
- (CRB, CRFD, CRFS, DC, RD): New instruction fields.
- (CT): Make this equal to RD + 1.
- (PMRN): New operand.
- (RA): Update.
- (EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
- (WS): Update.
- (EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
- (ISEL, ISEL_MASK): New instruction form and mask for ISEL.
- (XISEL, XISEL_MASK): New instruction form and mask for ISEL.
- (CTX, CTX_MASK): New instruction form and mask for context cache
- instructions.
- (UCTX, UCTX_MASK): New instruction form and mask for user context
- cache instructions.
- (XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
- (CLASSIC): New define.
- (PPCESPE): New define.
- (PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
- defines for integer select, cache control, branch
- locking, power management, cache locking and machine check
- APU instructions, respectively.
- (efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
- efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
- efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
- efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
- evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
- evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
- evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
- evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
- evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
- evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
- evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
- evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
- evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
- evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
- evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
- evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
- evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
- evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
- evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
- evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
- evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
- evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
- evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
- evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
- evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
- evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
- evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
- evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
- evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
- evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
- evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
- evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
- evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
- evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
- evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
- evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
- evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
- evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
- evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
- evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
- evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
- evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
- evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
- evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
- evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
- evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
- instructions.
- (rfmci): New machine check APU instruction.
- (isel): New integer select APU instructino.
- (icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
- dcbtstlse, dcblc, dcblce): New cache control APU instructions.
- (mtspefscr, mfspefscr): New instructions.
- (mfpmr, mtpmr): New performance monitor APU instructions.
- (savecontext): New context cache APU instructions.
- (bblels, bbelr): New branch locking APU instructions.
- (bblels, bbelr): New instructions.
- (mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-opc.c: Update call operand to accept the page definition.
- Identify instructions that are branches and calls to generate a
- RL_JUMP relocation.
-
-2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
-
- * m68hc11-dis.c (print_insn): Take into account 68HC12 memory
- banks and fix disassembling of call instruction.
- (print_indexed_operand): New param to tell whether
- it was an indirect addressing operand (for disassembling call).
-
-2002-08-09 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-08-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as
- aliases to "daddiu" and "addiu".
-
-2002-07-30 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
-
-2002-07-25 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/pr_BR.po: Updated Brazilian Portuguese translation.
- * po/tr.po: Updated Turkish translation.
- * po/fr.po: Updated French translation.
-
-2002-07-24 Nick Clifton <nickc@redhat.com>
-
- * po/sv.po: Updated Swedish translation.
- * po/es.po: Updated Spanish translation.
- * po/pr_BR.po: Updated Brazilian Portuguese translation.
-
-2002-07-23 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-07-23 Nick Clifton <nickc@redhat.com>
-
- * po/fr.po: Updated French translation.
- * po/pr_BR.po: New Brazilian Portuguese translation.
- * po/id.po: Updated Indonesian translation.
- * configure.in (LINGUAS): Add pr_BR.
- * configure: Regenerate.
-
-2002-07-18 Denis Chertykov <denisc@overta.ru>
- Frank Ch. Eigler <fche@redhat.com>
- Alan Lehotsky <alehotsky@cygnus.com>
- matthew green <mrg@redhat.com>
-
- * configure.in: Add support for ip2k.
- * configure: Regenerate.
- * Makefile.am: Add support for ip2k.
- * Makefile.in: Regenerate.
- * disassemble.c: Add support for ip2k.
- * ip2k-asm.c: New generated file.
- * ip2k-desc.c: New generated file.
- * ip2k-desc.h: New generated file.
- * ip2k-dis.c: New generated file.
- * ip2k-ibld.c: New generated file.
- * ip2k-opc.c: New generated file.
- * ip2k-opc.h: New generated file.
-
-2002-07-17 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-b.c (bWhc): New macro.
- (mWhc): Ditto.
- (OpPaWhcD): Ditto.
- (ia64_opcodes_b): Correct patterns for indirect call
- instructions to use 3-bit "wh" field.
- * ia64-asmtab.c: Regnerate.
-
-2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
- * mips-opc.c (I16): New define.
- (mips_builtin_opcodes): Make jalx an I16 insn.
-
-2002-06-18 Dave Brolley <brolley@redhat.com>
-
- * po/POTFILES.in: Add frv-*.[ch].
- * disassemble.c (ARCH_frv): New macro.
- (disassembler): Handle bfd_arch_frv.
- * configure.in: Support frv_bfd_arch.
- * Makefile.am (HFILES): Add frv-*.h.
- (CFILES): Add frv-*.c
- (ALL_MACHINES): Add frv-*.lo.
- (CLEANFILES): Add stamp-frv.
- (FRV_DEPS): New variable.
- (stamp-frv): New target.
- (frv-asm.lo): New target.
- (frv-desc.lo): New target.
- (frv-dis.lo): New target.
- (frv-ibld.lo): New target.
- (frv-opc.lo): New target.
- (frv-*.[ch]): New files.
-
-2002-06-18 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen.
- * Makefile.in: Regenerate.
-
-2002-06-08 Alan Modra <amodra@bigpond.net.au>
-
- * a29k-dis.c: Replace CONST with const.
- * h8300-dis.c: Likewise.
- * m68k-dis.c: Likewise.
- * or32-dis.c: Likewise.
- * sparc-dis.c: Likewise.
-
-2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in: Add "sh5*-*" to list of targets which include
- sh64 support.
- * configure: Regenerate.
-
-2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-opc.c: Clean up a few whitespace issues, and sort a
- few entries understanding that 'x' follows 'w' in the alphabet.
-
-2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
- Ed Satterthwaite <ehs@broadcom.com>
-
- * mips-opc.c: Add support for SB-1 MDMX subset and extensions.
-
-2002-05-31 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
- Ed Satterthwaite <ehs@broadcom.com>
-
- * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
- and 'Z' formats, for MDMX.
- (mips_isa_type): Add MDMX instructions to the ISA
- bit mask for bfd_mach_mipsisa64.
- * mips-opc.c: Add support for MDMX instructions.
- (MX): New definition.
-
- * mips-dis.c: Update copyright years to include 2002.
-
-2002-05-30 Diego Novillo <dnovillo@redhat.com>
-
- * d10v-opc.c (d10v_opcodes): `btsti' does not modify its
- arguments.
-
-2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
-
- * configure.in: Add DLX configuraton support.
- * configure: Regenerate.
- * Makefile.am: Add DLX configuraton support.
- * Makefile.in: Regenerate.
- * disassemble.c: Add DLX support.
- * dlx-dis.c: New file.
-
-2002-05-25 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (sh-dis.lo): Don't put make commands in deps.
- * Makefile.in: Regenerate.
- * arc-dis.c: Use #include "" instead of <> for local header files.
- * m68k-dis.c: Likewise.
-
-2002-05-22 J"orn Rennecke <joern.rennecke@superh.com>
-
- * Makefile.am (sh-dis.lo): Compile with @archdefs@.
- * Makefile.in: regenerate.
-
- * sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
- for disassembly.
-
-2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
-
-2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
-
- * disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
- * sh-dis.c (LITTLE_BIT): Delete.
- (print_insn_sh, print_insn_shl): Deleted.
- (print_insn_shx): Renamed to
- (print_insn_sh). No longer static. Handle SHmedia instructions.
- Use info->endian to determine endianness.
- * sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete.
- (print_insn_sh64x): No longer static. Renamed to
- (print_insn_sh64). Removed pfun_compact and endian arguments.
- If we got an uneven address to indicate SHmedia, adjust it.
- Return -2 for SHcompact instructions.
-
-2002-05-17 Alan Modra <amodra@bigpond.net.au>
-
- * acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools.
- * configure.in: Invoke AM_INSTALL_LIBBFD.
- * Makefile.am (install-data-local): Move to..
- (install_libopcodes): .. New target.
- (uninstall_libopcodes): Likewise.
- (install-bfdlibLTLIBRARIES): Likewise.
- (uninstall-bfdlibLTLIBRARIES): Likewise.
- (bfdlibdir): New.
- (bfdincludedir): New.
- (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-dis.c: Regenerate.
- * xstormy16-asm.c: Regenerate.
- * xstormy16-desc.c: Regenerate.
- * xstormy16-dis.c: Regenerate.
-
-2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (is_newabi): EABI is not a NewABI.
-
-2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in (shle-*-*elf*): Include sh64 support.
- * configure: Regenerate.
-
-2002-04-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
- (print_insn_mode): Print some basic info about floating point values.
-
-2002-05-09 Anton Blanchard <anton@samba.org>
-
- * ppc-opc.c: Add "tlbiel" for POWER4.
-
-2002-05-07 Graydon Hoare <graydon@redhat.com>
-
- * cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather
- than just most-recently-opened.
-
-2002-05-01 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
-
-2002-04-24 Christian Groessler <chris@groessler.org>
-
- * z8k-dis.c (print_insn_z8k): Set disassemble_info to 2
- bytes_per_chunk, 6 bytes_per_line for nicer display of the hex
- codes.
- (z8k_lookup_instr): CLASS_IGNORE case added.
- (output_instr): Don't print hex codes, they are already
- printed.
- (unpack_instr): ARG_NIM4 case added. ARG_NIM8 case
- fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases.
- (unparse_instr): Fix base and indexed addressing disassembly:
- The index is inside the brackets.
- * z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines.
- (opt): Fix shift left/right arithmetic/logical byte defines:
- The high byte of the immediate word is ignored by the
- processor.
- Fix n parameter of ldm opcodes: The opcode contains (n-1).
- (args): Fix "n" entry.
- (toks): Add "nim4" and "iiii" entries.
- * z8k-opc.h: Regenerated with new z8kgen.c.
-
-2002-04-24 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/id.po: New Indonesian translation.
- * configure.in (ALL_LIGUAS): Add id.po
- * configure: Regenerate.
-
-2002-04-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (powerpc_opcode): Fix dssall operand list.
-
-2002-04-04 Alan Modra <amodra@bigpond.net.au>
-
- * dep-in.sed: Cope with absolute paths.
- * Makefile.am (dep.sed): Subst TOPDIR.
- Run "make dep-am".
- * Makefile.in: Regenerate.
- * ppc-opc.c: Whitespace.
- * s390-dis.c: Fix copyright date.
-
-2002-03-23 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (vmaddfp): Fix operand order.
-
-2002-03-21 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2002-03-21 Anton Blanchard <anton@samba.org>
-
- * ppc-opc.c: Add optional field to mtmsrd.
- (MTMSRD_L, XRLARB_MASK): Define.
-
-2002-03-18 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (prefix_name): Fix handling of 32bit address prefix
- in 64bit mode.
- (print_insn) Likewise.
- (putop): Fix handling of 'E'
- (OP_E, OP_OFF): handle 32bit addressing mode in 64bit.
- (ptr_reg): Likewise.
-
-2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-16 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (M3D): Tweak comment.
- (mips_builtin_op): Add comment indicating that opcodes of the
- same name must be placed together in the table, and sort
- the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt",
- "rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name.
-
-2002-03-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * Makefile.am: Tidy up sh64 rules.
- * Makefile.in: Regenerate.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c: Update copyright years.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
- bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add
- comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
- indicate that they should dissassemble all applicable
- MIPS-specified ASEs.
- * mips-opc.c: Add support for MIPS-3D instructions.
- (M3D): New definition.
-
- * mips-opc.c: Update copyright years.
-
-2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name.
-
-2002-03-15 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (is_newabi): Fix ABI decoding.
-
-2002-03-14 Chris G. Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32
- and bfd_mach_mipsisa64 cases to match the rest.
-
-2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-03-13 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Add optional `L' field to tlbie.
- (XRTLRA_MASK): Define.
-
-2002-03-06 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Mark "pref" as being
- present on I4.
-
- * mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps".
-
-2002-03-05 Paul Koning <pkoning@equallogic.com>
-
- * pdp11-opc.c: Fix "mark" operand type. Fix operand types
- for float opcodes that take float operands. Add alternate
- names (xxxD vs. xxxF) for float opcodes.
- * pdp11-dis.c (print_operand): Clean up formatting for mode 67.
- (print_foperand): New function to handle float opcode operands.
- (print_insn_pdp11): Use print_foperand to disassemble float ops.
-
-2002-02-27 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/de.po: Updated.
-
-2002-02-26 Brian Gaeke <brg@dgate.org>
-
- * Makefile.am (install-data-local): Install dis-asm.h.
-
-2002-02-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (LINGUAS): Add de.po.
- * configure: Regenerate.
- * po/de.po: New file.
-
-2002-02-25 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-dis.c (powerpc_dialect): Handle power4 option.
- * ppc-opc.c (insert_bdm): Correct description of "at" branch
- hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
- (extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
- (BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
- (BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
- (PPCCOM32, PPCCOM64): Delete.
- (NOPOWER4, POWER4): Define.
- (powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
- and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
- are enabled for power4 rather than ppc64.
-
-2002-02-20 Tom Rix <trix@redhat.com>
-
- * ppc-opc.c (powerpc_operands): Add WS field. Use for tlbre, tlbwe.
-
-2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-dis.c (init_disasm): Use renamed architecture defines.
-
-2002-02-19 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
- specific.
-
-2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Updated translation.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo
- disassembly mask.
-
-2002-02-15 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add simple pseudos for
- lda, ldah, jmp, ret.
-
-2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: Updated translation.
-
-2002-02-12 Graydon Hoare <graydon@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Change call from
- @arch@_cgen_parse_operand to cd->parse_operand, to
- facilitate CGEN_ASM_INIT_HOOK doing useful work.
-
-2002-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- * sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not
- sign-extended.
-
-2002-02-11 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: "make dep-am".
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure: Regenerate.
-
-2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
-
- * configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
- support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
- shl-*-linux*.
- * configure: Regenerate.
-
-2002-02-10 Daniel Jacobowitz <drow@mvista.com>
-
- * cgen-dis.c: Add prototypes for count_decodable_bits
- and add_insn_to_hash_chain.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in <bfd_sh_arc>: Enable sh64 support on sh-*.
- * configure: Rebuilt.
-
-2002-02-08 Ivan Guzvinec <ivang@opencores.org>
-
- * or32-opc.c: Fix compile time warning messages.
- * or32-dis.c: Fix compile time warning messages.
-
-2002-02-08 Alexandre Oliva <aoliva@redhat.com>
-
- Contribute sh64-elf.
- 2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
- * sh64-opc.c: Regenerate.
- 2001-03-13 DJ Delorie <dj@redhat.com>
- * sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its
- purpose is more obvious.
- * sh64-opc.c (shmedia_table): Ditto.
- * sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto.
- (print_insn_shmedia): Ditto.
- 2001-03-12 DJ Delorie <dj@redhat.com>
- * sh64-opc.c: Adjust comments to reflect reality: replace bits
- 3:0 with zeros (not "reserved"), replace "rrrrrr" with
- "gggggg" for two-operand floating point opcodes. Remove
- "fsina".
- 2001-01-08 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (print_insn_shmedia) <failing read_memory_func>:
- Correct printing of .byte:s. Return number of printed bytes or
- -1; never 0.
- (print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto. Print as .byte:s
- to next four-byte-alignment if insn or data is not aligned.
- 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c: Update comments and fix comment formatting.
- (initialize_shmedia_opcode_mask_table) <case A_IMMM>:
- Abort instead of setting length to 0.
- (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
- crange_bsearch_cmpl, sh64_get_contents_type,
- sh64_address_in_cranges): Move to bfd/elf32-sh64.c.
- 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.c: Remove #if 0:d entries for instructions not found in
- SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo.
- 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed
- address with same prefix as SHcompact.
- In the disassembler, use a .cranges section for linked executables.
- * sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file
- and update for using structure in info->private_data.
- (struct sh64_disassemble_info): New.
- (is_shmedia_p): Delete.
- (crange_qsort_cmpb): New function.
- (crange_qsort_cmpl, crange_bsearch_cmpb): New functions.
- (crange_bsearch_cmpl, sh64_address_in_cranges): New functions.
- (init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions.
- (sh64_get_contents_type, sh64_address_is_shmedia): New functions.
- (print_insn_shmedia): Correct displaying of address after MOVI/SHORI
- pair. Display addresses for linked executables only.
- (print_insn_sh64x_media): Initialize info->private_data by calling
- init_sh64_disasm_info.
- (print_insn_sh64x): Ditto. Find out type of contents by calling
- sh64_contents_type_disasm. Display data regions using ".long" and
- ".byte" similar to unrecognized opcodes.
- 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-dis.c (is_shmedia_p): Check info->section and look for ISA
- information in section flags before considering symbols. Don't
- assume an info->mach setting of bfd_mach_sh5 means SHmedia code.
- * configure.in (bfd_sh_arch): Check presence of sh64 insns by
- matching $target $canon_targets instead of looking at the
- now-removed -DINCLUDE_SHMEDIA in $targ_cflags.
- * configure: Regenerate.
- 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.c (shmedia_creg_table): New.
- * sh64-opc.h (shmedia_creg_info): New type.
- (shmedia_creg_table): Declare.
- * sh64-dis.c (creg_name): New function.
- (print_insn_shmedia): Use it.
- * disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map
- bfd_mach_sh5 to print_insn_sh64 if big-endian and to
- print_insn_sh64l if little-endian.
- * sh64-dis.c (print_insn_shmedia): Make r unsigned.
- (print_insn_sh64l): New.
- (print_insn_sh64x): New.
- (print_insn_sh64x_media): New.
- (print_insn_sh64): Break out code to print_insn_sh64x and
- print_insn_sh64x_media.
- 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
- * sh64-opc.h: New file
- * sh64-opc.c: New file
- * sh64-dis.c: New file
- * Makefile.am: Add sh64 targets.
- (HFILES): Add sh64-opc.h.
- (CFILES): Add sh64-opc.c and sh64-dis.c.
- (ALL_MACHINES): Add sh64 files.
- * Makefile.in: Regenerate.
- * configure.in: Add support for sh64 to bfd_sh_arch.
- * configure: Regenerate.
- * disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define.
- (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to
- print_insn_sh64.
- * sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2002-02-04 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets.
-
-2002-02-04 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS.
-
-2002-02-01 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am"
- * Makefile.in: Regenerate.
-
-2002-01-31 Ivan Guzvinec <ivang@opencores.org>
-
- * or32-dis.c: New file.
- * or32-opc.c: New file.
- * configure.in: Add support for or32.
- * configure: Regenerate.
- * Makefile.am: Add support for or32.
- * Makefile.in: Regenerate.
- * disassemble.c: Add support for or32.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2002-01-27 Daniel Jacobowitz <drow@mvista.com>
-
- * configure: Regenerated.
-
-2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/fr.po: Updated version.
-
-2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: Updated version.
-
-2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: New version.
-
-2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/da.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add da.
- * configure: Regenerate.
-
-2002-01-22 Graydon Hoare <graydon@redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Likewise.
- * fr30-desc.h: Likewise.
- * fr30-dis.c: Likewise.
- * fr30-ibld.c: Likewise.
- * fr30-opc.c: Likewise.
- * fr30-opc.h: Likewise.
- * m32r-asm.c: Likewise.
- * m32r-desc.c: Likewise.
- * m32r-desc.h: Likewise.
- * m32r-dis.c: Likewise.
- * m32r-ibld.c: Likewise.
- * m32r-opc.c: Likewise.
- * m32r-opc.h: Likewise.
- * m32r-opinst.c: Likewise.
- * openrisc-asm.c: Likewise.
- * openrisc-desc.c: Likewise.
- * openrisc-desc.h: Likewise.
- * openrisc-dis.c: Likewise.
- * openrisc-ibld.c: Likewise.
- * openrisc-opc.c: Likewise.
- * openrisc-opc.h: Likewise.
- * xstormy16-desc.c: Likewise.
-
-2002-01-22 Richard Henderson <rth@redhat.com>
-
- * alpha-dis.c (print_insn_alpha): Also mask the base opcode for
- comparison.
-
-2002-01-22 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
-
-2002-01-19 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h.
- * arm-dis.c (print_insn_arm): Don't handle 'h' case.
-
-2002-01-18 Keith Walker <keith.walker@arm.com>
-
- * arm-opc.h (arm_opcodes): Add bxj instruction.
-
-2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/opcodes.pot: Regenerate.
- * po/fr.po: Regenerate.
- * po/sv.po: Regenerate.
- * po/tr.po: Regenerate.
-
-2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/tr.po: Import new version.
-
-2002-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-opc.h (arm_opcodes): Add patterns for VFP instructions.
- * arm-dis.c (print_insn_arm): Support new disassembly qualifiers for
- VFP bitfields.
-
-2002-01-10 matthew green <mrg@redhat.com>
-
- * xstormy16-asm.c: Regenerate.
- * xstormy16-desc.c: Likewise.
- * xstormy16-desc.h: Likewise.
- * xstormy16-dis.c: Likewise.
- * xstormy16-opc.c: Likewise.
- * xstormy16-opc.h: Likewise.
-
-2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
-
- * po/es.po: New file: Spanish translation.
- * configure.in (ALL_LINGUAS): Add es.
- * configure: Regenerate.
-
-2001-12-31 Jeffrey A Law (law@redhat.com)
-
- * hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
- 'X', 'M', and 'A'. No longer emit a space after 'x' or 's'.
- Always emit a space after 'H'.
-
-2001-12-18 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
-
-2001-12-17 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (unop): Encode with RB as $sp.
-
-2001-12-07 Geoffrey Keating <geoffk@redhat.com>
-
- * Makefile.am: Add support for xstormy16.
- * Makefile.in: Regenerate.
- * configure.in: Add support for xstormy16.
- * configure: Regenerate.
- * disassemble.c: Add support for xstormy16.
- * xstormy16-asm.c: New generated file.
- * xstormy16-desc.c: New generated file.
- * xstormy16-desc.h: New generated file.
- * xstormy16-dis.c: New generated file.
- * xstormy16-ibld.c: New generated file.
- * xstormy16-opc.c: New generated file.
- * xstormy16-opc.h: New generated file.
-
-2001-12-06 Richard Henderson <rth@redhat.com>
-
- * alpha-opc.c (alpha_opcodes): Add wh64en.
-
-2001-12-04 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v-opc.c (d10v_predefined_registers): Remove warnings
- introduced in Nov 29's patch.
-
- * d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of
- unmatched register.
-
- * d10v-dis.c (print_operand): Disregard OPERAND_SP in register
- predefined value.
-
- * d10v-opc.c (RSRC_NOSP): New macro.
- (d10v_operands): Add it.
- (d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w".
-
-2001-11-29 Alexandre Oliva <aoliva@redhat.com>
-
- * d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP.
- (RSRC_SP): New macro.
- (d10v_operands): Add it.
- (d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP.
-
-2001-11-23 Lars Brinkhoff <lars@nocrew.org>
-
- * pdp11-dis.c (print_insn_pdp11): Handle illegal instructions.
- Also, break out of the loop as soon as an instruction has been
- printed.
-
-2001-11-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (mfvrsave, mtvrsave): New instructions.
-
-2001-11-15 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
-
- * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
- (insert_bat, extract_bat, insert_bba, extract_bba,
- insert_bd, extract_bd, insert_bdm, extract_bdm,
- insert_bdp, extract_bdp, valid_bo,
- insert_bo, extract_bo, insert_boe, extract_boe,
- insert_ds, extract_ds, insert_de, extract_de,
- insert_des, extract_des, insert_li, extract_li,
- insert_mbe, extract_mbe, insert_mb6, extract_mb6,
- insert_nb, extract_nb, insert_nsi, extract_nsi,
- insert_ral, insert_ram, insert_ras,
- insert_rbs, extract_rbs, insert_sh6, extract_sh6,
- insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
- (extract_bd, extract_bdm, extract_bdp,
- extract_ds, extract_des,
- extract_li, extract_nsi): Implement sign extension without conditional.
- (insert_bdm, extract_bdm,
- insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
- (extract_bdm, extract_bdp): Correct 32 bit validation.
- (AT1_MASK, AT2_MASK): Define.
- (BBOAT_MASK): Define.
- (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
- (BOFM64, BOFP64, BOTM64, BOTP64): Define.
- (BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
- (PPCCOM32, PPCCOM64): Define.
- (powerpc_opcodes): Modify existing 32 bit insns with branch hints
- and add new patterns to implement 64 bit branches with hints. Move
- booke instructions so they match before ppc64.
-
- * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
- 64 bit default targets, and parse "32" and "64" in options.
- Formatting fixes.
- (print_insn_powerpc): Pass dialect to operand->extract.
-
-2001-11-14 Dave Brolley <brolley@redhat.com>
-
- * cgen-dis.c (count_decodable_bits): New function.
- (add_insn_to_hash_chain): New function.
- (hash_insn_array): Call add_insn_to_hash_chain.
- (hash_insn_list): Call add_insn_to_hash_chain.
- * m32r-dis.c: Regenerated.
- * fr30-dis.c: Regenerated.
-
-2001-11-14 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c (print_insn): Use x86-64 as option.
-
-2001-11-14 Alan Modra <amodra@bigpond.net.au>
-
- * disassemble.c (disassembler): Call print_insn_i386.
- * i386-dis.c (SUFFIX_ALWAYS): Define.
- (struct dis_private): Add orig_sizeflag.
- (print_insn_i386): Make it a wrapper, calling..
- (print_insn): ..The old body of print_insn_i386. Avoid longjmp
- warning without using volatile by moving orig_sizeflag to priv,
- and removing inbuf. Parse disassembler_options.
- (print_insn_i386_att, print_insn_i386_intel): Move initialisation
- code to print_insn.
- (putop): Remove #ifdef SUFFIX_ALWAYS.
-
-2001-11-11 Timothy Wall <twall@alum.mit.edu>
-
- * tic54x-dis.c: Use revised opcode structure. Export opcode
- template lookup.
- (has_lkaddr): Don't forget about Lmem insns.
- * tic54x-opc.c: Add emulation trap. Parallel table now uses
- standard opcode templates.
-
-2001-11-13 Zack Weinberg <zack@codesourcery.com>
+2004-01-13 Michael Snyder <msnyder@redhat.com>
- * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries
- to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand
- category instead of Ew.
+ * sh-dis.c (print_insn_sh): Allocate 4 bytes for insn.
-2001-11-12 Niraj Gupta <ngupta@zumanetworks.com>
+2004-01-09 Paul Brook <paul@codesourcery.com>
- * m68k-opc.c: Fix definitions of wddata[bwl].
+ * arm-opc.h (arm_opcodes): Move generic mcrr after known
+ specific opcodes.
-2001-11-09 Richard Sandiford <rsandifo@redhat.com>
+2004-01-07 Daniel Jacobowitz <drow@mvista.com>
- * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
- fit in the buffer, try to match the empty keyword.
-
-2001-11-09 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-ibld.in (extract_1): Fix badly placed #if 0.
- * fr30-ibld.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
-
-2001-11-04 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (print_insn_mips): Remove spaces at end of line.
-
-2001-11-02 Nick Clifton <nickc@cambridge.redhat.com>
-
- * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
- * configure: Regernate.
- * po/fr.po: New file.
- * po/sv.po: New file.
- * po/tr.po: New file.
-
-2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
-
- * m68hc11-dis.c (print_insn): Fix disassembly of movb with a
- constant as source.
-
-2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate
- dependencies.
- * Makefile.in: Regenerate.
- * mmix-dis.c, mmix-opc.c: New files.
-
-2001-10-29 Kazu Hirata <kazu@hxi.com>
-
- * d30v-dis.c: Fix a comment typo.
-
-2001-10-23 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
- "bltzall" as writing GPR 31 (since they do).
-
- * mips-dis.c (print_insn_arg): Calculate info->target
- where appropriate.
- (print_insn_mips): Fill in instruction info.
- (print_mips16_insn_arg): Remove unneded variable 'val'.
- Removed duplicated instruction target calculations,
- calculate once and print that result. Use same idiom for
- masking the jump segment bits as is used in print_insn_arg.
-
-2001-10-20 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c (CT): Make it an optional operand.
-
-2001-10-17 Chris Demetriou <cgd@broadcom.com>
-
- * mips-dis.c (mips_isa_type): Make the ISA used to disassemble
- SB-1 binaries include instructions specific to the SB-1.
- * mips-opc.c (SB1): New definition.
- (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
- "recip.ps", "rsqrt.ps", and "sqrt.ps".
-
-2001-10-17 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (STRM): New AltiVec operand.
- (XDSS): New AltiVec instruction form.
- (mtvscr): Correct operand list.
- (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
-
-2001-10-17 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
-
-2001-10-13 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (MO): New macro for MO field of mbar instruction.
- (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
- mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
-
-2001-10-13 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-ibld.in: Include safe-ctype.h in preference to
- ctype.h.
- * cgen-asm.in: Include safe-ctype.h in preference to
- ctype.h. Fix formatting. Use ISSPACE instead of isspace and
- TOLOWER instead of tolower.
- (@arch@_cgen_build_insn_regex): Remove duplication of syntax
- string elements in constructed regular expression.
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2001-10-12 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
- instruction field instruction/extraction functions for new BookE
- DE form instructions.
- (CT): New macro for CT field in an X form instruction.
- (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
- instructions.
- (PPC64): Don't include PPC_OPCODE_PPC.
- (403): New opcode macro for PPC403 processors.
- (BOOKE): New opcode macro for BookE processors.
- (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
- (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
- (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
- (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
- (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
- (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
- (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
- (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
- (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
- (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
- (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
- (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
- (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
- (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
-
- * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
- for a disassembler option of `booke', `booke32' or `booke64' to enable
- BookE support in the disassembler.
-
-2001-10-12 John Healy <jhealy@redhat.com>
-
- * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
- for the length when extracting the base part of the insn.
-
-2001-10-09 Bruno Haible <haible@clisp.cons.org>
-
- * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
- regular expression. Fix some formatting problems.
- * fr30-asm.c: Regenerate.
- * openrisc-asm.c: Regenerate.
- * m32r-asm.c: Regenerate.
-
-2001-10-09 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
- of indirect register memory accesses to be same format the
- assembler accepts.
-
-2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
-
- * sh-opc.h: Fix encoding of least significant nibble of the
- DSP single data transfer instructions.
-
- * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
- instructions.
-
-2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
-
- * cgen-asm.in: Fix compile time warning messages in generated
- C files.
- * cgen-dis.in: The same.
- * cgen-ibld.in: The same.
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * fr30-opc.c: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opinst.c Regenerate.
- * openrisc-asm.c: Regenerate.
- * openrisc-desc.c: Regenerate.
- * openrisc-dis.c: Regenerate.
- * openrisc-ibld.c: Regenerate.
- * openrisc-opc.c: Regenerate.
- * openrisc-opc.h: Regenerate.
- * Makefile.in: Regenerate.
- * po/POTFILES.in: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2001-10-08 Aldy Hernandez <aldyh@redhat.com>
-
- * arm-opc.h (arm_opcodes): Add cirrus insns.
-
- * arm-dis.c (print_insn_arm): Add 'I' case.
-
-2001-10-03 Alan Modra <amodra@bigpond.net.au>
-
- * po/POTFILES.in: Regenerate.
- * configure: Regenerate.
-
-2001-10-02 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am (Makefile): Depend on bfd/configure.in.
- Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-09-30 John Healy <jhealy@redhat.com>
-
- * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
- calls to cgen_get_insn_value and cgen_put_insn_value calls.
- (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
-
-2001-09-30 Hans-Peter Nilsson <hp@bitrange.com>
-
- * Makefile.am: Update dependencies with "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-09-26 Alan Modra <amodra@bigpond.net.au>
-
- * arc-dis.c: Formatting fixes.
- (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
-
-2001-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * arc-dis.c: Don't include <ctype.h>.
- * openrisc-desc.c: Likewise.
- * openrisc-ibld.c: Likewise.
-
-2001-09-20 Nick Clifton <nickc@cambridge.redhat.com>
-
- * fr30-opc.c: Fix compile time warning messages.
- * i370-opc.c: Fix compile time warning messages.
- * i960-dis.c: Fix compile time warning messages.
- * m32r-asm.c: Fix compile time warning messages.
- * m32r-desc.c: Fix compile time warning messages.
- * m32r-dis.c: Fix compile time warning messages.
- * m32r-ibld.c: Fix compile time warning messages.
- * m32r-opc.c: Fix compile time warning messages.
- * m32r-opinst.c: Fix compile time warning messages.
- * ns32k-dis.c: Fix compile time warning messages.
- * openrisc-asm.c: Fix compile time warning messages.
- * openrisc-desc.c: Fix compile time warning messages.
- * openrisc-dis.c: Fix compile time warning messages.
- * openrisc-ibld.c: Fix compile time warning messages.
- * openrisc-opc.c: Fix compile time warning messages.
- * pdp11-dis.c: Fix compile time warning messages.
- * tic54x-dis.c: Fix compile time warning messages.
- * v850-opc.c: Fix compile time warning messages.
- * vax-dis.c: Fix compile time warning messages.
- * w65-opc.h: Fix compile time warning messages.
- * z8k-opc.h: Fix compile time warning messages.
- * z8kgen.c: Fix compile time warning messages.
-
-2001-09-19 Nick Clifton <nickc@cambridge.redhat.com>
-
- * arm-dis.c: Fix compile time warning messages.
- * cgen-asm.c: Fix compile time warning messages.
- * cgen-dis.c: Fix compile time warning messages.
- * cris-dis.c: Fix compile time warning messages.
- * d10v-dis.c: Fix compile time warning messages.
- * fr30-asm.c: Fix compile time warning messages.
- * fr30-desc.c: Fix compile time warning messages.
- * fr30-dis.c: Fix compile time warning messages.
- * fr30-ibld.c: Fix compile time warning messages.
-
-2001-09-18 Bruno Haible <haible@clisp.cons.org>
-
- * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (cgen_parse_keyword): Use ISALNUM instead of isalnum.
- * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
- (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
- isalpha/tolower.
- (cgen_keyword_add): Use ISALNUM instead of isalnum.
- (hash_keyword_name): Use TOLOWER instead of tolower.
- * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
- * fr30-desc.c: Don't include <ctype.h>.
- * fr30-ibld.c: Likewise.
- * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
- (load_insn_classes, parse_resource_users, load_depfile): Use
- ISSPACE instead of isspace.
- * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
- * m32r-desc.c: Don't include <ctype.h>.
- * m32r-ibld.c: Likewise.
- * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
- (parse_insn_normal): Use TOLOWER/ISSPACE instead of
- tolower/isspace.
- (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
-
-2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * Makefile.am: Add rules and dependencies to create the s/390 opcode
- table out of s390-opc.txt automatically.
- * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
- * s390-mkopc.c (dumpTable): Change output to create a complete file.
- * s390-opc.c: New improved opcode format macros and remove the
- pregenerated opcode table.
- * s390-opc.txt: Adapt to new improved opcode format macros.
-
-2001-09-14 David Schleef <ds@schleef.org>
-
- * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
-
-2001-09-04 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (grps): Don't print the implicit al/ax/eax register
- for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
-
-2001-08-31 Eric Christopher <echristo@redhat.com>
- Jason Eckhardt <jle@redhat.com>
-
- * mips-dis.c: Add support for bfd_mach_mipsisa32 and
- bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
- bfd_mach_mips64.
-
-2001-08-31 Andreas Jaeger <aj@suse.de>
-
- * tic54x-opc.c: Add default initializers to avoid warnings.
-
- * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
- * arc-ext.c: Likewise.
-
-2001-08-28 matthew green <mrg@redhat.com>
-
- * ppc-opc.c (icbt): Order correctly.
-
-2001-08-27 David Edelsohn <dje@watson.ibm.com>
- Torbjorn Granlund <tege@swox.com>
-
- * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
- (LS): Define.
- (insert_ds): Complain if not a multiple of 4.
- (XSYNC): Define.
- (XSYNC_MASK): Define.
- (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
- "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
-
-2001-08-26 Andreas Jaeger <aj@suse.de>
-
- * h8500-opc.h: Add default initializers to h8500_table to shut up
- GCC warnings.
-
-2001-08-25 Andreas Jaeger <aj@suse.de>
-
- * tic54x-dis.c: Add unused attributes where needed.
-
- * z8k-dis.c (output_instr): Add unused attribute.
-
- * h8300-dis.c: Add missing prototypes.
- (bfd_h8_disassemble): Make static.
-
- * cris-dis.c: Add missing prototype.
- * h8500-dis.c: Likewise.
- * m68hc11-dis.c: Likewise.
- * pj-dis.c: Likewise.
- * tic54x-dis.c: Likewise.
- * v850-dis.c: Likewise.
- * vax-dis.c: Likewise.
- * w65-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
- * d10v-dis.c: Add missing prototype.
- (dis_long): Remove unused variable.
- (dis_2_short): Likewise.
-
- * sh-dis.c: Add missing prototypes.
- * v850-opc.c: Likewise.
- Add unused attributes where needed.
-
- * ns32k-dis.c: Add missing prototypes.
- (bit_extract_simple): Remove unused variable.
-
-2001-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add "low or high" and "not low or high"
- branch instructions for gcc 3.0.
- * s390-opc.txt: Likewise.
-
-2001-08-21 Andreas Jaeger <aj@suse.de>
-
- * i960-dis.c: Add parameters for prototypes
- (ctrl): Add unused attributes.
- (cobr): Likewise.
- (put_abs): Likewise.
-
- * mips-dis.c: Add missing prototypes.
- * a29k-dis.c: Likewise.
- * arc-dis.c: Likewise.
- * ia64-opc.c: Likewise.
-
- * s390-dis.c: Add missing prototypes.
- (init_disasm): Remove unused attribute since the parameter is
- used.
-
-2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-opc.c (M1): Define. Reformatted Code.
- (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
- mtps, mtps. Typo.
-
-2001-08-16 Jonathan Larmour <jlarmour@redhat.com>
-
- * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
- the corresponding non-likely insn is in MIPS I.
-
-2001-08-13 Kazu Hirata <kazu@hxi.com>
-
- * mcore-dis.c: Fix formatting.
- * mips-dis.c: Likewise.
- * pj-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
-2001-08-12 Richard Henderson <rth@redhat.com>
-
- * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
- to *VALUEP. Regenerate all cgen files.
-
-2001-08-10 Richard Sandiford <rsandifo@redhat.com>
-
- * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
- argument.
- * mips-opc.c (G6): Undefine.
- (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
- as the first "move" alternative.
-
-2001-08-10 Andreas Jaeger <aj@suse.de>
-
- * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
- to build warnings.
- * configure: Regenerate.
-
-2001-08-10 Alan Modra <amodra@bigpond.net.au>
-
- * ppc-opc.c: Revert 2001-08-08.
-
-2001-08-09 Alan Modra <amodra@bigpond.net.au>
-
- * dis-buf.c (generic_strcat_address): Add missing prototype.
- #if 0 the functions as it is unused.
-
-2001-08-08 Alan Modra <amodra@bigpond.net.au>
-
- 1999-10-25 Torbjorn Granlund <tege@swox.com>
- * ppc-opc.c: Include "bfd.h".
- (powerpc_operands): Add new field for reloc type.
-
-2001-07-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (print_insn_arg): Don't use software integer registers
- for coprocessor registers.
- (get_mips_isa): Removed.
- (is_newabi): New function, checks if NewABI is used.
- (_print_insn_mips): Get distinction between old ABI and new ABI right.
-
-2001-08-01 Christian Groessler <cpg@aladdin.de>
-
- * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
- get stderr definition.
- (internal, gas): Removed warnings.
- (gas): Create a correct final entry for created array.
- * z8k-opc.h: Recreated with new z8kgen.
-
-2001-07-28 Kazu Hirata <kazu@hxi.com>
-
- * i386-dis.c: Fix formatting.
-
-2001-07-28 Matthias Kramm <kramm@quiss.org>
-
- * i386-dis.c: Change formatting conventions for architecture
- i386:intel to better match the format of various intel i386
- assemblers, like nasm, tasm or masm.
-
-2001-07-24 Alan Modra <amodra@bigpond.net.au>
-
- * Makefile.am: Update dependencies with "make dep-am".
- * Makefile.in: Regenerate
-
-2001-07-24 Kazu Hirata <kazu@hxi.com>
-
- * alpha-dis.c: Fix formatting.
- * cris-dis.c: Likewise.
- * d10v-dis.c: Likewise.
- * d30v-dis.c: Likewise.
- * m10300-dis.c: Likewise.
- * tic54x-dis.c: Likewise.
-
-2001-07-23 Kazu Hirata <kazu@hxi.com>
-
- * m68k-dis.c: Fix formatting.
- * pj-dis.c: Likewise.
- * s390-dis.c: Likewise.
- * z8k-dis.c: Likewise.
-
-2001-07-21 Chris Demetriou <cgd@broadcom.com>
-
- * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
- into the rest of the surrounding definitions.
-
-2001-07-18 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (grps): Print l or w suffix, and require mem modrm
- for lgdt, lidt, sgdt, sidt.
-
-2001-07-13 Philip Blundell <philb@gnu.org>
-
- * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
-
-2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen-asm.in: Include "xregex.h" always to enable the libiberty
- regex support.
- (@arch@_cgen_build_insn_regex): New routine from Graydon.
- (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
- to verify if it is worth parsing the insn as insn "x". Also update
- error message when insn is not a recognized format of the insn vs
- when the insn is completely unrecognized.
-
-2001-07-11 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
- bfd_get_bits.
- * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
- non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
-
-2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
-
- * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
- (OP_J): Use bfd_vma for mask to work properly with 64 bits.
- (op_address,op_riprel): Use bfd_vma to handle 64 bits.
-
-2001-07-05 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CPUDIR): Define.
- (stamp-m32r): Update dependencies.
- (stamp-fr30): Ditto.
- (stamp-openrisc): Ditto.
+ * Makefile.am (libopcodes_la_DEPENDENCIES)
+ (libopcodes_la_LIBADD): Revert 2003-05-17 change. Add explanatory
+ comment about the problem.
* Makefile.in: Regenerate.
-2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net>
-
- * ppc-opc.c: Fix encoding of 'clf' instruction.
-
-2001-06-30 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
-
-2001-06-28 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-asm.c (cgen_parse_keyword): Allow any first character.
- * cgen-opc.c (cgen_keyword_add): Ignore special first
- character when building nonalpha_chars field.
-
-2001-06-24 Ben Elliston <bje@redhat.com>
-
- * m88k-dis.c: Format to conform to GNU coding standards.
-
-2001-06-23 Andreas Jaeger <aj@suse.de>
-
- * disassemble.c (disassembler_usage): Add unused attribute.
-
-2001-06-22 Eric Christopher <echristo@redhat.com>
-
- * mips-opc.c: Move prefx to start of the table.
-
-2001-06-22 Stacey Sheldon <ssheldon@Catena.com>
-
- * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
- instruction.
-
-2001-06-22 Pauli <pauli@moreton.com.au>
-
- * m68k-opc.c: Add wdebug instruction.
-
-2001-06-15 Aldy Hernandez <aldyh@redhat.com>
-
- * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
-
-2001-06-14 Geoffrey Keating <geoffk@redhat.com>
-
- * cgen-asm.c (cgen_parse_keyword): When looking for the
- boundaries of a keyword, allow any special characters
- that are actually in one of the allowed keyword.
- * cgen-opc.c (cgen_keyword_add): Add any special characters
- to the nonalpha_chars field.
-
-2001-06-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add lgh instruction.
- * s390-opc.txt: Likewise.
-
-2001-06-11 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c: Group function prototypes in one place.
- (FLOATCODE): Redefine as 1.
- (USE_GROUPS): Redefine as 2.
- (USE_PREFIX_USER_TABLE): Redefine as 3.
- (X86_64_SPECIAL): Define as 4.
- (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
- (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
- (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
- (dis386): New table combining above four tables.
- (dis386_twobyte_att, dis386_twobyte_intel): Delete.
- (dis386_twobyte): New table combining above two tables.
- (x86_64_table): New table to handle x86_64.
- (X86_64_0): Define.
- (float_mem_att, float_mem_intel): Delet.
- (float_mem): New table combining above two tables.
- (print_insn_i386): Modify for above.
- (dofloat): Likewise.
- (putop): Handle '{', '|' and '}' to select alternative mnemonics.
- Return 0 on success, 1 if no valid alternative.
- (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
- (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
- (putop <case 'I'>): Move to case 'T', and share case 'P' code.
- (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
- if not 64-bit mode.
- (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
- (OP_I64): If not 64-bit mode, call OP_I.
- OP_OFF64): If not 64-bit mode, call OP_OFF.
- (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
- 'ignore'/'ignored' to 'bytemode'.
-
-2001-06-10 Alan Modra <amodra@bigpond.net.au>
-
- * configure.in: Sort 'ta' case statement.
- * configure: Regenerate.
-
- * i386-dis.c (dis386_att): Add 'H' to conditional branch and
- loop,jcxz insns.
- (disx86_64_att): Likewise.
- (dis386_twobyte_att): Likewise.
- (print_insn_i386): Don't print branch hints as a prefix.
- (putop): 'H' macro prints branch hints.
- (get64): Kill compile warnings.
-
-2001-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_table): Don't use empty initializers.
-
-2001-06-06 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c: Fix formatting.
- (unpack_instr): Remove unused cases in switch statement. Add
- safety abort() in default case.
- (unparse_instr): Add safety abort() in default case.
-
-2001-06-06 Peter Jakubek <pjak@snafu.de>
-
- * m68k-dis.c (print_insn_m68k): Fix typo.
- * m68k-opc.c (m68k_opcodes): Correct allowed operands for
- mcf (ColdFire) div, rem and moveb instructions.
-
-2001-06-06 Alan Modra <amodra@bigpond.net.au>
-
- * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
- (cond_jump_mode, loop_jcxz_mode): Define.
- (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
- appropriate, and 'F' suffix to loop insns.
- (disx86_64_att): Likewise.
- (dis386_twobyte_att): Likewise.
- (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
- Output data size prefix for long conditional jumps. Output cs and
- ds branch hints.
- (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
- (OP_J): Don't make PREFIX_DATA used.
-
-2001-06-04 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h (sh_table): Complete last element entry to avoid
- compiler warning.
-
-2001-05-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (mips_isa_type): Add MIPS r12k support.
-
-2001-05-23 Alan Modra <amodra@one.net.au>
-
- * arc-opc.c: Whitespace changes.
-
-2001-05-18 Hans-Peter Nilsson <hp@axis.com>
-
- * cris-opc.c (cris_spec_regs): Add missing initializer field for
- last element.
-
-2001-05-15 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (extract_normal): Complete support for min<base case.
-
-2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * mips-dis.c (INSNLEN): Rename MAXLEN.
- (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
- (print_insn_arg): Remove $ prefix of register names.
- (set_mips_isa_type): Remove.
- (mips_isa_type): New function.
- (get_mips_isa): New Function.
- (print_insn_mips): Rename _print_insn_mips.
- (_print_insn_mips): New function, contains code which was
- duplicated in print_insn_big_mips and print_insn_little_mips.
- (print_insn_big_mips): Moved code to _print_insn_mips.
- (print_insn_little_mips): Likewise.
- (print_mips16_insn_arg): Remove $ prefix of register names.
- Print error message before abort.
-
-2001-05-14 J.T. Conklin <jtc@redback.com>
-
- * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
- simplified mnemonics used for setting PPC750-specific special
- purpose registers.
-
-2001-05-12 H.J. Lu <hjl@gnu.org>
-
- * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
- `rm'.
-
-2001-05-12 Peter Targett <peter.targett@arccores.com>
-
- * arc-opc.c (arc_reg_names): Correct attribute for lp_count
- register to r/w. Formatting fixes throughout file.
-
-2001-05-12 Alan Modra <amodra@one.net.au>
-
- * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
- movq operands.
- (twobyte_has_modrm): Update table.
- (need_modrm): Give it file scope.
- (MODRM_CHECK): Define.
- (dofloat): Use MODRM_CHECK.
- (OP_E): Likewise.
- (OP_EM): Likewise.
- (OP_EX): Likewise.
-
-2001-05-07 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (default_print_insn): Tolerate min<base instructions
- even at end of a section.
- * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
- by ignoring precariously-unpacked insn_value in favor of raw buffer.
-
-2001-05-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-
- * disassemble.c (disassembler_usage): Remove unused attribute.
-
-2001-05-04 Frank Ch. Eigler <fche@redhat.com>
-
- * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
-
-2001-05-04 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
- assume incoming buffer already has the base insn loaded. Handle
- smaller-than-base instructions for variable-length case.
-
-2001-05-04 Alan Modra <amodra@one.net.au>
-
- * i386-dis.c (Ev, Ed): Remove duplicate define.
- (Gd): Define.
- (XS): Define.
- (OP_XS): New function.
- (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
- movmskp operands.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Use MS for maskmovq operand.
-
-2001-04-27 Johan Rydberg <jrydberg@opencores.org>
-
- * Makefile.am: Add OpenRISC target.
- * Makefile.in: Regenerated.
-
- * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
-
- * configure.in (bfd_openrisc_arch): Add target.
- * configure: Regenerated.
-
- * openrisc-asm.c: New file.
- * openrisc-desc.c: Likewise.
- * openrisc-desc.h: Likewise.
- * openrisc-dis.c: Likewise.
- * openrisc-ibld.c: Likewise.
- * openrisc-opc.c: Likewise.
- * openrisc-opc.h: Likewise.
-
-2001-04-24 Christian Groessler <cpg@aladdin.de>
-
- * z8k-dis.c: add names of control registers (ctrl_names);
- (seg_length): provides instruction length fixup for segmented
- mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
- CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
- (unparse_intr): handle CLASS_PR, print addresses without '#'
- * z8k-opc.h: re-created with new z8kgen
- * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
- entries for ldctl/ldctlb instruction
-
-2001-04-06 Andreas Jaeger <aj@suse.de>
-
- * i386-dis.c: Add ffreep instruction.
-
-2001-03-30 Alexandre Oliva <aoliva@redhat.com>
-
- * ppc-opc.c (insert_mbe): Shift mask initializer as long.
-
-2001-03-24 Alan Modra <alan@linuxcare.com.au>
-
- * i386-dis.c (PREGRP25): Define.
- (dis386_twobyte_att): Use here in place of "movntq" entry.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
- (PREGRP26): Define.
- (dis386_twobyte_att): Use here.
- (dis386_twobyte_intel): Likewise.
- (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
- (prefix_user_table <maskmovdqu>): XM operand, not MX.
- (prefix_user_table): Cosmetic changes to "bad" entries.
-
-2001-03-23 Nick Clifton <nickc@redhat.com>
-
- * mips-opc.c: Remove extraneous whitespace.
- * mips-dis.c: Remove extraneous whitespace.
-
-2001-03-22 Ben Elliston <bje@redhat.com>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
- declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
- * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
- to allay a compiler warning.
-
-2001-03-22 Alan Modra <alan@linuxcare.com.au>
-
- * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
- (dis386_twobyte_intel): Likewise.
- (twobyte_has_modrm): Set entry for paddq, psubq.
-
-2001-03-20 Patrick Macdonald <patrickm@redhat.com>
-
- * cgen-dis.in (print_insn_@arch@): Add support for target machine
- determination via CGEN_COMPUTE_MACH.
- * fr30-desc.c: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-opc.h: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2001-03-20 H.J. Lu <hjl@gnu.org>
-
- * configure.in: Remove the redundent AC_ARG_PROGRAM.
- * configure: Rebuild.
-
-2001-03-19 Jim Wilson <wilson@redhat.com>
-
- * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
- notestr if larger than xsect.
- (in_class): Handle format M5.
- * ia64-asmtab.c: Regnerate.
-
-2001-03-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
- has more than one byte left to read.
-
-2001-03-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
-
- * s390-opc.c: Add new opcodes. Smooth out formatting.
- * s390-opc.txt: Add new opcodes.
-
-2001-03-06 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn_thumb): Compute destination address
- of BLX(1) instruction by taking bit 1 from PC and not from bit
- 0 of the offset.
-
-2001-03-06 Igor Shevlyakov <igor@windriver.com>
-
- * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
- so command line switches will work.
-
-2001-03-05 Dave Brolley <brolley@redhat.com>
-
- * fr30-asm.c: Regenerate.
- * fr30-desc.c: Regenerate.
- * fr30-desc.h: Regenerate.
- * fr30-dis.c: Regenerate.
- * fr30-ibld.c: Regenerate.
- * fr30-opc.c: Regenerate.
- * fr30-opc.h: Regenerate.
- * m32r-asm.c: Regenerate.
- * m32r-desc.c: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-dis.c: Regenerate.
- * m32r-ibld.c: Regenerate.
- * m32r-opc.c: Regenerate.
- * m32r-opc.h: Regenerate.
- * m32r-opinst.c: Regenerate.
-
-2001-02-28 Igor Shevlyakov <igor@windriver.com>
-
- * m68k-opc.c: fix cpushl according to Motorola. Enable
- bunch of instructions for Coldfire 5407 and add all new.
-
-2001-02-27 Alan Modra <alan@linuxcare.com.au>
-
- * configure.in (BFD_VERSION): Do without grep.
- * configure: Regenerate.
- * Makefile.am: Run "make dep-am".
- * Makefile.in: Regenerate.
-
-2001-02-23 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
- * ia64-asmtab.c: Regenerate.
-
-2001-02-21 David Mosberger <davidm@hpl.hp.com>
-
- * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
- separate variants: one for IMM22 and the other for IMM14.
- * ia64-asmtab.c: Regenerate.
-
-2001-02-21 Greg McGary <greg@mcgary.org>
-
- * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
-
-2001-02-20 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am (ia64-ic.tbl): Remove the target.
- (ia64-raw.tbl): Likewise.
- (ia64-waw.tbl): Likewise.
- (ia64-war.tbl): Likewise.
- (ia64-asmtab.c): Generate it in the source directory.
- * Makefile.in: Regenerated.
-
-2001-02-18 lars brinkhoff <lars@nocrew.org>
-
- * Makefile.am: Add PDP-11 target.
- * configure.in: Likewise.
- * disassemble.c: Likewise.
- * pdp11-dis.c: New file.
- * pdp11-opc.c: New file.
-
-2001-02-14 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
- * ia64-asmtab.c: Regenerate.
-
-2001-02-12 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
- instructions.
- (putop): Handle 'Y'
-
-2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * mips-dis.c (print_insn_arg): Use top four bits of the address of
- the following instruction not of the jump itself for the jump
- target.
- (print_mips16_insn_arg): Likewise.
-
-2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
-
- * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
- directory.
- * Makefile.in: Regenerate.
-
-2001-02-09 Schwidefsky <schwidefsky@de.ibm.com>
-
- * Makefile.am: Add linux target for S/390.
- * Makefile.in: Likewise.
- * configure.in: Likewise.
- * disassemble.c: Likewise.
- * s390-dis.c: New file.
- * s390-mkopc.c: New file.
- * s390-opc.c: New file.
- * s390-opc.txt: New file.
-
-2001-02-05 Jim Wilson <wilson@redhat.com>
-
- * ia64-asmtab.c: Revert 2000-12-16 change.
-
-2001-02-02 Patrick Macdonald <patrickm@redhat.com>
-
- * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
- * m32r-desc.h: Regenerate.
-
-2001-02-01 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
- (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
-
-2001-01-14 Alan Modra <alan@linuxcare.com.au>
-
- * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
-
-2001-01-13 Nick Clifton <nickc@redhat.com>
-
- * disassemble.c: Remove spurious white space.
-
-2001-01-13 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
- templates.
-
-2001-01-11 Peter Targett <peter.targett@arccores.com>
-
- * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
- * Makefile.am (C_FILES): Add arc-ext.c.
- (ALL_MACHINES) Add arc-ext.lo.
- (INCLUDES) Add opcode directory to list.
- New dependency entry for arc-ext.lo.
- * disassemble.c (disassembler): Correct call to
- arc_get_disassembler.
- * arc-opc.c: New update for ARC, including full base
- instructions for ARC variants.
- * arc-dis.h, arc-dis.c: New update for ARC, including
- extensibility functionality.
- * arc-ext.h, arc-ext.c: New files for handling extensibility.
-
-2001-01-10 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c (PREGRP15 - PREGRP24): New.
- (dis386_twobyt): Add SSE2 instructions.
- (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
- (twobyte_uses_f3_prefix): ... this one.
- (grps): Add SSE instructions.
- (prefix_user_table): Add two new slots; add SSE2 instructions.
- (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
- Handle the REPNZ and Data16 prefixes as well; do proper lookup
- to prefix_user_table.
- (OP_E): Accept mfence and lfence as well.
- (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
- (OP_XMM): Support REX extensions.
- (OP_EM): Likewise.
- (OP_EX): Likewise.
-
-2001-01-09 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (print_insn): Set pc to zero for instructions with
- a reloc associated with them.
-
-2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Changed syn to be
- CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
- as character to use CGEN_SYNTAX_CHAR macro and all comparisons
- to '\0' to use 0 instead.
- * cgen-dis.in (print_insn_normal): Ditto.
- * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
-
-2001-01-05 Jan Hubicka <jh@suse.cz>
-
- * i386-dis.c: Add x86_64 support.
- (rex): New static variable.
- (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
- (USED_REX): New macro.
- (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
- (OP_I64, OP_OFF64, OP_IMREG): New functions.
- (OP_REG, OP_OFF): Declare.
- (get64, get32, get32s): New functions.
- (r??_reg): New constants.
- (dis386_att): Change templates of instruction implicitly promoted
- to 64bit; change e?? to RMe?? for unwind RM byte instructions.
- (grps): Likewise.
- (dis386_intel): Likewise.
- (dixx86_64_att): New table based on dis386_att.
- (dixx86_64_intel): New table based on dis386_intel.
- (names64, names8rex): New global variable.
- (names32, names16): Add extended registers.
- (prefix_user_t): Recognize rex prefixes.
- (prefix_name): Print REX prefixes nicely.
- (op_riprel): New global variable.
- (start_pc): Set type to bfd_vma.
- (print_insn_i386): Detect the 64bit mode and use proper table;
- move ckprefix after initializing the buffer; output unused rex prefixes;
- output information about target of RIP relative addresses.
- (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
- (print_operand_value): New function.
- (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
- REX prefix and new modes.
- (get64, get32s): New.
- (get32): Return bfd_signed_vma type.
- (set_op): Initialize the op_riprel.
- * disassemble.c (disassembler): Recognize the x86-64 disassembly.
-
-2001-01-03 Richard Sandiford <r.sandiford@redhat.com>
-
- cgen-dis.in (read_insn): Use bfd_get_bits()
-
-2001-01-02 Richard Sandiford <rsandifo@redhat.com>
-
- * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
- (hash_insn_list): Likewise
- * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
- (extract_1): Use bfd_get_bits().
- (extract_normal): Apply sign extension to both extraction
- methods.
- * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
- (cgen_put_insn_value): Use bfd_put_bits()
-
-2000-12-28 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-asm.in (parse_insn_normal): Print better error message for
- instructions with missing operands.
-
-2000-12-21 Santeri Paavolainen <santtu@ssh.com>
-
- * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
-
-2000-12-16 Nick Clifton <nickc@redhat.com>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.in: Regenerate.
- * configure.in: Add spacing.
- * configure: Regenerate.
- * ia64-asmtab.c: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2000-12-12 Frank Ch. Eigler <fche@redhat.com>
-
- * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
- error messages over later parse-time ones.
-
-2000-12-12 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
- argument.
- * ia64-gen.c (insert_deplist): Cast sizeof result to int.
- (print_dependency_table): Print NULL if semantics field not set.
- (insert_opcode_dependencies): Mark cmp parameter as unused.
- (print_main_table): Use fprintf_vma to print long long fields.
- (main): Mark argv paramter as unused. Convert to old style definition.
- * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
- * ia64-asmtab.c: Regnerate.
-
-2000-12-09 Nick Clifton <nickc@redhat.com>
-
- * m32r-dis.c (print_insn): Prevent re-read of instruction from
- wrong address.
-
- * fr30-dis.c: Regenerate.
-
-2000-12-08 Peter Targett <peter.targett@arccores.com>
-
- * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
- * Makefile.am (C_FILES): Add arc-ext.c.
- (ALL_MACHINES) Add arc-ext.lo.
- (INCLUDES) Add opcode directory to list.
- New dependency entry for arc-ext.lo.
- * disassemble.c (disassembler): Correct call to
- arc_get_disassembler.
- * arc-opc.c: New update for ARC, including full base
- instructions for ARC variants.
- * arc-dis.h, arc-dis.c: New update for ARC, including
- extensibility functionality.
- * arc-ext.h, arc-ext.c: New files for handling extensibility.
-
-2000-12-03 Chris Demetriou cgd@sibyte.com
-
- * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
- MOD_HILO, and MOD_LO macros.
-
- * mips-opc.c (M1, M2): Delete.
- (mips_builtin_opcodes): Remove all uses of M1.
-
- * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
- instructions take "G" format second operands and use the
- correct flags.
- There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
- match.
- Delete "sel" code operands from mfc1 and mtc1.
- Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
- for dm[ft]c[023].
-
-2000-12-03 Ed Satterthwaite ehs@sibyte.com and
- Chris Demetriou cgd@sibyte.com
-
- * mips-opc.c (mips_builtin_opcodes): Finish additions
- for MIPS32 support, and clean up existing entries for
- aesthetics, consistency with the MIPS32 ISA, and
- with consistency the rest of the table.
-
-2000-12-01 Nick Clifton <nickc@redhat.com>
-
- * mips16-opc.c (mips16_opcodes): Add initialiser for membership
- field.
-
-2000-12-01 Chris Demetriou <cgd@sibyte.com>
-
- mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
- specifiers. Update 'B' for new constant names, and remove
- 'm'.
- mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
- near the top of the array, so they are disassembled properly.
- Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
- code for MIPS32. Update "clo" and "clz" to use 'U' operand
- specifier. Add 'H' format specifier variants for "mfc1,"
- "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
- MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
- "wait" variant which uses 'J' operand specifier.
-
- * mips-dis.c (set_mips_isa_type): Update to use
- CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
- Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
- * mips-opc.c (I32): New constant for instructions added in
- MIPS32.
- (P4): Delete.
- (mips_builtin_opcodes) Replace all uses of P4 with I32.
-
- * mips-dis.c (set_mips_isa_type): Add cases for
- bfd_mach_mips5 and bfd_mach_mips64.
- * mips-opc.c (I64): New definitions.
-
- * mips-dis.c (set_mips_isa_type): Add case for
- bfd_mach_mips_sb1.
-
-2000-11-28 Hans-Peter Nilsson <hp@bitrange.com>
-
- * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
- (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
- Initialize variable dc to NULL.
- (print_insn_shx): Remove unused label d_reg_n.
-
-2000-11-24 Nick Clifton <nickc@redhat.com>
-
- * arm-opc.h: Add new opcode formatting parameter 'B'.
- (arm_opcodes): Add XScale, v5, and v5te instructions.
- (thumb_opcodes): Add v5t instructions.
-
- * arm-dis.c (print_insn_arm): Handle new 'B' format
- parameter.
- (print_insn_thumb): Decode BLX(1) instruction.
-
-2000-11-21 Chris Demetriou <cgd@sibyte.com>
-
- * mips-opc.c: Fix file header comment.
-
-2000-11-14 Hans-Peter Nilsson <hp@axis.com>
-
- * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
- print_insn_cris_with_register_prefix.
-
-2000-11-11 Alexandre Oliva <aoliva@redhat.com>
-
- * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
-
-2000-11-07 Matthew Green <mrg@redhat.com>
-
- * cgen-dis.in (print_insn): All insns which can fit into insn_value
- must be loaded there in their entirety.
-
-2000-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
- (compute_arch_mask): Add v8plusb and v9b machines.
- (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
- * sparc-opc.c: Support for Cheetah instruction set.
- (prefetch_table): Add #invalidate.
-
-2000-10-16 Nick Clifton <nickc@redhat.com>
-
- * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
-
-2000-10-06 Dave Brolley <brolley@redhat.com>
-
- * fr30-desc.h: Regenerate.
- * m32r-desc.h: Regenerate.
- * m32r-ibld.c: Regenerate.
-
-2000-10-05 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Update from Intel.
- * ia64-asmtab.c: Regenerate.
-
-2000-10-04 Kazu Hirata <kazu@hxi.com>
-
- * ia64-gen.c: Convert C++-style comments to C-style comments.
- * tic54x-dis.c: Likewise.
-
-2000-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- Changes to add dollar prefix to registers for files where user symbols
- don't have a leading underscore. Fix formatting.
- * cris-dis.c (REGISTER_PREFIX_CHAR): New.
- (format_reg): Add parameter with_reg_prefix. All callers changed.
- (print_with_operands): Ditto.
- (print_insn_cris_generic): Renamed from print_insn_cris, add
- parameter with_reg_prefix.
- (print_insn_cris_with_register_prefix,
- print_insn_cris_without_register_prefix, cris_get_disassembler):
- New.
- * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
-
-2000-09-22 Jim Wilson <wilson@redhat.com>
-
- * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
- gt, ge, ngt, and nge.
- * ia64-asmtab.c: Regenerate.
-
- * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
- * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
- (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
- * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
- * ia64-asmtab.c: Regnerate.
-
-2000-09-13 Anders Norlander <anorland@acc.umu.se>
-
- * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
- Add mfc0 and mtc0 with sub-selection values.
- Add clo and clz opcodes.
- Add msub and msubu instructions for MIPS32.
- Add madd/maddu aliases for mad/madu for MIPS32.
- Support wait, deret, eret, movn, pref for MIPS32.
- Support tlbp, tlbr, tlbwi, tlbwr.
- (P4): New define.
-
- * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
- (print_insn_arg): Handle 'H' args.
- (set_mips_isa_type): Recognize 4K.
- Use CPU_* defines instead of hardcoded numbers.
-
-2000-09-11 Catherine Moore <clm@redhat.com>
-
- * d30v-opc.c (d30v_operand_t): New operand type Rb2.
- (d30v_format_tab): Use Rb2 for modinc and moddec.
-
-2000-09-07 Catherine Moore <clm@redhat.com>
-
- * d30v-opc.c (d30v_format_tab): Use format Ra for
- modinc and moddec.
-
-2000-09-06 Alexandre Oliva <aoliva@redhat.com>
-
- * configure: Rebuilt with new libtool.m4.
-
-2000-09-05 Nick Clifton <nickc@redhat.com>
-
- * configure: Regenerate.
- * po/opcodes.pot: Regenerate.
-
-2000-08-31 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4: Include libtool and gettext macros from the
- top level.
- * aclocal.m4, configure: Rebuilt.
-
-2000-08-30 Kazu Hirata <kazu@hxi.com>
-
- * tic80-dis.c: Fix formatting.
-
-2000-08-29 Kazu Hirata <kazu@hxi.com>
-
- * w65-dis.c: Fix formatting.
-
-2000-08-28 Mark Hatle <mhatle@mvista.com>
-
- * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
- (powerpc_opcodes): Add table entries for PPC 405 instructions.
- Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
- instructions. Added extended mnemonic mftbl as defined in the
- 405GP manual for all PPCs.
-
-2000-08-28 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
- call. Change last goto to use failed instead of done.
-
-2000-08-28 Dave Brolley <brolley@redhat.com>
-
- * cgen-ibld.in (cgen_put_insn_int_value): New function.
- (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
- (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
- (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
- * cgen-dis.in (read_insn): New static function.
- (print_insn): Use read_insn to read the insn into the buffer and set
- up for disassembly.
- (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
- in the buffer.
- * fr30-asm.c: Regenerated.
- * fr30-desc.c: Regenerated.
- * fr30-desc.h: Regenerated.
- * fr30-dis.c: Regenerated.
- * fr30-ibld.c: Regenerated.
- * fr30-opc.c: Regenerated.
- * fr30-opc.h: Regenerated.
- * m32r-asm.c: Regenerated.
- * m32r-desc.c: Regenerated.
- * m32r-desc.h: Regenerated.
- * m32r-dis.c: Regenerated.
- * m32r-ibld.c: Regenerated.
- * m32r-opc.c: Regenerated.
-
-2000-08-28 Kazu Hirata <kazu@hxi.com>
-
- * tic30-dis.c: Fix formatting.
-
-2000-08-27 Kazu Hirata <kazu@hxi.com>
-
- * sh-dis.c: Fix formatting.
-
-2000-08-24 David Edelsohn <dje@watson.ibm.com>
-
- * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
-
-2000-08-24 Kazu Hirata <kazu@hxi.com>
-
- * z8k-dis.c: Fix formatting.
-
-2000-08-16 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
- break, mov-immediate, nop.
- * ia64-opc-f.c: Delete fpsub instructions.
- * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
- address operand. Rewrite using macros to avoid long lines.
- * ia64-opc.h (POSTINC): Define.
- * ia64-asmtab.c: Regenerate.
-
-2000-08-15 Jim Wilson <wilson@redhat.com>
-
- * ia64-ic.tbl: Add missing entries.
-
-2000-08-08 Jason Eckhardt <jle@redhat.com>
-
- * i860-dis.c (print_br_address): Change third argument from int
- to long.
-
-2000-08-07 Richard Henderson <rth@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Get byte skip count correct
- for MLI templates. Handle IA64_OPND_TGT64.
-
-2000-08-04 Ben Elliston <bje@redhat.com>
-
- * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
- * cgen.sh: Likewise.
-
-2000-08-02 Jim Wilson <wilson@redhat.com>
-
- * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
-
-2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
- Change return type from void to int. Check the combination
- of operands, return 1 if valid. Fix to avoid BUF overflow.
- Report undefined combinations of operands in COMMENT.
- Report internal errors to stderr. Output the adiw/sbiw
- constant operand in both decimal and hex.
- (print_insn_avr): Disassemble ldd/std with displacement of 0
- as ld/st. Check avr_operand () return value, handle invalid
- combinations of operands like unknown opcodes.
-
-2000-07-28 Ben Elliston <bje@redhat.com>
-
- * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
- (run-cgen, stamp-m32r, stamp-fr30): New targets.
- * Makefile.in: Regenerate.
- * configure.in: Add --enable-cgen-maint option.
- * configure: Regenerate.
-
-2000-07-26 Dave Brolley <brolley@redhat.com>
-
- * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
- (cgen_hw_lookup_by_num): Ditto.
- (cgen_operand_lookup_by_name): Ditto.
- (print_address): Ditto.
- (print_keyword): Ditto.
- * cgen-dis.c (hash_insn_array): Mark unused parameters with
- ATTRIBUTE_UNUSED.
- * cgen-asm.c (hash_insn_array): Mark unused parameters with
- ATTRIBUTE_UNUSED.
- (cgen_parse_keyword): Ditto.
-
-2000-07-22 Jason Eckhardt <jle@redhat.com>
-
- * i860-dis.c: New file.
- (print_insn_i860): New function.
- (print_br_address): New function.
- (sign_extend): New function.
- (BITWISE_OP): New macro.
- (I860_REG_PREFIX): New macro.
- (grnames, frnames, crnames): New structures.
-
- * disassemble.c (ARCH_i860): Define.
- (disassembler): Add check for bfd_arch_i860 to set disassemble
- function to print_insn_i860.
-
- * Makefile.in (CFILES): Added i860-dis.c.
- (ALL_MACHINES): Added i860-dis.lo.
- (i860-dis.lo): New dependences.
-
- * configure.in: New bits for bfd_i860_arch.
-
- * configure: Regenerated.
-
-2000-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
- (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
- (cris-dis.lo, cris-opc.lo): New rules.
- * Makefile.in: Rebuild.
- * configure.in (bfd_cris_arch): New target.
- * configure: Rebuild.
- * disassemble.c (ARCH_cris): Define.
- (disassembler): Support ARCH_cris.
- * cris-dis.c, cris-opc.c: New files.
- * po/POTFILES.in, po/opcodes.pot: Regenerate.
-
-2000-07-11 Jakub Jelinek <jakub@redhat.com>
-
- * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
- Reported by Bill Clarke <llib@computer.org>.
-
-2000-07-09 Geoffrey Keating <geoffk@redhat.com>
-
- * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
- Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
-
-2000-07-09 Alan Modra <alan@linuxcare.com.au>
-
- * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
- fput_const, extract_3, extract_5_load, extract_5_store,
- extract_5r_store, extract_5R_store, extract_10U_store,
- extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
- extract_12, extract_17, extract_22): Prototype.
- (print_insn_hppa): Rename inner block opcode -> opc to avoid
- shadowing outer block.
- (GET_BIT): Define.
-
-2000-07-05 DJ Delorie <dj@redhat.com>
-
- * MAINTAINERS: new
-
-2000-07-04 Alexandre Oliva <aoliva@redhat.com>
-
- * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
-
-2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
-
- * avr-dis.c (avr_operand): Change _ () to _() around all strings
- marked for translation (exception from the usual coding style).
- (print_insn_avr): Initialize insn2 to avoid warnings.
-
-2000-07-03 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c (bfd_h8_disassemble): Improve readability.
- * h8500-dis.c: Fix formatting.
-
-2000-07-01 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
- (CLEANFILES): Add DEPA.
- * Makefile.in: Regenerate.
-
-2000-06-26 Scott Bambrough <scottb@netwinder.org>
-
- * arm-dis.c (regnames): Add an additional register set to match
- the set used by GCC. Make it the default.
-
-2000-06-22 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
- find one.
- * Makefile.in: Regenerate.
-
-2000-06-20 H.J. Lu <hjl@gnu.org>
-
- * Makefile.am: Rebuild dependency.
- * Makefile.in: Rebuild.
-
-2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
-
- * Makefile.in, configure: regenerate
- * disassemble.c (disassembler): Recognize ARCH_m68hc12,
- ARCH_m68hc11.
- * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
- New functions.
- * configure.in: Recognize m68hc12 and m68hc11.
- * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
- * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
- and opcode generation for m68hc11 and m68hc12.
-
-2000-06-16 Nick Duffek <nsd@redhat.com>
-
- * disassemble.c (disassembler): Refer to the PowerPC 620 using
- bfd_mach_ppc_620 instead of 620.
-
-2000-06-12 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c: Fix formatting.
- (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
- correctly.
-
-2000-06-09 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c (avr_operand): Bugfix for jmp/call address.
-
-2000-06-07 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: completely rewritten.
-
-2000-06-02 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c: Follow the GNU coding style.
- (bfd_h8_disassemble) Fix a typo.
-
-2000-06-01 Kazu Hirata <kazu@hxi.com>
-
- * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
- (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
- correctly. Fix a typo.
-
-2000-05-31 Nick Clifton <nickc@redhat.com>
-
- * opintl.h (_(String)): Explain why dgettext is used instead of
- gettext.
-
-2000-05-30 Nick Clifton <nickc@redhat.com>
-
- * opintl.h (gettext, dgettext, dcgettext, textdomain,
- bindtextdomain): Replace defines with those from intl/libgettext.h
- to quieten gcc warnings.
-
-2000-05-26 Alan Modra <alan@linuxcare.com.au>
-
- * Makefile.am: Update dependencies with "make dep-am"
- * Makefile.in: Regenerate.
-
-2000-05-25 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-dis.c (disassemble): Don't assume 32-bit longs when
- sign-extending operands.
-
-2000-05-15 Donald Lindsay <dlindsay@redhat.com>
-
- * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
- except brf's.
-
-2000-05-21 Nick Clifton <nickc@redhat.com>
-
- * Makefile.am (LIBIBERTY): Define.
-
-2000-05-19 Diego Novillo <dnovillo@redhat.com>
-
- * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
- (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
- (reg_names): Rename to std_reg_names. Change it to a char **
- static variable.
- (std_reg_names): New name for reg_names.
- (set_mips_isa_type): Set reg_names to point to std_reg_names by
- default.
-
-2000-05-16 Frank Ch. Eigler <fche@redhat.com>
-
- * fr30-desc.h: Partially regenerated to account for changed
- CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
- * m32r-desc.h: Ditto.
-
-2000-05-15 Nick Clifton <nickc@redhat.com>
-
- * arm-opc.h: Use upper case for flasg in MSR and MRS
- instructions. Allow any bit to be set in the field_mask of
- the MSR instruction.
-
- * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
- field_mask of an MSR instruction.
-
-2000-05-11 Thomas de Lellis <tdel@windriver.com>
-
- * arm-opc.h: Disassembly of thumb ldsb/ldsh
- instructions changed to ldrsb/ldrsh.
-
-2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com>
-
- * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
- target addresses for 'jal' and 'j'.
-
-2000-05-10 Geoff Keating <geoffk@redhat.com>
-
- * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
- also available in common mode when powerpc syntax is being used.
-
-2000-05-08 Alan Modra <alan@linuxcare.com.au>
-
- * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
- (dummy_print_address): Ditto.
-
-2000-05-04 Timothy Wall <twall@redhat.com>
-
- * tic54x-opc.c: New.
- * tic54x-dis.c: New.
- * disassemble.c (disassembler): Add ARCH_tic54x.
- * configure.in: Added tic54x target.
- * configure: Ditto.
- * Makefile.am: Add tic54x dependencies.
- * Makefile.in: Ditto.
-
-2000-05-03 J.T. Conklin <jtc@redback.com>
-
- * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
- vector unit operands.
- (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
- unit instruction formats.
- (PPCVEC): New macro, mask for vector instructions.
- (powerpc_operands): Add table entries for above operand types.
- (powerpc_opcodes): Add table entries for vector instructions.
-
- * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
- (print_insn_little_powerpc): Likewise.
- (print_insn_powerpc): Prepend 'v' when printing vector registers.
-
-2000-04-24 Clinton Popetz <cpopetz@redhat.com>
-
- * configure.in: Add bfd_powerpc_64_arch.
- * disassemble.c (disassembler): Use print_insn_big_powerpc for
- 64 bit code.
-
-2000-04-24 Nick Clifton <nickc@redhat.com>
-
- * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
- field.
-
-2000-04-23 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c (reg_fmul_d): New. Extract destination register from
- FMUL instruction.
- (reg_fmul_r): New. Extract source register from FMUL instruction.
- (reg_muls_d): New. Extract destination register from MULS instruction.
- (reg_muls_r): New. Extract source register from MULS instruction.
- (reg_movw_d): New. Extract destination register from MOVW instruction.
- (reg_movw_r): New. Extract source register from MOVW instruction.
- (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
- EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
-
-2000-04-22 Timothy Wall <twall@redhat.com>
-
- * ia64-gen.c (general): Add an ordered table of primary
- opcode names, as well as priority fields to disassembly data
- structures to enforce a preferred disassembly format based on the
- ordering of the opcode tables.
- (load_insn_classes): Show a useful message if IC tables are missing.
- (load_depfile): Ditto.
- * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
- distinguish preferred disassembly.
- * ia64-opc-f.c: Reorder some insn for preferred disassembly
- format. Fix incorrect flag on fma.s/fma.s.s0.
- * ia64-opc.c: Scan *all* disassembly matches and use the one with
- the highest priority.
- * ia64-opc-b.c: Use more abbreviations.
- * ia64-asmtab.c: Regenerate.
-
-2000-04-21 Jason Eckhardt <jle@redhat.com>
-
- * hppa-dis.c (extract_16): New function.
- (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
- new operand types l,y,&,fe,fE,fx.
-
-2000-04-21 Richard Henderson <rth@redhat.com>
- David Mosberger <davidm@hpl.hp.com>
- Timothy Wall <twall@redhat.com>
- Bob Manson <manson@charmed.cygnus.com>
- Jim Wilson <wilson@redhat.com>
-
- * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
- (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
- ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
- ia64-asmtab.c.
- (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
- (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
- ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
- * Makefile.in: Rebuild.
- * configure Rebuild.
- * configure.in (bfd_ia64_arch): New target.
- * disassemble.c (ARCH_ia64): Define.
- (disassembler): Support ARCH_ia64.
- * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
- ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
- ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
- ia64-war.tbl, ia64-waw.tbl: New files.
-
-2000-04-20 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
- (disassemble): Use them.
-
-2000-04-14 Alan Modra <alan@linuxcare.com.au>
-
- * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
- * Makefile.am: Update dependencies.
- * Makefile.in: Regenerate.
-
-2000-04-14 Michael Sokolov <msokolov@ivan.Harhan.ORG>
-
- * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
- avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
- disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
- i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
- m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
- mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
- ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
- tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
- w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
- ansidecl.h as sysdep.h includes it.
-
-2000-04-7 Andrew Cagney <cagney@b1.redhat.com>
-
- * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
- --enable-build-warnings option.
- * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
- * Makefile.in, configure: Re-generate.
-
-2000-04-05 J"orn Rennecke <amylaar@redhat.com>
-
- * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
- stc GBR,@-<REG_N> is available for arch_sh1_up.
- Group parallel processing insn with identical mnemonics together.
- Make three-operand psha / pshl come first.
-
-2000-04-05 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
- Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
- (sh_arg_type): Add A_PC.
- (sh_table): Update entries using immediates. Add repeat.
- * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
- Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
-
-2000-04-04 Alan Modra <alan@linuxcare.com.au>
-
- * po/opcodes.pot: Regenerate.
-
- * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
- (DEP): Quote when passing vars to sub-make. Add warning message
- to end.
- (DEP1): Rewrite for "gcc -MM".
- (CLEANFILES): Add DEP2.
- Update dependencies.
- * Makefile.in: Regenerate.
-
-2000-04-03 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: Syntax cleanup.
- (add0fff): Print the pc relative address as a signed number.
- (add03f8): Likewise.
-
-2000-04-01 Ian Lance Taylor <ian@zembu.com>
-
- * disassemble.c (disassembler_usage): Don't use a prototype. Mark
- the parameter ATTRIBUTE_UNUSED.
- * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
-
-2000-04-01 Alexandre Oliva <aoliva@redhat.com>
-
- * m10300-opc.c: SP-based offsets are always unsigned.
-
-2000-03-29 Thomas de Lellis <tdel@windriver.com>
-
- * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
- [branch always] instead of "undefined".
-
-2000-03-27 Nick Clifton <nickc@redhat.com>
-
- * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
- short instructions, from end of list of long instructions.
-
-2000-03-27 Ian Lance Taylor <ian@zembu.com>
-
- * Makefile.am (CFILES): Add avr-dis.c.
- (ALL_MACHINES): Add avr-dis.lo.
-
-2000-03-27 Alan Modra <alan@linuxcare.com>
-
- * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
- truncate integers.
- (print_insn_avr): Call function via pointer in K&R compatible way.
- (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
- add0fff, add03f8): Convert to old style function declaration and
- add prototype.
- (avrdis_opcode): Add prototype.
-
-2000-03-27 Denis Chertykov <denisc@overta.ru>
-
- * avr-dis.c: New file. AVR disassembler.
- * configure.in (bfd_avr_arch): New architecture support.
- * disassemble.c: Likewise.
- * configure: Regenerate.
-
-2000-03-06 J"oern Rennecke <amylaar@redhat.com>
-
- * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
-
-2000-03-02 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
- flag to determine if operand is pc-relative.
- * d30v-opc.c:
- (d30v_format_table):
- (REL6S3): Renamed from IMM6S3.
- Added flag OPERAND_PCREL.
- (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
- added flag OPERAND_PCREL.
- (IMM12S3U): Replaced with REL12S3.
- (SHORT_D2, LONG_D): Delay target is pc-relative.
- (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
- Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
- using the REL* operands.
- (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
- (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
- LONG_Db, using REL* operands.
- (SHORT_U, SHORT_A5S): Removed stray alternatives.
- (d30v_opcode_table): Use new *r formats.
-
-2000-02-28 Nick Clifton <nickc@redhat.com>
-
- * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
- 'signed_overflow_ok_p'.
-
-2000-02-27 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
- name of the libtool directory.
- * Makefile.in: Rebuild.
-
-2000-02-24 Nick Clifton <nickc@redhat.com>
-
- * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
- (cgen_clear_signed_overflow_ok): New function.
- (cgen_signed_overflow_ok_p): New function.
-
-2000-02-23 Andrew Haley <aph@redhat.com>
-
- * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
- m32r-ibld.c, m32r-opc.h: Rebuild.
-
-2000-02-23 Linas Vepstas <linas@linas.org>
-
- * i370-dis.c, i370-opc.c: New.
-
- * disassemble.c (ARCH_i370): Define.
- (disassembler): Handle it.
-
- * Makefile.am: Add support for Linux/IBM 370.
- * configure.in: Likewise.
-
- * Makefile.in: Regenerate.
- * configure: Likewise.
-
-2000-02-22 Chandra Chavva <cchavva@redhat.com>
-
- * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
- ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
- procedure.
-
-2000-02-22 Andrew Haley <aph@redhat.com>
-
- * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
- force gp32 to zero.
- * mips-opc.c (G6): New define.
- (mips_builtin_op): Add "move" definition for -gp32.
-
-2000-02-22 Ian Lance Taylor <ian@zembu.com>
-
- From Grant Erickson <gerickso@Brocade.COM>:
- * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
-
-2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
-
- * dis-buf.c (buffer_read_memory): Change `length' param and all int
- vars to unsigned.
-
-2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk>
-
- * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
- (print_insn_ppi): Likewise.
- (print_insn_shx): Use info->mach to select appropriate insn set.
- Add support for sh-dsp. Remove FD_REG_N support.
- * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
- (sh_arg_type): Likewise. Remove FD_REG_N.
- (sh_dsp_reg_nums): New enum.
- (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
- (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
- (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
- (arch_sh3_dsp_up): Likewise.
- (sh_opcode_info): New field: arch.
- (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
- D_REG_N. Fill in arch field. Add sh-dsp insns.
-
-2000-02-14 Fernando Nasser <fnasser@totem.to.redhat.com>
-
- * arm-dis.c: Change flavor name from atpcs-special to
- special-atpcs to prevent name conflict in gdb.
- (get_arm_regname_num_options, set_arm_regname_option,
- get_arm_regnames): New functions. API to access the several
- flavor of register names. Note: Used by gdb.
- (print_insn_thumb): Use the register name entry from the currently
- selected flavor for LR and PC.
-
-2000-02-10 Nick Clifton <nickc@redhat.com>
-
- * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
- classes.
- (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
- "mulsh.h" instructions.
- * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
- classes.
- (print_insn_mcore): Add support for little endian targets.
- Add support for MULSH and OPSR classes.
-
-2000-02-07 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c (parse_arm_diassembler_option): Rename again.
- Previous delat did not take.
-
-2000-02-03 Timothy Wall <twall@redhat.com>
-
- * dis-buf.c (buffer_read_memory): Use octets_per_byte field
- to adjust target address bounds checking and calculate the
- appropriate octet offset into data.
-
-2000-01-27 Nick Clifton <nickc@redhat.com>
-
- * arm-dis.c: (parse_disassembler_option): Rename to
- parse_arm_disassembler_option and allow to be exported.
-
- * disassemble.c (disassembler_usage): New function: Print out any
- target specific disassembler options.
- Call arm_disassembler_options() if the ARM architecture is being
- supported.
-
- * arm-dis.c (NUM_ELEM): Define this macro if not already
- defined.
- (arm_regname): New struct type for ARM register names.
- (arm_toggle_regnames): Delete.
- (parse_disassembler_option): Use register name structure.
- (print_insn): New function: Combines duplicate code found in
- print_insn_big_arm and print_insn_little_arm.
- (print_insn_big_arm): Call print_insn.
- (print_insn_little_arm): Call print_insn.
- (print_arm_disassembler_options): Display list of supported,
- ARM specific disassembler options.
-
-2000-01-27 Thomas de Lellis <tdel@windriver.com>
-
- * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
- ARM_STT_16BIT flag as Thumb code symbols.
-
- * arm-dis.c (printf_insn_little_arm): Ditto.
-
-2000-01-25 Thomas de Lellis <tdel@windriver.com>
-
- * arm-dis.c (printf_insn_thumb): Prevent double dumping
- of raw thumb instructions.
-
-2000-01-20 Nick Clifton <nickc@redhat.com>
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
- * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
+ 2003-12-19 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16, parse_uhi16, parse_d12): Fix some
+ cut&paste errors in shifting/truncating numerical operands.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16): Parse gotofflo and gotofffuncdesclo.
+ (parse_uslo16): Likewise.
+ (parse_uhi16): Parse gotoffhi and gotofffuncdeschi.
+ (parse_d12): Parse gotoff12 and gotofffuncdesc12.
+ (parse_s12): Likewise.
+ 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
+ * frv-asm.c (parse_ulo16): Parse gotlo and gotfuncdesclo.
+ (parse_uslo16): Likewise.
+ (parse_uhi16): Parse gothi and gotfuncdeschi.
+ (parse_d12): Parse got12 and gotfuncdesc12.
+ (parse_s12): Likewise.
-2000-01-03 Nick Clifton <nickc@cygnus.com>
+2004-01-02 Albert Bartoszko <albar@nt.kegel.com.pl>
- * arm-dis.c (streq): New macro.
- (strneq): New macro.
- (force_thumb): ew local variable.
- (parse_disassembler_option): New function: Parse a single, ARM
- specific disassembler command line switch.
- (parse_disassembler_option): Call parse_disassembler_option to
- parse individual command line switches.
- (print_insn_big_arm): Check force_thumb.
- (print_insn_little_arm): Check force_thumb.
+ * msp430-dis.c (msp430_doubleoperand): Check for an 'add'
+ instruction which looks similar to an 'rla' instruction.
-For older changes see ChangeLog-9899
+For older changes see ChangeLog-0203
Local Variables:
mode: change-log
diff --git a/opcodes/ChangeLog-0001 b/opcodes/ChangeLog-0001
new file mode 100644
index 0000000000..085453a34e
--- /dev/null
+++ b/opcodes/ChangeLog-0001
@@ -0,0 +1,2224 @@
+2001-12-31 Jeffrey A Law (law@redhat.com)
+
+ * hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
+ 'X', 'M', and 'A'. No longer emit a space after 'x' or 's'.
+ Always emit a space after 'H'.
+
+2001-12-18 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
+
+2001-12-17 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (unop): Encode with RB as $sp.
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+
+ * Makefile.am: Add support for xstormy16.
+ * Makefile.in: Regenerate.
+ * configure.in: Add support for xstormy16.
+ * configure: Regenerate.
+ * disassemble.c: Add support for xstormy16.
+ * xstormy16-asm.c: New generated file.
+ * xstormy16-desc.c: New generated file.
+ * xstormy16-desc.h: New generated file.
+ * xstormy16-dis.c: New generated file.
+ * xstormy16-ibld.c: New generated file.
+ * xstormy16-opc.c: New generated file.
+ * xstormy16-opc.h: New generated file.
+
+2001-12-06 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add wh64en.
+
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v-opc.c (d10v_predefined_registers): Remove warnings
+ introduced in Nov 29's patch.
+
+ * d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of
+ unmatched register.
+
+ * d10v-dis.c (print_operand): Disregard OPERAND_SP in register
+ predefined value.
+
+ * d10v-opc.c (RSRC_NOSP): New macro.
+ (d10v_operands): Add it.
+ (d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w".
+
+2001-11-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP.
+ (RSRC_SP): New macro.
+ (d10v_operands): Add it.
+ (d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP.
+
+2001-11-23 Lars Brinkhoff <lars@nocrew.org>
+
+ * pdp11-dis.c (print_insn_pdp11): Handle illegal instructions.
+ Also, break out of the loop as soon as an instruction has been
+ printed.
+
+2001-11-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (mfvrsave, mtvrsave): New instructions.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+
+ * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
+ (insert_bat, extract_bat, insert_bba, extract_bba,
+ insert_bd, extract_bd, insert_bdm, extract_bdm,
+ insert_bdp, extract_bdp, valid_bo,
+ insert_bo, extract_bo, insert_boe, extract_boe,
+ insert_ds, extract_ds, insert_de, extract_de,
+ insert_des, extract_des, insert_li, extract_li,
+ insert_mbe, extract_mbe, insert_mb6, extract_mb6,
+ insert_nb, extract_nb, insert_nsi, extract_nsi,
+ insert_ral, insert_ram, insert_ras,
+ insert_rbs, extract_rbs, insert_sh6, extract_sh6,
+ insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
+ (extract_bd, extract_bdm, extract_bdp,
+ extract_ds, extract_des,
+ extract_li, extract_nsi): Implement sign extension without conditional.
+ (insert_bdm, extract_bdm,
+ insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
+ (extract_bdm, extract_bdp): Correct 32 bit validation.
+ (AT1_MASK, AT2_MASK): Define.
+ (BBOAT_MASK): Define.
+ (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
+ (BOFM64, BOFP64, BOTM64, BOTP64): Define.
+ (BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
+ (PPCCOM32, PPCCOM64): Define.
+ (powerpc_opcodes): Modify existing 32 bit insns with branch hints
+ and add new patterns to implement 64 bit branches with hints. Move
+ booke instructions so they match before ppc64.
+
+ * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
+ 64 bit default targets, and parse "32" and "64" in options.
+ Formatting fixes.
+ (print_insn_powerpc): Pass dialect to operand->extract.
+
+2001-11-14 Dave Brolley <brolley@redhat.com>
+
+ * cgen-dis.c (count_decodable_bits): New function.
+ (add_insn_to_hash_chain): New function.
+ (hash_insn_array): Call add_insn_to_hash_chain.
+ (hash_insn_list): Call add_insn_to_hash_chain.
+ * m32r-dis.c: Regenerated.
+ * fr30-dis.c: Regenerated.
+
+2001-11-14 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c (print_insn): Use x86-64 as option.
+
+2001-11-14 Alan Modra <amodra@bigpond.net.au>
+
+ * disassemble.c (disassembler): Call print_insn_i386.
+ * i386-dis.c (SUFFIX_ALWAYS): Define.
+ (struct dis_private): Add orig_sizeflag.
+ (print_insn_i386): Make it a wrapper, calling..
+ (print_insn): ..The old body of print_insn_i386. Avoid longjmp
+ warning without using volatile by moving orig_sizeflag to priv,
+ and removing inbuf. Parse disassembler_options.
+ (print_insn_i386_att, print_insn_i386_intel): Move initialisation
+ code to print_insn.
+ (putop): Remove #ifdef SUFFIX_ALWAYS.
+
+2001-11-11 Timothy Wall <twall@alum.mit.edu>
+
+ * tic54x-dis.c: Use revised opcode structure. Export opcode
+ template lookup.
+ (has_lkaddr): Don't forget about Lmem insns.
+ * tic54x-opc.c: Add emulation trap. Parallel table now uses
+ standard opcode templates.
+
+2001-11-13 Zack Weinberg <zack@codesourcery.com>
+
+ * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries
+ to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand
+ category instead of Ew.
+
+2001-11-12 Niraj Gupta <ngupta@zumanetworks.com>
+
+ * m68k-opc.c: Fix definitions of wddata[bwl].
+
+2001-11-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
+ fit in the buffer, try to match the empty keyword.
+
+2001-11-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-ibld.in (extract_1): Fix badly placed #if 0.
+ * fr30-ibld.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+
+2001-11-04 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (print_insn_mips): Remove spaces at end of line.
+
+2001-11-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
+ * configure: Regernate.
+ * po/fr.po: New file.
+ * po/sv.po: New file.
+ * po/tr.po: New file.
+
+2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * m68hc11-dis.c (print_insn): Fix disassembly of movb with a
+ constant as source.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c. Regenerate
+ dependencies.
+ * Makefile.in: Regenerate.
+ * mmix-dis.c, mmix-opc.c: New files.
+
+2001-10-29 Kazu Hirata <kazu@hxi.com>
+
+ * d30v-dis.c: Fix a comment typo.
+
+2001-10-23 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
+ "bltzall" as writing GPR 31 (since they do).
+
+ * mips-dis.c (print_insn_arg): Calculate info->target
+ where appropriate.
+ (print_insn_mips): Fill in instruction info.
+ (print_mips16_insn_arg): Remove unneded variable 'val'.
+ Removed duplicated instruction target calculations,
+ calculate once and print that result. Use same idiom for
+ masking the jump segment bits as is used in print_insn_arg.
+
+2001-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (CT): Make it an optional operand.
+
+2001-10-17 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Make the ISA used to disassemble
+ SB-1 binaries include instructions specific to the SB-1.
+ * mips-opc.c (SB1): New definition.
+ (mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
+ "recip.ps", "rsqrt.ps", and "sqrt.ps".
+
+2001-10-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (STRM): New AltiVec operand.
+ (XDSS): New AltiVec instruction form.
+ (mtvscr): Correct operand list.
+ (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
+
+2001-10-17 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+
+2001-10-13 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (MO): New macro for MO field of mbar instruction.
+ (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
+ mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
+
+2001-10-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-ibld.in: Include safe-ctype.h in preference to
+ ctype.h.
+ * cgen-asm.in: Include safe-ctype.h in preference to
+ ctype.h. Fix formatting. Use ISSPACE instead of isspace and
+ TOLOWER instead of tolower.
+ (@arch@_cgen_build_insn_regex): Remove duplication of syntax
+ string elements in constructed regular expression.
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2001-10-12 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
+ instruction field instruction/extraction functions for new BookE
+ DE form instructions.
+ (CT): New macro for CT field in an X form instruction.
+ (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
+ instructions.
+ (PPC64): Don't include PPC_OPCODE_PPC.
+ (403): New opcode macro for PPC403 processors.
+ (BOOKE): New opcode macro for BookE processors.
+ (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
+ (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
+ (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
+ (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
+ (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
+ (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
+ (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
+ (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
+ (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
+ (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
+ (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
+ (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
+ (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
+ (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
+
+ * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
+ for a disassembler option of `booke', `booke32' or `booke64' to enable
+ BookE support in the disassembler.
+
+2001-10-12 John Healy <jhealy@redhat.com>
+
+ * cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
+ for the length when extracting the base part of the insn.
+
+2001-10-09 Bruno Haible <haible@clisp.cons.org>
+
+ * cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
+ regular expression. Fix some formatting problems.
+ * fr30-asm.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+
+2001-10-09 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
+ of indirect register memory accesses to be same format the
+ assembler accepts.
+
+2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * sh-opc.h: Fix encoding of least significant nibble of the
+ DSP single data transfer instructions.
+
+ * sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
+ instructions.
+
+2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cgen-asm.in: Fix compile time warning messages in generated
+ C files.
+ * cgen-dis.in: The same.
+ * cgen-ibld.in: The same.
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * fr30-opc.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opinst.c Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-dis.c: Regenerate.
+ * openrisc-ibld.c: Regenerate.
+ * openrisc-opc.c: Regenerate.
+ * openrisc-opc.h: Regenerate.
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2001-10-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * arm-opc.h (arm_opcodes): Add cirrus insns.
+
+ * arm-dis.c (print_insn_arm): Add 'I' case.
+
+2001-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ * po/POTFILES.in: Regenerate.
+ * configure: Regenerate.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (Makefile): Depend on bfd/configure.in.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-09-30 John Healy <jhealy@redhat.com>
+
+ * cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
+ calls to cgen_get_insn_value and cgen_put_insn_value calls.
+ (extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
+
+2001-09-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am: Update dependencies with "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * arc-dis.c: Formatting fixes.
+ (my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
+
+2001-09-21 Bruno Haible <haible@clisp.cons.org>
+
+ * arc-dis.c: Don't include <ctype.h>.
+ * openrisc-desc.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+
+2001-09-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * fr30-opc.c: Fix compile time warning messages.
+ * i370-opc.c: Fix compile time warning messages.
+ * i960-dis.c: Fix compile time warning messages.
+ * m32r-asm.c: Fix compile time warning messages.
+ * m32r-desc.c: Fix compile time warning messages.
+ * m32r-dis.c: Fix compile time warning messages.
+ * m32r-ibld.c: Fix compile time warning messages.
+ * m32r-opc.c: Fix compile time warning messages.
+ * m32r-opinst.c: Fix compile time warning messages.
+ * ns32k-dis.c: Fix compile time warning messages.
+ * openrisc-asm.c: Fix compile time warning messages.
+ * openrisc-desc.c: Fix compile time warning messages.
+ * openrisc-dis.c: Fix compile time warning messages.
+ * openrisc-ibld.c: Fix compile time warning messages.
+ * openrisc-opc.c: Fix compile time warning messages.
+ * pdp11-dis.c: Fix compile time warning messages.
+ * tic54x-dis.c: Fix compile time warning messages.
+ * v850-opc.c: Fix compile time warning messages.
+ * vax-dis.c: Fix compile time warning messages.
+ * w65-opc.h: Fix compile time warning messages.
+ * z8k-opc.h: Fix compile time warning messages.
+ * z8kgen.c: Fix compile time warning messages.
+
+2001-09-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * arm-dis.c: Fix compile time warning messages.
+ * cgen-asm.c: Fix compile time warning messages.
+ * cgen-dis.c: Fix compile time warning messages.
+ * cris-dis.c: Fix compile time warning messages.
+ * d10v-dis.c: Fix compile time warning messages.
+ * fr30-asm.c: Fix compile time warning messages.
+ * fr30-desc.c: Fix compile time warning messages.
+ * fr30-dis.c: Fix compile time warning messages.
+ * fr30-ibld.c: Fix compile time warning messages.
+
+2001-09-18 Bruno Haible <haible@clisp.cons.org>
+
+ * cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (cgen_parse_keyword): Use ISALNUM instead of isalnum.
+ * cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
+ isalpha/tolower.
+ (cgen_keyword_add): Use ISALNUM instead of isalnum.
+ (hash_keyword_name): Use TOLOWER instead of tolower.
+ * fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
+ * fr30-desc.c: Don't include <ctype.h>.
+ * fr30-ibld.c: Likewise.
+ * ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (load_insn_classes, parse_resource_users, load_depfile): Use
+ ISSPACE instead of isspace.
+ * m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
+ * m32r-desc.c: Don't include <ctype.h>.
+ * m32r-ibld.c: Likewise.
+ * openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (parse_insn_normal): Use TOLOWER/ISSPACE instead of
+ tolower/isspace.
+ (openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
+
+2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * Makefile.am: Add rules and dependencies to create the s/390 opcode
+ table out of s390-opc.txt automatically.
+ * configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
+ * s390-mkopc.c (dumpTable): Change output to create a complete file.
+ * s390-opc.c: New improved opcode format macros and remove the
+ pregenerated opcode table.
+ * s390-opc.txt: Adapt to new improved opcode format macros.
+
+2001-09-14 David Schleef <ds@schleef.org>
+
+ * ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
+
+2001-09-04 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Don't print the implicit al/ax/eax register
+ for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
+
+2001-08-31 Eric Christopher <echristo@redhat.com>
+ Jason Eckhardt <jle@redhat.com>
+
+ * mips-dis.c: Add support for bfd_mach_mipsisa32 and
+ bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
+ bfd_mach_mips64.
+
+2001-08-31 Andreas Jaeger <aj@suse.de>
+
+ * tic54x-opc.c: Add default initializers to avoid warnings.
+
+ * arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
+ * arc-ext.c: Likewise.
+
+2001-08-28 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (icbt): Order correctly.
+
+2001-08-27 David Edelsohn <dje@watson.ibm.com>
+ Torbjorn Granlund <tege@swox.com>
+
+ * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
+ (LS): Define.
+ (insert_ds): Complain if not a multiple of 4.
+ (XSYNC): Define.
+ (XSYNC_MASK): Define.
+ (powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
+ "slbmfee". Modify "sync" to use XSYNC_MASK and LS.
+
+2001-08-26 Andreas Jaeger <aj@suse.de>
+
+ * h8500-opc.h: Add default initializers to h8500_table to shut up
+ GCC warnings.
+
+2001-08-25 Andreas Jaeger <aj@suse.de>
+
+ * tic54x-dis.c: Add unused attributes where needed.
+
+ * z8k-dis.c (output_instr): Add unused attribute.
+
+ * h8300-dis.c: Add missing prototypes.
+ (bfd_h8_disassemble): Make static.
+
+ * cris-dis.c: Add missing prototype.
+ * h8500-dis.c: Likewise.
+ * m68hc11-dis.c: Likewise.
+ * pj-dis.c: Likewise.
+ * tic54x-dis.c: Likewise.
+ * v850-dis.c: Likewise.
+ * vax-dis.c: Likewise.
+ * w65-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+ * d10v-dis.c: Add missing prototype.
+ (dis_long): Remove unused variable.
+ (dis_2_short): Likewise.
+
+ * sh-dis.c: Add missing prototypes.
+ * v850-opc.c: Likewise.
+ Add unused attributes where needed.
+
+ * ns32k-dis.c: Add missing prototypes.
+ (bit_extract_simple): Remove unused variable.
+
+2001-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add "low or high" and "not low or high"
+ branch instructions for gcc 3.0.
+ * s390-opc.txt: Likewise.
+
+2001-08-21 Andreas Jaeger <aj@suse.de>
+
+ * i960-dis.c: Add parameters for prototypes
+ (ctrl): Add unused attributes.
+ (cobr): Likewise.
+ (put_abs): Likewise.
+
+ * mips-dis.c: Add missing prototypes.
+ * a29k-dis.c: Likewise.
+ * arc-dis.c: Likewise.
+ * ia64-opc.c: Likewise.
+
+ * s390-dis.c: Add missing prototypes.
+ (init_disasm): Remove unused attribute since the parameter is
+ used.
+
+2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (M1): Define. Reformatted Code.
+ (mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
+ mtps, mtps. Typo.
+
+2001-08-16 Jonathan Larmour <jlarmour@redhat.com>
+
+ * mips-opc.c: R3900s can support all branch likely INSN_MACROs where
+ the corresponding non-likely insn is in MIPS I.
+
+2001-08-13 Kazu Hirata <kazu@hxi.com>
+
+ * mcore-dis.c: Fix formatting.
+ * mips-dis.c: Likewise.
+ * pj-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+2001-08-12 Richard Henderson <rth@redhat.com>
+
+ * cgen-ibld.in (extract_normal): Match type of VALUE and MASK
+ to *VALUEP. Regenerate all cgen files.
+
+2001-08-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
+ argument.
+ * mips-opc.c (G6): Undefine.
+ (mips_builtin_opcodes): Remove gp32 entry for "move". Add macro
+ as the first "move" alternative.
+
+2001-08-10 Andreas Jaeger <aj@suse.de>
+
+ * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
+ to build warnings.
+ * configure: Regenerate.
+
+2001-08-10 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Revert 2001-08-08.
+
+2001-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * dis-buf.c (generic_strcat_address): Add missing prototype.
+ #if 0 the functions as it is unused.
+
+2001-08-08 Alan Modra <amodra@bigpond.net.au>
+
+ 1999-10-25 Torbjorn Granlund <tege@swox.com>
+ * ppc-opc.c: Include "bfd.h".
+ (powerpc_operands): Add new field for reloc type.
+
+2001-07-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (print_insn_arg): Don't use software integer registers
+ for coprocessor registers.
+ (get_mips_isa): Removed.
+ (is_newabi): New function, checks if NewABI is used.
+ (_print_insn_mips): Get distinction between old ABI and new ABI right.
+
+2001-08-01 Christian Groessler <cpg@aladdin.de>
+
+ * z8kgen.c: Fixed indentation of opt[] array. Include stdio.h to
+ get stderr definition.
+ (internal, gas): Removed warnings.
+ (gas): Create a correct final entry for created array.
+ * z8k-opc.h: Recreated with new z8kgen.
+
+2001-07-28 Kazu Hirata <kazu@hxi.com>
+
+ * i386-dis.c: Fix formatting.
+
+2001-07-28 Matthias Kramm <kramm@quiss.org>
+
+ * i386-dis.c: Change formatting conventions for architecture
+ i386:intel to better match the format of various intel i386
+ assemblers, like nasm, tasm or masm.
+
+2001-07-24 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Update dependencies with "make dep-am".
+ * Makefile.in: Regenerate
+
+2001-07-24 Kazu Hirata <kazu@hxi.com>
+
+ * alpha-dis.c: Fix formatting.
+ * cris-dis.c: Likewise.
+ * d10v-dis.c: Likewise.
+ * d30v-dis.c: Likewise.
+ * m10300-dis.c: Likewise.
+ * tic54x-dis.c: Likewise.
+
+2001-07-23 Kazu Hirata <kazu@hxi.com>
+
+ * m68k-dis.c: Fix formatting.
+ * pj-dis.c: Likewise.
+ * s390-dis.c: Likewise.
+ * z8k-dis.c: Likewise.
+
+2001-07-21 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
+ into the rest of the surrounding definitions.
+
+2001-07-18 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (grps): Print l or w suffix, and require mem modrm
+ for lgdt, lidt, sgdt, sidt.
+
+2001-07-13 Philip Blundell <philb@gnu.org>
+
+ * arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
+
+2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen-asm.in: Include "xregex.h" always to enable the libiberty
+ regex support.
+ (@arch@_cgen_build_insn_regex): New routine from Graydon.
+ (@arch@_cgen_assemble_insn): Add Graydon's code to use regex
+ to verify if it is worth parsing the insn as insn "x". Also update
+ error message when insn is not a recognized format of the insn vs
+ when the insn is completely unrecognized.
+
+2001-07-11 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
+ bfd_get_bits.
+ * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
+ non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
+
+2001-07-09 Andreas Jaeger <aj@suse.de>, Karsten Keil <kkeil@suse.de>
+
+ * i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
+ (OP_J): Use bfd_vma for mask to work properly with 64 bits.
+ (op_address,op_riprel): Use bfd_vma to handle 64 bits.
+
+2001-07-05 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CPUDIR): Define.
+ (stamp-m32r): Update dependencies.
+ (stamp-fr30): Ditto.
+ (stamp-openrisc): Ditto.
+ * Makefile.in: Regenerate.
+
+2001-07-03 Zoltan Hidvegi <hzoli@hzoli.2y.net>
+
+ * ppc-opc.c: Fix encoding of 'clf' instruction.
+
+2001-06-30 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
+
+2001-06-28 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): Allow any first character.
+ * cgen-opc.c (cgen_keyword_add): Ignore special first
+ character when building nonalpha_chars field.
+
+2001-06-24 Ben Elliston <bje@redhat.com>
+
+ * m88k-dis.c: Format to conform to GNU coding standards.
+
+2001-06-23 Andreas Jaeger <aj@suse.de>
+
+ * disassemble.c (disassembler_usage): Add unused attribute.
+
+2001-06-22 Eric Christopher <echristo@redhat.com>
+
+ * mips-opc.c: Move prefx to start of the table.
+
+2001-06-22 Stacey Sheldon <ssheldon@Catena.com>
+
+ * arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
+ instruction.
+
+2001-06-22 Pauli <pauli@moreton.com.au>
+
+ * m68k-opc.c: Add wdebug instruction.
+
+2001-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
+
+2001-06-14 Geoffrey Keating <geoffk@redhat.com>
+
+ * cgen-asm.c (cgen_parse_keyword): When looking for the
+ boundaries of a keyword, allow any special characters
+ that are actually in one of the allowed keyword.
+ * cgen-opc.c (cgen_keyword_add): Add any special characters
+ to the nonalpha_chars field.
+
+2001-06-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add lgh instruction.
+ * s390-opc.txt: Likewise.
+
+2001-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c: Group function prototypes in one place.
+ (FLOATCODE): Redefine as 1.
+ (USE_GROUPS): Redefine as 2.
+ (USE_PREFIX_USER_TABLE): Redefine as 3.
+ (X86_64_SPECIAL): Define as 4.
+ (GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
+ (PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
+ (dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
+ (dis386): New table combining above four tables.
+ (dis386_twobyte_att, dis386_twobyte_intel): Delete.
+ (dis386_twobyte): New table combining above two tables.
+ (x86_64_table): New table to handle x86_64.
+ (X86_64_0): Define.
+ (float_mem_att, float_mem_intel): Delet.
+ (float_mem): New table combining above two tables.
+ (print_insn_i386): Modify for above.
+ (dofloat): Likewise.
+ (putop): Handle '{', '|' and '}' to select alternative mnemonics.
+ Return 0 on success, 1 if no valid alternative.
+ (putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
+ (putop <case 'T'>): Move to case 'U', and share case 'Q' code.
+ (putop <case 'I'>): Move to case 'T', and share case 'P' code.
+ (OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
+ if not 64-bit mode.
+ (OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
+ (OP_I64): If not 64-bit mode, call OP_I.
+ OP_OFF64): If not 64-bit mode, call OP_OFF.
+ (OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
+ 'ignore'/'ignored' to 'bytemode'.
+
+2001-06-10 Alan Modra <amodra@bigpond.net.au>
+
+ * configure.in: Sort 'ta' case statement.
+ * configure: Regenerate.
+
+ * i386-dis.c (dis386_att): Add 'H' to conditional branch and
+ loop,jcxz insns.
+ (disx86_64_att): Likewise.
+ (dis386_twobyte_att): Likewise.
+ (print_insn_i386): Don't print branch hints as a prefix.
+ (putop): 'H' macro prints branch hints.
+ (get64): Kill compile warnings.
+
+2001-06-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_table): Don't use empty initializers.
+
+2001-06-06 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c: Fix formatting.
+ (unpack_instr): Remove unused cases in switch statement. Add
+ safety abort() in default case.
+ (unparse_instr): Add safety abort() in default case.
+
+2001-06-06 Peter Jakubek <pjak@snafu.de>
+
+ * m68k-dis.c (print_insn_m68k): Fix typo.
+ * m68k-opc.c (m68k_opcodes): Correct allowed operands for
+ mcf (ColdFire) div, rem and moveb instructions.
+
+2001-06-06 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
+ (cond_jump_mode, loop_jcxz_mode): Define.
+ (dis386_att): Add cond_jump_flag and loop_jcxz_flag as
+ appropriate, and 'F' suffix to loop insns.
+ (disx86_64_att): Likewise.
+ (dis386_twobyte_att): Likewise.
+ (print_insn_i386): Don't output addr prefix for loop, jcxz insns.
+ Output data size prefix for long conditional jumps. Output cs and
+ ds branch hints.
+ (putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
+ (OP_J): Don't make PREFIX_DATA used.
+
+2001-06-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_table): Complete last element entry to avoid
+ compiler warning.
+
+2001-05-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (mips_isa_type): Add MIPS r12k support.
+
+2001-05-23 Alan Modra <amodra@one.net.au>
+
+ * arc-opc.c: Whitespace changes.
+
+2001-05-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris-opc.c (cris_spec_regs): Add missing initializer field for
+ last element.
+
+2001-05-15 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (extract_normal): Complete support for min<base case.
+
+2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (INSNLEN): Rename MAXLEN.
+ (std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
+ (print_insn_arg): Remove $ prefix of register names.
+ (set_mips_isa_type): Remove.
+ (mips_isa_type): New function.
+ (get_mips_isa): New Function.
+ (print_insn_mips): Rename _print_insn_mips.
+ (_print_insn_mips): New function, contains code which was
+ duplicated in print_insn_big_mips and print_insn_little_mips.
+ (print_insn_big_mips): Moved code to _print_insn_mips.
+ (print_insn_little_mips): Likewise.
+ (print_mips16_insn_arg): Remove $ prefix of register names.
+ Print error message before abort.
+
+2001-05-14 J.T. Conklin <jtc@redback.com>
+
+ * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
+ simplified mnemonics used for setting PPC750-specific special
+ purpose registers.
+
+2001-05-12 H.J. Lu <hjl@gnu.org>
+
+ * i386-dis.c (print_insn_i386): Always set `mod', `reg' and
+ `rm'.
+
+2001-05-12 Peter Targett <peter.targett@arccores.com>
+
+ * arc-opc.c (arc_reg_names): Correct attribute for lp_count
+ register to r/w. Formatting fixes throughout file.
+
+2001-05-12 Alan Modra <amodra@one.net.au>
+
+ * i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
+ movq operands.
+ (twobyte_has_modrm): Update table.
+ (need_modrm): Give it file scope.
+ (MODRM_CHECK): Define.
+ (dofloat): Use MODRM_CHECK.
+ (OP_E): Likewise.
+ (OP_EM): Likewise.
+ (OP_EX): Likewise.
+
+2001-05-07 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (default_print_insn): Tolerate min<base instructions
+ even at end of a section.
+ * cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
+ by ignoring precariously-unpacked insn_value in favor of raw buffer.
+
+2001-05-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * disassemble.c (disassembler_usage): Remove unused attribute.
+
+2001-05-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
+
+2001-05-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn): Remove call to read_insn. Instead,
+ assume incoming buffer already has the base insn loaded. Handle
+ smaller-than-base instructions for variable-length case.
+
+2001-05-04 Alan Modra <amodra@one.net.au>
+
+ * i386-dis.c (Ev, Ed): Remove duplicate define.
+ (Gd): Define.
+ (XS): Define.
+ (OP_XS): New function.
+ (dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
+ movmskp operands.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Use MS for maskmovq operand.
+
+2001-04-27 Johan Rydberg <jrydberg@opencores.org>
+
+ * Makefile.am: Add OpenRISC target.
+ * Makefile.in: Regenerated.
+
+ * disassemble.c (disassembler): Recognize the OpenRISC disassembly.
+
+ * configure.in (bfd_openrisc_arch): Add target.
+ * configure: Regenerated.
+
+ * openrisc-asm.c: New file.
+ * openrisc-desc.c: Likewise.
+ * openrisc-desc.h: Likewise.
+ * openrisc-dis.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+ * openrisc-opc.c: Likewise.
+ * openrisc-opc.h: Likewise.
+
+2001-04-24 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c: add names of control registers (ctrl_names);
+ (seg_length): provides instruction length fixup for segmented
+ mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
+ CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
+ (unparse_intr): handle CLASS_PR, print addresses without '#'
+ * z8k-opc.h: re-created with new z8kgen
+ * z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
+ entries for ldctl/ldctlb instruction
+
+2001-04-06 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c: Add ffreep instruction.
+
+2001-03-30 Alexandre Oliva <aoliva@redhat.com>
+
+ * ppc-opc.c (insert_mbe): Shift mask initializer as long.
+
+2001-03-24 Alan Modra <alan@linuxcare.com.au>
+
+ * i386-dis.c (PREGRP25): Define.
+ (dis386_twobyte_att): Use here in place of "movntq" entry.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
+ (PREGRP26): Define.
+ (dis386_twobyte_att): Use here.
+ (dis386_twobyte_intel): Likewise.
+ (prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
+ (prefix_user_table <maskmovdqu>): XM operand, not MX.
+ (prefix_user_table): Cosmetic changes to "bad" entries.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * mips-opc.c: Remove extraneous whitespace.
+ * mips-dis.c: Remove extraneous whitespace.
+
+2001-03-22 Ben Elliston <bje@redhat.com>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
+ declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
+ * cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
+ to allay a compiler warning.
+
+2001-03-22 Alan Modra <alan@linuxcare.com.au>
+
+ * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
+ (dis386_twobyte_intel): Likewise.
+ (twobyte_has_modrm): Set entry for paddq, psubq.
+
+2001-03-20 Patrick Macdonald <patrickm@redhat.com>
+
+ * cgen-dis.in (print_insn_@arch@): Add support for target machine
+ determination via CGEN_COMPUTE_MACH.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-opc.h: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2001-03-20 H.J. Lu <hjl@gnu.org>
+
+ * configure.in: Remove the redundent AC_ARG_PROGRAM.
+ * configure: Rebuild.
+
+2001-03-19 Jim Wilson <wilson@redhat.com>
+
+ * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
+ notestr if larger than xsect.
+ (in_class): Handle format M5.
+ * ia64-asmtab.c: Regnerate.
+
+2001-03-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
+ has more than one byte left to read.
+
+2001-03-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-opc.c: Add new opcodes. Smooth out formatting.
+ * s390-opc.txt: Add new opcodes.
+
+2001-03-06 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn_thumb): Compute destination address
+ of BLX(1) instruction by taking bit 1 from PC and not from bit
+ 0 of the offset.
+
+2001-03-06 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
+ so command line switches will work.
+
+2001-03-05 Dave Brolley <brolley@redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-desc.h: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * fr30-ibld.c: Regenerate.
+ * fr30-opc.c: Regenerate.
+ * fr30-opc.h: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2001-02-28 Igor Shevlyakov <igor@windriver.com>
+
+ * m68k-opc.c: fix cpushl according to Motorola. Enable
+ bunch of instructions for Coldfire 5407 and add all new.
+
+2001-02-27 Alan Modra <alan@linuxcare.com.au>
+
+ * configure.in (BFD_VERSION): Do without grep.
+ * configure: Regenerate.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2001-02-23 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-21 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
+ separate variants: one for IMM22 and the other for IMM14.
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-21 Greg McGary <greg@mcgary.org>
+
+ * cgen-opc.c (cgen_get_insn_value): Add missing `return'.
+
+2001-02-20 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (ia64-ic.tbl): Remove the target.
+ (ia64-raw.tbl): Likewise.
+ (ia64-waw.tbl): Likewise.
+ (ia64-war.tbl): Likewise.
+ (ia64-asmtab.c): Generate it in the source directory.
+ * Makefile.in: Regenerated.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * Makefile.am: Add PDP-11 target.
+ * configure.in: Likewise.
+ * disassemble.c: Likewise.
+ * pdp11-dis.c: New file.
+ * pdp11-opc.c: New file.
+
+2001-02-14 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Update from Intel. Add setf to fr-writers.
+ * ia64-asmtab.c: Regenerate.
+
+2001-02-12 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
+ instructions.
+ (putop): Handle 'Y'
+
+2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-dis.c (print_insn_arg): Use top four bits of the address of
+ the following instruction not of the jump itself for the jump
+ target.
+ (print_mips16_insn_arg): Likewise.
+
+2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
+ directory.
+ * Makefile.in: Regenerate.
+
+2001-02-09 Schwidefsky <schwidefsky@de.ibm.com>
+
+ * Makefile.am: Add linux target for S/390.
+ * Makefile.in: Likewise.
+ * configure.in: Likewise.
+ * disassemble.c: Likewise.
+ * s390-dis.c: New file.
+ * s390-mkopc.c: New file.
+ * s390-opc.c: New file.
+ * s390-opc.txt: New file.
+
+2001-02-05 Jim Wilson <wilson@redhat.com>
+
+ * ia64-asmtab.c: Revert 2000-12-16 change.
+
+2001-02-02 Patrick Macdonald <patrickm@redhat.com>
+
+ * fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
+ * m32r-desc.h: Regenerate.
+
+2001-02-01 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (dis386_att, grps): Use 'T' for push/pop
+ (putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
+
+2001-01-14 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
+
+2001-01-13 Nick Clifton <nickc@redhat.com>
+
+ * disassemble.c: Remove spurious white space.
+
+2001-01-13 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
+ templates.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+ * Makefile.am (C_FILES): Add arc-ext.c.
+ (ALL_MACHINES) Add arc-ext.lo.
+ (INCLUDES) Add opcode directory to list.
+ New dependency entry for arc-ext.lo.
+ * disassemble.c (disassembler): Correct call to
+ arc_get_disassembler.
+ * arc-opc.c: New update for ARC, including full base
+ instructions for ARC variants.
+ * arc-dis.h, arc-dis.c: New update for ARC, including
+ extensibility functionality.
+ * arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2001-01-10 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (PREGRP15 - PREGRP24): New.
+ (dis386_twobyt): Add SSE2 instructions.
+ (twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
+ (twobyte_uses_f3_prefix): ... this one.
+ (grps): Add SSE instructions.
+ (prefix_user_table): Add two new slots; add SSE2 instructions.
+ (print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
+ Handle the REPNZ and Data16 prefixes as well; do proper lookup
+ to prefix_user_table.
+ (OP_E): Accept mfence and lfence as well.
+ (OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
+ (OP_XMM): Support REX extensions.
+ (OP_EM): Likewise.
+ (OP_EX): Likewise.
+
+2001-01-09 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn): Set pc to zero for instructions with
+ a reloc associated with them.
+
+2001-01-09 Jeff Johnston <jjohnstn@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Changed syn to be
+ CGEN_SYNTAX_CHAR_TYPE. Changed all references to *syn
+ as character to use CGEN_SYNTAX_CHAR macro and all comparisons
+ to '\0' to use 0 instead.
+ * cgen-dis.in (print_insn_normal): Ditto.
+ * cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
+
+2001-01-05 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c: Add x86_64 support.
+ (rex): New static variable.
+ (REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
+ (USED_REX): New macro.
+ (Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
+ (OP_I64, OP_OFF64, OP_IMREG): New functions.
+ (OP_REG, OP_OFF): Declare.
+ (get64, get32, get32s): New functions.
+ (r??_reg): New constants.
+ (dis386_att): Change templates of instruction implicitly promoted
+ to 64bit; change e?? to RMe?? for unwind RM byte instructions.
+ (grps): Likewise.
+ (dis386_intel): Likewise.
+ (dixx86_64_att): New table based on dis386_att.
+ (dixx86_64_intel): New table based on dis386_intel.
+ (names64, names8rex): New global variable.
+ (names32, names16): Add extended registers.
+ (prefix_user_t): Recognize rex prefixes.
+ (prefix_name): Print REX prefixes nicely.
+ (op_riprel): New global variable.
+ (start_pc): Set type to bfd_vma.
+ (print_insn_i386): Detect the 64bit mode and use proper table;
+ move ckprefix after initializing the buffer; output unused rex prefixes;
+ output information about target of RIP relative addresses.
+ (putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
+ (print_operand_value): New function.
+ (OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
+ REX prefix and new modes.
+ (get64, get32s): New.
+ (get32): Return bfd_signed_vma type.
+ (set_op): Initialize the op_riprel.
+ * disassemble.c (disassembler): Recognize the x86-64 disassembly.
+
+2001-01-03 Richard Sandiford <r.sandiford@redhat.com>
+
+ cgen-dis.in (read_insn): Use bfd_get_bits()
+
+2001-01-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * cgen-dis.c (hash_insn_array): Use bfd_put_bits().
+ (hash_insn_list): Likewise
+ * cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
+ (extract_1): Use bfd_get_bits().
+ (extract_normal): Apply sign extension to both extraction
+ methods.
+ * cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
+ (cgen_put_insn_value): Use bfd_put_bits()
+
+2000-12-28 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Print better error message for
+ instructions with missing operands.
+
+2000-12-21 Santeri Paavolainen <santtu@ssh.com>
+
+ * cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
+
+2000-12-16 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure.in: Add spacing.
+ * configure: Regenerate.
+ * ia64-asmtab.c: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2000-12-12 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
+ error messages over later parse-time ones.
+
+2000-12-12 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
+ argument.
+ * ia64-gen.c (insert_deplist): Cast sizeof result to int.
+ (print_dependency_table): Print NULL if semantics field not set.
+ (insert_opcode_dependencies): Mark cmp parameter as unused.
+ (print_main_table): Use fprintf_vma to print long long fields.
+ (main): Mark argv paramter as unused. Convert to old style definition.
+ * ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
+ * ia64-asmtab.c: Regnerate.
+
+2000-12-09 Nick Clifton <nickc@redhat.com>
+
+ * m32r-dis.c (print_insn): Prevent re-read of instruction from
+ wrong address.
+
+ * fr30-dis.c: Regenerate.
+
+2000-12-08 Peter Targett <peter.targett@arccores.com>
+
+ * configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+ * Makefile.am (C_FILES): Add arc-ext.c.
+ (ALL_MACHINES) Add arc-ext.lo.
+ (INCLUDES) Add opcode directory to list.
+ New dependency entry for arc-ext.lo.
+ * disassemble.c (disassembler): Correct call to
+ arc_get_disassembler.
+ * arc-opc.c: New update for ARC, including full base
+ instructions for ARC variants.
+ * arc-dis.h, arc-dis.c: New update for ARC, including
+ extensibility functionality.
+ * arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2000-12-03 Chris Demetriou cgd@sibyte.com
+
+ * mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
+ MOD_HILO, and MOD_LO macros.
+
+ * mips-opc.c (M1, M2): Delete.
+ (mips_builtin_opcodes): Remove all uses of M1.
+
+ * mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
+ instructions take "G" format second operands and use the
+ correct flags.
+ There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
+ match.
+ Delete "sel" code operands from mfc1 and mtc1.
+ Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
+ for dm[ft]c[023].
+
+2000-12-03 Ed Satterthwaite ehs@sibyte.com and
+ Chris Demetriou cgd@sibyte.com
+
+ * mips-opc.c (mips_builtin_opcodes): Finish additions
+ for MIPS32 support, and clean up existing entries for
+ aesthetics, consistency with the MIPS32 ISA, and
+ with consistency the rest of the table.
+
+2000-12-01 Nick Clifton <nickc@redhat.com>
+
+ * mips16-opc.c (mips16_opcodes): Add initialiser for membership
+ field.
+
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
+ specifiers. Update 'B' for new constant names, and remove
+ 'm'.
+ mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
+ near the top of the array, so they are disassembled properly.
+ Enable "ssnop" for MIPS32. Add "break" variant with 20 bit
+ code for MIPS32. Update "clo" and "clz" to use 'U' operand
+ specifier. Add 'H' format specifier variants for "mfc1,"
+ "mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32. Update
+ MIPS32 "sdbbp" to use 'B' operand specifier. Add MIPS32
+ "wait" variant which uses 'J' operand specifier.
+
+ * mips-dis.c (set_mips_isa_type): Update to use
+ CPU_UNKNOWN and ISA_* constants. Add bfd_mach_mips32 case.
+ Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
+ * mips-opc.c (I32): New constant for instructions added in
+ MIPS32.
+ (P4): Delete.
+ (mips_builtin_opcodes) Replace all uses of P4 with I32.
+
+ * mips-dis.c (set_mips_isa_type): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+ * mips-opc.c (I64): New definitions.
+
+ * mips-dis.c (set_mips_isa_type): Add case for
+ bfd_mach_mips_sb1.
+
+2000-11-28 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
+ (print_insn_ppi): Make nib1, nib2, nib3 unsigned.
+ Initialize variable dc to NULL.
+ (print_insn_shx): Remove unused label d_reg_n.
+
+2000-11-24 Nick Clifton <nickc@redhat.com>
+
+ * arm-opc.h: Add new opcode formatting parameter 'B'.
+ (arm_opcodes): Add XScale, v5, and v5te instructions.
+ (thumb_opcodes): Add v5t instructions.
+
+ * arm-dis.c (print_insn_arm): Handle new 'B' format
+ parameter.
+ (print_insn_thumb): Decode BLX(1) instruction.
+
+2000-11-21 Chris Demetriou <cgd@sibyte.com>
+
+ * mips-opc.c: Fix file header comment.
+
+2000-11-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * cris-dis.c (cris_get_disassembler): If abfd is NULL, return
+ print_insn_cris_with_register_prefix.
+
+2000-11-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
+
+2000-11-07 Matthew Green <mrg@redhat.com>
+
+ * cgen-dis.in (print_insn): All insns which can fit into insn_value
+ must be loaded there in their entirety.
+
+2000-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
+ (compute_arch_mask): Add v8plusb and v9b machines.
+ (print_insn_sparc): siam mode decoding, accept ASRs up to 25.
+ * sparc-opc.c: Support for Cheetah instruction set.
+ (prefetch_table): Add #invalidate.
+
+2000-10-16 Nick Clifton <nickc@redhat.com>
+
+ * mcore-dis.c (imsk): Change mask for OC to 0xFE00.
+
+2000-10-06 Dave Brolley <brolley@redhat.com>
+
+ * fr30-desc.h: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-ibld.c: Regenerate.
+
+2000-10-05 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Update from Intel.
+ * ia64-asmtab.c: Regenerate.
+
+2000-10-04 Kazu Hirata <kazu@hxi.com>
+
+ * ia64-gen.c: Convert C++-style comments to C-style comments.
+ * tic54x-dis.c: Likewise.
+
+2000-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ Changes to add dollar prefix to registers for files where user symbols
+ don't have a leading underscore. Fix formatting.
+ * cris-dis.c (REGISTER_PREFIX_CHAR): New.
+ (format_reg): Add parameter with_reg_prefix. All callers changed.
+ (print_with_operands): Ditto.
+ (print_insn_cris_generic): Renamed from print_insn_cris, add
+ parameter with_reg_prefix.
+ (print_insn_cris_with_register_prefix,
+ print_insn_cris_without_register_prefix, cris_get_disassembler):
+ New.
+ * disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
+
+2000-09-22 Jim Wilson <wilson@redhat.com>
+
+ * ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
+ gt, ge, ngt, and nge.
+ * ia64-asmtab.c: Regenerate.
+
+ * ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
+ * ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
+ (lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
+ * ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
+ * ia64-asmtab.c: Regnerate.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
+ Add mfc0 and mtc0 with sub-selection values.
+ Add clo and clz opcodes.
+ Add msub and msubu instructions for MIPS32.
+ Add madd/maddu aliases for mad/madu for MIPS32.
+ Support wait, deret, eret, movn, pref for MIPS32.
+ Support tlbp, tlbr, tlbwi, tlbwr.
+ (P4): New define.
+
+ * mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
+ (print_insn_arg): Handle 'H' args.
+ (set_mips_isa_type): Recognize 4K.
+ Use CPU_* defines instead of hardcoded numbers.
+
+2000-09-11 Catherine Moore <clm@redhat.com>
+
+ * d30v-opc.c (d30v_operand_t): New operand type Rb2.
+ (d30v_format_tab): Use Rb2 for modinc and moddec.
+
+2000-09-07 Catherine Moore <clm@redhat.com>
+
+ * d30v-opc.c (d30v_format_tab): Use format Ra for
+ modinc and moddec.
+
+2000-09-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure: Rebuilt with new libtool.m4.
+
+2000-09-05 Nick Clifton <nickc@redhat.com>
+
+ * configure: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2000-08-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * acinclude.m4: Include libtool and gettext macros from the
+ top level.
+ * aclocal.m4, configure: Rebuilt.
+
+2000-08-30 Kazu Hirata <kazu@hxi.com>
+
+ * tic80-dis.c: Fix formatting.
+
+2000-08-29 Kazu Hirata <kazu@hxi.com>
+
+ * w65-dis.c: Fix formatting.
+
+2000-08-28 Mark Hatle <mhatle@mvista.com>
+
+ * ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
+ (powerpc_opcodes): Add table entries for PPC 405 instructions.
+ Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
+ instructions. Added extended mnemonic mftbl as defined in the
+ 405GP manual for all PPCs.
+
+2000-08-28 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
+ call. Change last goto to use failed instead of done.
+
+2000-08-28 Dave Brolley <brolley@redhat.com>
+
+ * cgen-ibld.in (cgen_put_insn_int_value): New function.
+ (insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+ (insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
+ (extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+ * cgen-dis.in (read_insn): New static function.
+ (print_insn): Use read_insn to read the insn into the buffer and set
+ up for disassembly.
+ (print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
+ in the buffer.
+ * fr30-asm.c: Regenerated.
+ * fr30-desc.c: Regenerated.
+ * fr30-desc.h: Regenerated.
+ * fr30-dis.c: Regenerated.
+ * fr30-ibld.c: Regenerated.
+ * fr30-opc.c: Regenerated.
+ * fr30-opc.h: Regenerated.
+ * m32r-asm.c: Regenerated.
+ * m32r-desc.c: Regenerated.
+ * m32r-desc.h: Regenerated.
+ * m32r-dis.c: Regenerated.
+ * m32r-ibld.c: Regenerated.
+ * m32r-opc.c: Regenerated.
+
+2000-08-28 Kazu Hirata <kazu@hxi.com>
+
+ * tic30-dis.c: Fix formatting.
+
+2000-08-27 Kazu Hirata <kazu@hxi.com>
+
+ * sh-dis.c: Fix formatting.
+
+2000-08-24 David Edelsohn <dje@watson.ibm.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
+
+2000-08-24 Kazu Hirata <kazu@hxi.com>
+
+ * z8k-dis.c: Fix formatting.
+
+2000-08-16 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds. Delete
+ break, mov-immediate, nop.
+ * ia64-opc-f.c: Delete fpsub instructions.
+ * ia64-opc-m.c: Add POSTINC to all instructions with postincrement
+ address operand. Rewrite using macros to avoid long lines.
+ * ia64-opc.h (POSTINC): Define.
+ * ia64-asmtab.c: Regenerate.
+
+2000-08-15 Jim Wilson <wilson@redhat.com>
+
+ * ia64-ic.tbl: Add missing entries.
+
+2000-08-08 Jason Eckhardt <jle@redhat.com>
+
+ * i860-dis.c (print_br_address): Change third argument from int
+ to long.
+
+2000-08-07 Richard Henderson <rth@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Get byte skip count correct
+ for MLI templates. Handle IA64_OPND_TGT64.
+
+2000-08-04 Ben Elliston <bje@redhat.com>
+
+ * cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
+ * cgen.sh: Likewise.
+
+2000-08-02 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
+
+2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr-dis.c (avr_operand): Use PARAMS macro in declaration.
+ Change return type from void to int. Check the combination
+ of operands, return 1 if valid. Fix to avoid BUF overflow.
+ Report undefined combinations of operands in COMMENT.
+ Report internal errors to stderr. Output the adiw/sbiw
+ constant operand in both decimal and hex.
+ (print_insn_avr): Disassemble ldd/std with displacement of 0
+ as ld/st. Check avr_operand () return value, handle invalid
+ combinations of operands like unknown opcodes.
+
+2000-07-28 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
+ (run-cgen, stamp-m32r, stamp-fr30): New targets.
+ * Makefile.in: Regenerate.
+ * configure.in: Add --enable-cgen-maint option.
+ * configure: Regenerate.
+
+2000-07-26 Dave Brolley <brolley@redhat.com>
+
+ * cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
+ (cgen_hw_lookup_by_num): Ditto.
+ (cgen_operand_lookup_by_name): Ditto.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ * cgen-dis.c (hash_insn_array): Mark unused parameters with
+ ATTRIBUTE_UNUSED.
+ * cgen-asm.c (hash_insn_array): Mark unused parameters with
+ ATTRIBUTE_UNUSED.
+ (cgen_parse_keyword): Ditto.
+
+2000-07-22 Jason Eckhardt <jle@redhat.com>
+
+ * i860-dis.c: New file.
+ (print_insn_i860): New function.
+ (print_br_address): New function.
+ (sign_extend): New function.
+ (BITWISE_OP): New macro.
+ (I860_REG_PREFIX): New macro.
+ (grnames, frnames, crnames): New structures.
+
+ * disassemble.c (ARCH_i860): Define.
+ (disassembler): Add check for bfd_arch_i860 to set disassemble
+ function to print_insn_i860.
+
+ * Makefile.in (CFILES): Added i860-dis.c.
+ (ALL_MACHINES): Added i860-dis.lo.
+ (i860-dis.lo): New dependences.
+
+ * configure.in: New bits for bfd_i860_arch.
+
+ * configure: Regenerated.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
+ (ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
+ (cris-dis.lo, cris-opc.lo): New rules.
+ * Makefile.in: Rebuild.
+ * configure.in (bfd_cris_arch): New target.
+ * configure: Rebuild.
+ * disassemble.c (ARCH_cris): Define.
+ (disassembler): Support ARCH_cris.
+ * cris-dis.c, cris-opc.c: New files.
+ * po/POTFILES.in, po/opcodes.pot: Regenerate.
+
+2000-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
+ Reported by Bill Clarke <llib@computer.org>.
+
+2000-07-09 Geoffrey Keating <geoffk@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
+ Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
+
+2000-07-09 Alan Modra <alan@linuxcare.com.au>
+
+ * hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
+ fput_const, extract_3, extract_5_load, extract_5_store,
+ extract_5r_store, extract_5R_store, extract_10U_store,
+ extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
+ extract_12, extract_17, extract_22): Prototype.
+ (print_insn_hppa): Rename inner block opcode -> opc to avoid
+ shadowing outer block.
+ (GET_BIT): Define.
+
+2000-07-05 DJ Delorie <dj@redhat.com>
+
+ * MAINTAINERS: new
+
+2000-07-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * arm-dis.c (print_insn_arm): Output combinations of PSR flags.
+
+2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr-dis.c (avr_operand): Change _ () to _() around all strings
+ marked for translation (exception from the usual coding style).
+ (print_insn_avr): Initialize insn2 to avoid warnings.
+
+2000-07-03 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c (bfd_h8_disassemble): Improve readability.
+ * h8500-dis.c: Fix formatting.
+
+2000-07-01 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
+ (CLEANFILES): Add DEPA.
+ * Makefile.in: Regenerate.
+
+2000-06-26 Scott Bambrough <scottb@netwinder.org>
+
+ * arm-dis.c (regnames): Add an additional register set to match
+ the set used by GCC. Make it the default.
+
+2000-06-22 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
+ find one.
+ * Makefile.in: Regenerate.
+
+2000-06-20 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am: Rebuild dependency.
+ * Makefile.in: Rebuild.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * Makefile.in, configure: regenerate
+ * disassemble.c (disassembler): Recognize ARCH_m68hc12,
+ ARCH_m68hc11.
+ * m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
+ New functions.
+ * configure.in: Recognize m68hc12 and m68hc11.
+ * m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
+ * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
+ and opcode generation for m68hc11 and m68hc12.
+
+2000-06-16 Nick Duffek <nsd@redhat.com>
+
+ * disassemble.c (disassembler): Refer to the PowerPC 620 using
+ bfd_mach_ppc_620 instead of 620.
+
+2000-06-12 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c: Fix formatting.
+ (bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
+ correctly.
+
+2000-06-09 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c (avr_operand): Bugfix for jmp/call address.
+
+2000-06-07 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: completely rewritten.
+
+2000-06-02 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c: Follow the GNU coding style.
+ (bfd_h8_disassemble) Fix a typo.
+
+2000-06-01 Kazu Hirata <kazu@hxi.com>
+
+ * h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
+ (bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
+ correctly. Fix a typo.
+
+2000-05-31 Nick Clifton <nickc@redhat.com>
+
+ * opintl.h (_(String)): Explain why dgettext is used instead of
+ gettext.
+
+2000-05-30 Nick Clifton <nickc@redhat.com>
+
+ * opintl.h (gettext, dgettext, dcgettext, textdomain,
+ bindtextdomain): Replace defines with those from intl/libgettext.h
+ to quieten gcc warnings.
+
+2000-05-26 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am: Update dependencies with "make dep-am"
+ * Makefile.in: Regenerate.
+
+2000-05-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-dis.c (disassemble): Don't assume 32-bit longs when
+ sign-extending operands.
+
+2000-05-15 Donald Lindsay <dlindsay@redhat.com>
+
+ * d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
+ except brf's.
+
+2000-05-21 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (LIBIBERTY): Define.
+
+2000-05-19 Diego Novillo <dnovillo@redhat.com>
+
+ * mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
+ (STD_REGISTER_NAMES): New name for REGISTER_NAMES.
+ (reg_names): Rename to std_reg_names. Change it to a char **
+ static variable.
+ (std_reg_names): New name for reg_names.
+ (set_mips_isa_type): Set reg_names to point to std_reg_names by
+ default.
+
+2000-05-16 Frank Ch. Eigler <fche@redhat.com>
+
+ * fr30-desc.h: Partially regenerated to account for changed
+ CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
+ * m32r-desc.h: Ditto.
+
+2000-05-15 Nick Clifton <nickc@redhat.com>
+
+ * arm-opc.h: Use upper case for flasg in MSR and MRS
+ instructions. Allow any bit to be set in the field_mask of
+ the MSR instruction.
+
+ * arm-dis.c (print_insn_arm): Decode _x and _s bits of the
+ field_mask of an MSR instruction.
+
+2000-05-11 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-opc.h: Disassembly of thumb ldsb/ldsh
+ instructions changed to ldrsb/ldrsh.
+
+2000-05-11 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
+ target addresses for 'jal' and 'j'.
+
+2000-05-10 Geoff Keating <geoffk@redhat.com>
+
+ * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
+ also available in common mode when powerpc syntax is being used.
+
+2000-05-08 Alan Modra <alan@linuxcare.com.au>
+
+ * m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
+ (dummy_print_address): Ditto.
+
+2000-05-04 Timothy Wall <twall@redhat.com>
+
+ * tic54x-opc.c: New.
+ * tic54x-dis.c: New.
+ * disassemble.c (disassembler): Add ARCH_tic54x.
+ * configure.in: Added tic54x target.
+ * configure: Ditto.
+ * Makefile.am: Add tic54x dependencies.
+ * Makefile.in: Ditto.
+
+2000-05-03 J.T. Conklin <jtc@redback.com>
+
+ * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
+ vector unit operands.
+ (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
+ unit instruction formats.
+ (PPCVEC): New macro, mask for vector instructions.
+ (powerpc_operands): Add table entries for above operand types.
+ (powerpc_opcodes): Add table entries for vector instructions.
+
+ * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
+ (print_insn_little_powerpc): Likewise.
+ (print_insn_powerpc): Prepend 'v' when printing vector registers.
+
+2000-04-24 Clinton Popetz <cpopetz@redhat.com>
+
+ * configure.in: Add bfd_powerpc_64_arch.
+ * disassemble.c (disassembler): Use print_insn_big_powerpc for
+ 64 bit code.
+
+2000-04-24 Nick Clifton <nickc@redhat.com>
+
+ * fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
+ field.
+
+2000-04-23 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c (reg_fmul_d): New. Extract destination register from
+ FMUL instruction.
+ (reg_fmul_r): New. Extract source register from FMUL instruction.
+ (reg_muls_d): New. Extract destination register from MULS instruction.
+ (reg_muls_r): New. Extract source register from MULS instruction.
+ (reg_movw_d): New. Extract destination register from MOVW instruction.
+ (reg_movw_r): New. Extract source register from MOVW instruction.
+ (print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
+ EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
+
+2000-04-22 Timothy Wall <twall@redhat.com>
+
+ * ia64-gen.c (general): Add an ordered table of primary
+ opcode names, as well as priority fields to disassembly data
+ structures to enforce a preferred disassembly format based on the
+ ordering of the opcode tables.
+ (load_insn_classes): Show a useful message if IC tables are missing.
+ (load_depfile): Ditto.
+ * ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
+ distinguish preferred disassembly.
+ * ia64-opc-f.c: Reorder some insn for preferred disassembly
+ format. Fix incorrect flag on fma.s/fma.s.s0.
+ * ia64-opc.c: Scan *all* disassembly matches and use the one with
+ the highest priority.
+ * ia64-opc-b.c: Use more abbreviations.
+ * ia64-asmtab.c: Regenerate.
+
+2000-04-21 Jason Eckhardt <jle@redhat.com>
+
+ * hppa-dis.c (extract_16): New function.
+ (print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
+ new operand types l,y,&,fe,fE,fx.
+
+2000-04-21 Richard Henderson <rth@redhat.com>
+ David Mosberger <davidm@hpl.hp.com>
+ Timothy Wall <twall@redhat.com>
+ Bob Manson <manson@charmed.cygnus.com>
+ Jim Wilson <wilson@redhat.com>
+
+ * Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
+ (CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
+ ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
+ ia64-asmtab.c.
+ (ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
+ (ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
+ ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
+ * Makefile.in: Rebuild.
+ * configure Rebuild.
+ * configure.in (bfd_ia64_arch): New target.
+ * disassemble.c (ARCH_ia64): Define.
+ (disassembler): Support ARCH_ia64.
+ * ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
+ ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
+ ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
+ ia64-war.tbl, ia64-waw.tbl: New files.
+
+2000-04-20 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
+ (disassemble): Use them.
+
+2000-04-14 Alan Modra <alan@linuxcare.com.au>
+
+ * sysdep.h: Include "ansidecl.h" not <ansidecl.h>
+ * Makefile.am: Update dependencies.
+ * Makefile.in: Regenerate.
+
+2000-04-14 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
+ avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
+ disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
+ i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
+ m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
+ mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
+ ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
+ tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
+ w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h. Remove
+ ansidecl.h as sysdep.h includes it.
+
+2000-04-7 Andrew Cagney <cagney@b1.redhat.com>
+
+ * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
+ --enable-build-warnings option.
+ * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
+ * Makefile.in, configure: Re-generate.
+
+2000-04-05 J"orn Rennecke <amylaar@redhat.com>
+
+ * sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
+ stc GBR,@-<REG_N> is available for arch_sh1_up.
+ Group parallel processing insn with identical mnemonics together.
+ Make three-operand psha / pshl come first.
+
+2000-04-05 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
+ Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
+ (sh_arg_type): Add A_PC.
+ (sh_table): Update entries using immediates. Add repeat.
+ * sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
+ Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
+
+2000-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * po/opcodes.pot: Regenerate.
+
+ * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
+ (DEP): Quote when passing vars to sub-make. Add warning message
+ to end.
+ (DEP1): Rewrite for "gcc -MM".
+ (CLEANFILES): Add DEP2.
+ Update dependencies.
+ * Makefile.in: Regenerate.
+
+2000-04-03 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: Syntax cleanup.
+ (add0fff): Print the pc relative address as a signed number.
+ (add03f8): Likewise.
+
+2000-04-01 Ian Lance Taylor <ian@zembu.com>
+
+ * disassemble.c (disassembler_usage): Don't use a prototype. Mark
+ the parameter ATTRIBUTE_UNUSED.
+ * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
+
+2000-04-01 Alexandre Oliva <aoliva@redhat.com>
+
+ * m10300-opc.c: SP-based offsets are always unsigned.
+
+2000-03-29 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
+ [branch always] instead of "undefined".
+
+2000-03-27 Nick Clifton <nickc@redhat.com>
+
+ * d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
+ short instructions, from end of list of long instructions.
+
+2000-03-27 Ian Lance Taylor <ian@zembu.com>
+
+ * Makefile.am (CFILES): Add avr-dis.c.
+ (ALL_MACHINES): Add avr-dis.lo.
+
+2000-03-27 Alan Modra <alan@linuxcare.com>
+
+ * avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
+ truncate integers.
+ (print_insn_avr): Call function via pointer in K&R compatible way.
+ (dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
+ add0fff, add03f8): Convert to old style function declaration and
+ add prototype.
+ (avrdis_opcode): Add prototype.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * avr-dis.c: New file. AVR disassembler.
+ * configure.in (bfd_avr_arch): New architecture support.
+ * disassemble.c: Likewise.
+ * configure: Regenerate.
+
+2000-03-06 J"oern Rennecke <amylaar@redhat.com>
+
+ * sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
+
+2000-03-02 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * d30v-dis.c (print_insn): Remove d*i hacks. Use per-operand
+ flag to determine if operand is pc-relative.
+ * d30v-opc.c:
+ (d30v_format_table):
+ (REL6S3): Renamed from IMM6S3.
+ Added flag OPERAND_PCREL.
+ (REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
+ added flag OPERAND_PCREL.
+ (IMM12S3U): Replaced with REL12S3.
+ (SHORT_D2, LONG_D): Delay target is pc-relative.
+ (SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
+ Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
+ using the REL* operands.
+ (LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
+ (SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
+ LONG_Db, using REL* operands.
+ (SHORT_U, SHORT_A5S): Removed stray alternatives.
+ (d30v_opcode_table): Use new *r formats.
+
+2000-02-28 Nick Clifton <nickc@redhat.com>
+
+ * m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
+ 'signed_overflow_ok_p'.
+
+2000-02-27 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
+ name of the libtool directory.
+ * Makefile.in: Rebuild.
+
+2000-02-24 Nick Clifton <nickc@redhat.com>
+
+ * cgen-opc.c (cgen_set_signed_overflow_ok): New function.
+ (cgen_clear_signed_overflow_ok): New function.
+ (cgen_signed_overflow_ok_p): New function.
+
+2000-02-23 Andrew Haley <aph@redhat.com>
+
+ * m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
+ m32r-ibld.c, m32r-opc.h: Rebuild.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * i370-dis.c, i370-opc.c: New.
+
+ * disassemble.c (ARCH_i370): Define.
+ (disassembler): Handle it.
+
+ * Makefile.am: Add support for Linux/IBM 370.
+ * configure.in: Likewise.
+
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+
+2000-02-22 Chandra Chavva <cchavva@redhat.com>
+
+ * d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
+ ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
+ procedure.
+
+2000-02-22 Andrew Haley <aph@redhat.com>
+
+ * mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
+ force gp32 to zero.
+ * mips-opc.c (G6): New define.
+ (mips_builtin_op): Add "move" definition for -gp32.
+
+2000-02-22 Ian Lance Taylor <ian@zembu.com>
+
+ From Grant Erickson <gerickso@Brocade.COM>:
+ * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
+
+2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * dis-buf.c (buffer_read_memory): Change `length' param and all int
+ vars to unsigned.
+
+2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk>
+
+ * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
+ (print_insn_ppi): Likewise.
+ (print_insn_shx): Use info->mach to select appropriate insn set.
+ Add support for sh-dsp. Remove FD_REG_N support.
+ * sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
+ (sh_arg_type): Likewise. Remove FD_REG_N.
+ (sh_dsp_reg_nums): New enum.
+ (arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
+ (arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
+ (arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
+ (arch_sh3_dsp_up): Likewise.
+ (sh_opcode_info): New field: arch.
+ (sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
+ D_REG_N. Fill in arch field. Add sh-dsp insns.
+
+2000-02-14 Fernando Nasser <fnasser@totem.to.redhat.com>
+
+ * arm-dis.c: Change flavor name from atpcs-special to
+ special-atpcs to prevent name conflict in gdb.
+ (get_arm_regname_num_options, set_arm_regname_option,
+ get_arm_regnames): New functions. API to access the several
+ flavor of register names. Note: Used by gdb.
+ (print_insn_thumb): Use the register name entry from the currently
+ selected flavor for LR and PC.
+
+2000-02-10 Nick Clifton <nickc@redhat.com>
+
+ * mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
+ classes.
+ (mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
+ "mulsh.h" instructions.
+ * mcore-dis.c (imsk array): Add masks for MULSH and OPSR
+ classes.
+ (print_insn_mcore): Add support for little endian targets.
+ Add support for MULSH and OPSR classes.
+
+2000-02-07 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (parse_arm_diassembler_option): Rename again.
+ Previous delat did not take.
+
+2000-02-03 Timothy Wall <twall@redhat.com>
+
+ * dis-buf.c (buffer_read_memory): Use octets_per_byte field
+ to adjust target address bounds checking and calculate the
+ appropriate octet offset into data.
+
+2000-01-27 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c: (parse_disassembler_option): Rename to
+ parse_arm_disassembler_option and allow to be exported.
+
+ * disassemble.c (disassembler_usage): New function: Print out any
+ target specific disassembler options.
+ Call arm_disassembler_options() if the ARM architecture is being
+ supported.
+
+ * arm-dis.c (NUM_ELEM): Define this macro if not already
+ defined.
+ (arm_regname): New struct type for ARM register names.
+ (arm_toggle_regnames): Delete.
+ (parse_disassembler_option): Use register name structure.
+ (print_insn): New function: Combines duplicate code found in
+ print_insn_big_arm and print_insn_little_arm.
+ (print_insn_big_arm): Call print_insn.
+ (print_insn_little_arm): Call print_insn.
+ (print_arm_disassembler_options): Display list of supported,
+ ARM specific disassembler options.
+
+2000-01-27 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
+ ARM_STT_16BIT flag as Thumb code symbols.
+
+ * arm-dis.c (printf_insn_little_arm): Ditto.
+
+2000-01-25 Thomas de Lellis <tdel@windriver.com>
+
+ * arm-dis.c (printf_insn_thumb): Prevent double dumping
+ of raw thumb instructions.
+
+2000-01-20 Nick Clifton <nickc@redhat.com>
+
+ * mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
+
+2000-01-03 Nick Clifton <nickc@cygnus.com>
+
+ * arm-dis.c (streq): New macro.
+ (strneq): New macro.
+ (force_thumb): ew local variable.
+ (parse_disassembler_option): New function: Parse a single, ARM
+ specific disassembler command line switch.
+ (parse_disassembler_option): Call parse_disassembler_option to
+ parse individual command line switches.
+ (print_insn_big_arm): Check force_thumb.
+ (print_insn_little_arm): Check force_thumb.
+
+For older changes see ChangeLog-9899
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/opcodes/ChangeLog-0203 b/opcodes/ChangeLog-0203
new file mode 100644
index 0000000000..25ed8b5586
--- /dev/null
+++ b/opcodes/ChangeLog-0203
@@ -0,0 +1,2110 @@
+2003-12-15 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (intr_names): Removed.
+ (print_intr, print_flags): New functions.
+ (unparse_instr): Use new functions.
+
+2003-12-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r-opc.c: Regenerate.
+
+2003-12-14 Mark Mitchell <mark@codesourcery.com>
+
+ * arm-opc.h (arm_opcodes): Put V6 instructions before XScale
+ instructions.
+
+2003-12-13 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE,
+ SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE
+ and SWYM_INSN_BYTE instead of raw numbers.
+
+2003-12-10 Zack Weinberg <zack@codesourcery.com>
+
+ * ppc-opc.c (MO): Make optional.
+ (RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
+ (tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
+
+2003-12-05 Ricardo Anguiano <anguiano@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-dis.c (print_arm_insn): Add 'W' macro.
+ * arm-opc.h (arm_opcodes): Add V6 instructions.
+ (thumb_opcodes): Likewise.
+
+2003-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * openrisc-asm.c: Regenerate.
+ * pj-opc.c: Update copyright date.
+
+2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-desc.h: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * m32r-ibld.c: Regenerate.
+ * m32r-opc.c: Regenerate.
+ * m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+
+2003-12-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h: Add support for sh4a and no-fpu variants.
+ * sh-dis.c: Ditto.
+
+2003-12-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alpha-opc.c: Remove ARGSUSED.
+ * i370-opc.c: Likewise.
+ * ppc-opc.c: Likewise.
+
+2003-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-11-28 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c: Convert to ISO C90.
+ * z8kgen.c: Convert to ISO C90.
+ (opt): Move long opcode for "ldb rdb,imm8" after short one, now
+ the short one is created when assembling.
+ * z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-11-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * h8300-dis.c (print_colon_thingie): Remove.
+
+2003-11-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
+ "dlca".
+
+2003-11-14 Nick Clifton <nickc@redhat.com>
+
+ * dis-init.c (init_disassemble_info): Initialise
+ symbol_is_valid field.
+ * dis-buf.c (generic_symbol_is_valid): New function. Always
+ returns TRUE.
+ * arm-dis.c (arm_symbol_is_valid): New function. Return FALSE
+ for ARM ELF mapping symbols.
+ * disassemble.c (disassemble_init_for_target): Set
+ symbol_is_valid field to arm_symbol_is_valid of the target is
+ an ARM.
+
+2003-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * m68k-opc.c (m68k_opcodes): Reorder "fmovel".
+
+2003-11-03 Daniel Jacobowitz <drow@mvista.com>
+
+ * arm-dis.c (print_arm_insn): Print "-" after "#".
+
+2003-10-30 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ * alpha-opc.c: Add support for a second argument to RPCC.
+
+2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c: Convert to ISO C90 prototypes.
+
+2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * m68k-dis.c: Add MCFv4/MCF5528x support.
+ * m68k-opc.c: Likewise.
+
+2003-10-10 Dave Brolley <brolley@redhat.com>
+
+ * frv-asm.c,frv-desc.c,frv-opc.c: Regenerated.
+
+2003-10-08 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.[ch], frv-opc.[ch]: Regenerated.
+
+2003-09-30 Bob Wilson <bob.wilson@acm.org>
+
+ * xtensa-dis.c (fetch_data): Remove numBytes parameter.
+ (print_insn_xtensa): Fix call to fetch_data.
+
+2003-09-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
+ (print_insn_args): Add handing for +E, +F, +G, and +H.
+ * mips-opc.c (I65): New define for MIPS64r2.
+ (mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
+ "dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
+ and "dshd" for MIPS64r2. Adjust "dror", "dror32", and "drorv" to
+ be supported on MIPS64r2.
+
+2003-09-24 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.c, frv-opc.c, frv-opc.h: Regenerated.
+
+2003-09-14 Andreas Jaeger <aj@suse.de>
+
+ * i386-dis.c: Convert to ISO C90 prototypes.
+ * i370-dis.c: Likewise.
+ * i370-opc.c: Likewiwse.
+ * i960-dis.c: Likewise.
+ * ia64-opc.c: Likewise.
+
+2003-09-09 Dave Brolley <brolley@redhat.com>
+
+ * frv-desc.c: Regenerated.
+
+2003-09-08 Dave Brolley <brolley@redhat.com>
+
+ On behalf of Doug Evans <dje@sebabeach.org>
+ * Makefile.am (run-cgen): Pass new args archfile and opcfile
+ to cgen.sh.
+ (stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc,
+ stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files
+ to cgen.sh.
+ (stamp-frv): Delete hardcoded path spec workaround.
+ * Makefile.in: Regenerate.
+ * cgen.sh: New args archfile and opcfile. Pass on to cgen.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * v850-dis.c (disassemble): Accept bfd_mach_v850e1.
+ * v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions.
+
+2003-09-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-dis.c (struct dis_private): New.
+ (powerpc_dialect): Make static. Accept -Many in addition to existing
+ options. Save dialect in dis_private.
+ (print_insn_big_powerpc): Retrieve dialect from dis_private.
+ (print_insn_little_powerpc): Likewise.
+ (print_insn_powerpc): Call powpc_dialect here. Remove unnecessary
+ efs/altivec check. Try harder to disassemble if given -Many.
+ * ppc-opc.c (insert_fxm): Expand comment.
+ (PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
+ (POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
+ (POWER4): Remove PPCCOM.
+ (PPCONLY): Don't define. Update all occurrences to PPC.
+
+2003-09-03 Andrew Cagney <cagney@redhat.com>
+
+ * dis-init.c (init_disassemble_info): New file and function.
+ * Makefile.am (CFILES): Add "dis-init.c".
+ (libopcodes_la_SOURCES): Add "dis-init.c".
+ (dis-init.lo): Specify dependencies.
+ * Makefile.in: Regenerate.
+
+2003-09-03 Dave Brolley <brolley@redhat.com>
+
+ * frv-*: Regenerated.
+
+2003-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
+ Move duplicate mnemonic entries together. Use RS instead of RT on
+ all mt*.
+ * ppc-dis.c: Convert to ISO C.
+
+2003-08-29 Dave Brolley <brolley@redhat.com>
+
+ * Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from
+ $(srcdir)/../cpu temporarily when regenerating source files.
+ * Makefile.in: Regenerated.
+
+2003-08-19 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (print_insn_arm: case 'A'): Add code to
+ disassemble unindexed form of Addressing Mode 5.
+
+2003-08-19 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (PPC440): Define.
+ (powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
+ icread instructions when PPC440. Add dlmzb instruction.
+
+2003-08-14 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Remove libintl.h.
+ * Makefile.am (POTFILES.in): Unset LC_COLLATE.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-08-07 Michael Meissner <gnu@the-meissners.org>
+
+ * cgen-asm.c (hash_insn_array): Remove PARAMS macro.
+ (hash_insn_list): Ditto.
+ (build_asm_hash_table): Ditto.
+ (cgen_set_parse_operand_fn): Prototype definition.
+ (cgen_init_parse_operand): Ditto.
+ (hash_insn_array): Ditto.
+ (hash_insn_list): Ditto.
+ (build_asm_hash_table): Ditto.
+ (cgen_asm_lookup_insn): Ditto.
+ (cgen_parse_keyword): Ditto.
+ (cgen_parse_signed_integer): Ditto.
+ (cgen_parse_unsigned_integer): Ditto.
+ (cgen_parse_address): Ditto.
+ (cgen_validate_signed_integer): Ditto.
+ (cgen_validate_unsigned_integer): Ditto.
+
+ * cgen-opc.c (hash_keyword_name): Remove PARAMS macro.
+ (hash_keyword_value): Ditto.
+ (build_keyword_hash_tables): Ditto.
+ (cgen_keyword_lookup_name): Prototype definition.
+ (cgen_keyword_lookup_value): Ditto.
+ (cgen_keyword_add): Ditto.
+ (cgen_keyword_search_init): Ditto.
+ (cgen_keyword_search_next): Ditto.
+ (hash_keyword_name): Ditto.
+ (hash_keyword_value): Ditto.
+ (build_keyword_hash_tables): Ditto.
+ (cgen_hw_lookup_by_name): Ditto.
+ (cgen_hw_lookup_by_num): Ditto.
+ (cgen_operand_lookup_by_name): Ditto.
+ (cgen_operand_lookup_by_num): Ditto.
+ (cgen_insn_count): Ditto.
+ (cgen_macro_insn_count): Ditto.
+ (cgen_get_insn_value): Ditto.
+ (cgen_put_insn_value): Ditto.
+ (cgen_lookup_insn): Ditto.
+ (cgen_get_insn_operands): Ditto.
+ (cgen_lookup_get_insn_operands): Ditto.
+ (cgen_set_signed_overflow_ok): Ditto.
+ (cgen_clear_signed_overflow_ok): Ditto.
+ (cgen_signed_overflow_ok_p): Ditto.
+
+ * cgen-dis.c (hash_insn_array): Remove PARAMS macro.
+ (hash_insn_list): Ditto.
+ (build_dis_hash_table): Ditto.
+ (count_decodable_bits): Ditto.
+ (add_insn_to_hash_chain): Ditto.
+ (count_decodable_bits): Prototype definition.
+ (add_insn_to_hash_chain): Ditto.
+ (hash_insn_array): Ditto.
+ (hash_insn_list): Ditto.
+ (build_dis_hash_table): Ditto.
+ (cgen_dis_lookup_insn): Ditto.
+
+ * cgen-asm.in (parse_insn_normal): Remove PARAMS macro.
+ (@arch@_cgen_build_insn_regex): Prototype definition.
+ (parse_insn_normal): Ditto.
+ (@arch@_cgen_assemble_insn): Ditto.
+ (@arch@_cgen_asm_hash_keywords): Ditto.
+
+ * cgen-dis.in (print_normal): Remove PARAMS macro. Use void *
+ instead of PTR.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ (print_insn_normal): Ditto.
+ (print_insn): Ditto.
+ (default_print_insn): Ditto.
+ (read_insn): Ditto.
+ (print_normal): Prototype definition. Use void * instead of PTR.
+ (print_address): Ditto.
+ (print_keyword): Ditto.
+ (print_insn_normal): Ditto.
+ (read_insn): Ditto.
+ (print_insn): Ditto.
+ (default_print_insn): Ditto.
+ (print_insn_@arch@): Ditto.
+
+ * cgen-ibld.in (insert_normal): Remove PARAMS macro.
+ (insn_insn_normal): Ditto.
+ (extract_normal): Ditto.
+ (extract_insn_normal): Ditto.
+ (put_insn_int_value): Ditto.
+ (insert_1): Ditto.
+ (fill_cache): Ditto.
+ (extract_1): Ditto.
+ (insert_1): Prototype definition.
+ (insert_normal): Ditto.
+ (insert_insn_normal): Ditto.
+ (put_insn_int_value): Ditto.
+ (fill_cache): Ditto.
+ (extract_1): Ditto.
+ (extract_normal): Ditto.
+ (extract_insn_normal): Ditto.
+
+ * fr30-asm.c: Regenerate.
+ * fr30-dis.c: Ditto.
+ * fr30-ibld.c: Ditto.
+ * frv-asm.c: Ditto.
+ * frv-dis.c: Ditto.
+ * frv-ibld.c: Ditto.
+ * ip2k-asm.c: Ditto.
+ * ip2k-dis.c: Ditto.
+ * ip2k-ibld.c: Ditto.
+ * iq2000-asm.c: Ditto.
+ * iq2000-dis.c: Ditto.
+ * iq2000-ibld.c: Ditto.
+ * m32r-asm.c: Ditto.
+ * m32r-dis.c: Ditto.
+ * m32r-ibld.c: Ditto.
+ * openrisc-asm.c: Ditto.
+ * openrisc-dis.c: Ditto.
+ * openrisc-ibld.c: Ditto.
+ * xstormy16-asm.c: Ditto.
+ * xstormy16-dis.c: Ditto.
+ * xstormy16-ibld.c: Ditto.
+
+2003-08-06 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-08-05 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add nl.
+ * configure: Regenerate.
+ * po/nl.po: New Dutch translation.
+
+2003-07-30 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c: Convert to ISO C90. Remove superflous prototypes.
+
+2003-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/ro.po: Updated Romanian translation.
+
+2003-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
+
+2003-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2003-07-18 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c (parse_arm_disassembler_option): Do not expect
+ option string to be NUL terminated.
+ (parse_disassembler_options): Allow options to be space or
+ comma separated.
+
+2003-07-17 Nick Clifton <nickc@redhat.com>
+
+ * po/es.po: New Spanish translation.
+ * po/sv.po: New Swedish translation.
+ * po/opcodes.pot: Regenerate.
+
+2003-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries.
+
+2003-07-14 Nick Clifton <nickc@redhat.com>
+
+ * po/tr.po: Update with latest version.
+ * po/POTFILES.in: Regenerate.
+ * Makefile.in: Regenerate.
+
+2003-07-11 Alan Modra <amodra@bigpond.net.au>
+
+ * po/opcodes.pot: Regenerate.
+
+2003-07-09 Alexandre Oliva <aoliva@redhat.com>
+
+ 2000-05-25 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-dis.c (disassemble): Negate negative accumulator's shift.
+ 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume
+ 32-bit longs when sign-extending operands.
+ 2000-04-20 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs.
+ * m10300-dis.c (HAVE_AM33_2): Define.
+ (disassemble): Use it.
+ (HAVE_AM33): Redefine.
+ (print_insn_mn10300): Fix mask for 5-byte extended insns.
+ 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Renamed AM332 to AM33_2.
+ 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
+ * m10300-opc.c: Defined AM33 2.0 register operands. Added support
+ for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and
+ bclr. Implemented `fbCC', `flCC', `dcpf' and all FP insns.
+ * m10300-dis.c (print_insn_mn10300): Recognize 5byte extended
+ insn code of AM33 2.0.
+ (disassemble): Recognize FMT_D3. Print out FP register names.
+
+2003-07-09 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (set_default_mips_dis_options): Get BFD from
+ the disassembler_info's section, rather than from the
+ disassembler_info's symbols pointer.
+
+2003-07-07 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Remove NULL pointer checks. Formatting. Remove
+ extraneous ATTRIBUTE_UNUSED.
+ * ppc-dis.c (print_insn_powerpc): Always pass a valid address to
+ operand->extract.
+
+2003-07-04 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Convert to C90, removing unnecessary prototypes and
+ casts. Formatting.
+
+ * ppc-opc.c: Remove PARAMS from prototypes.
+ (FXM4): Define.
+ (insert_fxm): New function, used by both FXM and FXM4.
+ (extract_fxm): Likewise.
+ (XFXFXM_MASK): Remove 1 << 20 term.
+ (powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask.
+
+2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (s390_extract_operand): Add support for long displacements.
+ * s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
+ * s390-opc.c (D20_20): Add define for 20 bit displacements.
+ (INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
+ INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
+ new instruction formats.
+ (MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
+ MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
+ (s390_opformats): Likewise.
+ * s390-opc.txt: Add new instructions for cpu type z990. Add missing
+ hfp instructions. Add missing instructions pgin, pgout and xsch.
+
+2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in
+ Intel Precott New Instructions.
+ (PREGRP27): New. Added for "addsubpd" and "addsubps".
+ (PREGRP28): New. Added for "haddpd" and "haddps".
+ (PREGRP29): New. Added for "hsubpd" and "hsubps".
+ (PREGRP30): New. Added for "movsldup" and "movddup".
+ (PREGRP31): New. Added for "movshdup" and "movhpd".
+ (PREGRP32): New. Added for "lddqu".
+ (dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry.
+ Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for
+ entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for
+ entry 0xd0. Use PREGRP32 for entry 0xf0.
+ (twobyte_has_modrm): Updated.
+ (twobyte_uses_SSE_prefix): Likewise.
+ (grps): Use PNI_Fixup in the "sidtQ" entry.
+ (prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30,
+ PREGRP31 and PREGRP32.
+ (float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb.
+ Use "fisttpll" in entry 1 in opcode 0xdd.
+ Use "fisttp" in entry 1 in opcode 0xdf.
+
+2003-06-19 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (instr_data_s): Change tabl_index from long to int.
+ (print_insn_z8k): Correctly check return value from
+ z8k_lookup_instr call.
+ (unparse_instr): Handle CLASS_IRO case.
+ * z8kgen.c: Fix function definitions. Fix formatting.
+ (opt): Add brk opcode alias for non-simulator breakpoint. Add
+ missing and fix existing in/out and sin/sout opcode definitions.
+ (args): "@ri", "@ro" - add CLASS_IRO register usage for in/out
+ opcodes.
+ (internal): Check p->flags for non-zero before dereferencing it.
+ (gas): Add CLASS_IRO line. Insert new OPC_xxx lines for the added
+ opcodes and renumber the remaining lines repectively.
+ (main): Remove "-d" command line switch.
+ * z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * po/Make-in (DESTDIR): New.
+ (install-data-yes): Support $(DESTDIR).
+ (uninstall): Likewise.
+
+2003-06-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2003-06-10 Doug Evans <dje@sebabeach.org>
+
+ * cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to
+ CGEN_INSN_RELAXED.
+ * fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate.
+ * frv-asm.c,frv-desc.c,frv-desc.h: Regenerate.
+ * ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate.
+ * iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate.
+ * m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate.
+ * openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate.
+ * xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate.
+
+2003-06-10 Gary Hade <garyhade@us.ibm.com>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define.
+ (insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New.
+ (powerpc_opcodes): Add "attn", "lq" and "stq".
+
+2003-06-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * h8300-dis.c (bfd_h8_disassemble): Don't print brackets round
+ rts/l and rte/l register lists.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * frv-desc.c: Regenerate.
+ * frv-opc.c: Regenerate.
+ * frv-asm.c: Regenerate.
+ * frv-desc.h: Regenerate.
+ * frv-dis.c: Regenerate.
+ * frv-ibld.c: Regenerate.
+ * frv-opc.h: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2003-06-03 Michael Snyder <msnyder@redhat.com>
+ and Bernd Schmidt <bernds@redhat.com>
+ and Alexandre Oliva <aoliva@redhat.com>
+
+ * disassemble.c (disassembler): Add support for h8300sx.
+ * h8300-dis.c: Ditto.
+
+2003-06-03 Nick Clifton <nickc@redhat.com>
+
+ * frv-desc.c: Regenerate.
+ * frv-opc.c: Regenerate.
+
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * iq2000-asm.c: Regenerate.
+ * iq2000-desc.c: Regenerate.
+ * iq2000-desc.h: Regenerate.
+ * iq2000-dis.c: Regenerate.
+ * iq2000-ibld.c: Regenerate.
+ * iq2000-opc.c: Regenerate.
+ * iq2000-opc.h: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2003-05-23 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
+ (print_insn_i860): Grab 4 bits of the control register field
+ instead of 3.
+
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
+ print it.
+
+2003-05-17 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
+ (libopcodes_la_DEPENDENCIES): Add libbfd.la.
+ * Makefile.in: Regenerated.
+
+2003-05-16 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add Romanian translation.
+ * configure: Regenerate.
+ * po/ro.po: New file: Romanian translation.
+
+2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+ * disassemble.c (disassembler): Add support for h8300hn and h8300sn.
+
+2003-05-09 Alan Modra <amodra@bigpond.net.au>
+
+ * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in
+ case char is unsigned.
+
+2003-05-01 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
+ (unpack_instr): Fix representation of segmented addresses.
+ (intr_name): Added, contains names of the parameters to the EI/DI
+ instructions.
+ (unparse_instr): Fix display of EI/DI parameters.
+
+2003-04-22 Doug Evans <dje@sebabeach.org>
+
+ * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate.
+ * frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate.
+ * ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate.
+ * m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate.
+ * m32r-opinst.c: Regenerate.
+ * openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate.
+ * xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate.
+
+2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+ * h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-07 James E Wilson <wilson@tuliptree.org>
+
+ * ia64-ic.tbl (fr-readers): Add mem-writers-fp.
+ * ia64-asmtab.c: Regenerate.
+
+2003-04-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips-dis.c (mips_gpr_names_newabi): Reverted previous patch.
+
+2003-04-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7.
+
+2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and
+ s/c3x/tic3x/
+
+2003-04-01 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c: Remove presence of (r) and (tm) symbols.
+ * arm-opc.h: Remove presence of (r) and (tm) symbols.
+
+2003-03-25 Stan Cox <scox@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+ * arm-dis.c (regnames): Add iWMMXt register names.
+ (set_iwmmxt_regnames): New function.
+ (print_insn_arm): Handle iWMMXt formatters.
+ * arm-opc.h: Document iWMMXt formatters.
+ (arm_opcod): Add iWMMXt instructions.
+
+2003-03-22 Doug Evans <dje@sebabeach.org>
+
+ * i386-dis.c (dis386): Recognize icebp (0xf1).
+
+2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to
+ S390_OPCODE_ZARCH.
+ (print_insn_s390): Use new modes field of s390_opcodes.
+ * s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove.
+ (s390_opcode_mode_val, s390_opcode_cpu_val): New enums.
+ (struct op_struct): Remove archbits. Add mode_bits and min_cpu.
+ (insertOpcode): Replace archbits by min_cpu and mode_bits.
+ (dumpTable): Write mode_bits and min_cpu instead of archbits.
+ (main): Adapt to new format in s390-opcode.txt.
+ * s390-opc.c (s390_opformats): Replace archbits by min_cpu and
+ mode_bits.
+ * s390-opc.txt: Replace archbits by min_cpu and mode_bits.
+
+2003-03-17 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c: Fix formatting. Update copyright date.
+
+2003-03-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
+
+2003-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * hppa-dis.c: Formatting.
+
+2003-02-25 Matthew Wilcox <willy@debian.org>
+
+ * hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers.
+
+ * hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print
+ the space register when the value is zero.
+
+2003-02-23 Elias Athanasopoulos <elathan@phys.uoa.gr>
+
+ * mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned,
+ use ARRAY_SIZE in loops.
+
+2003-02-12 Dave Brolley <brolley@redhat.com>
+
+ * fr30-desc.c: Regenerate.
+
+2003-02-06 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com>
+
+ * i386-dis.c (dq_mode, Edq): Define.
+ (dis386_twobyte): Correct movd operands.
+ (OP_E): Handle dq_mode case.
+
+2003-01-29 Henric Jungheim <henric@attbi.com>
+
+ * sparc-dis.c (print_insn_sparc): When examining values added in
+ to rs1, make sure that there are previous instructions.
+
+2003-01-23 Nick Clifton <nickc@redhat.com>
+
+ * Add sh2e support:
+
+ 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e.
+ * sh-opc.h (arch_sh2e, arch_sh2e_up): New.
+ (arch_sh2_up): Added sh2e.
+ (sh_table): Replaced all occurrences of arch_sh3e_up with
+ arch_sh2e_up, except in fsqrt.
+
+2003-01-23 Alan Modra <amodra@bigpond.net.au>
+
+ * sh64-dis.c: Include elf32-sh64.h.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2003-01-17 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
+ PAL entry points.
+
+2003-01-16 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2003-01-08 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
+ * Makefile.in: Regenerate.
+
+2003-01-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
+
+2002-01-02 Ben Elliston <bje@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * iq2000-asm.c: New file.
+ * iq2000-desc.c: Likewise.
+ * iq2000-desc.h: Likewise.
+ * iq2000-dis.c: Likewise.
+ * iq2000-ibld.c: Likewise.
+ * iq2000-opc.c: Likewise.
+ * iq2000-opc.h: Likewise.
+ * Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h.
+ (CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c,
+ iq2000-ibld.c, iq2000-opc.c.
+ (ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo,
+ iq2000-ibld.lo, iq2000-opc.lo.
+ (CLEANFILES): Add stamp-iq2000.
+ (IQ2000_DEPS): New macro.
+ (stamp-iq2000): New target.
+ * Makefile.in: Regenerate.
+ * configure.in: Handle bfd_iq2000_arch.
+ * configure: Regenerate.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (print_insn_args): Use position extracted by "+A"
+ to calculate size for "+B". Redo code for "+C" so it shares
+ the same style as "+A" and "+B" now do.
+
+2003-01-02 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c: Update copyright years.
+ (print_insn_arg): Rename to...
+ (print_insn_args): This, returning void. Process the whole
+ string of args rather than a single one. Reindent.
+ (print_insn_mips): Update to match the above.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Move "di" into the
+ right order alphabetically, and make all hex constants use
+ lower-case letters.
+
+2002-12-31 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_cp0sel_name): New structure.
+ (mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2)
+ (mips_cp0sel_names_sb1): New arrays.
+ (mips_arch_choice): New structure members "cp0sel_names" and
+ "cp0sel_names_len".
+ (mips_arch_choices): Add references to new cp0sel_names arrays
+ as appropriate, and make all existing entries reference
+ appropriate mips_XXX_names_numeric arrays rather than simply
+ using NULL.
+ (mips_cp0sel_names, mips_cp0sel_names_len): New variables.
+ (lookup_mips_cp0sel_name): New function.
+ (set_default_mips_dis_options): Set mips_cp0sel_names and
+ mips_cp0sel_names_len as appropriate. Remove now-unnecessary
+ checks for NULL register name arrays.
+ (parse_mips_dis_option): Likewise.
+ (print_insn_arg): Handle "+D" operand type.
+ * mips-opc.c (mips_builtin_opcodes): Add new "+D" variants
+ of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register
+ names symbolically.
+
+2002-12-30 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
+ (mips_hwr_names_mips3264r2): New arrays.
+ (mips_arch_choice): New "hwr_names" member.
+ (mips_arch_choices): Adjust for structure change, and add a new
+ entry for "mips32r2" ISA.
+ (mips_hwr_names): New variable.
+ (set_default_mips_dis_options): Set mips_hwr_names.
+ (parse_mips_dis_option): New "hwr-names" option which sets
+ mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
+ (print_insn_arg): Change return type to "int"
+ and use that to indicate number of characters consumed.
+ Add support for "+" operand extension character, "+A", "+B",
+ "+C", and "K" operands.
+ (print_insn_mips): Adjust for changes to print_insn_arg.
+ (print_mips_disassembler_options): Adjust for "hwr-names"
+ addition and "reg-names" change.
+ * mips-opc (I33): New define (shorthand for INSN_ISA32R2).
+ (mips_builtin_opcodes): Note that "nop" and "ssnop" are special
+ forms of "sll". Add new MIPS32 Release 2 instructions: ehb,
+ di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
+ rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
+ Note that hardware rotate instructions (ror, rorv) can be
+ used on MIPS32 Release 2, and add the official mnemonics
+ for them (rotr, rotrv) and the similar "rotl" mnemonic for
+ left-rotate.
+
+2002-12-30 Dmitry Diky <diwil@mail.ru>
+
+ * configure.in: Add msp430 target.
+ * configure: Regenerate.
+ * disassemble.c: Add entry for msp430 disassembly.
+ * msp430-dis.c: New file: msp430 disassembler.
+
+2002-12-27 Chris Demetriou <cgd@broadcom.com>
+
+ * disassemble.c (disassembler_usage): Add invocation of
+ print_mips_disassembler_options.
+ * mips-dis.c: Include libiberty.h.
+ (print_mips_disassembler_options, set_default_mips_dis_options)
+ (parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name)
+ (choose_arch_by_name, choose_arch_by_number): New functions.
+ (mips_abi_choice, mips_arch_choice): New structures.
+ (mips32_reg_names, mips64_reg_names, reg_names): Remove.
+ (mips_gpr_names_numeric, mips_gpr_names_oldabi)
+ (mips_gpr_names_newabi, mips_fpr_names_numeric)
+ (mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64)
+ (mips_cp0_names_numeric, mips_cp0_names_mips3264)
+ (mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices)
+ (mips_processor, mips_isa, mips_gpr_names, mips_fpr_names)
+ (mips_cp0_names): New variables.
+ (print_insn_args): Use new variables to print GPR, FPR, and CP0
+ register names.
+ (mips_isa_type): Remove.
+ (print_insn_mips): Remove ISA and CPU setup since it is now done...
+ (_print_insn_mips): Here. Remove register setup code, and
+ call set_default_mips_dis_options and parse_mips_dis_options
+ instead.
+ (print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names.
+
+2002-12-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.in: Regenerate.
+
+2002-12-19 Nick Kelsey <nickk@ubicom.com>
+
+ * cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character
+ check to fix false keyword trigger with names such as <keyword>_foo.
+
+2002-12-19 Doug Evans <dje@sebabeach.org>
+
+ * Makefile.am (CGEN_CPUS): New variable.
+ (run-cgen-all): New rule.
+ * Makefile.in: Regenerate.
+
+2002-12-18 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two
+ "dror" entries, and reorder the remaining "dror" and "ror" entries.
+
+2002-12-16 DJ Delorie <dj@delorie.com>
+
+ * xstormy16-asm.c (parse_immediate16): Add prototype.
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * xstormy16-asm.c: Regenerate.
+
+2002-12-16 Alan Modra <amodra@bigpond.net.au>
+
+ * ns32k-dis.c (print_insn_ns32k): Constify "d", remove register
+ keyword.
+
+2002-12-13 Alan Modra <amodra@bigpond.net.au>
+
+ * h8500-opc.h (h8500_table): Add missing initializers to quiet
+ warnings.
+ * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
+ * pj-opc.c (pj_opc_info): Add braces around union initializer.
+ * z8kgen.c: Include "libiberty.h".
+ (opt, args, toks): Fix initializer warnings.
+ (chewname): Make "name" a char **. Return mnemonic trimmed of
+ operands.
+ (gas): Improve emitted "DO NOT EDIT" warning. Format emitted
+ opcode_entry_type, and make "nicename" and "name" const. Make
+ z8k_table const too. Formatting. Generate idx as gas needs it.
+ * z8k-opc.h: Regenerate.
+
+2002-12-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_indexed_operand): Fix PC-relative address
+ for 9 and 16-bit PC-relative addressing mode.
+
+2002-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
+ evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
+ evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
+ evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
+ evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
+ evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
+ evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
+ evmwhgsmian, evmwhgumian.
+ (mftb): Add to opcode table.
+ (mtspefscr): Change RT to RS in opcode table.
+
+2002-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Move mbar and msync up. Change mask for mbar and
+ msync.
+
+2002-12-04 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
+ * ia64-opc-b.c: Add "hint.b" instruction.
+ * ia64-opc-f.c: Add "hint.f" instruction.
+ * ia64-opc-i.c: Add "hint.i" instruction.
+ * ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
+ "cmp8xchg16" instructions.
+ * ia64-opc-x.c: Add "hint.x" instruction.
+
+ * ia64-opc.h (AR_CSD): New macro.
+
+ * ia64-ic.tbl: Update according to SDM2.1.
+ * ia64-raw.tbl: Ditto.
+ * ia64-waw.tbl: Ditto.
+
+ * ia64-gen.c (in_iclass): Handle "hint" like "nop".
+ (lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
+ AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
+ * ia64-asmtab.c: Regenerate.
+
+2002-11-25 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
+ evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
+
+2002-12-04 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (PMRN): Remove.
+ (RA): Set to NB + 1.
+ (powerpc_opcodes): Change PMRN to SPR.
+ Change all RD to RS.
+ Change mftb to look like mftbl.
+ Move mftb before mftbl.
+ Add mfbbtar.
+ Add mtbbtar.
+ Change mfpmr to use PMR.
+ Change mtpmr to use PMR.
+ (RD): Remove.
+ (insert_ev2): Fix mask and shift.
+ (extract_ev2): Same.
+ (insert_ev4): Same.
+ (extract_ev4): Same.
+ (PMR): Define.
+ (extract_pmrn): Remove.
+ (insert_pmrn): Remove.
+
+2002-12-03 Richard Henderson <rth@redhat.com>
+
+ * ia64-opc-m.c: Add ld8.mov.
+ * ia64-asmtab.c: Regenerate.
+
+2002-12-02 Alan Modra <amodra@bigpond.net.au>
+
+ * arm-dis.c (print_insn_arm): Constify "insn". Formatting.
+ (print_insn_thumb): Likewise.
+ * h8500-dis.c (print_insn_h8500): Constify "opcode".
+ * mcore-dis.c (print_insn_mcore): Constify "op". Formatting.
+ * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
+ type-punned pointer warnings.
+ <case 'L'>: Likewise. Fix error message too.
+ * pdp11-dis.c (print_reg): Warning fix.
+ * sh-dis.c (print_movxy): Constify "op" param.
+ (print_insn_ddt): Constify sh_opcode_info vars.
+ (print_insn_ppi): Likewise.
+ (print_insn_sh): Likewise.
+ * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
+ type-punned pointer warnings.
+ * w65-dis.c (print_insn_w65): Constify "op".
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (PC_REGNUM): Define.
+ (print_indexed_operand): Need an adjustment for some PC-relative
+ operand modes; print the final address of PC-relative modes.
+ (print_insn): Take into account movw/movb to adjust the PC-relative
+ operand addresses.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ *arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c,
+ sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with
+ TRUE, false with FALSE. Simplify comparisons of bfd_boolean vars
+ with TRUE/FALSE. Formatting.
+
+2002-11-25 DJ Delorie <dj@redhat.com>
+
+ * xstormy16-opc.c: Regenerate.
+
+2002-11-25 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
+
+2002-11-15 DJ Delorie <dj@redhat.com>
+
+ * xstormy16-desc.c: Regenerate.
+ * xstormy16-opc.c: Regenerate.
+ * xstormy16-opc.h: Regenerate.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * avr-dis.c: Include libiberty.h (for xmalloc).
+ (struct avr_opcodes_s): Remove 'bin_mask' field (it's
+ automatically computed in the init routine).
+ (AVR_INSN): No longer provide bin_mask field in initializer.
+ (avr_opcodes_s): Declare as const.
+ (print_insn_avr): Store the bin_mask field in a separate table
+ (allocated with xmalloc); iterate through it at the same time as
+ we iterate through the opcodes.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * h8300-dis.c: Include libiberty.h (for xmalloc).
+ (struct h8_instruction): New type, used to wrap h8_opcodes with a
+ length field (computed at run-time).
+ (h8_instructions): New variable.
+ (bfd_h8_disassemble_init): Allocate the storage for
+ h8_instructions. Fill h8_instructions with pointers to the
+ appropriate opcode and the correct value for the length field.
+ (bfd_h8_disassemble): Iterate through h8_instructions instead of
+ h8_opcodes.
+
+2002-11-18 Klee Dienes <kdienes@apple.com>
+
+ * arc-opc.c (arc_ext_opcodes): Define.
+ (arc_ext_operands): Define.
+ * i386-dis.c (Suffix3DNow): Declare as const.
+ * arm-opc.h (arm_opcodes): Declare as const.
+ (thumb_opcodes): Declare as const.
+ * h8500-opc.h (h8500_table): Declare as const.
+ (h8500_table): Use a NULL for the opcode in the terminator, so
+ that code testing (opcode->name) behaves correctly.
+ * mcore-opc.h (mcore_table): Declare as const.
+ * sh-opc.h (sh_table): Declare as const.
+ * w65-opc.h (optable): Declare as const.
+ * z8k-opc.h (z8k_table): Declare as const.
+
+2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Added support for enhanced and special insn.
+ (c4x_print_op): Added insn class 'i' and 'j'
+ (c4x_hash_opcode_special): Add to support special insn
+ (c4x_hash_opcode): Update to support the new opcode-list
+ format. Add support for the new special insns.
+ (c4x_disassemble): New opcode-list support.
+
+2002-11-16 Klee Dienes <kdienes@apple.com>
+
+ * m88k-dis.c: Include libiberty.h (for xmalloc).
+ (HASHTAB): New type, used to build instruction hash tables.
+ Contains a pointer to an INSTAB and a pointer to the next hash
+ chain entry.
+ (instructions): Move definition from m88k.h; remove initialization
+ of 'next' field.
+ (hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
+ (printop): Mark pointer to OPSPEC as const.
+ (install): Remove; fold into init_disasm.
+ (m88kdis): Update to ihashtab_initialized to 1 after calling
+ init_disasm. entry_ptr now iterates through HASHTABs, not
+ INSTABs.
+ (init_disasm): Iterate through the instructions and add to
+ hashtable[].
+
+2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: (c4x_print_op): Add support for the new argument
+ format. Fix bug in 'N' register printer.
+
+2002-11-12 Segher Boessenkool <segher@koffie.nl>
+
+ * ppc-dis.c (print_insn_powerpc): Correct condition register display.
+
+2002-11-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c (EVUIMM_4): Change bit size to 32.
+ (EVUIMM_2): Same.
+ (EVUIMM_8): Same.
+
+2002-11-07 Klee Dienes <kdienes@apple.com>
+
+ * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir'
+ argument to ia64-gen.
+ Regenerate dependencies for ia64-len.lo.
+ * Makefile.in: Regenerate.
+ * ia64-gen.c: Convert to use getopt(). Add the standard GNU
+ options, as well as '--srcdir', which controls the directory in
+ which ia64-gen looks for the sources it uses to generate the
+ output table. Add a 'const' to the declaration of the final
+ output table. Call xmalloc_set_program_name to set the program
+ name.
+ * ia64-asmtab.c: Regenerate.
+
+2002-11-07 Nick Clifton <nickc@redhat.com>
+
+ * ia64-gen.c: Fix comment formatting and compile time warnings.
+ * ia64-opc-a.c: Fix compile time warnings.
+ * ia64-opc-b.c: Likewise.
+ * ia64-opc-d.c: Likewise.
+ * ia64-opc-f.c: Likewise.
+ * ia64-opc-i.c: Likewise.
+ * ia64-opc-m.c: Likewise.
+ * ia64-opc-x.c: Likewise.
+
+2002-11-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * ppc-opc.c: Change RD to RS for evmerge*.
+
+2002-10-07 Nathan Tallent <eraxxon@alumni.rice.edu>
+
+ * sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge,
+ fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge,
+ fbul, fbule>: Add conditional/unconditional branch
+ classification.
+
+2002-10-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_insn): Treat bitmask and branch operands
+ at the end.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'.
+ (mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400
+ and bfd_mach_mips5500.
+ * mips-opc.c (V1): Include INSN_4111 and INSN_4120.
+ (N411, N412, N5, N54, N55): New convenience defines.
+ (mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes.
+ Change dmadd16 and madd16 from V1 to N411.
+
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (print_insn_mips): Always allow disassembly of
+ 32-bit jalx opcode.
+
+2002-09-24 Nick Clifton <nickc@redhat.com>
+
+ * po/de.po: Updated German translation.
+
+2002-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-09-20 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr
+ register names are accepted.
+
+2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED.
+ Convert functions to K&R format.
+
+2002-09-13 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (MFDEC2): Include Book-E.
+ (PPCCHLK64): New opcode mask.
+ (evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid,
+ mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl,
+ mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1,
+ mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr,
+ mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5,
+ mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11,
+ mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0,
+ mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear,
+ mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7,
+ mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3,
+ mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0,
+ mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7,
+ mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13,
+ mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New
+ Book-E instructions.
+ (evfsneg): Fix opcode value.
+ (dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64
+ mask.
+ (mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit
+ Book-E.
+ (extsw): Restrict to 64-bit PPC instruction sets.
+ (extsw.): Does not exist in 64-bit Book-E.
+ (powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as
+ they are no longer needed.
+
+2002-09-12 Gary Hade <garyhade@us.ibm.com>
+
+ * ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC.
+
+2002-09-11 Nick Clifton <nickc@redhat.com>
+
+ * po/da.po: Updated Danish translation file.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * disassemble.c (disassembler_usage): Add invocation of
+ print_ppc_disassembler_options.
+ * ppc-dis.c (print_ppc_disassembler_options): New function.
+
+2002-09-04 Nick Clifton <nickc@redhat.com>
+
+ * ppc-opc.c: The BookE implementations of the TLBWE and TLBRE
+ instructions do not take any arguments.
+
+2002-09-02 Nick Clifton <nickc@redhat.com>
+
+ * v850-opc.c: Remove redundant references to V850EA architecture.
+
+2002-09-02 Alan Modra <amodra@bigpond.net.au>
+
+ * arc-opc.c: Include bfd.h.
+ (arc_get_opcode_mach): Subtract off base bfd_mach value.
+
+2002-08-30 Alan Modra <amodra@bigpond.net.au>
+
+ * v850-dis.c (disassemble): Remove bfd_mach_v850ea case.
+
+ * mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants.
+
+2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
+
+ * configure.in: Added bfd_tic4x_arch.
+ * configure: Regenerate.
+ * Makefile.am: Added tic4x-dis.o target.
+ * Makefile.in: Regenerate.
+
+2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * disassemble.c: Added tic4x target and c4x
+ disassembler routine.
+ * tic4x-dis.c: New file.
+
+2002-08-16 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
+ values as those.
+ * z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
+ * z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
+ `-mefs'. Turn off AltiVec for E500 and efs.
+ (print_insn_powerpc): Don't print an AltiVec instruction if the
+ dialect is not efs.
+
+ * ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
+ insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
+ for extracting pmrn/evld/evstd/etc operands.
+ (CRB, CRFD, CRFS, DC, RD): New instruction fields.
+ (CT): Make this equal to RD + 1.
+ (PMRN): New operand.
+ (RA): Update.
+ (EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
+ (WS): Update.
+ (EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
+ (ISEL, ISEL_MASK): New instruction form and mask for ISEL.
+ (XISEL, XISEL_MASK): New instruction form and mask for ISEL.
+ (CTX, CTX_MASK): New instruction form and mask for context cache
+ instructions.
+ (UCTX, UCTX_MASK): New instruction form and mask for user context
+ cache instructions.
+ (XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
+ (CLASSIC): New define.
+ (PPCESPE): New define.
+ (PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
+ defines for integer select, cache control, branch
+ locking, power management, cache locking and machine check
+ APU instructions, respectively.
+ (efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
+ efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
+ efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
+ efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
+ evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
+ evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
+ evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
+ evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
+ evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
+ evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
+ evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
+ evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
+ evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
+ evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
+ evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
+ evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
+ evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
+ evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
+ evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
+ evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
+ evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
+ evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
+ evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
+ evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
+ evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
+ evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
+ evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
+ evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
+ evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
+ evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
+ evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
+ evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
+ evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
+ evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
+ evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
+ evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
+ evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
+ evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
+ evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
+ evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
+ evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
+ evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
+ evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
+ evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
+ evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
+ evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
+ instructions.
+ (rfmci): New machine check APU instruction.
+ (isel): New integer select APU instructino.
+ (icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
+ dcbtstlse, dcblc, dcblce): New cache control APU instructions.
+ (mtspefscr, mfspefscr): New instructions.
+ (mfpmr, mtpmr): New performance monitor APU instructions.
+ (savecontext): New context cache APU instructions.
+ (bblels, bbelr): New branch locking APU instructions.
+ (bblels, bbelr): New instructions.
+ (mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-opc.c: Update call operand to accept the page definition.
+ Identify instructions that are branches and calls to generate a
+ RL_JUMP relocation.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11-dis.c (print_insn): Take into account 68HC12 memory
+ banks and fix disassembling of call instruction.
+ (print_indexed_operand): New param to tell whether
+ it was an indirect addressing operand (for disassembling call).
+
+2002-08-09 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-08-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as
+ aliases to "daddiu" and "addiu".
+
+2002-07-30 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+
+2002-07-25 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/pr_BR.po: Updated Brazilian Portuguese translation.
+ * po/tr.po: Updated Turkish translation.
+ * po/fr.po: Updated French translation.
+
+2002-07-24 Nick Clifton <nickc@redhat.com>
+
+ * po/sv.po: Updated Swedish translation.
+ * po/es.po: Updated Spanish translation.
+ * po/pr_BR.po: Updated Brazilian Portuguese translation.
+
+2002-07-23 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-07-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+ * po/pr_BR.po: New Brazilian Portuguese translation.
+ * po/id.po: Updated Indonesian translation.
+ * configure.in (LINGUAS): Add pr_BR.
+ * configure: Regenerate.
+
+2002-07-18 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ matthew green <mrg@redhat.com>
+
+ * configure.in: Add support for ip2k.
+ * configure: Regenerate.
+ * Makefile.am: Add support for ip2k.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add support for ip2k.
+ * ip2k-asm.c: New generated file.
+ * ip2k-desc.c: New generated file.
+ * ip2k-desc.h: New generated file.
+ * ip2k-dis.c: New generated file.
+ * ip2k-ibld.c: New generated file.
+ * ip2k-opc.c: New generated file.
+ * ip2k-opc.h: New generated file.
+
+2002-07-17 David Mosberger <davidm@hpl.hp.com>
+
+ * ia64-opc-b.c (bWhc): New macro.
+ (mWhc): Ditto.
+ (OpPaWhcD): Ditto.
+ (ia64_opcodes_b): Correct patterns for indirect call
+ instructions to use 3-bit "wh" field.
+ * ia64-asmtab.c: Regnerate.
+
+2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
+ * mips-opc.c (I16): New define.
+ (mips_builtin_opcodes): Make jalx an I16 insn.
+
+2002-06-18 Dave Brolley <brolley@redhat.com>
+
+ * po/POTFILES.in: Add frv-*.[ch].
+ * disassemble.c (ARCH_frv): New macro.
+ (disassembler): Handle bfd_arch_frv.
+ * configure.in: Support frv_bfd_arch.
+ * Makefile.am (HFILES): Add frv-*.h.
+ (CFILES): Add frv-*.c
+ (ALL_MACHINES): Add frv-*.lo.
+ (CLEANFILES): Add stamp-frv.
+ (FRV_DEPS): New variable.
+ (stamp-frv): New target.
+ (frv-asm.lo): New target.
+ (frv-desc.lo): New target.
+ (frv-dis.lo): New target.
+ (frv-ibld.lo): New target.
+ (frv-opc.lo): New target.
+ (frv-*.[ch]): New files.
+
+2002-06-18 Ben Elliston <bje@redhat.com>
+
+ * Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen.
+ * Makefile.in: Regenerate.
+
+2002-06-08 Alan Modra <amodra@bigpond.net.au>
+
+ * a29k-dis.c: Replace CONST with const.
+ * h8300-dis.c: Likewise.
+ * m68k-dis.c: Likewise.
+ * or32-dis.c: Likewise.
+ * sparc-dis.c: Likewise.
+
+2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in: Add "sh5*-*" to list of targets which include
+ sh64 support.
+ * configure: Regenerate.
+
+2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c: Clean up a few whitespace issues, and sort a
+ few entries understanding that 'x' follows 'w' in the alphabet.
+
+2002-05-31 Chris G. Demetriou <cgd@broadcom.com>
+ Ed Satterthwaite <ehs@broadcom.com>
+
+ * mips-opc.c: Add support for SB-1 MDMX subset and extensions.
+
+2002-05-31 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
+ Ed Satterthwaite <ehs@broadcom.com>
+
+ * mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
+ and 'Z' formats, for MDMX.
+ (mips_isa_type): Add MDMX instructions to the ISA
+ bit mask for bfd_mach_mipsisa64.
+ * mips-opc.c: Add support for MDMX instructions.
+ (MX): New definition.
+
+ * mips-dis.c: Update copyright years to include 2002.
+
+2002-05-30 Diego Novillo <dnovillo@redhat.com>
+
+ * d10v-opc.c (d10v_opcodes): `btsti' does not modify its
+ arguments.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * configure.in: Add DLX configuraton support.
+ * configure: Regenerate.
+ * Makefile.am: Add DLX configuraton support.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add DLX support.
+ * dlx-dis.c: New file.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am (sh-dis.lo): Don't put make commands in deps.
+ * Makefile.in: Regenerate.
+ * arc-dis.c: Use #include "" instead of <> for local header files.
+ * m68k-dis.c: Likewise.
+
+2002-05-22 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * Makefile.am (sh-dis.lo): Compile with @archdefs@.
+ * Makefile.in: regenerate.
+
+ * sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
+ for disassembly.
+
+2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
+2002-05-17 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
+ * sh-dis.c (LITTLE_BIT): Delete.
+ (print_insn_sh, print_insn_shl): Deleted.
+ (print_insn_shx): Renamed to
+ (print_insn_sh). No longer static. Handle SHmedia instructions.
+ Use info->endian to determine endianness.
+ * sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete.
+ (print_insn_sh64x): No longer static. Renamed to
+ (print_insn_sh64). Removed pfun_compact and endian arguments.
+ If we got an uneven address to indicate SHmedia, adjust it.
+ Return -2 for SHcompact instructions.
+
+2002-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools.
+ * configure.in: Invoke AM_INSTALL_LIBBFD.
+ * Makefile.am (install-data-local): Move to..
+ (install_libopcodes): .. New target.
+ (uninstall_libopcodes): Likewise.
+ (install-bfdlibLTLIBRARIES): Likewise.
+ (uninstall-bfdlibLTLIBRARIES): Likewise.
+ (bfdlibdir): New.
+ (bfdincludedir): New.
+ (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * fr30-dis.c: Regenerate.
+ * m32r-asm.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * m32r-dis.c: Regenerate.
+ * openrisc-asm.c: Regenerate.
+ * openrisc-desc.c: Regenerate.
+ * openrisc-dis.c: Regenerate.
+ * xstormy16-asm.c: Regenerate.
+ * xstormy16-desc.c: Regenerate.
+ * xstormy16-dis.c: Regenerate.
+
+2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-dis.c (is_newabi): EABI is not a NewABI.
+
+2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.in (shle-*-*elf*): Include sh64 support.
+ * configure: Regenerate.
+
+2002-04-28 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
+ (print_insn_mode): Print some basic info about floating point values.
+
+2002-05-09 Anton Blanchard <anton@samba.org>
+
+ * ppc-opc.c: Add "tlbiel" for POWER4.
+
+2002-05-07 Graydon Hoare <graydon@redhat.com>
+
+ * cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather
+ than just most-recently-opened.
+
+2002-05-01 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
+
+2002-04-24 Christian Groessler <chris@groessler.org>
+
+ * z8k-dis.c (print_insn_z8k): Set disassemble_info to 2
+ bytes_per_chunk, 6 bytes_per_line for nicer display of the hex
+ codes.
+ (z8k_lookup_instr): CLASS_IGNORE case added.
+ (output_instr): Don't print hex codes, they are already
+ printed.
+ (unpack_instr): ARG_NIM4 case added. ARG_NIM8 case
+ fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases.
+ (unparse_instr): Fix base and indexed addressing disassembly:
+ The index is inside the brackets.
+ * z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines.
+ (opt): Fix shift left/right arithmetic/logical byte defines:
+ The high byte of the immediate word is ignored by the
+ processor.
+ Fix n parameter of ldm opcodes: The opcode contains (n-1).
+ (args): Fix "n" entry.
+ (toks): Add "nim4" and "iiii" entries.
+ * z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-04-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/id.po: New Indonesian translation.
+ * configure.in (ALL_LIGUAS): Add id.po
+ * configure: Regenerate.
+
+2002-04-17 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (powerpc_opcode): Fix dssall operand list.
+
+2002-04-04 Alan Modra <amodra@bigpond.net.au>
+
+ * dep-in.sed: Cope with absolute paths.
+ * Makefile.am (dep.sed): Subst TOPDIR.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * ppc-opc.c: Whitespace.
+ * s390-dis.c: Fix copyright date.
+
+2002-03-23 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (vmaddfp): Fix operand order.
+
+2002-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2002-03-21 Anton Blanchard <anton@samba.org>
+
+ * ppc-opc.c: Add optional field to mtmsrd.
+ (MTMSRD_L, XRLARB_MASK): Define.
+
+2002-03-18 Jan Hubicka <jh@suse.cz>
+
+ * i386-dis.c (prefix_name): Fix handling of 32bit address prefix
+ in 64bit mode.
+ (print_insn) Likewise.
+ (putop): Fix handling of 'E'
+ (OP_E, OP_OFF): handle 32bit addressing mode in 64bit.
+ (ptr_reg): Likewise.
+
+2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-16 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (M3D): Tweak comment.
+ (mips_builtin_op): Add comment indicating that opcodes of the
+ same name must be placed together in the table, and sort
+ the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt",
+ "rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name.
+
+2002-03-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * Makefile.am: Tidy up sh64 rules.
+ * Makefile.in: Regenerate.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c: Update copyright years.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
+ bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64. Add
+ comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
+ indicate that they should dissassemble all applicable
+ MIPS-specified ASEs.
+ * mips-opc.c: Add support for MIPS-3D instructions.
+ (M3D): New definition.
+
+ * mips-opc.c: Update copyright years.
+
+2002-03-15 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name.
+
+2002-03-15 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (is_newabi): Fix ABI decoding.
+
+2002-03-14 Chris G. Demetriou <cgd@broadcom.com>
+
+ * mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32
+ and bfd_mach_mipsisa64 cases to match the rest.
+
+2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c: Add optional `L' field to tlbie.
+ (XRTLRA_MASK): Define.
+
+2002-03-06 Chris Demetriou <cgd@broadcom.com>
+
+ * mips-opc.c (mips_builtin_opcodes): Mark "pref" as being
+ present on I4.
+
+ * mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps".
+
+2002-03-05 Paul Koning <pkoning@equallogic.com>
+
+ * pdp11-opc.c: Fix "mark" operand type. Fix operand types
+ for float opcodes that take float operands. Add alternate
+ names (xxxD vs. xxxF) for float opcodes.
+ * pdp11-dis.c (print_operand): Clean up formatting for mode 67.
+ (print_foperand): New function to handle float opcode operands.
+ (print_insn_pdp11): Use print_foperand to disassemble float ops.
+
+2002-02-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/de.po: Updated.
+
+2002-02-26 Brian Gaeke <brg@dgate.org>
+
+ * Makefile.am (install-data-local): Install dis-asm.h.
+
+2002-02-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (LINGUAS): Add de.po.
+ * configure: Regenerate.
+ * po/de.po: New file.
+
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-dis.c (powerpc_dialect): Handle power4 option.
+ * ppc-opc.c (insert_bdm): Correct description of "at" branch
+ hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
+ (extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
+ (BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
+ (BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
+ (PPCCOM32, PPCCOM64): Delete.
+ (NOPOWER4, POWER4): Define.
+ (powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
+ and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
+ are enabled for power4 rather than ppc64.
+
+2002-02-20 Tom Rix <trix@redhat.com>
+
+ * ppc-opc.c (powerpc_operands): Add WS field. Use for tlbre, tlbwe.
+
+2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * s390-dis.c (init_disasm): Use renamed architecture defines.
+
+2002-02-19 matthew green <mrg@redhat.com>
+
+ * ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
+ specific.
+
+2002-02-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Updated translation.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo
+ disassembly mask.
+
+2002-02-15 Richard Henderson <rth@redhat.com>
+
+ * alpha-opc.c (alpha_opcodes): Add simple pseudos for
+ lda, ldah, jmp, ret.
+
+2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: Updated translation.
+
+2002-02-12 Graydon Hoare <graydon@redhat.com>
+
+ * cgen-asm.in (parse_insn_normal): Change call from
+ @arch@_cgen_parse_operand to cd->parse_operand, to
+ facilitate CGEN_ASM_INIT_HOOK doing useful work.
+
+2002-02-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not
+ sign-extended.
+
+2002-02-11 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: "make dep-am".
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
+ support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
+ shl-*-linux*.
+ * configure: Regenerate.
+
+2002-02-10 Daniel Jacobowitz <drow@mvista.com>
+
+ * cgen-dis.c: Add prototypes for count_decodable_bits
+ and add_insn_to_hash_chain.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in <bfd_sh_arc>: Enable sh64 support on sh-*.
+ * configure: Rebuilt.
+
+2002-02-08 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32-opc.c: Fix compile time warning messages.
+ * or32-dis.c: Fix compile time warning messages.
+
+2002-02-08 Alexandre Oliva <aoliva@redhat.com>
+
+ Contribute sh64-elf.
+ 2001-10-08 Nick Clifton <nickc@cambridge.redhat.com>
+ * sh64-opc.c: Regenerate.
+ 2001-03-13 DJ Delorie <dj@redhat.com>
+ * sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its
+ purpose is more obvious.
+ * sh64-opc.c (shmedia_table): Ditto.
+ * sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto.
+ (print_insn_shmedia): Ditto.
+ 2001-03-12 DJ Delorie <dj@redhat.com>
+ * sh64-opc.c: Adjust comments to reflect reality: replace bits
+ 3:0 with zeros (not "reserved"), replace "rrrrrr" with
+ "gggggg" for two-operand floating point opcodes. Remove
+ "fsina".
+ 2001-01-08 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (print_insn_shmedia) <failing read_memory_func>:
+ Correct printing of .byte:s. Return number of printed bytes or
+ -1; never 0.
+ (print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto. Print as .byte:s
+ to next four-byte-alignment if insn or data is not aligned.
+ 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c: Update comments and fix comment formatting.
+ (initialize_shmedia_opcode_mask_table) <case A_IMMM>:
+ Abort instead of setting length to 0.
+ (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+ crange_bsearch_cmpl, sh64_get_contents_type,
+ sh64_address_in_cranges): Move to bfd/elf32-sh64.c.
+ 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.c: Remove #if 0:d entries for instructions not found in
+ SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo.
+ 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed
+ address with same prefix as SHcompact.
+ In the disassembler, use a .cranges section for linked executables.
+ * sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file
+ and update for using structure in info->private_data.
+ (struct sh64_disassemble_info): New.
+ (is_shmedia_p): Delete.
+ (crange_qsort_cmpb): New function.
+ (crange_qsort_cmpl, crange_bsearch_cmpb): New functions.
+ (crange_bsearch_cmpl, sh64_address_in_cranges): New functions.
+ (init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions.
+ (sh64_get_contents_type, sh64_address_is_shmedia): New functions.
+ (print_insn_shmedia): Correct displaying of address after MOVI/SHORI
+ pair. Display addresses for linked executables only.
+ (print_insn_sh64x_media): Initialize info->private_data by calling
+ init_sh64_disasm_info.
+ (print_insn_sh64x): Ditto. Find out type of contents by calling
+ sh64_contents_type_disasm. Display data regions using ".long" and
+ ".byte" similar to unrecognized opcodes.
+ 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-dis.c (is_shmedia_p): Check info->section and look for ISA
+ information in section flags before considering symbols. Don't
+ assume an info->mach setting of bfd_mach_sh5 means SHmedia code.
+ * configure.in (bfd_sh_arch): Check presence of sh64 insns by
+ matching $target $canon_targets instead of looking at the
+ now-removed -DINCLUDE_SHMEDIA in $targ_cflags.
+ * configure: Regenerate.
+ 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.c (shmedia_creg_table): New.
+ * sh64-opc.h (shmedia_creg_info): New type.
+ (shmedia_creg_table): Declare.
+ * sh64-dis.c (creg_name): New function.
+ (print_insn_shmedia): Use it.
+ * disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map
+ bfd_mach_sh5 to print_insn_sh64 if big-endian and to
+ print_insn_sh64l if little-endian.
+ * sh64-dis.c (print_insn_shmedia): Make r unsigned.
+ (print_insn_sh64l): New.
+ (print_insn_sh64x): New.
+ (print_insn_sh64x_media): New.
+ (print_insn_sh64): Break out code to print_insn_sh64x and
+ print_insn_sh64x_media.
+ 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
+ * sh64-opc.h: New file
+ * sh64-opc.c: New file
+ * sh64-dis.c: New file
+ * Makefile.am: Add sh64 targets.
+ (HFILES): Add sh64-opc.h.
+ (CFILES): Add sh64-opc.c and sh64-dis.c.
+ (ALL_MACHINES): Add sh64 files.
+ * Makefile.in: Regenerate.
+ * configure.in: Add support for sh64 to bfd_sh_arch.
+ * configure: Regenerate.
+ * disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define.
+ (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to
+ print_insn_sh64.
+ * sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2002-02-04 Frank Ch. Eigler <fche@redhat.com>
+
+ * cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets.
+
+2002-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS.
+
+2002-02-01 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am"
+ * Makefile.in: Regenerate.
+
+2002-01-31 Ivan Guzvinec <ivang@opencores.org>
+
+ * or32-dis.c: New file.
+ * or32-opc.c: New file.
+ * configure.in: Add support for or32.
+ * configure: Regenerate.
+ * Makefile.am: Add support for or32.
+ * Makefile.in: Regenerate.
+ * disassemble.c: Add support for or32.
+ * po/POTFILES.in: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2002-01-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * configure: Regenerated.
+
+2002-01-26 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/fr.po: Updated version.
+
+2002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: Updated version.
+
+2002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: New version.
+
+2002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/da.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add da.
+ * configure: Regenerate.
+
+2002-01-22 Graydon Hoare <graydon@redhat.com>
+
+ * fr30-asm.c: Regenerate.
+ * fr30-desc.c: Likewise.
+ * fr30-desc.h: Likewise.
+ * fr30-dis.c: Likewise.
+ * fr30-ibld.c: Likewise.
+ * fr30-opc.c: Likewise.
+ * fr30-opc.h: Likewise.
+ * m32r-asm.c: Likewise.
+ * m32r-desc.c: Likewise.
+ * m32r-desc.h: Likewise.
+ * m32r-dis.c: Likewise.
+ * m32r-ibld.c: Likewise.
+ * m32r-opc.c: Likewise.
+ * m32r-opc.h: Likewise.
+ * m32r-opinst.c: Likewise.
+ * openrisc-asm.c: Likewise.
+ * openrisc-desc.c: Likewise.
+ * openrisc-desc.h: Likewise.
+ * openrisc-dis.c: Likewise.
+ * openrisc-ibld.c: Likewise.
+ * openrisc-opc.c: Likewise.
+ * openrisc-opc.h: Likewise.
+ * xstormy16-desc.c: Likewise.
+
+2002-01-22 Richard Henderson <rth@redhat.com>
+
+ * alpha-dis.c (print_insn_alpha): Also mask the base opcode for
+ comparison.
+
+2002-01-22 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * po/POTFILES.in: Regenerate.
+
+2002-01-19 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h.
+ * arm-dis.c (print_insn_arm): Don't handle 'h' case.
+
+2002-01-18 Keith Walker <keith.walker@arm.com>
+
+ * arm-opc.h (arm_opcodes): Add bxj instruction.
+
+2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/opcodes.pot: Regenerate.
+ * po/fr.po: Regenerate.
+ * po/sv.po: Regenerate.
+ * po/tr.po: Regenerate.
+
+2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/tr.po: Import new version.
+
+2002-01-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-opc.h (arm_opcodes): Add patterns for VFP instructions.
+ * arm-dis.c (print_insn_arm): Support new disassembly qualifiers for
+ VFP bitfields.
+
+2002-01-10 matthew green <mrg@redhat.com>
+
+ * xstormy16-asm.c: Regenerate.
+ * xstormy16-desc.c: Likewise.
+ * xstormy16-desc.h: Likewise.
+ * xstormy16-dis.c: Likewise.
+ * xstormy16-opc.c: Likewise.
+ * xstormy16-opc.h: Likewise.
+
+2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/es.po: New file: Spanish translation.
+ * configure.in (ALL_LINGUAS): Add es.
+ * configure: Regenerate.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am
index e227b1f381..ea621f2d36 100644
--- a/opcodes/Makefile.am
+++ b/opcodes/Makefile.am
@@ -283,8 +283,13 @@ disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h
$(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $(srcdir)/disassemble.c
libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
-libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
-libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
+# It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
+# Unfortunately this causes libtool to add -L$(libdir), referring to the
+# planned install directory of libbfd. This can cause us to pick up an
+# old version of libbfd, or to pick up libbfd for the wrong architecture
+# if host != build.
+libopcodes_la_DEPENDENCIES = $(OFILES)
+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@
libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
index de427eaeb9..559194dab7 100644
--- a/opcodes/Makefile.in
+++ b/opcodes/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -393,8 +393,13 @@ OFILES = @BFD_MACHINES@
INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl
libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c
-libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
-libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
+# It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD.
+# Unfortunately this causes libtool to add -L$(libdir), referring to the
+# planned install directory of libbfd. This can cause us to pick up an
+# old version of libbfd, or to pick up libbfd for the wrong architecture
+# if host != build.
+libopcodes_la_DEPENDENCIES = $(OFILES)
+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@
libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
# libtool will build .libs/libopcodes.a. We create libopcodes.a in
@@ -617,7 +622,7 @@ maintainer-clean-recursive:
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" != "." || dot_seen=yes; \
+ test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
diff --git a/opcodes/arm-opc.h b/opcodes/arm-opc.h
index cc59b8f5ce..d427946a22 100644
--- a/opcodes/arm-opc.h
+++ b/opcodes/arm-opc.h
@@ -328,9 +328,6 @@ static const struct arm_opcode arm_opcodes[] =
{0x01200050, 0x0ff00ff0, "qsub%c\t%12-15r, %0-3r, %16-19r"},
{0x01600050, 0x0ff00ff0, "qdsub%c\t%12-15r, %0-3r, %16-19r"},
- {0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
- {0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
-
/* ARM Instructions. */
{0x00000090, 0x0e100090, "str%c%6's%5?hb\t%12-15r, %s"},
{0x00100090, 0x0e100090, "ldr%c%6's%5?hb\t%12-15r, %s"},
@@ -569,6 +566,8 @@ static const struct arm_opcode arm_opcodes[] =
{0x0e300600, 0x0ff00f00, "cfmsuba32%c\tmvax%5-7d, mvax%12-15d, mvfx%16-19d, mvfx%0-3d"},
/* Generic coprocessor instructions */
+ {0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
+ {0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15r, %16-19r, cr%0-3d"},
{0x0e000000, 0x0f000010, "cdp%c\t%8-11d, %20-23d, cr%12-15d, cr%16-19d, cr%0-3d, {%5-7d}"},
{0x0e100010, 0x0f100010, "mrc%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"},
{0x0e000010, 0x0f100010, "mcr%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"},
diff --git a/opcodes/frv-asm.c b/opcodes/frv-asm.c
index 678a250d6d..145b56a2a7 100644
--- a/opcodes/frv-asm.c
+++ b/opcodes/frv-asm.c
@@ -110,7 +110,66 @@ parse_ulo16 (cd, strp, opindex, valuep)
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- value >>= 16;
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotlo(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesclo(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofflo(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesclo(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
*valuep = value;
return errmsg;
}
@@ -159,6 +218,65 @@ parse_uslo16 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "gotlo(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesclo(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofflo(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesclo(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFLO,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value &= 0xffff;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
}
@@ -204,6 +322,65 @@ parse_uhi16 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "gothi(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdeschi(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotoffhi(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFFHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdeschi(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFFHI,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ if (errmsg == NULL
+ && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ value >>= 16;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
}
@@ -286,6 +463,53 @@ parse_d12 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if (strncasecmp (*strp + 1, "got12(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotfuncdesc12(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotoff12(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if (strncasecmp (*strp + 1, "gotofffuncdesc12(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
}
return cgen_parse_signed_integer (cd, strp, opindex, valuep);
}
@@ -314,6 +538,56 @@ parse_s12 (cd, strp, opindex, valuep)
*valuep = value;
return errmsg;
}
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "got12(", 6) == 0)
+ {
+ *strp += 7;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotfuncdesc12(", 14) == 0)
+ {
+ *strp += 15;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOT12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotoff12(", 9) == 0)
+ {
+ *strp += 10;
+ errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_FRV_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
+ else if ((**strp == '#' || **strp == '%')
+ && strncasecmp (*strp + 1, "gotofffuncdesc12(", 17) == 0)
+ {
+ *strp += 18;
+ errmsg = cgen_parse_address (cd, strp, opindex,
+ BFD_RELOC_FRV_FUNCDESC_GOTOFF12,
+ &result_type, &value);
+ if (**strp != ')')
+ return "missing ')'";
+ ++*strp;
+ *valuep = value;
+ return errmsg;
+ }
else
{
if (**strp == '#')
diff --git a/opcodes/frv-desc.c b/opcodes/frv-desc.c
index 9cc85fef49..35659c7b42 100644
--- a/opcodes/frv-desc.c
+++ b/opcodes/frv-desc.c
@@ -84,6 +84,7 @@ static const CGEN_ATTR_ENTRY UNIT_attr[] =
{ "B01", UNIT_B01 },
{ "C", UNIT_C },
{ "MULT_DIV", UNIT_MULT_DIV },
+ { "IACC", UNIT_IACC },
{ "LOAD", UNIT_LOAD },
{ "STORE", UNIT_STORE },
{ "SCAN", UNIT_SCAN },
@@ -2397,17 +2398,17 @@ static const CGEN_IBASE frv_cgen_insn_table[MAX_INSNS] =
/* smu$pack $GRi,$GRj */
{
FRV_INSN_SMU, "smu", "smu", 32,
- { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* smass$pack $GRi,$GRj */
{
FRV_INSN_SMASS, "smass", "smass", 32,
- { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* smsss$pack $GRi,$GRj */
{
FRV_INSN_SMSSS, "smsss", "smsss", 32,
- { 0, { (1<<MACH_FR400), UNIT_MULT_DIV, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
+ { 0, { (1<<MACH_FR400), UNIT_IACC, FR400_MAJOR_I_1, FR500_MAJOR_NONE, FR550_MAJOR_NONE } }
},
/* sll$pack $GRi,$GRj,$GRk */
{
diff --git a/opcodes/frv-desc.h b/opcodes/frv-desc.h
index 5f72800379..f46c3f957c 100644
--- a/opcodes/frv-desc.h
+++ b/opcodes/frv-desc.h
@@ -549,9 +549,9 @@ typedef enum unit_attr {
, UNIT_I2, UNIT_I3, UNIT_IALL, UNIT_FM0
, UNIT_FM1, UNIT_FM01, UNIT_FM2, UNIT_FM3
, UNIT_FMALL, UNIT_FMLOW, UNIT_B0, UNIT_B1
- , UNIT_B01, UNIT_C, UNIT_MULT_DIV, UNIT_LOAD
- , UNIT_STORE, UNIT_SCAN, UNIT_DCPL, UNIT_MDUALACC
- , UNIT_MCLRACC_1, UNIT_NUM_UNITS
+ , UNIT_B01, UNIT_C, UNIT_MULT_DIV, UNIT_IACC
+ , UNIT_LOAD, UNIT_STORE, UNIT_SCAN, UNIT_DCPL
+ , UNIT_MDUALACC, UNIT_MCLRACC_1, UNIT_NUM_UNITS
} UNIT_ATTR;
/* Enum declaration for fr400 major insn categories. */
diff --git a/opcodes/frv-opc.c b/opcodes/frv-opc.c
index 61bdb4530e..1560d207dc 100644
--- a/opcodes/frv-opc.c
+++ b/opcodes/frv-opc.c
@@ -239,6 +239,7 @@ static CGEN_ATTR_VALUE_TYPE fr400_unit_mapping[] =
/* B01 */ UNIT_B0,
/* C */ UNIT_C,
/* MULT-DIV */ UNIT_I0, /* multiply and divide only in I0 unit. */
+/* IACC */ UNIT_I01, /* iacc multiply in I0 or I1 unit. */
/* LOAD */ UNIT_I0, /* load only in I0 unit. */
/* STORE */ UNIT_I0, /* store only in I0 unit. */
/* SCAN */ UNIT_I0, /* scan only in I0 unit. */
@@ -269,6 +270,7 @@ static CGEN_ATTR_VALUE_TYPE fr500_unit_mapping[] =
/* B01 */ UNIT_B01,
/* C */ UNIT_C,
/* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */
+/* IACC */ UNIT_NIL, /* iacc multiply not implemented */
/* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */
/* STORE */ UNIT_I0, /* store only in I0 unit. */
/* SCAN */ UNIT_I01, /* scan in I0 or I1 unit. */
@@ -299,6 +301,7 @@ static CGEN_ATTR_VALUE_TYPE fr550_unit_mapping[] =
/* B01 */ UNIT_B01,
/* C */ UNIT_C,
/* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */
+/* IACC */ UNIT_NIL, /* iacc multiply not implemented. */
/* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */
/* STORE */ UNIT_I01, /* store in I0 or I1 unit. */
/* SCAN */ UNIT_IALL, /* scan in any integer unit. */
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 0ef57efb93..f9a0a9b2c4 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -3173,11 +3173,7 @@ OP_E (int bytemode, int sizeflag)
? names64[index] : names32[index]);
oappend (scratchbuf);
}
- if (!intel_syntax
- || (intel_syntax
- && bytemode != b_mode
- && bytemode != w_mode
- && bytemode != v_mode))
+ if (scale != 0 || (!intel_syntax && index != 4))
{
*obufp++ = scale_char;
*obufp = '\0';
diff --git a/opcodes/m10300-opc.c b/opcodes/m10300-opc.c
index d1a2ea20d0..4082b29e05 100644
--- a/opcodes/m10300-opc.c
+++ b/opcodes/m10300-opc.c
@@ -1,5 +1,5 @@
/* Assemble Matsushita MN10300 instructions.
- Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1996, 1997, 1998, 1999, 2000, 2004 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
@@ -561,8 +561,8 @@ const struct mn10300_opcode mn10300_opcodes[] = {
{ "mov", 0xfb080000, 0xffff0000, 0, FMT_D7, AM33, {SIMM8, RN02}},
{ "mov", 0xfd080000, 0xffff0000, 0, FMT_D8, AM33, {SIMM24, RN02}},
{ "mov", 0xfe080000, 0xffff0000, 0, FMT_D9, AM33, {IMM32_HIGH8, RN02}},
-{ "mov", 0xfbf80000, 0xffff0000, 0, FMT_D7, AM33, {SIMM8, XRN02}},
-{ "mov", 0xfdf80000, 0xffff0000, 0, FMT_D8, AM33, {SIMM24, XRN02}},
+{ "mov", 0xfbf80000, 0xffff0000, 0, FMT_D7, AM33, {IMM8, XRN02}},
+{ "mov", 0xfdf80000, 0xffff0000, 0, FMT_D8, AM33, {IMM24, XRN02}},
{ "mov", 0xfef80000, 0xffff0000, 0, FMT_D9, AM33, {IMM32_HIGH8, XRN02}},
{ "mov", 0xfe0e0000, 0xffff0f00, 0, FMT_D9, AM33, {MEM(IMM32_HIGH8_MEM), RN2}},
{ "mov", 0xfe1e0000, 0xffff0f00, 0, FMT_D9, AM33, {RM2, MEM(IMM32_HIGH8_MEM)}},
diff --git a/opcodes/msp430-dis.c b/opcodes/msp430-dis.c
index 767ffa472c..1b5ffb1ec1 100644
--- a/opcodes/msp430-dis.c
+++ b/opcodes/msp430-dis.c
@@ -1,5 +1,5 @@
/* Disassemble MSP430 instructions.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
@@ -491,6 +491,10 @@ msp430_doubleoperand (info, opcode, addr, insn, op1, op2, comm1, comm2, cycles)
{
/* Absolute. */
dst = msp430dis_opcode (addr + 2, info);
+ /* If the 'src' field is not the same as the dst
+ then this is not an rla instruction. */
+ if (dst != msp430dis_opcode (addr + 4, info))
+ return 0;
cmd_len += 4;
*cycles = 6;
sprintf (op1, "&0x%04x", PS (dst));
diff --git a/opcodes/sh-dis.c b/opcodes/sh-dis.c
index c0e1a2ebfa..70fdffb48e 100644
--- a/opcodes/sh-dis.c
+++ b/opcodes/sh-dis.c
@@ -397,7 +397,7 @@ print_insn_sh (memaddr, info)
{
fprintf_ftype fprintf_fn = info->fprintf_func;
void *stream = info->stream;
- unsigned char insn[2];
+ unsigned char insn[4];
unsigned char nibs[4];
int status;
bfd_vma relmask = ~(bfd_vma) 0;
diff --git a/opcodes/sparc-opc.c b/opcodes/sparc-opc.c
index 00102323f2..22f18fadb5 100644
--- a/opcodes/sparc-opc.c
+++ b/opcodes/sparc-opc.c
@@ -1,6 +1,6 @@
/* Table of opcodes for the sparc.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000
+ 2000, 2002, 2004
Free Software Foundation, Inc.
This file is part of the BFD library.
@@ -1525,17 +1525,17 @@ CONDFC ("fbule", "cb013", 0xe, F_CONDBR),
{ "fstoi", F3F(2, 0x34, 0x0d1), F3F(~2, ~0x34, ~0x0d1)|RS1_G0, "f,g", F_FLOAT, v6 },
{ "fqtoi", F3F(2, 0x34, 0x0d3), F3F(~2, ~0x34, ~0x0d3)|RS1_G0, "R,g", F_FLOAT, v8 },
-{ "fdtox", F3F(2, 0x34, 0x082), F3F(~2, ~0x34, ~0x082)|RS1_G0, "B,g", F_FLOAT, v9 },
-{ "fstox", F3F(2, 0x34, 0x081), F3F(~2, ~0x34, ~0x081)|RS1_G0, "f,g", F_FLOAT, v9 },
-{ "fqtox", F3F(2, 0x34, 0x083), F3F(~2, ~0x34, ~0x083)|RS1_G0, "R,g", F_FLOAT, v9 },
+{ "fdtox", F3F(2, 0x34, 0x082), F3F(~2, ~0x34, ~0x082)|RS1_G0, "B,H", F_FLOAT, v9 },
+{ "fstox", F3F(2, 0x34, 0x081), F3F(~2, ~0x34, ~0x081)|RS1_G0, "f,H", F_FLOAT, v9 },
+{ "fqtox", F3F(2, 0x34, 0x083), F3F(~2, ~0x34, ~0x083)|RS1_G0, "R,H", F_FLOAT, v9 },
{ "fitod", F3F(2, 0x34, 0x0c8), F3F(~2, ~0x34, ~0x0c8)|RS1_G0, "f,H", F_FLOAT, v6 },
{ "fitos", F3F(2, 0x34, 0x0c4), F3F(~2, ~0x34, ~0x0c4)|RS1_G0, "f,g", F_FLOAT, v6 },
{ "fitoq", F3F(2, 0x34, 0x0cc), F3F(~2, ~0x34, ~0x0cc)|RS1_G0, "f,J", F_FLOAT, v8 },
-{ "fxtod", F3F(2, 0x34, 0x088), F3F(~2, ~0x34, ~0x088)|RS1_G0, "f,H", F_FLOAT, v9 },
-{ "fxtos", F3F(2, 0x34, 0x084), F3F(~2, ~0x34, ~0x084)|RS1_G0, "f,g", F_FLOAT, v9 },
-{ "fxtoq", F3F(2, 0x34, 0x08c), F3F(~2, ~0x34, ~0x08c)|RS1_G0, "f,J", F_FLOAT, v9 },
+{ "fxtod", F3F(2, 0x34, 0x088), F3F(~2, ~0x34, ~0x088)|RS1_G0, "B,H", F_FLOAT, v9 },
+{ "fxtos", F3F(2, 0x34, 0x084), F3F(~2, ~0x34, ~0x084)|RS1_G0, "B,g", F_FLOAT, v9 },
+{ "fxtoq", F3F(2, 0x34, 0x08c), F3F(~2, ~0x34, ~0x08c)|RS1_G0, "B,J", F_FLOAT, v9 },
{ "fdtoq", F3F(2, 0x34, 0x0ce), F3F(~2, ~0x34, ~0x0ce)|RS1_G0, "B,J", F_FLOAT, v8 },
{ "fdtos", F3F(2, 0x34, 0x0c6), F3F(~2, ~0x34, ~0x0c6)|RS1_G0, "B,g", F_FLOAT, v6 },
diff --git a/opcodes/z8k-dis.c b/opcodes/z8k-dis.c
index 02f5dcb770..0ac0fc8091 100644
--- a/opcodes/z8k-dis.c
+++ b/opcodes/z8k-dis.c
@@ -26,7 +26,7 @@
#include "z8k-opc.h"
#include <setjmp.h>
-
+
typedef struct
{
/* These are all indexed by nibble number (i.e only every other entry
@@ -472,12 +472,53 @@ unpack_instr (instr_data_s *instr_data, int is_segmented, disassemble_info *info
}
}
-static char *intr_names[] = {
- "all", /* 0 */
- "vi", /* 1 */
- "nvi", /* 2 */
- "none" /* 3 */
-};
+static void
+print_intr(char *tmp_str, unsigned long interrupts)
+{
+ int comma = 0;
+
+ *tmp_str = 0;
+ if (! (interrupts & 2))
+ {
+ strcat (tmp_str, "vi");
+ comma = 1;
+ }
+ if (! (interrupts & 1))
+ {
+ if (comma) strcat (tmp_str, ",");
+ strcat (tmp_str, "nvi");
+ }
+}
+
+static void
+print_flags(char *tmp_str, unsigned long flags)
+{
+ int comma = 0;
+
+ *tmp_str = 0;
+ if (flags & 8)
+ {
+ strcat (tmp_str, "c");
+ comma = 1;
+ }
+ if (flags & 4)
+ {
+ if (comma) strcat (tmp_str, ",");
+ strcat (tmp_str, "z");
+ comma = 1;
+ }
+ if (flags & 2)
+ {
+ if (comma) strcat (tmp_str, ",");
+ strcat (tmp_str, "s");
+ comma = 1;
+ }
+ if (flags & 1)
+ {
+ if (comma) strcat (tmp_str, ",");
+ strcat (tmp_str, "p");
+ }
+}
static void
unparse_instr (instr_data_s *instr_data, int is_segmented)
@@ -529,12 +570,12 @@ unparse_instr (instr_data_s *instr_data, int is_segmented)
strcat (out_str, tmp_str);
break;
case CLASS_IMM:
- if (datum_value == ARG_IMM2) /* True with EI/DI instructions only. */
- {
- sprintf (tmp_str, "%s", intr_names[instr_data->interrupts]);
- strcat (out_str, tmp_str);
- break;
- }
+ if (datum_value == ARG_IMM2) /* True with EI/DI instructions only. */
+ {
+ print_intr (tmp_str, instr_data->interrupts);
+ strcat (out_str, tmp_str);
+ break;
+ }
sprintf (tmp_str, "#0x%0lx", instr_data->immediate);
strcat (out_str, tmp_str);
break;
@@ -563,7 +604,7 @@ unparse_instr (instr_data_s *instr_data, int is_segmented)
strcat (out_str, tmp_str);
break;
case CLASS_FLAGS:
- sprintf (tmp_str, "0x%0lx", instr_data->flags);
+ print_flags(tmp_str, instr_data->flags);
strcat (out_str, tmp_str);
break;
case CLASS_REG_BYTE: