Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2001-02-28 13:11:37 +0300
committercvs2svn <>2001-02-28 13:11:37 +0300
commit6d6ce55b923ffc11c17992811dd74e28866da49e (patch)
treed58254df6eb244016cb07ea901d29683a4de5ed6
parent0bd942aeb2c83f35d2f51ccdd0f36670f7896676 (diff)
This commit was manufactured by cvs2svn to create tag 'x86_64versiong3'.x86_64versiong3
Sprout from binutils-2_11-branch 2001-01-24 20:09:38 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'binutils-' Cherrypick from master 2001-02-28 10:11:36 UTC Phil Blundell <philb@gnu.org> '2001-02-27 Philip Blundell <pb@futuretv.com>': COPYING.NEWLIB ChangeLog config.guess config.sub config/ChangeLog config/mh-s390pic config/mt-s390pic configure configure.in include/ChangeLog include/coff/ChangeLog include/coff/pe.h include/demangle.h include/dis-asm.h include/elf/ChangeLog include/elf/arm.h include/elf/common.h include/elf/s390.h include/opcode/ChangeLog include/opcode/cgen.h include/opcode/i386.h include/opcode/mips.h include/opcode/pdp11.h include/opcode/s390.h ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig
-rw-r--r--COPYING.NEWLIB5
-rw-r--r--ChangeLog48
-rwxr-xr-xconfig.guess65
-rwxr-xr-xconfig.sub49
-rw-r--r--config/ChangeLog7
-rw-r--r--config/mh-s390pic1
-rw-r--r--config/mt-s390pic1
-rwxr-xr-xconfigure2
-rw-r--r--configure.in5
-rw-r--r--include/ChangeLog8
-rw-r--r--include/coff/ChangeLog10
-rw-r--r--include/coff/pe.h43
-rw-r--r--include/demangle.h5
-rw-r--r--include/dis-asm.h2
-rw-r--r--include/elf/ChangeLog15
-rw-r--r--include/elf/arm.h49
-rw-r--r--include/elf/common.h4
-rw-r--r--include/elf/s390.h73
-rw-r--r--include/opcode/ChangeLog30
-rw-r--r--include/opcode/cgen.h14
-rw-r--r--include/opcode/i386.h12
-rw-r--r--include/opcode/mips.h25
-rw-r--r--include/opcode/pdp11.h78
-rw-r--r--include/opcode/s390.h130
-rw-r--r--ltcf-c.sh8
-rw-r--r--ltcf-cxx.sh15
-rw-r--r--ltcf-gcj.sh6
-rwxr-xr-xltconfig6
28 files changed, 613 insertions, 103 deletions
diff --git a/COPYING.NEWLIB b/COPYING.NEWLIB
index 30e1c9e89..b7ebe116f 100644
--- a/COPYING.NEWLIB
+++ b/COPYING.NEWLIB
@@ -20,10 +20,11 @@ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
(2) DJ Delorie
-Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
+Copyright (C) 1991 DJ Delorie
This file is distributed under the terms listed in the document
-"copying.dj", available from DJ Delorie at the address above.
+"copying.dj".
+
A copy of "copying.dj" should accompany this file; if not, a copy
should be available from where this file was obtained. This file
may not be distributed without a verbatim copy of "copying.dj".
diff --git a/ChangeLog b/ChangeLog
index f600efde0..eaaf02da3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+2001-02-22 Jeff Johnston <jjohnstn@redhat.com>
+
+ * COPYING.NEWLIB: Remove DJ Delorie's address because it is no
+ longer valid.
+
+2001-02-16 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (noconfigdirs): Allow configuration of texinfo
+ for Cygwin hosts.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * config.guess: Add linux target for S/390.
+ * config.sub: Likewise.
+ * configure.in: Likewise.
+
+2001-02-06 Ben Elliston <bje@redhat.com>
+
+ * configure: Output host type to stdout, not stderr.
+
+2001-02-04 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * config.guess: Import from subversions.gnu.org (revision 1.181).
+ * config.sub: Import from subversions.gnu.org (revision 1.199).
+
+2001-01-30 Alan Modra <alan@linuxcare.com.au>
+
+ * config.guess: Handle hppa64-linux systems.
+
+2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * ltcf-cxx.sh (ac_cv_prog_cc_pic_works, ac_cv_prog_cc_static_works):
+ Don't unset, it's non-portable and no longer necessary, set to empty
+ instead.
+
+2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>, Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * ltconfig: Shell portability fix for the tagname validity check.
+
+2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * ltcf-cxx.sh: Use parentheses around eval $ac_compile.
+
+2001-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * ltcf-c.sh (ld_shlibs) [aix5*]: Disable on unknown CPU types.
+ * ltcf-cxx.sh, ltcf-gcj.sh: Likewise.
+
2001-01-24 Alexandre Oliva <aoliva@redhat.com>
* ltmain.sh (TAG disable-shared, TAG disable-static): Make sure we
diff --git a/config.guess b/config.guess
index 4758b11fb..3b3df454e 100755
--- a/config.guess
+++ b/config.guess
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
-timestamp='2001-01-01'
+timestamp='2001-01-17'
# 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
@@ -93,7 +93,7 @@ fi
dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
@@ -107,7 +107,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
CC_FOR_BUILD="$c"; break
fi
done
- rm -f $dummy.c $dummy.o
+ rm -f $dummy.c $dummy.o $dummy.rel
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found
fi
@@ -276,7 +276,7 @@ EOF
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
- SR2?01:HI-UX/MPP:*:*)
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
@@ -927,8 +927,12 @@ EOF
rm -f $dummy.c $dummy
elif test "${UNAME_MACHINE}" = "s390"; then
echo s390-ibm-linux && exit 0
+ elif test "${UNAME_MACHINE}" = "s390x"; then
+ echo s390x-ibm-linux && exit 0
elif test "${UNAME_MACHINE}" = "x86_64"; then
echo x86_64-unknown-linux-gnu && exit 0
+ elif test "${UNAME_MACHINE}" = "parisc64" -o "${UNAME_MACHINE}" = "hppa64"; then
+ echo hppa64-unknown-linux-gnu && exit 0
elif test "${UNAME_MACHINE}" = "parisc" -o "${UNAME_MACHINE}" = "hppa"; then
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -1088,9 +1092,12 @@ EOF
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+ rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
@@ -1195,6 +1202,24 @@ EOF
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit 0 ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit 0 ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit 0 ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit 0 ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1286,11 +1311,24 @@ main ()
#endif
#if defined (vax)
-#if !defined (ultrix)
- printf ("vax-dec-bsd\n"); exit (0);
-#else
- printf ("vax-dec-ultrix\n"); exit (0);
-#endif
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
#endif
#if defined (alliant) && defined (i860)
@@ -1337,8 +1375,9 @@ fi
cat >&2 <<EOF
$0: unable to guess system type
-The $version version of this script cannot recognize your system type.
-Please download the most up to date version of the config scripts:
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
ftp://ftp.gnu.org/pub/gnu/config/
@@ -1347,7 +1386,7 @@ send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.
-config.guess version = $version
+config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
diff --git a/config.sub b/config.sub
index a97fdc342..e1afb5df3 100755
--- a/config.sub
+++ b/config.sub
@@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
-timestamp='2001-01-07'
+timestamp='2001-01-12'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -69,7 +69,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -117,7 +117,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | storm-chaos*)
+ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -226,7 +226,8 @@ case $basic_machine in
| alphaev6[78] \
| we32k | ns16k | clipper | i370 | sh | sh[34] \
| powerpc | powerpcle \
- | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+ | 1750a | dsp16xx | pdp10 | pdp11 \
+ | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el | mcore \
@@ -268,12 +269,12 @@ case $basic_machine in
| alphaev6[78]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* | mcore-* \
- | f30[01]-* | f700-* | s390-* | sv1-* | t3e-* \
+ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
| bs2000-* | tic54x-* | c54x-* | x86_64-*)
@@ -424,6 +425,10 @@ case $basic_machine in
basic_machine=tron-gmicro
os=-sysv
;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
@@ -523,18 +528,6 @@ case $basic_machine in
basic_machine=i386-unknown
os=-vsta
;;
- i386-go32 | go32)
- basic_machine=i386-unknown
- os=-go32
- ;;
- i386-mingw32 | mingw32)
- basic_machine=i386-unknown
- os=-mingw32
- ;;
- i[34567]86-pw32 | pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
@@ -560,6 +553,10 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -590,7 +587,7 @@ case $basic_machine in
os=-coff
;;
msdos)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=-msdos
;;
mvs)
@@ -729,6 +726,10 @@ case $basic_machine in
ps2)
basic_machine=i386-ibm
;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@@ -919,6 +920,10 @@ case $basic_machine in
vax)
basic_machine=vax-dec
;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
pdp11)
basic_machine=pdp11-dec
;;
@@ -1009,7 +1014,8 @@ case $os in
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*)
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1141,6 +1147,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
+ pdp10-*)
+ os=-tops20
+ ;;
pdp11-*)
os=-none
;;
diff --git a/config/ChangeLog b/config/ChangeLog
index 920ab3226..5a398ecc1 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,4 +1,9 @@
-Fri Jul 14 18:13:23 2000 Mark P Mitchell <mark@codesourcery.com>
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * mh-s390pic: New file.
+ * mt-s390pic: New file.
+
+2000-07-14 Mark P Mitchell <mark@codesourcery.com>
* mh-irix6 (CC): Don't set it.
diff --git a/config/mh-s390pic b/config/mh-s390pic
new file mode 100644
index 000000000..92e48d90f
--- /dev/null
+++ b/config/mh-s390pic
@@ -0,0 +1 @@
+PICFLAG=-fpic
diff --git a/config/mt-s390pic b/config/mt-s390pic
new file mode 100644
index 000000000..ff9872755
--- /dev/null
+++ b/config/mt-s390pic
@@ -0,0 +1 @@
+PICFLAG_FOR_TARGET=-fpic
diff --git a/configure b/configure
index dfc176263..ae89f40c8 100755
--- a/configure
+++ b/configure
@@ -450,7 +450,7 @@ case "${fatal}" in
fi
;;
esac
- echo "Configuring for a ${host_alias} host." 1>&2
+ echo "Configuring for a ${host_alias} host."
arguments="--host=$host_alias $arguments"
else
echo 'Config.guess failed to determine the host type. You need to specify one.' 1>&2
diff --git a/configure.in b/configure.in
index 1284aa653..e2a7f9794 100644
--- a/configure.in
+++ b/configure.in
@@ -321,6 +321,9 @@ if [ x${shared} = xyes ]; then
powerpc*-*-*)
host_makefile_frag="${host_makefile_frag} config/mh-ppcpic"
;;
+ s390-* | s390x-*)
+ host_makefile_frag="${host_makefile_frag} config/mh-s390pic"
+ ;;
*-*-*)
if test -f ${srcdir}/config/mh-${host_cpu}pic; then
host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic"
@@ -555,7 +558,7 @@ case "${host}" in
noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
;;
*-*-cygwin*)
- noconfigdirs="autoconf automake send-pr rcs guile perl texinfo apache inet"
+ noconfigdirs="autoconf automake send-pr rcs guile perl apache inet"
;;
*-*-netbsd*)
noconfigdirs="rcs"
diff --git a/include/ChangeLog b/include/ChangeLog
index 39085a1ac..11eacd9b2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,11 @@
+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.
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index d73c51af2..aace5bdd7 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -1,3 +1,13 @@
+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>
+
+ * include/coff/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.
diff --git a/include/coff/pe.h b/include/coff/pe.h
index f2c022ea7..7f1547487 100644
--- a/include/coff/pe.h
+++ b/include/coff/pe.h
@@ -125,6 +125,45 @@
#undef FILNMLEN
#define FILNMLEN 18 /* # characters in a file name. */
+struct external_PEI_DOS_hdr
+{
+ /* DOS header fields - always at offset zero in the EXE file. */
+ char e_magic[2]; /* Magic number, 0x5a4d. */
+ char e_cblp[2]; /* Bytes on last page of file, 0x90. */
+ char e_cp[2]; /* Pages in file, 0x3. */
+ char e_crlc[2]; /* Relocations, 0x0. */
+ char e_cparhdr[2]; /* Size of header in paragraphs, 0x4. */
+ char e_minalloc[2]; /* Minimum extra paragraphs needed, 0x0. */
+ char e_maxalloc[2]; /* Maximum extra paragraphs needed, 0xFFFF. */
+ char e_ss[2]; /* Initial (relative) SS value, 0x0. */
+ char e_sp[2]; /* Initial SP value, 0xb8. */
+ char e_csum[2]; /* Checksum, 0x0. */
+ char e_ip[2]; /* Initial IP value, 0x0. */
+ char e_cs[2]; /* Initial (relative) CS value, 0x0. */
+ char e_lfarlc[2]; /* File address of relocation table, 0x40. */
+ char e_ovno[2]; /* Overlay number, 0x0. */
+ char e_res[4][2]; /* Reserved words, all 0x0. */
+ char e_oemid[2]; /* OEM identifier (for e_oeminfo), 0x0. */
+ char e_oeminfo[2]; /* OEM information; e_oemid specific, 0x0. */
+ char e_res2[10][2]; /* Reserved words, all 0x0. */
+ char e_lfanew[4]; /* File address of new exe header, usually 0x80. */
+ char dos_message[16][4]; /* Other stuff, always follow DOS header. */
+};
+
+struct external_PEI_IMAGE_hdr
+{
+ char nt_signature[4]; /* required NT signature, 0x4550. */
+
+ /* From standard header. */
+ char f_magic[2]; /* Magic number. */
+ char f_nscns[2]; /* Number of sections. */
+ char f_timdat[4]; /* Time & date stamp. */
+ char f_symptr[4]; /* File pointer to symtab. */
+ char f_nsyms[4]; /* Number of symtab entries. */
+ char f_opthdr[2]; /* Sizeof(optional hdr). */
+ char f_flags[2]; /* Flags. */
+};
+
struct external_PEI_filehdr
{
/* DOS header fields - always at offset zero in the EXE file. */
@@ -240,8 +279,8 @@ typedef struct
char NumberOfRvaAndSizes[4];
/* IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; */
char DataDirectory[16][2][4]; /* 16 entries, 2 elements/entry, 4 chars. */
-} PEP64AOUTHDR;
-#define PEP64AOUTSZ 240
+} PEPAOUTHDR;
+#define PEPAOUTSZ 240
#undef E_FILNMLEN
#define E_FILNMLEN 18 /* # characters in a file name. */
diff --git a/include/demangle.h b/include/demangle.h
index 7fb625909..a3b664b0e 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -120,8 +120,11 @@ cplus_demangle_set_style PARAMS ((enum demangling_styles style));
extern enum demangling_styles
cplus_demangle_name_to_style PARAMS ((const char *name));
-/* V3 ABI demangling entry point, defined in cp-demangle.c. */
+/* V3 ABI demangling entry points, defined in cp-demangle.c. */
extern char*
cplus_demangle_v3 PARAMS ((const char* mangled));
+extern char*
+java_demangle_v3 PARAMS ((const char* mangled));
+
#endif /* DEMANGLE_H */
diff --git a/include/dis-asm.h b/include/dis-asm.h
index 5c9d8d8d1..1cc3fce88 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -192,6 +192,7 @@ extern int print_insn_mcore PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_mn10200 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_mn10300 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_ns32k PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_pdp11 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_big_powerpc PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_little_powerpc PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_rs6000 PARAMS ((bfd_vma, disassemble_info*));
@@ -206,6 +207,7 @@ extern int print_insn_tic54x PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_tic80 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_pj PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_avr PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*));
extern void print_arm_disassembler_options PARAMS ((FILE *));
extern void parse_arm_disassembler_option PARAMS ((char *));
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 05e73b80d..f95b19cb3 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,13 @@
+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,
@@ -105,11 +115,6 @@
* elf/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-20 Hans-Peter Nilsson <hp@axis.com>
common.h (EM_CRIS): New machine number.
diff --git a/include/elf/arm.h b/include/elf/arm.h
index 049925185..c65df644d 100644
--- a/include/elf/arm.h
+++ b/include/elf/arm.h
@@ -1,5 +1,5 @@
/* ARM ELF support for BFD.
- Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -25,29 +25,32 @@
/* Processor specific flags for the ELF header e_flags field. */
#define EF_ARM_RELEXEC 0x01
#define EF_ARM_HASENTRY 0x02
-#define EF_INTERWORK 0x04
-#define EF_APCS_26 0x08
-#define EF_APCS_FLOAT 0x10
-#define EF_PIC 0x20
-#define EF_ALIGN8 0x40 /* 8-bit structure alignment is in use. */
-#define EF_NEW_ABI 0x80
-#define EF_OLD_ABI 0x100
-#define EF_SOFT_FLOAT 0x200
-
-/* Other constants defined in the ARM ELF spec. version A-08. */
+#define EF_ARM_INTERWORK 0x04
+#define EF_ARM_APCS_26 0x08
+#define EF_ARM_APCS_FLOAT 0x10
+#define EF_ARM_PIC 0x20
+#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use. */
+#define EF_ARM_NEW_ABI 0x80
+#define EF_ARM_OLD_ABI 0x100
+#define EF_ARM_SOFT_FLOAT 0x200
+
+/* Other constants defined in the ARM ELF spec. version B-01. */
#define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK */
+#define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26 */
+#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT */
#define EF_ARM_EABIMASK 0xFF000000
#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
#define EF_ARM_EABI_UNKNOWN 0x00000000
#define EF_ARM_EABI_VER1 0x01000000
+#define EF_ARM_EABI_VER2 0x02000000
/* Local aliases for some flags to match names used by COFF port. */
-#define F_INTERWORK EF_INTERWORK
-#define F_APCS26 EF_APCS_26
-#define F_APCS_FLOAT EF_APCS_FLOAT
-#define F_PIC EF_PIC
-#define F_SOFT_FLOAT EF_SOFT_FLOAT
+#define F_INTERWORK EF_ARM_INTERWORK
+#define F_APCS26 EF_ARM_APCS_26
+#define F_APCS_FLOAT EF_ARM_APCS_FLOAT
+#define F_PIC EF_ARM_PIC
+#define F_SOFT_FLOAT EF_ARM_SOFT_FLOAT
/* Additional symbol types for Thumb. */
#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
@@ -109,13 +112,21 @@ START_RELOC_NUMBERS (elf_arm_reloc_type)
FAKE_RELOC (LAST_INVALID_RELOC, 249)
#else /* not OLD_ARM_ABI */
FAKE_RELOC (FIRST_INVALID_RELOC1, 28)
- FAKE_RELOC (LAST_INVALID_RELOC1, 99)
+ FAKE_RELOC (LAST_INVALID_RELOC1, 31)
+ RELOC_NUMBER (R_ARM_ALU_PCREL7_0, 32)
+ RELOC_NUMBER (R_ARM_ALU_PCREL15_8, 33)
+ RELOC_NUMBER (R_ARM_ALU_PCREL23_15, 34)
+ RELOC_NUMBER (R_ARM_LDR_SBREL11_0, 35)
+ RELOC_NUMBER (R_ARM_ALU_SBREL19_12, 36)
+ RELOC_NUMBER (R_ARM_ALU_SBREL27_20, 37)
+ FAKE_RELOC (FIRST_INVALID_RELOC2, 38)
+ FAKE_RELOC (LAST_INVALID_RELOC2, 99)
RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100)
RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101)
RELOC_NUMBER (R_ARM_THM_PC11, 102) /* Cygnus extension to abi: Thumb unconditional branch. */
RELOC_NUMBER (R_ARM_THM_PC9, 103) /* Cygnus extension to abi: Thumb conditional branch. */
- FAKE_RELOC (FIRST_INVALID_RELOC2, 104)
- FAKE_RELOC (LAST_INVALID_RELOC2, 248)
+ FAKE_RELOC (FIRST_INVALID_RELOC3, 104)
+ FAKE_RELOC (LAST_INVALID_RELOC3, 248)
RELOC_NUMBER (R_ARM_RXPC25, 249)
#endif /* not OLD_ARM_ABI */
RELOC_NUMBER (R_ARM_RSBREL32, 250)
diff --git a/include/elf/common.h b/include/elf/common.h
index d127b9c1c..991e57ecd 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -114,6 +114,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define EM_960 19 /* Intel 80960 */
#define EM_PPC 20 /* PowerPC */
#define EM_PPC64 21 /* 64-bit PowerPC */
+#define EM_S390 22 /* IBM S/390 */
#define EM_V800 36 /* NEC V800 series */
#define EM_FR20 37 /* Fujitsu FR20 */
@@ -195,6 +196,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Alpha backend magic number. Written in the absence of an ABI. */
#define EM_ALPHA 0x9026
+/* old S/390 backend magic number. Written in the absence of an ABI. */
+#define EM_S390_OLD 0xa390
+
/* D10V backend magic number. Written in the absence of an ABI. */
#define EM_CYGNUS_D10V 0x7650
diff --git a/include/elf/s390.h b/include/elf/s390.h
new file mode 100644
index 000000000..3cd997625
--- /dev/null
+++ b/include/elf/s390.h
@@ -0,0 +1,73 @@
+/* 390 ELF support for BFD.
+ Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ Contributed by Carl B. Pedersen and Martin Schwidefsky.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
+
+#ifndef _ELF_390_H
+#define _ELF_390_H
+
+/* Processor specific flags for the ELF header e_flags field. */
+
+/* Symbol types. */
+
+#define STACK_REG 15 /* Global Stack reg */
+#define BACKL_REG 14 /* Global Backlink reg */
+#define BASE_REG 13 /* Global Base reg */
+#define GOT_REG 12 /* Holds addr of GOT */
+
+#include "elf/reloc-macros.h"
+
+/* Relocation types. */
+
+START_RELOC_NUMBERS (elf_s390_reloc_type)
+ RELOC_NUMBER (R_390_NONE, 0) /* No reloc. */
+ RELOC_NUMBER (R_390_8, 1) /* Direct 8 bit. */
+ RELOC_NUMBER (R_390_12, 2) /* Direct 12 bit. */
+ RELOC_NUMBER (R_390_16, 3) /* Direct 16 bit. */
+ RELOC_NUMBER (R_390_32, 4) /* Direct 32 bit. */
+ RELOC_NUMBER (R_390_PC32, 5) /* PC relative 32 bit. */
+ RELOC_NUMBER (R_390_GOT12, 6) /* 12 bit GOT offset. */
+ RELOC_NUMBER (R_390_GOT32, 7) /* 32 bit GOT offset. */
+ RELOC_NUMBER (R_390_PLT32, 8) /* 32 bit PC relative PLT address. */
+ RELOC_NUMBER (R_390_COPY, 9) /* Copy symbol at runtime. */
+ RELOC_NUMBER (R_390_GLOB_DAT, 10) /* Create GOT entry. */
+ RELOC_NUMBER (R_390_JMP_SLOT, 11) /* Create PLT entry. */
+ RELOC_NUMBER (R_390_RELATIVE, 12) /* Adjust by program base. */
+ RELOC_NUMBER (R_390_GOTOFF, 13) /* 32 bit offset to GOT. */
+ RELOC_NUMBER (R_390_GOTPC, 14) /* 32 bit PC relative offset to GOT. */
+ RELOC_NUMBER (R_390_GOT16, 15) /* 16 bit GOT offset. */
+ RELOC_NUMBER (R_390_PC16, 16) /* PC relative 16 bit. */
+ RELOC_NUMBER (R_390_PC16DBL, 17) /* PC relative 16 bit shifted by 1. */
+ RELOC_NUMBER (R_390_PLT16DBL, 18) /* 16 bit PC rel. PLT shifted by 1. */
+ RELOC_NUMBER (R_390_PC32DBL, 19) /* PC relative 32 bit shifted by 1. */
+ RELOC_NUMBER (R_390_PLT32DBL, 20) /* 32 bit PC rel. PLT shifted by 1. */
+ RELOC_NUMBER (R_390_GOTPCDBL, 21) /* 32 bit PC rel. GOT shifted by 1. */
+ RELOC_NUMBER (R_390_64, 22) /* Direct 64 bit. */
+ RELOC_NUMBER (R_390_PC64, 23) /* PC relative 64 bit. */
+ RELOC_NUMBER (R_390_GOT64, 24) /* 64 bit GOT offset. */
+ RELOC_NUMBER (R_390_PLT64, 25) /* 64 bit PC relative PLT address. */
+ RELOC_NUMBER (R_390_GOTENT, 26) /* 32 bit PC rel. to GOT entry >> 1. */
+ /* These are GNU extensions to enable C++ vtable garbage collection. */
+ RELOC_NUMBER (R_390_GNU_VTINHERIT, 250)
+ RELOC_NUMBER (R_390_GNU_VTENTRY, 251)
+END_RELOC_NUMBERS (R_390_max)
+
+#endif /* _ELF_390_H */
+
+
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 138423458..b4e688844 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,27 @@
+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
@@ -9,7 +33,7 @@
(pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
Remove duplicate "ldw j(s,b),x". Sort some entries.
-Sat Jan 13 09:56:32 MET 2001 Jan Hubicka <jh@suse.cz>
+2001-01-13 Jan Hubicka <jh@suse.cz>
* i386.h (i386_optab): Fix pusha and ret templates.
@@ -656,7 +680,7 @@ Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com>
* cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
CGEN_MODE_UINT.
-Sat Jan 16 01:29:25 1999 Jeffrey A Law (law@cygnus.com)
+1999-01-16 Jeffrey A Law (law@cygnus.com)
* hppa.h (bv): Fix mask.
@@ -1007,7 +1031,7 @@ 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>
+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
diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h
index f7962cd77..e208a5455 100644
--- a/include/opcode/cgen.h
+++ b/include/opcode/cgen.h
@@ -736,25 +736,21 @@ typedef struct
the data is recorded in the parse/insert/extract/print switch statements. */
/* This should be at least as large as necessary for any target. */
-#define CGEN_MAX_SYNTAX_BYTES 40
+#define CGEN_MAX_SYNTAX_ELEMENTS 40
/* A target may know its own precise maximum. Assert that it falls below
the above limit. */
-#ifdef CGEN_ACTUAL_MAX_SYNTAX_BYTES
-#if CGEN_ACTUAL_MAX_SYNTAX_BYTES > CGEN_MAX_SYNTAX_BYTES
-#error "CGEN_ACTUAL_MAX_SYNTAX_BYTES too high - enlarge CGEN_MAX_SYNTAX_BYTES"
+#ifdef CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS
+#if CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS > CGEN_MAX_SYNTAX_ELEMENTS
+#error "CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS too high - enlarge CGEN_MAX_SYNTAX_ELEMENTS"
#endif
#endif
-#if !defined(MAX_OPERANDS) || MAX_OPERANDS <= 127
-typedef unsigned char CGEN_SYNTAX_CHAR_TYPE;
-#else
typedef unsigned short CGEN_SYNTAX_CHAR_TYPE;
-#endif
typedef struct
{
- CGEN_SYNTAX_CHAR_TYPE syntax[CGEN_MAX_SYNTAX_BYTES];
+ CGEN_SYNTAX_CHAR_TYPE syntax[CGEN_MAX_SYNTAX_ELEMENTS];
} CGEN_SYNTAX;
#define CGEN_SYNTAX_STRING(syn) (syn->syntax)
diff --git a/include/opcode/i386.h b/include/opcode/i386.h
index 07124c40c..2ab783e63 100644
--- a/include/opcode/i386.h
+++ b/include/opcode/i386.h
@@ -1112,10 +1112,10 @@ static const template i386_optab[] = {
{"comiss", 2, 0x0f2f, X, CpuSSE, FP|Modrm, { RegXMM|WordMem, RegXMM, 0 } },
{"cvtpi2ps", 2, 0x0f2a, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegXMM, 0 } },
{"cvtps2pi", 2, 0x0f2d, X, CpuSSE, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } },
-{"cvtsi2ss", 2, 0xf30f2a, X, CpuSSE, FP|Modrm, { Reg32|WordMem, RegXMM, 0 } },
-{"cvtss2si", 2, 0xf30f2d, X, CpuSSE, FP|Modrm, { RegXMM|WordMem, Reg32, 0 } },
+{"cvtsi2ss", 2, 0xf30f2a, X, CpuSSE, lq_Suf|IgnoreSize|Modrm,{ Reg32|Reg64|WordMem|LLongMem, RegXMM, 0 } },
+{"cvtss2si", 2, 0xf30f2d, X, CpuSSE, lq_Suf|IgnoreSize|Modrm,{ RegXMM|WordMem, Reg32|Reg64, 0 } },
{"cvttps2pi", 2, 0x0f2c, X, CpuSSE, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } },
-{"cvttss2si", 2, 0xf30f2c, X, CpuSSE, FP|Modrm, { RegXMM|WordMem, Reg32, 0 } },
+{"cvttss2si", 2, 0xf30f2c, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { RegXMM|WordMem, Reg32|Reg64, 0 } },
{"divps", 2, 0x0f5e, X, CpuSSE, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"divss", 2, 0xf30f5e, X, CpuSSE, FP|Modrm, { RegXMM|WordMem, RegXMM, 0 } },
{"ldmxcsr", 1, 0x0fae, 2, CpuSSE, FP|Modrm, { WordMem, 0, 0 } },
@@ -1212,7 +1212,7 @@ static const template i386_optab[] = {
{"cmpsd", 3, 0xf20fc2, X, CpuSSE2, FP|Modrm, { Imm8, RegXMM|LongMem, RegXMM } },
{"comisd", 2, 0x660f2f, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } },
{"cvtpi2pd", 2, 0x660f2a, X, CpuSSE2, FP|Modrm, { RegMMX|LLongMem, RegXMM, 0 } },
-{"cvtsi2sd", 2, 0xf20f2a, X, CpuSSE2, FP|Modrm, { Reg32|LongMem, RegXMM, 0 } },
+{"cvtsi2sd", 2, 0xf20f2a, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm,{ Reg32|Reg64|WordMem|LLongMem, RegXMM, 0 } },
{"divpd", 2, 0x660f5e, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"divsd", 2, 0xf20f5e, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } },
{"maxpd", 2, 0x660f5f, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
@@ -1250,11 +1250,11 @@ static const template i386_optab[] = {
{"cvtpd2ps", 2, 0x660f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"cvtps2pd", 2, 0x0f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"cvtps2dq", 2, 0x660f5b, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } },
-{"cvtsd2si", 2, 0xf20f2d, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, Reg32, 0 } },
+{"cvtsd2si", 2, 0xf20f2d, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm,{ RegXMM|LLongMem, Reg32|Reg64, 0 } },
{"cvtsd2ss", 2, 0xf20f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"cvtss2sd", 2, 0xf30f5a, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"cvttpd2pi", 2, 0x660f2c, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegMMX, 0 } },
-{"cvttsd2si", 2, 0xf20f2c, X, CpuSSE2, FP|Modrm, { RegXMM|WordMem, Reg32, 0 } },
+{"cvttsd2si", 2, 0xf20f2c, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm,{ RegXMM|WordMem, Reg32|Reg64, 0 } },
{"cvttpd2dq", 2, 0x660fe6, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"cvttps2dq", 2, 0xf30f5b, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } },
{"maskmovdqu",2, 0x660ff7, X, CpuSSE2, FP|Modrm, { RegXMM, RegXMM, 0 } },
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index c493d08dc..ab30d1c91 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -30,9 +30,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
i = (i &~ (OP_MASK_X << OP_SH_X)) | (j << OP_SH_X)
Make sure you use fields that are appropriate for the instruction,
- of course.
+ of course.
- The 'i' format uses OP, RS, RT and IMMEDIATE.
+ The 'i' format uses OP, RS, RT and IMMEDIATE.
The 'j' format uses OP and TARGET.
@@ -123,7 +123,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#define OP_SH_HINT 16
#define OP_MASK_HINT 0x1f
#define OP_SH_MMI 0 /* Multimedia (parallel) op. */
-#define OP_MASK_MMI 0x3f
+#define OP_MASK_MMI 0x3f
#define OP_SH_MMISUB 6
#define OP_MASK_MMISUB 0x1f
#define OP_MASK_PERFREG 0x1f /* Performance monitoring. */
@@ -366,14 +366,15 @@ struct mips_opcode
/* Test for membership in an ISA including chip specific ISAs.
INSN is pointer to an element of the opcode table; ISA is the
specified ISA to test against; and CPU is the CPU specific ISA
- to test, or zero if no CPU specific ISA test is desired.
+ to test, or zero if no CPU specific ISA test is desired.
The gp32 arg is set when you need to force 32-bit register usage on
a machine with 64-bit registers; see the documentation under -mgp32
in the MIPS gas docs. */
#define OPCODE_IS_MEMBER(insn, isa, cpu, gp32) \
((((insn)->membership & isa) != 0 \
- && ((insn)->membership & INSN_GP32 ? gp32 : 1)) \
+ && ((insn)->membership & INSN_GP32 ? gp32 : 1) \
+ ) \
|| (cpu == CPU_R4650 && ((insn)->membership & INSN_4650) != 0) \
|| (cpu == CPU_R4010 && ((insn)->membership & INSN_4010) != 0) \
|| ((cpu == CPU_VR4100 || cpu == CPU_R4111) \
@@ -381,7 +382,7 @@ struct mips_opcode
|| (cpu == CPU_R3900 && ((insn)->membership & INSN_3900) != 0))
/* This is a list of macro expanded instructions.
-
+
_I appended means immediate
_A appended means address
_AB appended means address with base register
@@ -446,11 +447,11 @@ enum
M_DLA_AB,
M_DLI,
M_DMUL,
- M_DMUL_I,
+ M_DMUL_I,
M_DMULO,
- M_DMULO_I,
+ M_DMULO_I,
M_DMULOU,
- M_DMULOU_I,
+ M_DMULOU_I,
M_DREM_3,
M_DREM_3I,
M_DREMU_3,
@@ -505,11 +506,11 @@ enum
M_LWR_AB,
M_LWU_AB,
M_MUL,
- M_MUL_I,
+ M_MUL_I,
M_MULO,
- M_MULO_I,
+ M_MULO_I,
M_MULOU,
- M_MULOU_I,
+ M_MULOU_I,
M_NOR_I,
M_OR_I,
M_REM_3,
diff --git a/include/opcode/pdp11.h b/include/opcode/pdp11.h
new file mode 100644
index 000000000..891b74f9a
--- /dev/null
+++ b/include/opcode/pdp11.h
@@ -0,0 +1,78 @@
+/* PDP-11 opcde list.
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GDB and GAS.
+
+GDB and GAS are 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 1, or (at your option)
+any later version.
+
+GDB and GAS are 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 GDB or GAS; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/*
+ * PDP-11 opcode types.
+ */
+
+#define PDP11_OPCODE_NO_OPS 0
+#define PDP11_OPCODE_REG 1 /* register */
+#define PDP11_OPCODE_OP 2 /* generic operand */
+#define PDP11_OPCODE_REG_OP 3 /* register and generic operand */
+#define PDP11_OPCODE_REG_OP_REV 4 /* register and generic operand,
+ reversed syntax */
+#define PDP11_OPCODE_AC_OP 5 /* fpu accumulator and generic
+ operand */
+#define PDP11_OPCODE_OP_OP 6 /* two generic operands */
+#define PDP11_OPCODE_DISPL 7 /* pc-relative displacement */
+#define PDP11_OPCODE_REG_DISPL 8 /* redister and pc-relative
+ displacement */
+#define PDP11_OPCODE_IMM8 9 /* 8-bit immediate */
+#define PDP11_OPCODE_IMM6 10 /* 6-bit immediate */
+#define PDP11_OPCODE_IMM3 11 /* 3-bit immediate */
+#define PDP11_OPCODE_ILLEGAL 12 /* illegal instruction */
+
+/*
+ * PDP-11 instruction set extensions.
+ *
+ * Please keep the numbers low, as they are used as indices into
+ * an array.
+ */
+
+#define PDP11_NONE 0 /* not in instruction set */
+#define PDP11_BASIC 1 /* basic instruction set (11/20 etc) */
+#define PDP11_CSM 2 /* commercial instruction set */
+#define PDP11_CIS 3 /* commercial instruction set */
+#define PDP11_EIS 4 /* extended instruction set (11/45 etc) */
+#define PDP11_FIS 5 /* KEV11 floating-point instructions */
+#define PDP11_FPP 6 /* FP-11 floating-point instructions */
+#define PDP11_LEIS 7 /* limited extended instruction set
+ (11/40 etc) */
+#define PDP11_MFPT 8 /* move from processor type */
+#define PDP11_MPROC 9 /* multiprocessor instructions: tstset,
+ wrtlck */
+#define PDP11_MXPS 10 /* move from/to processor status */
+#define PDP11_SPL 11 /* set priority level */
+#define PDP11_UCODE 12 /* microcode instructions: ldub, med, xfc */
+#define PDP11_EXT_NUM 13 /* total number of extension types */
+
+struct pdp11_opcode
+{
+ const char *name;
+ int opcode;
+ int mask;
+ int type;
+ int extension;
+};
+
+extern const struct pdp11_opcode pdp11_opcodes[];
+extern const struct pdp11_opcode pdp11_aliases[];
+extern const int pdp11_num_opcodes, pdp11_num_aliases;
+
+/* end of pdp11.h */
diff --git a/include/opcode/s390.h b/include/opcode/s390.h
new file mode 100644
index 000000000..8a7c00eff
--- /dev/null
+++ b/include/opcode/s390.h
@@ -0,0 +1,130 @@
+/* s390.h -- Header file for S390 opcode table
+ Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
+
+#ifndef S390_H
+#define S390_H
+
+/* List of instruction sets variations. */
+
+enum s390_opcode_arch_val
+ {
+ S390_OPCODE_ESA = 0,
+ S390_OPCODE_ESAME
+ };
+
+/* The opcode table is an array of struct s390_opcode. */
+
+struct s390_opcode
+ {
+ /* The opcode name. */
+ const char * name;
+
+ /* The opcode itself. Those bits which will be filled in with
+ operands are zeroes. */
+ unsigned char opcode[6];
+
+ /* The opcode mask. This is used by the disassembler. This is a
+ mask containing ones indicating those bits which must match the
+ opcode field, and zeroes indicating those bits which need not
+ match (and are presumably filled in by operands). */
+ unsigned char mask[6];
+
+ /* The opcode length in bytes. */
+ int oplen;
+
+ /* An array of operand codes. Each code is an index into the
+ operand table. They appear in the order which the operands must
+ appear in assembly code, and are terminated by a zero. */
+ unsigned char operands[6];
+
+ /* Bitmask of architectures this opcode is available for. */
+ unsigned int architecture;
+ };
+
+/* The table itself is sorted by major opcode number, and is otherwise
+ in the order in which the disassembler should consider
+ instructions. */
+extern const struct s390_opcode s390_opcodes[];
+extern const int s390_num_opcodes;
+
+/* A opcode format table for the .insn pseudo mnemonic. */
+extern const struct s390_opcode s390_opformats[];
+extern const int s390_num_opformats;
+
+/* Values defined for the flags field of a struct powerpc_opcode. */
+
+/* The operands table is an array of struct s390_operand. */
+
+struct s390_operand
+ {
+ /* The number of bits in the operand. */
+ int bits;
+
+ /* How far the operand is left shifted in the instruction. */
+ int shift;
+
+ /* One bit syntax flags. */
+ unsigned long flags;
+ };
+
+/* Elements in the table are retrieved by indexing with values from
+ the operands field of the powerpc_opcodes table. */
+
+extern const struct s390_operand s390_operands[];
+
+/* Values defined for the flags field of a struct s390_operand. */
+
+/* This operand names a register. The disassembler uses this to print
+ register names with a leading 'r'. */
+#define S390_OPERAND_GPR 0x1
+
+/* This operand names a floating point register. The disassembler
+ prints these with a leading 'f'. */
+#define S390_OPERAND_FPR 0x2
+
+/* This operand names an access register. The disassembler
+ prints these with a leading 'a'. */
+#define S390_OPERAND_AR 0x4
+
+/* This operand names a control register. The disassembler
+ prints these with a leading 'c'. */
+#define S390_OPERAND_CR 0x8
+
+/* This operand is a displacement. */
+#define S390_OPERAND_DISP 0x10
+
+/* This operand names a base register. */
+#define S390_OPERAND_BASE 0x20
+
+/* This operand names an index register, it can be skipped. */
+#define S390_OPERAND_INDEX 0x40
+
+/* This operand is a relative branch displacement. The disassembler
+ prints these symbolically if possible. */
+#define S390_OPERAND_PCREL 0x80
+
+/* This operand takes signed values. */
+#define S390_OPERAND_SIGNED 0x100
+
+/* This operand is a length. */
+#define S390_OPERAND_LENGTH 0x200
+
+#endif /* S390_H */
diff --git a/ltcf-c.sh b/ltcf-c.sh
index e57abb1cb..2e62af762 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -2,7 +2,7 @@
# ltcf-c.sh - Create a C compiler specific configuration
#
-# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Copyright (C) 1996-2000, 2001 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; you can redistribute it and/or modify it
@@ -283,6 +283,12 @@ else
# According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
always_export_symbols=yes ;;
esac
+
+ # We don't want to build shared libraries on unknown CPU types.
+ case $host_cpu in
+ powerpc | rs6000) ;;
+ *) ld_shlibs=no ;;
+ esac
;;
amigaos*)
diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh
index cefa00856..ab9e62721 100644
--- a/ltcf-cxx.sh
+++ b/ltcf-cxx.sh
@@ -2,7 +2,7 @@
# ltcf-cxx.sh - Create a C++ compiler specific configuration
#
-# Copyright (C) 1996-1999,2000 Free Software Foundation, Inc.
+# Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# Original C++ support by:Gary V. Vaughan <gvv@techie.com>
@@ -133,6 +133,12 @@ case "$host_os" in
aix3*)
# FIXME: insert proper C++ library support
ld_shlibs=no
+
+ # We don't want to build shared libraries on unknown CPU types.
+ case $host_cpu in
+ powerpc | rs6000) ;;
+ *) ld_shlibs=no ;;
+ esac
;;
aix4*)
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -570,9 +576,8 @@ ac_cv_prog_cc_static=
ac_cv_prog_cc_no_builtin=
ac_cv_prog_cc_can_build_shared=$can_build_shared
-# It is not enough to reset these cached values, they must be unset.
-unset ac_cv_prog_cc_pic_works
-unset ac_cv_prog_cc_static_works
+ac_cv_prog_cc_pic_works=
+ac_cv_prog_cc_static_works=
if test "$with_gcc" = yes; then
ac_cv_prog_cc_wl='-Wl,'
@@ -798,7 +803,7 @@ private:
EOF
-if eval $ac_compile 2>&5; then
+if (eval $ac_compile) 2>&5; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
diff --git a/ltcf-gcj.sh b/ltcf-gcj.sh
index f82163dc1..2448bd8d8 100644
--- a/ltcf-gcj.sh
+++ b/ltcf-gcj.sh
@@ -286,6 +286,12 @@ else
# According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
always_export_symbols=yes ;;
esac
+
+ # We don't want to build shared libraries on unknown CPU types.
+ case $host_cpu in
+ powerpc | rs6000) ;;
+ *) ld_shlibs=no ;;
+ esac
;;
amigaos*)
diff --git a/ltconfig b/ltconfig
index fb0bf8b8b..7130a6f57 100755
--- a/ltconfig
+++ b/ltconfig
@@ -422,8 +422,10 @@ fi
if test -n "$tagname"; then
# Check whether tagname contains only valid characters
- case "$tagname" in
- *[!-_A-Za-z0-9,/]*)
+ case `$echo "X$tagname" |
+ $Xsed -e 's/[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]//g'` in
+ "") ;;
+ *)
echo "$progname: invalid tag name: $tagname" 1>&2
exit 1
;;