summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/binutils/config.guess36
-rw-r--r--gnu/usr.bin/binutils/configure.in16
-rw-r--r--gnu/usr.bin/binutils/gas/Makefile.in74
-rw-r--r--gnu/usr.bin/binutils/gas/config/tc-i386.h17
-rw-r--r--gnu/usr.bin/binutils/gas/config/tc-m68k.h44
-rw-r--r--gnu/usr.bin/binutils/gas/config/tc-sparc.h19
-rw-r--r--gnu/usr.bin/binutils/gas/configure624
-rw-r--r--gnu/usr.bin/binutils/gas/configure.in212
-rw-r--r--gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp6
-rw-r--r--gnu/usr.bin/binutils/ld/configure.host90
-rw-r--r--gnu/usr.bin/binutils/ld/configure.tgt46
11 files changed, 913 insertions, 271 deletions
diff --git a/gnu/usr.bin/binutils/config.guess b/gnu/usr.bin/binutils/config.guess
index 6a1d0ab61ab..d9a7dfa5eaa 100644
--- a/gnu/usr.bin/binutils/config.guess
+++ b/gnu/usr.bin/binutils/config.guess
@@ -128,11 +128,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
- mips:*:4*:UMIPS)
- echo mips-mips-riscos4sysv
- exit 0 ;;
- mips:*:5*:RISCos)
- echo mips-mips-riscos${UNAME_RELEASE}
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ sed 's/^ //' << EOF >dummy.c
+ int main (argc, argv) int argc; char **argv; {
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ ${CC-cc} dummy.c -o dummy && ./dummy "${UNAME_RELEASE}" \
+ && rm dummy.c dummy && exit 0
+ rm -f dummy.c dummy
+ echo mips-mips-riscos{UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
@@ -437,9 +453,15 @@ EOF
exit 0 ;;
M680[234]0:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
+ 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+ UNAME_REL=4.3
+ if test -f /etc/.relid; then
+ UNAME_REL=4.3.`awk '{ print $3 }' /etc/.relid`
+ fi
uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3 && exit 0 ;;
+ && echo i486-ncr-sysv$UNAME_REL && exit 0
+ uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && echo i586-ncr-sysv$UNAME_REL && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
diff --git a/gnu/usr.bin/binutils/configure.in b/gnu/usr.bin/binutils/configure.in
index 8021cc5403e..e0e04f86663 100644
--- a/gnu/usr.bin/binutils/configure.in
+++ b/gnu/usr.bin/binutils/configure.in
@@ -14,6 +14,22 @@
## For more information on these two systems, check out the documentation
## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
+# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
+#
+# 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.
+#
+# 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.
+
##############################################################################
### To add a new directory to the tree, first choose whether it is a target
diff --git a/gnu/usr.bin/binutils/gas/Makefile.in b/gnu/usr.bin/binutils/gas/Makefile.in
index c5bf38c6a26..43303897dae 100644
--- a/gnu/usr.bin/binutils/gas/Makefile.in
+++ b/gnu/usr.bin/binutils/gas/Makefile.in
@@ -1,5 +1,6 @@
# Makefile for GNU Assembler
-# Copyright (C) 1987-1992, 1993 Free Software Foundation, Inc.
+# Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 1996
+# Free Software Foundation, Inc.
# This file is part of GNU GAS.
@@ -52,27 +53,30 @@ infodir = $(prefix)/info
includedir = $(prefix)/include
docdir = $(datadir)/doc
-VERSION=2.6
+VERSION=cygnus-2.6
SHELL = /bin/sh
INSTALL = $${srcroot}/install.sh -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)
-INSTALL_XFORM = $(INSTALL) -t='-e $(program_transform_name)'
+INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
INSTALL_XFORM1= $(INSTALL_XFORM) -b=.1
DISTSTUFF= make-gas.com m68k-parse.c
AR = ar
AR_FLAGS = qv
-BISON = bison -y
+BISON = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo bison -y ; fi`
BISONFLAGS =
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
RANLIB = ranlib
CC = @CC@
CFLAGS = -g
+LDFLAGS =
+HLDFLAGS = @HLDFLAGS@
+RPATH_ENVVAR = @RPATH_ENVVAR@
MAKEOVERRIDES=
@@ -98,8 +102,8 @@ FLAGS_TO_PASS = \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
-RUNTEST = `if [ -f ${srcdir}/../dejagnu/runtest ] ; then \
- echo ${srcdir}/../dejagnu/runtest ; else echo runtest; \
+RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
+ echo $${srcdir}/../dejagnu/runtest ; else echo runtest; \
fi`
RUNTESTFLAGS=
@@ -232,6 +236,7 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(CROSS) $(CFLAGS) $(HDEFINES) $(TDEFINES)
# How to link with both our special library facilities
# and the system's installed libraries.
+LIBDEPS = @OPCODES_DEP@ @BFDDEP@ $(LOCAL_LOADLIBES) ../libiberty/libiberty.a
LIBS = @OPCODES_LIB@ @BFDLIB@ $(LOCAL_LOADLIBES) ../libiberty/libiberty.a
# Specify the directories to be searched for header files.
@@ -253,8 +258,8 @@ STAGESTUFF = *.o as.new gasp.new
$(OBJS): @ALL_OBJ_DEPS@
-as.new: $(OBJS) $(LIBS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS) $(LOADLIBES)
+as.new: $(OBJS) $(LIBDEPS)
+ $(CC) $(HLDFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS) $(LOADLIBES)
$(OBJS): config.h as.h targ-env.h obj-format.h targ-cpu.h flonum.h expr.h \
struc-symbol.h write.h frags.h hash.h read.h symbols.h tc.h obj.h \
@@ -302,6 +307,8 @@ check: site.exp
cp site.exp testsuite/site.exp
rootme=`pwd`; export rootme; \
srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \
+ $(RPATH_ENVVAR)=$$rootme/../bfd:$$rootme/../opcodes:$$$(RPATH_ENVVAR); \
+ export $(RPATH_ENVVAR); \
cd testsuite; \
EXPECT=${EXPECT} ; export EXPECT ; \
if [ -f $${rootme}/../expect/expect ] ; then \
@@ -332,26 +339,26 @@ config-stamp: Makefile conf
# Compiling object files from source files.
TARG_CPU_DEP_a29k =
-TARG_CPU_DEP_alpha =
-TARG_CPU_DEP_arm =
+TARG_CPU_DEP_alpha = $(srcdir)/config/alpha-opcode.h subsegs.h
+TARG_CPU_DEP_arm = subsegs.h
TARG_CPU_DEP_generic =
TARG_CPU_DEP_h8300 = $(srcdir)/../include/opcode/h8300.h
-TARG_CPU_DEP_h8500 = $(srcdir)/../opcodes/h8500-opc.h
-TARG_CPU_DEP_hppa =
-TARG_CPU_DEP_i386 = $(srcdir)/../include/opcode/i386.h
+TARG_CPU_DEP_h8500 = $(srcdir)/../opcodes/h8500-opc.h subsegs.h
+TARG_CPU_DEP_hppa = subsegs.h
+TARG_CPU_DEP_i386 = $(srcdir)/../include/opcode/i386.h subsegs.h
TARG_CPU_DEP_i860 =
TARG_CPU_DEP_i960 =
TARG_CPU_DEP_m68k = $(srcdir)/../include/opcode/m68k.h \
$(srcdir)/config/m68k-parse.h subsegs.h
-TARG_CPU_DEP_m88k = $(srcdir)/config/m88k-opcode.h
-TARG_CPU_DEP_mips = $(srcdir)/../include/opcode/mips.h
+TARG_CPU_DEP_m88k = $(srcdir)/config/m88k-opcode.h subsegs.h
+TARG_CPU_DEP_mips = $(srcdir)/../include/opcode/mips.h subsegs.h
TARG_CPU_DEP_ns32k =
-TARG_CPU_DEP_ppc =
-TARG_CPU_DEP_sh = $(srcdir)/../opcodes/sh-opc.h
-TARG_CPU_DEP_sparc =
+TARG_CPU_DEP_ppc = subsegs.h
+TARG_CPU_DEP_sh = $(srcdir)/../opcodes/sh-opc.h subsegs.h
+TARG_CPU_DEP_sparc = subsegs.h
TARG_CPU_DEP_tahoe =
TARG_CPU_DEP_vax =
-TARG_CPU_DEP_w65 = $(srcdir)/../opcodes/w65-opc.h
+TARG_CPU_DEP_w65 = $(srcdir)/../opcodes/w65-opc.h subsegs.h
TARG_CPU_DEP_z8k = $(srcdir)/../opcodes/z8k-opc.h
gasp.o : gasp.c sb.h macro.h config.h
@@ -424,16 +431,21 @@ clean mostlyclean: clean-here
@cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@
# Like clean but also delete the links made to configure gas.
+
+DISTCLEAN_HERE = config.status Makefile targ-env.h targ-cpu.h \
+ targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \
+ config-stamp config.h conf config.log config.cache .gdbinit \
+ testsuite/Makefile testsuite/config.status
+
distclean: clean-here
@cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@
- -rm -f config.status Makefile targ-env.h targ-cpu.h \
- targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \
- config-stamp config.h conf config.log config.cache .gdbinit \
- testsuite/Makefile testsuite/config.status
-maintainer-clean realclean: clean clean-info distclean
+ -rm -f $(DISTCLEAN_HERE)
+
+maintainer-clean realclean: clean-here
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
- -rm -rf $(DISTSTUFF)
+ @cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@
+ -rm -rf $(DISTCLEAN_HERE) $(DISTSTUFF)
# Entry points `install', `includes' and `uninstall'.
@@ -441,13 +453,13 @@ maintainer-clean realclean: clean clean-info distclean
install: $(INSTALL_MAN)
srcroot=`cd $(srcroot); pwd`; export srcroot; \
$(INSTALL_XFORM) as.new $(bindir)/as; \
+ $(INSTALL_XFORM1) $(srcdir)/doc/as.1 $(man1dir)/as.1; \
+ test -d $(tooldir) || mkdir $(tooldir); \
+ test -d $(tooldir)/bin || mkdir $(tooldir)/bin; \
n=`echo as | sed '$(program_transform_name)'`; \
- if [ -d $(tooldir) ]; then \
- if [ -d $(tooldir)/bin ] ; then true ; else mkdir $(tooldir)/bin ; fi; \
- rm -f $(tooldir)/bin/as; \
- ln $(bindir)/$$n $(tooldir)/bin/as >/dev/null 2>/dev/null \
- || $(INSTALL_PROGRAM) as.new $(tooldir)/bin/as; \
- else true; fi
+ rm -f $(tooldir)/bin/as; \
+ ln $(bindir)/$$n $(tooldir)/bin/as >/dev/null 2>/dev/null \
+ || $(INSTALL_PROGRAM) as.new $(tooldir)/bin/as
srcroot=`cd $(srcroot); pwd`; export srcroot; \
$(INSTALL_XFORM) gasp.new $(bindir)/gasp
diff --git a/gnu/usr.bin/binutils/gas/config/tc-i386.h b/gnu/usr.bin/binutils/gas/config/tc-i386.h
index fa529176b71..1546973210c 100644
--- a/gnu/usr.bin/binutils/gas/config/tc-i386.h
+++ b/gnu/usr.bin/binutils/gas/config/tc-i386.h
@@ -1,5 +1,5 @@
/* tc-i386.h -- Header file for tc-i386.c
- Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation.
+ Copyright (C) 1989, 92, 93, 94, 95, 1996 Free Software Foundation.
This file is part of GAS, the GNU Assembler.
@@ -367,9 +367,10 @@ extern const struct relax_type md_relax_table[];
extern int flag_16bit_code;
-#define md_do_align(n, fill, around) \
-if ((n) && !need_pass_2 && (!(fill) || (char)*(fill) == (char)0x90) && \
- now_seg != data_section && now_seg != bss_section) \
+#define md_do_align(n, fill, len, around) \
+if ((n) && !need_pass_2 \
+ && (!(fill) || ((char)*(fill) == (char)0x90 && (len) == 1)) \
+ && now_seg != data_section && now_seg != bss_section) \
{ \
char *p; \
p = frag_var(rs_align_code, 15, 1, (relax_substateT) 0, \
@@ -389,4 +390,12 @@ if (fragP->fr_type == rs_align_code) \
/* call md_apply_fix3 with segment instead of md_apply_fix */
#define MD_APPLY_FIX3
+void i386_print_statistics PARAMS ((FILE *));
+#define tc_print_statistics i386_print_statistics
+
+#ifdef SCO_ELF
+#define tc_init_after_args() sco_id ()
+extern void sco_id PARAMS ((void));
+#endif
+
/* end of tc-i386.h */
diff --git a/gnu/usr.bin/binutils/gas/config/tc-m68k.h b/gnu/usr.bin/binutils/gas/config/tc-m68k.h
index 482f0c67bd6..5ae82056137 100644
--- a/gnu/usr.bin/binutils/gas/config/tc-m68k.h
+++ b/gnu/usr.bin/binutils/gas/config/tc-m68k.h
@@ -1,6 +1,7 @@
/* This file is tc-m68k.h
- Copyright (C) 1987-1992, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1987, 89, 90, 91, 92, 93, 94, 95, 1996
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -25,12 +26,15 @@
#ifdef OBJ_AOUT
#ifdef TE_SUN3
#define TARGET_FORMAT "a.out-sunos-big"
-#else
+#endif
#ifdef TE_NetBSD
#define TARGET_FORMAT "a.out-m68k-netbsd"
-#else
-#define TARGET_FORMAT "a.out-zero-big"
#endif
+#ifdef TE_LINUX
+#define TARGET_FORMAT "a.out-m68k-linux"
+#endif
+#ifndef TARGET_FORMAT
+#define TARGET_FORMAT "a.out-zero-big"
#endif
#endif
@@ -47,6 +51,9 @@
#ifdef TE_LYNX
#define TARGET_FORMAT "coff-m68k-lynx"
#endif
+#ifdef TE_AUX
+#define TARGET_FORMAT "coff-m68k-aux"
+#endif
#ifndef COFF_MAGIC
#define COFF_MAGIC MC68MAGIC
@@ -72,6 +79,9 @@ extern int tc_coff_sizemachdep PARAMS ((struct frag *));
extern int m68k_aout_machtype;
#endif
+#define tc_comment_chars m68k_comment_chars
+extern const char *m68k_comment_chars;
+
#define tc_crawl_symbol_chain(a) {;} /* not used */
#define tc_headers_hook(a) {;} /* not used */
#define tc_aout_pre_write_hook(x) {;} /* not used */
@@ -112,9 +122,35 @@ extern int m68k_aout_machtype;
#define NO_PSEUDO_DOT
#endif
+extern void m68k_mri_mode_change PARAMS ((int));
+#define MRI_MODE_CHANGE(i) m68k_mri_mode_change (i)
+
#ifdef BFD_ASSEMBLER
+
#define tc_frob_symbol(sym,punt) \
if (S_GET_SEGMENT (sym) == reg_section) punt = 1
+
+#define NO_RELOC BFD_RELOC_NONE
+
+#ifdef OBJ_ELF
+
+/* This expression evaluates to false if the relocation is for a local object
+ for which we still want to do the relocation at runtime. True if we
+ are willing to perform this relocation while building the .o file. */
+
+#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \
+ ((FIX)->fx_r_type != BFD_RELOC_8_PLT_PCREL \
+ && (FIX)->fx_r_type != BFD_RELOC_16_PLT_PCREL \
+ && (FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL \
+ && (FIX)->fx_r_type != BFD_RELOC_8_GOT_PCREL \
+ && (FIX)->fx_r_type != BFD_RELOC_16_GOT_PCREL \
+ && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL)
+
+#define tc_fix_adjustable(X) tc_m68k_fix_adjustable(X)
+#endif
+
+#else
+#define NO_RELOC 0
#endif
#define DIFF_EXPR_OK
diff --git a/gnu/usr.bin/binutils/gas/config/tc-sparc.h b/gnu/usr.bin/binutils/gas/config/tc-sparc.h
index cef3b74658e..03eee61702c 100644
--- a/gnu/usr.bin/binutils/gas/config/tc-sparc.h
+++ b/gnu/usr.bin/binutils/gas/config/tc-sparc.h
@@ -1,5 +1,5 @@
/* tc-sparc.h - Macros and type defines for the sparc.
- Copyright (C) 1989, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1989, 90-95, 1996 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -15,7 +15,8 @@
You should have received a copy of the GNU General Public
License along with GAS; see the file COPYING. If not, write
- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ to the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#define TC_SPARC 1
@@ -33,12 +34,11 @@
#define TARGET_FORMAT "b.out.big"
#endif
#ifdef OBJ_ELF
-#ifndef sparcv9
+#ifdef SPARC_ARCH64
+#define TARGET_FORMAT "elf64-sparc"
+#else
#define TARGET_FORMAT "elf32-sparc"
-#else /* sparcv9 */
-#define TARGET_FORMAT "elf64-sparc" /* v9 */
-#define ENV64 /* v9 */
-#endif /* sparcv9 */
+#endif
#define LOCAL_LABEL(name) (((name)[0] == '.' && (name)[1] == 'L') || !strncmp ((name), "_.L_", 4))
#endif
#define WORKING_DOT_WORD
@@ -68,6 +68,7 @@ extern int sparc_pic_code;
(! sparc_pic_code \
|| (FIX)->fx_addsy == NULL \
|| (! S_IS_EXTERNAL ((FIX)->fx_addsy) \
+ && ! S_IS_WEAK ((FIX)->fx_addsy) \
&& S_IS_DEFINED ((FIX)->fx_addsy) \
&& ! S_IS_COMMON ((FIX)->fx_addsy)))
#endif
@@ -91,6 +92,7 @@ extern int sparc_pic_code;
any non PC relative reloc. */
#define tc_fix_adjustable(FIX) \
(! S_IS_EXTERNAL ((FIX)->fx_addsy) \
+ && ! S_IS_WEAK ((FIX)->fx_addsy) \
&& (! sparc_pic_code || (FIX)->fx_pcrel))
#endif
@@ -106,4 +108,7 @@ extern int sparc_pic_code;
#define md_operand(x)
+extern void sparc_md_end PARAMS ((void));
+#define md_end() sparc_md_end ()
+
/* end of tc-sparc.h */
diff --git a/gnu/usr.bin/binutils/gas/configure b/gnu/usr.bin/binutils/gas/configure
index 304248a239f..526e45887da 100644
--- a/gnu/usr.bin/binutils/gas/configure
+++ b/gnu/usr.bin/binutils/gas/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.4
+# Generated automatically using autoconf version 2.8
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -15,6 +15,8 @@ ac_help="$ac_help
--enable-bfd-assembler use BFD back end for writing object files"
ac_help="$ac_help
targets alternative target configurations besides the primary"
+ac_help="$ac_help
+ --enable-shared build shared BFD library"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -37,9 +39,22 @@ target=NONE
verbose=
x_includes=NONE
x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
# Initialize some other variables.
subdirs=
+MFLAGS= MAKEFLAGS=
ac_prev=
for ac_option
@@ -61,9 +76,14 @@ do
case "$ac_option" in
- -build | --build | --buil | --bui | --bu | --b)
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
build="$ac_optarg" ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
@@ -73,6 +93,12 @@ do
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file="$ac_optarg" ;;
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
-disable-* | --disable-*)
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
# Reject names that are not valid shell variable names.
@@ -123,12 +149,29 @@ Configuration:
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
@@ -140,8 +183,10 @@ Features and packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help
EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
exit 0 ;;
-host | --host | --hos | --ho)
@@ -149,6 +194,44 @@ EOF
-host=* | --host=* | --hos=* | --ho=*)
host="$ac_optarg" ;;
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
@@ -161,6 +244,15 @@ EOF
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
@@ -201,6 +293,23 @@ EOF
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
@@ -211,6 +320,13 @@ EOF
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir="$ac_optarg" ;;
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
@@ -220,7 +336,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.4"
+ echo "configure generated by autoconf version 2.8"
exit 0 ;;
-with-* | --with-*)
@@ -266,7 +382,7 @@ EOF
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
- *)
+ *)
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $ac_option: invalid host type" 1>&2
fi
@@ -386,8 +502,8 @@ fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@@ -403,8 +519,8 @@ fi
user_bfd_gas=
# Check whether --enable-bfd-assembler or --disable-bfd-assembler was given.
-enableval="$enable_bfd_assembler"
-if test -n "$enableval"; then
+if test "${enable_bfd_assembler+set}" = set; then
+ enableval="$enable_bfd_assembler"
case "${enableval}" in
yes) need_bfd=yes user_bfd_gas=yes ;;
no) user_bfd_gas=no ;;
@@ -412,8 +528,8 @@ if test -n "$enableval"; then
esac
fi
# Check whether --enable-targets or --disable-targets was given.
-enableval="$enable_targets"
-if test -n "$enableval"; then
+if test "${enable_targets+set}" = set; then
+ enableval="$enable_targets"
case "${enableval}" in
yes | "") { echo "configure: error: enable-targets option must specify target names or 'all'" 1>&2; exit 1; }
;;
@@ -421,6 +537,19 @@ if test -n "$enableval"; then
*) enable_targets=$enableval ;;
esac
fi
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval="$enable_shared"
+ case "${enableval}" in
+ yes) shared=true shared_bfd=true shared_opcodes=true ;;
+ no) shared=false ;;
+ *bfd*opcodes*) shared=true shared_bfd=true shared_opcodes=true ;;
+ *opcodes*bfd*) shared=true shared_bfd=true shared_opcodes=true ;;
+ *bfd*) shared=true shared_bfd=true ;;
+ *opcodes*) shared=true shared_opcodes=true ;;
+ *) shared=false ;;
+esac
+fi
# Generate a header file -- gets more post-processing by Makefile later.
@@ -451,7 +580,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
#
# The rules are:
# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
+# same time.
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then host defaults to the current host,
# as determined by config.guess.
@@ -533,8 +662,10 @@ test "$host_alias" != "$target_alias" &&
if test "$program_transform_name" = s,x,x,; then
program_transform_name=
else
- # Double any \ or $.
- echo 's,\\,\\\\,g; s,\$,$$,g' > conftestsed
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
rm -f conftestsed
fi
@@ -550,45 +681,6 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
te_file=generic
-# assign cpu type
-
-# check for architecture variants
-case ${target_cpu} in
- armeb) cpu_type=arm endian=big ;;
- arm*) cpu_type=arm endian=little ;;
- hppa*) cpu_type=hppa ;;
- i[45]86) cpu_type=i386 ;;
- m680[012346]0) cpu_type=m68k ;;
- m68008) cpu_type=m68k ;;
- m683??) cpu_type=m68k ;;
- m8*) cpu_type=m88k ;;
- mips*el) cpu_type=mips endian=little;;
- mips*) cpu_type=mips endian=big ;;
- powerpcle*) cpu_type=ppc endian=little ;;
- powerpc*) cpu_type=ppc endian=big ;;
- rs6000*) cpu_type=ppc ;;
- sparc64) cpu_type=sparc obj_format=elf
- cat >> confdefs.h <<\EOF
-#define sparcv9 1
-EOF
- ;;
- sparclite*) cpu_type=sparc ;;
- *) cpu_type=${target_cpu} ;;
-esac
-
-# do we need the opcodes library?
-case ${cpu_type} in
- alpha | vax)
- ;;
- *)
- OPCODES_LIB="../opcodes/libopcodes.a"
- ;;
-esac
-
-
-gas_target=${cpu_type}
-this_target=${generic_target}
-
canon_targets=""
if test -n "$enable_targets" ; then
for t in `echo $enable_targets | sed 's/,/ /g'`; do
@@ -623,8 +715,10 @@ for this_target in $target $canon_targets ; do
# check for architecture variants
case ${cpu} in
+ armeb) cpu_type=arm endian=big ;;
+ arm*) cpu_type=arm endian=little ;;
hppa*) cpu_type=hppa ;;
- i[45]86) cpu_type=i386 ;;
+ i[456]86) cpu_type=i386 ;;
m680[012346]0) cpu_type=m68k ;;
m68008) cpu_type=m68k ;;
m683??) cpu_type=m68k ;;
@@ -634,8 +728,8 @@ for this_target in $target $canon_targets ; do
powerpcle*) cpu_type=ppc endian=little ;;
powerpc*) cpu_type=ppc endian=big ;;
rs6000*) cpu_type=ppc ;;
- sparc64) cpu_type=sparc obj_format=elf want_sparcv9=true ;;
- sparclite*) cpu_type=sparc ;;
+ sparc64) cpu_type=sparc want_sparc_v9=true ;;
+ sparc*) cpu_type=sparc ;;
*) cpu_type=${cpu} ;;
esac
@@ -653,6 +747,7 @@ for this_target in $target $canon_targets ; do
# assign object format
case ${generic_target} in
+ a29k-*-coff) fmt=coff targ=ebmon29k ;;
a29k-amd-udi) fmt=coff targ=ebmon29k ;;
a29k-amd-ebmon) fmt=coff targ=ebmon29k ;;
a29k-nyu-sym1) fmt=coff targ=ebmon29k ;;
@@ -695,8 +790,9 @@ for this_target in $target $canon_targets ; do
i386-*-linux*) fmt=elf em=linux ;;
i386-*-lynxos*) fmt=coff targ=i386coff
em=lynx ;;
- i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
+ i386-*-sysv4* | i386-*-solaris* | i386-*-elf | i386-*-freebsdelf*)
fmt=elf ;;
+ i386-*-sco*elf*) fmt=elf targ=sco5 ;;
i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
fmt=coff targ=i386coff ;;
i386-*-vsta) fmt=aout ;;
@@ -707,7 +803,7 @@ for this_target in $target $canon_targets ; do
i386-*-msdos*) fmt=aout ;;
i386-*-moss*) fmt=elf ;;
i386-*-pe) fmt=coff targ=i386coff em=pe ;;
- i386-*-win32) fmt=coff targ=i386coff em=pe ;;
+ i386-*-cygwin32) fmt=coff targ=i386coff em=pe ;;
i386-*-*nt) fmt=coff targ=i386coff em=pe ;;
i960-*-bout) fmt=bout ;;
i960-*-coff) fmt=coff em=ic960 targ=ic960coff ;;
@@ -722,16 +818,21 @@ for this_target in $target $canon_targets ; do
m68k-motorola-sysv*) fmt=coff targ=m68kcoff em=delta ;;
m68k-bull-sysv3*) fmt=coff targ=m68kcoff em=dpx2 ;;
m68k-apollo-*) fmt=coff targ=apollo em=apollo ;;
+ m68k-*-sysv4 | m68k-*-elf) # must be before -sysv*
+ fmt=elf ;;
m68k-*-coff | m68k-*-sysv*)
fmt=coff targ=m68kcoff ;;
- m68k-*-elf) fmt=elf ;;
m68k-*-hpux*) fmt=hp300 em=hp300 ;;
+ m68k-*-linux*aout*) fmt=aout em=linux ;;
+ m68k-*-linux*) fmt=elf em=linux ;;
m68k-*-lynxos*) fmt=coff targ=m68kcoff
em=lynx ;;
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
+ m68k-apple-aux*) fmt=coff targ=m68kcoff em=aux ;;
+ m68k-*-psos*) fmt=elf em=psos;;
- m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delta88 ;;
+ m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delt88 ;;
m88k-*-coff*) fmt=coff targ=m88kcoff ;;
# don't change em like *-*-bsd does
@@ -764,13 +865,8 @@ for this_target in $target $canon_targets ; do
*) targ=mips-lit ;;
esac
;;
- ppc-*-pe) fmt=coff em=pe
- case "$endian" in
- big) targ=ppc-big ;;
- *) targ=ppc-lit ;;
- esac
- ;;
- ppc-*-winnt*) fmt=coff em=pe
+ ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
+ fmt=coff em=pe
case "$endian" in
big) targ=ppc-big ;;
*) targ=ppc-lit ;;
@@ -784,24 +880,35 @@ for this_target in $target $canon_targets ; do
*) targ=ppc-lit ;;
esac
;;
+ ppc-*-linux*) fmt=elf
+ case "$endian" in
+ big) targ=ppc-big ;;
+ *) { echo "configure: error: Linux must be configured big endian" 1>&2; exit 1; } ;;
+ esac
+ ;;
+ ppc-*-solaris*) fmt=elf
+ case "$endian" in
+ big) { echo "configure: error: Solaris must be configured little endian" 1>&2; exit 1; } ;;
+ *) targ=ppc-sol ;;
+ esac
+ ;;
ppc-*-macos* | ppc-*-mpw*)
fmt=coff em=macos ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
sh-*-coff) fmt=coff ;;
-
ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
- sparc-*-aout | sparc*-*-vxworks)
+ sparc-*-aout | sparc*-*-vxworks*)
fmt=aout ;;
sparc-*-coff) fmt=coff ;;
sparc-*-lynxos*) fmt=coff em=lynx ;;
sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf | sparc*-*-solaris*)
+ sparc-*-elf | sparc-*-solaris*)
fmt=elf ;;
sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
sparc-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
@@ -825,7 +932,7 @@ for this_target in $target $canon_targets ; do
*-*-xray | *-*-hms) fmt=coff ;;
*-*-sim) fmt=coff ;;
*-*-elf | *-*-sysv4* | *-*-solaris*)
- echo "configure: warning: GAS support for ELF format is incomplete." 1>&2
+ echo "configure: warning: GAS support for ${generic_target} is incomplete." 1>&2
fmt=elf dev=yes ;;
*-*-vxworks) fmt=aout ;;
*-*-netware) fmt=elf ;;
@@ -847,13 +954,38 @@ for this_target in $target $canon_targets ; do
# Other random stuff.
- test -n "$want_sparcv9" && cat >> confdefs.h <<\EOF
-#define sparcv9 1
+ # do we need the opcodes library?
+ case ${cpu_type} in
+ alpha | vax | i386)
+ ;;
+ *)
+ need_opcodes=yes
+ if test "${shared_opcodes}" = "true"; then
+ # A shared libopcodes must be linked against libbfd.
+ need_bfd=yes
+ fi
+ ;;
+ esac
+
+ test -n "$want_sparc_v9" && cat >> confdefs.h <<\EOF
+#define SPARC_V9 1
EOF
+ case ${cpu}-${vendor}-${os} in
+ sparc64-*-elf*) cat >> confdefs.h <<\EOF
+#define SPARC_ARCH64 1
+EOF
+ ;;
+ esac
+
case ${cpu_type} in
- m68k) extra_objects="$extra_objects m68k-parse.o" ;;
+ m68k)
+ case ${extra_objects} in
+ *m68k-parse.o*) ;;
+ *) extra_objects="$extra_objects m68k-parse.o" ;;
+ esac
+ ;;
esac
# See if we really can support this configuration with the emulation code.
@@ -1132,14 +1264,49 @@ EOF
need_bfd=yes ;;
esac
+# do we need the opcodes library?
+case "${need_opcodes}" in
+ yes)
+ OPCODES_DEP=../opcodes/libopcodes.a
+ OPCODES_LIB='-L../opcodes -lopcodes'
+
+ # We need to handle some special cases if opcodes was built shared.
+ if test "${shared_opcodes}" = "true"; then
+ case "${host}" in
+ *-*-sunos*)
+ # On SunOS, we must link against the name we are going to install,
+ # not -lbfd, since SunOS does not support SONAME.
+ OPCODES_LIB='-L../opcodes -l`echo opcodes | sed '"'"'$(program_transform_name)'"'"'`'
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
case "${need_bfd}" in
- yes) BFDLIB=../bfd/libbfd.a
- ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
+ yes)
+ BFDDEP=../bfd/libbfd.a
+ BFDLIB='-L../bfd -lbfd'
+ ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
+
+ # We need to handle some special cases if BFD was built shared.
+ if test "${shared_bfd}" = "true"; then
+ case "${host}" in
+ *-*-sunos*)
+ # On SunOS, we must link against the name we are going to install,
+ # not -lbfd, since SunOS does not support SONAME.
+ BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
;;
+ esac
+ fi
+ ;;
esac
+
cat >> confdefs.h <<EOF
#define TARGET_ALIAS "${target_alias}"
EOF
@@ -1161,25 +1328,129 @@ cat >> confdefs.h <<EOF
EOF
-echo $ac_n "checking for CC""... $ac_c" 1>&6
-test -z "$CC" && CC=`egrep '^CC *=' ../Makefile | tail -1 | sed 's/^CC *= *//'`
-test -z "$CC" && CC=cc
-echo "$ac_t""setting CC to $CC" 1>&6
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ ac_prog_rejected=no
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
-# Find out if we are using GNU C, under whatever name.
-cat > conftest.c <<EOF
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
#ifdef __GNUC__
- yes
+ yes;
#endif
EOF
-${CC-cc} -E conftest.c > conftest.out 2>&1
-if egrep yes conftest.out >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+if test $ac_cv_prog_gcc = yes; then
GCC=yes
+ if test "${CFLAGS+set}" != set; then
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
else
- GCC=
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_gcc_g=yes
+else
+ ac_cv_prog_gcc_g=no
fi
rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
+ if test $ac_cv_prog_gcc_g = yes; then
+ CFLAGS="-g -O"
+ else
+ CFLAGS="-O"
+ fi
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -1219,10 +1490,17 @@ else
esac
done
IFS="$ac_save_ifs"
- # As a last resort, use the slow shell script.
- test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
+
fi
- INSTALL="$ac_cv_path_install"
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
fi
echo "$ac_t""$INSTALL" 1>&6
@@ -1248,12 +1526,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1251 "configure"
+#line 1532 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1538: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1262,12 +1541,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1265 "configure"
+#line 1547 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1295,11 +1575,12 @@ 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 1298 "configure"
+#line 1581 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1313,7 +1594,7 @@ rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
@@ -1347,11 +1628,11 @@ else
ac_cv_c_cross=yes
else
cat > conftest.$ac_ext <<EOF
-#line 1350 "configure"
+#line 1634 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-eval $ac_link
+{ (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
if test -s conftest && (./conftest; exit) 2>/dev/null; then
ac_cv_c_cross=no
else
@@ -1360,8 +1641,9 @@ fi
fi
rm -fr conftest*
fi
-cross_compiling=$ac_cv_c_cross
+
echo "$ac_t""$ac_cv_c_cross" 1>&6
+cross_compiling=$ac_cv_c_cross
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
@@ -1370,7 +1652,7 @@ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1373 "configure"
+#line 1658 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() { return 0; }
@@ -1378,7 +1660,7 @@ int t() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:1666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -1388,6 +1670,7 @@ fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
if test $ac_cv_header_alloca_h = yes; then
cat >> confdefs.h <<\EOF
@@ -1401,7 +1684,7 @@ if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1404 "configure"
+#line 1690 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1425,7 +1708,7 @@ int t() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:1714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
ac_cv_func_alloca=yes
else
@@ -1435,6 +1718,7 @@ fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_func_alloca" 1>&6
if test $ac_cv_func_alloca = yes; then
cat >> confdefs.h <<\EOF
@@ -1459,7 +1743,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1462 "configure"
+#line 1749 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -1479,6 +1763,7 @@ fi
rm -f conftest*
fi
+
echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
@@ -1487,13 +1772,13 @@ 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 1490 "configure"
+#line 1778 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
-char $ac_func();
+char $ac_func();
int main() { return 0; }
int t() {
@@ -1509,7 +1794,7 @@ $ac_func();
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:1800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1541,7 +1826,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 1544 "configure"
+#line 1832 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -1560,7 +1845,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-eval $ac_link
+{ (eval echo configure:1851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
if test -s conftest && (./conftest; exit) 2>/dev/null; then
ac_cv_c_stack_direction=1
else
@@ -1569,6 +1854,7 @@ fi
fi
rm -fr conftest*
fi
+
echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
cat >> confdefs.h <<EOF
#define STACK_DIRECTION $ac_cv_c_stack_direction
@@ -1583,7 +1869,7 @@ else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 1586 "configure"
+#line 1875 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1591,7 +1877,7 @@ int t() {
} $ac_kw foo() {
; return 0; }
EOF
-if eval $ac_compile; then
+if { (eval echo configure:1883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
fi
@@ -1600,6 +1886,7 @@ rm -f conftest*
done
fi
+
echo "$ac_t""$ac_cv_c_inline" 1>&6
case "$ac_cv_c_inline" in
inline | yes) ;;
@@ -1622,13 +1909,13 @@ 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 1625 "configure"
+#line 1915 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
-char $ac_func();
+char $ac_func();
int main() { return 0; }
int t() {
@@ -1644,7 +1931,7 @@ $ac_func();
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:1937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1656,7 +1943,7 @@ rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
@@ -1675,13 +1962,13 @@ 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 1678 "configure"
+#line 1968 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
-char $ac_func();
+char $ac_func();
int main() { return 0; }
int t() {
@@ -1697,7 +1984,7 @@ $ac_func();
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1709,7 +1996,7 @@ rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
@@ -1728,7 +2015,7 @@ if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1731 "configure"
+#line 2021 "configure"
#include "confdefs.h"
#include <assert.h>
#include <stdio.h>
@@ -1745,7 +2032,7 @@ assert (a == b
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:2038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_assert_ok=yes
else
@@ -1785,7 +2072,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1788 "configure"
+#line 2078 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -1797,7 +2084,7 @@ x = (f) malloc;
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:2090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_malloc=no
else
@@ -1821,7 +2108,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1824 "configure"
+#line 2114 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -1833,7 +2120,7 @@ x = (f) free;
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_free=no
else
@@ -1860,7 +2147,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1863 "configure"
+#line 2153 "configure"
#include "confdefs.h"
#ifdef HAVE_ERRNO_H
@@ -1876,7 +2163,7 @@ x = (f) errno;
; return 0; }
EOF
-if eval $ac_link; then
+if { (eval echo configure:2169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_errno=no
else
@@ -1895,6 +2182,53 @@ EOF
}
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+# If we have shared libraries, try to set rpath reasonably.
+if test "${shared}" = "true"; then
+ case "${host}" in
+ *-*-hpux*)
+ HLDFLAGS='-Wl,+s,+b,$(libdir)'
+ RPATH_ENVVAR=SHLIB_PATH
+ ;;
+ *-*-irix5*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-linux*aout*)
+ ;;
+ *-*-linux*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-sysv4* | *-*-solaris*)
+ HLDFLAGS='-R $(libdir)'
+ ;;
+ esac
+fi
+
+# On SunOS, if the linker supports the -rpath option, use it to
+# prevent ../bfd and ../opcodes from being included in the run time
+# search path.
+case "${host}" in
+ *-*-sunos*)
+ echo 'main () { }' > conftest.c
+ ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
+ if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'No such file' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
+ :
+ elif test "${shared}" = "true"; then
+ HLDFLAGS='-Wl,-rpath=$(libdir)'
+ else
+ HLDFLAGS='-Wl,-rpath='
+ fi
+ rm -f conftest.t conftest.c conftest
+ ;;
+esac
+
+
+
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@@ -1971,7 +2305,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.4"
+ echo "$CONFIG_STATUS generated by autoconf version 2.8"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -1983,10 +2317,12 @@ ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
trap 'rm -fr `echo "Makefile doc/Makefile .gdbinit:gdbinit.in conf" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
$ac_vpsub
$extrasub
s%@CFLAGS@%$CFLAGS%g
@@ -1998,6 +2334,18 @@ s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
@@ -2013,13 +2361,15 @@ s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
-s%@OPCODES_LIB@%$OPCODES_LIB%g
/@target_frag@/r $target_frag
s%@target_frag@%%g
s%@extra_objects@%$extra_objects%g
s%@target_cpu_type@%$target_cpu_type%g
s%@obj_format@%$obj_format%g
s%@atof@%$atof%g
+s%@OPCODES_DEP@%$OPCODES_DEP%g
+s%@OPCODES_LIB@%$OPCODES_LIB%g
+s%@BFDDEP@%$BFDDEP%g
s%@BFDLIB@%$BFDLIB%g
s%@ALL_OBJ_DEPS@%$ALL_OBJ_DEPS%g
s%@CC@%$CC%g
@@ -2027,6 +2377,8 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@CPP@%$CPP%g
s%@ALLOCA@%$ALLOCA%g
+s%@HLDFLAGS@%$HLDFLAGS%g
+s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g
CEOF
EOF
@@ -2125,7 +2477,7 @@ EOF
# Transform confdefs.h into a sed script conftest.vals that substitutes
# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
+# Protect against being on the right side of a sed subst in config.status.
# Protect against being in an unquoted here document in config.status.
rm -f conftest.vals
cat > conftest.hdr <<\EOF
diff --git a/gnu/usr.bin/binutils/gas/configure.in b/gnu/usr.bin/binutils/gas/configure.in
index 0c06faf256a..bc406691478 100644
--- a/gnu/usr.bin/binutils/gas/configure.in
+++ b/gnu/usr.bin/binutils/gas/configure.in
@@ -23,6 +23,17 @@ AC_ARG_ENABLE(targets,
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])dnl
+AC_ARG_ENABLE(shared,
+[ --enable-shared build shared BFD library],
+[case "${enableval}" in
+ yes) shared=true shared_bfd=true shared_opcodes=true ;;
+ no) shared=false ;;
+ *bfd*opcodes*) shared=true shared_bfd=true shared_opcodes=true ;;
+ *opcodes*bfd*) shared=true shared_bfd=true shared_opcodes=true ;;
+ *bfd*) shared=true shared_bfd=true ;;
+ *opcodes*) shared=true shared_opcodes=true ;;
+ *) shared=false ;;
+esac])dnl
# Generate a header file -- gets more post-processing by Makefile later.
AC_CONFIG_HEADER(conf)
@@ -34,44 +45,6 @@ AC_ARG_PROGRAM
te_file=generic
-# assign cpu type
-
-# check for architecture variants
-case ${target_cpu} in
- armeb) cpu_type=arm endian=big ;;
- arm*) cpu_type=arm endian=little ;;
- hppa*) cpu_type=hppa ;;
-changequote(,)dnl
- i[45]86) cpu_type=i386 ;;
- m680[012346]0) cpu_type=m68k ;;
- m68008) cpu_type=m68k ;;
- m683??) cpu_type=m68k ;;
-changequote([,])dnl
- m8*) cpu_type=m88k ;;
- mips*el) cpu_type=mips endian=little;;
- mips*) cpu_type=mips endian=big ;;
- powerpcle*) cpu_type=ppc endian=little ;;
- powerpc*) cpu_type=ppc endian=big ;;
- rs6000*) cpu_type=ppc ;;
- sparc64) cpu_type=sparc obj_format=elf
- AC_DEFINE(sparcv9) ;;
- sparclite*) cpu_type=sparc ;;
- *) cpu_type=${target_cpu} ;;
-esac
-
-# do we need the opcodes library?
-case ${cpu_type} in
- alpha | vax)
- ;;
- *)
- OPCODES_LIB="../opcodes/libopcodes.a"
- ;;
-esac
-AC_SUBST(OPCODES_LIB)
-
-gas_target=${cpu_type}
-this_target=${generic_target}
-
canon_targets=""
if test -n "$enable_targets" ; then
for t in `echo $enable_targets | sed 's/,/ /g'`; do
@@ -94,9 +67,11 @@ for this_target in $target $canon_targets ; do
# check for architecture variants
case ${cpu} in
+ armeb) cpu_type=arm endian=big ;;
+ arm*) cpu_type=arm endian=little ;;
hppa*) cpu_type=hppa ;;
changequote(,)dnl
- i[45]86) cpu_type=i386 ;;
+ i[456]86) cpu_type=i386 ;;
m680[012346]0) cpu_type=m68k ;;
m68008) cpu_type=m68k ;;
m683??) cpu_type=m68k ;;
@@ -107,8 +82,8 @@ changequote([,])dnl
powerpcle*) cpu_type=ppc endian=little ;;
powerpc*) cpu_type=ppc endian=big ;;
rs6000*) cpu_type=ppc ;;
- sparc64) cpu_type=sparc obj_format=elf want_sparcv9=true ;;
- sparclite*) cpu_type=sparc ;;
+ sparc64) cpu_type=sparc want_sparc_v9=true ;;
+ sparc*) cpu_type=sparc ;;
*) cpu_type=${cpu} ;;
esac
@@ -126,6 +101,7 @@ changequote([,])dnl
# assign object format
case ${generic_target} in
+ a29k-*-coff) fmt=coff targ=ebmon29k ;;
a29k-amd-udi) fmt=coff targ=ebmon29k ;;
a29k-amd-ebmon) fmt=coff targ=ebmon29k ;;
a29k-nyu-sym1) fmt=coff targ=ebmon29k ;;
@@ -168,8 +144,9 @@ changequote([,])dnl
i386-*-linux*) fmt=elf em=linux ;;
i386-*-lynxos*) fmt=coff targ=i386coff
em=lynx ;;
- i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
+ i386-*-sysv4* | i386-*-solaris* | i386-*-elf | i386-*-freebsdelf*)
fmt=elf ;;
+ i386-*-sco*elf*) fmt=elf targ=sco5 ;;
i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
fmt=coff targ=i386coff ;;
i386-*-vsta) fmt=aout ;;
@@ -180,7 +157,7 @@ changequote([,])dnl
i386-*-msdos*) fmt=aout ;;
i386-*-moss*) fmt=elf ;;
i386-*-pe) fmt=coff targ=i386coff em=pe ;;
- i386-*-win32) fmt=coff targ=i386coff em=pe ;;
+ i386-*-cygwin32) fmt=coff targ=i386coff em=pe ;;
i386-*-*nt) fmt=coff targ=i386coff em=pe ;;
i960-*-bout) fmt=bout ;;
i960-*-coff) fmt=coff em=ic960 targ=ic960coff ;;
@@ -195,16 +172,21 @@ changequote([,])dnl
m68k-motorola-sysv*) fmt=coff targ=m68kcoff em=delta ;;
m68k-bull-sysv3*) fmt=coff targ=m68kcoff em=dpx2 ;;
m68k-apollo-*) fmt=coff targ=apollo em=apollo ;;
+ m68k-*-sysv4 | m68k-*-elf) # must be before -sysv*
+ fmt=elf ;;
m68k-*-coff | m68k-*-sysv*)
fmt=coff targ=m68kcoff ;;
- m68k-*-elf) fmt=elf ;;
m68k-*-hpux*) fmt=hp300 em=hp300 ;;
+ m68k-*-linux*aout*) fmt=aout em=linux ;;
+ m68k-*-linux*) fmt=elf em=linux ;;
m68k-*-lynxos*) fmt=coff targ=m68kcoff
em=lynx ;;
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
+ m68k-apple-aux*) fmt=coff targ=m68kcoff em=aux ;;
+ m68k-*-psos*) fmt=elf em=psos;;
- m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delta88 ;;
+ m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delt88 ;;
m88k-*-coff*) fmt=coff targ=m88kcoff ;;
# don't change em like *-*-bsd does
@@ -237,13 +219,8 @@ changequote([,])dnl
*) targ=mips-lit ;;
esac
;;
- ppc-*-pe) fmt=coff em=pe
- case "$endian" in
- big) targ=ppc-big ;;
- *) targ=ppc-lit ;;
- esac
- ;;
- ppc-*-winnt*) fmt=coff em=pe
+ ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
+ fmt=coff em=pe
case "$endian" in
big) targ=ppc-big ;;
*) targ=ppc-lit ;;
@@ -257,24 +234,35 @@ changequote([,])dnl
*) targ=ppc-lit ;;
esac
;;
+ ppc-*-linux*) fmt=elf
+ case "$endian" in
+ big) targ=ppc-big ;;
+ *) AC_MSG_ERROR(Linux must be configured big endian) ;;
+ esac
+ ;;
+ ppc-*-solaris*) fmt=elf
+ case "$endian" in
+ big) AC_MSG_ERROR(Solaris must be configured little endian) ;;
+ *) targ=ppc-sol ;;
+ esac
+ ;;
ppc-*-macos* | ppc-*-mpw*)
fmt=coff em=macos ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
sh-*-coff) fmt=coff ;;
-
ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
sparc-*-sunos4*) fmt=aout em=sun3 ;;
- sparc-*-aout | sparc*-*-vxworks)
+ sparc-*-aout | sparc*-*-vxworks*)
fmt=aout ;;
sparc-*-coff) fmt=coff ;;
sparc-*-lynxos*) fmt=coff em=lynx ;;
sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf | sparc*-*-solaris*)
+ sparc-*-elf | sparc-*-solaris*)
fmt=elf ;;
sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
sparc-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
@@ -298,7 +286,7 @@ changequote([,])dnl
*-*-xray | *-*-hms) fmt=coff ;;
*-*-sim) fmt=coff ;;
*-*-elf | *-*-sysv4* | *-*-solaris*)
- AC_MSG_WARN(GAS support for ELF format is incomplete.)
+ AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
fmt=elf dev=yes ;;
*-*-vxworks) fmt=aout ;;
*-*-netware) fmt=elf ;;
@@ -320,10 +308,32 @@ changequote([,])dnl
# Other random stuff.
- test -n "$want_sparcv9" && AC_DEFINE(sparcv9)
+ # do we need the opcodes library?
+ case ${cpu_type} in
+ alpha | vax | i386)
+ ;;
+ *)
+ need_opcodes=yes
+ if test "${shared_opcodes}" = "true"; then
+ # A shared libopcodes must be linked against libbfd.
+ need_bfd=yes
+ fi
+ ;;
+ esac
+
+ test -n "$want_sparc_v9" && AC_DEFINE(SPARC_V9)
+
+ case ${cpu}-${vendor}-${os} in
+ sparc64-*-elf*) AC_DEFINE(SPARC_ARCH64) ;;
+ esac
case ${cpu_type} in
- m68k) extra_objects="$extra_objects m68k-parse.o" ;;
+ m68k)
+ case ${extra_objects} in
+ *m68k-parse.o*) ;;
+ *) extra_objects="$extra_objects m68k-parse.o" ;;
+ esac
+ ;;
esac
# See if we really can support this configuration with the emulation code.
@@ -516,11 +526,46 @@ case "${primary_bfd_gas}" in
need_bfd=yes ;;
esac
+# do we need the opcodes library?
+case "${need_opcodes}" in
+ yes)
+ OPCODES_DEP=../opcodes/libopcodes.a
+ OPCODES_LIB='-L../opcodes -lopcodes'
+
+ # We need to handle some special cases if opcodes was built shared.
+ if test "${shared_opcodes}" = "true"; then
+ case "${host}" in
+ *-*-sunos*)
+ # On SunOS, we must link against the name we are going to install,
+ # not -lbfd, since SunOS does not support SONAME.
+ OPCODES_LIB='-L../opcodes -l`echo opcodes | sed '"'"'$(program_transform_name)'"'"'`'
+ ;;
+ esac
+ fi
+ ;;
+esac
+AC_SUBST(OPCODES_DEP)
+AC_SUBST(OPCODES_LIB)
+
case "${need_bfd}" in
- yes) BFDLIB=../bfd/libbfd.a
- ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
+ yes)
+ BFDDEP=../bfd/libbfd.a
+ BFDLIB='-L../bfd -lbfd'
+ ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
+
+ # We need to handle some special cases if BFD was built shared.
+ if test "${shared_bfd}" = "true"; then
+ case "${host}" in
+ *-*-sunos*)
+ # On SunOS, we must link against the name we are going to install,
+ # not -lbfd, since SunOS does not support SONAME.
+ BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
;;
+ esac
+ fi
+ ;;
esac
+AC_SUBST(BFDDEP)
AC_SUBST(BFDLIB)
AC_SUBST(ALL_OBJ_DEPS)
@@ -590,5 +635,52 @@ GAS_CHECK_DECL_NEEDED(errno, f, int f, [
#endif
])
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+# If we have shared libraries, try to set rpath reasonably.
+if test "${shared}" = "true"; then
+ case "${host}" in
+ *-*-hpux*)
+ HLDFLAGS='-Wl,+s,+b,$(libdir)'
+ RPATH_ENVVAR=SHLIB_PATH
+ ;;
+ *-*-irix5*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-linux*aout*)
+ ;;
+ *-*-linux*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-sysv4* | *-*-solaris*)
+ HLDFLAGS='-R $(libdir)'
+ ;;
+ esac
+fi
+
+# On SunOS, if the linker supports the -rpath option, use it to
+# prevent ../bfd and ../opcodes from being included in the run time
+# search path.
+case "${host}" in
+ *-*-sunos*)
+ echo 'main () { }' > conftest.c
+ ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
+ if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'No such file' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
+ :
+ elif test "${shared}" = "true"; then
+ HLDFLAGS='-Wl,-rpath=$(libdir)'
+ else
+ HLDFLAGS='-Wl,-rpath='
+ fi
+ rm -f conftest.t conftest.c conftest
+ ;;
+esac
+AC_SUBST(HLDFLAGS)
+AC_SUBST(RPATH_ENVVAR)
+
dnl This must come last.
AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in)
diff --git a/gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp b/gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp
index 79849a9364b..8ac1b506676 100644
--- a/gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp
+++ b/gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp
@@ -17,19 +17,24 @@ if [istarget mips*-*-*] then {
run_dump_test "div"
run_dump_test "jal"
if $svr4pic { run_dump_test "jal-svr4pic" }
+ if $svr4pic { run_dump_test "jal-xgot" }
if $empic { run_dump_test "jal-empic" }
if !$aout { run_dump_test "la" }
if $svr4pic { run_dump_test "la-svr4pic" }
+ if $svr4pic { run_dump_test "la-xgot" }
if $empic { run_dump_test "la-empic" }
if !$aout { run_dump_test "lb" }
if $svr4pic { run_dump_test "lb-svr4pic" }
+ if $svr4pic { run_dump_test "lb-xgot" }
if $empic { run_dump_test "lb-empic" }
if !$aout { run_dump_test "ld" }
if $svr4pic { run_dump_test "ld-svr4pic" }
+ if $svr4pic { run_dump_test "ld-xgot" }
if $empic { run_dump_test "ld-empic" }
run_dump_test "li"
if !$aout { run_dump_test "lifloat" }
if $svr4pic { run_dump_test "lif-svr4pic" }
+ if $svr4pic { run_dump_test "lif-xgot" }
if $empic { run_dump_test "lif-empic" }
run_dump_test "mips4"
run_dump_test "mul"
@@ -38,6 +43,7 @@ if [istarget mips*-*-*] then {
run_dump_test "trunc"
if !$aout { run_dump_test "ulh" }
if $svr4pic { run_dump_test "ulh-svr4pic" }
+ if $svr4pic { run_dump_test "ulh-xgot" }
if $empic { run_dump_test "ulh-empic" }
if !$aout {
run_dump_test "ulw"
diff --git a/gnu/usr.bin/binutils/ld/configure.host b/gnu/usr.bin/binutils/ld/configure.host
index 0a0834746b8..510f958a8f4 100644
--- a/gnu/usr.bin/binutils/ld/configure.host
+++ b/gnu/usr.bin/binutils/ld/configure.host
@@ -4,11 +4,12 @@
# information.
# This file sets the following shell variables:
-# CC compiler to use (only if needed and not already set)
# HDEFINES host specific compiler flags
# HOSTING_CRT0 crt0.o file used for bootstrapping
# HOSTING_LIBS libraries used for bootstrapping
# NATIVE_LIB_DIRS library directories to search on this host
+# HLDFLAGS link flags to use on this host
+# RPATH_ENVVAR environment variable used to find shared libraries
HDEFINES=
HOSTING_CRT0=/lib/crt0.o
@@ -35,10 +36,6 @@ i[345]86-*-bsd* | i[345]86-*-freebsd* | i[345]86-*-netbsd* | i[345]86-*-openbsd*
HOSTING_CRT0=/usr/lib/crt0.o
;;
-i[345]86-*-go32*)
- test -z "${CC}" && CC="i386-go32-gcc -O2 -fno-omit-frame-pointer -Wl,-S"
- ;;
-
i[345]86-*-sysv4*)
HOSTING_CRT0='/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` /usr/ccs/lib/crtn.o'
@@ -66,29 +63,53 @@ i[345]86-*-sco* | i[345]86-*-isc*)
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` /lib/crtn.o'
;;
-i[345]86-*-linux*)
+i[345]86-*-linuxaout* | i[345]86-*-linuxoldld)
HOSTING_CRT0=/usr/lib/crt0.o
;;
+i[345]86-*-linux*)
+ HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`'
+ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
+ ;;
+
i[345]86-*-lynxos*)
HOSTING_CRT0=/lib/init1.o
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
;;
-mips-dec-bsd*)
+mips*-dec-bsd*)
HOSTING_CRT0=/usr/lib/crt0.o
;;
-mips-sgi-irix4*)
+mips*-sgi-irix4*)
HOSTING_CRT0=/usr/lib/crt1.o
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
;;
+mips*-sgi-irix5*)
+ HOSTING_CRT0=/usr/lib/crt1.o
+ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
+ ;;
+
+m68*-*-linuxaout*)
+ HOSTING_CRT0=/usr/lib/crt0.o
+ ;;
+
+m68*-*-linux*)
+ HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`'
+ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
+ ;;
+
m68*-*-lynxos*)
HOSTING_CRT0=/lib/init1.o
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
;;
+m68*-motorola-sysv)
+ HOSTING_CRT0='`if [ -f ../gcc/crt0.o ]; then echo ../gcc/crt0.o; elif [ -f \`gcc -print-file-name=\`crt0.o ]; then echo \`gcc -print-file-name=\`crt0.o; else echo /lib/crt0.o; fi`'
+ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc881 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi`'
+ ;;
+
m68*-sun-*)
HOSTING_CRT0='/usr/lib/crt0.o /usr/lib/Fcrt1.o -L/usr/lib/fsoft.o'
;;
@@ -99,15 +120,64 @@ m88*-*-dgux*)
HOSTING_LIBS=/usr/sde/m88kbcs/lib/libc.a
;;
+m88*-motorola-sysv3)
+ HOSTING_CRT0='/lib/crt0.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
+ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi`'
+ ;;
+
romp-*-*)
HDEFINES=-DNO_VARARGS
- CC=${CC-gcc}
;;
-sparc-*-solaris2*)
+sparc*-*-solaris2*)
HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crt1.o/'; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crti.o/'; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtn.o/'; fi`'
NATIVE_LIB_DIRS=/usr/ccs/lib
;;
esac
+
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+# If we have shared libraries, try to set rpath reasonably.
+if test "${shared}" = "true"; then
+ case "${host}" in
+ *-*-hpux*)
+ HLDFLAGS='-Wl,+s,+b,$(libdir)'
+ RPATH_ENVVAR=SHLIB_PATH
+ ;;
+ *-*-irix5*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-linux*aout*)
+ ;;
+ *-*-linux*)
+ HLDFLAGS='-Wl,-rpath,$(libdir)'
+ ;;
+ *-*-sysv4* | *-*-solaris*)
+ HLDFLAGS='-R $(libdir)'
+ ;;
+ esac
+fi
+
+# On SunOS, if the linker supports the -rpath option, use it to
+# prevent ../bfd and ../opcodes from being included in the run time
+# search path.
+case "${host}" in
+ *-*-sunos*)
+ echo 'main () { }' > conftest.c
+ ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
+ if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'No such file' conftest.t >/dev/null 2>&1; then
+ :
+ elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
+ :
+ elif test "${shared}" = "true"; then
+ HLDFLAGS='-Wl,-rpath=$(libdir)'
+ else
+ HLDFLAGS='-Wl,-rpath='
+ fi
+ rm -f conftest.t conftest.c conftest
+ ;;
+esac
diff --git a/gnu/usr.bin/binutils/ld/configure.tgt b/gnu/usr.bin/binutils/ld/configure.tgt
index 7efcc313025..add7bf03c41 100644
--- a/gnu/usr.bin/binutils/ld/configure.tgt
+++ b/gnu/usr.bin/binutils/ld/configure.tgt
@@ -12,27 +12,28 @@ targ_extra_emuls=
case "${targ}" in
arm-*-pe) targ_emul=armpe ;;
+sparc64-*-aout*) targ_emul=sparcaout ;;
+sparc64-*-elf*) targ_emul=elf64_sparc ;;
sparc-sun-sunos4*) targ_emul=sun4 ;;
sparclite*-*-coff) targ_emul=coff_sparc ;;
-sparclite*-fujitsu-*) targ_emul=sun4 ;;
-sparc*-*-aout) targ_emul=sun4 ;;
+sparclite*-fujitsu-*) targ_emul=sparcaout ;;
+sparc*-*-aout) targ_emul=sparcaout ;;
sparc*-*-coff) targ_emul=coff_sparc ;;
-sparc64-*-elf*) targ_emul=elf64_sparc ;;
-sparc64*) targ_emul=sun4 ;;
sparc*-*-elf) targ_emul=elf32_sparc ;;
sparc*-*-lynxos*) targ_emul=sparclynx ;;
sparc*-*-netbsd*) targ_emul=sparcnbsd ;;
sparc*-*-openbsd*) targ_emul=sparcnbsd ;;
sparc*-*-solaris2*) targ_emul=elf32_sparc ;;
-sparc*-wrs-vxworks*) targ_emul=sun4 ;;
+sparc*-wrs-vxworks*) targ_emul=sparcaout ;;
i960-wrs-vxworks5.0*) targ_emul=gld960 ;;
i960-wrs-vxworks5*) targ_emul=gld960coff ;;
-i960-wrs-vxworks*) targ_emul=gldi960 ;;
+i960-wrs-vxworks*) targ_emul=gld960 ;;
i960-*-coff) targ_emul=gld960coff ;;
-i960-intel-nindy) targ_emul=gldi960 ;;
+i960-intel-nindy) targ_emul=gld960 ;;
m68*-sun-sunos[34]*) targ_emul=sun3 ;;
m68*-wrs-vxworks*) targ_emul=sun3 ;;
m68*-ericsson-ose) targ_emul=sun3 ;;
+m68*-apple-aux*) targ_emul=m68kaux ;;
*-tandem-none) targ_emul=st2000 ;;
i[345]86-*-vsta) targ_emul=vsta ;;
i[345]86-*-go32) targ_emul=i386go32 ;;
@@ -44,15 +45,22 @@ i[345]86-*-bsd) targ_emul=i386bsd ;;
i[345]86-*-bsd386) targ_emul=i386bsd ;;
i[345]86-*-bsdi*) targ_emul=i386bsd ;;
i[345]86-*-aout) targ_emul=i386aout ;;
-i[345]86-*-linuxaout*) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
+i[345]86-*-linuxaout*) targ_emul=i386linux
+ targ_extra_emuls=elf_i386
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
i[345]86-*-linuxoldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
-i[345]86-*-linux*) targ_emul=elf_i386; targ_extra_emuls=i386linux ;;
+i[345]86-*-linux*) targ_emul=elf_i386
+ targ_extra_emuls=i386linux
+ tdir_i386linux=${targ_alias}aout
+ ;;
i[345]86-*-sysv4*) targ_emul=elf_i386 ;;
i[345]86-*-unixware) targ_emul=elf_i386 ;;
i[345]86-*-netbsd*) targ_emul=i386nbsd ;;
i[345]86-*-openbsd*) targ_emul=i386nbsd ;;
i[345]86-*-netware) targ_emul=i386nw ;;
i[345]86-*-elf*) targ_emul=elf_i386 ;;
+i[345]86-*-freebsdelf*) targ_emul=elf_i386 ;;
i[345]86-*-sysv*) targ_emul=i386coff ;;
i[345]86-*-ptx*) targ_emul=i386coff ;;
i[345]86-*-mach*) targ_emul=i386mach ;;
@@ -61,7 +69,7 @@ i[345]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
i[345]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
i[345]86-*-winnt) targ_emul=i386pe ;;
i[345]86-*-pe) targ_emul=i386pe ;;
-i[345]86-*-win32) targ_emul=i386pe ;;
+i[345]86-*-cygwin32) targ_emul=i386pe ;;
m8*-*-*) targ_emul=m88kbcs ;;
a29k-*-udi) targ_emul=sa29200 ;;
a29k-*-ebmon) targ_emul=ebmon29k ;;
@@ -82,11 +90,20 @@ m68*-*-aout) targ_emul=m68kaout ;;
m68*-*-coff) targ_emul=m68kcoff ;;
m68*-*-elf) targ_emul=m68kelf ;;
m68*-*-hpux*) targ_emul=hp3hpux ;;
+m68k-*-linuxaout*) targ_emul=m68klinux
+ targ_extra_emuls=m68kelf
+ tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
+m68k-*-linux*) targ_emul=m68kelf
+ targ_extra_emuls=m68klinux
+ tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
+ ;;
m68*-*-lynxos*) targ_emul=m68klynx ;;
m68*-hp*-netbsd*) targ_emul=m68k4knbsd ;;
m68*-hp*-openbsd*) targ_emul=m68k4knbsd ;;
m68*-*-netbsd*) targ_emul=m68knbsd ;;
m68*-*-openbsd*) targ_emul=m68knbsd ;;
+m68*-*-psos*) targ_emul=m68kpsos ;;
hppa*-*-*elf*) targ_emul=hppaelf ;;
hppa*-*-lites*) targ_emul=hppaelf ;;
vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
@@ -101,6 +118,8 @@ mips*-dec-openbsd*) targ_emul=elf32lmip ;;
mips*-*-bsd*) targ_emul=mipsbig ;;
mips*vr4300el-*-elf*) targ_emul=elf32l4300 ;;
mips*vr4300-*-elf*) targ_emul=elf32b4300 ;;
+mips*vr4100el-*-elf*) targ_emul=elf32l4300 ;;
+mips*vr4100-*-elf*) targ_emul=elf32b4300 ;;
mips*el-*-elf*) targ_emul=elf32lmip ;;
mips*-*-elf*) targ_emul=elf32bmip ;;
alpha-*-linux*) targ_emul=alpha ;;
@@ -110,17 +129,20 @@ z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;;
ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532machaout ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
ns32k-pc532-openbsd*) targ_emul=ns32knbsd ;;
-powerpc-*-elf* | powerpc-*-eabi*) targ_emul=elf32ppc ;;
-powerpcle-*-elf* | powerpcle-*-eabi*) targ_emul=elf32lppc ;;
+powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-linux* | powerpc-*-sysv*) targ_emul=elf32ppc ;;
+powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* | powerpcle-*-sysv*) targ_emul=elf32lppc ;;
+powerpc-*-macos*) targ_emul=ppcmacos ;;
powerpc-*-netware*) targ_emul=ppcnw ;;
powerpcle-*-pe) targ_emul=ppcpe ;;
powerpcle-*-winnt*) targ_emul=ppcpe ;;
+powerpcle-*-cygwin32) targ_emul=ppcpe ;;
powerpc-*-aix*) targ_emul=aixppc ;;
rs6000-*-aix*) targ_emul=aixrs6 ;;
w65-*-*) targ_emul=w65 ;;
*-*-aout) targ_emul=${target_cpu}-${target_vendor} ;;
*-*-coff) targ_emul=${target_cpu}-${target_vendor} ;;
*-*-netware) targ_emul=${target_cpu}-nw ;;
+*-*-ieee*) targ_emul=vanilla ;;
*)
echo 2>&1 "*** ld does not support target ${targ}"