diff options
-rw-r--r-- | gnu/usr.bin/binutils/config.guess | 36 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/configure.in | 16 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/Makefile.in | 74 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-i386.h | 17 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-m68k.h | 44 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/config/tc-sparc.h | 19 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure | 624 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure.in | 212 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/testsuite/gas/mips/mips.exp | 6 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/ld/configure.host | 90 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/ld/configure.tgt | 46 |
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}" |