diff -uprN binutils-2.15.91.0.2/ChangeLog binutils-2.15.92.0.2/ChangeLog --- binutils-2.15.91.0.2/ChangeLog 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/ChangeLog 2004-09-27 13:46:05.000000000 -0700 @@ -1,3 +1,320 @@ +2004-09-24 Kelley Cook + + * ylwrap: Revert to previous version. + +2004-09-23 H.J. Lu + + PR bootstrap/17369 + * Makefile.tpl (REALLY_SET_LIB_PATH): Add @SET_GCC_LIB_PATH@. + (HOST_EXPORTS]): Add @SET_GCC_LIB_PATH@. Set and export + SET_GCC_LIB_PATH_CMD. + (BASE_TARGET_EXPORTS): Likewise. + * Makefile.in: Regenerated. + + * configure.in (SET_GCC_LIB_PATH): Set and substitute. + * configure: Regenerated. + +2004-09-23 Kelley Cook + + * config.guess: New upstream version + * compile, depcomp, install-sh, ylwrap: Likewise. + +2004-09-19 Roger Sayle + + * config/mh-x86omitfp: New host makefile fragment. Add + -fomit-frame-pointer to the default BOOT_CFLAGS. + * configure.in: Use it to speed up bootstrap on some IA-32 hosts. + * configure: Regenerate. + +2004-09-15 Andrew Pinski + + PR target/11572 + * configure.in (*-*-darwin*): Renable libobjc. + * configure: Regenerate. + +2004-09-09 Daniel Berlin + + * Makefile.def: Remove libbanshee. + * Makefile.tpl: Ditto. + * configure.in: Ditto. + * Makefile.in: Regen. + * configure: Ditto. + +2004-09-07 Paolo Bonzini + + * missing: Import latest version from master repository. + +2004-09-04 Nick Clifton + + * config.sub: Import latest version from master repository. + * config.guess: Likewise. + This includes these changes: + + 2004-08-27 Hans-Peter Nilsson + + * config.sub: Handle crisv32, alias etraxfs. + * config.guess (crisv32:Linux:*:*): Handle. + + 2004-08-13 Brad Smith + + * config.guess (*:OpenBSD:*:*): Remove defunct MIPS machines. + (sgi:OpenBSD:*:*): Emit mips64, not mipseb. + + 2004-08-11 Paul Eggert + + * config.guess (*:Darwin:*:*): If uname -p reports "unknown", + assume the processor is a powerpc. This is because coreutils + uname (at least versions 4.5.7 through 5.2.1) outputs "unknown" + in this case, due to a MacOS X bug that causes + sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0) + to return a negative number. + Problem reported by Petter Reinholdtsen in: + http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html + + 2004-07-19 Ben Elliston + + * config.guess (S7501:*:4.0:3.0): Handle NCR System V UNIX machine. + + 2004-06-24 Ben Elliston + + * config.guess: Update copyright years. + * config.sub: Likewise. + + 2004-06-22 Robert Millan + + * config.guess (*:FreeBSD:*:*): Remove check for glibc (unneeded + since GNU/kFreeBSD systems match *:GNU/*:*:* instead). + + 2004-06-22 Stanley F. Quayle + + * config.guess (*:*VMS:*:*): New entry. Replaces + Alpha:OpenVMS:*. Recognize and advertise all VMS flavors as dec + manufacturer. + + 2004-06-22 Ben Elliston + + * config.guess: Cray fixes from Wendy Palm . + * config.sub: Likewise. + + 2004-06-22 Ben Elliston + + Reported by Hans-Peter Nilsson : + * config.sub: Correctly handle mmix-knuth and mmix-knuth-mmixware. + + 2004-06-11 Ben Elliston + + * config.guess (pegasos:OpenBSD:*:*): Remove. + + 2004-06-11 Ben Elliston + + From Wouter Verhelst : + * config.guess (M68*:*:R3V[5678]:*): Detect R3V8. + + 2004-06-11 Ben Elliston + + * config.guess (luna88k:OpenBSD:*:*): New. + + 2004-03-12 Kazuhiro Inaoka + + * config.guess (m32r*:Linux:*:*): New case. + * config.sub: Handle m32rle. + + 2004-03-12 Ben Elliston + + From Jens Petersen : + * config.sub: Handle sparcv8. + + 2004-03-03 Ben Elliston + + From Tom Smith : + * config.guess: Version suffixes are equally significant on Tru64 + V4.* and V5.*, so do not ignore them on V5.*. Handle a version + prefix of "P" (patched kernel). + + 2004-02-23 Tal Agmon + + * config.sub: Add support for National Semiconductor CRX target. + +2004-09-03 Jan Beulich + + * configure.in: Remove target-libstdc++-v3 from noconfigdirs for + *-*-netware, but add target-libmudflap. + Consolidate *-*-netware targets (of which really only i?86 exists) + into a single entry. + * configure: Likewise. + +2004-09-01 Paolo Bonzini + + * Makefile.tpl (sorry): Remove. + (clean-stage[+id+], clean-stage[+id+]-module): New targets. + (cleanstrap targets): Depend on distclean, not distclean-stage1. + (do-clean): Clean per-stage directories too. + (do-distclean): Run distclean-stage1 too. + (.NOTPARALLEL): Enable during toplevel bootstrap. + (stage[+id+]-bubble): Enable parallel execution during + the recursive invocation. + * Makefile.in: Regenerate. + + Sync from gcc (moving the Makefile.in change to Makefile.tpl): + + 2004-08-31 Robert Bowdidge + + * Makefile.in: Move BOOT_CFLAGS above host makefile fragment include. + * configure.in: add test for powerpc-*-darwin* to specify makefile frag + * configure: regenerate + * config/mh-ppc-darwin: create file, override BOOT_CFLAGS for + -mdynamic-no-pic + +2004-08-31 Paolo Bonzini + + * Makefile.tpl: Move BOOT_CFLAGS above host makefile fragment + include. + * configure.in: Fix indentation. + * configure: Regenerate. + +2004-08-31 Paolo Bonzini + + * Makefile.def (build_modules): Add fixincludes. + (dependencies): Make gcc depend on fixincludes. + * configure.in (build_tools): Add fixincludes. + (build_configdirs): Always include build_libs. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2004-08-30 Paolo Bonzini + + * Makefile.def (bootstrap stages): Add 'lean' parameter. + * Makefile.tpl (configure-stageN-*, all-stageN-*): Turned into + phony targets; do not generate timestamp files. + (distclean-stageN): Remove references to their timestamp files. + (restageN, touch-stageN): Remove. + (stageN-bubble): Rewritten. + (compare): Support lean bootstraps. + * Makefile.in: Regenerate. + + * configure.in: Only warn when bootstrapping but + build != host or build != target. Support lean bootstraps. + * configure: Regenerate. + + Sync from gcc: + 2004-08-26 Phil Edwards + + * configure.in: Give a better error message if GMP/MPFR are missing + and a language needing them has been requested. + * configure: Regenerated. + + 2004-08-25 Phil Edwards + + * configure.in: Print a list of available language front-ends if + a requested one is missing. Tidy stray tab characters. + * configure: Regenerated. + +2004-08-17 Paolo Bonzini + + * Makefile.in: Regenerate. + * configure: Regenerate. + + * Makefile.def (bootstrap-stage): Rename extra_*_flags to + stage_*_flags. + * Makefile.tpl (configure-[+module+], all-[+module+]): Exit + for bootstrapped modules if toplevel bootstrap is going. + (GCC bootstrap): Generate per-stage targets for all bootstrapped + modules. Adjust for changes in Makefile.def. Enable several + rules even in non-bootstrap mode, just to avoid peppering the + template with unnecessary "@if/@endif gcc-bootstrap" pairs. + (stage-[+prev+]-bubble): Remove. + + * Makefile.def (Dependencies): Depend on all-build-bison, + all-build-flex, all-build-byacc, all-build-texinfo, rather + than the host variations. + * Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout + with BUILD_SUBDIR. + (BISON): Update for recent Bisons. + (YACC): Fix typo. + (cross): Depend on all-build. + (all): Do not depend on all-build. + (prebootstrap): Remove. + (dep-kind): Accept separate prefixes for MODULE and ON variables. + (Prebootstrap dependencies): Add them to the per-stage targets + and to all-prebootstrap. + * configure.in (build_configdirs): Always enable build_tools. + (BUILD_DIR_PREFIX): Remove. + + * Makefile.def (gcc): Add target variable. + (gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags. + * Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*) + in the recursive `make', instead of hardwiring `all'. + (Autogenerated TARGET-* variables): New. + +2004-08-17 Robert Millan + + * configure.in: In noconfigdirs check, match GNU/k*BSD with GNU/Linux + (instead of FreeBSD). + * configure: Regenerate. + +2004-08-12 Nathanael Nerode + + * Makefile.def, configure.in, src-release: Remove useless, bogus + references to tix. + * Makefile.in, configure: Regenerate. + + * src-release: Stop distributing mmalloc with gdb (which doesn't + use it). + * Makefile.def: GDB doesn't depend on mmalloc anymore. + * Makefile.in: Regenerate. + +2004-08-09 Mark Mitchell + + * configure.in (arm*-*-eabi*): New target. + * configure: Regenerate. + +2004-08-01 Robert Millan + + * configure.in: Turn mt-linux into mt-gnu. Use mt-gnu and enable + libmudflap for all GNU-based systems (with Glibc). + * configure: Regenerate. + +2004-08-06 Paolo Bonzini + + * Makefile.def (bfd, opcodes, gcc, zlib): Mark as bootstrap module. + (bison, byacc, flex, texinfo): Do not mark as bootstrap module. + (Dependencies): New section. + * Makefile.tpl (Dependencies): Generate from Makefile.def. + (configure-target-[+module+]): Depend on maybe-all-gcc + (all-prebootstrap): New name of all-bootstrap. Changed throughout. + (toplevel profiledbootstrap): Fix dependencies. + * Makefile.in: Regenerate. + +2004-08-03 Mark Mitchell + + * configure.in (arm*-*-symbianelf*): Add ${libgcj} and + target-libiberty to noconfigdirs. + +2004-08-03 Paul Brook + + * configure.in: Check for MPFR as well as GMP. + * configure: Regenerate. + +2004-08-03 Paolo Bonzini + + * Makefile.def (host-modules): Add gcc. + * Makefile.in: Regenerate. + * Makefile.tpl (sorry): New rule. + (configure-host, all-host, [+make_target+]-host, do-check, + install-host): Do not add gcc as a special case. + (host modules): Add a small special-casing for gcc. Export + extra_make_flags through the environment. + (maybe-configure-gcc, configure-gcc, maybe-all-gcc, all-gcc, + maybe-check-gcc, check-gcc, maybe-install-gcc, install-gcc, + other recursive targets for gcc): Remove. + + (all, do-[+make_target+], do-check): Wrap between unstage and stage. + (stage, unstage): New rules. + (stage[+id+]-start, stage[+id+]-end, [+compare-target+], + distclean-stage[+id+]): Use stage_current. + ([+bootstrap-target+], profiledbootstrap): Do not invoke manually + the stage*-start rules. + 2004-07-19 Robert Millan Synced from gcc: diff -uprN binutils-2.15.91.0.2/Makefile.def binutils-2.15.92.0.2/Makefile.def --- binutils-2.15.91.0.2/Makefile.def 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/Makefile.def 2004-09-15 12:05:02.000000000 -0700 @@ -25,22 +25,23 @@ AutoGen definitions Makefile.tpl; // that recursive target in its Makefile. build_modules= { module= libiberty; }; -build_modules= { module= libbanshee; }; build_modules= { module= bison; }; build_modules= { module= byacc; }; build_modules= { module= flex; }; build_modules= { module= m4; }; build_modules= { module= texinfo; }; +build_modules= { module= fixincludes; + extra_configure_args='--target=$(target)'; }; host_modules= { module= ash; }; host_modules= { module= autoconf; }; host_modules= { module= automake; }; host_modules= { module= bash; }; -host_modules= { module= bfd; }; -host_modules= { module= opcodes; }; +host_modules= { module= bfd; bootstrap=true; }; +host_modules= { module= opcodes; bootstrap=true; }; host_modules= { module= binutils; bootstrap=true; }; -host_modules= { module= bison; no_check_cross= true; bootstrap=true; }; -host_modules= { module= byacc; no_check_cross= true; bootstrap=true; }; +host_modules= { module= bison; no_check_cross= true; }; +host_modules= { module= byacc; no_check_cross= true; }; host_modules= { module= bzip2; }; host_modules= { module= dejagnu; }; host_modules= { module= diff; }; @@ -50,8 +51,11 @@ host_modules= { module= fastjar; no_chec host_modules= { module= fileutils; }; host_modules= { module= findutils; }; host_modules= { module= find; }; -host_modules= { module= flex; no_check_cross= true; bootstrap=true; }; +host_modules= { module= flex; no_check_cross= true; }; host_modules= { module= gas; bootstrap=true; }; +host_modules= { module= gcc; bootstrap=true; + target="`if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi`"; + extra_make_flags="$(EXTRA_GCC_FLAGS)"; }; host_modules= { module= gawk; }; host_modules= { module= gettext; }; host_modules= { module= gnuserv; }; @@ -66,7 +70,6 @@ host_modules= { module= itcl; }; host_modules= { module= ld; bootstrap=true; }; host_modules= { module= libcpp; bootstrap=true; }; host_modules= { module= libgui; }; -host_modules= { module= libbanshee; bootstrap=true; no_install=true; }; host_modules= { module= libiberty; bootstrap=true; }; host_modules= { module= libtool; }; host_modules= { module= m4; }; @@ -85,18 +88,17 @@ host_modules= { module= shellutils; }; host_modules= { module= sid; }; host_modules= { module= sim; }; host_modules= { module= tar; }; -host_modules= { module= texinfo; no_install= true; bootstrap=true; }; +host_modules= { module= texinfo; no_install= true; }; host_modules= { module= textutils; }; host_modules= { module= time; }; host_modules= { module= uudecode; }; host_modules= { module= wdiff; }; host_modules= { module= zip; no_check_cross=true; }; host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; }; -host_modules= { module= gdb; with_x=true; }; -host_modules= { module= expect; with_x=true; }; -host_modules= { module= guile; with_x=true; }; -host_modules= { module= tk; with_x=true; }; -host_modules= { module= tix; with_x=true; }; +host_modules= { module= gdb; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= expect; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= guile; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; +host_modules= { module= tk; extra_make_flags="$(X11_FLAGS_TO_PASS)"; }; host_modules= { module= libtermcap; no_check=true; missing=mostlyclean; missing=clean; @@ -220,35 +222,249 @@ flags_to_pass = { flag= NM_FOR_TARGET ; flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; +// Inter-module dependencies + +// Build modules +dependencies = { module=all-build-bison; on=all-build-texinfo; }; +dependencies = { module=all-build-byacc; on=all-build-texinfo; }; +dependencies = { module=all-build-flex; on=all-build-texinfo; }; +dependencies = { module=all-build-flex; on=all-build-bison; }; +dependencies = { module=all-build-flex; on=all-build-byacc; }; +dependencies = { module=all-build-flex; on=all-build-m4; }; +dependencies = { module=all-build-libiberty; on=all-build-texinfo; }; +dependencies = { module=all-build-m4; on=all-build-texinfo; }; +dependencies = { module=all-build-fixincludes; on=all-build-libiberty; }; + +// Host modules specific to gcc. +dependencies = { module=configure-gcc; on=configure-intl; }; +dependencies = { module=configure-gcc; on=configure-binutils; }; +dependencies = { module=configure-gcc; on=configure-gas; }; +dependencies = { module=configure-gcc; on=configure-ld; }; +dependencies = { module=all-gcc; on=all-libiberty; hard=true; }; +dependencies = { module=all-gcc; on=all-intl; }; +dependencies = { module=all-gcc; on=all-build-texinfo; }; +dependencies = { module=all-gcc; on=all-build-bison; }; +dependencies = { module=all-gcc; on=all-build-byacc; }; +dependencies = { module=all-gcc; on=all-build-flex; }; +dependencies = { module=all-gcc; on=all-build-libiberty; }; +dependencies = { module=all-gcc; on=all-build-fixincludes; }; +dependencies = { module=all-gcc; on=all-binutils; }; +dependencies = { module=all-gcc; on=all-gas; }; +dependencies = { module=all-gcc; on=all-ld; }; +dependencies = { module=all-gcc; on=all-zlib; }; +dependencies = { module=all-gcc; on=all-libcpp; hard=true; }; +dependencies = { module=all-gcc; on=all-build-libiberty; }; + +dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; }; +dependencies = { module=configure-libcpp; on=configure-intl; }; +dependencies = { module=all-libcpp; on=all-libiberty; hard=true; }; +dependencies = { module=all-libcpp; on=all-intl; }; + +// Host modules specific to gdb. +dependencies = { module=configure-gdb; on=configure-itcl; }; +dependencies = { module=configure-gdb; on=configure-tcl; }; +dependencies = { module=configure-gdb; on=configure-tk; }; +dependencies = { module=configure-gdb; on=configure-sim; }; +dependencies = { module=all-gdb; on=all-libiberty; }; +dependencies = { module=all-gdb; on=all-opcodes; }; +dependencies = { module=all-gdb; on=all-bfd; }; +dependencies = { module=all-gdb; on=all-readline; }; +dependencies = { module=all-gdb; on=all-build-bison; }; +dependencies = { module=all-gdb; on=all-build-byacc; }; +dependencies = { module=all-gdb; on=all-sim; }; +dependencies = { module=install-gdb; on=install-tcl; }; +dependencies = { module=install-gdb; on=install-tk; }; +dependencies = { module=install-gdb; on=install-itcl; }; +dependencies = { module=install-gdb; on=install-libgui; }; + +dependencies = { module=configure-libgui; on=configure-tcl; }; +dependencies = { module=configure-libgui; on=configure-tk; }; +dependencies = { module=all-libgui; on=all-tcl; }; +dependencies = { module=all-libgui; on=all-tk; }; +dependencies = { module=all-libgui; on=all-itcl; }; + +// Host modules specific to binutils. +dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; }; +dependencies = { module=all-bfd; on=all-libiberty; }; +dependencies = { module=all-bfd; on=all-intl; }; + +dependencies = { module=all-binutils; on=all-libiberty; }; +dependencies = { module=all-binutils; on=all-opcodes; }; +dependencies = { module=all-binutils; on=all-bfd; }; +dependencies = { module=all-binutils; on=all-build-flex; }; +dependencies = { module=all-binutils; on=all-build-bison; }; +dependencies = { module=all-binutils; on=all-build-byacc; }; +dependencies = { module=all-binutils; on=all-intl; }; + +// We put install-opcodes before install-binutils because the installed +// binutils might be on PATH, and they might need the shared opcodes +// library. +dependencies = { module=install-binutils; on=install-opcodes; }; + +// libopcodes depends on libbfd +dependencies = { module=install-opcodes; on=install-bfd; }; + +dependencies = { module=all-gas; on=all-libiberty; }; +dependencies = { module=all-gas; on=all-opcodes; }; +dependencies = { module=all-gas; on=all-bfd; }; +dependencies = { module=all-gas; on=all-intl; }; +dependencies = { module=all-gprof; on=all-libiberty; }; +dependencies = { module=all-gprof; on=all-bfd; }; +dependencies = { module=all-gprof; on=all-opcodes; }; +dependencies = { module=all-gprof; on=all-intl; }; +dependencies = { module=all-ld; on=all-libiberty; }; +dependencies = { module=all-ld; on=all-bfd; }; +dependencies = { module=all-ld; on=all-opcodes; }; +dependencies = { module=all-ld; on=all-build-bison; }; +dependencies = { module=all-ld; on=all-build-byacc; }; +dependencies = { module=all-ld; on=all-build-flex; }; +dependencies = { module=all-ld; on=all-intl; }; + +dependencies = { module=all-opcodes; on=all-bfd; }; +dependencies = { module=all-opcodes; on=all-libiberty; }; + +// Other host modules in the 'src' repository. +dependencies = { module=all-dejagnu; on=all-tcl; }; +dependencies = { module=all-dejagnu; on=all-expect; }; +dependencies = { module=all-dejagnu; on=all-tk; }; +dependencies = { module=configure-expect; on=configure-tcl; }; +dependencies = { module=configure-expect; on=configure-tk; }; +dependencies = { module=all-expect; on=all-tcl; }; +dependencies = { module=all-expect; on=all-tk; }; + +// We put install-tcl before install-itcl because itcl wants to run a +// program on installation which uses the Tcl libraries. +dependencies = { module=configure-itcl; on=configure-tcl; }; +dependencies = { module=configure-itcl; on=configure-tk; }; +dependencies = { module=all-itcl; on=all-tcl; }; +dependencies = { module=all-itcl; on=all-tk; }; +dependencies = { module=install-itcl; on=install-tcl; }; + +dependencies = { module=configure-tk; on=configure-tcl; }; +dependencies = { module=all-tk; on=all-tcl; }; + +dependencies = { module=all-sid; on=all-libiberty; }; +dependencies = { module=all-sid; on=all-bfd; }; +dependencies = { module=all-sid; on=all-opcodes; }; +dependencies = { module=all-sid; on=all-tcl; }; +dependencies = { module=all-sid; on=all-tk; }; +dependencies = { module=install-sid; on=install-tcl; }; +dependencies = { module=install-sid; on=install-tk; }; + +dependencies = { module=all-sim; on=all-libiberty; }; +dependencies = { module=all-sim; on=all-bfd; }; +dependencies = { module=all-sim; on=all-opcodes; }; +dependencies = { module=all-sim; on=all-readline; }; +dependencies = { module=all-sim; on=configure-gdb; }; + +// Other host modules. +dependencies = { module=all-fastjar; on=all-zlib; }; +dependencies = { module=all-fastjar; on=all-build-texinfo; }; +dependencies = { module=all-fastjar; on=all-libiberty; }; + +// Warning, these are not well tested. +dependencies = { module=all-autoconf; on=all-m4; }; +dependencies = { module=all-autoconf; on=all-build-texinfo; }; +dependencies = { module=all-automake; on=all-m4; }; +dependencies = { module=all-automake; on=all-build-texinfo; }; +dependencies = { module=all-automake; on=all-autoconf; }; +dependencies = { module=all-bison; on=all-intl; }; +dependencies = { module=all-bison; on=all-build-texinfo; }; +dependencies = { module=all-diff; on=all-intl; }; +dependencies = { module=all-diff; on=all-build-texinfo; }; +dependencies = { module=all-fileutils; on=all-intl; }; +dependencies = { module=all-fileutils; on=all-build-texinfo; }; +dependencies = { module=all-flex; on=all-build-bison; }; +dependencies = { module=all-flex; on=all-build-byacc; }; +dependencies = { module=all-flex; on=all-intl; }; +dependencies = { module=all-flex; on=all-m4; }; +dependencies = { module=all-flex; on=all-build-texinfo; }; +dependencies = { module=all-gzip; on=all-intl; }; +dependencies = { module=all-gzip; on=all-zlib; }; +dependencies = { module=all-gzip; on=all-build-texinfo; }; +dependencies = { module=all-hello; on=all-intl; }; +dependencies = { module=all-hello; on=all-build-texinfo; }; +dependencies = { module=all-m4; on=all-intl; }; +dependencies = { module=all-m4; on=all-build-texinfo; }; +dependencies = { module=all-make; on=all-intl; }; +dependencies = { module=all-make; on=all-build-texinfo; }; +dependencies = { module=all-patch; on=all-build-texinfo; }; +dependencies = { module=all-make; on=all-build-texinfo; }; +dependencies = { module=all-prms; on=all-libiberty; }; +dependencies = { module=all-recode; on=all-build-texinfo; }; +dependencies = { module=all-sed; on=all-build-texinfo; }; +dependencies = { module=all-send-pr; on=all-prms; }; +dependencies = { module=all-tar; on=all-build-texinfo; }; +dependencies = { module=all-uudecode; on=all-build-texinfo; }; + +// Target modules. These can also have dependencies on the language +// environment (e.g. on libstdc++). +lang_env_dependencies = { module=boehm-gc; }; +lang_env_dependencies = { module=gperf; cxx=true; }; +lang_env_dependencies = { module=libada; }; +lang_env_dependencies = { module=libgfortran; }; +lang_env_dependencies = { module=libffi; }; +lang_env_dependencies = { module=libjava; cxx=true; }; +lang_env_dependencies = { module=libobjc; }; +lang_env_dependencies = { module=libstdc++-v3; }; +lang_env_dependencies = { module=zlib; }; + +dependencies = { module=configure-target-boehm-gc; on=configure-target-qthreads; }; +dependencies = { module=configure-target-fastjar; on=configure-target-zlib; }; +dependencies = { module=all-target-fastjar; on=all-target-zlib; }; +dependencies = { module=all-target-fastjar; on=all-target-libiberty; }; +dependencies = { module=configure-target-libjava; on=configure-target-zlib; }; +dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; }; +dependencies = { module=configure-target-libjava; on=configure-target-qthreads; }; +dependencies = { module=configure-target-libjava; on=configure-target-libffi; }; +dependencies = { module=all-target-libjava; on=all-fastjar; }; +dependencies = { module=all-target-libjava; on=all-target-zlib; }; +dependencies = { module=all-target-libjava; on=all-target-boehm-gc; }; +dependencies = { module=all-target-libjava; on=all-target-qthreads; }; +dependencies = { module=all-target-libjava; on=all-target-libffi; }; +dependencies = { module=all-target-libobjc; on=all-target-libiberty; }; +dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; }; + +// Target modules in the 'src' repository. +lang_env_dependencies = { module=examples; }; +lang_env_dependencies = { module=libtermcap; }; +lang_env_dependencies = { module=rda; }; +lang_env_dependencies = { module=winsup; }; +lang_env_dependencies = { module=qthreads; }; + +dependencies = { module=all-target-libgloss; on=configure-target-newlib; }; +dependencies = { module=all-target-winsup; on=all-target-libiberty; }; +dependencies = { module=all-target-winsup; on=all-target-libtermcap; }; + // Toplevel bootstrap bootstrap_stage = { id=1 ; - extra_configure_flags='--disable-intermodule \ + stage_configure_flags='--disable-intermodule \ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ; - extra_make_flags='CFLAGS="$(STAGE1_CFLAGS)"' ; }; + stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)"' ; }; bootstrap_stage = { id=2 ; prev=1 ; bootstrap_target=bootstrap2 ; - extra_configure_flags="@stage2_werror_flag@" ; - extra_make_flags="" ; }; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; bootstrap_stage = { - id=3 ; prev=2 ; + id=3 ; prev=2 ; lean=1 ; compare_target=compare ; bootstrap_target=bootstrap ; cleanstrap_target=cleanstrap ; - extra_configure_flags="@stage2_werror_flag@" ; - extra_make_flags="" ; }; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; bootstrap_stage = { - id=4 ; prev=3 ; + id=4 ; prev=3 ; lean=2 ; compare_target=compare3 ; bootstrap_target=bootstrap4 ; - extra_configure_flags="@stage2_werror_flag@" ; - extra_make_flags="" ; }; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags="" ; }; bootstrap_stage = { id=profile ; prev=1 ; - extra_configure_flags="@stage2_werror_flag@" ; - extra_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; }; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; }; bootstrap_stage = { id=feedback ; prev=1 ; - extra_configure_flags="@stage2_werror_flag@" ; - extra_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; }; + stage_configure_flags="@stage2_werror_flag@" ; + stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; }; diff -uprN binutils-2.15.91.0.2/Makefile.in binutils-2.15.92.0.2/Makefile.in --- binutils-2.15.91.0.2/Makefile.in 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/Makefile.in 2004-09-27 13:46:05.000000000 -0700 @@ -101,10 +101,11 @@ SET_LIB_PATH = @SET_LIB_PATH@ # Some platforms don't like blank entries, so we remove duplicate, # leading and trailing colons. REALLY_SET_LIB_PATH = \ + @SET_GCC_LIB_PATH@ \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); # This is the list of directories to be built for the build system. -BUILD_CONFIGDIRS = libiberty libbanshee +BUILD_CONFIGDIRS = libiberty # Build programs are put under this directory. BUILD_SUBDIR = @build_subdir@ # This is set by the configure script to the arguments to use when configuring @@ -170,7 +171,9 @@ HOST_EXPORTS = \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ - GMPINC="$(HOST_GMPINC)"; export GMPINC; + GMPINC="$(HOST_GMPINC)"; export GMPINC; \ + SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ + @SET_GCC_LIB_PATH@ # Similar, for later GCC stages. STAGE_HOST_EXPORTS = \ @@ -204,7 +207,9 @@ BASE_TARGET_EXPORTS = \ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ + @SET_GCC_LIB_PATH@ RAW_CXX_TARGET_EXPORTS = \ $(BASE_TARGET_EXPORTS) \ @@ -240,43 +245,44 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ CXX_FOR_BUILD = $(CXX) -# Path to the build directory for a Canadian cross, empty otherwise. -BUILD_DIR_PREFIX = @BUILD_DIR_PREFIX@ - # Special variables passed down in EXTRA_GCC_FLAGS. They are defined # here so that they can be overridden by Makefile fragments. BUILD_PREFIX = @BUILD_PREFIX@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ +# Flags to pass to stage2 and later makes. They are defined +# here so that they can be overridden by Makefile fragments. +BOOT_CFLAGS= -g -O2 + CONFIGURED_BISON = @CONFIGURED_BISON@ -BISON = `if [ -f $$r/$(BUILD_DIR_PREFIX)/bison/bison ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/bison/bison -L $$s/bison/ ; \ +BISON = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ + echo $$r/$(BUILD_SUBDIR)/bison/tests/bison ; \ else \ echo ${CONFIGURED_BISON} ; \ fi` CONFIGURED_YACC = @CONFIGURED_YACC@ -YACC = `if [ -f $$s/$(BUILD_DIR_PREFIX)/bison/bison ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/bison/bison -y -L $$s/bison/ ; \ - elif [ -f $$s/$(BUILD_DIR_PREFIX)/byacc/byacc ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/byacc/byacc ; \ +YACC = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ + echo $$r/$(BUILD_SUBDIR)/bison/tests/bison -y ; \ + elif [ -f $$r/$(BUILD_SUBDIR)/byacc/byacc ] ; then \ + echo $$r/$(BUILD_SUBDIR)/byacc/byacc ; \ else \ echo ${CONFIGURED_YACC} ; \ fi` CONFIGURED_FLEX = @CONFIGURED_FLEX@ -FLEX = `if [ -f $$r/$(BUILD_DIR_PREFIX)/flex/flex ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/flex/flex ; \ +FLEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ + then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ else echo ${CONFIGURED_FLEX} ; fi` CONFIGURED_LEX = @CONFIGURED_LEX@ -LEX = `if [ -f $$r/$(BUILD_DIR_PREFIX)/flex/flex ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/flex/flex ; \ +LEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ + then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ else echo ${CONFIGURED_LEX} ; fi` CONFIGURED_M4 = @CONFIGURED_M4@ -M4 = `if [ -f $$r/$(BUILD_DIR_PREFIX)/m4/m4 ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/m4/m4 ; \ +M4 = `if [ -f $$r/$(BUILD_SUBDIR)/m4/m4 ] ; \ + then echo $$r/$(BUILD_SUBDIR)/m4/m4 ; \ else echo ${CONFIGURED_M4} ; fi` # For an installed makeinfo, we require it to be from texinfo 4.2 or @@ -284,8 +290,8 @@ M4 = `if [ -f $$r/$(BUILD_DIR_PREFIX)/m4 # makeinfo even if only the Makefile is there, because Texinfo builds its # manual when made, and it requires its own version. CONFIGURED_MAKEINFO = @CONFIGURED_MAKEINFO@ -MAKEINFO = `if [ -f $$r/$(BUILD_DIR_PREFIX)/texinfo/makeinfo/Makefile ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/texinfo/makeinfo/makeinfo ; \ +MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \ + then echo $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo ; \ else if (${CONFIGURED_MAKEINFO} --version \ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ then echo ${CONFIGURED_MAKEINFO}; else echo $$s/missing makeinfo; fi; fi` @@ -642,7 +648,7 @@ EXTRA_GCC_FLAGS = \ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) .PHONY: configure-host -configure-host: maybe-configure-gcc \ +configure-host: \ maybe-configure-ash \ maybe-configure-autoconf \ maybe-configure-automake \ @@ -663,6 +669,7 @@ configure-host: maybe-configure-gcc \ maybe-configure-find \ maybe-configure-flex \ maybe-configure-gas \ + maybe-configure-gcc \ maybe-configure-gawk \ maybe-configure-gettext \ maybe-configure-gnuserv \ @@ -676,7 +683,6 @@ configure-host: maybe-configure-gcc \ maybe-configure-ld \ maybe-configure-libcpp \ maybe-configure-libgui \ - maybe-configure-libbanshee \ maybe-configure-libiberty \ maybe-configure-libtool \ maybe-configure-m4 \ @@ -706,7 +712,6 @@ configure-host: maybe-configure-gcc \ maybe-configure-expect \ maybe-configure-guile \ maybe-configure-tk \ - maybe-configure-tix \ maybe-configure-libtermcap \ maybe-configure-utils .PHONY: configure-target @@ -732,19 +737,19 @@ configure-target: \ # The target built for a native non-bootstrap build. .PHONY: all -all: all-build all-host all-target +all: unstage all-host all-target stage .PHONY: all-build all-build: \ maybe-all-build-libiberty \ - maybe-all-build-libbanshee \ maybe-all-build-bison \ maybe-all-build-byacc \ maybe-all-build-flex \ maybe-all-build-m4 \ - maybe-all-build-texinfo + maybe-all-build-texinfo \ + maybe-all-build-fixincludes .PHONY: all-host -all-host: maybe-all-gcc \ +all-host: \ maybe-all-ash \ maybe-all-autoconf \ maybe-all-automake \ @@ -765,6 +770,7 @@ all-host: maybe-all-gcc \ maybe-all-find \ maybe-all-flex \ maybe-all-gas \ + maybe-all-gcc \ maybe-all-gawk \ maybe-all-gettext \ maybe-all-gnuserv \ @@ -778,7 +784,6 @@ all-host: maybe-all-gcc \ maybe-all-ld \ maybe-all-libcpp \ maybe-all-libgui \ - maybe-all-libbanshee \ maybe-all-libiberty \ maybe-all-libtool \ maybe-all-m4 \ @@ -808,7 +813,6 @@ all-host: maybe-all-gcc \ maybe-all-expect \ maybe-all-guile \ maybe-all-tk \ - maybe-all-tix \ maybe-all-libtermcap \ maybe-all-utils .PHONY: all-target @@ -838,10 +842,10 @@ all-target: \ # but it may do additional work as well). .PHONY: do-info -do-info: info-host info-target +do-info: unstage info-host info-target stage .PHONY: info-host -info-host: maybe-info-gcc \ +info-host: \ maybe-info-ash \ maybe-info-autoconf \ maybe-info-automake \ @@ -862,6 +866,7 @@ info-host: maybe-info-gcc \ maybe-info-find \ maybe-info-flex \ maybe-info-gas \ + maybe-info-gcc \ maybe-info-gawk \ maybe-info-gettext \ maybe-info-gnuserv \ @@ -875,7 +880,6 @@ info-host: maybe-info-gcc \ maybe-info-ld \ maybe-info-libcpp \ maybe-info-libgui \ - maybe-info-libbanshee \ maybe-info-libiberty \ maybe-info-libtool \ maybe-info-m4 \ @@ -905,7 +909,6 @@ info-host: maybe-info-gcc \ maybe-info-expect \ maybe-info-guile \ maybe-info-tk \ - maybe-info-tix \ maybe-info-libtermcap \ maybe-info-utils @@ -931,10 +934,10 @@ info-target: \ maybe-info-target-libada .PHONY: do-dvi -do-dvi: dvi-host dvi-target +do-dvi: unstage dvi-host dvi-target stage .PHONY: dvi-host -dvi-host: maybe-dvi-gcc \ +dvi-host: \ maybe-dvi-ash \ maybe-dvi-autoconf \ maybe-dvi-automake \ @@ -955,6 +958,7 @@ dvi-host: maybe-dvi-gcc \ maybe-dvi-find \ maybe-dvi-flex \ maybe-dvi-gas \ + maybe-dvi-gcc \ maybe-dvi-gawk \ maybe-dvi-gettext \ maybe-dvi-gnuserv \ @@ -968,7 +972,6 @@ dvi-host: maybe-dvi-gcc \ maybe-dvi-ld \ maybe-dvi-libcpp \ maybe-dvi-libgui \ - maybe-dvi-libbanshee \ maybe-dvi-libiberty \ maybe-dvi-libtool \ maybe-dvi-m4 \ @@ -998,7 +1001,6 @@ dvi-host: maybe-dvi-gcc \ maybe-dvi-expect \ maybe-dvi-guile \ maybe-dvi-tk \ - maybe-dvi-tix \ maybe-dvi-libtermcap \ maybe-dvi-utils @@ -1024,10 +1026,10 @@ dvi-target: \ maybe-dvi-target-libada .PHONY: do-TAGS -do-TAGS: TAGS-host TAGS-target +do-TAGS: unstage TAGS-host TAGS-target stage .PHONY: TAGS-host -TAGS-host: maybe-TAGS-gcc \ +TAGS-host: \ maybe-TAGS-ash \ maybe-TAGS-autoconf \ maybe-TAGS-automake \ @@ -1048,6 +1050,7 @@ TAGS-host: maybe-TAGS-gcc \ maybe-TAGS-find \ maybe-TAGS-flex \ maybe-TAGS-gas \ + maybe-TAGS-gcc \ maybe-TAGS-gawk \ maybe-TAGS-gettext \ maybe-TAGS-gnuserv \ @@ -1061,7 +1064,6 @@ TAGS-host: maybe-TAGS-gcc \ maybe-TAGS-ld \ maybe-TAGS-libcpp \ maybe-TAGS-libgui \ - maybe-TAGS-libbanshee \ maybe-TAGS-libiberty \ maybe-TAGS-libtool \ maybe-TAGS-m4 \ @@ -1091,7 +1093,6 @@ TAGS-host: maybe-TAGS-gcc \ maybe-TAGS-expect \ maybe-TAGS-guile \ maybe-TAGS-tk \ - maybe-TAGS-tix \ maybe-TAGS-libtermcap \ maybe-TAGS-utils @@ -1117,10 +1118,10 @@ TAGS-target: \ maybe-TAGS-target-libada .PHONY: do-install-info -do-install-info: install-info-host install-info-target +do-install-info: unstage install-info-host install-info-target stage .PHONY: install-info-host -install-info-host: maybe-install-info-gcc \ +install-info-host: \ maybe-install-info-ash \ maybe-install-info-autoconf \ maybe-install-info-automake \ @@ -1141,6 +1142,7 @@ install-info-host: maybe-install-info-gc maybe-install-info-find \ maybe-install-info-flex \ maybe-install-info-gas \ + maybe-install-info-gcc \ maybe-install-info-gawk \ maybe-install-info-gettext \ maybe-install-info-gnuserv \ @@ -1154,7 +1156,6 @@ install-info-host: maybe-install-info-gc maybe-install-info-ld \ maybe-install-info-libcpp \ maybe-install-info-libgui \ - maybe-install-info-libbanshee \ maybe-install-info-libiberty \ maybe-install-info-libtool \ maybe-install-info-m4 \ @@ -1184,7 +1185,6 @@ install-info-host: maybe-install-info-gc maybe-install-info-expect \ maybe-install-info-guile \ maybe-install-info-tk \ - maybe-install-info-tix \ maybe-install-info-libtermcap \ maybe-install-info-utils @@ -1210,10 +1210,10 @@ install-info-target: \ maybe-install-info-target-libada .PHONY: do-installcheck -do-installcheck: installcheck-host installcheck-target +do-installcheck: unstage installcheck-host installcheck-target stage .PHONY: installcheck-host -installcheck-host: maybe-installcheck-gcc \ +installcheck-host: \ maybe-installcheck-ash \ maybe-installcheck-autoconf \ maybe-installcheck-automake \ @@ -1234,6 +1234,7 @@ installcheck-host: maybe-installcheck-gc maybe-installcheck-find \ maybe-installcheck-flex \ maybe-installcheck-gas \ + maybe-installcheck-gcc \ maybe-installcheck-gawk \ maybe-installcheck-gettext \ maybe-installcheck-gnuserv \ @@ -1247,7 +1248,6 @@ installcheck-host: maybe-installcheck-gc maybe-installcheck-ld \ maybe-installcheck-libcpp \ maybe-installcheck-libgui \ - maybe-installcheck-libbanshee \ maybe-installcheck-libiberty \ maybe-installcheck-libtool \ maybe-installcheck-m4 \ @@ -1277,7 +1277,6 @@ installcheck-host: maybe-installcheck-gc maybe-installcheck-expect \ maybe-installcheck-guile \ maybe-installcheck-tk \ - maybe-installcheck-tix \ maybe-installcheck-libtermcap \ maybe-installcheck-utils @@ -1303,10 +1302,10 @@ installcheck-target: \ maybe-installcheck-target-libada .PHONY: do-mostlyclean -do-mostlyclean: mostlyclean-host mostlyclean-target +do-mostlyclean: unstage mostlyclean-host mostlyclean-target stage .PHONY: mostlyclean-host -mostlyclean-host: maybe-mostlyclean-gcc \ +mostlyclean-host: \ maybe-mostlyclean-ash \ maybe-mostlyclean-autoconf \ maybe-mostlyclean-automake \ @@ -1327,6 +1326,7 @@ mostlyclean-host: maybe-mostlyclean-gcc maybe-mostlyclean-find \ maybe-mostlyclean-flex \ maybe-mostlyclean-gas \ + maybe-mostlyclean-gcc \ maybe-mostlyclean-gawk \ maybe-mostlyclean-gettext \ maybe-mostlyclean-gnuserv \ @@ -1340,7 +1340,6 @@ mostlyclean-host: maybe-mostlyclean-gcc maybe-mostlyclean-ld \ maybe-mostlyclean-libcpp \ maybe-mostlyclean-libgui \ - maybe-mostlyclean-libbanshee \ maybe-mostlyclean-libiberty \ maybe-mostlyclean-libtool \ maybe-mostlyclean-m4 \ @@ -1370,7 +1369,6 @@ mostlyclean-host: maybe-mostlyclean-gcc maybe-mostlyclean-expect \ maybe-mostlyclean-guile \ maybe-mostlyclean-tk \ - maybe-mostlyclean-tix \ maybe-mostlyclean-libtermcap \ maybe-mostlyclean-utils @@ -1396,10 +1394,10 @@ mostlyclean-target: \ maybe-mostlyclean-target-libada .PHONY: do-clean -do-clean: clean-host clean-target +do-clean: unstage clean-host clean-target stage .PHONY: clean-host -clean-host: maybe-clean-gcc \ +clean-host: \ maybe-clean-ash \ maybe-clean-autoconf \ maybe-clean-automake \ @@ -1420,6 +1418,7 @@ clean-host: maybe-clean-gcc \ maybe-clean-find \ maybe-clean-flex \ maybe-clean-gas \ + maybe-clean-gcc \ maybe-clean-gawk \ maybe-clean-gettext \ maybe-clean-gnuserv \ @@ -1433,7 +1432,6 @@ clean-host: maybe-clean-gcc \ maybe-clean-ld \ maybe-clean-libcpp \ maybe-clean-libgui \ - maybe-clean-libbanshee \ maybe-clean-libiberty \ maybe-clean-libtool \ maybe-clean-m4 \ @@ -1463,7 +1461,6 @@ clean-host: maybe-clean-gcc \ maybe-clean-expect \ maybe-clean-guile \ maybe-clean-tk \ - maybe-clean-tix \ maybe-clean-libtermcap \ maybe-clean-utils @@ -1489,10 +1486,10 @@ clean-target: \ maybe-clean-target-libada .PHONY: do-distclean -do-distclean: distclean-host distclean-target +do-distclean: unstage distclean-host distclean-target stage .PHONY: distclean-host -distclean-host: maybe-distclean-gcc \ +distclean-host: \ maybe-distclean-ash \ maybe-distclean-autoconf \ maybe-distclean-automake \ @@ -1513,6 +1510,7 @@ distclean-host: maybe-distclean-gcc \ maybe-distclean-find \ maybe-distclean-flex \ maybe-distclean-gas \ + maybe-distclean-gcc \ maybe-distclean-gawk \ maybe-distclean-gettext \ maybe-distclean-gnuserv \ @@ -1526,7 +1524,6 @@ distclean-host: maybe-distclean-gcc \ maybe-distclean-ld \ maybe-distclean-libcpp \ maybe-distclean-libgui \ - maybe-distclean-libbanshee \ maybe-distclean-libiberty \ maybe-distclean-libtool \ maybe-distclean-m4 \ @@ -1556,7 +1553,6 @@ distclean-host: maybe-distclean-gcc \ maybe-distclean-expect \ maybe-distclean-guile \ maybe-distclean-tk \ - maybe-distclean-tix \ maybe-distclean-libtermcap \ maybe-distclean-utils @@ -1582,10 +1578,10 @@ distclean-target: \ maybe-distclean-target-libada .PHONY: do-maintainer-clean -do-maintainer-clean: maintainer-clean-host maintainer-clean-target +do-maintainer-clean: unstage maintainer-clean-host maintainer-clean-target stage .PHONY: maintainer-clean-host -maintainer-clean-host: maybe-maintainer-clean-gcc \ +maintainer-clean-host: \ maybe-maintainer-clean-ash \ maybe-maintainer-clean-autoconf \ maybe-maintainer-clean-automake \ @@ -1606,6 +1602,7 @@ maintainer-clean-host: maybe-maintainer- maybe-maintainer-clean-find \ maybe-maintainer-clean-flex \ maybe-maintainer-clean-gas \ + maybe-maintainer-clean-gcc \ maybe-maintainer-clean-gawk \ maybe-maintainer-clean-gettext \ maybe-maintainer-clean-gnuserv \ @@ -1619,7 +1616,6 @@ maintainer-clean-host: maybe-maintainer- maybe-maintainer-clean-ld \ maybe-maintainer-clean-libcpp \ maybe-maintainer-clean-libgui \ - maybe-maintainer-clean-libbanshee \ maybe-maintainer-clean-libiberty \ maybe-maintainer-clean-libtool \ maybe-maintainer-clean-m4 \ @@ -1649,7 +1645,6 @@ maintainer-clean-host: maybe-maintainer- maybe-maintainer-clean-expect \ maybe-maintainer-clean-guile \ maybe-maintainer-clean-tk \ - maybe-maintainer-clean-tix \ maybe-maintainer-clean-libtermcap \ maybe-maintainer-clean-utils @@ -1735,7 +1730,7 @@ clean-target-libgcc: check: do-check # Only include modules actually being configured and built. -do-check: maybe-check-gcc \ +do-check: unstage \ maybe-check-ash \ maybe-check-autoconf \ maybe-check-automake \ @@ -1756,6 +1751,7 @@ do-check: maybe-check-gcc \ maybe-check-find \ maybe-check-flex \ maybe-check-gas \ + maybe-check-gcc \ maybe-check-gawk \ maybe-check-gettext \ maybe-check-gnuserv \ @@ -1769,7 +1765,6 @@ do-check: maybe-check-gcc \ maybe-check-ld \ maybe-check-libcpp \ maybe-check-libgui \ - maybe-check-libbanshee \ maybe-check-libiberty \ maybe-check-libtool \ maybe-check-m4 \ @@ -1799,7 +1794,6 @@ do-check: maybe-check-gcc \ maybe-check-expect \ maybe-check-guile \ maybe-check-tk \ - maybe-check-tix \ maybe-check-libtermcap \ maybe-check-utils \ maybe-check-target-libstdc++-v3 \ @@ -1819,7 +1813,7 @@ do-check: maybe-check-gcc \ maybe-check-target-boehm-gc \ maybe-check-target-qthreads \ maybe-check-target-rda \ - maybe-check-target-libada + maybe-check-target-libada stage # Automated reporting of test results. @@ -1882,7 +1876,6 @@ install-host-nogcc: \ maybe-install-ld \ maybe-install-libcpp \ maybe-install-libgui \ - maybe-install-libbanshee \ maybe-install-libiberty \ maybe-install-libtool \ maybe-install-m4 \ @@ -1912,12 +1905,11 @@ install-host-nogcc: \ maybe-install-expect \ maybe-install-guile \ maybe-install-tk \ - maybe-install-tix \ maybe-install-libtermcap \ maybe-install-utils .PHONY: install-host -install-host: maybe-install-gcc \ +install-host: \ maybe-install-ash \ maybe-install-autoconf \ maybe-install-automake \ @@ -1938,6 +1930,7 @@ install-host: maybe-install-gcc \ maybe-install-find \ maybe-install-flex \ maybe-install-gas \ + maybe-install-gcc \ maybe-install-gawk \ maybe-install-gettext \ maybe-install-gnuserv \ @@ -1951,7 +1944,6 @@ install-host: maybe-install-gcc \ maybe-install-ld \ maybe-install-libcpp \ maybe-install-libgui \ - maybe-install-libbanshee \ maybe-install-libiberty \ maybe-install-libtool \ maybe-install-m4 \ @@ -1981,7 +1973,6 @@ install-host: maybe-install-gcc \ maybe-install-expect \ maybe-install-guile \ maybe-install-tk \ - maybe-install-tix \ maybe-install-libtermcap \ maybe-install-utils @@ -2116,77 +2107,16 @@ configure-build-libiberty: .PHONY: all-build-libiberty maybe-all-build-libiberty maybe-all-build-libiberty: @if build-libiberty +TARGET-build-libiberty=all maybe-all-build-libiberty: all-build-libiberty all-build-libiberty: configure-build-libiberty @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/libiberty && $(MAKE) all) + (cd $(BUILD_SUBDIR)/libiberty && \ + $(MAKE) $(TARGET-build-libiberty)) @endif build-libiberty -.PHONY: configure-build-libbanshee maybe-configure-build-libbanshee -maybe-configure-build-libbanshee: -@if build-libbanshee -maybe-configure-build-libbanshee: configure-build-libbanshee -configure-build-libbanshee: - @test ! -f $(BUILD_SUBDIR)/libbanshee/Makefile || exit 0; \ - $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libbanshee ; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(BUILD_EXPORTS) \ - echo Configuring in $(BUILD_SUBDIR)/libbanshee; \ - cd "$(BUILD_SUBDIR)/libbanshee" || exit 1; \ - case $(srcdir) in \ - /* | [A-Za-z]:[\\/]*) \ - topdir=$(srcdir) ;; \ - *) \ - case "$(BUILD_SUBDIR)" in \ - .) topdir="../$(srcdir)" ;; \ - *) topdir="../../$(srcdir)" ;; \ - esac ;; \ - esac; \ - if [ "$(srcdir)" = "." ] ; then \ - if [ "$(BUILD_SUBDIR)" != "." ] ; then \ - if $(SHELL) $$s/symlink-tree $${topdir}/libbanshee "no-such-file" ; then \ - if [ -f Makefile ]; then \ - if $(MAKE) distclean; then \ - true; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - else \ - exit 1; \ - fi; \ - else \ - true; \ - fi; \ - srcdiroption="--srcdir=."; \ - libsrcdir="."; \ - else \ - srcdiroption="--srcdir=$${topdir}/libbanshee"; \ - libsrcdir="$$s/libbanshee"; \ - fi; \ - rm -f no-such-file || : ; \ - CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ - $(BUILD_CONFIGARGS) $${srcdiroption} \ - --with-build-subdir="$(BUILD_SUBDIR)" \ - || exit 1 -@endif build-libbanshee - -.PHONY: all-build-libbanshee maybe-all-build-libbanshee -maybe-all-build-libbanshee: -@if build-libbanshee -maybe-all-build-libbanshee: all-build-libbanshee -all-build-libbanshee: configure-build-libbanshee - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/libbanshee && $(MAKE) all) -@endif build-libbanshee - .PHONY: configure-build-bison maybe-configure-build-bison maybe-configure-build-bison: @if build-bison @@ -2242,12 +2172,14 @@ configure-build-bison: .PHONY: all-build-bison maybe-all-build-bison maybe-all-build-bison: @if build-bison +TARGET-build-bison=all maybe-all-build-bison: all-build-bison all-build-bison: configure-build-bison @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/bison && $(MAKE) all) + (cd $(BUILD_SUBDIR)/bison && \ + $(MAKE) $(TARGET-build-bison)) @endif build-bison .PHONY: configure-build-byacc maybe-configure-build-byacc @@ -2305,12 +2237,14 @@ configure-build-byacc: .PHONY: all-build-byacc maybe-all-build-byacc maybe-all-build-byacc: @if build-byacc +TARGET-build-byacc=all maybe-all-build-byacc: all-build-byacc all-build-byacc: configure-build-byacc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/byacc && $(MAKE) all) + (cd $(BUILD_SUBDIR)/byacc && \ + $(MAKE) $(TARGET-build-byacc)) @endif build-byacc .PHONY: configure-build-flex maybe-configure-build-flex @@ -2368,12 +2302,14 @@ configure-build-flex: .PHONY: all-build-flex maybe-all-build-flex maybe-all-build-flex: @if build-flex +TARGET-build-flex=all maybe-all-build-flex: all-build-flex all-build-flex: configure-build-flex @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/flex && $(MAKE) all) + (cd $(BUILD_SUBDIR)/flex && \ + $(MAKE) $(TARGET-build-flex)) @endif build-flex .PHONY: configure-build-m4 maybe-configure-build-m4 @@ -2431,12 +2367,14 @@ configure-build-m4: .PHONY: all-build-m4 maybe-all-build-m4 maybe-all-build-m4: @if build-m4 +TARGET-build-m4=all maybe-all-build-m4: all-build-m4 all-build-m4: configure-build-m4 @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/m4 && $(MAKE) all) + (cd $(BUILD_SUBDIR)/m4 && \ + $(MAKE) $(TARGET-build-m4)) @endif build-m4 .PHONY: configure-build-texinfo maybe-configure-build-texinfo @@ -2494,14 +2432,81 @@ configure-build-texinfo: .PHONY: all-build-texinfo maybe-all-build-texinfo maybe-all-build-texinfo: @if build-texinfo +TARGET-build-texinfo=all maybe-all-build-texinfo: all-build-texinfo all-build-texinfo: configure-build-texinfo @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/texinfo && $(MAKE) all) + (cd $(BUILD_SUBDIR)/texinfo && \ + $(MAKE) $(TARGET-build-texinfo)) @endif build-texinfo +.PHONY: configure-build-fixincludes maybe-configure-build-fixincludes +maybe-configure-build-fixincludes: +@if build-fixincludes +maybe-configure-build-fixincludes: configure-build-fixincludes +configure-build-fixincludes: + @test ! -f $(BUILD_SUBDIR)/fixincludes/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/fixincludes ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(BUILD_EXPORTS) \ + echo Configuring in $(BUILD_SUBDIR)/fixincludes; \ + cd "$(BUILD_SUBDIR)/fixincludes" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) \ + topdir=$(srcdir) ;; \ + *) \ + case "$(BUILD_SUBDIR)" in \ + .) topdir="../$(srcdir)" ;; \ + *) topdir="../../$(srcdir)" ;; \ + esac ;; \ + esac; \ + if [ "$(srcdir)" = "." ] ; then \ + if [ "$(BUILD_SUBDIR)" != "." ] ; then \ + if $(SHELL) $$s/symlink-tree $${topdir}/fixincludes "no-such-file" ; then \ + if [ -f Makefile ]; then \ + if $(MAKE) distclean; then \ + true; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + else \ + exit 1; \ + fi; \ + else \ + true; \ + fi; \ + srcdiroption="--srcdir=."; \ + libsrcdir="."; \ + else \ + srcdiroption="--srcdir=$${topdir}/fixincludes"; \ + libsrcdir="$$s/fixincludes"; \ + fi; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(BUILD_CONFIGARGS) $${srcdiroption} \ + --with-build-subdir="$(BUILD_SUBDIR)" \ + || exit 1 +@endif build-fixincludes + +.PHONY: all-build-fixincludes maybe-all-build-fixincludes +maybe-all-build-fixincludes: +@if build-fixincludes +TARGET-build-fixincludes=all +maybe-all-build-fixincludes: all-build-fixincludes +all-build-fixincludes: configure-build-fixincludes + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(BUILD_EXPORTS) \ + (cd $(BUILD_SUBDIR)/fixincludes && \ + $(MAKE) $(TARGET-build-fixincludes)) +@endif build-fixincludes + # -------------------------------------- # Modules which run on the host machine @@ -2557,7 +2562,7 @@ check-ash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd ash && $(MAKE) $(FLAGS_TO_PASS) check) + (cd ash && $(MAKE) $(FLAGS_TO_PASS) check) @endif ash @@ -2571,7 +2576,7 @@ install-ash: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd ash && $(MAKE) $(FLAGS_TO_PASS) install) + (cd ash && $(MAKE) $(FLAGS_TO_PASS) install) @endif ash @@ -2589,7 +2594,7 @@ info-ash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in ash" ; \ @@ -2598,7 +2603,7 @@ info-ash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif ash @@ -2615,7 +2620,7 @@ dvi-ash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in ash" ; \ @@ -2624,7 +2629,7 @@ dvi-ash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif ash @@ -2641,7 +2646,7 @@ TAGS-ash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in ash" ; \ @@ -2650,7 +2655,7 @@ TAGS-ash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif ash @@ -2668,7 +2673,7 @@ install-info-ash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in ash" ; \ @@ -2677,7 +2682,7 @@ install-info-ash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif ash @@ -2694,7 +2699,7 @@ installcheck-ash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in ash" ; \ @@ -2703,7 +2708,7 @@ installcheck-ash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif ash @@ -2719,7 +2724,7 @@ mostlyclean-ash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in ash" ; \ @@ -2728,7 +2733,7 @@ mostlyclean-ash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif ash @@ -2744,7 +2749,7 @@ clean-ash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in ash" ; \ @@ -2753,7 +2758,7 @@ clean-ash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif ash @@ -2769,7 +2774,7 @@ distclean-ash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in ash" ; \ @@ -2778,7 +2783,7 @@ distclean-ash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif ash @@ -2794,7 +2799,7 @@ maintainer-clean-ash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in ash" ; \ @@ -2803,7 +2808,7 @@ maintainer-clean-ash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif ash @@ -2859,7 +2864,7 @@ check-autoconf: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check) + (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check) @endif autoconf @@ -2873,7 +2878,7 @@ install-autoconf: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install) + (cd autoconf && $(MAKE) $(FLAGS_TO_PASS) install) @endif autoconf @@ -2891,7 +2896,7 @@ info-autoconf: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in autoconf" ; \ @@ -2900,7 +2905,7 @@ info-autoconf: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif autoconf @@ -2917,7 +2922,7 @@ dvi-autoconf: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in autoconf" ; \ @@ -2926,7 +2931,7 @@ dvi-autoconf: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif autoconf @@ -2943,7 +2948,7 @@ TAGS-autoconf: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in autoconf" ; \ @@ -2952,7 +2957,7 @@ TAGS-autoconf: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif autoconf @@ -2970,7 +2975,7 @@ install-info-autoconf: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in autoconf" ; \ @@ -2979,7 +2984,7 @@ install-info-autoconf: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif autoconf @@ -2996,7 +3001,7 @@ installcheck-autoconf: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in autoconf" ; \ @@ -3005,7 +3010,7 @@ installcheck-autoconf: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif autoconf @@ -3021,7 +3026,7 @@ mostlyclean-autoconf: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in autoconf" ; \ @@ -3030,7 +3035,7 @@ mostlyclean-autoconf: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif autoconf @@ -3046,7 +3051,7 @@ clean-autoconf: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in autoconf" ; \ @@ -3055,7 +3060,7 @@ clean-autoconf: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif autoconf @@ -3071,7 +3076,7 @@ distclean-autoconf: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in autoconf" ; \ @@ -3080,7 +3085,7 @@ distclean-autoconf: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif autoconf @@ -3096,7 +3101,7 @@ maintainer-clean-autoconf: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in autoconf" ; \ @@ -3105,7 +3110,7 @@ maintainer-clean-autoconf: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif autoconf @@ -3161,7 +3166,7 @@ check-automake: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd automake && $(MAKE) $(FLAGS_TO_PASS) check) + (cd automake && $(MAKE) $(FLAGS_TO_PASS) check) @endif automake @@ -3175,7 +3180,7 @@ install-automake: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd automake && $(MAKE) $(FLAGS_TO_PASS) install) + (cd automake && $(MAKE) $(FLAGS_TO_PASS) install) @endif automake @@ -3193,7 +3198,7 @@ info-automake: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in automake" ; \ @@ -3202,7 +3207,7 @@ info-automake: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif automake @@ -3219,7 +3224,7 @@ dvi-automake: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in automake" ; \ @@ -3228,7 +3233,7 @@ dvi-automake: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif automake @@ -3245,7 +3250,7 @@ TAGS-automake: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in automake" ; \ @@ -3254,7 +3259,7 @@ TAGS-automake: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif automake @@ -3272,7 +3277,7 @@ install-info-automake: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in automake" ; \ @@ -3281,7 +3286,7 @@ install-info-automake: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif automake @@ -3298,7 +3303,7 @@ installcheck-automake: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in automake" ; \ @@ -3307,7 +3312,7 @@ installcheck-automake: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif automake @@ -3323,7 +3328,7 @@ mostlyclean-automake: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in automake" ; \ @@ -3332,7 +3337,7 @@ mostlyclean-automake: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif automake @@ -3348,7 +3353,7 @@ clean-automake: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in automake" ; \ @@ -3357,7 +3362,7 @@ clean-automake: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif automake @@ -3373,7 +3378,7 @@ distclean-automake: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in automake" ; \ @@ -3382,7 +3387,7 @@ distclean-automake: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif automake @@ -3398,7 +3403,7 @@ maintainer-clean-automake: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in automake" ; \ @@ -3407,7 +3412,7 @@ maintainer-clean-automake: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif automake @@ -3463,7 +3468,7 @@ check-bash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bash && $(MAKE) $(FLAGS_TO_PASS) check) + (cd bash && $(MAKE) $(FLAGS_TO_PASS) check) @endif bash @@ -3477,7 +3482,7 @@ install-bash: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bash && $(MAKE) $(FLAGS_TO_PASS) install) + (cd bash && $(MAKE) $(FLAGS_TO_PASS) install) @endif bash @@ -3495,7 +3500,7 @@ info-bash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in bash" ; \ @@ -3504,7 +3509,7 @@ info-bash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif bash @@ -3521,7 +3526,7 @@ dvi-bash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in bash" ; \ @@ -3530,7 +3535,7 @@ dvi-bash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif bash @@ -3547,7 +3552,7 @@ TAGS-bash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in bash" ; \ @@ -3556,7 +3561,7 @@ TAGS-bash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif bash @@ -3574,7 +3579,7 @@ install-info-bash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in bash" ; \ @@ -3583,7 +3588,7 @@ install-info-bash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif bash @@ -3600,7 +3605,7 @@ installcheck-bash: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in bash" ; \ @@ -3609,7 +3614,7 @@ installcheck-bash: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif bash @@ -3625,7 +3630,7 @@ mostlyclean-bash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in bash" ; \ @@ -3634,7 +3639,7 @@ mostlyclean-bash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif bash @@ -3650,7 +3655,7 @@ clean-bash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in bash" ; \ @@ -3659,7 +3664,7 @@ clean-bash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif bash @@ -3675,7 +3680,7 @@ distclean-bash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in bash" ; \ @@ -3684,7 +3689,7 @@ distclean-bash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif bash @@ -3700,7 +3705,7 @@ maintainer-clean-bash: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in bash" ; \ @@ -3709,7 +3714,7 @@ maintainer-clean-bash: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif bash @@ -3720,7 +3725,8 @@ maybe-configure-bfd: @if bfd maybe-configure-bfd: configure-bfd configure-bfd: - @test ! -f bfd/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f bfd/Makefile || exit 0; \ [ -d bfd ] || mkdir bfd; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -3748,7 +3754,8 @@ maybe-all-bfd: @if bfd maybe-all-bfd: all-bfd all-bfd: configure-bfd - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -3765,7 +3772,7 @@ check-bfd: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check) + (cd bfd && $(MAKE) $(FLAGS_TO_PASS) check) @endif bfd @@ -3779,7 +3786,7 @@ install-bfd: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install) + (cd bfd && $(MAKE) $(FLAGS_TO_PASS) install) @endif bfd @@ -3797,7 +3804,7 @@ info-bfd: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in bfd" ; \ @@ -3806,7 +3813,7 @@ info-bfd: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif bfd @@ -3823,7 +3830,7 @@ dvi-bfd: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in bfd" ; \ @@ -3832,7 +3839,7 @@ dvi-bfd: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif bfd @@ -3849,7 +3856,7 @@ TAGS-bfd: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in bfd" ; \ @@ -3858,7 +3865,7 @@ TAGS-bfd: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif bfd @@ -3876,7 +3883,7 @@ install-info-bfd: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in bfd" ; \ @@ -3885,7 +3892,7 @@ install-info-bfd: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif bfd @@ -3902,7 +3909,7 @@ installcheck-bfd: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in bfd" ; \ @@ -3911,7 +3918,7 @@ installcheck-bfd: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif bfd @@ -3927,7 +3934,7 @@ mostlyclean-bfd: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in bfd" ; \ @@ -3936,7 +3943,7 @@ mostlyclean-bfd: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif bfd @@ -3952,7 +3959,7 @@ clean-bfd: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in bfd" ; \ @@ -3961,7 +3968,7 @@ clean-bfd: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif bfd @@ -3977,7 +3984,7 @@ distclean-bfd: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in bfd" ; \ @@ -3986,7 +3993,7 @@ distclean-bfd: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif bfd @@ -4002,7 +4009,7 @@ maintainer-clean-bfd: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in bfd" ; \ @@ -4011,7 +4018,7 @@ maintainer-clean-bfd: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif bfd @@ -4022,7 +4029,8 @@ maybe-configure-opcodes: @if opcodes maybe-configure-opcodes: configure-opcodes configure-opcodes: - @test ! -f opcodes/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f opcodes/Makefile || exit 0; \ [ -d opcodes ] || mkdir opcodes; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -4050,7 +4058,8 @@ maybe-all-opcodes: @if opcodes maybe-all-opcodes: all-opcodes all-opcodes: configure-opcodes - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -4067,7 +4076,7 @@ check-opcodes: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check) + (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check) @endif opcodes @@ -4081,7 +4090,7 @@ install-opcodes: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install) + (cd opcodes && $(MAKE) $(FLAGS_TO_PASS) install) @endif opcodes @@ -4099,7 +4108,7 @@ info-opcodes: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in opcodes" ; \ @@ -4108,7 +4117,7 @@ info-opcodes: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif opcodes @@ -4125,7 +4134,7 @@ dvi-opcodes: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in opcodes" ; \ @@ -4134,7 +4143,7 @@ dvi-opcodes: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif opcodes @@ -4151,7 +4160,7 @@ TAGS-opcodes: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in opcodes" ; \ @@ -4160,7 +4169,7 @@ TAGS-opcodes: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif opcodes @@ -4178,7 +4187,7 @@ install-info-opcodes: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in opcodes" ; \ @@ -4187,7 +4196,7 @@ install-info-opcodes: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif opcodes @@ -4204,7 +4213,7 @@ installcheck-opcodes: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in opcodes" ; \ @@ -4213,7 +4222,7 @@ installcheck-opcodes: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif opcodes @@ -4229,7 +4238,7 @@ mostlyclean-opcodes: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in opcodes" ; \ @@ -4238,7 +4247,7 @@ mostlyclean-opcodes: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif opcodes @@ -4254,7 +4263,7 @@ clean-opcodes: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in opcodes" ; \ @@ -4263,7 +4272,7 @@ clean-opcodes: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif opcodes @@ -4279,7 +4288,7 @@ distclean-opcodes: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in opcodes" ; \ @@ -4288,7 +4297,7 @@ distclean-opcodes: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif opcodes @@ -4304,7 +4313,7 @@ maintainer-clean-opcodes: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in opcodes" ; \ @@ -4313,7 +4322,7 @@ maintainer-clean-opcodes: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif opcodes @@ -4324,7 +4333,8 @@ maybe-configure-binutils: @if binutils maybe-configure-binutils: configure-binutils configure-binutils: - @test ! -f binutils/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f binutils/Makefile || exit 0; \ [ -d binutils ] || mkdir binutils; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -4352,7 +4362,8 @@ maybe-all-binutils: @if binutils maybe-all-binutils: all-binutils all-binutils: configure-binutils - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -4369,7 +4380,7 @@ check-binutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd binutils && $(MAKE) $(FLAGS_TO_PASS) check) @endif binutils @@ -4383,7 +4394,7 @@ install-binutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd binutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif binutils @@ -4401,7 +4412,7 @@ info-binutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in binutils" ; \ @@ -4410,7 +4421,7 @@ info-binutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif binutils @@ -4427,7 +4438,7 @@ dvi-binutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in binutils" ; \ @@ -4436,7 +4447,7 @@ dvi-binutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif binutils @@ -4453,7 +4464,7 @@ TAGS-binutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in binutils" ; \ @@ -4462,7 +4473,7 @@ TAGS-binutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif binutils @@ -4480,7 +4491,7 @@ install-info-binutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in binutils" ; \ @@ -4489,7 +4500,7 @@ install-info-binutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif binutils @@ -4506,7 +4517,7 @@ installcheck-binutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in binutils" ; \ @@ -4515,7 +4526,7 @@ installcheck-binutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif binutils @@ -4531,7 +4542,7 @@ mostlyclean-binutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in binutils" ; \ @@ -4540,7 +4551,7 @@ mostlyclean-binutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif binutils @@ -4556,7 +4567,7 @@ clean-binutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in binutils" ; \ @@ -4565,7 +4576,7 @@ clean-binutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif binutils @@ -4581,7 +4592,7 @@ distclean-binutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in binutils" ; \ @@ -4590,7 +4601,7 @@ distclean-binutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif binutils @@ -4606,7 +4617,7 @@ maintainer-clean-binutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in binutils" ; \ @@ -4615,7 +4626,7 @@ maintainer-clean-binutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif binutils @@ -4688,7 +4699,7 @@ install-bison: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bison && $(MAKE) $(FLAGS_TO_PASS) install) + (cd bison && $(MAKE) $(FLAGS_TO_PASS) install) @endif bison @@ -4706,7 +4717,7 @@ info-bison: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in bison" ; \ @@ -4715,7 +4726,7 @@ info-bison: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif bison @@ -4732,7 +4743,7 @@ dvi-bison: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in bison" ; \ @@ -4741,7 +4752,7 @@ dvi-bison: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif bison @@ -4758,7 +4769,7 @@ TAGS-bison: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in bison" ; \ @@ -4767,7 +4778,7 @@ TAGS-bison: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif bison @@ -4785,7 +4796,7 @@ install-info-bison: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in bison" ; \ @@ -4794,7 +4805,7 @@ install-info-bison: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif bison @@ -4811,7 +4822,7 @@ installcheck-bison: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in bison" ; \ @@ -4820,7 +4831,7 @@ installcheck-bison: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif bison @@ -4836,7 +4847,7 @@ mostlyclean-bison: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in bison" ; \ @@ -4845,7 +4856,7 @@ mostlyclean-bison: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif bison @@ -4861,7 +4872,7 @@ clean-bison: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in bison" ; \ @@ -4870,7 +4881,7 @@ clean-bison: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif bison @@ -4886,7 +4897,7 @@ distclean-bison: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in bison" ; \ @@ -4895,7 +4906,7 @@ distclean-bison: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif bison @@ -4911,7 +4922,7 @@ maintainer-clean-bison: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in bison" ; \ @@ -4920,7 +4931,7 @@ maintainer-clean-bison: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif bison @@ -4993,7 +5004,7 @@ install-byacc: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install) + (cd byacc && $(MAKE) $(FLAGS_TO_PASS) install) @endif byacc @@ -5011,7 +5022,7 @@ info-byacc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in byacc" ; \ @@ -5020,7 +5031,7 @@ info-byacc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif byacc @@ -5037,7 +5048,7 @@ dvi-byacc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in byacc" ; \ @@ -5046,7 +5057,7 @@ dvi-byacc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif byacc @@ -5063,7 +5074,7 @@ TAGS-byacc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in byacc" ; \ @@ -5072,7 +5083,7 @@ TAGS-byacc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif byacc @@ -5090,7 +5101,7 @@ install-info-byacc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in byacc" ; \ @@ -5099,7 +5110,7 @@ install-info-byacc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif byacc @@ -5116,7 +5127,7 @@ installcheck-byacc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in byacc" ; \ @@ -5125,7 +5136,7 @@ installcheck-byacc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif byacc @@ -5141,7 +5152,7 @@ mostlyclean-byacc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in byacc" ; \ @@ -5150,7 +5161,7 @@ mostlyclean-byacc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif byacc @@ -5166,7 +5177,7 @@ clean-byacc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in byacc" ; \ @@ -5175,7 +5186,7 @@ clean-byacc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif byacc @@ -5191,7 +5202,7 @@ distclean-byacc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in byacc" ; \ @@ -5200,7 +5211,7 @@ distclean-byacc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif byacc @@ -5216,7 +5227,7 @@ maintainer-clean-byacc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in byacc" ; \ @@ -5225,7 +5236,7 @@ maintainer-clean-byacc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif byacc @@ -5281,7 +5292,7 @@ check-bzip2: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check) + (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check) @endif bzip2 @@ -5295,7 +5306,7 @@ install-bzip2: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install) + (cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) install) @endif bzip2 @@ -5313,7 +5324,7 @@ info-bzip2: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in bzip2" ; \ @@ -5322,7 +5333,7 @@ info-bzip2: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif bzip2 @@ -5339,7 +5350,7 @@ dvi-bzip2: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in bzip2" ; \ @@ -5348,7 +5359,7 @@ dvi-bzip2: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif bzip2 @@ -5365,7 +5376,7 @@ TAGS-bzip2: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in bzip2" ; \ @@ -5374,7 +5385,7 @@ TAGS-bzip2: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif bzip2 @@ -5392,7 +5403,7 @@ install-info-bzip2: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in bzip2" ; \ @@ -5401,7 +5412,7 @@ install-info-bzip2: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif bzip2 @@ -5418,7 +5429,7 @@ installcheck-bzip2: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in bzip2" ; \ @@ -5427,7 +5438,7 @@ installcheck-bzip2: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif bzip2 @@ -5443,7 +5454,7 @@ mostlyclean-bzip2: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in bzip2" ; \ @@ -5452,7 +5463,7 @@ mostlyclean-bzip2: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif bzip2 @@ -5468,7 +5479,7 @@ clean-bzip2: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in bzip2" ; \ @@ -5477,7 +5488,7 @@ clean-bzip2: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif bzip2 @@ -5493,7 +5504,7 @@ distclean-bzip2: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in bzip2" ; \ @@ -5502,7 +5513,7 @@ distclean-bzip2: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif bzip2 @@ -5518,7 +5529,7 @@ maintainer-clean-bzip2: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in bzip2" ; \ @@ -5527,7 +5538,7 @@ maintainer-clean-bzip2: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif bzip2 @@ -5583,7 +5594,7 @@ check-dejagnu: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check) + (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check) @endif dejagnu @@ -5597,7 +5608,7 @@ install-dejagnu: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install) + (cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) install) @endif dejagnu @@ -5615,7 +5626,7 @@ info-dejagnu: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in dejagnu" ; \ @@ -5624,7 +5635,7 @@ info-dejagnu: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif dejagnu @@ -5641,7 +5652,7 @@ dvi-dejagnu: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in dejagnu" ; \ @@ -5650,7 +5661,7 @@ dvi-dejagnu: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif dejagnu @@ -5667,7 +5678,7 @@ TAGS-dejagnu: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in dejagnu" ; \ @@ -5676,7 +5687,7 @@ TAGS-dejagnu: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif dejagnu @@ -5694,7 +5705,7 @@ install-info-dejagnu: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in dejagnu" ; \ @@ -5703,7 +5714,7 @@ install-info-dejagnu: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif dejagnu @@ -5720,7 +5731,7 @@ installcheck-dejagnu: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in dejagnu" ; \ @@ -5729,7 +5740,7 @@ installcheck-dejagnu: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif dejagnu @@ -5745,7 +5756,7 @@ mostlyclean-dejagnu: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in dejagnu" ; \ @@ -5754,7 +5765,7 @@ mostlyclean-dejagnu: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif dejagnu @@ -5770,7 +5781,7 @@ clean-dejagnu: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in dejagnu" ; \ @@ -5779,7 +5790,7 @@ clean-dejagnu: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif dejagnu @@ -5795,7 +5806,7 @@ distclean-dejagnu: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in dejagnu" ; \ @@ -5804,7 +5815,7 @@ distclean-dejagnu: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif dejagnu @@ -5820,7 +5831,7 @@ maintainer-clean-dejagnu: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in dejagnu" ; \ @@ -5829,7 +5840,7 @@ maintainer-clean-dejagnu: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif dejagnu @@ -5885,7 +5896,7 @@ check-diff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd diff && $(MAKE) $(FLAGS_TO_PASS) check) + (cd diff && $(MAKE) $(FLAGS_TO_PASS) check) @endif diff @@ -5899,7 +5910,7 @@ install-diff: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd diff && $(MAKE) $(FLAGS_TO_PASS) install) + (cd diff && $(MAKE) $(FLAGS_TO_PASS) install) @endif diff @@ -5917,7 +5928,7 @@ info-diff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in diff" ; \ @@ -5926,7 +5937,7 @@ info-diff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif diff @@ -5943,7 +5954,7 @@ dvi-diff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in diff" ; \ @@ -5952,7 +5963,7 @@ dvi-diff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif diff @@ -5969,7 +5980,7 @@ TAGS-diff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in diff" ; \ @@ -5978,7 +5989,7 @@ TAGS-diff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif diff @@ -5996,7 +6007,7 @@ install-info-diff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in diff" ; \ @@ -6005,7 +6016,7 @@ install-info-diff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif diff @@ -6022,7 +6033,7 @@ installcheck-diff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in diff" ; \ @@ -6031,7 +6042,7 @@ installcheck-diff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif diff @@ -6047,7 +6058,7 @@ mostlyclean-diff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in diff" ; \ @@ -6056,7 +6067,7 @@ mostlyclean-diff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif diff @@ -6072,7 +6083,7 @@ clean-diff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in diff" ; \ @@ -6081,7 +6092,7 @@ clean-diff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif diff @@ -6097,7 +6108,7 @@ distclean-diff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in diff" ; \ @@ -6106,7 +6117,7 @@ distclean-diff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif diff @@ -6122,7 +6133,7 @@ maintainer-clean-diff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in diff" ; \ @@ -6131,7 +6142,7 @@ maintainer-clean-diff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif diff @@ -6196,7 +6207,7 @@ install-dosutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd dosutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif dosutils @@ -6214,7 +6225,7 @@ info-dosutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in dosutils" ; \ @@ -6223,7 +6234,7 @@ info-dosutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif dosutils @@ -6240,7 +6251,7 @@ dvi-dosutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in dosutils" ; \ @@ -6249,7 +6260,7 @@ dvi-dosutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif dosutils @@ -6266,7 +6277,7 @@ TAGS-dosutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in dosutils" ; \ @@ -6275,7 +6286,7 @@ TAGS-dosutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif dosutils @@ -6293,7 +6304,7 @@ install-info-dosutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in dosutils" ; \ @@ -6302,7 +6313,7 @@ install-info-dosutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif dosutils @@ -6319,7 +6330,7 @@ installcheck-dosutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in dosutils" ; \ @@ -6328,7 +6339,7 @@ installcheck-dosutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif dosutils @@ -6344,7 +6355,7 @@ mostlyclean-dosutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in dosutils" ; \ @@ -6353,7 +6364,7 @@ mostlyclean-dosutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif dosutils @@ -6369,7 +6380,7 @@ clean-dosutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in dosutils" ; \ @@ -6378,7 +6389,7 @@ clean-dosutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif dosutils @@ -6394,7 +6405,7 @@ distclean-dosutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in dosutils" ; \ @@ -6403,7 +6414,7 @@ distclean-dosutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif dosutils @@ -6419,7 +6430,7 @@ maintainer-clean-dosutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in dosutils" ; \ @@ -6428,7 +6439,7 @@ maintainer-clean-dosutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif dosutils @@ -6484,7 +6495,7 @@ check-etc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd etc && $(MAKE) $(FLAGS_TO_PASS) check) + (cd etc && $(MAKE) $(FLAGS_TO_PASS) check) @endif etc @@ -6498,7 +6509,7 @@ install-etc: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd etc && $(MAKE) $(FLAGS_TO_PASS) install) + (cd etc && $(MAKE) $(FLAGS_TO_PASS) install) @endif etc @@ -6516,7 +6527,7 @@ info-etc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in etc" ; \ @@ -6525,7 +6536,7 @@ info-etc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif etc @@ -6542,7 +6553,7 @@ dvi-etc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in etc" ; \ @@ -6551,7 +6562,7 @@ dvi-etc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif etc @@ -6568,7 +6579,7 @@ TAGS-etc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in etc" ; \ @@ -6577,7 +6588,7 @@ TAGS-etc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif etc @@ -6595,7 +6606,7 @@ install-info-etc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in etc" ; \ @@ -6604,7 +6615,7 @@ install-info-etc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif etc @@ -6621,7 +6632,7 @@ installcheck-etc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in etc" ; \ @@ -6630,7 +6641,7 @@ installcheck-etc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif etc @@ -6646,7 +6657,7 @@ mostlyclean-etc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in etc" ; \ @@ -6655,7 +6666,7 @@ mostlyclean-etc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif etc @@ -6671,7 +6682,7 @@ clean-etc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in etc" ; \ @@ -6680,7 +6691,7 @@ clean-etc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif etc @@ -6696,7 +6707,7 @@ distclean-etc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in etc" ; \ @@ -6705,7 +6716,7 @@ distclean-etc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif etc @@ -6721,7 +6732,7 @@ maintainer-clean-etc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in etc" ; \ @@ -6730,7 +6741,7 @@ maintainer-clean-etc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif etc @@ -6803,7 +6814,7 @@ install-fastjar: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install) + (cd fastjar && $(MAKE) $(FLAGS_TO_PASS) install) @endif fastjar @@ -6821,7 +6832,7 @@ info-fastjar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in fastjar" ; \ @@ -6830,7 +6841,7 @@ info-fastjar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif fastjar @@ -6847,7 +6858,7 @@ dvi-fastjar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in fastjar" ; \ @@ -6856,7 +6867,7 @@ dvi-fastjar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif fastjar @@ -6873,7 +6884,7 @@ TAGS-fastjar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in fastjar" ; \ @@ -6882,7 +6893,7 @@ TAGS-fastjar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif fastjar @@ -6900,7 +6911,7 @@ install-info-fastjar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in fastjar" ; \ @@ -6909,7 +6920,7 @@ install-info-fastjar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif fastjar @@ -6926,7 +6937,7 @@ installcheck-fastjar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in fastjar" ; \ @@ -6935,7 +6946,7 @@ installcheck-fastjar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif fastjar @@ -6951,7 +6962,7 @@ mostlyclean-fastjar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in fastjar" ; \ @@ -6960,7 +6971,7 @@ mostlyclean-fastjar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif fastjar @@ -6976,7 +6987,7 @@ clean-fastjar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in fastjar" ; \ @@ -6985,7 +6996,7 @@ clean-fastjar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif fastjar @@ -7001,7 +7012,7 @@ distclean-fastjar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in fastjar" ; \ @@ -7010,7 +7021,7 @@ distclean-fastjar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif fastjar @@ -7026,7 +7037,7 @@ maintainer-clean-fastjar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in fastjar" ; \ @@ -7035,7 +7046,7 @@ maintainer-clean-fastjar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif fastjar @@ -7091,7 +7102,7 @@ check-fileutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check) @endif fileutils @@ -7105,7 +7116,7 @@ install-fileutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd fileutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif fileutils @@ -7123,7 +7134,7 @@ info-fileutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in fileutils" ; \ @@ -7132,7 +7143,7 @@ info-fileutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif fileutils @@ -7149,7 +7160,7 @@ dvi-fileutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in fileutils" ; \ @@ -7158,7 +7169,7 @@ dvi-fileutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif fileutils @@ -7175,7 +7186,7 @@ TAGS-fileutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in fileutils" ; \ @@ -7184,7 +7195,7 @@ TAGS-fileutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif fileutils @@ -7202,7 +7213,7 @@ install-info-fileutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in fileutils" ; \ @@ -7211,7 +7222,7 @@ install-info-fileutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif fileutils @@ -7228,7 +7239,7 @@ installcheck-fileutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in fileutils" ; \ @@ -7237,7 +7248,7 @@ installcheck-fileutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif fileutils @@ -7253,7 +7264,7 @@ mostlyclean-fileutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in fileutils" ; \ @@ -7262,7 +7273,7 @@ mostlyclean-fileutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif fileutils @@ -7278,7 +7289,7 @@ clean-fileutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in fileutils" ; \ @@ -7287,7 +7298,7 @@ clean-fileutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif fileutils @@ -7303,7 +7314,7 @@ distclean-fileutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in fileutils" ; \ @@ -7312,7 +7323,7 @@ distclean-fileutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif fileutils @@ -7328,7 +7339,7 @@ maintainer-clean-fileutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in fileutils" ; \ @@ -7337,7 +7348,7 @@ maintainer-clean-fileutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif fileutils @@ -7393,7 +7404,7 @@ check-findutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd findutils && $(MAKE) $(FLAGS_TO_PASS) check) @endif findutils @@ -7407,7 +7418,7 @@ install-findutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd findutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif findutils @@ -7425,7 +7436,7 @@ info-findutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in findutils" ; \ @@ -7434,7 +7445,7 @@ info-findutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif findutils @@ -7451,7 +7462,7 @@ dvi-findutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in findutils" ; \ @@ -7460,7 +7471,7 @@ dvi-findutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif findutils @@ -7477,7 +7488,7 @@ TAGS-findutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in findutils" ; \ @@ -7486,7 +7497,7 @@ TAGS-findutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif findutils @@ -7504,7 +7515,7 @@ install-info-findutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in findutils" ; \ @@ -7513,7 +7524,7 @@ install-info-findutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif findutils @@ -7530,7 +7541,7 @@ installcheck-findutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in findutils" ; \ @@ -7539,7 +7550,7 @@ installcheck-findutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif findutils @@ -7555,7 +7566,7 @@ mostlyclean-findutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in findutils" ; \ @@ -7564,7 +7575,7 @@ mostlyclean-findutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif findutils @@ -7580,7 +7591,7 @@ clean-findutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in findutils" ; \ @@ -7589,7 +7600,7 @@ clean-findutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif findutils @@ -7605,7 +7616,7 @@ distclean-findutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in findutils" ; \ @@ -7614,7 +7625,7 @@ distclean-findutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif findutils @@ -7630,7 +7641,7 @@ maintainer-clean-findutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in findutils" ; \ @@ -7639,7 +7650,7 @@ maintainer-clean-findutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif findutils @@ -7695,7 +7706,7 @@ check-find: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd find && $(MAKE) $(FLAGS_TO_PASS) check) + (cd find && $(MAKE) $(FLAGS_TO_PASS) check) @endif find @@ -7709,7 +7720,7 @@ install-find: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd find && $(MAKE) $(FLAGS_TO_PASS) install) + (cd find && $(MAKE) $(FLAGS_TO_PASS) install) @endif find @@ -7727,7 +7738,7 @@ info-find: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in find" ; \ @@ -7736,7 +7747,7 @@ info-find: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif find @@ -7753,7 +7764,7 @@ dvi-find: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in find" ; \ @@ -7762,7 +7773,7 @@ dvi-find: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif find @@ -7779,7 +7790,7 @@ TAGS-find: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in find" ; \ @@ -7788,7 +7799,7 @@ TAGS-find: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif find @@ -7806,7 +7817,7 @@ install-info-find: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in find" ; \ @@ -7815,7 +7826,7 @@ install-info-find: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif find @@ -7832,7 +7843,7 @@ installcheck-find: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in find" ; \ @@ -7841,7 +7852,7 @@ installcheck-find: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif find @@ -7857,7 +7868,7 @@ mostlyclean-find: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in find" ; \ @@ -7866,7 +7877,7 @@ mostlyclean-find: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif find @@ -7882,7 +7893,7 @@ clean-find: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in find" ; \ @@ -7891,7 +7902,7 @@ clean-find: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif find @@ -7907,7 +7918,7 @@ distclean-find: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in find" ; \ @@ -7916,7 +7927,7 @@ distclean-find: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif find @@ -7932,7 +7943,7 @@ maintainer-clean-find: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in find" ; \ @@ -7941,7 +7952,7 @@ maintainer-clean-find: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif find @@ -8014,7 +8025,7 @@ install-flex: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd flex && $(MAKE) $(FLAGS_TO_PASS) install) + (cd flex && $(MAKE) $(FLAGS_TO_PASS) install) @endif flex @@ -8032,7 +8043,7 @@ info-flex: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in flex" ; \ @@ -8041,7 +8052,7 @@ info-flex: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif flex @@ -8058,7 +8069,7 @@ dvi-flex: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in flex" ; \ @@ -8067,7 +8078,7 @@ dvi-flex: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif flex @@ -8084,7 +8095,7 @@ TAGS-flex: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in flex" ; \ @@ -8093,7 +8104,7 @@ TAGS-flex: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif flex @@ -8111,7 +8122,7 @@ install-info-flex: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in flex" ; \ @@ -8120,7 +8131,7 @@ install-info-flex: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif flex @@ -8137,7 +8148,7 @@ installcheck-flex: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in flex" ; \ @@ -8146,7 +8157,7 @@ installcheck-flex: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif flex @@ -8162,7 +8173,7 @@ mostlyclean-flex: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in flex" ; \ @@ -8171,7 +8182,7 @@ mostlyclean-flex: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif flex @@ -8187,7 +8198,7 @@ clean-flex: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in flex" ; \ @@ -8196,7 +8207,7 @@ clean-flex: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif flex @@ -8212,7 +8223,7 @@ distclean-flex: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in flex" ; \ @@ -8221,7 +8232,7 @@ distclean-flex: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif flex @@ -8237,7 +8248,7 @@ maintainer-clean-flex: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in flex" ; \ @@ -8246,7 +8257,7 @@ maintainer-clean-flex: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif flex @@ -8257,7 +8268,8 @@ maybe-configure-gas: @if gas maybe-configure-gas: configure-gas configure-gas: - @test ! -f gas/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f gas/Makefile || exit 0; \ [ -d gas ] || mkdir gas; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -8285,7 +8297,8 @@ maybe-all-gas: @if gas maybe-all-gas: all-gas all-gas: configure-gas - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -8302,7 +8315,7 @@ check-gas: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gas && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gas && $(MAKE) $(FLAGS_TO_PASS) check) @endif gas @@ -8316,7 +8329,7 @@ install-gas: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gas && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gas && $(MAKE) $(FLAGS_TO_PASS) install) @endif gas @@ -8334,7 +8347,7 @@ info-gas: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in gas" ; \ @@ -8343,7 +8356,7 @@ info-gas: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif gas @@ -8360,7 +8373,7 @@ dvi-gas: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in gas" ; \ @@ -8369,7 +8382,7 @@ dvi-gas: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif gas @@ -8386,7 +8399,7 @@ TAGS-gas: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in gas" ; \ @@ -8395,7 +8408,7 @@ TAGS-gas: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif gas @@ -8413,7 +8426,7 @@ install-info-gas: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in gas" ; \ @@ -8422,7 +8435,7 @@ install-info-gas: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif gas @@ -8439,7 +8452,7 @@ installcheck-gas: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in gas" ; \ @@ -8448,7 +8461,7 @@ installcheck-gas: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif gas @@ -8464,7 +8477,7 @@ mostlyclean-gas: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in gas" ; \ @@ -8473,7 +8486,7 @@ mostlyclean-gas: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif gas @@ -8489,7 +8502,7 @@ clean-gas: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in gas" ; \ @@ -8498,7 +8511,7 @@ clean-gas: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif gas @@ -8514,7 +8527,7 @@ distclean-gas: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in gas" ; \ @@ -8523,7 +8536,7 @@ distclean-gas: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif gas @@ -8539,7 +8552,7 @@ maintainer-clean-gas: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in gas" ; \ @@ -8548,4218 +8561,4232 @@ maintainer-clean-gas: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif gas -.PHONY: configure-gawk maybe-configure-gawk -maybe-configure-gawk: -@if gawk -maybe-configure-gawk: configure-gawk -configure-gawk: - @test ! -f gawk/Makefile || exit 0; \ - [ -d gawk ] || mkdir gawk; \ +.PHONY: configure-gcc maybe-configure-gcc +maybe-configure-gcc: +@if gcc +maybe-configure-gcc: configure-gcc +configure-gcc: + @test -f stage_last && exit 0; \ + test ! -f gcc/Makefile || exit 0; \ + [ -d gcc ] || mkdir gcc; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in gawk; \ - cd gawk || exit 1; \ + echo Configuring in gcc; \ + cd gcc || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gawk"; \ - libsrcdir="$$s/gawk";; \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gawk"; \ - libsrcdir="$$s/gawk";; \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif gawk +@endif gcc -.PHONY: all-gawk maybe-all-gawk -maybe-all-gawk: -@if gawk -maybe-all-gawk: all-gawk -all-gawk: configure-gawk - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-gcc maybe-all-gcc +maybe-all-gcc: +@if gcc +maybe-all-gcc: all-gcc +all-gcc: configure-gcc + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all) -@endif gawk + (cd gcc && $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \ + `if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi` ) +@endif gcc -.PHONY: check-gawk maybe-check-gawk -maybe-check-gawk: -@if gawk -maybe-check-gawk: check-gawk +.PHONY: check-gcc maybe-check-gcc +maybe-check-gcc: +@if gcc +maybe-check-gcc: check-gcc -check-gawk: +check-gcc: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gcc && $(MAKE) $(FLAGS_TO_PASS)$(EXTRA_GCC_FLAGS) check) -@endif gawk +@endif gcc -.PHONY: install-gawk maybe-install-gawk -maybe-install-gawk: -@if gawk -maybe-install-gawk: install-gawk +.PHONY: install-gcc maybe-install-gcc +maybe-install-gcc: +@if gcc +maybe-install-gcc: install-gcc -install-gawk: installdirs +install-gcc: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gcc && $(MAKE) $(FLAGS_TO_PASS)$(EXTRA_GCC_FLAGS) install) -@endif gawk +@endif gcc # Other targets (info, dvi, etc.) -.PHONY: maybe-info-gawk info-gawk -maybe-info-gawk: -@if gawk -maybe-info-gawk: info-gawk +.PHONY: maybe-info-gcc info-gcc +maybe-info-gcc: +@if gcc +maybe-info-gcc: info-gcc -info-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +info-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in gawk" ; \ - (cd gawk && \ + echo "Doing info in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-dvi-gawk dvi-gawk -maybe-dvi-gawk: -@if gawk -maybe-dvi-gawk: dvi-gawk +.PHONY: maybe-dvi-gcc dvi-gcc +maybe-dvi-gcc: +@if gcc +maybe-dvi-gcc: dvi-gcc -dvi-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +dvi-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in gawk" ; \ - (cd gawk && \ + echo "Doing dvi in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-TAGS-gawk TAGS-gawk -maybe-TAGS-gawk: -@if gawk -maybe-TAGS-gawk: TAGS-gawk +.PHONY: maybe-TAGS-gcc TAGS-gcc +maybe-TAGS-gcc: +@if gcc +maybe-TAGS-gcc: TAGS-gcc -TAGS-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +TAGS-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in gawk" ; \ - (cd gawk && \ + echo "Doing TAGS in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-install-info-gawk install-info-gawk -maybe-install-info-gawk: -@if gawk -maybe-install-info-gawk: install-info-gawk +.PHONY: maybe-install-info-gcc install-info-gcc +maybe-install-info-gcc: +@if gcc +maybe-install-info-gcc: install-info-gcc -install-info-gawk: \ - configure-gawk \ - info-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +install-info-gcc: \ + configure-gcc \ + info-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gawk" ; \ - (cd gawk && \ + echo "Doing install-info in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-installcheck-gawk installcheck-gawk -maybe-installcheck-gawk: -@if gawk -maybe-installcheck-gawk: installcheck-gawk +.PHONY: maybe-installcheck-gcc installcheck-gcc +maybe-installcheck-gcc: +@if gcc +maybe-installcheck-gcc: installcheck-gcc -installcheck-gawk: \ - configure-gawk - @[ -f ./gawk/Makefile ] || exit 0; \ +installcheck-gcc: \ + configure-gcc + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gawk" ; \ - (cd gawk && \ + echo "Doing installcheck in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk -maybe-mostlyclean-gawk: -@if gawk -maybe-mostlyclean-gawk: mostlyclean-gawk +.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc +maybe-mostlyclean-gcc: +@if gcc +maybe-mostlyclean-gcc: mostlyclean-gcc -mostlyclean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +mostlyclean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gawk" ; \ - (cd gawk && \ + echo "Doing mostlyclean in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-clean-gawk clean-gawk -maybe-clean-gawk: -@if gawk -maybe-clean-gawk: clean-gawk +.PHONY: maybe-clean-gcc clean-gcc +maybe-clean-gcc: +@if gcc +maybe-clean-gcc: clean-gcc -clean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +clean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gawk" ; \ - (cd gawk && \ + echo "Doing clean in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-distclean-gawk distclean-gawk -maybe-distclean-gawk: -@if gawk -maybe-distclean-gawk: distclean-gawk +.PHONY: maybe-distclean-gcc distclean-gcc +maybe-distclean-gcc: +@if gcc +maybe-distclean-gcc: distclean-gcc -distclean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +distclean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gawk" ; \ - (cd gawk && \ + echo "Doing distclean in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk -maybe-maintainer-clean-gawk: -@if gawk -maybe-maintainer-clean-gawk: maintainer-clean-gawk +.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc +maybe-maintainer-clean-gcc: +@if gcc +maybe-maintainer-clean-gcc: maintainer-clean-gcc -maintainer-clean-gawk: - @[ -f ./gawk/Makefile ] || exit 0; \ +maintainer-clean-gcc: + @[ -f ./gcc/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gawk" ; \ - (cd gawk && \ + echo "Doing maintainer-clean in gcc" ; \ + (cd gcc && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif gawk +@endif gcc -.PHONY: configure-gettext maybe-configure-gettext -maybe-configure-gettext: -@if gettext -maybe-configure-gettext: configure-gettext -configure-gettext: - @test ! -f gettext/Makefile || exit 0; \ - [ -d gettext ] || mkdir gettext; \ +.PHONY: configure-gawk maybe-configure-gawk +maybe-configure-gawk: +@if gawk +maybe-configure-gawk: configure-gawk +configure-gawk: + @test ! -f gawk/Makefile || exit 0; \ + [ -d gawk ] || mkdir gawk; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in gettext; \ - cd gettext || exit 1; \ + echo Configuring in gawk; \ + cd gawk || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gettext"; \ - libsrcdir="$$s/gettext";; \ + srcdiroption="--srcdir=$(srcdir)/gawk"; \ + libsrcdir="$$s/gawk";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gettext"; \ - libsrcdir="$$s/gettext";; \ + srcdiroption="--srcdir=../$(srcdir)/gawk"; \ + libsrcdir="$$s/gawk";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif gettext +@endif gawk -.PHONY: all-gettext maybe-all-gettext -maybe-all-gettext: -@if gettext -maybe-all-gettext: all-gettext -all-gettext: configure-gettext +.PHONY: all-gawk maybe-all-gawk +maybe-all-gawk: +@if gawk +maybe-all-gawk: all-gawk +all-gawk: configure-gawk @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all) -@endif gettext + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) all) +@endif gawk -.PHONY: check-gettext maybe-check-gettext -maybe-check-gettext: -@if gettext -maybe-check-gettext: check-gettext +.PHONY: check-gawk maybe-check-gawk +maybe-check-gawk: +@if gawk +maybe-check-gawk: check-gawk -check-gettext: +check-gawk: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) check) -@endif gettext +@endif gawk -.PHONY: install-gettext maybe-install-gettext -maybe-install-gettext: -@if gettext -maybe-install-gettext: install-gettext +.PHONY: install-gawk maybe-install-gawk +maybe-install-gawk: +@if gawk +maybe-install-gawk: install-gawk -install-gettext: installdirs +install-gawk: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gawk && $(MAKE) $(FLAGS_TO_PASS) install) -@endif gettext +@endif gawk # Other targets (info, dvi, etc.) -.PHONY: maybe-info-gettext info-gettext -maybe-info-gettext: -@if gettext -maybe-info-gettext: info-gettext +.PHONY: maybe-info-gawk info-gawk +maybe-info-gawk: +@if gawk +maybe-info-gawk: info-gawk -info-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +info-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in gettext" ; \ - (cd gettext && \ + echo "Doing info in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-dvi-gettext dvi-gettext -maybe-dvi-gettext: -@if gettext -maybe-dvi-gettext: dvi-gettext +.PHONY: maybe-dvi-gawk dvi-gawk +maybe-dvi-gawk: +@if gawk +maybe-dvi-gawk: dvi-gawk -dvi-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +dvi-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in gettext" ; \ - (cd gettext && \ + echo "Doing dvi in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-TAGS-gettext TAGS-gettext -maybe-TAGS-gettext: -@if gettext -maybe-TAGS-gettext: TAGS-gettext +.PHONY: maybe-TAGS-gawk TAGS-gawk +maybe-TAGS-gawk: +@if gawk +maybe-TAGS-gawk: TAGS-gawk -TAGS-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +TAGS-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in gettext" ; \ - (cd gettext && \ + echo "Doing TAGS in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-install-info-gettext install-info-gettext -maybe-install-info-gettext: -@if gettext -maybe-install-info-gettext: install-info-gettext +.PHONY: maybe-install-info-gawk install-info-gawk +maybe-install-info-gawk: +@if gawk +maybe-install-info-gawk: install-info-gawk -install-info-gettext: \ - configure-gettext \ - info-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +install-info-gawk: \ + configure-gawk \ + info-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gettext" ; \ - (cd gettext && \ + echo "Doing install-info in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-installcheck-gettext installcheck-gettext -maybe-installcheck-gettext: -@if gettext -maybe-installcheck-gettext: installcheck-gettext +.PHONY: maybe-installcheck-gawk installcheck-gawk +maybe-installcheck-gawk: +@if gawk +maybe-installcheck-gawk: installcheck-gawk -installcheck-gettext: \ - configure-gettext - @[ -f ./gettext/Makefile ] || exit 0; \ +installcheck-gawk: \ + configure-gawk + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gettext" ; \ - (cd gettext && \ + echo "Doing installcheck in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext -maybe-mostlyclean-gettext: -@if gettext -maybe-mostlyclean-gettext: mostlyclean-gettext +.PHONY: maybe-mostlyclean-gawk mostlyclean-gawk +maybe-mostlyclean-gawk: +@if gawk +maybe-mostlyclean-gawk: mostlyclean-gawk -mostlyclean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +mostlyclean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gettext" ; \ - (cd gettext && \ + echo "Doing mostlyclean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-clean-gettext clean-gettext -maybe-clean-gettext: -@if gettext -maybe-clean-gettext: clean-gettext +.PHONY: maybe-clean-gawk clean-gawk +maybe-clean-gawk: +@if gawk +maybe-clean-gawk: clean-gawk -clean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +clean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gettext" ; \ - (cd gettext && \ + echo "Doing clean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-distclean-gettext distclean-gettext -maybe-distclean-gettext: -@if gettext -maybe-distclean-gettext: distclean-gettext +.PHONY: maybe-distclean-gawk distclean-gawk +maybe-distclean-gawk: +@if gawk +maybe-distclean-gawk: distclean-gawk -distclean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +distclean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gettext" ; \ - (cd gettext && \ + echo "Doing distclean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext -maybe-maintainer-clean-gettext: -@if gettext -maybe-maintainer-clean-gettext: maintainer-clean-gettext +.PHONY: maybe-maintainer-clean-gawk maintainer-clean-gawk +maybe-maintainer-clean-gawk: +@if gawk +maybe-maintainer-clean-gawk: maintainer-clean-gawk -maintainer-clean-gettext: - @[ -f ./gettext/Makefile ] || exit 0; \ +maintainer-clean-gawk: + @[ -f ./gawk/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gettext" ; \ - (cd gettext && \ + echo "Doing maintainer-clean in gawk" ; \ + (cd gawk && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif gettext +@endif gawk -.PHONY: configure-gnuserv maybe-configure-gnuserv -maybe-configure-gnuserv: -@if gnuserv -maybe-configure-gnuserv: configure-gnuserv -configure-gnuserv: - @test ! -f gnuserv/Makefile || exit 0; \ - [ -d gnuserv ] || mkdir gnuserv; \ +.PHONY: configure-gettext maybe-configure-gettext +maybe-configure-gettext: +@if gettext +maybe-configure-gettext: configure-gettext +configure-gettext: + @test ! -f gettext/Makefile || exit 0; \ + [ -d gettext ] || mkdir gettext; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in gnuserv; \ - cd gnuserv || exit 1; \ + echo Configuring in gettext; \ + cd gettext || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gnuserv"; \ - libsrcdir="$$s/gnuserv";; \ + srcdiroption="--srcdir=$(srcdir)/gettext"; \ + libsrcdir="$$s/gettext";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \ - libsrcdir="$$s/gnuserv";; \ + srcdiroption="--srcdir=../$(srcdir)/gettext"; \ + libsrcdir="$$s/gettext";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: all-gnuserv maybe-all-gnuserv -maybe-all-gnuserv: -@if gnuserv -maybe-all-gnuserv: all-gnuserv -all-gnuserv: configure-gnuserv +.PHONY: all-gettext maybe-all-gettext +maybe-all-gettext: +@if gettext +maybe-all-gettext: all-gettext +all-gettext: configure-gettext @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all) -@endif gnuserv + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) all) +@endif gettext -.PHONY: check-gnuserv maybe-check-gnuserv -maybe-check-gnuserv: -@if gnuserv -maybe-check-gnuserv: check-gnuserv +.PHONY: check-gettext maybe-check-gettext +maybe-check-gettext: +@if gettext +maybe-check-gettext: check-gettext -check-gnuserv: +check-gettext: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) check) -@endif gnuserv +@endif gettext -.PHONY: install-gnuserv maybe-install-gnuserv -maybe-install-gnuserv: -@if gnuserv -maybe-install-gnuserv: install-gnuserv +.PHONY: install-gettext maybe-install-gettext +maybe-install-gettext: +@if gettext +maybe-install-gettext: install-gettext -install-gnuserv: installdirs +install-gettext: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gettext && $(MAKE) $(FLAGS_TO_PASS) install) -@endif gnuserv +@endif gettext # Other targets (info, dvi, etc.) -.PHONY: maybe-info-gnuserv info-gnuserv -maybe-info-gnuserv: -@if gnuserv -maybe-info-gnuserv: info-gnuserv +.PHONY: maybe-info-gettext info-gettext +maybe-info-gettext: +@if gettext +maybe-info-gettext: info-gettext -info-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +info-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing info in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-dvi-gnuserv dvi-gnuserv -maybe-dvi-gnuserv: -@if gnuserv -maybe-dvi-gnuserv: dvi-gnuserv +.PHONY: maybe-dvi-gettext dvi-gettext +maybe-dvi-gettext: +@if gettext +maybe-dvi-gettext: dvi-gettext -dvi-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +dvi-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing dvi in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv -maybe-TAGS-gnuserv: -@if gnuserv -maybe-TAGS-gnuserv: TAGS-gnuserv +.PHONY: maybe-TAGS-gettext TAGS-gettext +maybe-TAGS-gettext: +@if gettext +maybe-TAGS-gettext: TAGS-gettext -TAGS-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +TAGS-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing TAGS in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-install-info-gnuserv install-info-gnuserv -maybe-install-info-gnuserv: -@if gnuserv -maybe-install-info-gnuserv: install-info-gnuserv +.PHONY: maybe-install-info-gettext install-info-gettext +maybe-install-info-gettext: +@if gettext +maybe-install-info-gettext: install-info-gettext -install-info-gnuserv: \ - configure-gnuserv \ - info-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +install-info-gettext: \ + configure-gettext \ + info-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing install-info in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv -maybe-installcheck-gnuserv: -@if gnuserv -maybe-installcheck-gnuserv: installcheck-gnuserv +.PHONY: maybe-installcheck-gettext installcheck-gettext +maybe-installcheck-gettext: +@if gettext +maybe-installcheck-gettext: installcheck-gettext -installcheck-gnuserv: \ - configure-gnuserv - @[ -f ./gnuserv/Makefile ] || exit 0; \ +installcheck-gettext: \ + configure-gettext + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing installcheck in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv -maybe-mostlyclean-gnuserv: -@if gnuserv -maybe-mostlyclean-gnuserv: mostlyclean-gnuserv +.PHONY: maybe-mostlyclean-gettext mostlyclean-gettext +maybe-mostlyclean-gettext: +@if gettext +maybe-mostlyclean-gettext: mostlyclean-gettext -mostlyclean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +mostlyclean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing mostlyclean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-clean-gnuserv clean-gnuserv -maybe-clean-gnuserv: -@if gnuserv -maybe-clean-gnuserv: clean-gnuserv +.PHONY: maybe-clean-gettext clean-gettext +maybe-clean-gettext: +@if gettext +maybe-clean-gettext: clean-gettext -clean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +clean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing clean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-distclean-gnuserv distclean-gnuserv -maybe-distclean-gnuserv: -@if gnuserv -maybe-distclean-gnuserv: distclean-gnuserv +.PHONY: maybe-distclean-gettext distclean-gettext +maybe-distclean-gettext: +@if gettext +maybe-distclean-gettext: distclean-gettext -distclean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +distclean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing distclean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv -maybe-maintainer-clean-gnuserv: -@if gnuserv -maybe-maintainer-clean-gnuserv: maintainer-clean-gnuserv +.PHONY: maybe-maintainer-clean-gettext maintainer-clean-gettext +maybe-maintainer-clean-gettext: +@if gettext +maybe-maintainer-clean-gettext: maintainer-clean-gettext -maintainer-clean-gnuserv: - @[ -f ./gnuserv/Makefile ] || exit 0; \ +maintainer-clean-gettext: + @[ -f ./gettext/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gnuserv" ; \ - (cd gnuserv && \ + echo "Doing maintainer-clean in gettext" ; \ + (cd gettext && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif gnuserv +@endif gettext -.PHONY: configure-gprof maybe-configure-gprof -maybe-configure-gprof: -@if gprof -maybe-configure-gprof: configure-gprof -configure-gprof: - @test ! -f gprof/Makefile || exit 0; \ - [ -d gprof ] || mkdir gprof; \ +.PHONY: configure-gnuserv maybe-configure-gnuserv +maybe-configure-gnuserv: +@if gnuserv +maybe-configure-gnuserv: configure-gnuserv +configure-gnuserv: + @test ! -f gnuserv/Makefile || exit 0; \ + [ -d gnuserv ] || mkdir gnuserv; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in gprof; \ - cd gprof || exit 1; \ + echo Configuring in gnuserv; \ + cd gnuserv || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gprof"; \ - libsrcdir="$$s/gprof";; \ + srcdiroption="--srcdir=$(srcdir)/gnuserv"; \ + libsrcdir="$$s/gnuserv";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gprof"; \ - libsrcdir="$$s/gprof";; \ + srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \ + libsrcdir="$$s/gnuserv";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: all-gprof maybe-all-gprof -maybe-all-gprof: -@if gprof -maybe-all-gprof: all-gprof -all-gprof: configure-gprof +.PHONY: all-gnuserv maybe-all-gnuserv +maybe-all-gnuserv: +@if gnuserv +maybe-all-gnuserv: all-gnuserv +all-gnuserv: configure-gnuserv @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all) -@endif gprof - -.PHONY: check-gprof maybe-check-gprof -maybe-check-gprof: -@if gprof -maybe-check-gprof: check-gprof + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all) +@endif gnuserv -check-gprof: - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: check-gnuserv maybe-check-gnuserv +maybe-check-gnuserv: +@if gnuserv +maybe-check-gnuserv: check-gnuserv + +check-gnuserv: + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check) -@endif gprof +@endif gnuserv -.PHONY: install-gprof maybe-install-gprof -maybe-install-gprof: -@if gprof -maybe-install-gprof: install-gprof +.PHONY: install-gnuserv maybe-install-gnuserv +maybe-install-gnuserv: +@if gnuserv +maybe-install-gnuserv: install-gnuserv -install-gprof: installdirs +install-gnuserv: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) install) -@endif gprof +@endif gnuserv # Other targets (info, dvi, etc.) -.PHONY: maybe-info-gprof info-gprof -maybe-info-gprof: -@if gprof -maybe-info-gprof: info-gprof +.PHONY: maybe-info-gnuserv info-gnuserv +maybe-info-gnuserv: +@if gnuserv +maybe-info-gnuserv: info-gnuserv -info-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +info-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in gprof" ; \ - (cd gprof && \ + echo "Doing info in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-dvi-gprof dvi-gprof -maybe-dvi-gprof: -@if gprof -maybe-dvi-gprof: dvi-gprof +.PHONY: maybe-dvi-gnuserv dvi-gnuserv +maybe-dvi-gnuserv: +@if gnuserv +maybe-dvi-gnuserv: dvi-gnuserv -dvi-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +dvi-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in gprof" ; \ - (cd gprof && \ + echo "Doing dvi in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-TAGS-gprof TAGS-gprof -maybe-TAGS-gprof: -@if gprof -maybe-TAGS-gprof: TAGS-gprof +.PHONY: maybe-TAGS-gnuserv TAGS-gnuserv +maybe-TAGS-gnuserv: +@if gnuserv +maybe-TAGS-gnuserv: TAGS-gnuserv -TAGS-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +TAGS-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in gprof" ; \ - (cd gprof && \ + echo "Doing TAGS in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-install-info-gprof install-info-gprof -maybe-install-info-gprof: -@if gprof -maybe-install-info-gprof: install-info-gprof +.PHONY: maybe-install-info-gnuserv install-info-gnuserv +maybe-install-info-gnuserv: +@if gnuserv +maybe-install-info-gnuserv: install-info-gnuserv -install-info-gprof: \ - configure-gprof \ - info-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +install-info-gnuserv: \ + configure-gnuserv \ + info-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gprof" ; \ - (cd gprof && \ + echo "Doing install-info in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-installcheck-gprof installcheck-gprof -maybe-installcheck-gprof: -@if gprof -maybe-installcheck-gprof: installcheck-gprof +.PHONY: maybe-installcheck-gnuserv installcheck-gnuserv +maybe-installcheck-gnuserv: +@if gnuserv +maybe-installcheck-gnuserv: installcheck-gnuserv -installcheck-gprof: \ - configure-gprof - @[ -f ./gprof/Makefile ] || exit 0; \ +installcheck-gnuserv: \ + configure-gnuserv + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gprof" ; \ - (cd gprof && \ + echo "Doing installcheck in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof -maybe-mostlyclean-gprof: -@if gprof -maybe-mostlyclean-gprof: mostlyclean-gprof +.PHONY: maybe-mostlyclean-gnuserv mostlyclean-gnuserv +maybe-mostlyclean-gnuserv: +@if gnuserv +maybe-mostlyclean-gnuserv: mostlyclean-gnuserv -mostlyclean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +mostlyclean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gprof" ; \ - (cd gprof && \ + echo "Doing mostlyclean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-clean-gprof clean-gprof -maybe-clean-gprof: -@if gprof -maybe-clean-gprof: clean-gprof +.PHONY: maybe-clean-gnuserv clean-gnuserv +maybe-clean-gnuserv: +@if gnuserv +maybe-clean-gnuserv: clean-gnuserv -clean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +clean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gprof" ; \ - (cd gprof && \ + echo "Doing clean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-distclean-gprof distclean-gprof -maybe-distclean-gprof: -@if gprof -maybe-distclean-gprof: distclean-gprof +.PHONY: maybe-distclean-gnuserv distclean-gnuserv +maybe-distclean-gnuserv: +@if gnuserv +maybe-distclean-gnuserv: distclean-gnuserv -distclean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +distclean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gprof" ; \ - (cd gprof && \ + echo "Doing distclean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof -maybe-maintainer-clean-gprof: -@if gprof -maybe-maintainer-clean-gprof: maintainer-clean-gprof +.PHONY: maybe-maintainer-clean-gnuserv maintainer-clean-gnuserv +maybe-maintainer-clean-gnuserv: +@if gnuserv +maybe-maintainer-clean-gnuserv: maintainer-clean-gnuserv -maintainer-clean-gprof: - @[ -f ./gprof/Makefile ] || exit 0; \ +maintainer-clean-gnuserv: + @[ -f ./gnuserv/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gprof" ; \ - (cd gprof && \ + echo "Doing maintainer-clean in gnuserv" ; \ + (cd gnuserv && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif gprof +@endif gnuserv -.PHONY: configure-gzip maybe-configure-gzip -maybe-configure-gzip: -@if gzip -maybe-configure-gzip: configure-gzip -configure-gzip: - @test ! -f gzip/Makefile || exit 0; \ - [ -d gzip ] || mkdir gzip; \ +.PHONY: configure-gprof maybe-configure-gprof +maybe-configure-gprof: +@if gprof +maybe-configure-gprof: configure-gprof +configure-gprof: + @test ! -f gprof/Makefile || exit 0; \ + [ -d gprof ] || mkdir gprof; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in gzip; \ - cd gzip || exit 1; \ + echo Configuring in gprof; \ + cd gprof || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gzip"; \ - libsrcdir="$$s/gzip";; \ + srcdiroption="--srcdir=$(srcdir)/gprof"; \ + libsrcdir="$$s/gprof";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gzip"; \ - libsrcdir="$$s/gzip";; \ + srcdiroption="--srcdir=../$(srcdir)/gprof"; \ + libsrcdir="$$s/gprof";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif gzip +@endif gprof -.PHONY: all-gzip maybe-all-gzip -maybe-all-gzip: -@if gzip -maybe-all-gzip: all-gzip -all-gzip: configure-gzip +.PHONY: all-gprof maybe-all-gprof +maybe-all-gprof: +@if gprof +maybe-all-gprof: all-gprof +all-gprof: configure-gprof @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all) -@endif gzip + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) all) +@endif gprof -.PHONY: check-gzip maybe-check-gzip -maybe-check-gzip: -@if gzip -maybe-check-gzip: check-gzip +.PHONY: check-gprof maybe-check-gprof +maybe-check-gprof: +@if gprof +maybe-check-gprof: check-gprof -check-gzip: +check-gprof: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) check) -@endif gzip +@endif gprof -.PHONY: install-gzip maybe-install-gzip -maybe-install-gzip: -@if gzip -maybe-install-gzip: install-gzip +.PHONY: install-gprof maybe-install-gprof +maybe-install-gprof: +@if gprof +maybe-install-gprof: install-gprof -install-gzip: installdirs +install-gprof: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gprof && $(MAKE) $(FLAGS_TO_PASS) install) -@endif gzip +@endif gprof # Other targets (info, dvi, etc.) -.PHONY: maybe-info-gzip info-gzip -maybe-info-gzip: -@if gzip -maybe-info-gzip: info-gzip +.PHONY: maybe-info-gprof info-gprof +maybe-info-gprof: +@if gprof +maybe-info-gprof: info-gprof -info-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +info-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in gzip" ; \ - (cd gzip && \ + echo "Doing info in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-dvi-gzip dvi-gzip -maybe-dvi-gzip: -@if gzip -maybe-dvi-gzip: dvi-gzip +.PHONY: maybe-dvi-gprof dvi-gprof +maybe-dvi-gprof: +@if gprof +maybe-dvi-gprof: dvi-gprof -dvi-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +dvi-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in gzip" ; \ - (cd gzip && \ + echo "Doing dvi in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-TAGS-gzip TAGS-gzip -maybe-TAGS-gzip: -@if gzip -maybe-TAGS-gzip: TAGS-gzip +.PHONY: maybe-TAGS-gprof TAGS-gprof +maybe-TAGS-gprof: +@if gprof +maybe-TAGS-gprof: TAGS-gprof -TAGS-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +TAGS-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in gzip" ; \ - (cd gzip && \ + echo "Doing TAGS in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-install-info-gzip install-info-gzip -maybe-install-info-gzip: -@if gzip -maybe-install-info-gzip: install-info-gzip +.PHONY: maybe-install-info-gprof install-info-gprof +maybe-install-info-gprof: +@if gprof +maybe-install-info-gprof: install-info-gprof -install-info-gzip: \ - configure-gzip \ - info-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +install-info-gprof: \ + configure-gprof \ + info-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in gzip" ; \ - (cd gzip && \ + echo "Doing install-info in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-installcheck-gzip installcheck-gzip -maybe-installcheck-gzip: -@if gzip -maybe-installcheck-gzip: installcheck-gzip +.PHONY: maybe-installcheck-gprof installcheck-gprof +maybe-installcheck-gprof: +@if gprof +maybe-installcheck-gprof: installcheck-gprof -installcheck-gzip: \ - configure-gzip - @[ -f ./gzip/Makefile ] || exit 0; \ +installcheck-gprof: \ + configure-gprof + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in gzip" ; \ - (cd gzip && \ + echo "Doing installcheck in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip -maybe-mostlyclean-gzip: -@if gzip -maybe-mostlyclean-gzip: mostlyclean-gzip +.PHONY: maybe-mostlyclean-gprof mostlyclean-gprof +maybe-mostlyclean-gprof: +@if gprof +maybe-mostlyclean-gprof: mostlyclean-gprof -mostlyclean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ +mostlyclean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in gzip" ; \ - (cd gzip && \ + echo "Doing mostlyclean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-clean-gzip clean-gzip -maybe-clean-gzip: -@if gzip -maybe-clean-gzip: clean-gzip +.PHONY: maybe-clean-gprof clean-gprof +maybe-clean-gprof: +@if gprof +maybe-clean-gprof: clean-gprof -clean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ +clean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in gzip" ; \ - (cd gzip && \ + echo "Doing clean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-distclean-gzip distclean-gzip -maybe-distclean-gzip: -@if gzip -maybe-distclean-gzip: distclean-gzip +.PHONY: maybe-distclean-gprof distclean-gprof +maybe-distclean-gprof: +@if gprof +maybe-distclean-gprof: distclean-gprof -distclean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ +distclean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in gzip" ; \ - (cd gzip && \ + echo "Doing distclean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip -maybe-maintainer-clean-gzip: -@if gzip -maybe-maintainer-clean-gzip: maintainer-clean-gzip +.PHONY: maybe-maintainer-clean-gprof maintainer-clean-gprof +maybe-maintainer-clean-gprof: +@if gprof +maybe-maintainer-clean-gprof: maintainer-clean-gprof -maintainer-clean-gzip: - @[ -f ./gzip/Makefile ] || exit 0; \ +maintainer-clean-gprof: + @[ -f ./gprof/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in gzip" ; \ - (cd gzip && \ + echo "Doing maintainer-clean in gprof" ; \ + (cd gprof && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif gzip +@endif gprof -.PHONY: configure-hello maybe-configure-hello -maybe-configure-hello: -@if hello -maybe-configure-hello: configure-hello -configure-hello: - @test ! -f hello/Makefile || exit 0; \ - [ -d hello ] || mkdir hello; \ +.PHONY: configure-gzip maybe-configure-gzip +maybe-configure-gzip: +@if gzip +maybe-configure-gzip: configure-gzip +configure-gzip: + @test ! -f gzip/Makefile || exit 0; \ + [ -d gzip ] || mkdir gzip; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in hello; \ - cd hello || exit 1; \ + echo Configuring in gzip; \ + cd gzip || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/hello"; \ - libsrcdir="$$s/hello";; \ + srcdiroption="--srcdir=$(srcdir)/gzip"; \ + libsrcdir="$$s/gzip";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/hello"; \ - libsrcdir="$$s/hello";; \ + srcdiroption="--srcdir=../$(srcdir)/gzip"; \ + libsrcdir="$$s/gzip";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif hello +@endif gzip -.PHONY: all-hello maybe-all-hello -maybe-all-hello: -@if hello -maybe-all-hello: all-hello -all-hello: configure-hello +.PHONY: all-gzip maybe-all-gzip +maybe-all-gzip: +@if gzip +maybe-all-gzip: all-gzip +all-gzip: configure-gzip @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) all) -@endif hello - -.PHONY: check-hello maybe-check-hello -maybe-check-hello: -@if hello -maybe-check-hello: check-hello + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) all) +@endif gzip -check-hello: +.PHONY: check-gzip maybe-check-gzip +maybe-check-gzip: +@if gzip +maybe-check-gzip: check-gzip + +check-gzip: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) check) + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) check) -@endif hello +@endif gzip -.PHONY: install-hello maybe-install-hello -maybe-install-hello: -@if hello -maybe-install-hello: install-hello +.PHONY: install-gzip maybe-install-gzip +maybe-install-gzip: +@if gzip +maybe-install-gzip: install-gzip -install-hello: installdirs +install-gzip: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd hello && $(MAKE) $(FLAGS_TO_PASS) install) + (cd gzip && $(MAKE) $(FLAGS_TO_PASS) install) -@endif hello +@endif gzip # Other targets (info, dvi, etc.) -.PHONY: maybe-info-hello info-hello -maybe-info-hello: -@if hello -maybe-info-hello: info-hello +.PHONY: maybe-info-gzip info-gzip +maybe-info-gzip: +@if gzip +maybe-info-gzip: info-gzip -info-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ +info-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in hello" ; \ - (cd hello && \ + echo "Doing info in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-dvi-hello dvi-hello -maybe-dvi-hello: -@if hello -maybe-dvi-hello: dvi-hello +.PHONY: maybe-dvi-gzip dvi-gzip +maybe-dvi-gzip: +@if gzip +maybe-dvi-gzip: dvi-gzip -dvi-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ +dvi-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in hello" ; \ - (cd hello && \ + echo "Doing dvi in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-TAGS-hello TAGS-hello -maybe-TAGS-hello: -@if hello -maybe-TAGS-hello: TAGS-hello +.PHONY: maybe-TAGS-gzip TAGS-gzip +maybe-TAGS-gzip: +@if gzip +maybe-TAGS-gzip: TAGS-gzip -TAGS-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ +TAGS-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in hello" ; \ - (cd hello && \ + echo "Doing TAGS in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-install-info-hello install-info-hello -maybe-install-info-hello: -@if hello -maybe-install-info-hello: install-info-hello +.PHONY: maybe-install-info-gzip install-info-gzip +maybe-install-info-gzip: +@if gzip +maybe-install-info-gzip: install-info-gzip -install-info-hello: \ - configure-hello \ - info-hello - @[ -f ./hello/Makefile ] || exit 0; \ +install-info-gzip: \ + configure-gzip \ + info-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in hello" ; \ - (cd hello && \ + echo "Doing install-info in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-installcheck-hello installcheck-hello -maybe-installcheck-hello: -@if hello -maybe-installcheck-hello: installcheck-hello +.PHONY: maybe-installcheck-gzip installcheck-gzip +maybe-installcheck-gzip: +@if gzip +maybe-installcheck-gzip: installcheck-gzip -installcheck-hello: \ - configure-hello - @[ -f ./hello/Makefile ] || exit 0; \ +installcheck-gzip: \ + configure-gzip + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in hello" ; \ - (cd hello && \ + echo "Doing installcheck in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-mostlyclean-hello mostlyclean-hello -maybe-mostlyclean-hello: -@if hello -maybe-mostlyclean-hello: mostlyclean-hello +.PHONY: maybe-mostlyclean-gzip mostlyclean-gzip +maybe-mostlyclean-gzip: +@if gzip +maybe-mostlyclean-gzip: mostlyclean-gzip -mostlyclean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +mostlyclean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in hello" ; \ - (cd hello && \ + echo "Doing mostlyclean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-clean-hello clean-hello -maybe-clean-hello: -@if hello -maybe-clean-hello: clean-hello +.PHONY: maybe-clean-gzip clean-gzip +maybe-clean-gzip: +@if gzip +maybe-clean-gzip: clean-gzip -clean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +clean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in hello" ; \ - (cd hello && \ + echo "Doing clean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-distclean-hello distclean-hello -maybe-distclean-hello: -@if hello -maybe-distclean-hello: distclean-hello +.PHONY: maybe-distclean-gzip distclean-gzip +maybe-distclean-gzip: +@if gzip +maybe-distclean-gzip: distclean-gzip -distclean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +distclean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in hello" ; \ - (cd hello && \ + echo "Doing distclean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif hello +@endif gzip -.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello -maybe-maintainer-clean-hello: -@if hello -maybe-maintainer-clean-hello: maintainer-clean-hello +.PHONY: maybe-maintainer-clean-gzip maintainer-clean-gzip +maybe-maintainer-clean-gzip: +@if gzip +maybe-maintainer-clean-gzip: maintainer-clean-gzip -maintainer-clean-hello: - @[ -f ./hello/Makefile ] || exit 0; \ +maintainer-clean-gzip: + @[ -f ./gzip/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in hello" ; \ - (cd hello && \ + echo "Doing maintainer-clean in gzip" ; \ + (cd gzip && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif hello +@endif gzip -.PHONY: configure-indent maybe-configure-indent -maybe-configure-indent: -@if indent -maybe-configure-indent: configure-indent -configure-indent: - @test ! -f indent/Makefile || exit 0; \ - [ -d indent ] || mkdir indent; \ +.PHONY: configure-hello maybe-configure-hello +maybe-configure-hello: +@if hello +maybe-configure-hello: configure-hello +configure-hello: + @test ! -f hello/Makefile || exit 0; \ + [ -d hello ] || mkdir hello; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in indent; \ - cd indent || exit 1; \ + echo Configuring in hello; \ + cd hello || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/indent"; \ - libsrcdir="$$s/indent";; \ + srcdiroption="--srcdir=$(srcdir)/hello"; \ + libsrcdir="$$s/hello";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/indent"; \ - libsrcdir="$$s/indent";; \ + srcdiroption="--srcdir=../$(srcdir)/hello"; \ + libsrcdir="$$s/hello";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif indent +@endif hello -.PHONY: all-indent maybe-all-indent -maybe-all-indent: -@if indent -maybe-all-indent: all-indent -all-indent: configure-indent - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) all) -@endif indent +.PHONY: all-hello maybe-all-hello +maybe-all-hello: +@if hello +maybe-all-hello: all-hello +all-hello: configure-hello + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + $(HOST_EXPORTS) \ + (cd hello && $(MAKE) $(FLAGS_TO_PASS) all) +@endif hello -.PHONY: check-indent maybe-check-indent -maybe-check-indent: -@if indent -maybe-check-indent: check-indent +.PHONY: check-hello maybe-check-hello +maybe-check-hello: +@if hello +maybe-check-hello: check-hello -check-indent: +check-hello: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) check) + (cd hello && $(MAKE) $(FLAGS_TO_PASS) check) -@endif indent +@endif hello -.PHONY: install-indent maybe-install-indent -maybe-install-indent: -@if indent -maybe-install-indent: install-indent +.PHONY: install-hello maybe-install-hello +maybe-install-hello: +@if hello +maybe-install-hello: install-hello -install-indent: installdirs +install-hello: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd indent && $(MAKE) $(FLAGS_TO_PASS) install) + (cd hello && $(MAKE) $(FLAGS_TO_PASS) install) -@endif indent +@endif hello # Other targets (info, dvi, etc.) -.PHONY: maybe-info-indent info-indent -maybe-info-indent: -@if indent -maybe-info-indent: info-indent +.PHONY: maybe-info-hello info-hello +maybe-info-hello: +@if hello +maybe-info-hello: info-hello -info-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ +info-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in indent" ; \ - (cd indent && \ + echo "Doing info in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-dvi-indent dvi-indent -maybe-dvi-indent: -@if indent -maybe-dvi-indent: dvi-indent +.PHONY: maybe-dvi-hello dvi-hello +maybe-dvi-hello: +@if hello +maybe-dvi-hello: dvi-hello -dvi-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ +dvi-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in indent" ; \ - (cd indent && \ + echo "Doing dvi in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-TAGS-indent TAGS-indent -maybe-TAGS-indent: -@if indent -maybe-TAGS-indent: TAGS-indent +.PHONY: maybe-TAGS-hello TAGS-hello +maybe-TAGS-hello: +@if hello +maybe-TAGS-hello: TAGS-hello -TAGS-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ +TAGS-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in indent" ; \ - (cd indent && \ + echo "Doing TAGS in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-install-info-indent install-info-indent -maybe-install-info-indent: -@if indent -maybe-install-info-indent: install-info-indent +.PHONY: maybe-install-info-hello install-info-hello +maybe-install-info-hello: +@if hello +maybe-install-info-hello: install-info-hello -install-info-indent: \ - configure-indent \ - info-indent - @[ -f ./indent/Makefile ] || exit 0; \ +install-info-hello: \ + configure-hello \ + info-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in indent" ; \ - (cd indent && \ + echo "Doing install-info in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-installcheck-indent installcheck-indent -maybe-installcheck-indent: -@if indent -maybe-installcheck-indent: installcheck-indent +.PHONY: maybe-installcheck-hello installcheck-hello +maybe-installcheck-hello: +@if hello +maybe-installcheck-hello: installcheck-hello -installcheck-indent: \ - configure-indent - @[ -f ./indent/Makefile ] || exit 0; \ +installcheck-hello: \ + configure-hello + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in indent" ; \ - (cd indent && \ + echo "Doing installcheck in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-mostlyclean-indent mostlyclean-indent -maybe-mostlyclean-indent: -@if indent -maybe-mostlyclean-indent: mostlyclean-indent +.PHONY: maybe-mostlyclean-hello mostlyclean-hello +maybe-mostlyclean-hello: +@if hello +maybe-mostlyclean-hello: mostlyclean-hello -mostlyclean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +mostlyclean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in indent" ; \ - (cd indent && \ + echo "Doing mostlyclean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-clean-indent clean-indent -maybe-clean-indent: -@if indent -maybe-clean-indent: clean-indent +.PHONY: maybe-clean-hello clean-hello +maybe-clean-hello: +@if hello +maybe-clean-hello: clean-hello -clean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +clean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in indent" ; \ - (cd indent && \ + echo "Doing clean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-distclean-indent distclean-indent -maybe-distclean-indent: -@if indent -maybe-distclean-indent: distclean-indent +.PHONY: maybe-distclean-hello distclean-hello +maybe-distclean-hello: +@if hello +maybe-distclean-hello: distclean-hello -distclean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +distclean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in indent" ; \ - (cd indent && \ + echo "Doing distclean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif indent +@endif hello -.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent -maybe-maintainer-clean-indent: -@if indent -maybe-maintainer-clean-indent: maintainer-clean-indent +.PHONY: maybe-maintainer-clean-hello maintainer-clean-hello +maybe-maintainer-clean-hello: +@if hello +maybe-maintainer-clean-hello: maintainer-clean-hello -maintainer-clean-indent: - @[ -f ./indent/Makefile ] || exit 0; \ +maintainer-clean-hello: + @[ -f ./hello/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in indent" ; \ - (cd indent && \ + echo "Doing maintainer-clean in hello" ; \ + (cd hello && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif indent +@endif hello -.PHONY: configure-intl maybe-configure-intl -maybe-configure-intl: -@if intl -maybe-configure-intl: configure-intl -configure-intl: - @test ! -f intl/Makefile || exit 0; \ - [ -d intl ] || mkdir intl; \ +.PHONY: configure-indent maybe-configure-indent +maybe-configure-indent: +@if indent +maybe-configure-indent: configure-indent +configure-indent: + @test ! -f indent/Makefile || exit 0; \ + [ -d indent ] || mkdir indent; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in intl; \ - cd intl || exit 1; \ + echo Configuring in indent; \ + cd indent || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/intl"; \ - libsrcdir="$$s/intl";; \ + srcdiroption="--srcdir=$(srcdir)/indent"; \ + libsrcdir="$$s/indent";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/intl"; \ - libsrcdir="$$s/intl";; \ + srcdiroption="--srcdir=../$(srcdir)/indent"; \ + libsrcdir="$$s/indent";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif intl +@endif indent -.PHONY: all-intl maybe-all-intl -maybe-all-intl: -@if intl -maybe-all-intl: all-intl -all-intl: configure-intl +.PHONY: all-indent maybe-all-indent +maybe-all-indent: +@if indent +maybe-all-indent: all-indent +all-indent: configure-indent @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) all) -@endif intl + (cd indent && $(MAKE) $(FLAGS_TO_PASS) all) +@endif indent -.PHONY: check-intl maybe-check-intl -maybe-check-intl: -@if intl -maybe-check-intl: check-intl +.PHONY: check-indent maybe-check-indent +maybe-check-indent: +@if indent +maybe-check-indent: check-indent -check-intl: +check-indent: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) check) + (cd indent && $(MAKE) $(FLAGS_TO_PASS) check) -@endif intl +@endif indent -.PHONY: install-intl maybe-install-intl -maybe-install-intl: -@if intl -maybe-install-intl: install-intl +.PHONY: install-indent maybe-install-indent +maybe-install-indent: +@if indent +maybe-install-indent: install-indent -install-intl: installdirs +install-indent: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd intl && $(MAKE) $(FLAGS_TO_PASS) install) + (cd indent && $(MAKE) $(FLAGS_TO_PASS) install) -@endif intl +@endif indent # Other targets (info, dvi, etc.) -.PHONY: maybe-info-intl info-intl -maybe-info-intl: -@if intl -maybe-info-intl: info-intl +.PHONY: maybe-info-indent info-indent +maybe-info-indent: +@if indent +maybe-info-indent: info-indent -info-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ +info-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in intl" ; \ - (cd intl && \ + echo "Doing info in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-dvi-intl dvi-intl -maybe-dvi-intl: -@if intl -maybe-dvi-intl: dvi-intl +.PHONY: maybe-dvi-indent dvi-indent +maybe-dvi-indent: +@if indent +maybe-dvi-indent: dvi-indent -dvi-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ +dvi-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in intl" ; \ - (cd intl && \ + echo "Doing dvi in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-TAGS-intl TAGS-intl -maybe-TAGS-intl: -@if intl -maybe-TAGS-intl: TAGS-intl +.PHONY: maybe-TAGS-indent TAGS-indent +maybe-TAGS-indent: +@if indent +maybe-TAGS-indent: TAGS-indent -TAGS-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ +TAGS-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in intl" ; \ - (cd intl && \ + echo "Doing TAGS in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-install-info-intl install-info-intl -maybe-install-info-intl: -@if intl -maybe-install-info-intl: install-info-intl +.PHONY: maybe-install-info-indent install-info-indent +maybe-install-info-indent: +@if indent +maybe-install-info-indent: install-info-indent -install-info-intl: \ - configure-intl \ - info-intl - @[ -f ./intl/Makefile ] || exit 0; \ +install-info-indent: \ + configure-indent \ + info-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in intl" ; \ - (cd intl && \ + echo "Doing install-info in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-installcheck-intl installcheck-intl -maybe-installcheck-intl: -@if intl -maybe-installcheck-intl: installcheck-intl +.PHONY: maybe-installcheck-indent installcheck-indent +maybe-installcheck-indent: +@if indent +maybe-installcheck-indent: installcheck-indent -installcheck-intl: \ - configure-intl - @[ -f ./intl/Makefile ] || exit 0; \ +installcheck-indent: \ + configure-indent + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in intl" ; \ - (cd intl && \ + echo "Doing installcheck in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-mostlyclean-intl mostlyclean-intl -maybe-mostlyclean-intl: -@if intl -maybe-mostlyclean-intl: mostlyclean-intl +.PHONY: maybe-mostlyclean-indent mostlyclean-indent +maybe-mostlyclean-indent: +@if indent +maybe-mostlyclean-indent: mostlyclean-indent -mostlyclean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +mostlyclean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in intl" ; \ - (cd intl && \ + echo "Doing mostlyclean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-clean-intl clean-intl -maybe-clean-intl: -@if intl -maybe-clean-intl: clean-intl +.PHONY: maybe-clean-indent clean-indent +maybe-clean-indent: +@if indent +maybe-clean-indent: clean-indent -clean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +clean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in intl" ; \ - (cd intl && \ + echo "Doing clean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-distclean-intl distclean-intl -maybe-distclean-intl: -@if intl -maybe-distclean-intl: distclean-intl +.PHONY: maybe-distclean-indent distclean-indent +maybe-distclean-indent: +@if indent +maybe-distclean-indent: distclean-indent -distclean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +distclean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in intl" ; \ - (cd intl && \ + echo "Doing distclean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif intl +@endif indent -.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl -maybe-maintainer-clean-intl: -@if intl -maybe-maintainer-clean-intl: maintainer-clean-intl +.PHONY: maybe-maintainer-clean-indent maintainer-clean-indent +maybe-maintainer-clean-indent: +@if indent +maybe-maintainer-clean-indent: maintainer-clean-indent -maintainer-clean-intl: - @[ -f ./intl/Makefile ] || exit 0; \ +maintainer-clean-indent: + @[ -f ./indent/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in intl" ; \ - (cd intl && \ + echo "Doing maintainer-clean in indent" ; \ + (cd indent && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif intl +@endif indent -.PHONY: configure-tcl maybe-configure-tcl -maybe-configure-tcl: -@if tcl -maybe-configure-tcl: configure-tcl -configure-tcl: - @test ! -f tcl/Makefile || exit 0; \ - [ -d tcl ] || mkdir tcl; \ +.PHONY: configure-intl maybe-configure-intl +maybe-configure-intl: +@if intl +maybe-configure-intl: configure-intl +configure-intl: + @test -f stage_last && exit 0; \ + test ! -f intl/Makefile || exit 0; \ + [ -d intl ] || mkdir intl; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in tcl; \ - cd tcl || exit 1; \ + echo Configuring in intl; \ + cd intl || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tcl"; \ - libsrcdir="$$s/tcl";; \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/tcl"; \ - libsrcdir="$$s/tcl";; \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif tcl +@endif intl -.PHONY: all-tcl maybe-all-tcl -maybe-all-tcl: -@if tcl -maybe-all-tcl: all-tcl -all-tcl: configure-tcl - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-intl maybe-all-intl +maybe-all-intl: +@if intl +maybe-all-intl: all-intl +all-intl: configure-intl + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all) -@endif tcl + (cd intl && $(MAKE) $(FLAGS_TO_PASS) all) +@endif intl -.PHONY: check-tcl maybe-check-tcl -maybe-check-tcl: -@if tcl -maybe-check-tcl: check-tcl +.PHONY: check-intl maybe-check-intl +maybe-check-intl: +@if intl +maybe-check-intl: check-intl -check-tcl: +check-intl: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check) + (cd intl && $(MAKE) $(FLAGS_TO_PASS) check) -@endif tcl +@endif intl -.PHONY: install-tcl maybe-install-tcl -maybe-install-tcl: -@if tcl -maybe-install-tcl: install-tcl +.PHONY: install-intl maybe-install-intl +maybe-install-intl: +@if intl +maybe-install-intl: install-intl -install-tcl: installdirs +install-intl: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install) + (cd intl && $(MAKE) $(FLAGS_TO_PASS) install) -@endif tcl +@endif intl # Other targets (info, dvi, etc.) -.PHONY: maybe-info-tcl info-tcl -maybe-info-tcl: -@if tcl -maybe-info-tcl: info-tcl +.PHONY: maybe-info-intl info-intl +maybe-info-intl: +@if intl +maybe-info-intl: info-intl -info-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +info-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in tcl" ; \ - (cd tcl && \ + echo "Doing info in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-dvi-tcl dvi-tcl -maybe-dvi-tcl: -@if tcl -maybe-dvi-tcl: dvi-tcl +.PHONY: maybe-dvi-intl dvi-intl +maybe-dvi-intl: +@if intl +maybe-dvi-intl: dvi-intl -dvi-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +dvi-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in tcl" ; \ - (cd tcl && \ + echo "Doing dvi in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-TAGS-tcl TAGS-tcl -maybe-TAGS-tcl: -@if tcl -maybe-TAGS-tcl: TAGS-tcl +.PHONY: maybe-TAGS-intl TAGS-intl +maybe-TAGS-intl: +@if intl +maybe-TAGS-intl: TAGS-intl -TAGS-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +TAGS-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in tcl" ; \ - (cd tcl && \ + echo "Doing TAGS in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-install-info-tcl install-info-tcl -maybe-install-info-tcl: -@if tcl -maybe-install-info-tcl: install-info-tcl +.PHONY: maybe-install-info-intl install-info-intl +maybe-install-info-intl: +@if intl +maybe-install-info-intl: install-info-intl -install-info-tcl: \ - configure-tcl \ - info-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +install-info-intl: \ + configure-intl \ + info-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in tcl" ; \ - (cd tcl && \ + echo "Doing install-info in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-installcheck-tcl installcheck-tcl -maybe-installcheck-tcl: -@if tcl -maybe-installcheck-tcl: installcheck-tcl +.PHONY: maybe-installcheck-intl installcheck-intl +maybe-installcheck-intl: +@if intl +maybe-installcheck-intl: installcheck-intl -installcheck-tcl: \ - configure-tcl - @[ -f ./tcl/Makefile ] || exit 0; \ +installcheck-intl: \ + configure-intl + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in tcl" ; \ - (cd tcl && \ + echo "Doing installcheck in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl -maybe-mostlyclean-tcl: -@if tcl -maybe-mostlyclean-tcl: mostlyclean-tcl +.PHONY: maybe-mostlyclean-intl mostlyclean-intl +maybe-mostlyclean-intl: +@if intl +maybe-mostlyclean-intl: mostlyclean-intl -# tcl doesn't support mostlyclean. -mostlyclean-tcl: +mostlyclean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in intl" ; \ + (cd intl && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ + mostlyclean) \ + || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-clean-tcl clean-tcl -maybe-clean-tcl: -@if tcl -maybe-clean-tcl: clean-tcl +.PHONY: maybe-clean-intl clean-intl +maybe-clean-intl: +@if intl +maybe-clean-intl: clean-intl -clean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +clean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in tcl" ; \ - (cd tcl && \ + echo "Doing clean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-distclean-tcl distclean-tcl -maybe-distclean-tcl: -@if tcl -maybe-distclean-tcl: distclean-tcl +.PHONY: maybe-distclean-intl distclean-intl +maybe-distclean-intl: +@if intl +maybe-distclean-intl: distclean-intl -distclean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +distclean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in tcl" ; \ - (cd tcl && \ + echo "Doing distclean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif tcl +@endif intl -.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl -maybe-maintainer-clean-tcl: -@if tcl -maybe-maintainer-clean-tcl: maintainer-clean-tcl +.PHONY: maybe-maintainer-clean-intl maintainer-clean-intl +maybe-maintainer-clean-intl: +@if intl +maybe-maintainer-clean-intl: maintainer-clean-intl -maintainer-clean-tcl: - @[ -f ./tcl/Makefile ] || exit 0; \ +maintainer-clean-intl: + @[ -f ./intl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in tcl" ; \ - (cd tcl && \ + echo "Doing maintainer-clean in intl" ; \ + (cd intl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif tcl +@endif intl -.PHONY: configure-itcl maybe-configure-itcl -maybe-configure-itcl: -@if itcl -maybe-configure-itcl: configure-itcl -configure-itcl: - @test ! -f itcl/Makefile || exit 0; \ - [ -d itcl ] || mkdir itcl; \ +.PHONY: configure-tcl maybe-configure-tcl +maybe-configure-tcl: +@if tcl +maybe-configure-tcl: configure-tcl +configure-tcl: + @test ! -f tcl/Makefile || exit 0; \ + [ -d tcl ] || mkdir tcl; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in itcl; \ - cd itcl || exit 1; \ + echo Configuring in tcl; \ + cd tcl || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/itcl"; \ - libsrcdir="$$s/itcl";; \ + srcdiroption="--srcdir=$(srcdir)/tcl"; \ + libsrcdir="$$s/tcl";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/itcl"; \ - libsrcdir="$$s/itcl";; \ + srcdiroption="--srcdir=../$(srcdir)/tcl"; \ + libsrcdir="$$s/tcl";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif itcl +@endif tcl -.PHONY: all-itcl maybe-all-itcl -maybe-all-itcl: -@if itcl -maybe-all-itcl: all-itcl -all-itcl: configure-itcl +.PHONY: all-tcl maybe-all-tcl +maybe-all-tcl: +@if tcl +maybe-all-tcl: all-tcl +all-tcl: configure-tcl @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all) -@endif itcl + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) all) +@endif tcl -.PHONY: check-itcl maybe-check-itcl -maybe-check-itcl: -@if itcl -maybe-check-itcl: check-itcl +.PHONY: check-tcl maybe-check-tcl +maybe-check-tcl: +@if tcl +maybe-check-tcl: check-tcl -check-itcl: +check-tcl: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check) + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) check) -@endif itcl +@endif tcl -.PHONY: install-itcl maybe-install-itcl -maybe-install-itcl: -@if itcl -maybe-install-itcl: install-itcl +.PHONY: install-tcl maybe-install-tcl +maybe-install-tcl: +@if tcl +maybe-install-tcl: install-tcl -install-itcl: installdirs +install-tcl: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install) + (cd tcl && $(MAKE) $(FLAGS_TO_PASS) install) -@endif itcl +@endif tcl # Other targets (info, dvi, etc.) -.PHONY: maybe-info-itcl info-itcl -maybe-info-itcl: -@if itcl -maybe-info-itcl: info-itcl +.PHONY: maybe-info-tcl info-tcl +maybe-info-tcl: +@if tcl +maybe-info-tcl: info-tcl -info-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +info-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in itcl" ; \ - (cd itcl && \ + echo "Doing info in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-dvi-itcl dvi-itcl -maybe-dvi-itcl: -@if itcl -maybe-dvi-itcl: dvi-itcl +.PHONY: maybe-dvi-tcl dvi-tcl +maybe-dvi-tcl: +@if tcl +maybe-dvi-tcl: dvi-tcl -dvi-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +dvi-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in itcl" ; \ - (cd itcl && \ + echo "Doing dvi in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-TAGS-itcl TAGS-itcl -maybe-TAGS-itcl: -@if itcl -maybe-TAGS-itcl: TAGS-itcl +.PHONY: maybe-TAGS-tcl TAGS-tcl +maybe-TAGS-tcl: +@if tcl +maybe-TAGS-tcl: TAGS-tcl -TAGS-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +TAGS-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in itcl" ; \ - (cd itcl && \ + echo "Doing TAGS in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-install-info-itcl install-info-itcl -maybe-install-info-itcl: -@if itcl -maybe-install-info-itcl: install-info-itcl +.PHONY: maybe-install-info-tcl install-info-tcl +maybe-install-info-tcl: +@if tcl +maybe-install-info-tcl: install-info-tcl -install-info-itcl: \ - configure-itcl \ - info-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +install-info-tcl: \ + configure-tcl \ + info-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in itcl" ; \ - (cd itcl && \ + echo "Doing install-info in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-installcheck-itcl installcheck-itcl -maybe-installcheck-itcl: -@if itcl -maybe-installcheck-itcl: installcheck-itcl +.PHONY: maybe-installcheck-tcl installcheck-tcl +maybe-installcheck-tcl: +@if tcl +maybe-installcheck-tcl: installcheck-tcl -installcheck-itcl: \ - configure-itcl - @[ -f ./itcl/Makefile ] || exit 0; \ +installcheck-tcl: \ + configure-tcl + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in itcl" ; \ - (cd itcl && \ + echo "Doing installcheck in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl -maybe-mostlyclean-itcl: -@if itcl -maybe-mostlyclean-itcl: mostlyclean-itcl +.PHONY: maybe-mostlyclean-tcl mostlyclean-tcl +maybe-mostlyclean-tcl: +@if tcl +maybe-mostlyclean-tcl: mostlyclean-tcl -mostlyclean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in itcl" ; \ - (cd itcl && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 +# tcl doesn't support mostlyclean. +mostlyclean-tcl: -@endif itcl +@endif tcl -.PHONY: maybe-clean-itcl clean-itcl -maybe-clean-itcl: -@if itcl -maybe-clean-itcl: clean-itcl +.PHONY: maybe-clean-tcl clean-tcl +maybe-clean-tcl: +@if tcl +maybe-clean-tcl: clean-tcl -clean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +clean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in itcl" ; \ - (cd itcl && \ + echo "Doing clean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-distclean-itcl distclean-itcl -maybe-distclean-itcl: -@if itcl -maybe-distclean-itcl: distclean-itcl +.PHONY: maybe-distclean-tcl distclean-tcl +maybe-distclean-tcl: +@if tcl +maybe-distclean-tcl: distclean-tcl -distclean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +distclean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in itcl" ; \ - (cd itcl && \ + echo "Doing distclean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl -maybe-maintainer-clean-itcl: -@if itcl -maybe-maintainer-clean-itcl: maintainer-clean-itcl +.PHONY: maybe-maintainer-clean-tcl maintainer-clean-tcl +maybe-maintainer-clean-tcl: +@if tcl +maybe-maintainer-clean-tcl: maintainer-clean-tcl -maintainer-clean-itcl: - @[ -f ./itcl/Makefile ] || exit 0; \ +maintainer-clean-tcl: + @[ -f ./tcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in itcl" ; \ - (cd itcl && \ + echo "Doing maintainer-clean in tcl" ; \ + (cd tcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif itcl +@endif tcl -.PHONY: configure-ld maybe-configure-ld -maybe-configure-ld: -@if ld -maybe-configure-ld: configure-ld -configure-ld: - @test ! -f ld/Makefile || exit 0; \ - [ -d ld ] || mkdir ld; \ +.PHONY: configure-itcl maybe-configure-itcl +maybe-configure-itcl: +@if itcl +maybe-configure-itcl: configure-itcl +configure-itcl: + @test ! -f itcl/Makefile || exit 0; \ + [ -d itcl ] || mkdir itcl; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in ld; \ - cd ld || exit 1; \ + echo Configuring in itcl; \ + cd itcl || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/ld"; \ - libsrcdir="$$s/ld";; \ + srcdiroption="--srcdir=$(srcdir)/itcl"; \ + libsrcdir="$$s/itcl";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/ld"; \ - libsrcdir="$$s/ld";; \ + srcdiroption="--srcdir=../$(srcdir)/itcl"; \ + libsrcdir="$$s/itcl";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif ld +@endif itcl -.PHONY: all-ld maybe-all-ld -maybe-all-ld: -@if ld -maybe-all-ld: all-ld -all-ld: configure-ld +.PHONY: all-itcl maybe-all-itcl +maybe-all-itcl: +@if itcl +maybe-all-itcl: all-itcl +all-itcl: configure-itcl @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) all) -@endif ld + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) all) +@endif itcl -.PHONY: check-ld maybe-check-ld -maybe-check-ld: -@if ld -maybe-check-ld: check-ld +.PHONY: check-itcl maybe-check-itcl +maybe-check-itcl: +@if itcl +maybe-check-itcl: check-itcl -check-ld: +check-itcl: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) check) + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) check) -@endif ld +@endif itcl -.PHONY: install-ld maybe-install-ld -maybe-install-ld: -@if ld -maybe-install-ld: install-ld +.PHONY: install-itcl maybe-install-itcl +maybe-install-itcl: +@if itcl +maybe-install-itcl: install-itcl -install-ld: installdirs +install-itcl: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd ld && $(MAKE) $(FLAGS_TO_PASS) install) + (cd itcl && $(MAKE) $(FLAGS_TO_PASS) install) -@endif ld +@endif itcl # Other targets (info, dvi, etc.) -.PHONY: maybe-info-ld info-ld -maybe-info-ld: -@if ld -maybe-info-ld: info-ld +.PHONY: maybe-info-itcl info-itcl +maybe-info-itcl: +@if itcl +maybe-info-itcl: info-itcl -info-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ +info-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in ld" ; \ - (cd ld && \ + echo "Doing info in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-dvi-ld dvi-ld -maybe-dvi-ld: -@if ld -maybe-dvi-ld: dvi-ld +.PHONY: maybe-dvi-itcl dvi-itcl +maybe-dvi-itcl: +@if itcl +maybe-dvi-itcl: dvi-itcl -dvi-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ +dvi-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in ld" ; \ - (cd ld && \ + echo "Doing dvi in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-TAGS-ld TAGS-ld -maybe-TAGS-ld: -@if ld -maybe-TAGS-ld: TAGS-ld +.PHONY: maybe-TAGS-itcl TAGS-itcl +maybe-TAGS-itcl: +@if itcl +maybe-TAGS-itcl: TAGS-itcl -TAGS-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ +TAGS-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in ld" ; \ - (cd ld && \ + echo "Doing TAGS in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-install-info-ld install-info-ld -maybe-install-info-ld: -@if ld -maybe-install-info-ld: install-info-ld +.PHONY: maybe-install-info-itcl install-info-itcl +maybe-install-info-itcl: +@if itcl +maybe-install-info-itcl: install-info-itcl -install-info-ld: \ - configure-ld \ - info-ld - @[ -f ./ld/Makefile ] || exit 0; \ +install-info-itcl: \ + configure-itcl \ + info-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in ld" ; \ - (cd ld && \ + echo "Doing install-info in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-installcheck-ld installcheck-ld -maybe-installcheck-ld: -@if ld -maybe-installcheck-ld: installcheck-ld +.PHONY: maybe-installcheck-itcl installcheck-itcl +maybe-installcheck-itcl: +@if itcl +maybe-installcheck-itcl: installcheck-itcl -installcheck-ld: \ - configure-ld - @[ -f ./ld/Makefile ] || exit 0; \ +installcheck-itcl: \ + configure-itcl + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in ld" ; \ - (cd ld && \ + echo "Doing installcheck in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-mostlyclean-ld mostlyclean-ld -maybe-mostlyclean-ld: -@if ld -maybe-mostlyclean-ld: mostlyclean-ld +.PHONY: maybe-mostlyclean-itcl mostlyclean-itcl +maybe-mostlyclean-itcl: +@if itcl +maybe-mostlyclean-itcl: mostlyclean-itcl -mostlyclean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +mostlyclean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in ld" ; \ - (cd ld && \ + echo "Doing mostlyclean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-clean-ld clean-ld -maybe-clean-ld: -@if ld -maybe-clean-ld: clean-ld +.PHONY: maybe-clean-itcl clean-itcl +maybe-clean-itcl: +@if itcl +maybe-clean-itcl: clean-itcl -clean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +clean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in ld" ; \ - (cd ld && \ + echo "Doing clean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-distclean-ld distclean-ld -maybe-distclean-ld: -@if ld -maybe-distclean-ld: distclean-ld +.PHONY: maybe-distclean-itcl distclean-itcl +maybe-distclean-itcl: +@if itcl +maybe-distclean-itcl: distclean-itcl -distclean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +distclean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in ld" ; \ - (cd ld && \ + echo "Doing distclean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif ld +@endif itcl -.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld -maybe-maintainer-clean-ld: -@if ld -maybe-maintainer-clean-ld: maintainer-clean-ld +.PHONY: maybe-maintainer-clean-itcl maintainer-clean-itcl +maybe-maintainer-clean-itcl: +@if itcl +maybe-maintainer-clean-itcl: maintainer-clean-itcl -maintainer-clean-ld: - @[ -f ./ld/Makefile ] || exit 0; \ +maintainer-clean-itcl: + @[ -f ./itcl/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in ld" ; \ - (cd ld && \ + echo "Doing maintainer-clean in itcl" ; \ + (cd itcl && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif ld +@endif itcl -.PHONY: configure-libcpp maybe-configure-libcpp -maybe-configure-libcpp: -@if libcpp -maybe-configure-libcpp: configure-libcpp -configure-libcpp: - @test ! -f libcpp/Makefile || exit 0; \ - [ -d libcpp ] || mkdir libcpp; \ +.PHONY: configure-ld maybe-configure-ld +maybe-configure-ld: +@if ld +maybe-configure-ld: configure-ld +configure-ld: + @test -f stage_last && exit 0; \ + test ! -f ld/Makefile || exit 0; \ + [ -d ld ] || mkdir ld; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in libcpp; \ - cd libcpp || exit 1; \ + echo Configuring in ld; \ + cd ld || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libcpp"; \ - libsrcdir="$$s/libcpp";; \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ - libsrcdir="$$s/libcpp";; \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif libcpp +@endif ld -.PHONY: all-libcpp maybe-all-libcpp -maybe-all-libcpp: -@if libcpp -maybe-all-libcpp: all-libcpp -all-libcpp: configure-libcpp - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-ld maybe-all-ld +maybe-all-ld: +@if ld +maybe-all-ld: all-ld +all-ld: configure-ld + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) all) -@endif libcpp + (cd ld && $(MAKE) $(FLAGS_TO_PASS) all) +@endif ld -.PHONY: check-libcpp maybe-check-libcpp -maybe-check-libcpp: -@if libcpp -maybe-check-libcpp: check-libcpp +.PHONY: check-ld maybe-check-ld +maybe-check-ld: +@if ld +maybe-check-ld: check-ld -check-libcpp: +check-ld: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) check) + (cd ld && $(MAKE) $(FLAGS_TO_PASS) check) -@endif libcpp +@endif ld -.PHONY: install-libcpp maybe-install-libcpp -maybe-install-libcpp: -@if libcpp -maybe-install-libcpp: install-libcpp +.PHONY: install-ld maybe-install-ld +maybe-install-ld: +@if ld +maybe-install-ld: install-ld -install-libcpp: installdirs +install-ld: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) install) + (cd ld && $(MAKE) $(FLAGS_TO_PASS) install) -@endif libcpp +@endif ld # Other targets (info, dvi, etc.) -.PHONY: maybe-info-libcpp info-libcpp -maybe-info-libcpp: -@if libcpp -maybe-info-libcpp: info-libcpp +.PHONY: maybe-info-ld info-ld +maybe-info-ld: +@if ld +maybe-info-ld: info-ld -info-libcpp: \ - configure-libcpp - @[ -f ./libcpp/Makefile ] || exit 0; \ +info-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in libcpp" ; \ - (cd libcpp && \ + echo "Doing info in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-dvi-libcpp dvi-libcpp -maybe-dvi-libcpp: -@if libcpp -maybe-dvi-libcpp: dvi-libcpp +.PHONY: maybe-dvi-ld dvi-ld +maybe-dvi-ld: +@if ld +maybe-dvi-ld: dvi-ld -dvi-libcpp: \ - configure-libcpp - @[ -f ./libcpp/Makefile ] || exit 0; \ +dvi-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in libcpp" ; \ - (cd libcpp && \ + echo "Doing dvi in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-TAGS-libcpp TAGS-libcpp -maybe-TAGS-libcpp: -@if libcpp -maybe-TAGS-libcpp: TAGS-libcpp +.PHONY: maybe-TAGS-ld TAGS-ld +maybe-TAGS-ld: +@if ld +maybe-TAGS-ld: TAGS-ld -TAGS-libcpp: \ - configure-libcpp - @[ -f ./libcpp/Makefile ] || exit 0; \ +TAGS-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in libcpp" ; \ - (cd libcpp && \ + echo "Doing TAGS in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-install-info-libcpp install-info-libcpp -maybe-install-info-libcpp: -@if libcpp -maybe-install-info-libcpp: install-info-libcpp +.PHONY: maybe-install-info-ld install-info-ld +maybe-install-info-ld: +@if ld +maybe-install-info-ld: install-info-ld -install-info-libcpp: \ - configure-libcpp \ - info-libcpp - @[ -f ./libcpp/Makefile ] || exit 0; \ +install-info-ld: \ + configure-ld \ + info-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in libcpp" ; \ - (cd libcpp && \ + echo "Doing install-info in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-installcheck-libcpp installcheck-libcpp -maybe-installcheck-libcpp: -@if libcpp -maybe-installcheck-libcpp: installcheck-libcpp +.PHONY: maybe-installcheck-ld installcheck-ld +maybe-installcheck-ld: +@if ld +maybe-installcheck-ld: installcheck-ld -installcheck-libcpp: \ - configure-libcpp - @[ -f ./libcpp/Makefile ] || exit 0; \ +installcheck-ld: \ + configure-ld + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libcpp" ; \ - (cd libcpp && \ + echo "Doing installcheck in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-mostlyclean-libcpp mostlyclean-libcpp -maybe-mostlyclean-libcpp: -@if libcpp -maybe-mostlyclean-libcpp: mostlyclean-libcpp +.PHONY: maybe-mostlyclean-ld mostlyclean-ld +maybe-mostlyclean-ld: +@if ld +maybe-mostlyclean-ld: mostlyclean-ld -mostlyclean-libcpp: - @[ -f ./libcpp/Makefile ] || exit 0; \ +mostlyclean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libcpp" ; \ - (cd libcpp && \ + echo "Doing mostlyclean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-clean-libcpp clean-libcpp -maybe-clean-libcpp: -@if libcpp -maybe-clean-libcpp: clean-libcpp +.PHONY: maybe-clean-ld clean-ld +maybe-clean-ld: +@if ld +maybe-clean-ld: clean-ld -clean-libcpp: - @[ -f ./libcpp/Makefile ] || exit 0; \ +clean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libcpp" ; \ - (cd libcpp && \ + echo "Doing clean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-distclean-libcpp distclean-libcpp -maybe-distclean-libcpp: -@if libcpp -maybe-distclean-libcpp: distclean-libcpp +.PHONY: maybe-distclean-ld distclean-ld +maybe-distclean-ld: +@if ld +maybe-distclean-ld: distclean-ld -distclean-libcpp: - @[ -f ./libcpp/Makefile ] || exit 0; \ +distclean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libcpp" ; \ - (cd libcpp && \ + echo "Doing distclean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: maybe-maintainer-clean-libcpp maintainer-clean-libcpp -maybe-maintainer-clean-libcpp: -@if libcpp -maybe-maintainer-clean-libcpp: maintainer-clean-libcpp +.PHONY: maybe-maintainer-clean-ld maintainer-clean-ld +maybe-maintainer-clean-ld: +@if ld +maybe-maintainer-clean-ld: maintainer-clean-ld -maintainer-clean-libcpp: - @[ -f ./libcpp/Makefile ] || exit 0; \ +maintainer-clean-ld: + @[ -f ./ld/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libcpp" ; \ - (cd libcpp && \ + echo "Doing maintainer-clean in ld" ; \ + (cd ld && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif libcpp +@endif ld -.PHONY: configure-libgui maybe-configure-libgui -maybe-configure-libgui: -@if libgui -maybe-configure-libgui: configure-libgui -configure-libgui: - @test ! -f libgui/Makefile || exit 0; \ - [ -d libgui ] || mkdir libgui; \ +.PHONY: configure-libcpp maybe-configure-libcpp +maybe-configure-libcpp: +@if libcpp +maybe-configure-libcpp: configure-libcpp +configure-libcpp: + @test -f stage_last && exit 0; \ + test ! -f libcpp/Makefile || exit 0; \ + [ -d libcpp ] || mkdir libcpp; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in libgui; \ - cd libgui || exit 1; \ + echo Configuring in libcpp; \ + cd libcpp || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libgui"; \ - libsrcdir="$$s/libgui";; \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/libgui"; \ - libsrcdir="$$s/libgui";; \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: all-libgui maybe-all-libgui -maybe-all-libgui: -@if libgui -maybe-all-libgui: all-libgui -all-libgui: configure-libgui - @r=`${PWD_COMMAND}`; export r; \ +.PHONY: all-libcpp maybe-all-libcpp +maybe-all-libcpp: +@if libcpp +maybe-all-libcpp: all-libcpp +all-libcpp: configure-libcpp + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all) -@endif libgui + (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) all) +@endif libcpp -.PHONY: check-libgui maybe-check-libgui -maybe-check-libgui: -@if libgui -maybe-check-libgui: check-libgui +.PHONY: check-libcpp maybe-check-libcpp +maybe-check-libcpp: +@if libcpp +maybe-check-libcpp: check-libcpp -check-libgui: +check-libcpp: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check) + (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) check) -@endif libgui +@endif libcpp -.PHONY: install-libgui maybe-install-libgui -maybe-install-libgui: -@if libgui -maybe-install-libgui: install-libgui +.PHONY: install-libcpp maybe-install-libcpp +maybe-install-libcpp: +@if libcpp +maybe-install-libcpp: install-libcpp -install-libgui: installdirs +install-libcpp: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install) + (cd libcpp && $(MAKE) $(FLAGS_TO_PASS) install) -@endif libgui +@endif libcpp # Other targets (info, dvi, etc.) -.PHONY: maybe-info-libgui info-libgui -maybe-info-libgui: -@if libgui -maybe-info-libgui: info-libgui +.PHONY: maybe-info-libcpp info-libcpp +maybe-info-libcpp: +@if libcpp +maybe-info-libcpp: info-libcpp -info-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +info-libcpp: \ + configure-libcpp + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in libgui" ; \ - (cd libgui && \ + echo "Doing info in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-dvi-libgui dvi-libgui -maybe-dvi-libgui: -@if libgui -maybe-dvi-libgui: dvi-libgui +.PHONY: maybe-dvi-libcpp dvi-libcpp +maybe-dvi-libcpp: +@if libcpp +maybe-dvi-libcpp: dvi-libcpp -dvi-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +dvi-libcpp: \ + configure-libcpp + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in libgui" ; \ - (cd libgui && \ + echo "Doing dvi in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-TAGS-libgui TAGS-libgui -maybe-TAGS-libgui: -@if libgui -maybe-TAGS-libgui: TAGS-libgui +.PHONY: maybe-TAGS-libcpp TAGS-libcpp +maybe-TAGS-libcpp: +@if libcpp +maybe-TAGS-libcpp: TAGS-libcpp -TAGS-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +TAGS-libcpp: \ + configure-libcpp + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in libgui" ; \ - (cd libgui && \ + echo "Doing TAGS in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-install-info-libgui install-info-libgui -maybe-install-info-libgui: -@if libgui -maybe-install-info-libgui: install-info-libgui +.PHONY: maybe-install-info-libcpp install-info-libcpp +maybe-install-info-libcpp: +@if libcpp +maybe-install-info-libcpp: install-info-libcpp -install-info-libgui: \ - configure-libgui \ - info-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +install-info-libcpp: \ + configure-libcpp \ + info-libcpp + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in libgui" ; \ - (cd libgui && \ + echo "Doing install-info in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-installcheck-libgui installcheck-libgui -maybe-installcheck-libgui: -@if libgui -maybe-installcheck-libgui: installcheck-libgui +.PHONY: maybe-installcheck-libcpp installcheck-libcpp +maybe-installcheck-libcpp: +@if libcpp +maybe-installcheck-libcpp: installcheck-libcpp -installcheck-libgui: \ - configure-libgui - @[ -f ./libgui/Makefile ] || exit 0; \ +installcheck-libcpp: \ + configure-libcpp + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libgui" ; \ - (cd libgui && \ + echo "Doing installcheck in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui -maybe-mostlyclean-libgui: -@if libgui -maybe-mostlyclean-libgui: mostlyclean-libgui +.PHONY: maybe-mostlyclean-libcpp mostlyclean-libcpp +maybe-mostlyclean-libcpp: +@if libcpp +maybe-mostlyclean-libcpp: mostlyclean-libcpp -mostlyclean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +mostlyclean-libcpp: + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libgui" ; \ - (cd libgui && \ + echo "Doing mostlyclean in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-clean-libgui clean-libgui -maybe-clean-libgui: -@if libgui -maybe-clean-libgui: clean-libgui +.PHONY: maybe-clean-libcpp clean-libcpp +maybe-clean-libcpp: +@if libcpp +maybe-clean-libcpp: clean-libcpp -clean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +clean-libcpp: + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libgui" ; \ - (cd libgui && \ + echo "Doing clean in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-distclean-libgui distclean-libgui -maybe-distclean-libgui: -@if libgui -maybe-distclean-libgui: distclean-libgui +.PHONY: maybe-distclean-libcpp distclean-libcpp +maybe-distclean-libcpp: +@if libcpp +maybe-distclean-libcpp: distclean-libcpp -distclean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +distclean-libcpp: + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libgui" ; \ - (cd libgui && \ + echo "Doing distclean in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui -maybe-maintainer-clean-libgui: -@if libgui -maybe-maintainer-clean-libgui: maintainer-clean-libgui +.PHONY: maybe-maintainer-clean-libcpp maintainer-clean-libcpp +maybe-maintainer-clean-libcpp: +@if libcpp +maybe-maintainer-clean-libcpp: maintainer-clean-libcpp -maintainer-clean-libgui: - @[ -f ./libgui/Makefile ] || exit 0; \ +maintainer-clean-libcpp: + @[ -f ./libcpp/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libgui" ; \ - (cd libgui && \ + echo "Doing maintainer-clean in libcpp" ; \ + (cd libcpp && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif libgui +@endif libcpp -.PHONY: configure-libbanshee maybe-configure-libbanshee -maybe-configure-libbanshee: -@if libbanshee -maybe-configure-libbanshee: configure-libbanshee -configure-libbanshee: - @test ! -f libbanshee/Makefile || exit 0; \ - [ -d libbanshee ] || mkdir libbanshee; \ +.PHONY: configure-libgui maybe-configure-libgui +maybe-configure-libgui: +@if libgui +maybe-configure-libgui: configure-libgui +configure-libgui: + @test ! -f libgui/Makefile || exit 0; \ + [ -d libgui ] || mkdir libgui; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in libbanshee; \ - cd libbanshee || exit 1; \ + echo Configuring in libgui; \ + cd libgui || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libbanshee"; \ - libsrcdir="$$s/libbanshee";; \ + srcdiroption="--srcdir=$(srcdir)/libgui"; \ + libsrcdir="$$s/libgui";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/libbanshee"; \ - libsrcdir="$$s/libbanshee";; \ + srcdiroption="--srcdir=../$(srcdir)/libgui"; \ + libsrcdir="$$s/libgui";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: all-libbanshee maybe-all-libbanshee -maybe-all-libbanshee: -@if libbanshee -maybe-all-libbanshee: all-libbanshee -all-libbanshee: configure-libbanshee +.PHONY: all-libgui maybe-all-libgui +maybe-all-libgui: +@if libgui +maybe-all-libgui: all-libgui +all-libgui: configure-libgui @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libbanshee && $(MAKE) $(FLAGS_TO_PASS) all) -@endif libbanshee + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) all) +@endif libgui -.PHONY: check-libbanshee maybe-check-libbanshee -maybe-check-libbanshee: -@if libbanshee -maybe-check-libbanshee: check-libbanshee +.PHONY: check-libgui maybe-check-libgui +maybe-check-libgui: +@if libgui +maybe-check-libgui: check-libgui -check-libbanshee: +check-libgui: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libbanshee && $(MAKE) $(FLAGS_TO_PASS) check) + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) check) -@endif libbanshee +@endif libgui -.PHONY: install-libbanshee maybe-install-libbanshee -maybe-install-libbanshee: -@if libbanshee -maybe-install-libbanshee: install-libbanshee +.PHONY: install-libgui maybe-install-libgui +maybe-install-libgui: +@if libgui +maybe-install-libgui: install-libgui -install-libbanshee: +install-libgui: installdirs + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(SET_LIB_PATH) \ + $(HOST_EXPORTS) \ + (cd libgui && $(MAKE) $(FLAGS_TO_PASS) install) -@endif libbanshee +@endif libgui # Other targets (info, dvi, etc.) -.PHONY: maybe-info-libbanshee info-libbanshee -maybe-info-libbanshee: -@if libbanshee -maybe-info-libbanshee: info-libbanshee +.PHONY: maybe-info-libgui info-libgui +maybe-info-libgui: +@if libgui +maybe-info-libgui: info-libgui -info-libbanshee: \ - configure-libbanshee - @[ -f ./libbanshee/Makefile ] || exit 0; \ +info-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing info in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-dvi-libbanshee dvi-libbanshee -maybe-dvi-libbanshee: -@if libbanshee -maybe-dvi-libbanshee: dvi-libbanshee +.PHONY: maybe-dvi-libgui dvi-libgui +maybe-dvi-libgui: +@if libgui +maybe-dvi-libgui: dvi-libgui -dvi-libbanshee: \ - configure-libbanshee - @[ -f ./libbanshee/Makefile ] || exit 0; \ +dvi-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing dvi in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-TAGS-libbanshee TAGS-libbanshee -maybe-TAGS-libbanshee: -@if libbanshee -maybe-TAGS-libbanshee: TAGS-libbanshee +.PHONY: maybe-TAGS-libgui TAGS-libgui +maybe-TAGS-libgui: +@if libgui +maybe-TAGS-libgui: TAGS-libgui -TAGS-libbanshee: \ - configure-libbanshee - @[ -f ./libbanshee/Makefile ] || exit 0; \ +TAGS-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing TAGS in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-install-info-libbanshee install-info-libbanshee -maybe-install-info-libbanshee: -@if libbanshee -maybe-install-info-libbanshee: install-info-libbanshee +.PHONY: maybe-install-info-libgui install-info-libgui +maybe-install-info-libgui: +@if libgui +maybe-install-info-libgui: install-info-libgui -install-info-libbanshee: \ - configure-libbanshee \ - info-libbanshee - @[ -f ./libbanshee/Makefile ] || exit 0; \ +install-info-libgui: \ + configure-libgui \ + info-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing install-info in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-installcheck-libbanshee installcheck-libbanshee -maybe-installcheck-libbanshee: -@if libbanshee -maybe-installcheck-libbanshee: installcheck-libbanshee +.PHONY: maybe-installcheck-libgui installcheck-libgui +maybe-installcheck-libgui: +@if libgui +maybe-installcheck-libgui: installcheck-libgui -installcheck-libbanshee: \ - configure-libbanshee - @[ -f ./libbanshee/Makefile ] || exit 0; \ +installcheck-libgui: \ + configure-libgui + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing installcheck in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-mostlyclean-libbanshee mostlyclean-libbanshee -maybe-mostlyclean-libbanshee: -@if libbanshee -maybe-mostlyclean-libbanshee: mostlyclean-libbanshee +.PHONY: maybe-mostlyclean-libgui mostlyclean-libgui +maybe-mostlyclean-libgui: +@if libgui +maybe-mostlyclean-libgui: mostlyclean-libgui -mostlyclean-libbanshee: - @[ -f ./libbanshee/Makefile ] || exit 0; \ +mostlyclean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing mostlyclean in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing mostlyclean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-clean-libbanshee clean-libbanshee -maybe-clean-libbanshee: -@if libbanshee -maybe-clean-libbanshee: clean-libbanshee +.PHONY: maybe-clean-libgui clean-libgui +maybe-clean-libgui: +@if libgui +maybe-clean-libgui: clean-libgui -clean-libbanshee: - @[ -f ./libbanshee/Makefile ] || exit 0; \ +clean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing clean in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing clean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-distclean-libbanshee distclean-libbanshee -maybe-distclean-libbanshee: -@if libbanshee -maybe-distclean-libbanshee: distclean-libbanshee +.PHONY: maybe-distclean-libgui distclean-libgui +maybe-distclean-libgui: +@if libgui +maybe-distclean-libgui: distclean-libgui -distclean-libbanshee: - @[ -f ./libbanshee/Makefile ] || exit 0; \ +distclean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing distclean in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing distclean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 -@endif libbanshee +@endif libgui -.PHONY: maybe-maintainer-clean-libbanshee maintainer-clean-libbanshee -maybe-maintainer-clean-libbanshee: -@if libbanshee -maybe-maintainer-clean-libbanshee: maintainer-clean-libbanshee +.PHONY: maybe-maintainer-clean-libgui maintainer-clean-libgui +maybe-maintainer-clean-libgui: +@if libgui +maybe-maintainer-clean-libgui: maintainer-clean-libgui -maintainer-clean-libbanshee: - @[ -f ./libbanshee/Makefile ] || exit 0; \ +maintainer-clean-libgui: + @[ -f ./libgui/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing maintainer-clean in libbanshee" ; \ - (cd libbanshee && \ + echo "Doing maintainer-clean in libgui" ; \ + (cd libgui && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 -@endif libbanshee +@endif libgui .PHONY: configure-libiberty maybe-configure-libiberty @@ -12767,7 +12794,8 @@ maybe-configure-libiberty: @if libiberty maybe-configure-libiberty: configure-libiberty configure-libiberty: - @test ! -f libiberty/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f libiberty/Makefile || exit 0; \ [ -d libiberty ] || mkdir libiberty; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -12795,7 +12823,8 @@ maybe-all-libiberty: @if libiberty maybe-all-libiberty: all-libiberty all-libiberty: configure-libiberty - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -12812,7 +12841,7 @@ check-libiberty: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check) + (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check) @endif libiberty @@ -12826,7 +12855,7 @@ install-libiberty: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install) + (cd libiberty && $(MAKE) $(FLAGS_TO_PASS) install) @endif libiberty @@ -12844,7 +12873,7 @@ info-libiberty: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in libiberty" ; \ @@ -12853,7 +12882,7 @@ info-libiberty: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif libiberty @@ -12870,7 +12899,7 @@ dvi-libiberty: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in libiberty" ; \ @@ -12879,7 +12908,7 @@ dvi-libiberty: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif libiberty @@ -12896,7 +12925,7 @@ TAGS-libiberty: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in libiberty" ; \ @@ -12905,7 +12934,7 @@ TAGS-libiberty: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif libiberty @@ -12923,7 +12952,7 @@ install-info-libiberty: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in libiberty" ; \ @@ -12932,7 +12961,7 @@ install-info-libiberty: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif libiberty @@ -12949,7 +12978,7 @@ installcheck-libiberty: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in libiberty" ; \ @@ -12958,7 +12987,7 @@ installcheck-libiberty: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif libiberty @@ -12974,7 +13003,7 @@ mostlyclean-libiberty: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in libiberty" ; \ @@ -12983,7 +13012,7 @@ mostlyclean-libiberty: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif libiberty @@ -12999,7 +13028,7 @@ clean-libiberty: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in libiberty" ; \ @@ -13008,7 +13037,7 @@ clean-libiberty: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif libiberty @@ -13024,7 +13053,7 @@ distclean-libiberty: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in libiberty" ; \ @@ -13033,7 +13062,7 @@ distclean-libiberty: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif libiberty @@ -13049,7 +13078,7 @@ maintainer-clean-libiberty: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in libiberty" ; \ @@ -13058,7 +13087,7 @@ maintainer-clean-libiberty: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif libiberty @@ -13114,7 +13143,7 @@ check-libtool: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check) + (cd libtool && $(MAKE) $(FLAGS_TO_PASS) check) @endif libtool @@ -13128,7 +13157,7 @@ install-libtool: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install) + (cd libtool && $(MAKE) $(FLAGS_TO_PASS) install) @endif libtool @@ -13146,7 +13175,7 @@ info-libtool: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in libtool" ; \ @@ -13155,7 +13184,7 @@ info-libtool: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif libtool @@ -13172,7 +13201,7 @@ dvi-libtool: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in libtool" ; \ @@ -13181,7 +13210,7 @@ dvi-libtool: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif libtool @@ -13198,7 +13227,7 @@ TAGS-libtool: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in libtool" ; \ @@ -13207,7 +13236,7 @@ TAGS-libtool: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif libtool @@ -13225,7 +13254,7 @@ install-info-libtool: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in libtool" ; \ @@ -13234,7 +13263,7 @@ install-info-libtool: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif libtool @@ -13251,7 +13280,7 @@ installcheck-libtool: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in libtool" ; \ @@ -13260,7 +13289,7 @@ installcheck-libtool: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif libtool @@ -13276,7 +13305,7 @@ mostlyclean-libtool: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in libtool" ; \ @@ -13285,7 +13314,7 @@ mostlyclean-libtool: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif libtool @@ -13301,7 +13330,7 @@ clean-libtool: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in libtool" ; \ @@ -13310,7 +13339,7 @@ clean-libtool: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif libtool @@ -13326,7 +13355,7 @@ distclean-libtool: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in libtool" ; \ @@ -13335,7 +13364,7 @@ distclean-libtool: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif libtool @@ -13351,7 +13380,7 @@ maintainer-clean-libtool: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in libtool" ; \ @@ -13360,7 +13389,7 @@ maintainer-clean-libtool: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif libtool @@ -13416,7 +13445,7 @@ check-m4: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check) + (cd m4 && $(MAKE) $(FLAGS_TO_PASS) check) @endif m4 @@ -13430,7 +13459,7 @@ install-m4: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install) + (cd m4 && $(MAKE) $(FLAGS_TO_PASS) install) @endif m4 @@ -13448,7 +13477,7 @@ info-m4: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in m4" ; \ @@ -13457,7 +13486,7 @@ info-m4: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif m4 @@ -13474,7 +13503,7 @@ dvi-m4: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in m4" ; \ @@ -13483,7 +13512,7 @@ dvi-m4: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif m4 @@ -13500,7 +13529,7 @@ TAGS-m4: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in m4" ; \ @@ -13509,7 +13538,7 @@ TAGS-m4: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif m4 @@ -13527,7 +13556,7 @@ install-info-m4: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in m4" ; \ @@ -13536,7 +13565,7 @@ install-info-m4: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif m4 @@ -13553,7 +13582,7 @@ installcheck-m4: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in m4" ; \ @@ -13562,7 +13591,7 @@ installcheck-m4: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif m4 @@ -13578,7 +13607,7 @@ mostlyclean-m4: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in m4" ; \ @@ -13587,7 +13616,7 @@ mostlyclean-m4: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif m4 @@ -13603,7 +13632,7 @@ clean-m4: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in m4" ; \ @@ -13612,7 +13641,7 @@ clean-m4: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif m4 @@ -13628,7 +13657,7 @@ distclean-m4: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in m4" ; \ @@ -13637,7 +13666,7 @@ distclean-m4: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif m4 @@ -13653,7 +13682,7 @@ maintainer-clean-m4: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in m4" ; \ @@ -13662,7 +13691,7 @@ maintainer-clean-m4: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif m4 @@ -13718,7 +13747,7 @@ check-make: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd make && $(MAKE) $(FLAGS_TO_PASS) check) + (cd make && $(MAKE) $(FLAGS_TO_PASS) check) @endif make @@ -13732,7 +13761,7 @@ install-make: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd make && $(MAKE) $(FLAGS_TO_PASS) install) + (cd make && $(MAKE) $(FLAGS_TO_PASS) install) @endif make @@ -13750,7 +13779,7 @@ info-make: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in make" ; \ @@ -13759,7 +13788,7 @@ info-make: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif make @@ -13776,7 +13805,7 @@ dvi-make: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in make" ; \ @@ -13785,7 +13814,7 @@ dvi-make: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif make @@ -13802,7 +13831,7 @@ TAGS-make: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in make" ; \ @@ -13811,7 +13840,7 @@ TAGS-make: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif make @@ -13829,7 +13858,7 @@ install-info-make: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in make" ; \ @@ -13838,7 +13867,7 @@ install-info-make: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif make @@ -13855,7 +13884,7 @@ installcheck-make: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in make" ; \ @@ -13864,7 +13893,7 @@ installcheck-make: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif make @@ -13880,7 +13909,7 @@ mostlyclean-make: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in make" ; \ @@ -13889,7 +13918,7 @@ mostlyclean-make: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif make @@ -13905,7 +13934,7 @@ clean-make: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in make" ; \ @@ -13914,7 +13943,7 @@ clean-make: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif make @@ -13930,7 +13959,7 @@ distclean-make: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in make" ; \ @@ -13939,7 +13968,7 @@ distclean-make: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif make @@ -13955,7 +13984,7 @@ maintainer-clean-make: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in make" ; \ @@ -13964,7 +13993,7 @@ maintainer-clean-make: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif make @@ -14029,7 +14058,7 @@ install-mmalloc: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install) + (cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) install) @endif mmalloc @@ -14047,7 +14076,7 @@ info-mmalloc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in mmalloc" ; \ @@ -14056,7 +14085,7 @@ info-mmalloc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif mmalloc @@ -14073,7 +14102,7 @@ dvi-mmalloc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in mmalloc" ; \ @@ -14082,7 +14111,7 @@ dvi-mmalloc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif mmalloc @@ -14099,7 +14128,7 @@ TAGS-mmalloc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in mmalloc" ; \ @@ -14108,7 +14137,7 @@ TAGS-mmalloc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif mmalloc @@ -14126,7 +14155,7 @@ install-info-mmalloc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in mmalloc" ; \ @@ -14135,7 +14164,7 @@ install-info-mmalloc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif mmalloc @@ -14152,7 +14181,7 @@ installcheck-mmalloc: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in mmalloc" ; \ @@ -14161,7 +14190,7 @@ installcheck-mmalloc: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif mmalloc @@ -14177,7 +14206,7 @@ mostlyclean-mmalloc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in mmalloc" ; \ @@ -14186,7 +14215,7 @@ mostlyclean-mmalloc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif mmalloc @@ -14202,7 +14231,7 @@ clean-mmalloc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in mmalloc" ; \ @@ -14211,7 +14240,7 @@ clean-mmalloc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif mmalloc @@ -14227,7 +14256,7 @@ distclean-mmalloc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in mmalloc" ; \ @@ -14236,7 +14265,7 @@ distclean-mmalloc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif mmalloc @@ -14252,7 +14281,7 @@ maintainer-clean-mmalloc: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in mmalloc" ; \ @@ -14261,7 +14290,7 @@ maintainer-clean-mmalloc: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif mmalloc @@ -14317,7 +14346,7 @@ check-patch: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd patch && $(MAKE) $(FLAGS_TO_PASS) check) + (cd patch && $(MAKE) $(FLAGS_TO_PASS) check) @endif patch @@ -14331,7 +14360,7 @@ install-patch: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd patch && $(MAKE) $(FLAGS_TO_PASS) install) + (cd patch && $(MAKE) $(FLAGS_TO_PASS) install) @endif patch @@ -14349,7 +14378,7 @@ info-patch: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in patch" ; \ @@ -14358,7 +14387,7 @@ info-patch: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif patch @@ -14375,7 +14404,7 @@ dvi-patch: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in patch" ; \ @@ -14384,7 +14413,7 @@ dvi-patch: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif patch @@ -14401,7 +14430,7 @@ TAGS-patch: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in patch" ; \ @@ -14410,7 +14439,7 @@ TAGS-patch: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif patch @@ -14428,7 +14457,7 @@ install-info-patch: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in patch" ; \ @@ -14437,7 +14466,7 @@ install-info-patch: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif patch @@ -14454,7 +14483,7 @@ installcheck-patch: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in patch" ; \ @@ -14463,7 +14492,7 @@ installcheck-patch: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif patch @@ -14479,7 +14508,7 @@ mostlyclean-patch: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in patch" ; \ @@ -14488,7 +14517,7 @@ mostlyclean-patch: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif patch @@ -14504,7 +14533,7 @@ clean-patch: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in patch" ; \ @@ -14513,7 +14542,7 @@ clean-patch: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif patch @@ -14529,7 +14558,7 @@ distclean-patch: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in patch" ; \ @@ -14538,7 +14567,7 @@ distclean-patch: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif patch @@ -14554,7 +14583,7 @@ maintainer-clean-patch: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in patch" ; \ @@ -14563,7 +14592,7 @@ maintainer-clean-patch: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif patch @@ -14619,7 +14648,7 @@ check-perl: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd perl && $(MAKE) $(FLAGS_TO_PASS) check) + (cd perl && $(MAKE) $(FLAGS_TO_PASS) check) @endif perl @@ -14633,7 +14662,7 @@ install-perl: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd perl && $(MAKE) $(FLAGS_TO_PASS) install) + (cd perl && $(MAKE) $(FLAGS_TO_PASS) install) @endif perl @@ -14651,7 +14680,7 @@ info-perl: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in perl" ; \ @@ -14660,7 +14689,7 @@ info-perl: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif perl @@ -14677,7 +14706,7 @@ dvi-perl: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in perl" ; \ @@ -14686,7 +14715,7 @@ dvi-perl: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif perl @@ -14703,7 +14732,7 @@ TAGS-perl: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in perl" ; \ @@ -14712,7 +14741,7 @@ TAGS-perl: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif perl @@ -14730,7 +14759,7 @@ install-info-perl: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in perl" ; \ @@ -14739,7 +14768,7 @@ install-info-perl: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif perl @@ -14756,7 +14785,7 @@ installcheck-perl: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in perl" ; \ @@ -14765,7 +14794,7 @@ installcheck-perl: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif perl @@ -14781,7 +14810,7 @@ mostlyclean-perl: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in perl" ; \ @@ -14790,7 +14819,7 @@ mostlyclean-perl: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif perl @@ -14806,7 +14835,7 @@ clean-perl: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in perl" ; \ @@ -14815,7 +14844,7 @@ clean-perl: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif perl @@ -14831,7 +14860,7 @@ distclean-perl: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in perl" ; \ @@ -14840,7 +14869,7 @@ distclean-perl: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif perl @@ -14856,7 +14885,7 @@ maintainer-clean-perl: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in perl" ; \ @@ -14865,7 +14894,7 @@ maintainer-clean-perl: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif perl @@ -14921,7 +14950,7 @@ check-prms: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd prms && $(MAKE) $(FLAGS_TO_PASS) check) + (cd prms && $(MAKE) $(FLAGS_TO_PASS) check) @endif prms @@ -14935,7 +14964,7 @@ install-prms: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd prms && $(MAKE) $(FLAGS_TO_PASS) install) + (cd prms && $(MAKE) $(FLAGS_TO_PASS) install) @endif prms @@ -14953,7 +14982,7 @@ info-prms: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in prms" ; \ @@ -14962,7 +14991,7 @@ info-prms: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif prms @@ -14979,7 +15008,7 @@ dvi-prms: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in prms" ; \ @@ -14988,7 +15017,7 @@ dvi-prms: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif prms @@ -15005,7 +15034,7 @@ TAGS-prms: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in prms" ; \ @@ -15014,7 +15043,7 @@ TAGS-prms: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif prms @@ -15032,7 +15061,7 @@ install-info-prms: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in prms" ; \ @@ -15041,7 +15070,7 @@ install-info-prms: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif prms @@ -15058,7 +15087,7 @@ installcheck-prms: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in prms" ; \ @@ -15067,7 +15096,7 @@ installcheck-prms: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif prms @@ -15083,7 +15112,7 @@ mostlyclean-prms: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in prms" ; \ @@ -15092,7 +15121,7 @@ mostlyclean-prms: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif prms @@ -15108,7 +15137,7 @@ clean-prms: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in prms" ; \ @@ -15117,7 +15146,7 @@ clean-prms: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif prms @@ -15133,7 +15162,7 @@ distclean-prms: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in prms" ; \ @@ -15142,7 +15171,7 @@ distclean-prms: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif prms @@ -15158,7 +15187,7 @@ maintainer-clean-prms: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in prms" ; \ @@ -15167,7 +15196,7 @@ maintainer-clean-prms: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif prms @@ -15223,7 +15252,7 @@ check-rcs: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check) + (cd rcs && $(MAKE) $(FLAGS_TO_PASS) check) @endif rcs @@ -15237,7 +15266,7 @@ install-rcs: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install) + (cd rcs && $(MAKE) $(FLAGS_TO_PASS) install) @endif rcs @@ -15255,7 +15284,7 @@ info-rcs: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in rcs" ; \ @@ -15264,7 +15293,7 @@ info-rcs: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif rcs @@ -15281,7 +15310,7 @@ dvi-rcs: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in rcs" ; \ @@ -15290,7 +15319,7 @@ dvi-rcs: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif rcs @@ -15307,7 +15336,7 @@ TAGS-rcs: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in rcs" ; \ @@ -15316,7 +15345,7 @@ TAGS-rcs: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif rcs @@ -15334,7 +15363,7 @@ install-info-rcs: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in rcs" ; \ @@ -15343,7 +15372,7 @@ install-info-rcs: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif rcs @@ -15360,7 +15389,7 @@ installcheck-rcs: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in rcs" ; \ @@ -15369,7 +15398,7 @@ installcheck-rcs: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif rcs @@ -15385,7 +15414,7 @@ mostlyclean-rcs: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in rcs" ; \ @@ -15394,7 +15423,7 @@ mostlyclean-rcs: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif rcs @@ -15410,7 +15439,7 @@ clean-rcs: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in rcs" ; \ @@ -15419,7 +15448,7 @@ clean-rcs: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif rcs @@ -15435,7 +15464,7 @@ distclean-rcs: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in rcs" ; \ @@ -15444,7 +15473,7 @@ distclean-rcs: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif rcs @@ -15460,7 +15489,7 @@ maintainer-clean-rcs: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in rcs" ; \ @@ -15469,7 +15498,7 @@ maintainer-clean-rcs: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif rcs @@ -15525,7 +15554,7 @@ check-readline: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd readline && $(MAKE) $(FLAGS_TO_PASS) check) + (cd readline && $(MAKE) $(FLAGS_TO_PASS) check) @endif readline @@ -15539,7 +15568,7 @@ install-readline: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd readline && $(MAKE) $(FLAGS_TO_PASS) install) + (cd readline && $(MAKE) $(FLAGS_TO_PASS) install) @endif readline @@ -15557,7 +15586,7 @@ info-readline: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in readline" ; \ @@ -15566,7 +15595,7 @@ info-readline: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif readline @@ -15583,7 +15612,7 @@ dvi-readline: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in readline" ; \ @@ -15592,7 +15621,7 @@ dvi-readline: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif readline @@ -15609,7 +15638,7 @@ TAGS-readline: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in readline" ; \ @@ -15618,7 +15647,7 @@ TAGS-readline: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif readline @@ -15636,7 +15665,7 @@ install-info-readline: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in readline" ; \ @@ -15645,7 +15674,7 @@ install-info-readline: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif readline @@ -15662,7 +15691,7 @@ installcheck-readline: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in readline" ; \ @@ -15671,7 +15700,7 @@ installcheck-readline: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif readline @@ -15687,7 +15716,7 @@ mostlyclean-readline: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in readline" ; \ @@ -15696,7 +15725,7 @@ mostlyclean-readline: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif readline @@ -15712,7 +15741,7 @@ clean-readline: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in readline" ; \ @@ -15721,7 +15750,7 @@ clean-readline: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif readline @@ -15737,7 +15766,7 @@ distclean-readline: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in readline" ; \ @@ -15746,7 +15775,7 @@ distclean-readline: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif readline @@ -15762,7 +15791,7 @@ maintainer-clean-readline: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in readline" ; \ @@ -15771,7 +15800,7 @@ maintainer-clean-readline: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif readline @@ -15849,7 +15878,7 @@ info-release: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in release" ; \ @@ -15858,7 +15887,7 @@ info-release: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif release @@ -15875,7 +15904,7 @@ dvi-release: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in release" ; \ @@ -15884,7 +15913,7 @@ dvi-release: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif release @@ -15901,7 +15930,7 @@ TAGS-release: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in release" ; \ @@ -15910,7 +15939,7 @@ TAGS-release: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif release @@ -15928,7 +15957,7 @@ install-info-release: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in release" ; \ @@ -15937,7 +15966,7 @@ install-info-release: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif release @@ -15954,7 +15983,7 @@ installcheck-release: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in release" ; \ @@ -15963,7 +15992,7 @@ installcheck-release: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif release @@ -15979,7 +16008,7 @@ mostlyclean-release: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in release" ; \ @@ -15988,7 +16017,7 @@ mostlyclean-release: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif release @@ -16004,7 +16033,7 @@ clean-release: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in release" ; \ @@ -16013,7 +16042,7 @@ clean-release: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif release @@ -16029,7 +16058,7 @@ distclean-release: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in release" ; \ @@ -16038,7 +16067,7 @@ distclean-release: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif release @@ -16054,7 +16083,7 @@ maintainer-clean-release: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in release" ; \ @@ -16063,7 +16092,7 @@ maintainer-clean-release: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif release @@ -16119,7 +16148,7 @@ check-recode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd recode && $(MAKE) $(FLAGS_TO_PASS) check) + (cd recode && $(MAKE) $(FLAGS_TO_PASS) check) @endif recode @@ -16133,7 +16162,7 @@ install-recode: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd recode && $(MAKE) $(FLAGS_TO_PASS) install) + (cd recode && $(MAKE) $(FLAGS_TO_PASS) install) @endif recode @@ -16151,7 +16180,7 @@ info-recode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in recode" ; \ @@ -16160,7 +16189,7 @@ info-recode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif recode @@ -16177,7 +16206,7 @@ dvi-recode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in recode" ; \ @@ -16186,7 +16215,7 @@ dvi-recode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif recode @@ -16203,7 +16232,7 @@ TAGS-recode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in recode" ; \ @@ -16212,7 +16241,7 @@ TAGS-recode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif recode @@ -16230,7 +16259,7 @@ install-info-recode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in recode" ; \ @@ -16239,7 +16268,7 @@ install-info-recode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif recode @@ -16256,7 +16285,7 @@ installcheck-recode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in recode" ; \ @@ -16265,7 +16294,7 @@ installcheck-recode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif recode @@ -16281,7 +16310,7 @@ mostlyclean-recode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in recode" ; \ @@ -16290,7 +16319,7 @@ mostlyclean-recode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif recode @@ -16306,7 +16335,7 @@ clean-recode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in recode" ; \ @@ -16315,7 +16344,7 @@ clean-recode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif recode @@ -16331,7 +16360,7 @@ distclean-recode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in recode" ; \ @@ -16340,7 +16369,7 @@ distclean-recode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif recode @@ -16356,7 +16385,7 @@ maintainer-clean-recode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in recode" ; \ @@ -16365,7 +16394,7 @@ maintainer-clean-recode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif recode @@ -16421,7 +16450,7 @@ check-sed: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sed && $(MAKE) $(FLAGS_TO_PASS) check) + (cd sed && $(MAKE) $(FLAGS_TO_PASS) check) @endif sed @@ -16435,7 +16464,7 @@ install-sed: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sed && $(MAKE) $(FLAGS_TO_PASS) install) + (cd sed && $(MAKE) $(FLAGS_TO_PASS) install) @endif sed @@ -16453,7 +16482,7 @@ info-sed: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in sed" ; \ @@ -16462,7 +16491,7 @@ info-sed: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif sed @@ -16479,7 +16508,7 @@ dvi-sed: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in sed" ; \ @@ -16488,7 +16517,7 @@ dvi-sed: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif sed @@ -16505,7 +16534,7 @@ TAGS-sed: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in sed" ; \ @@ -16514,7 +16543,7 @@ TAGS-sed: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif sed @@ -16532,7 +16561,7 @@ install-info-sed: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in sed" ; \ @@ -16541,7 +16570,7 @@ install-info-sed: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif sed @@ -16558,7 +16587,7 @@ installcheck-sed: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in sed" ; \ @@ -16567,7 +16596,7 @@ installcheck-sed: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif sed @@ -16583,7 +16612,7 @@ mostlyclean-sed: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in sed" ; \ @@ -16592,7 +16621,7 @@ mostlyclean-sed: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif sed @@ -16608,7 +16637,7 @@ clean-sed: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in sed" ; \ @@ -16617,7 +16646,7 @@ clean-sed: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif sed @@ -16633,7 +16662,7 @@ distclean-sed: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in sed" ; \ @@ -16642,7 +16671,7 @@ distclean-sed: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif sed @@ -16658,7 +16687,7 @@ maintainer-clean-sed: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in sed" ; \ @@ -16667,7 +16696,7 @@ maintainer-clean-sed: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif sed @@ -16723,7 +16752,7 @@ check-send-pr: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check) + (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check) @endif send-pr @@ -16737,7 +16766,7 @@ install-send-pr: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install) + (cd send-pr && $(MAKE) $(FLAGS_TO_PASS) install) @endif send-pr @@ -16755,7 +16784,7 @@ info-send-pr: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in send-pr" ; \ @@ -16764,7 +16793,7 @@ info-send-pr: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif send-pr @@ -16781,7 +16810,7 @@ dvi-send-pr: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in send-pr" ; \ @@ -16790,7 +16819,7 @@ dvi-send-pr: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif send-pr @@ -16807,7 +16836,7 @@ TAGS-send-pr: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in send-pr" ; \ @@ -16816,7 +16845,7 @@ TAGS-send-pr: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif send-pr @@ -16834,7 +16863,7 @@ install-info-send-pr: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in send-pr" ; \ @@ -16843,7 +16872,7 @@ install-info-send-pr: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif send-pr @@ -16860,7 +16889,7 @@ installcheck-send-pr: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in send-pr" ; \ @@ -16869,7 +16898,7 @@ installcheck-send-pr: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif send-pr @@ -16885,7 +16914,7 @@ mostlyclean-send-pr: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in send-pr" ; \ @@ -16894,7 +16923,7 @@ mostlyclean-send-pr: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif send-pr @@ -16910,7 +16939,7 @@ clean-send-pr: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in send-pr" ; \ @@ -16919,7 +16948,7 @@ clean-send-pr: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif send-pr @@ -16935,7 +16964,7 @@ distclean-send-pr: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in send-pr" ; \ @@ -16944,7 +16973,7 @@ distclean-send-pr: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif send-pr @@ -16960,7 +16989,7 @@ maintainer-clean-send-pr: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in send-pr" ; \ @@ -16969,7 +16998,7 @@ maintainer-clean-send-pr: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif send-pr @@ -17025,7 +17054,7 @@ check-shellutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check) @endif shellutils @@ -17039,7 +17068,7 @@ install-shellutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd shellutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif shellutils @@ -17057,7 +17086,7 @@ info-shellutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in shellutils" ; \ @@ -17066,7 +17095,7 @@ info-shellutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif shellutils @@ -17083,7 +17112,7 @@ dvi-shellutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in shellutils" ; \ @@ -17092,7 +17121,7 @@ dvi-shellutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif shellutils @@ -17109,7 +17138,7 @@ TAGS-shellutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in shellutils" ; \ @@ -17118,7 +17147,7 @@ TAGS-shellutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif shellutils @@ -17136,7 +17165,7 @@ install-info-shellutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in shellutils" ; \ @@ -17145,7 +17174,7 @@ install-info-shellutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif shellutils @@ -17162,7 +17191,7 @@ installcheck-shellutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in shellutils" ; \ @@ -17171,7 +17200,7 @@ installcheck-shellutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif shellutils @@ -17187,7 +17216,7 @@ mostlyclean-shellutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in shellutils" ; \ @@ -17196,7 +17225,7 @@ mostlyclean-shellutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif shellutils @@ -17212,7 +17241,7 @@ clean-shellutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in shellutils" ; \ @@ -17221,7 +17250,7 @@ clean-shellutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif shellutils @@ -17237,7 +17266,7 @@ distclean-shellutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in shellutils" ; \ @@ -17246,7 +17275,7 @@ distclean-shellutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif shellutils @@ -17262,7 +17291,7 @@ maintainer-clean-shellutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in shellutils" ; \ @@ -17271,7 +17300,7 @@ maintainer-clean-shellutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif shellutils @@ -17327,7 +17356,7 @@ check-sid: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sid && $(MAKE) $(FLAGS_TO_PASS) check) + (cd sid && $(MAKE) $(FLAGS_TO_PASS) check) @endif sid @@ -17341,7 +17370,7 @@ install-sid: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sid && $(MAKE) $(FLAGS_TO_PASS) install) + (cd sid && $(MAKE) $(FLAGS_TO_PASS) install) @endif sid @@ -17359,7 +17388,7 @@ info-sid: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in sid" ; \ @@ -17368,7 +17397,7 @@ info-sid: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif sid @@ -17385,7 +17414,7 @@ dvi-sid: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in sid" ; \ @@ -17394,7 +17423,7 @@ dvi-sid: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif sid @@ -17411,7 +17440,7 @@ TAGS-sid: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in sid" ; \ @@ -17420,7 +17449,7 @@ TAGS-sid: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif sid @@ -17438,7 +17467,7 @@ install-info-sid: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in sid" ; \ @@ -17447,7 +17476,7 @@ install-info-sid: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif sid @@ -17464,7 +17493,7 @@ installcheck-sid: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in sid" ; \ @@ -17473,7 +17502,7 @@ installcheck-sid: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif sid @@ -17489,7 +17518,7 @@ mostlyclean-sid: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in sid" ; \ @@ -17498,7 +17527,7 @@ mostlyclean-sid: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif sid @@ -17514,7 +17543,7 @@ clean-sid: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in sid" ; \ @@ -17523,7 +17552,7 @@ clean-sid: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif sid @@ -17539,7 +17568,7 @@ distclean-sid: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in sid" ; \ @@ -17548,7 +17577,7 @@ distclean-sid: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif sid @@ -17564,7 +17593,7 @@ maintainer-clean-sid: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in sid" ; \ @@ -17573,7 +17602,7 @@ maintainer-clean-sid: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif sid @@ -17629,7 +17658,7 @@ check-sim: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sim && $(MAKE) $(FLAGS_TO_PASS) check) + (cd sim && $(MAKE) $(FLAGS_TO_PASS) check) @endif sim @@ -17643,7 +17672,7 @@ install-sim: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd sim && $(MAKE) $(FLAGS_TO_PASS) install) + (cd sim && $(MAKE) $(FLAGS_TO_PASS) install) @endif sim @@ -17661,7 +17690,7 @@ info-sim: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in sim" ; \ @@ -17670,7 +17699,7 @@ info-sim: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif sim @@ -17687,7 +17716,7 @@ dvi-sim: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in sim" ; \ @@ -17696,7 +17725,7 @@ dvi-sim: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif sim @@ -17713,7 +17742,7 @@ TAGS-sim: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in sim" ; \ @@ -17722,7 +17751,7 @@ TAGS-sim: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif sim @@ -17740,7 +17769,7 @@ install-info-sim: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in sim" ; \ @@ -17749,7 +17778,7 @@ install-info-sim: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif sim @@ -17766,7 +17795,7 @@ installcheck-sim: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in sim" ; \ @@ -17775,7 +17804,7 @@ installcheck-sim: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif sim @@ -17791,7 +17820,7 @@ mostlyclean-sim: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in sim" ; \ @@ -17800,7 +17829,7 @@ mostlyclean-sim: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif sim @@ -17816,7 +17845,7 @@ clean-sim: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in sim" ; \ @@ -17825,7 +17854,7 @@ clean-sim: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif sim @@ -17841,7 +17870,7 @@ distclean-sim: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in sim" ; \ @@ -17850,7 +17879,7 @@ distclean-sim: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif sim @@ -17866,7 +17895,7 @@ maintainer-clean-sim: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in sim" ; \ @@ -17875,7 +17904,7 @@ maintainer-clean-sim: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif sim @@ -17931,7 +17960,7 @@ check-tar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tar && $(MAKE) $(FLAGS_TO_PASS) check) + (cd tar && $(MAKE) $(FLAGS_TO_PASS) check) @endif tar @@ -17945,7 +17974,7 @@ install-tar: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tar && $(MAKE) $(FLAGS_TO_PASS) install) + (cd tar && $(MAKE) $(FLAGS_TO_PASS) install) @endif tar @@ -17963,7 +17992,7 @@ info-tar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in tar" ; \ @@ -17972,7 +18001,7 @@ info-tar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif tar @@ -17989,7 +18018,7 @@ dvi-tar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in tar" ; \ @@ -17998,7 +18027,7 @@ dvi-tar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif tar @@ -18015,7 +18044,7 @@ TAGS-tar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in tar" ; \ @@ -18024,7 +18053,7 @@ TAGS-tar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif tar @@ -18042,7 +18071,7 @@ install-info-tar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in tar" ; \ @@ -18051,7 +18080,7 @@ install-info-tar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif tar @@ -18068,7 +18097,7 @@ installcheck-tar: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in tar" ; \ @@ -18077,7 +18106,7 @@ installcheck-tar: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif tar @@ -18093,7 +18122,7 @@ mostlyclean-tar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in tar" ; \ @@ -18102,7 +18131,7 @@ mostlyclean-tar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif tar @@ -18118,7 +18147,7 @@ clean-tar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in tar" ; \ @@ -18127,7 +18156,7 @@ clean-tar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif tar @@ -18143,7 +18172,7 @@ distclean-tar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in tar" ; \ @@ -18152,7 +18181,7 @@ distclean-tar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif tar @@ -18168,7 +18197,7 @@ maintainer-clean-tar: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in tar" ; \ @@ -18177,7 +18206,7 @@ maintainer-clean-tar: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif tar @@ -18233,7 +18262,7 @@ check-texinfo: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check) + (cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check) @endif texinfo @@ -18260,7 +18289,7 @@ info-texinfo: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in texinfo" ; \ @@ -18269,7 +18298,7 @@ info-texinfo: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif texinfo @@ -18286,7 +18315,7 @@ dvi-texinfo: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in texinfo" ; \ @@ -18295,7 +18324,7 @@ dvi-texinfo: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif texinfo @@ -18312,7 +18341,7 @@ TAGS-texinfo: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in texinfo" ; \ @@ -18321,7 +18350,7 @@ TAGS-texinfo: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif texinfo @@ -18339,7 +18368,7 @@ install-info-texinfo: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in texinfo" ; \ @@ -18348,7 +18377,7 @@ install-info-texinfo: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif texinfo @@ -18365,7 +18394,7 @@ installcheck-texinfo: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in texinfo" ; \ @@ -18374,7 +18403,7 @@ installcheck-texinfo: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif texinfo @@ -18390,7 +18419,7 @@ mostlyclean-texinfo: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in texinfo" ; \ @@ -18399,7 +18428,7 @@ mostlyclean-texinfo: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif texinfo @@ -18415,7 +18444,7 @@ clean-texinfo: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in texinfo" ; \ @@ -18424,7 +18453,7 @@ clean-texinfo: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif texinfo @@ -18440,7 +18469,7 @@ distclean-texinfo: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in texinfo" ; \ @@ -18449,7 +18478,7 @@ distclean-texinfo: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif texinfo @@ -18465,7 +18494,7 @@ maintainer-clean-texinfo: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in texinfo" ; \ @@ -18474,7 +18503,7 @@ maintainer-clean-texinfo: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif texinfo @@ -18530,7 +18559,7 @@ check-textutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check) + (cd textutils && $(MAKE) $(FLAGS_TO_PASS) check) @endif textutils @@ -18544,7 +18573,7 @@ install-textutils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd textutils && $(MAKE) $(FLAGS_TO_PASS) install) @endif textutils @@ -18562,7 +18591,7 @@ info-textutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in textutils" ; \ @@ -18571,7 +18600,7 @@ info-textutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif textutils @@ -18588,7 +18617,7 @@ dvi-textutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in textutils" ; \ @@ -18597,7 +18626,7 @@ dvi-textutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif textutils @@ -18614,7 +18643,7 @@ TAGS-textutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in textutils" ; \ @@ -18623,7 +18652,7 @@ TAGS-textutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif textutils @@ -18641,7 +18670,7 @@ install-info-textutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in textutils" ; \ @@ -18650,7 +18679,7 @@ install-info-textutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif textutils @@ -18667,7 +18696,7 @@ installcheck-textutils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in textutils" ; \ @@ -18676,7 +18705,7 @@ installcheck-textutils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif textutils @@ -18692,7 +18721,7 @@ mostlyclean-textutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in textutils" ; \ @@ -18701,7 +18730,7 @@ mostlyclean-textutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif textutils @@ -18717,7 +18746,7 @@ clean-textutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in textutils" ; \ @@ -18726,7 +18755,7 @@ clean-textutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif textutils @@ -18742,7 +18771,7 @@ distclean-textutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in textutils" ; \ @@ -18751,7 +18780,7 @@ distclean-textutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif textutils @@ -18767,7 +18796,7 @@ maintainer-clean-textutils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in textutils" ; \ @@ -18776,7 +18805,7 @@ maintainer-clean-textutils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif textutils @@ -18832,7 +18861,7 @@ check-time: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd time && $(MAKE) $(FLAGS_TO_PASS) check) + (cd time && $(MAKE) $(FLAGS_TO_PASS) check) @endif time @@ -18846,7 +18875,7 @@ install-time: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd time && $(MAKE) $(FLAGS_TO_PASS) install) + (cd time && $(MAKE) $(FLAGS_TO_PASS) install) @endif time @@ -18864,7 +18893,7 @@ info-time: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in time" ; \ @@ -18873,7 +18902,7 @@ info-time: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif time @@ -18890,7 +18919,7 @@ dvi-time: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in time" ; \ @@ -18899,7 +18928,7 @@ dvi-time: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif time @@ -18916,7 +18945,7 @@ TAGS-time: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in time" ; \ @@ -18925,7 +18954,7 @@ TAGS-time: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif time @@ -18943,7 +18972,7 @@ install-info-time: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in time" ; \ @@ -18952,7 +18981,7 @@ install-info-time: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif time @@ -18969,7 +18998,7 @@ installcheck-time: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in time" ; \ @@ -18978,7 +19007,7 @@ installcheck-time: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif time @@ -18994,7 +19023,7 @@ mostlyclean-time: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in time" ; \ @@ -19003,7 +19032,7 @@ mostlyclean-time: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif time @@ -19019,7 +19048,7 @@ clean-time: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in time" ; \ @@ -19028,7 +19057,7 @@ clean-time: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif time @@ -19044,7 +19073,7 @@ distclean-time: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in time" ; \ @@ -19053,7 +19082,7 @@ distclean-time: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif time @@ -19069,7 +19098,7 @@ maintainer-clean-time: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in time" ; \ @@ -19078,7 +19107,7 @@ maintainer-clean-time: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif time @@ -19134,7 +19163,7 @@ check-uudecode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check) + (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check) @endif uudecode @@ -19148,7 +19177,7 @@ install-uudecode: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install) + (cd uudecode && $(MAKE) $(FLAGS_TO_PASS) install) @endif uudecode @@ -19166,7 +19195,7 @@ info-uudecode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in uudecode" ; \ @@ -19175,7 +19204,7 @@ info-uudecode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif uudecode @@ -19192,7 +19221,7 @@ dvi-uudecode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in uudecode" ; \ @@ -19201,7 +19230,7 @@ dvi-uudecode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif uudecode @@ -19218,7 +19247,7 @@ TAGS-uudecode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in uudecode" ; \ @@ -19227,7 +19256,7 @@ TAGS-uudecode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif uudecode @@ -19245,7 +19274,7 @@ install-info-uudecode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in uudecode" ; \ @@ -19254,7 +19283,7 @@ install-info-uudecode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif uudecode @@ -19271,7 +19300,7 @@ installcheck-uudecode: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in uudecode" ; \ @@ -19280,7 +19309,7 @@ installcheck-uudecode: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif uudecode @@ -19296,7 +19325,7 @@ mostlyclean-uudecode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in uudecode" ; \ @@ -19305,7 +19334,7 @@ mostlyclean-uudecode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif uudecode @@ -19321,7 +19350,7 @@ clean-uudecode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in uudecode" ; \ @@ -19330,7 +19359,7 @@ clean-uudecode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif uudecode @@ -19346,7 +19375,7 @@ distclean-uudecode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in uudecode" ; \ @@ -19355,7 +19384,7 @@ distclean-uudecode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif uudecode @@ -19371,7 +19400,7 @@ maintainer-clean-uudecode: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in uudecode" ; \ @@ -19380,7 +19409,7 @@ maintainer-clean-uudecode: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif uudecode @@ -19436,7 +19465,7 @@ check-wdiff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check) + (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check) @endif wdiff @@ -19450,7 +19479,7 @@ install-wdiff: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install) + (cd wdiff && $(MAKE) $(FLAGS_TO_PASS) install) @endif wdiff @@ -19468,7 +19497,7 @@ info-wdiff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in wdiff" ; \ @@ -19477,7 +19506,7 @@ info-wdiff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif wdiff @@ -19494,7 +19523,7 @@ dvi-wdiff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in wdiff" ; \ @@ -19503,7 +19532,7 @@ dvi-wdiff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif wdiff @@ -19520,7 +19549,7 @@ TAGS-wdiff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in wdiff" ; \ @@ -19529,7 +19558,7 @@ TAGS-wdiff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif wdiff @@ -19547,7 +19576,7 @@ install-info-wdiff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in wdiff" ; \ @@ -19556,7 +19585,7 @@ install-info-wdiff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif wdiff @@ -19573,7 +19602,7 @@ installcheck-wdiff: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in wdiff" ; \ @@ -19582,7 +19611,7 @@ installcheck-wdiff: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif wdiff @@ -19598,7 +19627,7 @@ mostlyclean-wdiff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in wdiff" ; \ @@ -19607,7 +19636,7 @@ mostlyclean-wdiff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif wdiff @@ -19623,7 +19652,7 @@ clean-wdiff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in wdiff" ; \ @@ -19632,7 +19661,7 @@ clean-wdiff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif wdiff @@ -19648,7 +19677,7 @@ distclean-wdiff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in wdiff" ; \ @@ -19657,7 +19686,7 @@ distclean-wdiff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif wdiff @@ -19673,7 +19702,7 @@ maintainer-clean-wdiff: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in wdiff" ; \ @@ -19682,7 +19711,7 @@ maintainer-clean-wdiff: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif wdiff @@ -19755,7 +19784,7 @@ install-zip: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd zip && $(MAKE) $(FLAGS_TO_PASS) install) + (cd zip && $(MAKE) $(FLAGS_TO_PASS) install) @endif zip @@ -19773,7 +19802,7 @@ info-zip: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in zip" ; \ @@ -19782,7 +19811,7 @@ info-zip: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif zip @@ -19799,7 +19828,7 @@ dvi-zip: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in zip" ; \ @@ -19808,7 +19837,7 @@ dvi-zip: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif zip @@ -19825,7 +19854,7 @@ TAGS-zip: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in zip" ; \ @@ -19834,7 +19863,7 @@ TAGS-zip: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif zip @@ -19852,7 +19881,7 @@ install-info-zip: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in zip" ; \ @@ -19861,7 +19890,7 @@ install-info-zip: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif zip @@ -19878,7 +19907,7 @@ installcheck-zip: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in zip" ; \ @@ -19887,7 +19916,7 @@ installcheck-zip: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif zip @@ -19903,7 +19932,7 @@ mostlyclean-zip: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in zip" ; \ @@ -19912,7 +19941,7 @@ mostlyclean-zip: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif zip @@ -19928,7 +19957,7 @@ clean-zip: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in zip" ; \ @@ -19937,7 +19966,7 @@ clean-zip: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif zip @@ -19953,7 +19982,7 @@ distclean-zip: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in zip" ; \ @@ -19962,7 +19991,7 @@ distclean-zip: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif zip @@ -19978,7 +20007,7 @@ maintainer-clean-zip: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in zip" ; \ @@ -19987,7 +20016,7 @@ maintainer-clean-zip: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif zip @@ -19998,7 +20027,8 @@ maybe-configure-zlib: @if zlib maybe-configure-zlib: configure-zlib configure-zlib: - @test ! -f zlib/Makefile || exit 0; \ + @test -f stage_last && exit 0; \ + test ! -f zlib/Makefile || exit 0; \ [ -d zlib ] || mkdir zlib; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -20026,7 +20056,8 @@ maybe-all-zlib: @if zlib maybe-all-zlib: all-zlib all-zlib: configure-zlib - @r=`${PWD_COMMAND}`; export r; \ + @test -f stage_last && exit 0; \ + r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ @@ -20065,7 +20096,7 @@ info-zlib: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in zlib" ; \ @@ -20074,7 +20105,7 @@ info-zlib: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif zlib @@ -20091,7 +20122,7 @@ dvi-zlib: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in zlib" ; \ @@ -20100,7 +20131,7 @@ dvi-zlib: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif zlib @@ -20117,7 +20148,7 @@ TAGS-zlib: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in zlib" ; \ @@ -20126,7 +20157,7 @@ TAGS-zlib: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif zlib @@ -20144,7 +20175,7 @@ install-info-zlib: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in zlib" ; \ @@ -20153,7 +20184,7 @@ install-info-zlib: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif zlib @@ -20170,7 +20201,7 @@ installcheck-zlib: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in zlib" ; \ @@ -20179,7 +20210,7 @@ installcheck-zlib: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif zlib @@ -20195,7 +20226,7 @@ mostlyclean-zlib: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in zlib" ; \ @@ -20204,7 +20235,7 @@ mostlyclean-zlib: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif zlib @@ -20220,7 +20251,7 @@ clean-zlib: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in zlib" ; \ @@ -20229,7 +20260,7 @@ clean-zlib: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif zlib @@ -20245,7 +20276,7 @@ distclean-zlib: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in zlib" ; \ @@ -20254,7 +20285,7 @@ distclean-zlib: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif zlib @@ -20270,7 +20301,7 @@ maintainer-clean-zlib: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in zlib" ; \ @@ -20279,7 +20310,7 @@ maintainer-clean-zlib: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif zlib @@ -20322,7 +20353,7 @@ all-gdb: configure-gdb s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) @endif gdb .PHONY: check-gdb maybe-check-gdb @@ -20335,7 +20366,7 @@ check-gdb: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + (cd gdb && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check) @endif gdb @@ -20349,7 +20380,7 @@ install-gdb: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd gdb && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install) @endif gdb @@ -20367,7 +20398,7 @@ info-gdb: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in gdb" ; \ @@ -20376,7 +20407,7 @@ info-gdb: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif gdb @@ -20393,7 +20424,7 @@ dvi-gdb: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in gdb" ; \ @@ -20402,7 +20433,7 @@ dvi-gdb: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif gdb @@ -20419,7 +20450,7 @@ TAGS-gdb: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in gdb" ; \ @@ -20428,7 +20459,7 @@ TAGS-gdb: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif gdb @@ -20446,7 +20477,7 @@ install-info-gdb: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in gdb" ; \ @@ -20455,7 +20486,7 @@ install-info-gdb: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif gdb @@ -20472,7 +20503,7 @@ installcheck-gdb: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in gdb" ; \ @@ -20481,7 +20512,7 @@ installcheck-gdb: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif gdb @@ -20497,7 +20528,7 @@ mostlyclean-gdb: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in gdb" ; \ @@ -20506,7 +20537,7 @@ mostlyclean-gdb: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif gdb @@ -20522,7 +20553,7 @@ clean-gdb: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in gdb" ; \ @@ -20531,7 +20562,7 @@ clean-gdb: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif gdb @@ -20547,7 +20578,7 @@ distclean-gdb: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in gdb" ; \ @@ -20556,7 +20587,7 @@ distclean-gdb: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif gdb @@ -20572,7 +20603,7 @@ maintainer-clean-gdb: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in gdb" ; \ @@ -20581,7 +20612,7 @@ maintainer-clean-gdb: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif gdb @@ -20624,7 +20655,7 @@ all-expect: configure-expect s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) @endif expect .PHONY: check-expect maybe-check-expect @@ -20637,7 +20668,7 @@ check-expect: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + (cd expect && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check) @endif expect @@ -20651,7 +20682,7 @@ install-expect: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd expect && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install) @endif expect @@ -20669,7 +20700,7 @@ info-expect: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in expect" ; \ @@ -20678,7 +20709,7 @@ info-expect: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif expect @@ -20695,7 +20726,7 @@ dvi-expect: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in expect" ; \ @@ -20704,7 +20735,7 @@ dvi-expect: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif expect @@ -20721,7 +20752,7 @@ TAGS-expect: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in expect" ; \ @@ -20730,7 +20761,7 @@ TAGS-expect: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif expect @@ -20748,7 +20779,7 @@ install-info-expect: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in expect" ; \ @@ -20757,7 +20788,7 @@ install-info-expect: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif expect @@ -20774,7 +20805,7 @@ installcheck-expect: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in expect" ; \ @@ -20783,7 +20814,7 @@ installcheck-expect: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif expect @@ -20799,7 +20830,7 @@ mostlyclean-expect: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in expect" ; \ @@ -20808,7 +20839,7 @@ mostlyclean-expect: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif expect @@ -20824,7 +20855,7 @@ clean-expect: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in expect" ; \ @@ -20833,7 +20864,7 @@ clean-expect: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif expect @@ -20849,7 +20880,7 @@ distclean-expect: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in expect" ; \ @@ -20858,7 +20889,7 @@ distclean-expect: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif expect @@ -20874,7 +20905,7 @@ maintainer-clean-expect: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in expect" ; \ @@ -20883,7 +20914,7 @@ maintainer-clean-expect: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif expect @@ -20926,7 +20957,7 @@ all-guile: configure-guile s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) @endif guile .PHONY: check-guile maybe-check-guile @@ -20939,7 +20970,7 @@ check-guile: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + (cd guile && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check) @endif guile @@ -20953,7 +20984,7 @@ install-guile: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd guile && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install) @endif guile @@ -20971,7 +21002,7 @@ info-guile: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in guile" ; \ @@ -20980,7 +21011,7 @@ info-guile: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif guile @@ -20997,7 +21028,7 @@ dvi-guile: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in guile" ; \ @@ -21006,7 +21037,7 @@ dvi-guile: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif guile @@ -21023,7 +21054,7 @@ TAGS-guile: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in guile" ; \ @@ -21032,7 +21063,7 @@ TAGS-guile: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif guile @@ -21050,7 +21081,7 @@ install-info-guile: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in guile" ; \ @@ -21059,7 +21090,7 @@ install-info-guile: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif guile @@ -21076,7 +21107,7 @@ installcheck-guile: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in guile" ; \ @@ -21085,7 +21116,7 @@ installcheck-guile: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif guile @@ -21101,7 +21132,7 @@ mostlyclean-guile: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in guile" ; \ @@ -21110,7 +21141,7 @@ mostlyclean-guile: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif guile @@ -21126,7 +21157,7 @@ clean-guile: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in guile" ; \ @@ -21135,7 +21166,7 @@ clean-guile: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif guile @@ -21151,7 +21182,7 @@ distclean-guile: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in guile" ; \ @@ -21160,7 +21191,7 @@ distclean-guile: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif guile @@ -21176,7 +21207,7 @@ maintainer-clean-guile: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in guile" ; \ @@ -21185,7 +21216,7 @@ maintainer-clean-guile: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif guile @@ -21228,7 +21259,7 @@ all-tk: configure-tk s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) + (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) @endif tk .PHONY: check-tk maybe-check-tk @@ -21241,7 +21272,7 @@ check-tk: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) + (cd tk && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) check) @endif tk @@ -21255,7 +21286,7 @@ install-tk: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd tk && $(MAKE) $(FLAGS_TO_PASS)$(X11_FLAGS_TO_PASS) install) @endif tk @@ -21273,7 +21304,7 @@ info-tk: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in tk" ; \ @@ -21282,7 +21313,7 @@ info-tk: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif tk @@ -21299,7 +21330,7 @@ dvi-tk: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in tk" ; \ @@ -21308,7 +21339,7 @@ dvi-tk: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif tk @@ -21325,7 +21356,7 @@ TAGS-tk: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in tk" ; \ @@ -21334,7 +21365,7 @@ TAGS-tk: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif tk @@ -21352,7 +21383,7 @@ install-info-tk: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in tk" ; \ @@ -21361,7 +21392,7 @@ install-info-tk: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif tk @@ -21378,7 +21409,7 @@ installcheck-tk: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in tk" ; \ @@ -21387,7 +21418,7 @@ installcheck-tk: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif tk @@ -21403,7 +21434,7 @@ mostlyclean-tk: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in tk" ; \ @@ -21412,7 +21443,7 @@ mostlyclean-tk: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif tk @@ -21428,7 +21459,7 @@ clean-tk: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in tk" ; \ @@ -21437,7 +21468,7 @@ clean-tk: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif tk @@ -21453,7 +21484,7 @@ distclean-tk: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in tk" ; \ @@ -21462,7 +21493,7 @@ distclean-tk: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif tk @@ -21478,7 +21509,7 @@ maintainer-clean-tk: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in tk" ; \ @@ -21487,509 +21518,207 @@ maintainer-clean-tk: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif tk -.PHONY: configure-tix maybe-configure-tix -maybe-configure-tix: -@if tix -maybe-configure-tix: configure-tix -configure-tix: - @test ! -f tix/Makefile || exit 0; \ - [ -d tix ] || mkdir tix; \ +.PHONY: configure-libtermcap maybe-configure-libtermcap +maybe-configure-libtermcap: +@if libtermcap +maybe-configure-libtermcap: configure-libtermcap +configure-libtermcap: + @test ! -f libtermcap/Makefile || exit 0; \ + [ -d libtermcap ] || mkdir libtermcap; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ - echo Configuring in tix; \ - cd tix || exit 1; \ + echo Configuring in libtermcap; \ + cd libtermcap || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/tix"; \ - libsrcdir="$$s/tix";; \ + srcdiroption="--srcdir=$(srcdir)/libtermcap"; \ + libsrcdir="$$s/libtermcap";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/tix"; \ - libsrcdir="$$s/tix";; \ + srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \ + libsrcdir="$$s/libtermcap";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ || exit 1 -@endif tix +@endif libtermcap -.PHONY: all-tix maybe-all-tix -maybe-all-tix: -@if tix -maybe-all-tix: all-tix -all-tix: configure-tix +.PHONY: all-libtermcap maybe-all-libtermcap +maybe-all-libtermcap: +@if libtermcap +maybe-all-libtermcap: all-libtermcap +all-libtermcap: configure-libtermcap @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) -@endif tix + (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all) +@endif libtermcap -.PHONY: check-tix maybe-check-tix -maybe-check-tix: -@if tix -maybe-check-tix: check-tix +.PHONY: check-libtermcap maybe-check-libtermcap +maybe-check-libtermcap: +@if libtermcap +maybe-check-libtermcap: check-libtermcap -check-tix: - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check) +check-libtermcap: -@endif tix +@endif libtermcap -.PHONY: install-tix maybe-install-tix -maybe-install-tix: -@if tix -maybe-install-tix: install-tix +.PHONY: install-libtermcap maybe-install-libtermcap +maybe-install-libtermcap: +@if libtermcap +maybe-install-libtermcap: install-libtermcap -install-tix: installdirs +install-libtermcap: installdirs @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) + (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install) -@endif tix +@endif libtermcap # Other targets (info, dvi, etc.) -.PHONY: maybe-info-tix info-tix -maybe-info-tix: -@if tix -maybe-info-tix: info-tix +.PHONY: maybe-info-libtermcap info-libtermcap +maybe-info-libtermcap: +@if libtermcap +maybe-info-libtermcap: info-libtermcap -info-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ +info-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing info in tix" ; \ - (cd tix && \ + echo "Doing info in libtermcap" ; \ + (cd libtermcap && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 -@endif tix +@endif libtermcap -.PHONY: maybe-dvi-tix dvi-tix -maybe-dvi-tix: -@if tix -maybe-dvi-tix: dvi-tix +.PHONY: maybe-dvi-libtermcap dvi-libtermcap +maybe-dvi-libtermcap: +@if libtermcap +maybe-dvi-libtermcap: dvi-libtermcap -dvi-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ +dvi-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing dvi in tix" ; \ - (cd tix && \ + echo "Doing dvi in libtermcap" ; \ + (cd libtermcap && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 -@endif tix +@endif libtermcap -.PHONY: maybe-TAGS-tix TAGS-tix -maybe-TAGS-tix: -@if tix -maybe-TAGS-tix: TAGS-tix +.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap +maybe-TAGS-libtermcap: +@if libtermcap +maybe-TAGS-libtermcap: TAGS-libtermcap -TAGS-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ +TAGS-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing TAGS in tix" ; \ - (cd tix && \ + echo "Doing TAGS in libtermcap" ; \ + (cd libtermcap && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 -@endif tix +@endif libtermcap -.PHONY: maybe-install-info-tix install-info-tix -maybe-install-info-tix: -@if tix -maybe-install-info-tix: install-info-tix +.PHONY: maybe-install-info-libtermcap install-info-libtermcap +maybe-install-info-libtermcap: +@if libtermcap +maybe-install-info-libtermcap: install-info-libtermcap -install-info-tix: \ - configure-tix \ - info-tix - @[ -f ./tix/Makefile ] || exit 0; \ +install-info-libtermcap: \ + configure-libtermcap \ + info-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing install-info in tix" ; \ - (cd tix && \ + echo "Doing install-info in libtermcap" ; \ + (cd libtermcap && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 -@endif tix +@endif libtermcap -.PHONY: maybe-installcheck-tix installcheck-tix -maybe-installcheck-tix: -@if tix -maybe-installcheck-tix: installcheck-tix +.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap +maybe-installcheck-libtermcap: +@if libtermcap +maybe-installcheck-libtermcap: installcheck-libtermcap -installcheck-tix: \ - configure-tix - @[ -f ./tix/Makefile ] || exit 0; \ +installcheck-libtermcap: \ + configure-libtermcap + @[ -f ./libtermcap/Makefile ] || exit 0; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - echo "Doing installcheck in tix" ; \ - (cd tix && \ + echo "Doing installcheck in libtermcap" ; \ + (cd libtermcap && \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 -@endif tix - -.PHONY: maybe-mostlyclean-tix mostlyclean-tix -maybe-mostlyclean-tix: -@if tix -maybe-mostlyclean-tix: mostlyclean-tix - -mostlyclean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing mostlyclean in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 - -@endif tix - -.PHONY: maybe-clean-tix clean-tix -maybe-clean-tix: -@if tix -maybe-clean-tix: clean-tix - -clean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing clean in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 - -@endif tix - -.PHONY: maybe-distclean-tix distclean-tix -maybe-distclean-tix: -@if tix -maybe-distclean-tix: distclean-tix - -distclean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing distclean in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 - -@endif tix - -.PHONY: maybe-maintainer-clean-tix maintainer-clean-tix -maybe-maintainer-clean-tix: -@if tix -maybe-maintainer-clean-tix: maintainer-clean-tix - -maintainer-clean-tix: - @[ -f ./tix/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing maintainer-clean in tix" ; \ - (cd tix && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 - -@endif tix - - -.PHONY: configure-libtermcap maybe-configure-libtermcap -maybe-configure-libtermcap: -@if libtermcap -maybe-configure-libtermcap: configure-libtermcap -configure-libtermcap: - @test ! -f libtermcap/Makefile || exit 0; \ - [ -d libtermcap ] || mkdir libtermcap; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - echo Configuring in libtermcap; \ - cd libtermcap || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/libtermcap"; \ - libsrcdir="$$s/libtermcap";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \ - libsrcdir="$$s/libtermcap";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 -@endif libtermcap - -.PHONY: all-libtermcap maybe-all-libtermcap -maybe-all-libtermcap: -@if libtermcap -maybe-all-libtermcap: all-libtermcap -all-libtermcap: configure-libtermcap - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all) -@endif libtermcap - -.PHONY: check-libtermcap maybe-check-libtermcap -maybe-check-libtermcap: -@if libtermcap -maybe-check-libtermcap: check-libtermcap - -check-libtermcap: - -@endif libtermcap - -.PHONY: install-libtermcap maybe-install-libtermcap -maybe-install-libtermcap: -@if libtermcap -maybe-install-libtermcap: install-libtermcap - -install-libtermcap: installdirs - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) install) - -@endif libtermcap - -# Other targets (info, dvi, etc.) - -.PHONY: maybe-info-libtermcap info-libtermcap -maybe-info-libtermcap: -@if libtermcap -maybe-info-libtermcap: info-libtermcap - -info-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing info in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 - -@endif libtermcap - -.PHONY: maybe-dvi-libtermcap dvi-libtermcap -maybe-dvi-libtermcap: -@if libtermcap -maybe-dvi-libtermcap: dvi-libtermcap - -dvi-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing dvi in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 - -@endif libtermcap - -.PHONY: maybe-TAGS-libtermcap TAGS-libtermcap -maybe-TAGS-libtermcap: -@if libtermcap -maybe-TAGS-libtermcap: TAGS-libtermcap - -TAGS-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing TAGS in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 - -@endif libtermcap - -.PHONY: maybe-install-info-libtermcap install-info-libtermcap -maybe-install-info-libtermcap: -@if libtermcap -maybe-install-info-libtermcap: install-info-libtermcap - -install-info-libtermcap: \ - configure-libtermcap \ - info-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing install-info in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 - -@endif libtermcap - -.PHONY: maybe-installcheck-libtermcap installcheck-libtermcap -maybe-installcheck-libtermcap: -@if libtermcap -maybe-installcheck-libtermcap: installcheck-libtermcap - -installcheck-libtermcap: \ - configure-libtermcap - @[ -f ./libtermcap/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - echo "Doing installcheck in libtermcap" ; \ - (cd libtermcap && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 - -@endif libtermcap +@endif libtermcap .PHONY: maybe-mostlyclean-libtermcap mostlyclean-libtermcap maybe-mostlyclean-libtermcap: @@ -22091,7 +21820,7 @@ install-utils: installdirs s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd utils && $(MAKE) $(FLAGS_TO_PASS) install) + (cd utils && $(MAKE) $(FLAGS_TO_PASS) install) @endif utils @@ -22109,7 +21838,7 @@ info-utils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing info in utils" ; \ @@ -22118,7 +21847,7 @@ info-utils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ + info) \ || exit 1 @endif utils @@ -22135,7 +21864,7 @@ dvi-utils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing dvi in utils" ; \ @@ -22144,7 +21873,7 @@ dvi-utils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ + dvi) \ || exit 1 @endif utils @@ -22161,7 +21890,7 @@ TAGS-utils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing TAGS in utils" ; \ @@ -22170,7 +21899,7 @@ TAGS-utils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ + TAGS) \ || exit 1 @endif utils @@ -22188,7 +21917,7 @@ install-info-utils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing install-info in utils" ; \ @@ -22197,7 +21926,7 @@ install-info-utils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ + install-info) \ || exit 1 @endif utils @@ -22214,7 +21943,7 @@ installcheck-utils: \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing installcheck in utils" ; \ @@ -22223,7 +21952,7 @@ installcheck-utils: \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ + installcheck) \ || exit 1 @endif utils @@ -22239,7 +21968,7 @@ mostlyclean-utils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing mostlyclean in utils" ; \ @@ -22248,7 +21977,7 @@ mostlyclean-utils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ + mostlyclean) \ || exit 1 @endif utils @@ -22264,7 +21993,7 @@ clean-utils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing clean in utils" ; \ @@ -22273,7 +22002,7 @@ clean-utils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ + clean) \ || exit 1 @endif utils @@ -22289,7 +22018,7 @@ distclean-utils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing distclean in utils" ; \ @@ -22298,7 +22027,7 @@ distclean-utils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ + distclean) \ || exit 1 @endif utils @@ -22314,7 +22043,7 @@ maintainer-clean-utils: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing maintainer-clean in utils" ; \ @@ -22323,7 +22052,7 @@ maintainer-clean-utils: "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ + maintainer-clean) \ || exit 1 @endif utils @@ -22375,6 +22104,7 @@ configure-target-libstdc++-v3: $(TARGET_ .PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3 maybe-all-target-libstdc++-v3: @if target-libstdc++-v3 +TARGET-target-libstdc++-v3=all maybe-all-target-libstdc++-v3: all-target-libstdc++-v3 all-target-libstdc++-v3: configure-target-libstdc++-v3 @r=`${PWD_COMMAND}`; export r; \ @@ -22382,7 +22112,7 @@ all-target-libstdc++-v3: configure-targe $(SET_LIB_PATH) \ $(RAW_CXX_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' $(TARGET-target-libstdc++-v3)) @endif target-libstdc++-v3 .PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3 @@ -22690,6 +22420,7 @@ configure-target-libmudflap: $(TARGET_SU .PHONY: all-target-libmudflap maybe-all-target-libmudflap maybe-all-target-libmudflap: @if target-libmudflap +TARGET-target-libmudflap=all maybe-all-target-libmudflap: all-target-libmudflap all-target-libmudflap: configure-target-libmudflap @r=`${PWD_COMMAND}`; export r; \ @@ -22697,7 +22428,7 @@ all-target-libmudflap: configure-target- $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libmudflap && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libmudflap)) @endif target-libmudflap .PHONY: check-target-libmudflap maybe-check-target-libmudflap @@ -23005,6 +22736,7 @@ configure-target-newlib: $(TARGET_SUBDIR .PHONY: all-target-newlib maybe-all-target-newlib maybe-all-target-newlib: @if target-newlib +TARGET-target-newlib=all maybe-all-target-newlib: all-target-newlib all-target-newlib: configure-target-newlib @r=`${PWD_COMMAND}`; export r; \ @@ -23012,7 +22744,7 @@ all-target-newlib: configure-target-newl $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/newlib && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-newlib)) @endif target-newlib .PHONY: check-target-newlib maybe-check-target-newlib @@ -23320,6 +23052,7 @@ configure-target-libgfortran: $(TARGET_S .PHONY: all-target-libgfortran maybe-all-target-libgfortran maybe-all-target-libgfortran: @if target-libgfortran +TARGET-target-libgfortran=all maybe-all-target-libgfortran: all-target-libgfortran all-target-libgfortran: configure-target-libgfortran @r=`${PWD_COMMAND}`; export r; \ @@ -23327,7 +23060,7 @@ all-target-libgfortran: configure-target $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libgfortran && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgfortran)) @endif target-libgfortran .PHONY: check-target-libgfortran maybe-check-target-libgfortran @@ -23635,6 +23368,7 @@ configure-target-libobjc: $(TARGET_SUBDI .PHONY: all-target-libobjc maybe-all-target-libobjc maybe-all-target-libobjc: @if target-libobjc +TARGET-target-libobjc=all maybe-all-target-libobjc: all-target-libobjc all-target-libobjc: configure-target-libobjc @r=`${PWD_COMMAND}`; export r; \ @@ -23642,7 +23376,7 @@ all-target-libobjc: configure-target-lib $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libobjc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libobjc)) @endif target-libobjc .PHONY: check-target-libobjc maybe-check-target-libobjc @@ -23972,6 +23706,7 @@ configure-target-libtermcap: $(TARGET_SU .PHONY: all-target-libtermcap maybe-all-target-libtermcap maybe-all-target-libtermcap: @if target-libtermcap +TARGET-target-libtermcap=all maybe-all-target-libtermcap: all-target-libtermcap all-target-libtermcap: configure-target-libtermcap @r=`${PWD_COMMAND}`; export r; \ @@ -23979,7 +23714,7 @@ all-target-libtermcap: configure-target- $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libtermcap && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libtermcap)) @endif target-libtermcap .PHONY: check-target-libtermcap maybe-check-target-libtermcap @@ -24222,6 +23957,7 @@ configure-target-winsup: $(TARGET_SUBDIR .PHONY: all-target-winsup maybe-all-target-winsup maybe-all-target-winsup: @if target-winsup +TARGET-target-winsup=all maybe-all-target-winsup: all-target-winsup all-target-winsup: configure-target-winsup @r=`${PWD_COMMAND}`; export r; \ @@ -24229,7 +23965,7 @@ all-target-winsup: configure-target-wins $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/winsup && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-winsup)) @endif target-winsup .PHONY: check-target-winsup maybe-check-target-winsup @@ -24537,6 +24273,7 @@ configure-target-libgloss: $(TARGET_SUBD .PHONY: all-target-libgloss maybe-all-target-libgloss maybe-all-target-libgloss: @if target-libgloss +TARGET-target-libgloss=all maybe-all-target-libgloss: all-target-libgloss all-target-libgloss: configure-target-libgloss @r=`${PWD_COMMAND}`; export r; \ @@ -24544,7 +24281,7 @@ all-target-libgloss: configure-target-li $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libgloss && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgloss)) @endif target-libgloss .PHONY: check-target-libgloss maybe-check-target-libgloss @@ -24847,6 +24584,7 @@ configure-target-libiberty: $(TARGET_SUB .PHONY: all-target-libiberty maybe-all-target-libiberty maybe-all-target-libiberty: @if target-libiberty +TARGET-target-libiberty=all maybe-all-target-libiberty: all-target-libiberty all-target-libiberty: configure-target-libiberty @r=`${PWD_COMMAND}`; export r; \ @@ -24854,7 +24592,7 @@ all-target-libiberty: configure-target-l $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libiberty && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libiberty)) @endif target-libiberty .PHONY: check-target-libiberty maybe-check-target-libiberty @@ -25162,6 +24900,7 @@ configure-target-gperf: $(TARGET_SUBDIR) .PHONY: all-target-gperf maybe-all-target-gperf maybe-all-target-gperf: @if target-gperf +TARGET-target-gperf=all maybe-all-target-gperf: all-target-gperf all-target-gperf: configure-target-gperf @r=`${PWD_COMMAND}`; export r; \ @@ -25169,7 +24908,7 @@ all-target-gperf: configure-target-gperf $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/gperf && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-gperf)) @endif target-gperf .PHONY: check-target-gperf maybe-check-target-gperf @@ -25477,6 +25216,7 @@ configure-target-examples: $(TARGET_SUBD .PHONY: all-target-examples maybe-all-target-examples maybe-all-target-examples: @if target-examples +TARGET-target-examples=all maybe-all-target-examples: all-target-examples all-target-examples: configure-target-examples @r=`${PWD_COMMAND}`; export r; \ @@ -25484,7 +25224,7 @@ all-target-examples: configure-target-ex $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/examples && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-examples)) @endif target-examples .PHONY: check-target-examples maybe-check-target-examples @@ -25782,6 +25522,7 @@ configure-target-libffi: $(TARGET_SUBDIR .PHONY: all-target-libffi maybe-all-target-libffi maybe-all-target-libffi: @if target-libffi +TARGET-target-libffi=all maybe-all-target-libffi: all-target-libffi all-target-libffi: configure-target-libffi @r=`${PWD_COMMAND}`; export r; \ @@ -25789,7 +25530,7 @@ all-target-libffi: configure-target-libf $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libffi && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libffi)) @endif target-libffi .PHONY: check-target-libffi maybe-check-target-libffi @@ -26097,6 +25838,7 @@ configure-target-libjava: $(TARGET_SUBDI .PHONY: all-target-libjava maybe-all-target-libjava maybe-all-target-libjava: @if target-libjava +TARGET-target-libjava=all maybe-all-target-libjava: all-target-libjava all-target-libjava: configure-target-libjava @r=`${PWD_COMMAND}`; export r; \ @@ -26104,7 +25846,7 @@ all-target-libjava: configure-target-lib $(SET_LIB_PATH) \ $(RAW_CXX_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libjava && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' $(TARGET-target-libjava)) @endif target-libjava .PHONY: check-target-libjava maybe-check-target-libjava @@ -26434,6 +26176,7 @@ configure-target-zlib: $(TARGET_SUBDIR)/ .PHONY: all-target-zlib maybe-all-target-zlib maybe-all-target-zlib: @if target-zlib +TARGET-target-zlib=all maybe-all-target-zlib: all-target-zlib all-target-zlib: configure-target-zlib @r=`${PWD_COMMAND}`; export r; \ @@ -26441,7 +26184,7 @@ all-target-zlib: configure-target-zlib $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/zlib && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-zlib)) @endif target-zlib .PHONY: check-target-zlib maybe-check-target-zlib @@ -26749,6 +26492,7 @@ configure-target-boehm-gc: $(TARGET_SUBD .PHONY: all-target-boehm-gc maybe-all-target-boehm-gc maybe-all-target-boehm-gc: @if target-boehm-gc +TARGET-target-boehm-gc=all maybe-all-target-boehm-gc: all-target-boehm-gc all-target-boehm-gc: configure-target-boehm-gc @r=`${PWD_COMMAND}`; export r; \ @@ -26756,7 +26500,7 @@ all-target-boehm-gc: configure-target-bo $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/boehm-gc && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-boehm-gc)) @endif target-boehm-gc .PHONY: check-target-boehm-gc maybe-check-target-boehm-gc @@ -27064,6 +26808,7 @@ configure-target-qthreads: $(TARGET_SUBD .PHONY: all-target-qthreads maybe-all-target-qthreads maybe-all-target-qthreads: @if target-qthreads +TARGET-target-qthreads=all maybe-all-target-qthreads: all-target-qthreads all-target-qthreads: configure-target-qthreads @r=`${PWD_COMMAND}`; export r; \ @@ -27071,7 +26816,7 @@ all-target-qthreads: configure-target-qt $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/qthreads && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-qthreads)) @endif target-qthreads .PHONY: check-target-qthreads maybe-check-target-qthreads @@ -27379,6 +27124,7 @@ configure-target-rda: $(TARGET_SUBDIR)/r .PHONY: all-target-rda maybe-all-target-rda maybe-all-target-rda: @if target-rda +TARGET-target-rda=all maybe-all-target-rda: all-target-rda all-target-rda: configure-target-rda @r=`${PWD_COMMAND}`; export r; \ @@ -27386,7 +27132,7 @@ all-target-rda: configure-target-rda $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/rda && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-rda)) @endif target-rda .PHONY: check-target-rda maybe-check-target-rda @@ -27694,6 +27440,7 @@ configure-target-libada: $(TARGET_SUBDIR .PHONY: all-target-libada maybe-all-target-libada maybe-all-target-libada: @if target-libada +TARGET-target-libada=all maybe-all-target-libada: all-target-libada all-target-libada: configure-target-libada @r=`${PWD_COMMAND}`; export r; \ @@ -27701,7 +27448,7 @@ all-target-libada: configure-target-liba $(SET_LIB_PATH) \ $(NORMAL_TARGET_EXPORTS) \ (cd $(TARGET_SUBDIR)/libada && \ - $(MAKE) $(TARGET_FLAGS_TO_PASS) all) + $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libada)) @endif target-libada .PHONY: check-target-libada maybe-check-target-libada @@ -27973,79 +27720,14 @@ maintainer-clean-target-libada: # GCC module # ---------- -# Unfortunately, while gcc _should_ be a host module, -# libgcc is a target module, and gen* programs are -# build modules. So GCC is a sort of hybrid. - -# gcc is the only module which uses GCC_FLAGS_TO_PASS. -# Don't use shared host config.cache, as it will confuse later -# directories; GCC wants slightly different values for some -# precious variables. *sigh* - -# We must skip configuring if toplevel bootstrap is going. -.PHONY: configure-gcc maybe-configure-gcc -maybe-configure-gcc: -@if gcc -maybe-configure-gcc: configure-gcc -configure-gcc: -@endif gcc -@if gcc-no-bootstrap - @test ! -f gcc/Makefile || exit 0; \ - [ -d gcc ] || mkdir gcc; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - echo Configuring in gcc; \ - cd gcc || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 -@endif gcc-no-bootstrap - -# Don't 'make all' in gcc if it's already been made by 'bootstrap'; that -# causes trouble. This wart will be fixed eventually by moving -# the bootstrap behavior to this file. -.PHONY: all-gcc maybe-all-gcc -maybe-all-gcc: -@if gcc -maybe-all-gcc: all-gcc -all-gcc: configure-gcc -@endif gcc @if gcc-no-bootstrap - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - if [ -f gcc/stage_last ] ; then \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \ - else \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ - fi +# GCC has some more recursive targets, which trigger the old +# (but still current, until the toplevel bootstrap project +# is finished) compiler bootstrapping rules. -# Building GCC uses some tools for rebuilding "source" files -# like texinfo, bison/byacc, etc. So we must depend on those. -# -# While building GCC, it may be necessary to run various target -# programs like the assembler, linker, etc. So we depend on -# those too. -# -# In theory, on an SMP all those dependencies can be resolved -# in parallel. -# GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap .PHONY: $(GCC_STRAP_TARGETS) -$(GCC_STRAP_TARGETS): all-bootstrap configure-gcc +$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -28078,7 +27760,7 @@ $(GCC_STRAP_TARGETS): all-bootstrap conf echo "Building runtime libraries"; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all -profiledbootstrap: all-bootstrap configure-gcc +profiledbootstrap: all-prebootstrap configure-gcc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -28098,7 +27780,7 @@ profiledbootstrap: all-bootstrap configu $(MAKE) $(RECURSE_FLAGS_TO_PASS) all .PHONY: cross -cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld +cross: all-build all-gas all-ld @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -28112,21 +27794,7 @@ cross: all-texinfo all-bison all-byacc a $(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all @endif gcc-no-bootstrap -.PHONY: check-gcc maybe-check-gcc -maybe-check-gcc: @if gcc -maybe-check-gcc: check-gcc -check-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check); \ - else \ - true; \ - fi - .PHONY: check-gcc-c++ check-gcc-c++: @if [ -f ./gcc/Makefile ] ; then \ @@ -28141,23 +27809,6 @@ check-gcc-c++: .PHONY: check-c++ check-c++: check-target-libstdc++-v3 check-gcc-c++ -@endif gcc - -.PHONY: install-gcc maybe-install-gcc -maybe-install-gcc: -@if gcc -maybe-install-gcc: install-gcc -install-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ - else \ - true; \ - fi -@endif gcc # Install the gcc headers files, but not the fixed include files, # which Cygnus is not allowed to distribute. This rule is very @@ -28180,679 +27831,4076 @@ gcc-no-fixedincludes: rm -rf gcc/include; \ mv gcc/tmp-include gcc/include 2>/dev/null; \ else true; fi +@endif gcc -# Other targets (dvi, info, etc.) +# --------------------- +# GCC bootstrap support +# --------------------- -.PHONY: maybe-info-gcc info-gcc -maybe-info-gcc: -@if gcc -maybe-info-gcc: info-gcc -info-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing info in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - info) \ - || exit 1 -@endif gcc +# We track the current stage (the one in 'gcc') in the stage_current file. +# stage_last instead tracks the stage that was built last. These targets +# are dummy when toplevel bootstrap is not active. +.PHONY: unstage +unstage: +@if gcc-bootstrap + @[ -f stage_current ] || $(MAKE) `cat stage_last`-start +@endif gcc-bootstrap -.PHONY: maybe-dvi-gcc dvi-gcc -maybe-dvi-gcc: -@if gcc -maybe-dvi-gcc: dvi-gcc -dvi-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing dvi in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - dvi) \ - || exit 1 -@endif gcc +.PHONY: stage +stage: +@if gcc-bootstrap + @$(MAKE) `cat stage_current`-end +@endif gcc-bootstrap +# We name the build directories for the various stages "stage1-gcc", +# "stage2-gcc","stage3-gcc", etc. -.PHONY: maybe-TAGS-gcc TAGS-gcc -maybe-TAGS-gcc: -@if gcc -maybe-TAGS-gcc: TAGS-gcc -TAGS-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing TAGS in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - TAGS) \ - || exit 1 -@endif gcc +# Since the 'compare' process will fail (on debugging information) if any +# directory names are different, we need to link the gcc directory for +# the previous stage to a constant name ('gcc-prev'), and to make the name of +# the build directories constant as well. For the latter, we use naked names +# like 'gcc', because the scripts in that directory assume it. We use +# mv on platforms where symlinks to directories do not work or are not +# reliable. +# At the end of the bootstrap, a symlink to 'stage3-gcc' named 'gcc' must +# be kept, so that libraries can find it. Ick! -.PHONY: maybe-install-info-gcc install-info-gcc -maybe-install-info-gcc: -@if gcc -maybe-install-info-gcc: install-info-gcc -install-info-gcc: \ - configure-gcc \ - info-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing install-info in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - install-info) \ - || exit 1 -@endif gcc +# It would be best to preinstall gcc into a staging area (and in the +# future, gather there all prebootstrap packages). This would allow +# assemblers and linkers can be bootstrapped as well as the compiler +# (both in a combined tree, or separately). This however requires some +# change to the gcc driver, again in order to avoid comparison failures. +# Bugs: This is crippled when doing parallel make, the `make all-host' +# and `make all-target' phases can be parallelized. -.PHONY: maybe-installcheck-gcc installcheck-gcc -maybe-installcheck-gcc: -@if gcc -maybe-installcheck-gcc: installcheck-gcc -installcheck-gcc: \ - configure-gcc - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing installcheck in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - installcheck) \ - || exit 1 -@endif gcc +# 'touch' doesn't work right on some platforms. +STAMP = echo timestamp > -.PHONY: maybe-mostlyclean-gcc mostlyclean-gcc -maybe-mostlyclean-gcc: -@if gcc -maybe-mostlyclean-gcc: mostlyclean-gcc -mostlyclean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing mostlyclean in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - mostlyclean) \ - || exit 1 -@endif gcc +# Only build the C compiler for stage1, because that is the only one that +# we can guarantee will build with the native compiler, and also it is the +# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), +# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them +# overrideable (for a bootstrap build stage1 also builds gcc.info). +STAGE1_CFLAGS=@stage1_cflags@ +STAGE1_LANGUAGES=@stage1_languages@ -.PHONY: maybe-clean-gcc clean-gcc -maybe-clean-gcc: -@if gcc -maybe-clean-gcc: clean-gcc -clean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ +# We only want to compare .o files, so set this! +objext = .o + +# Flags to pass to stage2 and later makes. +POSTSTAGE1_FLAGS_TO_PASS = \ + CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ + STAGE_PREFIX=$$r/stage-gcc/ \ + CFLAGS="$(BOOT_CFLAGS)" \ + ADAC="\$$(CC)" + +# For stage 1: +# * We force-disable intermodule optimizations, even if +# --enable-intermodule was passed, since the installed compiler probably +# can't handle them. Luckily, autoconf always respects +# the last argument when conflicting --enable arguments are passed. +# * Likewise, we force-disable coverage flags, since the installed compiler +# probably has never heard of them. +# * We build only C (and possibly Ada). + + +.PHONY: stage1-start stage1-end + +stage1-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stage1 > stage_current ; \ + echo stage1 > stage_last +@if bfd + @[ -d stage1-bfd ] || mkdir stage1-bfd; \ + set stage1-bfd bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stage1-opcodes ] || mkdir stage1-opcodes; \ + set stage1-opcodes opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stage1-binutils ] || mkdir stage1-binutils; \ + set stage1-binutils binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stage1-gas ] || mkdir stage1-gas; \ + set stage1-gas gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stage1-gcc ] || mkdir stage1-gcc; \ + set stage1-gcc gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stage1-intl ] || mkdir stage1-intl; \ + set stage1-intl intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stage1-ld ] || mkdir stage1-ld; \ + set stage1-ld ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stage1-libcpp ] || mkdir stage1-libcpp; \ + set stage1-libcpp libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stage1-libiberty ] || mkdir stage1-libiberty; \ + set stage1-libiberty libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stage1-zlib ] || mkdir stage1-zlib; \ + set stage1-zlib zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib + +stage1-end:: + @rm -f stage_current +@if bfd + @set bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stage1-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ +@endif gcc +@if intl + @set intl stage1-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stage1-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib + +# Bubble a bugfix through all the stages up to stage 1. They +# are remade, but not reconfigured. The next stage (if any) will not +# be reconfigured as well. +.PHONY: stage1-bubble +stage1-bubble:: + @if test -f stage1-lean ; then \ + echo Skipping rebuild of stage1 ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage1; \ + fi + +.PHONY: all-stage1 clean-stage1 +all-stage1: \ + maybe-all-stage1-bfd \ + maybe-all-stage1-opcodes \ + maybe-all-stage1-binutils \ + maybe-all-stage1-gas \ + maybe-all-stage1-gcc \ + maybe-all-stage1-intl \ + maybe-all-stage1-ld \ + maybe-all-stage1-libcpp \ + maybe-all-stage1-libiberty \ + maybe-all-stage1-zlib + +do-clean: clean-stage1 +clean-stage1: \ + maybe-clean-stage1-bfd \ + maybe-clean-stage1-opcodes \ + maybe-clean-stage1-binutils \ + maybe-clean-stage1-gas \ + maybe-clean-stage1-gcc \ + maybe-clean-stage1-intl \ + maybe-clean-stage1-ld \ + maybe-clean-stage1-libcpp \ + maybe-clean-stage1-libiberty \ + maybe-clean-stage1-zlib + + +.PHONY: configure-stage1-bfd maybe-configure-stage1-bfd +.PHONY: all-stage1-bfd maybe-all-stage1-bfd +.PHONY: clean-stage1-bfd maybe-clean-stage1-bfd + +maybe-configure-stage1-bfd: +maybe-all-stage1-bfd: +maybe-clean-stage1-bfd: + +@if bfd-bootstrap +maybe-configure-stage1-bfd: configure-stage1-bfd +configure-stage1-bfd: + @$(MAKE) stage1-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in bfd ; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-bfd: all-stage1-bfd +all-stage1-bfd: configure-stage1-bfd + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-bfd: clean-stage1-bfd +clean-stage1-bfd: + @[ -f bfd/Makefile ] || [ -f stage1-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stage1-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif bfd-bootstrap + + +.PHONY: configure-stage1-opcodes maybe-configure-stage1-opcodes +.PHONY: all-stage1-opcodes maybe-all-stage1-opcodes +.PHONY: clean-stage1-opcodes maybe-clean-stage1-opcodes + +maybe-configure-stage1-opcodes: +maybe-all-stage1-opcodes: +maybe-clean-stage1-opcodes: + +@if opcodes-bootstrap +maybe-configure-stage1-opcodes: configure-stage1-opcodes +configure-stage1-opcodes: + @$(MAKE) stage1-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in opcodes ; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-opcodes: all-stage1-opcodes +all-stage1-opcodes: configure-stage1-opcodes + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-opcodes: clean-stage1-opcodes +clean-stage1-opcodes: + @[ -f opcodes/Makefile ] || [ -f stage1-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stage1-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif opcodes-bootstrap + + +.PHONY: configure-stage1-binutils maybe-configure-stage1-binutils +.PHONY: all-stage1-binutils maybe-all-stage1-binutils +.PHONY: clean-stage1-binutils maybe-clean-stage1-binutils + +maybe-configure-stage1-binutils: +maybe-all-stage1-binutils: +maybe-clean-stage1-binutils: + +@if binutils-bootstrap +maybe-configure-stage1-binutils: configure-stage1-binutils +configure-stage1-binutils: + @$(MAKE) stage1-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-binutils: all-stage1-binutils +all-stage1-binutils: configure-stage1-binutils + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-binutils: clean-stage1-binutils +clean-stage1-binutils: + @[ -f binutils/Makefile ] || [ -f stage1-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stage1-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif binutils-bootstrap + + +.PHONY: configure-stage1-gas maybe-configure-stage1-gas +.PHONY: all-stage1-gas maybe-all-stage1-gas +.PHONY: clean-stage1-gas maybe-clean-stage1-gas + +maybe-configure-stage1-gas: +maybe-all-stage1-gas: +maybe-clean-stage1-gas: + +@if gas-bootstrap +maybe-configure-stage1-gas: configure-stage1-gas +configure-stage1-gas: + @$(MAKE) stage1-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-gas: all-stage1-gas +all-stage1-gas: configure-stage1-gas + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-gas: clean-stage1-gas +clean-stage1-gas: + @[ -f gas/Makefile ] || [ -f stage1-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stage1-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif gas-bootstrap + + +.PHONY: configure-stage1-gcc maybe-configure-stage1-gcc +.PHONY: all-stage1-gcc maybe-all-stage1-gcc +.PHONY: clean-stage1-gcc maybe-clean-stage1-gcc + +maybe-configure-stage1-gcc: +maybe-all-stage1-gcc: +maybe-clean-stage1-gcc: + +@if gcc-bootstrap +maybe-configure-stage1-gcc: configure-stage1-gcc +configure-stage1-gcc: + @$(MAKE) stage1-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in gcc ; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-gcc: all-stage1-gcc +all-stage1-gcc: configure-stage1-gcc + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) + +maybe-clean-stage1-gcc: clean-stage1-gcc +clean-stage1-gcc: + @[ -f gcc/Makefile ] || [ -f stage1-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stage1-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap + + +.PHONY: configure-stage1-intl maybe-configure-stage1-intl +.PHONY: all-stage1-intl maybe-all-stage1-intl +.PHONY: clean-stage1-intl maybe-clean-stage1-intl + +maybe-configure-stage1-intl: +maybe-all-stage1-intl: +maybe-clean-stage1-intl: + +@if intl-bootstrap +maybe-configure-stage1-intl: configure-stage1-intl +configure-stage1-intl: + @$(MAKE) stage1-start + @[ -f intl/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in intl ; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-intl: all-stage1-intl +all-stage1-intl: configure-stage1-intl + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-intl: clean-stage1-intl +clean-stage1-intl: + @[ -f intl/Makefile ] || [ -f stage1-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stage1-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif intl-bootstrap + + +.PHONY: configure-stage1-ld maybe-configure-stage1-ld +.PHONY: all-stage1-ld maybe-all-stage1-ld +.PHONY: clean-stage1-ld maybe-clean-stage1-ld + +maybe-configure-stage1-ld: +maybe-all-stage1-ld: +maybe-clean-stage1-ld: + +@if ld-bootstrap +maybe-configure-stage1-ld: configure-stage1-ld +configure-stage1-ld: + @$(MAKE) stage1-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-ld: all-stage1-ld +all-stage1-ld: configure-stage1-ld + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-ld: clean-stage1-ld +clean-stage1-ld: + @[ -f ld/Makefile ] || [ -f stage1-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stage1-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif ld-bootstrap + + +.PHONY: configure-stage1-libcpp maybe-configure-stage1-libcpp +.PHONY: all-stage1-libcpp maybe-all-stage1-libcpp +.PHONY: clean-stage1-libcpp maybe-clean-stage1-libcpp + +maybe-configure-stage1-libcpp: +maybe-all-stage1-libcpp: +maybe-clean-stage1-libcpp: + +@if libcpp-bootstrap +maybe-configure-stage1-libcpp: configure-stage1-libcpp +configure-stage1-libcpp: + @$(MAKE) stage1-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-libcpp: all-stage1-libcpp +all-stage1-libcpp: configure-stage1-libcpp + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-libcpp: clean-stage1-libcpp +clean-stage1-libcpp: + @[ -f libcpp/Makefile ] || [ -f stage1-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stage1-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif libcpp-bootstrap + + +.PHONY: configure-stage1-libiberty maybe-configure-stage1-libiberty +.PHONY: all-stage1-libiberty maybe-all-stage1-libiberty +.PHONY: clean-stage1-libiberty maybe-clean-stage1-libiberty + +maybe-configure-stage1-libiberty: +maybe-all-stage1-libiberty: +maybe-clean-stage1-libiberty: + +@if libiberty-bootstrap +maybe-configure-stage1-libiberty: configure-stage1-libiberty +configure-stage1-libiberty: + @$(MAKE) stage1-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-libiberty: all-stage1-libiberty +all-stage1-libiberty: configure-stage1-libiberty + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-libiberty: clean-stage1-libiberty +clean-stage1-libiberty: + @[ -f libiberty/Makefile ] || [ -f stage1-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stage1-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif libiberty-bootstrap + + +.PHONY: configure-stage1-zlib maybe-configure-stage1-zlib +.PHONY: all-stage1-zlib maybe-all-stage1-zlib +.PHONY: clean-stage1-zlib maybe-clean-stage1-zlib + +maybe-configure-stage1-zlib: +maybe-all-stage1-zlib: +maybe-clean-stage1-zlib: + +@if zlib-bootstrap +maybe-configure-stage1-zlib: configure-stage1-zlib +configure-stage1-zlib: + @$(MAKE) stage1-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + echo Configuring stage 1 in zlib ; \ + cd zlib || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" + +maybe-all-stage1-zlib: all-stage1-zlib +all-stage1-zlib: configure-stage1-zlib + @$(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" + +maybe-clean-stage1-zlib: clean-stage1-zlib +clean-stage1-zlib: + @[ -f zlib/Makefile ] || [ -f stage1-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stage1-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" clean +@endif zlib-bootstrap + + + +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap + + + + +# Rules to wipe a stage and all the following ones, also used for cleanstrap + +.PHONY: distclean-stage1 +distclean-stage1:: + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stage1-* + + +@endif gcc-bootstrap + + +.PHONY: stage2-start stage2-end + +stage2-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stage2 > stage_current ; \ + echo stage2 > stage_last +@if bfd + @[ -d stage2-bfd ] || mkdir stage2-bfd; \ + set stage2-bfd bfd ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stage2-opcodes ] || mkdir stage2-opcodes; \ + set stage2-opcodes opcodes ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stage2-binutils ] || mkdir stage2-binutils; \ + set stage2-binutils binutils ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stage2-gas ] || mkdir stage2-gas; \ + set stage2-gas gas ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stage2-gcc ] || mkdir stage2-gcc; \ + set stage2-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stage2-intl ] || mkdir stage2-intl; \ + set stage2-intl intl ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stage2-ld ] || mkdir stage2-ld; \ + set stage2-ld ld ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stage2-libcpp ] || mkdir stage2-libcpp; \ + set stage2-libcpp libcpp ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stage2-libiberty ] || mkdir stage2-libiberty; \ + set stage2-libiberty libiberty ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stage2-zlib ] || mkdir stage2-zlib; \ + set stage2-zlib zlib ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib + +stage2-end:: + @rm -f stage_current +@if bfd + @set bfd stage2-bfd ; @UNDO_LINK_TO_DIR@ ; \ + set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@ ; \ + set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stage2-binutils ; @UNDO_LINK_TO_DIR@ ; \ + set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stage2-gas ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ +@endif gcc +@if intl + @set intl stage2-intl ; @UNDO_LINK_TO_DIR@ ; \ + set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stage2-ld ; @UNDO_LINK_TO_DIR@ ; \ + set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stage2-zlib ; @UNDO_LINK_TO_DIR@ ; \ + set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib + +# Bubble a bugfix through all the stages up to stage 2. They +# are remade, but not reconfigured. The next stage (if any) will not +# be reconfigured as well. +.PHONY: stage2-bubble +stage2-bubble:: stage1-bubble + @if test -f stage2-lean || test -f stage1-lean ; then \ + echo Skipping rebuild of stage2 ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage2; \ + fi + +.PHONY: all-stage2 clean-stage2 +all-stage2: \ + maybe-all-stage2-bfd \ + maybe-all-stage2-opcodes \ + maybe-all-stage2-binutils \ + maybe-all-stage2-gas \ + maybe-all-stage2-gcc \ + maybe-all-stage2-intl \ + maybe-all-stage2-ld \ + maybe-all-stage2-libcpp \ + maybe-all-stage2-libiberty \ + maybe-all-stage2-zlib + +do-clean: clean-stage2 +clean-stage2: \ + maybe-clean-stage2-bfd \ + maybe-clean-stage2-opcodes \ + maybe-clean-stage2-binutils \ + maybe-clean-stage2-gas \ + maybe-clean-stage2-gcc \ + maybe-clean-stage2-intl \ + maybe-clean-stage2-ld \ + maybe-clean-stage2-libcpp \ + maybe-clean-stage2-libiberty \ + maybe-clean-stage2-zlib + + +.PHONY: configure-stage2-bfd maybe-configure-stage2-bfd +.PHONY: all-stage2-bfd maybe-all-stage2-bfd +.PHONY: clean-stage2-bfd maybe-clean-stage2-bfd + +maybe-configure-stage2-bfd: +maybe-all-stage2-bfd: +maybe-clean-stage2-bfd: + +@if bfd-bootstrap +maybe-configure-stage2-bfd: configure-stage2-bfd +configure-stage2-bfd: + @$(MAKE) stage2-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in bfd ; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-bfd: all-stage2-bfd +all-stage2-bfd: configure-stage2-bfd + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-bfd: clean-stage2-bfd +clean-stage2-bfd: + @[ -f bfd/Makefile ] || [ -f stage2-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stage2-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif bfd-bootstrap + + +.PHONY: configure-stage2-opcodes maybe-configure-stage2-opcodes +.PHONY: all-stage2-opcodes maybe-all-stage2-opcodes +.PHONY: clean-stage2-opcodes maybe-clean-stage2-opcodes + +maybe-configure-stage2-opcodes: +maybe-all-stage2-opcodes: +maybe-clean-stage2-opcodes: + +@if opcodes-bootstrap +maybe-configure-stage2-opcodes: configure-stage2-opcodes +configure-stage2-opcodes: + @$(MAKE) stage2-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in opcodes ; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-opcodes: all-stage2-opcodes +all-stage2-opcodes: configure-stage2-opcodes + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-opcodes: clean-stage2-opcodes +clean-stage2-opcodes: + @[ -f opcodes/Makefile ] || [ -f stage2-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stage2-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif opcodes-bootstrap + + +.PHONY: configure-stage2-binutils maybe-configure-stage2-binutils +.PHONY: all-stage2-binutils maybe-all-stage2-binutils +.PHONY: clean-stage2-binutils maybe-clean-stage2-binutils + +maybe-configure-stage2-binutils: +maybe-all-stage2-binutils: +maybe-clean-stage2-binutils: + +@if binutils-bootstrap +maybe-configure-stage2-binutils: configure-stage2-binutils +configure-stage2-binutils: + @$(MAKE) stage2-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-binutils: all-stage2-binutils +all-stage2-binutils: configure-stage2-binutils + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-binutils: clean-stage2-binutils +clean-stage2-binutils: + @[ -f binutils/Makefile ] || [ -f stage2-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stage2-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif binutils-bootstrap + + +.PHONY: configure-stage2-gas maybe-configure-stage2-gas +.PHONY: all-stage2-gas maybe-all-stage2-gas +.PHONY: clean-stage2-gas maybe-clean-stage2-gas + +maybe-configure-stage2-gas: +maybe-all-stage2-gas: +maybe-clean-stage2-gas: + +@if gas-bootstrap +maybe-configure-stage2-gas: configure-stage2-gas +configure-stage2-gas: + @$(MAKE) stage2-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-gas: all-stage2-gas +all-stage2-gas: configure-stage2-gas + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-gas: clean-stage2-gas +clean-stage2-gas: + @[ -f gas/Makefile ] || [ -f stage2-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stage2-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif gas-bootstrap + + +.PHONY: configure-stage2-gcc maybe-configure-stage2-gcc +.PHONY: all-stage2-gcc maybe-all-stage2-gcc +.PHONY: clean-stage2-gcc maybe-clean-stage2-gcc + +maybe-configure-stage2-gcc: +maybe-all-stage2-gcc: +maybe-clean-stage2-gcc: + +@if gcc-bootstrap +maybe-configure-stage2-gcc: configure-stage2-gcc +configure-stage2-gcc: + @$(MAKE) stage2-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in gcc ; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-gcc: all-stage2-gcc +all-stage2-gcc: configure-stage2-gcc + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) + +maybe-clean-stage2-gcc: clean-stage2-gcc +clean-stage2-gcc: + @[ -f gcc/Makefile ] || [ -f stage2-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stage2-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap + + +.PHONY: configure-stage2-intl maybe-configure-stage2-intl +.PHONY: all-stage2-intl maybe-all-stage2-intl +.PHONY: clean-stage2-intl maybe-clean-stage2-intl + +maybe-configure-stage2-intl: +maybe-all-stage2-intl: +maybe-clean-stage2-intl: + +@if intl-bootstrap +maybe-configure-stage2-intl: configure-stage2-intl +configure-stage2-intl: + @$(MAKE) stage2-start + @[ -f intl/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in intl ; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-intl: all-stage2-intl +all-stage2-intl: configure-stage2-intl + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-intl: clean-stage2-intl +clean-stage2-intl: + @[ -f intl/Makefile ] || [ -f stage2-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stage2-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif intl-bootstrap + + +.PHONY: configure-stage2-ld maybe-configure-stage2-ld +.PHONY: all-stage2-ld maybe-all-stage2-ld +.PHONY: clean-stage2-ld maybe-clean-stage2-ld + +maybe-configure-stage2-ld: +maybe-all-stage2-ld: +maybe-clean-stage2-ld: + +@if ld-bootstrap +maybe-configure-stage2-ld: configure-stage2-ld +configure-stage2-ld: + @$(MAKE) stage2-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-ld: all-stage2-ld +all-stage2-ld: configure-stage2-ld + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-ld: clean-stage2-ld +clean-stage2-ld: + @[ -f ld/Makefile ] || [ -f stage2-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stage2-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif ld-bootstrap + + +.PHONY: configure-stage2-libcpp maybe-configure-stage2-libcpp +.PHONY: all-stage2-libcpp maybe-all-stage2-libcpp +.PHONY: clean-stage2-libcpp maybe-clean-stage2-libcpp + +maybe-configure-stage2-libcpp: +maybe-all-stage2-libcpp: +maybe-clean-stage2-libcpp: + +@if libcpp-bootstrap +maybe-configure-stage2-libcpp: configure-stage2-libcpp +configure-stage2-libcpp: + @$(MAKE) stage2-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-libcpp: all-stage2-libcpp +all-stage2-libcpp: configure-stage2-libcpp + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-libcpp: clean-stage2-libcpp +clean-stage2-libcpp: + @[ -f libcpp/Makefile ] || [ -f stage2-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stage2-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libcpp-bootstrap + + +.PHONY: configure-stage2-libiberty maybe-configure-stage2-libiberty +.PHONY: all-stage2-libiberty maybe-all-stage2-libiberty +.PHONY: clean-stage2-libiberty maybe-clean-stage2-libiberty + +maybe-configure-stage2-libiberty: +maybe-all-stage2-libiberty: +maybe-clean-stage2-libiberty: + +@if libiberty-bootstrap +maybe-configure-stage2-libiberty: configure-stage2-libiberty +configure-stage2-libiberty: + @$(MAKE) stage2-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-libiberty: all-stage2-libiberty +all-stage2-libiberty: configure-stage2-libiberty + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-libiberty: clean-stage2-libiberty +clean-stage2-libiberty: + @[ -f libiberty/Makefile ] || [ -f stage2-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stage2-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libiberty-bootstrap + + +.PHONY: configure-stage2-zlib maybe-configure-stage2-zlib +.PHONY: all-stage2-zlib maybe-all-stage2-zlib +.PHONY: clean-stage2-zlib maybe-clean-stage2-zlib + +maybe-configure-stage2-zlib: +maybe-all-stage2-zlib: +maybe-clean-stage2-zlib: + +@if zlib-bootstrap +maybe-configure-stage2-zlib: configure-stage2-zlib +configure-stage2-zlib: + @$(MAKE) stage2-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 2 in zlib ; \ + cd zlib || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage2-zlib: all-stage2-zlib +all-stage2-zlib: configure-stage2-zlib + @$(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage2-zlib: clean-stage2-zlib +clean-stage2-zlib: + @[ -f zlib/Makefile ] || [ -f stage2-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stage2-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif zlib-bootstrap + + + +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap + + + +.PHONY: bootstrap2 +bootstrap2: stage2-bubble all + + +# Rules to wipe a stage and all the following ones, also used for cleanstrap +distclean-stage1:: distclean-stage2 +.PHONY: distclean-stage2 +distclean-stage2:: + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stage2-* + + +@endif gcc-bootstrap + + +.PHONY: stage3-start stage3-end + +stage3-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stage3 > stage_current ; \ + echo stage3 > stage_last +@if bfd + @[ -d stage3-bfd ] || mkdir stage3-bfd; \ + set stage3-bfd bfd ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stage3-opcodes ] || mkdir stage3-opcodes; \ + set stage3-opcodes opcodes ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stage3-binutils ] || mkdir stage3-binutils; \ + set stage3-binutils binutils ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stage3-gas ] || mkdir stage3-gas; \ + set stage3-gas gas ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-gas prev-gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stage3-gcc ] || mkdir stage3-gcc; \ + set stage3-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stage3-intl ] || mkdir stage3-intl; \ + set stage3-intl intl ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-intl prev-intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stage3-ld ] || mkdir stage3-ld; \ + set stage3-ld ld ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-ld prev-ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stage3-libcpp ] || mkdir stage3-libcpp; \ + set stage3-libcpp libcpp ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stage3-libiberty ] || mkdir stage3-libiberty; \ + set stage3-libiberty libiberty ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stage3-zlib ] || mkdir stage3-zlib; \ + set stage3-zlib zlib ; @CREATE_LINK_TO_DIR@ ; \ + set stage2-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib + +stage3-end:: + @rm -f stage_current +@if bfd + @set bfd stage3-bfd ; @UNDO_LINK_TO_DIR@ ; \ + set prev-bfd stage2-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@ ; \ + set prev-opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stage3-binutils ; @UNDO_LINK_TO_DIR@ ; \ + set prev-binutils stage2-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stage3-gas ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gas stage2-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ +@endif gcc +@if intl + @set intl stage3-intl ; @UNDO_LINK_TO_DIR@ ; \ + set prev-intl stage2-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stage3-ld ; @UNDO_LINK_TO_DIR@ ; \ + set prev-ld stage2-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stage3-zlib ; @UNDO_LINK_TO_DIR@ ; \ + set prev-zlib stage2-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib + +# Bubble a bugfix through all the stages up to stage 3. They +# are remade, but not reconfigured. The next stage (if any) will not +# be reconfigured as well. +.PHONY: stage3-bubble +stage3-bubble:: stage2-bubble + @bootstrap_lean@-rm -rf stage1-* ; $(STAMP) stage1-lean + @if test -f stage3-lean || test -f stage2-lean ; then \ + echo Skipping rebuild of stage3 ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage3; \ + fi + +.PHONY: all-stage3 clean-stage3 +all-stage3: \ + maybe-all-stage3-bfd \ + maybe-all-stage3-opcodes \ + maybe-all-stage3-binutils \ + maybe-all-stage3-gas \ + maybe-all-stage3-gcc \ + maybe-all-stage3-intl \ + maybe-all-stage3-ld \ + maybe-all-stage3-libcpp \ + maybe-all-stage3-libiberty \ + maybe-all-stage3-zlib + +do-clean: clean-stage3 +clean-stage3: \ + maybe-clean-stage3-bfd \ + maybe-clean-stage3-opcodes \ + maybe-clean-stage3-binutils \ + maybe-clean-stage3-gas \ + maybe-clean-stage3-gcc \ + maybe-clean-stage3-intl \ + maybe-clean-stage3-ld \ + maybe-clean-stage3-libcpp \ + maybe-clean-stage3-libiberty \ + maybe-clean-stage3-zlib + + +.PHONY: configure-stage3-bfd maybe-configure-stage3-bfd +.PHONY: all-stage3-bfd maybe-all-stage3-bfd +.PHONY: clean-stage3-bfd maybe-clean-stage3-bfd + +maybe-configure-stage3-bfd: +maybe-all-stage3-bfd: +maybe-clean-stage3-bfd: + +@if bfd-bootstrap +maybe-configure-stage3-bfd: configure-stage3-bfd +configure-stage3-bfd: + @$(MAKE) stage3-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in bfd ; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-bfd: all-stage3-bfd +all-stage3-bfd: configure-stage3-bfd + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-bfd: clean-stage3-bfd +clean-stage3-bfd: + @[ -f bfd/Makefile ] || [ -f stage3-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stage3-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif bfd-bootstrap + + +.PHONY: configure-stage3-opcodes maybe-configure-stage3-opcodes +.PHONY: all-stage3-opcodes maybe-all-stage3-opcodes +.PHONY: clean-stage3-opcodes maybe-clean-stage3-opcodes + +maybe-configure-stage3-opcodes: +maybe-all-stage3-opcodes: +maybe-clean-stage3-opcodes: + +@if opcodes-bootstrap +maybe-configure-stage3-opcodes: configure-stage3-opcodes +configure-stage3-opcodes: + @$(MAKE) stage3-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in opcodes ; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-opcodes: all-stage3-opcodes +all-stage3-opcodes: configure-stage3-opcodes + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-opcodes: clean-stage3-opcodes +clean-stage3-opcodes: + @[ -f opcodes/Makefile ] || [ -f stage3-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stage3-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif opcodes-bootstrap + + +.PHONY: configure-stage3-binutils maybe-configure-stage3-binutils +.PHONY: all-stage3-binutils maybe-all-stage3-binutils +.PHONY: clean-stage3-binutils maybe-clean-stage3-binutils + +maybe-configure-stage3-binutils: +maybe-all-stage3-binutils: +maybe-clean-stage3-binutils: + +@if binutils-bootstrap +maybe-configure-stage3-binutils: configure-stage3-binutils +configure-stage3-binutils: + @$(MAKE) stage3-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-binutils: all-stage3-binutils +all-stage3-binutils: configure-stage3-binutils + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-binutils: clean-stage3-binutils +clean-stage3-binutils: + @[ -f binutils/Makefile ] || [ -f stage3-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stage3-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif binutils-bootstrap + + +.PHONY: configure-stage3-gas maybe-configure-stage3-gas +.PHONY: all-stage3-gas maybe-all-stage3-gas +.PHONY: clean-stage3-gas maybe-clean-stage3-gas + +maybe-configure-stage3-gas: +maybe-all-stage3-gas: +maybe-clean-stage3-gas: + +@if gas-bootstrap +maybe-configure-stage3-gas: configure-stage3-gas +configure-stage3-gas: + @$(MAKE) stage3-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-gas: all-stage3-gas +all-stage3-gas: configure-stage3-gas + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-gas: clean-stage3-gas +clean-stage3-gas: + @[ -f gas/Makefile ] || [ -f stage3-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stage3-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif gas-bootstrap + + +.PHONY: configure-stage3-gcc maybe-configure-stage3-gcc +.PHONY: all-stage3-gcc maybe-all-stage3-gcc +.PHONY: clean-stage3-gcc maybe-clean-stage3-gcc + +maybe-configure-stage3-gcc: +maybe-all-stage3-gcc: +maybe-clean-stage3-gcc: + +@if gcc-bootstrap +maybe-configure-stage3-gcc: configure-stage3-gcc +configure-stage3-gcc: + @$(MAKE) stage3-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in gcc ; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-gcc: all-stage3-gcc +all-stage3-gcc: configure-stage3-gcc + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) + +maybe-clean-stage3-gcc: clean-stage3-gcc +clean-stage3-gcc: + @[ -f gcc/Makefile ] || [ -f stage3-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stage3-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap + + +.PHONY: configure-stage3-intl maybe-configure-stage3-intl +.PHONY: all-stage3-intl maybe-all-stage3-intl +.PHONY: clean-stage3-intl maybe-clean-stage3-intl + +maybe-configure-stage3-intl: +maybe-all-stage3-intl: +maybe-clean-stage3-intl: + +@if intl-bootstrap +maybe-configure-stage3-intl: configure-stage3-intl +configure-stage3-intl: + @$(MAKE) stage3-start + @[ -f intl/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in intl ; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-intl: all-stage3-intl +all-stage3-intl: configure-stage3-intl + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-intl: clean-stage3-intl +clean-stage3-intl: + @[ -f intl/Makefile ] || [ -f stage3-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stage3-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif intl-bootstrap + + +.PHONY: configure-stage3-ld maybe-configure-stage3-ld +.PHONY: all-stage3-ld maybe-all-stage3-ld +.PHONY: clean-stage3-ld maybe-clean-stage3-ld + +maybe-configure-stage3-ld: +maybe-all-stage3-ld: +maybe-clean-stage3-ld: + +@if ld-bootstrap +maybe-configure-stage3-ld: configure-stage3-ld +configure-stage3-ld: + @$(MAKE) stage3-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-ld: all-stage3-ld +all-stage3-ld: configure-stage3-ld + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-ld: clean-stage3-ld +clean-stage3-ld: + @[ -f ld/Makefile ] || [ -f stage3-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stage3-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif ld-bootstrap + + +.PHONY: configure-stage3-libcpp maybe-configure-stage3-libcpp +.PHONY: all-stage3-libcpp maybe-all-stage3-libcpp +.PHONY: clean-stage3-libcpp maybe-clean-stage3-libcpp + +maybe-configure-stage3-libcpp: +maybe-all-stage3-libcpp: +maybe-clean-stage3-libcpp: + +@if libcpp-bootstrap +maybe-configure-stage3-libcpp: configure-stage3-libcpp +configure-stage3-libcpp: + @$(MAKE) stage3-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-libcpp: all-stage3-libcpp +all-stage3-libcpp: configure-stage3-libcpp + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-libcpp: clean-stage3-libcpp +clean-stage3-libcpp: + @[ -f libcpp/Makefile ] || [ -f stage3-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stage3-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libcpp-bootstrap + + +.PHONY: configure-stage3-libiberty maybe-configure-stage3-libiberty +.PHONY: all-stage3-libiberty maybe-all-stage3-libiberty +.PHONY: clean-stage3-libiberty maybe-clean-stage3-libiberty + +maybe-configure-stage3-libiberty: +maybe-all-stage3-libiberty: +maybe-clean-stage3-libiberty: + +@if libiberty-bootstrap +maybe-configure-stage3-libiberty: configure-stage3-libiberty +configure-stage3-libiberty: + @$(MAKE) stage3-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-libiberty: all-stage3-libiberty +all-stage3-libiberty: configure-stage3-libiberty + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-libiberty: clean-stage3-libiberty +clean-stage3-libiberty: + @[ -f libiberty/Makefile ] || [ -f stage3-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stage3-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libiberty-bootstrap + + +.PHONY: configure-stage3-zlib maybe-configure-stage3-zlib +.PHONY: all-stage3-zlib maybe-all-stage3-zlib +.PHONY: clean-stage3-zlib maybe-clean-stage3-zlib + +maybe-configure-stage3-zlib: +maybe-all-stage3-zlib: +maybe-clean-stage3-zlib: + +@if zlib-bootstrap +maybe-configure-stage3-zlib: configure-stage3-zlib +configure-stage3-zlib: + @$(MAKE) stage3-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 3 in zlib ; \ + cd zlib || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage3-zlib: all-stage3-zlib +all-stage3-zlib: configure-stage3-zlib + @$(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage3-zlib: clean-stage3-zlib +clean-stage3-zlib: + @[ -f zlib/Makefile ] || [ -f stage3-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stage3-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif zlib-bootstrap + + + +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap + +compare: + @if test -f stage2-lean; then \ + echo Cannot compare object files as stage 2 was deleted. ; \ + exit 0 ; \ + fi; \ + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + rm -f .bad_compare ; \ + cd stage3-gcc; \ + files=`find . -name "*$(objext)" -print` ; \ + cd .. ; \ + for file in $${files} ; do \ + f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \ + @do_compare@ > /dev/null 2>&1; \ + test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ + done ; \ + if [ -f .bad_compare ]; then \ + echo "Bootstrap comparison failure!"; \ + cat .bad_compare; \ + exit 1; \ + else \ + true; \ + fi ; \ + $(STAMP) compare + @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean + + + +.PHONY: bootstrap +bootstrap: stage3-bubble compare all + + +# Rules to wipe a stage and all the following ones, also used for cleanstrap +distclean-stage2:: distclean-stage3 +.PHONY: distclean-stage3 +distclean-stage3:: + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stage3-* compare + + +.PHONY: cleanstrap +cleanstrap: distclean bootstrap + +@endif gcc-bootstrap + + +.PHONY: stage4-start stage4-end + +stage4-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stage4 > stage_current ; \ + echo stage4 > stage_last +@if bfd + @[ -d stage4-bfd ] || mkdir stage4-bfd; \ + set stage4-bfd bfd ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stage4-opcodes ] || mkdir stage4-opcodes; \ + set stage4-opcodes opcodes ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stage4-binutils ] || mkdir stage4-binutils; \ + set stage4-binutils binutils ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stage4-gas ] || mkdir stage4-gas; \ + set stage4-gas gas ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-gas prev-gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stage4-gcc ] || mkdir stage4-gcc; \ + set stage4-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stage4-intl ] || mkdir stage4-intl; \ + set stage4-intl intl ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-intl prev-intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stage4-ld ] || mkdir stage4-ld; \ + set stage4-ld ld ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-ld prev-ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stage4-libcpp ] || mkdir stage4-libcpp; \ + set stage4-libcpp libcpp ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stage4-libiberty ] || mkdir stage4-libiberty; \ + set stage4-libiberty libiberty ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stage4-zlib ] || mkdir stage4-zlib; \ + set stage4-zlib zlib ; @CREATE_LINK_TO_DIR@ ; \ + set stage3-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib + +stage4-end:: + @rm -f stage_current +@if bfd + @set bfd stage4-bfd ; @UNDO_LINK_TO_DIR@ ; \ + set prev-bfd stage3-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stage4-opcodes ; @UNDO_LINK_TO_DIR@ ; \ + set prev-opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stage4-binutils ; @UNDO_LINK_TO_DIR@ ; \ + set prev-binutils stage3-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stage4-gas ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gas stage3-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stage4-gcc ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ +@endif gcc +@if intl + @set intl stage4-intl ; @UNDO_LINK_TO_DIR@ ; \ + set prev-intl stage3-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stage4-ld ; @UNDO_LINK_TO_DIR@ ; \ + set prev-ld stage3-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stage4-libcpp ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stage4-libiberty ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stage4-zlib ; @UNDO_LINK_TO_DIR@ ; \ + set prev-zlib stage3-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib + +# Bubble a bugfix through all the stages up to stage 4. They +# are remade, but not reconfigured. The next stage (if any) will not +# be reconfigured as well. +.PHONY: stage4-bubble +stage4-bubble:: stage3-bubble + @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean + @if test -f stage4-lean || test -f stage3-lean ; then \ + echo Skipping rebuild of stage4 ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage4; \ + fi + +.PHONY: all-stage4 clean-stage4 +all-stage4: \ + maybe-all-stage4-bfd \ + maybe-all-stage4-opcodes \ + maybe-all-stage4-binutils \ + maybe-all-stage4-gas \ + maybe-all-stage4-gcc \ + maybe-all-stage4-intl \ + maybe-all-stage4-ld \ + maybe-all-stage4-libcpp \ + maybe-all-stage4-libiberty \ + maybe-all-stage4-zlib + +do-clean: clean-stage4 +clean-stage4: \ + maybe-clean-stage4-bfd \ + maybe-clean-stage4-opcodes \ + maybe-clean-stage4-binutils \ + maybe-clean-stage4-gas \ + maybe-clean-stage4-gcc \ + maybe-clean-stage4-intl \ + maybe-clean-stage4-ld \ + maybe-clean-stage4-libcpp \ + maybe-clean-stage4-libiberty \ + maybe-clean-stage4-zlib + + +.PHONY: configure-stage4-bfd maybe-configure-stage4-bfd +.PHONY: all-stage4-bfd maybe-all-stage4-bfd +.PHONY: clean-stage4-bfd maybe-clean-stage4-bfd + +maybe-configure-stage4-bfd: +maybe-all-stage4-bfd: +maybe-clean-stage4-bfd: + +@if bfd-bootstrap +maybe-configure-stage4-bfd: configure-stage4-bfd +configure-stage4-bfd: + @$(MAKE) stage4-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in bfd ; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-bfd: all-stage4-bfd +all-stage4-bfd: configure-stage4-bfd + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-bfd: clean-stage4-bfd +clean-stage4-bfd: + @[ -f bfd/Makefile ] || [ -f stage4-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stage4-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif bfd-bootstrap + + +.PHONY: configure-stage4-opcodes maybe-configure-stage4-opcodes +.PHONY: all-stage4-opcodes maybe-all-stage4-opcodes +.PHONY: clean-stage4-opcodes maybe-clean-stage4-opcodes + +maybe-configure-stage4-opcodes: +maybe-all-stage4-opcodes: +maybe-clean-stage4-opcodes: + +@if opcodes-bootstrap +maybe-configure-stage4-opcodes: configure-stage4-opcodes +configure-stage4-opcodes: + @$(MAKE) stage4-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in opcodes ; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-opcodes: all-stage4-opcodes +all-stage4-opcodes: configure-stage4-opcodes + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-opcodes: clean-stage4-opcodes +clean-stage4-opcodes: + @[ -f opcodes/Makefile ] || [ -f stage4-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stage4-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif opcodes-bootstrap + + +.PHONY: configure-stage4-binutils maybe-configure-stage4-binutils +.PHONY: all-stage4-binutils maybe-all-stage4-binutils +.PHONY: clean-stage4-binutils maybe-clean-stage4-binutils + +maybe-configure-stage4-binutils: +maybe-all-stage4-binutils: +maybe-clean-stage4-binutils: + +@if binutils-bootstrap +maybe-configure-stage4-binutils: configure-stage4-binutils +configure-stage4-binutils: + @$(MAKE) stage4-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-binutils: all-stage4-binutils +all-stage4-binutils: configure-stage4-binutils + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-binutils: clean-stage4-binutils +clean-stage4-binutils: + @[ -f binutils/Makefile ] || [ -f stage4-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stage4-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif binutils-bootstrap + + +.PHONY: configure-stage4-gas maybe-configure-stage4-gas +.PHONY: all-stage4-gas maybe-all-stage4-gas +.PHONY: clean-stage4-gas maybe-clean-stage4-gas + +maybe-configure-stage4-gas: +maybe-all-stage4-gas: +maybe-clean-stage4-gas: + +@if gas-bootstrap +maybe-configure-stage4-gas: configure-stage4-gas +configure-stage4-gas: + @$(MAKE) stage4-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-gas: all-stage4-gas +all-stage4-gas: configure-stage4-gas + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-gas: clean-stage4-gas +clean-stage4-gas: + @[ -f gas/Makefile ] || [ -f stage4-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stage4-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif gas-bootstrap + + +.PHONY: configure-stage4-gcc maybe-configure-stage4-gcc +.PHONY: all-stage4-gcc maybe-all-stage4-gcc +.PHONY: clean-stage4-gcc maybe-clean-stage4-gcc + +maybe-configure-stage4-gcc: +maybe-all-stage4-gcc: +maybe-clean-stage4-gcc: + +@if gcc-bootstrap +maybe-configure-stage4-gcc: configure-stage4-gcc +configure-stage4-gcc: + @$(MAKE) stage4-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in gcc ; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-gcc: all-stage4-gcc +all-stage4-gcc: configure-stage4-gcc + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) + +maybe-clean-stage4-gcc: clean-stage4-gcc +clean-stage4-gcc: + @[ -f gcc/Makefile ] || [ -f stage4-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stage4-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap + + +.PHONY: configure-stage4-intl maybe-configure-stage4-intl +.PHONY: all-stage4-intl maybe-all-stage4-intl +.PHONY: clean-stage4-intl maybe-clean-stage4-intl + +maybe-configure-stage4-intl: +maybe-all-stage4-intl: +maybe-clean-stage4-intl: + +@if intl-bootstrap +maybe-configure-stage4-intl: configure-stage4-intl +configure-stage4-intl: + @$(MAKE) stage4-start + @[ -f intl/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in intl ; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-intl: all-stage4-intl +all-stage4-intl: configure-stage4-intl + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-intl: clean-stage4-intl +clean-stage4-intl: + @[ -f intl/Makefile ] || [ -f stage4-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stage4-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif intl-bootstrap + + +.PHONY: configure-stage4-ld maybe-configure-stage4-ld +.PHONY: all-stage4-ld maybe-all-stage4-ld +.PHONY: clean-stage4-ld maybe-clean-stage4-ld + +maybe-configure-stage4-ld: +maybe-all-stage4-ld: +maybe-clean-stage4-ld: + +@if ld-bootstrap +maybe-configure-stage4-ld: configure-stage4-ld +configure-stage4-ld: + @$(MAKE) stage4-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-ld: all-stage4-ld +all-stage4-ld: configure-stage4-ld + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-ld: clean-stage4-ld +clean-stage4-ld: + @[ -f ld/Makefile ] || [ -f stage4-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stage4-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif ld-bootstrap + + +.PHONY: configure-stage4-libcpp maybe-configure-stage4-libcpp +.PHONY: all-stage4-libcpp maybe-all-stage4-libcpp +.PHONY: clean-stage4-libcpp maybe-clean-stage4-libcpp + +maybe-configure-stage4-libcpp: +maybe-all-stage4-libcpp: +maybe-clean-stage4-libcpp: + +@if libcpp-bootstrap +maybe-configure-stage4-libcpp: configure-stage4-libcpp +configure-stage4-libcpp: + @$(MAKE) stage4-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-libcpp: all-stage4-libcpp +all-stage4-libcpp: configure-stage4-libcpp + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-libcpp: clean-stage4-libcpp +clean-stage4-libcpp: + @[ -f libcpp/Makefile ] || [ -f stage4-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stage4-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libcpp-bootstrap + + +.PHONY: configure-stage4-libiberty maybe-configure-stage4-libiberty +.PHONY: all-stage4-libiberty maybe-all-stage4-libiberty +.PHONY: clean-stage4-libiberty maybe-clean-stage4-libiberty + +maybe-configure-stage4-libiberty: +maybe-all-stage4-libiberty: +maybe-clean-stage4-libiberty: + +@if libiberty-bootstrap +maybe-configure-stage4-libiberty: configure-stage4-libiberty +configure-stage4-libiberty: + @$(MAKE) stage4-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-libiberty: all-stage4-libiberty +all-stage4-libiberty: configure-stage4-libiberty + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-libiberty: clean-stage4-libiberty +clean-stage4-libiberty: + @[ -f libiberty/Makefile ] || [ -f stage4-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stage4-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif libiberty-bootstrap + + +.PHONY: configure-stage4-zlib maybe-configure-stage4-zlib +.PHONY: all-stage4-zlib maybe-all-stage4-zlib +.PHONY: clean-stage4-zlib maybe-clean-stage4-zlib + +maybe-configure-stage4-zlib: +maybe-all-stage4-zlib: +maybe-clean-stage4-zlib: + +@if zlib-bootstrap +maybe-configure-stage4-zlib: configure-stage4-zlib +configure-stage4-zlib: + @$(MAKE) stage4-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage 4 in zlib ; \ + cd zlib || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stage4-zlib: all-stage4-zlib +all-stage4-zlib: configure-stage4-zlib + @$(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + + +maybe-clean-stage4-zlib: clean-stage4-zlib +clean-stage4-zlib: + @[ -f zlib/Makefile ] || [ -f stage4-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stage4-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + clean +@endif zlib-bootstrap + + + +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap + +compare3: + @if test -f stage3-lean; then \ + echo Cannot compare object files as stage 3 was deleted. ; \ + exit 0 ; \ + fi; \ + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing clean in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - clean) \ - || exit 1 + rm -f .bad_compare ; \ + cd stage4-gcc; \ + files=`find . -name "*$(objext)" -print` ; \ + cd .. ; \ + for file in $${files} ; do \ + f1=$$r/stage3-gcc/$$file; f2=$$r/stage4-gcc/$$file; \ + @do_compare@ > /dev/null 2>&1; \ + test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ + done ; \ + if [ -f .bad_compare ]; then \ + echo "Bootstrap comparison failure!"; \ + cat .bad_compare; \ + exit 1; \ + else \ + true; \ + fi ; \ + $(STAMP) compare3 + @bootstrap_lean@-rm -rf stage3-* ; $(STAMP) stage3-lean + + + +.PHONY: bootstrap4 +bootstrap4: stage4-bubble compare3 all + + +# Rules to wipe a stage and all the following ones, also used for cleanstrap +distclean-stage3:: distclean-stage4 +.PHONY: distclean-stage4 +distclean-stage4:: + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stage4-* compare3 + + +@endif gcc-bootstrap + + +.PHONY: stageprofile-start stageprofile-end + +stageprofile-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stageprofile > stage_current ; \ + echo stageprofile > stage_last +@if bfd + @[ -d stageprofile-bfd ] || mkdir stageprofile-bfd; \ + set stageprofile-bfd bfd ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stageprofile-opcodes ] || mkdir stageprofile-opcodes; \ + set stageprofile-opcodes opcodes ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stageprofile-binutils ] || mkdir stageprofile-binutils; \ + set stageprofile-binutils binutils ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stageprofile-gas ] || mkdir stageprofile-gas; \ + set stageprofile-gas gas ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stageprofile-gcc ] || mkdir stageprofile-gcc; \ + set stageprofile-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stageprofile-intl ] || mkdir stageprofile-intl; \ + set stageprofile-intl intl ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stageprofile-ld ] || mkdir stageprofile-ld; \ + set stageprofile-ld ld ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stageprofile-libcpp ] || mkdir stageprofile-libcpp; \ + set stageprofile-libcpp libcpp ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stageprofile-libiberty ] || mkdir stageprofile-libiberty; \ + set stageprofile-libiberty libiberty ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stageprofile-zlib ] || mkdir stageprofile-zlib; \ + set stageprofile-zlib zlib ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib + +stageprofile-end:: + @rm -f stage_current +@if bfd + @set bfd stageprofile-bfd ; @UNDO_LINK_TO_DIR@ ; \ + set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stageprofile-opcodes ; @UNDO_LINK_TO_DIR@ ; \ + set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stageprofile-binutils ; @UNDO_LINK_TO_DIR@ ; \ + set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stageprofile-gas ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stageprofile-gcc ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ @endif gcc +@if intl + @set intl stageprofile-intl ; @UNDO_LINK_TO_DIR@ ; \ + set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stageprofile-ld ; @UNDO_LINK_TO_DIR@ ; \ + set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stageprofile-libcpp ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stageprofile-libiberty ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stageprofile-zlib ; @UNDO_LINK_TO_DIR@ ; \ + set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib + +# Bubble a bugfix through all the stages up to stage profile. They +# are remade, but not reconfigured. The next stage (if any) will not +# be reconfigured as well. +.PHONY: stageprofile-bubble +stageprofile-bubble:: stage1-bubble + @if test -f stageprofile-lean || test -f stage1-lean ; then \ + echo Skipping rebuild of stageprofile ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stageprofile; \ + fi + +.PHONY: all-stageprofile clean-stageprofile +all-stageprofile: \ + maybe-all-stageprofile-bfd \ + maybe-all-stageprofile-opcodes \ + maybe-all-stageprofile-binutils \ + maybe-all-stageprofile-gas \ + maybe-all-stageprofile-gcc \ + maybe-all-stageprofile-intl \ + maybe-all-stageprofile-ld \ + maybe-all-stageprofile-libcpp \ + maybe-all-stageprofile-libiberty \ + maybe-all-stageprofile-zlib + +do-clean: clean-stageprofile +clean-stageprofile: \ + maybe-clean-stageprofile-bfd \ + maybe-clean-stageprofile-opcodes \ + maybe-clean-stageprofile-binutils \ + maybe-clean-stageprofile-gas \ + maybe-clean-stageprofile-gcc \ + maybe-clean-stageprofile-intl \ + maybe-clean-stageprofile-ld \ + maybe-clean-stageprofile-libcpp \ + maybe-clean-stageprofile-libiberty \ + maybe-clean-stageprofile-zlib + + +.PHONY: configure-stageprofile-bfd maybe-configure-stageprofile-bfd +.PHONY: all-stageprofile-bfd maybe-all-stageprofile-bfd +.PHONY: clean-stageprofile-bfd maybe-clean-stageprofile-bfd + +maybe-configure-stageprofile-bfd: +maybe-all-stageprofile-bfd: +maybe-clean-stageprofile-bfd: + +@if bfd-bootstrap +maybe-configure-stageprofile-bfd: configure-stageprofile-bfd +configure-stageprofile-bfd: + @$(MAKE) stageprofile-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in bfd ; \ + cd bfd || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stageprofile-bfd: all-stageprofile-bfd +all-stageprofile-bfd: configure-stageprofile-bfd + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" +maybe-clean-stageprofile-bfd: clean-stageprofile-bfd +clean-stageprofile-bfd: + @[ -f bfd/Makefile ] || [ -f stageprofile-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stageprofile-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif bfd-bootstrap -.PHONY: maybe-distclean-gcc distclean-gcc -maybe-distclean-gcc: -@if gcc -maybe-distclean-gcc: distclean-gcc -distclean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ + +.PHONY: configure-stageprofile-opcodes maybe-configure-stageprofile-opcodes +.PHONY: all-stageprofile-opcodes maybe-all-stageprofile-opcodes +.PHONY: clean-stageprofile-opcodes maybe-clean-stageprofile-opcodes + +maybe-configure-stageprofile-opcodes: +maybe-all-stageprofile-opcodes: +maybe-clean-stageprofile-opcodes: + +@if opcodes-bootstrap +maybe-configure-stageprofile-opcodes: configure-stageprofile-opcodes +configure-stageprofile-opcodes: + @$(MAKE) stageprofile-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing distclean in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - distclean) \ - || exit 1 -@endif gcc + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in opcodes ; \ + cd opcodes || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ +maybe-all-stageprofile-opcodes: all-stageprofile-opcodes +all-stageprofile-opcodes: configure-stageprofile-opcodes + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" -.PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc -maybe-maintainer-clean-gcc: -@if gcc -maybe-maintainer-clean-gcc: maintainer-clean-gcc -maintainer-clean-gcc: - @[ -f ./gcc/Makefile ] || exit 0; \ +maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes +clean-stageprofile-opcodes: + @[ -f opcodes/Makefile ] || [ -f stageprofile-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stageprofile-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif opcodes-bootstrap + + +.PHONY: configure-stageprofile-binutils maybe-configure-stageprofile-binutils +.PHONY: all-stageprofile-binutils maybe-all-stageprofile-binutils +.PHONY: clean-stageprofile-binutils maybe-clean-stageprofile-binutils + +maybe-configure-stageprofile-binutils: +maybe-all-stageprofile-binutils: +maybe-clean-stageprofile-binutils: + +@if binutils-bootstrap +maybe-configure-stageprofile-binutils: configure-stageprofile-binutils +configure-stageprofile-binutils: + @$(MAKE) stageprofile-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing maintainer-clean in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - maintainer-clean) \ - || exit 1 -@endif gcc + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stageprofile-binutils: all-stageprofile-binutils +all-stageprofile-binutils: configure-stageprofile-binutils + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" + +maybe-clean-stageprofile-binutils: clean-stageprofile-binutils +clean-stageprofile-binutils: + @[ -f binutils/Makefile ] || [ -f stageprofile-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stageprofile-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif binutils-bootstrap + + +.PHONY: configure-stageprofile-gas maybe-configure-stageprofile-gas +.PHONY: all-stageprofile-gas maybe-all-stageprofile-gas +.PHONY: clean-stageprofile-gas maybe-clean-stageprofile-gas + +maybe-configure-stageprofile-gas: +maybe-all-stageprofile-gas: +maybe-clean-stageprofile-gas: + +@if gas-bootstrap +maybe-configure-stageprofile-gas: configure-stageprofile-gas +configure-stageprofile-gas: + @$(MAKE) stageprofile-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ + +maybe-all-stageprofile-gas: all-stageprofile-gas +all-stageprofile-gas: configure-stageprofile-gas + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" + +maybe-clean-stageprofile-gas: clean-stageprofile-gas +clean-stageprofile-gas: + @[ -f gas/Makefile ] || [ -f stageprofile-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stageprofile-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif gas-bootstrap +.PHONY: configure-stageprofile-gcc maybe-configure-stageprofile-gcc +.PHONY: all-stageprofile-gcc maybe-all-stageprofile-gcc +.PHONY: clean-stageprofile-gcc maybe-clean-stageprofile-gcc + +maybe-configure-stageprofile-gcc: +maybe-all-stageprofile-gcc: +maybe-clean-stageprofile-gcc: @if gcc-bootstrap -# --------------------- -# GCC bootstrap support -# --------------------- +maybe-configure-stageprofile-gcc: configure-stageprofile-gcc +configure-stageprofile-gcc: + @$(MAKE) stageprofile-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in gcc ; \ + cd gcc || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gcc"; \ + libsrcdir="$$s/gcc";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -# We track the current stage (the one in 'gcc') in the stage_last file. -# We name the build directories for the various stages "stage1-gcc", -# "stage2-gcc","stage3-gcc", etc. +maybe-all-stageprofile-gcc: all-stageprofile-gcc +all-stageprofile-gcc: configure-stageprofile-gcc + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) -# Since the 'compare' process will fail (on debugging information) if any -# directory names are different, we need to link the gcc directory for -# the previous stage to a constant name ('gcc-prev'), and to make the name of -# the build directories constant as well. For the latter, we use naked names -# like 'gcc', because the scripts in that directory assume it. We use -# mv on platforms where symlinks to directories do not work or are not -# reliable. +maybe-clean-stageprofile-gcc: clean-stageprofile-gcc +clean-stageprofile-gcc: + @[ -f gcc/Makefile ] || [ -f stageprofile-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stageprofile-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap -# At the end of the bootstrap, a symlink to 'stage3-gcc' named 'gcc' must -# be kept, so that libraries can find it. Ick! -# It would be best to preinstall gcc into a staging area (and in the -# future, gather there all prebootstrap packages). This would allow -# assemblers and linkers can be bootstrapped as well as the compiler -# (both in a combined tree, or separately). This however requires some -# change to the gcc driver, again in order to avoid comparison failures. +.PHONY: configure-stageprofile-intl maybe-configure-stageprofile-intl +.PHONY: all-stageprofile-intl maybe-all-stageprofile-intl +.PHONY: clean-stageprofile-intl maybe-clean-stageprofile-intl + +maybe-configure-stageprofile-intl: +maybe-all-stageprofile-intl: +maybe-clean-stageprofile-intl: + +@if intl-bootstrap +maybe-configure-stageprofile-intl: configure-stageprofile-intl +configure-stageprofile-intl: + @$(MAKE) stageprofile-start + @[ -f intl/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in intl ; \ + cd intl || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -# Bugs: This is almost certainly not parallel-make safe. +maybe-all-stageprofile-intl: all-stageprofile-intl +all-stageprofile-intl: configure-stageprofile-intl + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" -# 'touch' doesn't work right on some platforms. -STAMP = echo timestamp > +maybe-clean-stageprofile-intl: clean-stageprofile-intl +clean-stageprofile-intl: + @[ -f intl/Makefile ] || [ -f stageprofile-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stageprofile-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif intl-bootstrap -# Only build the C compiler for stage1, because that is the only one that -# we can guarantee will build with the native compiler, and also it is the -# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), -# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them -# overrideable (for a bootstrap build stage1 also builds gcc.info). -STAGE1_CFLAGS=@stage1_cflags@ -STAGE1_LANGUAGES=@stage1_languages@ +.PHONY: configure-stageprofile-ld maybe-configure-stageprofile-ld +.PHONY: all-stageprofile-ld maybe-all-stageprofile-ld +.PHONY: clean-stageprofile-ld maybe-clean-stageprofile-ld + +maybe-configure-stageprofile-ld: +maybe-all-stageprofile-ld: +maybe-clean-stageprofile-ld: + +@if ld-bootstrap +maybe-configure-stageprofile-ld: configure-stageprofile-ld +configure-stageprofile-ld: + @$(MAKE) stageprofile-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -# We only want to compare .o files, so set this! -objext = .o +maybe-all-stageprofile-ld: all-stageprofile-ld +all-stageprofile-ld: configure-stageprofile-ld + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" -# Real targets act phony if they depend on phony targets; this hack -# prevents gratuitous rebuilding of stage 1. -prebootstrap: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-bootstrap - $(STAMP) prebootstrap +maybe-clean-stageprofile-ld: clean-stageprofile-ld +clean-stageprofile-ld: + @[ -f ld/Makefile ] || [ -f stageprofile-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stageprofile-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif ld-bootstrap -# Flags to pass to stage2 and later makes. -BOOT_CFLAGS= -g -O2 -POSTSTAGE1_FLAGS_TO_PASS = \ - CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ - STAGE_PREFIX=$$r/stage-gcc/ \ - CFLAGS="$(BOOT_CFLAGS)" \ - ADAC="\$$(CC)" -# For stage 1: -# * We force-disable intermodule optimizations, even if -# --enable-intermodule was passed, since the installed compiler probably -# can't handle them. Luckily, autoconf always respects -# the last argument when conflicting --enable arguments are passed. -# * Likewise, we force-disable coverage flags, since the installed compiler -# probably has never heard of them. -# * We build only C (and possibly Ada). +.PHONY: configure-stageprofile-libcpp maybe-configure-stageprofile-libcpp +.PHONY: all-stageprofile-libcpp maybe-all-stageprofile-libcpp +.PHONY: clean-stageprofile-libcpp maybe-clean-stageprofile-libcpp + +maybe-configure-stageprofile-libcpp: +maybe-all-stageprofile-libcpp: +maybe-clean-stageprofile-libcpp: + +@if libcpp-bootstrap +maybe-configure-stageprofile-libcpp: configure-stageprofile-libcpp +configure-stageprofile-libcpp: + @$(MAKE) stageprofile-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ +maybe-all-stageprofile-libcpp: all-stageprofile-libcpp +all-stageprofile-libcpp: configure-stageprofile-libcpp + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" -.PHONY: stage1-start stage1-end +maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp +clean-stageprofile-libcpp: + @[ -f libcpp/Makefile ] || [ -f stageprofile-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stageprofile-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif libcpp-bootstrap -stage1-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stage1 > stage_last ; \ - [ -d stage1-gcc ] || mkdir stage1-gcc; \ - set stage1-gcc gcc ; @CREATE_LINK_TO_DIR@ -stage1-end:: - rm -f stage_last ; \ - set gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ +.PHONY: configure-stageprofile-libiberty maybe-configure-stageprofile-libiberty +.PHONY: all-stageprofile-libiberty maybe-all-stageprofile-libiberty +.PHONY: clean-stageprofile-libiberty maybe-clean-stageprofile-libiberty + +maybe-configure-stageprofile-libiberty: +maybe-all-stageprofile-libiberty: +maybe-clean-stageprofile-libiberty: + +@if libiberty-bootstrap +maybe-configure-stageprofile-libiberty: configure-stageprofile-libiberty +configure-stageprofile-libiberty: + @$(MAKE) stageprofile-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -# Bubble a bugfix through all the stages up to stage 1. They -# are remade, but not reconfigured. The next stage (if any) will not -# be reconfigured as well. -.PHONY: stage1-bubble -stage1-bubble:: - @if [ -f all-stage1-gcc ] ; then \ - echo Remaking stage 1 ; \ - rm -f all-stage1-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage1-gcc +maybe-all-stageprofile-libiberty: all-stageprofile-libiberty +all-stageprofile-libiberty: configure-stageprofile-libiberty + @$(MAKE) stageprofile-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" +maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty +clean-stageprofile-libiberty: + @[ -f libiberty/Makefile ] || [ -f stageprofile-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stageprofile-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif libiberty-bootstrap -configure-stage1-gcc: prebootstrap - $(MAKE) stage1-start - @if [ -f stage1-gcc/Makefile ] ; then \ - $(STAMP) configure-stage1-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: configure-stageprofile-zlib maybe-configure-stageprofile-zlib +.PHONY: all-stageprofile-zlib maybe-all-stageprofile-zlib +.PHONY: clean-stageprofile-zlib maybe-clean-stageprofile-zlib + +maybe-configure-stageprofile-zlib: +maybe-all-stageprofile-zlib: +maybe-clean-stageprofile-zlib: + +@if zlib-bootstrap +maybe-configure-stageprofile-zlib: configure-stageprofile-zlib +configure-stageprofile-zlib: + @$(MAKE) stageprofile-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - echo Configuring stage 1 in gcc ; \ - cd gcc || exit 1; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage profile in zlib ; \ + cd zlib || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - --disable-intermodule --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" && \ - $(STAMP) ../configure-stage1-gcc + @stage2_werror_flag@ -all-stage1-gcc: configure-stage1-gcc - $(MAKE) stage1-start +maybe-all-stageprofile-zlib: all-stageprofile-zlib +all-stageprofile-zlib: configure-stageprofile-zlib + @$(MAKE) stageprofile-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ - CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc - + $(STAGE_HOST_EXPORTS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" +maybe-clean-stageprofile-zlib: clean-stageprofile-zlib +clean-stageprofile-zlib: + @[ -f zlib/Makefile ] || [ -f stageprofile-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stageprofile-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" clean +@endif zlib-bootstrap -.PHONY: restage1 touch-stage1 distclean-stage1 +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap -# Rules to wipe a stage and all the following ones, used for cleanstrap -distclean-stage1:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc -# Rules to renew the timestamp on a stage and all the following ones -touch-stage1:: - @[ -f configure-stage1-gcc ] && \ - echo '$(STAMP) configure-stage1-gcc' && \ - $(STAMP) configure-stage1-gcc; \ - [ -f all-stage1-gcc ] && \ - echo '$(STAMP) all-stage1-gcc' && \ - $(STAMP) all-stage1-gcc; \ - : - -# After building a stage, touch the following ones - -restage1:: - rm -rf all-stage1-gcc - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage1-gcc +# Rules to wipe a stage and all the following ones, also used for cleanstrap +distclean-stage1:: distclean-stageprofile +.PHONY: distclean-stageprofile +distclean-stageprofile:: + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stageprofile-* +@endif gcc-bootstrap -.PHONY: stage2-start stage2-end +.PHONY: stagefeedback-start stagefeedback-end -stage2-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stage2 > stage_last ; \ - [ -d stage2-gcc ] || mkdir stage2-gcc; \ - set stage2-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ +stagefeedback-start:: + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stagefeedback > stage_current ; \ + echo stagefeedback > stage_last +@if bfd + @[ -d stagefeedback-bfd ] || mkdir stagefeedback-bfd; \ + set stagefeedback-bfd bfd ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ +@endif bfd +@if opcodes + @[ -d stagefeedback-opcodes ] || mkdir stagefeedback-opcodes; \ + set stagefeedback-opcodes opcodes ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ +@endif opcodes +@if binutils + @[ -d stagefeedback-binutils ] || mkdir stagefeedback-binutils; \ + set stagefeedback-binutils binutils ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ +@endif binutils +@if gas + @[ -d stagefeedback-gas ] || mkdir stagefeedback-gas; \ + set stagefeedback-gas gas ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ +@endif gas +@if gcc + @[ -d stagefeedback-gcc ] || mkdir stagefeedback-gcc; \ + set stagefeedback-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +@endif gcc +@if intl + @[ -d stagefeedback-intl ] || mkdir stagefeedback-intl; \ + set stagefeedback-intl intl ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ +@endif intl +@if ld + @[ -d stagefeedback-ld ] || mkdir stagefeedback-ld; \ + set stagefeedback-ld ld ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ +@endif ld +@if libcpp + @[ -d stagefeedback-libcpp ] || mkdir stagefeedback-libcpp; \ + set stagefeedback-libcpp libcpp ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @[ -d stagefeedback-libiberty ] || mkdir stagefeedback-libiberty; \ + set stagefeedback-libiberty libiberty ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ +@endif libiberty +@if zlib + @[ -d stagefeedback-zlib ] || mkdir stagefeedback-zlib; \ + set stagefeedback-zlib zlib ; @CREATE_LINK_TO_DIR@ ; \ + set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ +@endif zlib -stage2-end:: - rm -f stage_last ; \ - set gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ ; \ +stagefeedback-end:: + @rm -f stage_current +@if bfd + @set bfd stagefeedback-bfd ; @UNDO_LINK_TO_DIR@ ; \ + set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ +@endif bfd +@if opcodes + @set opcodes stagefeedback-opcodes ; @UNDO_LINK_TO_DIR@ ; \ + set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ +@endif opcodes +@if binutils + @set binutils stagefeedback-binutils ; @UNDO_LINK_TO_DIR@ ; \ + set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ +@endif binutils +@if gas + @set gas stagefeedback-gas ; @UNDO_LINK_TO_DIR@ ; \ + set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ +@endif gas +@if gcc + @set gcc stagefeedback-gcc ; @UNDO_LINK_TO_DIR@ ; \ set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ +@endif gcc +@if intl + @set intl stagefeedback-intl ; @UNDO_LINK_TO_DIR@ ; \ + set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ +@endif intl +@if ld + @set ld stagefeedback-ld ; @UNDO_LINK_TO_DIR@ ; \ + set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ +@endif ld +@if libcpp + @set libcpp stagefeedback-libcpp ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ +@endif libcpp +@if libiberty + @set libiberty stagefeedback-libiberty ; @UNDO_LINK_TO_DIR@ ; \ + set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ +@endif libiberty +@if zlib + @set zlib stagefeedback-zlib ; @UNDO_LINK_TO_DIR@ ; \ + set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ +@endif zlib -# Bubble a bugfix through all the stages up to stage 2. They +# Bubble a bugfix through all the stages up to stage feedback. They # are remade, but not reconfigured. The next stage (if any) will not # be reconfigured as well. -.PHONY: stage2-bubble -stage2-bubble:: stage1-bubble - @if [ -f all-stage2-gcc ] ; then \ - echo Remaking stage 2 ; \ - rm -f all-stage2-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage2-gcc - - -stage1-bubble:: - @if [ -f configure-stage2-gcc ] ; then \ - $(STAMP) configure-stage2-gcc ; \ +.PHONY: stagefeedback-bubble +stagefeedback-bubble:: stage1-bubble + @if test -f stagefeedback-lean || test -f stage1-lean ; then \ + echo Skipping rebuild of stagefeedback ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stagefeedback; \ fi - -configure-stage2-gcc: all-stage1-gcc - $(MAKE) stage2-start - @if [ -f stage2-gcc/Makefile ] ; then \ - $(STAMP) configure-stage2-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: all-stagefeedback clean-stagefeedback +all-stagefeedback: \ + maybe-all-stagefeedback-bfd \ + maybe-all-stagefeedback-opcodes \ + maybe-all-stagefeedback-binutils \ + maybe-all-stagefeedback-gas \ + maybe-all-stagefeedback-gcc \ + maybe-all-stagefeedback-intl \ + maybe-all-stagefeedback-ld \ + maybe-all-stagefeedback-libcpp \ + maybe-all-stagefeedback-libiberty \ + maybe-all-stagefeedback-zlib + +do-clean: clean-stagefeedback +clean-stagefeedback: \ + maybe-clean-stagefeedback-bfd \ + maybe-clean-stagefeedback-opcodes \ + maybe-clean-stagefeedback-binutils \ + maybe-clean-stagefeedback-gas \ + maybe-clean-stagefeedback-gcc \ + maybe-clean-stagefeedback-intl \ + maybe-clean-stagefeedback-ld \ + maybe-clean-stagefeedback-libcpp \ + maybe-clean-stagefeedback-libiberty \ + maybe-clean-stagefeedback-zlib + + +.PHONY: configure-stagefeedback-bfd maybe-configure-stagefeedback-bfd +.PHONY: all-stagefeedback-bfd maybe-all-stagefeedback-bfd +.PHONY: clean-stagefeedback-bfd maybe-clean-stagefeedback-bfd + +maybe-configure-stagefeedback-bfd: +maybe-all-stagefeedback-bfd: +maybe-clean-stagefeedback-bfd: + +@if bfd-bootstrap +maybe-configure-stagefeedback-bfd: configure-stagefeedback-bfd +configure-stagefeedback-bfd: + @$(MAKE) stagefeedback-start + @[ -f bfd/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - echo Configuring stage 2 in gcc ; \ - cd gcc || exit 1; \ + echo Configuring stage feedback in bfd ; \ + cd bfd || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/bfd"; \ + libsrcdir="$$s/bfd";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - @stage2_werror_flag@ && \ - $(STAMP) ../configure-stage2-gcc + @stage2_werror_flag@ -all-stage2-gcc: configure-stage2-gcc - $(MAKE) stage2-start +maybe-all-stagefeedback-bfd: all-stagefeedback-bfd +all-stagefeedback-bfd: configure-stagefeedback-bfd + @$(MAKE) stagefeedback-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ $(POSTSTAGE1_FLAGS_TO_PASS) \ - && $(STAMP) ../all-stage2-gcc - - - - -.PHONY: bootstrap2 -bootstrap2: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage2-bubble \ - stage2-start all stage2-end - - -.PHONY: restage2 touch-stage2 distclean-stage2 - -# Rules to wipe a stage and all the following ones, used for cleanstrap -distclean-stage1:: distclean-stage2 -distclean-stage2:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stage2-gcc all-stage2-gcc stage2-gcc - -# Rules to renew the timestamp on a stage and all the following ones -touch-stage1:: touch-stage2 -touch-stage2:: - @[ -f configure-stage2-gcc ] && \ - echo '$(STAMP) configure-stage2-gcc' && \ - $(STAMP) configure-stage2-gcc; \ - [ -f all-stage2-gcc ] && \ - echo '$(STAMP) all-stage2-gcc' && \ - $(STAMP) all-stage2-gcc; \ - : - -# After building a stage, touch the following ones -restage1:: touch-stage2 -restage2:: - rm -rf all-stage2-gcc - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage2-gcc - - - - -.PHONY: stage3-start stage3-end - -stage3-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stage3 > stage_last ; \ - [ -d stage3-gcc ] || mkdir stage3-gcc; \ - set stage3-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ - set stage2-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ - -stage3-end:: - rm -f stage_last ; \ - set gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ ; \ - set prev-gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ - -# Bubble a bugfix through all the stages up to stage 3. They -# are remade, but not reconfigured. The next stage (if any) will not -# be reconfigured as well. -.PHONY: stage3-bubble -stage3-bubble:: stage2-bubble - @if [ -f all-stage3-gcc ] ; then \ - echo Remaking stage 3 ; \ - rm -f all-stage3-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage3-gcc + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" - -stage2-bubble:: - @if [ -f configure-stage3-gcc ] ; then \ - $(STAMP) configure-stage3-gcc ; \ - fi +maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd +clean-stagefeedback-bfd: + @[ -f bfd/Makefile ] || [ -f stagefeedback-bfd/Makefile ] \ + || exit 0 ; \ + [ -f bfd/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd bfd && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif bfd-bootstrap -configure-stage3-gcc: all-stage2-gcc - $(MAKE) stage3-start - @if [ -f stage3-gcc/Makefile ] ; then \ - $(STAMP) configure-stage3-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: configure-stagefeedback-opcodes maybe-configure-stagefeedback-opcodes +.PHONY: all-stagefeedback-opcodes maybe-all-stagefeedback-opcodes +.PHONY: clean-stagefeedback-opcodes maybe-clean-stagefeedback-opcodes + +maybe-configure-stagefeedback-opcodes: +maybe-all-stagefeedback-opcodes: +maybe-clean-stagefeedback-opcodes: + +@if opcodes-bootstrap +maybe-configure-stagefeedback-opcodes: configure-stagefeedback-opcodes +configure-stagefeedback-opcodes: + @$(MAKE) stagefeedback-start + @[ -f opcodes/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - echo Configuring stage 3 in gcc ; \ - cd gcc || exit 1; \ + echo Configuring stage feedback in opcodes ; \ + cd opcodes || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/opcodes"; \ + libsrcdir="$$s/opcodes";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - @stage2_werror_flag@ && \ - $(STAMP) ../configure-stage3-gcc + @stage2_werror_flag@ -all-stage3-gcc: configure-stage3-gcc - $(MAKE) stage3-start +maybe-all-stagefeedback-opcodes: all-stagefeedback-opcodes +all-stagefeedback-opcodes: configure-stagefeedback-opcodes + @$(MAKE) stagefeedback-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ $(POSTSTAGE1_FLAGS_TO_PASS) \ - && $(STAMP) ../all-stage3-gcc - - -compare: all-stage3-gcc - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - rm -f .bad_compare ; \ - cd stage3-gcc; \ - files=`find . -name "*$(objext)" -print` ; \ - cd .. ; \ - for file in $${files} ; do \ - f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \ - @do_compare@ > /dev/null 2>&1; \ - test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ - done ; \ - if [ -f .bad_compare ]; then \ - echo "Bootstrap comparison failure!"; \ - cat .bad_compare; \ - exit 1; \ - else \ - true; \ - fi ; \ - $(STAMP) compare - - - -.PHONY: bootstrap -bootstrap: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage3-bubble compare \ - stage3-start all stage3-end - + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" -.PHONY: restage3 touch-stage3 distclean-stage3 - -# Rules to wipe a stage and all the following ones, used for cleanstrap -distclean-stage2:: distclean-stage3 -distclean-stage3:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stage3-gcc all-stage3-gcc stage3-gcc compare - -# Rules to renew the timestamp on a stage and all the following ones -touch-stage2:: touch-stage3 -touch-stage3:: - @[ -f configure-stage3-gcc ] && \ - echo '$(STAMP) configure-stage3-gcc' && \ - $(STAMP) configure-stage3-gcc; \ - [ -f all-stage3-gcc ] && \ - echo '$(STAMP) all-stage3-gcc' && \ - $(STAMP) all-stage3-gcc; \ - : - -# After building a stage, touch the following ones -restage2:: touch-stage3 -restage3:: - rm -rf all-stage3-gcc compare - $(MAKE) $(RECURSE_FLAGS_TO_PASS) compare +maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes +clean-stagefeedback-opcodes: + @[ -f opcodes/Makefile ] || [ -f stagefeedback-opcodes/Makefile ] \ + || exit 0 ; \ + [ -f opcodes/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd opcodes && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif opcodes-bootstrap -.PHONY: cleanstrap -cleanstrap: distclean-stage1 bootstrap +.PHONY: configure-stagefeedback-binutils maybe-configure-stagefeedback-binutils +.PHONY: all-stagefeedback-binutils maybe-all-stagefeedback-binutils +.PHONY: clean-stagefeedback-binutils maybe-clean-stagefeedback-binutils + +maybe-configure-stagefeedback-binutils: +maybe-all-stagefeedback-binutils: +maybe-clean-stagefeedback-binutils: + +@if binutils-bootstrap +maybe-configure-stagefeedback-binutils: configure-stagefeedback-binutils +configure-stagefeedback-binutils: + @$(MAKE) stagefeedback-start + @[ -f binutils/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage feedback in binutils ; \ + cd binutils || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/binutils"; \ + libsrcdir="$$s/binutils";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ +maybe-all-stagefeedback-binutils: all-stagefeedback-binutils +all-stagefeedback-binutils: configure-stagefeedback-binutils + @$(MAKE) stagefeedback-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" +maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils +clean-stagefeedback-binutils: + @[ -f binutils/Makefile ] || [ -f stagefeedback-binutils/Makefile ] \ + || exit 0 ; \ + [ -f binutils/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd binutils && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif binutils-bootstrap -.PHONY: stage4-start stage4-end -stage4-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stage4 > stage_last ; \ - [ -d stage4-gcc ] || mkdir stage4-gcc; \ - set stage4-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ - set stage3-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +.PHONY: configure-stagefeedback-gas maybe-configure-stagefeedback-gas +.PHONY: all-stagefeedback-gas maybe-all-stagefeedback-gas +.PHONY: clean-stagefeedback-gas maybe-clean-stagefeedback-gas + +maybe-configure-stagefeedback-gas: +maybe-all-stagefeedback-gas: +maybe-clean-stagefeedback-gas: + +@if gas-bootstrap +maybe-configure-stagefeedback-gas: configure-stagefeedback-gas +configure-stagefeedback-gas: + @$(MAKE) stagefeedback-start + @[ -f gas/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage feedback in gas ; \ + cd gas || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/gas"; \ + libsrcdir="$$s/gas";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -stage4-end:: - rm -f stage_last ; \ - set gcc stage4-gcc ; @UNDO_LINK_TO_DIR@ ; \ - set prev-gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ +maybe-all-stagefeedback-gas: all-stagefeedback-gas +all-stagefeedback-gas: configure-stagefeedback-gas + @$(MAKE) stagefeedback-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" -# Bubble a bugfix through all the stages up to stage 4. They -# are remade, but not reconfigured. The next stage (if any) will not -# be reconfigured as well. -.PHONY: stage4-bubble -stage4-bubble:: stage3-bubble - @if [ -f all-stage4-gcc ] ; then \ - echo Remaking stage 4 ; \ - rm -f all-stage4-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage4-gcc +maybe-clean-stagefeedback-gas: clean-stagefeedback-gas +clean-stagefeedback-gas: + @[ -f gas/Makefile ] || [ -f stagefeedback-gas/Makefile ] \ + || exit 0 ; \ + [ -f gas/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd gas && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif gas-bootstrap -stage3-bubble:: - @if [ -f configure-stage4-gcc ] ; then \ - $(STAMP) configure-stage4-gcc ; \ - fi +.PHONY: configure-stagefeedback-gcc maybe-configure-stagefeedback-gcc +.PHONY: all-stagefeedback-gcc maybe-all-stagefeedback-gcc +.PHONY: clean-stagefeedback-gcc maybe-clean-stagefeedback-gcc +maybe-configure-stagefeedback-gcc: +maybe-all-stagefeedback-gcc: +maybe-clean-stagefeedback-gcc: -configure-stage4-gcc: all-stage3-gcc - $(MAKE) stage4-start - @if [ -f stage4-gcc/Makefile ] ; then \ - $(STAMP) configure-stage4-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +@if gcc-bootstrap +maybe-configure-stagefeedback-gcc: configure-stagefeedback-gcc +configure-stagefeedback-gcc: + @$(MAKE) stagefeedback-start + @[ -f gcc/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - echo Configuring stage 4 in gcc ; \ + echo Configuring stage feedback in gcc ; \ cd gcc || exit 1; \ case $(srcdir) in \ \.) \ @@ -28867,282 +31915,328 @@ configure-stage4-gcc: all-stage3-gcc esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - @stage2_werror_flag@ && \ - $(STAMP) ../configure-stage4-gcc + @stage2_werror_flag@ -all-stage4-gcc: configure-stage4-gcc - $(MAKE) stage4-start +maybe-all-stagefeedback-gcc: all-stagefeedback-gcc +all-stagefeedback-gcc: configure-stagefeedback-gcc + @$(MAKE) stagefeedback-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ + $(MAKE) $(FLAGS_TO_PASS) \ $(POSTSTAGE1_FLAGS_TO_PASS) \ - && $(STAMP) ../all-stage4-gcc - - -compare3: all-stage4-gcc - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - @r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - rm -f .bad_compare ; \ - cd stage4-gcc; \ - files=`find . -name "*$(objext)" -print` ; \ - cd .. ; \ - for file in $${files} ; do \ - f1=$$r/stage3-gcc/$$file; f2=$$r/stage4-gcc/$$file; \ - @do_compare@ > /dev/null 2>&1; \ - test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \ - done ; \ - if [ -f .bad_compare ]; then \ - echo "Bootstrap comparison failure!"; \ - cat .bad_compare; \ - exit 1; \ - else \ - true; \ - fi ; \ - $(STAMP) compare3 - - - -.PHONY: bootstrap4 -bootstrap4: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage4-bubble compare3 \ - stage4-start all stage4-end - - -.PHONY: restage4 touch-stage4 distclean-stage4 - -# Rules to wipe a stage and all the following ones, used for cleanstrap -distclean-stage3:: distclean-stage4 -distclean-stage4:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stage4-gcc all-stage4-gcc stage4-gcc compare3 - -# Rules to renew the timestamp on a stage and all the following ones -touch-stage3:: touch-stage4 -touch-stage4:: - @[ -f configure-stage4-gcc ] && \ - echo '$(STAMP) configure-stage4-gcc' && \ - $(STAMP) configure-stage4-gcc; \ - [ -f all-stage4-gcc ] && \ - echo '$(STAMP) all-stage4-gcc' && \ - $(STAMP) all-stage4-gcc; \ - : - -# After building a stage, touch the following ones -restage3:: touch-stage4 -restage4:: - rm -rf all-stage4-gcc compare3 - $(MAKE) $(RECURSE_FLAGS_TO_PASS) compare3 - - - - -.PHONY: stageprofile-start stageprofile-end - -stageprofile-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stageprofile > stage_last ; \ - [ -d stageprofile-gcc ] || mkdir stageprofile-gcc; \ - set stageprofile-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ - set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ - -stageprofile-end:: - rm -f stage_last ; \ - set gcc stageprofile-gcc ; @UNDO_LINK_TO_DIR@ ; \ - set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ - -# Bubble a bugfix through all the stages up to stage profile. They -# are remade, but not reconfigured. The next stage (if any) will not -# be reconfigured as well. -.PHONY: stageprofile-bubble -stageprofile-bubble:: stage1-bubble - @if [ -f all-stageprofile-gcc ] ; then \ - echo Remaking stage profile ; \ - rm -f all-stageprofile-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stageprofile-gcc + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) - -stage1-bubble:: - @if [ -f configure-stageprofile-gcc ] ; then \ - $(STAMP) configure-stageprofile-gcc ; \ - fi +maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc +clean-stagefeedback-gcc: + @[ -f gcc/Makefile ] || [ -f stagefeedback-gcc/Makefile ] \ + || exit 0 ; \ + [ -f gcc/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd gcc && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) clean +@endif gcc-bootstrap -configure-stageprofile-gcc: all-stage1-gcc - $(MAKE) stageprofile-start - @if [ -f stageprofile-gcc/Makefile ] ; then \ - $(STAMP) configure-stageprofile-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: configure-stagefeedback-intl maybe-configure-stagefeedback-intl +.PHONY: all-stagefeedback-intl maybe-all-stagefeedback-intl +.PHONY: clean-stagefeedback-intl maybe-clean-stagefeedback-intl + +maybe-configure-stagefeedback-intl: +maybe-all-stagefeedback-intl: +maybe-clean-stagefeedback-intl: + +@if intl-bootstrap +maybe-configure-stagefeedback-intl: configure-stagefeedback-intl +configure-stagefeedback-intl: + @$(MAKE) stagefeedback-start + @[ -f intl/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - echo Configuring stage profile in gcc ; \ - cd gcc || exit 1; \ + echo Configuring stage feedback in intl ; \ + cd intl || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/intl"; \ + libsrcdir="$$s/intl";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - @stage2_werror_flag@ && \ - $(STAMP) ../configure-stageprofile-gcc + @stage2_werror_flag@ -all-stageprofile-gcc: configure-stageprofile-gcc - $(MAKE) stageprofile-start +maybe-all-stagefeedback-intl: all-stagefeedback-intl +all-stagefeedback-intl: configure-stagefeedback-intl + @$(MAKE) stagefeedback-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ $(POSTSTAGE1_FLAGS_TO_PASS) \ - CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" && $(STAMP) ../all-stageprofile-gcc - - - + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" +maybe-clean-stagefeedback-intl: clean-stagefeedback-intl +clean-stagefeedback-intl: + @[ -f intl/Makefile ] || [ -f stagefeedback-intl/Makefile ] \ + || exit 0 ; \ + [ -f intl/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd intl && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif intl-bootstrap -.PHONY: restageprofile touch-stageprofile distclean-stageprofile -# Rules to wipe a stage and all the following ones, used for cleanstrap -distclean-stage1:: distclean-stageprofile -distclean-stageprofile:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stageprofile-gcc all-stageprofile-gcc stageprofile-gcc +.PHONY: configure-stagefeedback-ld maybe-configure-stagefeedback-ld +.PHONY: all-stagefeedback-ld maybe-all-stagefeedback-ld +.PHONY: clean-stagefeedback-ld maybe-clean-stagefeedback-ld + +maybe-configure-stagefeedback-ld: +maybe-all-stagefeedback-ld: +maybe-clean-stagefeedback-ld: + +@if ld-bootstrap +maybe-configure-stagefeedback-ld: configure-stagefeedback-ld +configure-stagefeedback-ld: + @$(MAKE) stagefeedback-start + @[ -f ld/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage feedback in ld ; \ + cd ld || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/ld"; \ + libsrcdir="$$s/ld";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -# Rules to renew the timestamp on a stage and all the following ones -touch-stage1:: touch-stageprofile -touch-stageprofile:: - @[ -f configure-stageprofile-gcc ] && \ - echo '$(STAMP) configure-stageprofile-gcc' && \ - $(STAMP) configure-stageprofile-gcc; \ - [ -f all-stageprofile-gcc ] && \ - echo '$(STAMP) all-stageprofile-gcc' && \ - $(STAMP) all-stageprofile-gcc; \ - : - -# After building a stage, touch the following ones -restage1:: touch-stageprofile -restageprofile:: - rm -rf all-stageprofile-gcc - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stageprofile-gcc +maybe-all-stagefeedback-ld: all-stagefeedback-ld +all-stagefeedback-ld: configure-stagefeedback-ld + @$(MAKE) stagefeedback-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" +maybe-clean-stagefeedback-ld: clean-stagefeedback-ld +clean-stagefeedback-ld: + @[ -f ld/Makefile ] || [ -f stagefeedback-ld/Makefile ] \ + || exit 0 ; \ + [ -f ld/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd ld && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif ld-bootstrap +.PHONY: configure-stagefeedback-libcpp maybe-configure-stagefeedback-libcpp +.PHONY: all-stagefeedback-libcpp maybe-all-stagefeedback-libcpp +.PHONY: clean-stagefeedback-libcpp maybe-clean-stagefeedback-libcpp + +maybe-configure-stagefeedback-libcpp: +maybe-all-stagefeedback-libcpp: +maybe-clean-stagefeedback-libcpp: + +@if libcpp-bootstrap +maybe-configure-stagefeedback-libcpp: configure-stagefeedback-libcpp +configure-stagefeedback-libcpp: + @$(MAKE) stagefeedback-start + @[ -f libcpp/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage feedback in libcpp ; \ + cd libcpp || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libcpp"; \ + libsrcdir="$$s/libcpp";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ -.PHONY: stagefeedback-start stagefeedback-end +maybe-all-stagefeedback-libcpp: all-stagefeedback-libcpp +all-stagefeedback-libcpp: configure-stagefeedback-libcpp + @$(MAKE) stagefeedback-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" -stagefeedback-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stagefeedback > stage_last ; \ - [ -d stagefeedback-gcc ] || mkdir stagefeedback-gcc; \ - set stagefeedback-gcc gcc ; @CREATE_LINK_TO_DIR@ ; \ - set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ +maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp +clean-stagefeedback-libcpp: + @[ -f libcpp/Makefile ] || [ -f stagefeedback-libcpp/Makefile ] \ + || exit 0 ; \ + [ -f libcpp/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd libcpp && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif libcpp-bootstrap -stagefeedback-end:: - rm -f stage_last ; \ - set gcc stagefeedback-gcc ; @UNDO_LINK_TO_DIR@ ; \ - set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ -# Bubble a bugfix through all the stages up to stage feedback. They -# are remade, but not reconfigured. The next stage (if any) will not -# be reconfigured as well. -.PHONY: stagefeedback-bubble -stagefeedback-bubble:: stage1-bubble - @if [ -f all-stagefeedback-gcc ] ; then \ - echo Remaking stage feedback ; \ - rm -f all-stagefeedback-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stagefeedback-gcc +.PHONY: configure-stagefeedback-libiberty maybe-configure-stagefeedback-libiberty +.PHONY: all-stagefeedback-libiberty maybe-all-stagefeedback-libiberty +.PHONY: clean-stagefeedback-libiberty maybe-clean-stagefeedback-libiberty + +maybe-configure-stagefeedback-libiberty: +maybe-all-stagefeedback-libiberty: +maybe-clean-stagefeedback-libiberty: + +@if libiberty-bootstrap +maybe-configure-stagefeedback-libiberty: configure-stagefeedback-libiberty +configure-stagefeedback-libiberty: + @$(MAKE) stagefeedback-start + @[ -f libiberty/Makefile ] && exit 0 || : ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + echo Configuring stage feedback in libiberty ; \ + cd libiberty || exit 1; \ + case $(srcdir) in \ + \.) \ + srcdiroption="--srcdir=."; \ + libsrcdir=".";; \ + /* | [A-Za-z]:[\\/]*) \ + srcdiroption="--srcdir=$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + *) \ + srcdiroption="--srcdir=../$(srcdir)/libiberty"; \ + libsrcdir="$$s/libiberty";; \ + esac; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) $${srcdiroption} \ + @stage2_werror_flag@ +maybe-all-stagefeedback-libiberty: all-stagefeedback-libiberty +all-stagefeedback-libiberty: configure-stagefeedback-libiberty + @$(MAKE) stagefeedback-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(STAGE_HOST_EXPORTS) \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" -stage1-bubble:: - @if [ -f configure-stagefeedback-gcc ] ; then \ - $(STAMP) configure-stagefeedback-gcc ; \ - fi +maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty +clean-stagefeedback-libiberty: + @[ -f libiberty/Makefile ] || [ -f stagefeedback-libiberty/Makefile ] \ + || exit 0 ; \ + [ -f libiberty/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd libiberty && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif libiberty-bootstrap -configure-stagefeedback-gcc: all-stage1-gcc - $(MAKE) stagefeedback-start - @if [ -f stagefeedback-gcc/Makefile ] ; then \ - $(STAMP) configure-stagefeedback-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: configure-stagefeedback-zlib maybe-configure-stagefeedback-zlib +.PHONY: all-stagefeedback-zlib maybe-all-stagefeedback-zlib +.PHONY: clean-stagefeedback-zlib maybe-clean-stagefeedback-zlib + +maybe-configure-stagefeedback-zlib: +maybe-all-stagefeedback-zlib: +maybe-clean-stagefeedback-zlib: + +@if zlib-bootstrap +maybe-configure-stagefeedback-zlib: configure-stagefeedback-zlib +configure-stagefeedback-zlib: + @$(MAKE) stagefeedback-start + @[ -f zlib/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - echo Configuring stage feedback in gcc ; \ - cd gcc || exit 1; \ + echo Configuring stage feedback in zlib ; \ + cd zlib || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/zlib"; \ + libsrcdir="$$s/zlib";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - @stage2_werror_flag@ && \ - $(STAMP) ../configure-stagefeedback-gcc + @stage2_werror_flag@ -all-stagefeedback-gcc: configure-stagefeedback-gcc - $(MAKE) stagefeedback-start +maybe-all-stagefeedback-zlib: all-stagefeedback-zlib +all-stagefeedback-zlib: configure-stagefeedback-zlib + @$(MAKE) stagefeedback-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(STAGE_HOST_EXPORTS) \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ $(POSTSTAGE1_FLAGS_TO_PASS) \ - CFLAGS="$(BOOT_CFLAGS) -fprofile-use" && $(STAMP) ../all-stagefeedback-gcc + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" + +maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib +clean-stagefeedback-zlib: + @[ -f zlib/Makefile ] || [ -f stagefeedback-zlib/Makefile ] \ + || exit 0 ; \ + [ -f zlib/Makefile ] || $(MAKE) stagefeedback-start ; \ + cd zlib && \ + $(MAKE) $(FLAGS_TO_PASS) \ + $(POSTSTAGE1_FLAGS_TO_PASS) \ + CFLAGS="$(BOOT_CFLAGS) -fprofile-use" clean +@endif zlib-bootstrap +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap + -.PHONY: restagefeedback touch-stagefeedback distclean-stagefeedback -# Rules to wipe a stage and all the following ones, used for cleanstrap +# Rules to wipe a stage and all the following ones, also used for cleanstrap distclean-stage1:: distclean-stagefeedback +.PHONY: distclean-stagefeedback distclean-stagefeedback:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stagefeedback-gcc all-stagefeedback-gcc stagefeedback-gcc - -# Rules to renew the timestamp on a stage and all the following ones -touch-stage1:: touch-stagefeedback -touch-stagefeedback:: - @[ -f configure-stagefeedback-gcc ] && \ - echo '$(STAMP) configure-stagefeedback-gcc' && \ - $(STAMP) configure-stagefeedback-gcc; \ - [ -f all-stagefeedback-gcc ] && \ - echo '$(STAMP) all-stagefeedback-gcc' && \ - $(STAMP) all-stagefeedback-gcc; \ - : - -# After building a stage, touch the following ones -restage1:: touch-stagefeedback -restagefeedback:: - rm -rf all-stagefeedback-gcc - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stagefeedback-gcc + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stagefeedback-* +@endif gcc-bootstrap @@ -29153,13 +32247,16 @@ stagefeedback-start:: { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../gcc/&",' | $(SHELL); } && \ { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../gcc/&",' | $(SHELL); } -profiledbootstrap: all-bootstrap configure-gcc +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap +profiledbootstrap: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ echo "Bootstrapping the compiler"; \ - $(MAKE) stageprofile-bubble distclean-stagefeedback stageprofile-start + $(MAKE) stageprofile-bubble distclean-stagefeedback @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ $(SET_LIB_PATH) \ @@ -29171,134 +32268,612 @@ profiledbootstrap: all-bootstrap configu $(HOST_EXPORTS) \ echo "Building feedback based compiler"; \ $(MAKE) stagefeedback-bubble stagefeedback-end +@endif gcc-bootstrap +@if gcc-bootstrap +NOTPARALLEL = .NOTPARALLEL +$(NOTPARALLEL): +do-distclean: distclean-stage1 @endif gcc-bootstrap # -------------------------------------- # Dependencies between different modules # -------------------------------------- +# Generic dependencies for target modules on host stuff, especially gcc + +configure-target-libstdc++-v3: maybe-all-gcc + +configure-target-libmudflap: maybe-all-gcc + +configure-target-newlib: maybe-all-gcc + +configure-target-libgfortran: maybe-all-gcc + +configure-target-libobjc: maybe-all-gcc + +configure-target-libtermcap: maybe-all-gcc + +configure-target-winsup: maybe-all-gcc + +configure-target-libgloss: maybe-all-gcc + +configure-target-libiberty: maybe-all-gcc + +configure-target-gperf: maybe-all-gcc + +configure-target-examples: maybe-all-gcc + +configure-target-libffi: maybe-all-gcc + +configure-target-libjava: maybe-all-gcc + +configure-target-zlib: maybe-all-gcc + +configure-target-boehm-gc: maybe-all-gcc + +configure-target-qthreads: maybe-all-gcc + +configure-target-rda: maybe-all-gcc + +configure-target-libada: maybe-all-gcc + + + +configure-target-boehm-gc: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-gperf: maybe-all-target-libstdc++-v3 + +configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libjava: maybe-all-target-libstdc++-v3 + +configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-examples: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-rda: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss + +configure-target-qthreads: maybe-all-target-newlib maybe-all-target-libgloss + + # There are two types of dependencies here: 'hard' dependencies, where one # module simply won't build without the other; and 'soft' dependencies, where # if the depended-on module is missing, the depending module will do without # or find a substitute somewhere (perhaps installed). Soft dependencies -# are specified by depending on a 'maybe-' target. If you're not sure, +# are made here to depend on a 'maybe-' target. If you're not sure, # it's safer to use a soft dependency. -# Build modules + + + + +# With all the machinery above in place, it is pretty easy to generate +# dependencies. Host dependencies are a bit more complex because we have +# to check for bootstrap/prebootstrap dependencies. To resolve +# prebootstrap dependencies, prebootstrap modules are gathered in +# a hash table. all-build-bison: maybe-all-build-texinfo +all-build-byacc: maybe-all-build-texinfo all-build-flex: maybe-all-build-texinfo +all-build-flex: maybe-all-build-bison +all-build-flex: maybe-all-build-byacc +all-build-flex: maybe-all-build-m4 all-build-libiberty: maybe-all-build-texinfo -all-build-m4: maybe-all-build-libiberty maybe-all-build-texinfo - -# Host modules specific to gcc. -# GCC needs to identify certain tools. -# GCC also needs the information exported by the intl configure script. -configure-gcc: maybe-configure-intl maybe-configure-binutils maybe-configure-gas maybe-configure-ld maybe-configure-bison maybe-configure-flex -all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib maybe-all-libbanshee maybe-all-libcpp -configure-libcpp: maybe-configure-libiberty maybe-configure-intl -all-libcpp: maybe-all-libiberty maybe-all-intl -# This is a slightly kludgy method of getting dependencies on -# all-build-libiberty correct; it would be better to build it every time. +all-build-m4: maybe-all-build-texinfo +all-build-fixincludes: maybe-all-build-libiberty +configure-gcc: maybe-configure-intl + +configure-stage1-gcc: maybe-configure-stage1-intl +configure-stage2-gcc: maybe-configure-stage2-intl +configure-stage3-gcc: maybe-configure-stage3-intl +configure-stage4-gcc: maybe-configure-stage4-intl +configure-stageprofile-gcc: maybe-configure-stageprofile-intl +configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl +configure-gcc: maybe-configure-binutils + +configure-stage1-gcc: maybe-configure-stage1-binutils +configure-stage2-gcc: maybe-configure-stage2-binutils +configure-stage3-gcc: maybe-configure-stage3-binutils +configure-stage4-gcc: maybe-configure-stage4-binutils +configure-stageprofile-gcc: maybe-configure-stageprofile-binutils +configure-stagefeedback-gcc: maybe-configure-stagefeedback-binutils +configure-gcc: maybe-configure-gas + +configure-stage1-gcc: maybe-configure-stage1-gas +configure-stage2-gcc: maybe-configure-stage2-gas +configure-stage3-gcc: maybe-configure-stage3-gas +configure-stage4-gcc: maybe-configure-stage4-gas +configure-stageprofile-gcc: maybe-configure-stageprofile-gas +configure-stagefeedback-gcc: maybe-configure-stagefeedback-gas +configure-gcc: maybe-configure-ld + +configure-stage1-gcc: maybe-configure-stage1-ld +configure-stage2-gcc: maybe-configure-stage2-ld +configure-stage3-gcc: maybe-configure-stage3-ld +configure-stage4-gcc: maybe-configure-stage4-ld +configure-stageprofile-gcc: maybe-configure-stageprofile-ld +configure-stagefeedback-gcc: maybe-configure-stagefeedback-ld +all-gcc: all-libiberty + +all-stage1-gcc: all-stage1-libiberty +all-stage2-gcc: all-stage2-libiberty +all-stage3-gcc: all-stage3-libiberty +all-stage4-gcc: all-stage4-libiberty +all-stageprofile-gcc: all-stageprofile-libiberty +all-stagefeedback-gcc: all-stagefeedback-libiberty +all-gcc: maybe-all-intl + +all-stage1-gcc: maybe-all-stage1-intl +all-stage2-gcc: maybe-all-stage2-intl +all-stage3-gcc: maybe-all-stage3-intl +all-stage4-gcc: maybe-all-stage4-intl +all-stageprofile-gcc: maybe-all-stageprofile-intl +all-stagefeedback-gcc: maybe-all-stagefeedback-intl +all-gcc: maybe-all-build-texinfo + +all-stage1-gcc: maybe-all-build-texinfo +all-stage2-gcc: maybe-all-build-texinfo +all-stage3-gcc: maybe-all-build-texinfo +all-stage4-gcc: maybe-all-build-texinfo +all-stageprofile-gcc: maybe-all-build-texinfo +all-stagefeedback-gcc: maybe-all-build-texinfo +all-prebootstrap: maybe-all-build-texinfo +all-gcc: maybe-all-build-bison + +all-stage1-gcc: maybe-all-build-bison +all-stage2-gcc: maybe-all-build-bison +all-stage3-gcc: maybe-all-build-bison +all-stage4-gcc: maybe-all-build-bison +all-stageprofile-gcc: maybe-all-build-bison +all-stagefeedback-gcc: maybe-all-build-bison +all-prebootstrap: maybe-all-build-bison +all-gcc: maybe-all-build-byacc + +all-stage1-gcc: maybe-all-build-byacc +all-stage2-gcc: maybe-all-build-byacc +all-stage3-gcc: maybe-all-build-byacc +all-stage4-gcc: maybe-all-build-byacc +all-stageprofile-gcc: maybe-all-build-byacc +all-stagefeedback-gcc: maybe-all-build-byacc +all-prebootstrap: maybe-all-build-byacc +all-gcc: maybe-all-build-flex + +all-stage1-gcc: maybe-all-build-flex +all-stage2-gcc: maybe-all-build-flex +all-stage3-gcc: maybe-all-build-flex +all-stage4-gcc: maybe-all-build-flex +all-stageprofile-gcc: maybe-all-build-flex +all-stagefeedback-gcc: maybe-all-build-flex +all-prebootstrap: maybe-all-build-flex all-gcc: maybe-all-build-libiberty -all-bootstrap: maybe-all-binutils maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-gas maybe-all-intl maybe-all-ld maybe-all-libcpp maybe-all-libbanshee maybe-all-libiberty maybe-all-texinfo maybe-all-zlib -# Host modules specific to gdb. -# GDB needs to know that the simulator is being built. -configure-gdb: maybe-configure-itcl maybe-configure-tcl maybe-configure-tk maybe-configure-sim -GDB_TK = @GDB_TK@ -all-gdb: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-mmalloc maybe-all-readline maybe-all-bison maybe-all-byacc maybe-all-sim $(gdbnlmrequirements) $(GDB_TK) -install-gdb: maybe-install-tcl maybe-install-tk maybe-install-itcl maybe-install-tix maybe-install-libgui -configure-libgui: maybe-configure-tcl maybe-configure-tk -all-libgui: maybe-all-tcl maybe-all-tk maybe-all-itcl +all-stage1-gcc: maybe-all-build-libiberty +all-stage2-gcc: maybe-all-build-libiberty +all-stage3-gcc: maybe-all-build-libiberty +all-stage4-gcc: maybe-all-build-libiberty +all-stageprofile-gcc: maybe-all-build-libiberty +all-stagefeedback-gcc: maybe-all-build-libiberty +all-prebootstrap: maybe-all-build-libiberty +all-gcc: maybe-all-build-fixincludes + +all-stage1-gcc: maybe-all-build-fixincludes +all-stage2-gcc: maybe-all-build-fixincludes +all-stage3-gcc: maybe-all-build-fixincludes +all-stage4-gcc: maybe-all-build-fixincludes +all-stageprofile-gcc: maybe-all-build-fixincludes +all-stagefeedback-gcc: maybe-all-build-fixincludes +all-prebootstrap: maybe-all-build-fixincludes +all-gcc: maybe-all-binutils + +all-stage1-gcc: maybe-all-stage1-binutils +all-stage2-gcc: maybe-all-stage2-binutils +all-stage3-gcc: maybe-all-stage3-binutils +all-stage4-gcc: maybe-all-stage4-binutils +all-stageprofile-gcc: maybe-all-stageprofile-binutils +all-stagefeedback-gcc: maybe-all-stagefeedback-binutils +all-gcc: maybe-all-gas + +all-stage1-gcc: maybe-all-stage1-gas +all-stage2-gcc: maybe-all-stage2-gas +all-stage3-gcc: maybe-all-stage3-gas +all-stage4-gcc: maybe-all-stage4-gas +all-stageprofile-gcc: maybe-all-stageprofile-gas +all-stagefeedback-gcc: maybe-all-stagefeedback-gas +all-gcc: maybe-all-ld + +all-stage1-gcc: maybe-all-stage1-ld +all-stage2-gcc: maybe-all-stage2-ld +all-stage3-gcc: maybe-all-stage3-ld +all-stage4-gcc: maybe-all-stage4-ld +all-stageprofile-gcc: maybe-all-stageprofile-ld +all-stagefeedback-gcc: maybe-all-stagefeedback-ld +all-gcc: maybe-all-zlib + +all-stage1-gcc: maybe-all-stage1-zlib +all-stage2-gcc: maybe-all-stage2-zlib +all-stage3-gcc: maybe-all-stage3-zlib +all-stage4-gcc: maybe-all-stage4-zlib +all-stageprofile-gcc: maybe-all-stageprofile-zlib +all-stagefeedback-gcc: maybe-all-stagefeedback-zlib +all-gcc: all-libcpp + +all-stage1-gcc: all-stage1-libcpp +all-stage2-gcc: all-stage2-libcpp +all-stage3-gcc: all-stage3-libcpp +all-stage4-gcc: all-stage4-libcpp +all-stageprofile-gcc: all-stageprofile-libcpp +all-stagefeedback-gcc: all-stagefeedback-libcpp +all-gcc: maybe-all-build-libiberty -# Host modules specific to binutils. +all-stage1-gcc: maybe-all-build-libiberty +all-stage2-gcc: maybe-all-build-libiberty +all-stage3-gcc: maybe-all-build-libiberty +all-stage4-gcc: maybe-all-build-libiberty +all-stageprofile-gcc: maybe-all-build-libiberty +all-stagefeedback-gcc: maybe-all-build-libiberty +all-prebootstrap: maybe-all-build-libiberty +configure-libcpp: configure-libiberty + +configure-stage1-libcpp: configure-stage1-libiberty +configure-stage2-libcpp: configure-stage2-libiberty +configure-stage3-libcpp: configure-stage3-libiberty +configure-stage4-libcpp: configure-stage4-libiberty +configure-stageprofile-libcpp: configure-stageprofile-libiberty +configure-stagefeedback-libcpp: configure-stagefeedback-libiberty +configure-libcpp: maybe-configure-intl + +configure-stage1-libcpp: maybe-configure-stage1-intl +configure-stage2-libcpp: maybe-configure-stage2-intl +configure-stage3-libcpp: maybe-configure-stage3-intl +configure-stage4-libcpp: maybe-configure-stage4-intl +configure-stageprofile-libcpp: maybe-configure-stageprofile-intl +configure-stagefeedback-libcpp: maybe-configure-stagefeedback-intl +all-libcpp: all-libiberty + +all-stage1-libcpp: all-stage1-libiberty +all-stage2-libcpp: all-stage2-libiberty +all-stage3-libcpp: all-stage3-libiberty +all-stage4-libcpp: all-stage4-libiberty +all-stageprofile-libcpp: all-stageprofile-libiberty +all-stagefeedback-libcpp: all-stagefeedback-libiberty +all-libcpp: maybe-all-intl + +all-stage1-libcpp: maybe-all-stage1-intl +all-stage2-libcpp: maybe-all-stage2-intl +all-stage3-libcpp: maybe-all-stage3-intl +all-stage4-libcpp: maybe-all-stage4-intl +all-stageprofile-libcpp: maybe-all-stageprofile-intl +all-stagefeedback-libcpp: maybe-all-stagefeedback-intl +configure-gdb: maybe-configure-itcl +configure-gdb: maybe-configure-tcl +configure-gdb: maybe-configure-tk +configure-gdb: maybe-configure-sim +all-gdb: maybe-all-libiberty +all-gdb: maybe-all-opcodes +all-gdb: maybe-all-bfd +all-gdb: maybe-all-readline +all-gdb: maybe-all-build-bison +all-gdb: maybe-all-build-byacc +all-gdb: maybe-all-sim +install-gdb: maybe-install-tcl +install-gdb: maybe-install-tk +install-gdb: maybe-install-itcl +install-gdb: maybe-install-libgui +configure-libgui: maybe-configure-tcl +configure-libgui: maybe-configure-tk +all-libgui: maybe-all-tcl +all-libgui: maybe-all-tk +all-libgui: maybe-all-itcl configure-bfd: configure-libiberty -all-bfd: maybe-all-libiberty maybe-all-intl -all-binutils: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-flex maybe-all-bison maybe-all-byacc maybe-all-intl -# We put install-opcodes before install-binutils because the installed -# binutils might be on PATH, and they might need the shared opcodes -# library. + +configure-stage1-bfd: configure-stage1-libiberty +configure-stage2-bfd: configure-stage2-libiberty +configure-stage3-bfd: configure-stage3-libiberty +configure-stage4-bfd: configure-stage4-libiberty +configure-stageprofile-bfd: configure-stageprofile-libiberty +configure-stagefeedback-bfd: configure-stagefeedback-libiberty +all-bfd: maybe-all-libiberty + +all-stage1-bfd: maybe-all-stage1-libiberty +all-stage2-bfd: maybe-all-stage2-libiberty +all-stage3-bfd: maybe-all-stage3-libiberty +all-stage4-bfd: maybe-all-stage4-libiberty +all-stageprofile-bfd: maybe-all-stageprofile-libiberty +all-stagefeedback-bfd: maybe-all-stagefeedback-libiberty +all-bfd: maybe-all-intl + +all-stage1-bfd: maybe-all-stage1-intl +all-stage2-bfd: maybe-all-stage2-intl +all-stage3-bfd: maybe-all-stage3-intl +all-stage4-bfd: maybe-all-stage4-intl +all-stageprofile-bfd: maybe-all-stageprofile-intl +all-stagefeedback-bfd: maybe-all-stagefeedback-intl +all-binutils: maybe-all-libiberty + +all-stage1-binutils: maybe-all-stage1-libiberty +all-stage2-binutils: maybe-all-stage2-libiberty +all-stage3-binutils: maybe-all-stage3-libiberty +all-stage4-binutils: maybe-all-stage4-libiberty +all-stageprofile-binutils: maybe-all-stageprofile-libiberty +all-stagefeedback-binutils: maybe-all-stagefeedback-libiberty +all-binutils: maybe-all-opcodes + +all-stage1-binutils: maybe-all-stage1-opcodes +all-stage2-binutils: maybe-all-stage2-opcodes +all-stage3-binutils: maybe-all-stage3-opcodes +all-stage4-binutils: maybe-all-stage4-opcodes +all-stageprofile-binutils: maybe-all-stageprofile-opcodes +all-stagefeedback-binutils: maybe-all-stagefeedback-opcodes +all-binutils: maybe-all-bfd + +all-stage1-binutils: maybe-all-stage1-bfd +all-stage2-binutils: maybe-all-stage2-bfd +all-stage3-binutils: maybe-all-stage3-bfd +all-stage4-binutils: maybe-all-stage4-bfd +all-stageprofile-binutils: maybe-all-stageprofile-bfd +all-stagefeedback-binutils: maybe-all-stagefeedback-bfd +all-binutils: maybe-all-build-flex + +all-stage1-binutils: maybe-all-build-flex +all-stage2-binutils: maybe-all-build-flex +all-stage3-binutils: maybe-all-build-flex +all-stage4-binutils: maybe-all-build-flex +all-stageprofile-binutils: maybe-all-build-flex +all-stagefeedback-binutils: maybe-all-build-flex +all-prebootstrap: maybe-all-build-flex +all-binutils: maybe-all-build-bison + +all-stage1-binutils: maybe-all-build-bison +all-stage2-binutils: maybe-all-build-bison +all-stage3-binutils: maybe-all-build-bison +all-stage4-binutils: maybe-all-build-bison +all-stageprofile-binutils: maybe-all-build-bison +all-stagefeedback-binutils: maybe-all-build-bison +all-prebootstrap: maybe-all-build-bison +all-binutils: maybe-all-build-byacc + +all-stage1-binutils: maybe-all-build-byacc +all-stage2-binutils: maybe-all-build-byacc +all-stage3-binutils: maybe-all-build-byacc +all-stage4-binutils: maybe-all-build-byacc +all-stageprofile-binutils: maybe-all-build-byacc +all-stagefeedback-binutils: maybe-all-build-byacc +all-prebootstrap: maybe-all-build-byacc +all-binutils: maybe-all-intl + +all-stage1-binutils: maybe-all-stage1-intl +all-stage2-binutils: maybe-all-stage2-intl +all-stage3-binutils: maybe-all-stage3-intl +all-stage4-binutils: maybe-all-stage4-intl +all-stageprofile-binutils: maybe-all-stageprofile-intl +all-stagefeedback-binutils: maybe-all-stagefeedback-intl install-binutils: maybe-install-opcodes -# libopcodes depends on libbfd install-opcodes: maybe-install-bfd -all-gas: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-intl -all-gprof: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-intl -all-ld: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-intl -all-opcodes: maybe-all-bfd maybe-all-libiberty - -# Other host modules in the 'src' repository. -all-dejagnu: maybe-all-tcl maybe-all-expect maybe-all-tk -configure-expect: maybe-configure-tcl maybe-configure-tk -all-expect: maybe-all-tcl maybe-all-tk -configure-itcl: maybe-configure-tcl maybe-configure-tk -all-itcl: maybe-all-tcl maybe-all-tk -# We put install-tcl before install-itcl because itcl wants to run a -# program on installation which uses the Tcl libraries. +all-gas: maybe-all-libiberty + +all-stage1-gas: maybe-all-stage1-libiberty +all-stage2-gas: maybe-all-stage2-libiberty +all-stage3-gas: maybe-all-stage3-libiberty +all-stage4-gas: maybe-all-stage4-libiberty +all-stageprofile-gas: maybe-all-stageprofile-libiberty +all-stagefeedback-gas: maybe-all-stagefeedback-libiberty +all-gas: maybe-all-opcodes + +all-stage1-gas: maybe-all-stage1-opcodes +all-stage2-gas: maybe-all-stage2-opcodes +all-stage3-gas: maybe-all-stage3-opcodes +all-stage4-gas: maybe-all-stage4-opcodes +all-stageprofile-gas: maybe-all-stageprofile-opcodes +all-stagefeedback-gas: maybe-all-stagefeedback-opcodes +all-gas: maybe-all-bfd + +all-stage1-gas: maybe-all-stage1-bfd +all-stage2-gas: maybe-all-stage2-bfd +all-stage3-gas: maybe-all-stage3-bfd +all-stage4-gas: maybe-all-stage4-bfd +all-stageprofile-gas: maybe-all-stageprofile-bfd +all-stagefeedback-gas: maybe-all-stagefeedback-bfd +all-gas: maybe-all-intl + +all-stage1-gas: maybe-all-stage1-intl +all-stage2-gas: maybe-all-stage2-intl +all-stage3-gas: maybe-all-stage3-intl +all-stage4-gas: maybe-all-stage4-intl +all-stageprofile-gas: maybe-all-stageprofile-intl +all-stagefeedback-gas: maybe-all-stagefeedback-intl +all-gprof: maybe-all-libiberty +all-gprof: maybe-all-bfd +all-gprof: maybe-all-opcodes +all-gprof: maybe-all-intl +all-ld: maybe-all-libiberty + +all-stage1-ld: maybe-all-stage1-libiberty +all-stage2-ld: maybe-all-stage2-libiberty +all-stage3-ld: maybe-all-stage3-libiberty +all-stage4-ld: maybe-all-stage4-libiberty +all-stageprofile-ld: maybe-all-stageprofile-libiberty +all-stagefeedback-ld: maybe-all-stagefeedback-libiberty +all-ld: maybe-all-bfd + +all-stage1-ld: maybe-all-stage1-bfd +all-stage2-ld: maybe-all-stage2-bfd +all-stage3-ld: maybe-all-stage3-bfd +all-stage4-ld: maybe-all-stage4-bfd +all-stageprofile-ld: maybe-all-stageprofile-bfd +all-stagefeedback-ld: maybe-all-stagefeedback-bfd +all-ld: maybe-all-opcodes + +all-stage1-ld: maybe-all-stage1-opcodes +all-stage2-ld: maybe-all-stage2-opcodes +all-stage3-ld: maybe-all-stage3-opcodes +all-stage4-ld: maybe-all-stage4-opcodes +all-stageprofile-ld: maybe-all-stageprofile-opcodes +all-stagefeedback-ld: maybe-all-stagefeedback-opcodes +all-ld: maybe-all-build-bison + +all-stage1-ld: maybe-all-build-bison +all-stage2-ld: maybe-all-build-bison +all-stage3-ld: maybe-all-build-bison +all-stage4-ld: maybe-all-build-bison +all-stageprofile-ld: maybe-all-build-bison +all-stagefeedback-ld: maybe-all-build-bison +all-prebootstrap: maybe-all-build-bison +all-ld: maybe-all-build-byacc + +all-stage1-ld: maybe-all-build-byacc +all-stage2-ld: maybe-all-build-byacc +all-stage3-ld: maybe-all-build-byacc +all-stage4-ld: maybe-all-build-byacc +all-stageprofile-ld: maybe-all-build-byacc +all-stagefeedback-ld: maybe-all-build-byacc +all-prebootstrap: maybe-all-build-byacc +all-ld: maybe-all-build-flex + +all-stage1-ld: maybe-all-build-flex +all-stage2-ld: maybe-all-build-flex +all-stage3-ld: maybe-all-build-flex +all-stage4-ld: maybe-all-build-flex +all-stageprofile-ld: maybe-all-build-flex +all-stagefeedback-ld: maybe-all-build-flex +all-prebootstrap: maybe-all-build-flex +all-ld: maybe-all-intl + +all-stage1-ld: maybe-all-stage1-intl +all-stage2-ld: maybe-all-stage2-intl +all-stage3-ld: maybe-all-stage3-intl +all-stage4-ld: maybe-all-stage4-intl +all-stageprofile-ld: maybe-all-stageprofile-intl +all-stagefeedback-ld: maybe-all-stagefeedback-intl +all-opcodes: maybe-all-bfd + +all-stage1-opcodes: maybe-all-stage1-bfd +all-stage2-opcodes: maybe-all-stage2-bfd +all-stage3-opcodes: maybe-all-stage3-bfd +all-stage4-opcodes: maybe-all-stage4-bfd +all-stageprofile-opcodes: maybe-all-stageprofile-bfd +all-stagefeedback-opcodes: maybe-all-stagefeedback-bfd +all-opcodes: maybe-all-libiberty + +all-stage1-opcodes: maybe-all-stage1-libiberty +all-stage2-opcodes: maybe-all-stage2-libiberty +all-stage3-opcodes: maybe-all-stage3-libiberty +all-stage4-opcodes: maybe-all-stage4-libiberty +all-stageprofile-opcodes: maybe-all-stageprofile-libiberty +all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty +all-dejagnu: maybe-all-tcl +all-dejagnu: maybe-all-expect +all-dejagnu: maybe-all-tk +configure-expect: maybe-configure-tcl +configure-expect: maybe-configure-tk +all-expect: maybe-all-tcl +all-expect: maybe-all-tk +configure-itcl: maybe-configure-tcl +configure-itcl: maybe-configure-tk +all-itcl: maybe-all-tcl +all-itcl: maybe-all-tk install-itcl: maybe-install-tcl -all-sid: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-tcl maybe-all-tk -install-sid: maybe-install-tcl maybe-install-tk -all-sim: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-readline maybe-configure-gdb configure-tk: maybe-configure-tcl all-tk: maybe-all-tcl -configure-tix: maybe-configure-tcl maybe-configure-tk -all-tix: maybe-all-tcl maybe-all-tk -all-texinfo: maybe-all-libiberty - -# Other host modules. Warning, these are not well tested. -all-autoconf: maybe-all-m4 maybe-all-texinfo -all-automake: maybe-all-m4 maybe-all-texinfo -all-bison: maybe-all-texinfo -all-diff: maybe-all-libiberty -all-fastjar: maybe-all-zlib maybe-all-libiberty -all-fileutils: maybe-all-libiberty -all-flex: maybe-all-libiberty maybe-all-bison maybe-all-byacc -all-gzip: maybe-all-libiberty -all-hello: maybe-all-libiberty -all-m4: maybe-all-libiberty maybe-all-texinfo -all-make: maybe-all-libiberty maybe-all-intl -all-patch: maybe-all-libiberty +all-sid: maybe-all-libiberty +all-sid: maybe-all-bfd +all-sid: maybe-all-opcodes +all-sid: maybe-all-tcl +all-sid: maybe-all-tk +install-sid: maybe-install-tcl +install-sid: maybe-install-tk +all-sim: maybe-all-libiberty +all-sim: maybe-all-bfd +all-sim: maybe-all-opcodes +all-sim: maybe-all-readline +all-sim: maybe-configure-gdb +all-fastjar: maybe-all-zlib +all-fastjar: maybe-all-build-texinfo +all-fastjar: maybe-all-libiberty +all-autoconf: maybe-all-m4 +all-autoconf: maybe-all-build-texinfo +all-automake: maybe-all-m4 +all-automake: maybe-all-build-texinfo +all-automake: maybe-all-autoconf +all-bison: maybe-all-intl +all-bison: maybe-all-build-texinfo +all-diff: maybe-all-intl +all-diff: maybe-all-build-texinfo +all-fileutils: maybe-all-intl +all-fileutils: maybe-all-build-texinfo +all-flex: maybe-all-build-bison +all-flex: maybe-all-build-byacc +all-flex: maybe-all-intl +all-flex: maybe-all-m4 +all-flex: maybe-all-build-texinfo +all-gzip: maybe-all-intl +all-gzip: maybe-all-zlib +all-gzip: maybe-all-build-texinfo +all-hello: maybe-all-intl +all-hello: maybe-all-build-texinfo +all-m4: maybe-all-intl +all-m4: maybe-all-build-texinfo +all-make: maybe-all-intl +all-make: maybe-all-build-texinfo +all-patch: maybe-all-build-texinfo +all-make: maybe-all-build-texinfo all-prms: maybe-all-libiberty -all-recode: maybe-all-libiberty -all-sed: maybe-all-libiberty +all-recode: maybe-all-build-texinfo +all-sed: maybe-all-build-texinfo all-send-pr: maybe-all-prms -all-tar: maybe-all-libiberty -all-uudecode: maybe-all-libiberty - -ALL_GCC = maybe-all-gcc -ALL_GCC_C = $(ALL_GCC) maybe-all-target-newlib maybe-all-target-libgloss -ALL_GCC_CXX = $(ALL_GCC_C) maybe-all-target-libstdc++-v3 - -# Target modules specific to gcc. -configure-target-boehm-gc: $(ALL_GCC_C) maybe-configure-target-qthreads +all-tar: maybe-all-build-texinfo +all-uudecode: maybe-all-build-texinfo +configure-target-boehm-gc: maybe-configure-target-qthreads configure-target-fastjar: maybe-configure-target-zlib -all-target-fastjar: maybe-all-target-zlib maybe-all-target-libiberty -configure-target-libada: $(ALL_GCC_C) -configure-target-libgfortran: $(ALL_GCC_C) -configure-target-libffi: $(ALL_GCC_C) -configure-target-libjava: $(ALL_GCC_C) maybe-configure-target-zlib maybe-configure-target-boehm-gc maybe-configure-target-qthreads maybe-configure-target-libffi -all-target-libjava: maybe-all-fastjar maybe-all-target-zlib maybe-all-target-boehm-gc maybe-all-target-qthreads maybe-all-target-libffi -configure-target-libobjc: $(ALL_GCC_C) +all-target-fastjar: maybe-all-target-zlib +all-target-fastjar: maybe-all-target-libiberty +configure-target-libjava: maybe-configure-target-zlib +configure-target-libjava: maybe-configure-target-boehm-gc +configure-target-libjava: maybe-configure-target-qthreads +configure-target-libjava: maybe-configure-target-libffi +all-target-libjava: maybe-all-fastjar +all-target-libjava: maybe-all-target-zlib +all-target-libjava: maybe-all-target-boehm-gc +all-target-libjava: maybe-all-target-qthreads +all-target-libjava: maybe-all-target-libffi all-target-libobjc: maybe-all-target-libiberty -configure-target-libstdc++-v3: $(ALL_GCC_C) all-target-libstdc++-v3: maybe-all-target-libiberty -configure-target-zlib: $(ALL_GCC_C) - -# Target modules in the 'src' repository. -configure-target-examples: $(ALL_GCC_C) -configure-target-libgloss: $(ALL_GCC) all-target-libgloss: maybe-configure-target-newlib -configure-target-libiberty: $(ALL_GCC) -configure-target-libtermcap: $(ALL_GCC_C) -configure-target-newlib: $(ALL_GCC) -configure-target-rda: $(ALL_GCC_C) -configure-target-winsup: $(ALL_GCC_C) -all-target-winsup: maybe-all-target-libiberty maybe-all-target-libtermcap - -# Other target modules. Warning, these are not well tested. -configure-target-gperf: $(ALL_GCC_CXX) -all-target-gperf: maybe-all-target-libiberty maybe-all-target-libstdc++-v3 -configure-target-qthreads: $(ALL_GCC_C) +all-target-winsup: maybe-all-target-libiberty +all-target-winsup: maybe-all-target-libtermcap + + +# Non-toplevel bootstrap rules must depend on several packages, to be built +# before gcc. Another wart that will go away, hopefully soon. +@if gcc-no-bootstrap + +all-prebootstrap: maybe-all-bfd +all-prebootstrap: maybe-all-opcodes +all-prebootstrap: maybe-all-binutils +all-prebootstrap: maybe-all-gas +all-prebootstrap: maybe-all-intl +all-prebootstrap: maybe-all-ld +all-prebootstrap: maybe-all-libcpp +all-prebootstrap: maybe-all-libiberty +all-prebootstrap: maybe-all-zlib +@endif gcc-no-bootstrap + +GDB_TK = @GDB_TK@ +all-gdb: $(gdbnlmrequirements) $(GDB_TK) # Serialization dependencies. Host configures don't work well in parallel to # each other, due to contention over config.cache. Target configures and diff -uprN binutils-2.15.91.0.2/Makefile.tpl binutils-2.15.92.0.2/Makefile.tpl --- binutils-2.15.91.0.2/Makefile.tpl 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/Makefile.tpl 2004-09-27 13:46:05.000000000 -0700 @@ -104,10 +104,11 @@ SET_LIB_PATH = @SET_LIB_PATH@ # Some platforms don't like blank entries, so we remove duplicate, # leading and trailing colons. REALLY_SET_LIB_PATH = \ + @SET_GCC_LIB_PATH@ \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); # This is the list of directories to be built for the build system. -BUILD_CONFIGDIRS = libiberty libbanshee +BUILD_CONFIGDIRS = libiberty # Build programs are put under this directory. BUILD_SUBDIR = @build_subdir@ # This is set by the configure script to the arguments to use when configuring @@ -173,7 +174,9 @@ HOST_EXPORTS = \ OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ - GMPINC="$(HOST_GMPINC)"; export GMPINC; + GMPINC="$(HOST_GMPINC)"; export GMPINC; \ + SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ + @SET_GCC_LIB_PATH@ # Similar, for later GCC stages. STAGE_HOST_EXPORTS = \ @@ -207,7 +210,9 @@ BASE_TARGET_EXPORTS = \ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ - WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; + WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ + SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \ + @SET_GCC_LIB_PATH@ RAW_CXX_TARGET_EXPORTS = \ $(BASE_TARGET_EXPORTS) \ @@ -243,43 +248,44 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ CXX_FOR_BUILD = $(CXX) -# Path to the build directory for a Canadian cross, empty otherwise. -BUILD_DIR_PREFIX = @BUILD_DIR_PREFIX@ - # Special variables passed down in EXTRA_GCC_FLAGS. They are defined # here so that they can be overridden by Makefile fragments. BUILD_PREFIX = @BUILD_PREFIX@ BUILD_PREFIX_1 = @BUILD_PREFIX_1@ +# Flags to pass to stage2 and later makes. They are defined +# here so that they can be overridden by Makefile fragments. +BOOT_CFLAGS= -g -O2 + CONFIGURED_BISON = @CONFIGURED_BISON@ -BISON = `if [ -f $$r/$(BUILD_DIR_PREFIX)/bison/bison ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/bison/bison -L $$s/bison/ ; \ +BISON = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ + echo $$r/$(BUILD_SUBDIR)/bison/tests/bison ; \ else \ echo ${CONFIGURED_BISON} ; \ fi` CONFIGURED_YACC = @CONFIGURED_YACC@ -YACC = `if [ -f $$s/$(BUILD_DIR_PREFIX)/bison/bison ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/bison/bison -y -L $$s/bison/ ; \ - elif [ -f $$s/$(BUILD_DIR_PREFIX)/byacc/byacc ] ; then \ - echo $$r/$(BUILD_DIR_PREFIX)/byacc/byacc ; \ +YACC = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \ + echo $$r/$(BUILD_SUBDIR)/bison/tests/bison -y ; \ + elif [ -f $$r/$(BUILD_SUBDIR)/byacc/byacc ] ; then \ + echo $$r/$(BUILD_SUBDIR)/byacc/byacc ; \ else \ echo ${CONFIGURED_YACC} ; \ fi` CONFIGURED_FLEX = @CONFIGURED_FLEX@ -FLEX = `if [ -f $$r/$(BUILD_DIR_PREFIX)/flex/flex ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/flex/flex ; \ +FLEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ + then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ else echo ${CONFIGURED_FLEX} ; fi` CONFIGURED_LEX = @CONFIGURED_LEX@ -LEX = `if [ -f $$r/$(BUILD_DIR_PREFIX)/flex/flex ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/flex/flex ; \ +LEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \ + then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \ else echo ${CONFIGURED_LEX} ; fi` CONFIGURED_M4 = @CONFIGURED_M4@ -M4 = `if [ -f $$r/$(BUILD_DIR_PREFIX)/m4/m4 ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/m4/m4 ; \ +M4 = `if [ -f $$r/$(BUILD_SUBDIR)/m4/m4 ] ; \ + then echo $$r/$(BUILD_SUBDIR)/m4/m4 ; \ else echo ${CONFIGURED_M4} ; fi` # For an installed makeinfo, we require it to be from texinfo 4.2 or @@ -287,8 +293,8 @@ M4 = `if [ -f $$r/$(BUILD_DIR_PREFIX)/m4 # makeinfo even if only the Makefile is there, because Texinfo builds its # manual when made, and it requires its own version. CONFIGURED_MAKEINFO = @CONFIGURED_MAKEINFO@ -MAKEINFO = `if [ -f $$r/$(BUILD_DIR_PREFIX)/texinfo/makeinfo/Makefile ] ; \ - then echo $$r/$(BUILD_DIR_PREFIX)/texinfo/makeinfo/makeinfo ; \ +MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \ + then echo $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo ; \ else if (${CONFIGURED_MAKEINFO} --version \ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \ then echo ${CONFIGURED_MAKEINFO}; else echo $$s/missing makeinfo; fi; fi` @@ -583,7 +589,7 @@ EXTRA_GCC_FLAGS = \ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) .PHONY: configure-host -configure-host: maybe-configure-gcc [+ +configure-host: [+ FOR host_modules +] \ maybe-configure-[+module+][+ ENDFOR host_modules +] @@ -595,7 +601,7 @@ configure-target: [+ # The target built for a native non-bootstrap build. .PHONY: all -all: all-build all-host all-target +all: unstage all-host all-target stage .PHONY: all-build all-build: [+ @@ -603,7 +609,7 @@ all-build: [+ maybe-all-build-[+module+][+ ENDFOR build_modules +] .PHONY: all-host -all-host: maybe-all-gcc [+ +all-host: [+ FOR host_modules +] \ maybe-all-[+module+][+ ENDFOR host_modules +] @@ -619,10 +625,10 @@ all-target: [+ # but it may do additional work as well). [+ FOR recursive_targets +] .PHONY: do-[+make_target+] -do-[+make_target+]: [+make_target+]-host [+make_target+]-target +do-[+make_target+]: unstage [+make_target+]-host [+make_target+]-target stage .PHONY: [+make_target+]-host -[+make_target+]-host: maybe-[+make_target+]-gcc [+ +[+make_target+]-host: [+ FOR host_modules +] \ maybe-[+make_target+]-[+module+][+ ENDFOR host_modules +] @@ -694,13 +700,13 @@ clean-target-libgcc: check: do-check # Only include modules actually being configured and built. -do-check: maybe-check-gcc [+ +do-check: unstage [+ FOR host_modules +] \ maybe-check-[+module+][+ ENDFOR host_modules +][+ FOR target_modules +] \ maybe-check-target-[+module+][+ - ENDFOR target_modules +] + ENDFOR target_modules +] stage # Automated reporting of test results. @@ -730,12 +736,12 @@ install: installdirs install-host instal .PHONY: install-host-nogcc install-host-nogcc: [+ - FOR host_modules +] \ - maybe-install-[+module+][+ + FOR host_modules +][+ IF (not (= (get "module") "gcc")) +] \ + maybe-install-[+module+][+ ENDIF +][+ ENDFOR host_modules +] .PHONY: install-host -install-host: maybe-install-gcc [+ +install-host: [+ FOR host_modules +] \ maybe-install-[+module+][+ ENDFOR host_modules +] @@ -856,12 +862,14 @@ configure-build-[+module+]: .PHONY: all-build-[+module+] maybe-all-build-[+module+] maybe-all-build-[+module+]: @if build-[+module+] +TARGET-build-[+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +] maybe-all-build-[+module+]: all-build-[+module+] all-build-[+module+]: configure-build-[+module+] @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(BUILD_EXPORTS) \ - (cd $(BUILD_SUBDIR)/[+module+] && $(MAKE) [+extra_make_flags+] all) + (cd $(BUILD_SUBDIR)/[+module+] && \ + $(MAKE) [+extra_make_flags+] $(TARGET-build-[+module+])) @endif build-[+module+] [+ ENDFOR build_modules +] @@ -874,7 +882,8 @@ maybe-configure-[+module+]: @if [+module+] maybe-configure-[+module+]: configure-[+module+] configure-[+module+]: - @test ! -f [+module+]/Makefile || exit 0; \ + @[+ IF bootstrap +]test -f stage_last && exit 0; \ + [+ ENDIF bootstrap +]test ! -f [+module+]/Makefile || exit 0; \ [ -d [+module+] ] || mkdir [+module+]; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ @@ -902,14 +911,18 @@ maybe-all-[+module+]: @if [+module+] maybe-all-[+module+]: all-[+module+] all-[+module+]: configure-[+module+] - @r=`${PWD_COMMAND}`; export r; \ + @[+ IF bootstrap +]test -f stage_last && exit 0; \ + [+ ENDIF bootstrap +]r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS)[+ IF with_x +] $(X11_FLAGS_TO_PASS)[+ - ENDIF with_x +] [+extra_make_flags+] all) + ENDIF with_x +] [+extra_make_flags+] [+ + IF (== (get "module") "gcc") +] \ + `if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi` [+ + ELSE +]all[+ ENDIF +]) @endif [+module+] .PHONY: check-[+module+] maybe-check-[+module+] @@ -926,10 +939,8 @@ check-[+module+]: s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS)[+ - IF with_x - +] $(X11_FLAGS_TO_PASS)[+ - ENDIF with_x +] [+extra_make_flags+] check); \ + (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS) [+ + extra_make_flags+] check); \ fi [+ ELSE check +] check-[+module+]: @@ -938,9 +949,7 @@ check-[+module+]: $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS)[+ - IF with_x - +] $(X11_FLAGS_TO_PASS)[+ - ENDIF with_x +] [+extra_make_flags+] check) + extra_make_flags+] check) [+ ENDIF no_check +] @endif [+module+] @@ -957,9 +966,7 @@ install-[+module+]: installdirs $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS)[+ - IF with_x - +] $(X11_FLAGS_TO_PASS)[+ - ENDIF with_x +] [+extra_make_flags+] install) + extra_make_flags+] install) [+ ENDIF no_install +] @endif [+module+] @@ -982,7 +989,7 @@ maybe-[+make_target+]-[+module+]: [+make s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ - for flag in $(EXTRA_HOST_FLAGS); do \ + for flag in $(EXTRA_HOST_FLAGS) [+extra_make_flags+]; do \ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ echo "Doing [+make_target+] in [+module+]" ; \ @@ -991,7 +998,7 @@ maybe-[+make_target+]-[+module+]: [+make "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ "RANLIB=$${RANLIB}" \ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+extra_make_flags+] [+make_target+]) \ + [+make_target+]) \ || exit 1 [+ ENDIF +] @endif [+module+] @@ -1069,6 +1076,7 @@ ENDIF raw_cxx +] .PHONY: all-target-[+module+] maybe-all-target-[+module+] maybe-all-target-[+module+]: @if target-[+module+] +TARGET-target-[+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +] maybe-all-target-[+module+]: all-target-[+module+] all-target-[+module+]: configure-target-[+module+] @r=`${PWD_COMMAND}`; export r; \ @@ -1084,7 +1092,7 @@ ENDIF raw_cxx +] IF raw_cxx +] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+ ENDIF raw_cxx - +] [+extra_make_flags+] all) + +] [+extra_make_flags+] $(TARGET-target-[+module+])) @endif target-[+module+] .PHONY: check-target-[+module+] maybe-check-target-[+module+] @@ -1178,79 +1186,14 @@ ENDIF raw_cxx +] # GCC module # ---------- -# Unfortunately, while gcc _should_ be a host module, -# libgcc is a target module, and gen* programs are -# build modules. So GCC is a sort of hybrid. - -# gcc is the only module which uses GCC_FLAGS_TO_PASS. -# Don't use shared host config.cache, as it will confuse later -# directories; GCC wants slightly different values for some -# precious variables. *sigh* - -# We must skip configuring if toplevel bootstrap is going. -.PHONY: configure-gcc maybe-configure-gcc -maybe-configure-gcc: -@if gcc -maybe-configure-gcc: configure-gcc -configure-gcc: -@endif gcc -@if gcc-no-bootstrap - @test ! -f gcc/Makefile || exit 0; \ - [ -d gcc ] || mkdir gcc; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(HOST_EXPORTS) \ - echo Configuring in gcc; \ - cd gcc || exit 1; \ - case $(srcdir) in \ - \.) \ - srcdiroption="--srcdir=."; \ - libsrcdir=".";; \ - /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ - *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ - esac; \ - $(SHELL) $${libsrcdir}/configure \ - $(HOST_CONFIGARGS) $${srcdiroption} \ - || exit 1 -@endif gcc-no-bootstrap - -# Don't 'make all' in gcc if it's already been made by 'bootstrap'; that -# causes trouble. This wart will be fixed eventually by moving -# the bootstrap behavior to this file. -.PHONY: all-gcc maybe-all-gcc -maybe-all-gcc: -@if gcc -maybe-all-gcc: all-gcc -all-gcc: configure-gcc -@endif gcc @if gcc-no-bootstrap - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - if [ -f gcc/stage_last ] ; then \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) quickstrap); \ - else \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ - fi +# GCC has some more recursive targets, which trigger the old +# (but still current, until the toplevel bootstrap project +# is finished) compiler bootstrapping rules. -# Building GCC uses some tools for rebuilding "source" files -# like texinfo, bison/byacc, etc. So we must depend on those. -# -# While building GCC, it may be necessary to run various target -# programs like the assembler, linker, etc. So we depend on -# those too. -# -# In theory, on an SMP all those dependencies can be resolved -# in parallel. -# GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap .PHONY: $(GCC_STRAP_TARGETS) -$(GCC_STRAP_TARGETS): all-bootstrap configure-gcc +$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -1283,7 +1226,7 @@ $(GCC_STRAP_TARGETS): all-bootstrap conf echo "Building runtime libraries"; \ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all -profiledbootstrap: all-bootstrap configure-gcc +profiledbootstrap: all-prebootstrap configure-gcc @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -1303,7 +1246,7 @@ profiledbootstrap: all-bootstrap configu $(MAKE) $(RECURSE_FLAGS_TO_PASS) all .PHONY: cross -cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld +cross: all-build all-gas all-ld @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ @@ -1317,21 +1260,7 @@ cross: all-texinfo all-bison all-byacc a $(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all @endif gcc-no-bootstrap -.PHONY: check-gcc maybe-check-gcc -maybe-check-gcc: @if gcc -maybe-check-gcc: check-gcc -check-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check); \ - else \ - true; \ - fi - .PHONY: check-gcc-c++ check-gcc-c++: @if [ -f ./gcc/Makefile ] ; then \ @@ -1346,23 +1275,6 @@ check-gcc-c++: .PHONY: check-c++ check-c++: check-target-libstdc++-v3 check-gcc-c++ -@endif gcc - -.PHONY: install-gcc maybe-install-gcc -maybe-install-gcc: -@if gcc -maybe-install-gcc: install-gcc -install-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - $(HOST_EXPORTS) \ - (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ - else \ - true; \ - fi -@endif gcc # Install the gcc headers files, but not the fixed include files, # which Cygnus is not allowed to distribute. This rule is very @@ -1385,43 +1297,28 @@ gcc-no-fixedincludes: rm -rf gcc/include; \ mv gcc/tmp-include gcc/include 2>/dev/null; \ else true; fi - -# Other targets (dvi, info, etc.) -[+ FOR recursive_targets +] -.PHONY: maybe-[+make_target+]-gcc [+make_target+]-gcc -maybe-[+make_target+]-gcc: -@if gcc -maybe-[+make_target+]-gcc: [+make_target+]-gcc -[+make_target+]-gcc: [+ - FOR depend +]\ - [+depend+]-gcc [+ - ENDFOR depend +] - @[ -f ./gcc/Makefile ] || exit 0; \ - r=`${PWD_COMMAND}`; export r; \ - s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ - $(SET_LIB_PATH) \ - for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ - done; \ - $(HOST_EXPORTS) \ - echo "Doing [+make_target+] in gcc" ; \ - (cd gcc && \ - $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ - "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ - "RANLIB=$${RANLIB}" \ - "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \ - [+make_target+]) \ - || exit 1 @endif gcc -[+ ENDFOR recursive_targets +] - -@if gcc-bootstrap # --------------------- # GCC bootstrap support # --------------------- -# We track the current stage (the one in 'gcc') in the stage_last file. +# We track the current stage (the one in 'gcc') in the stage_current file. +# stage_last instead tracks the stage that was built last. These targets +# are dummy when toplevel bootstrap is not active. + +.PHONY: unstage +unstage: +@if gcc-bootstrap + @[ -f stage_current ] || $(MAKE) `cat stage_last`-start +@endif gcc-bootstrap + +.PHONY: stage +stage: +@if gcc-bootstrap + @$(MAKE) `cat stage_current`-end +@endif gcc-bootstrap + # We name the build directories for the various stages "stage1-gcc", # "stage2-gcc","stage3-gcc", etc. @@ -1442,7 +1339,9 @@ maybe-[+make_target+]-gcc: [+make_target # (both in a combined tree, or separately). This however requires some # change to the gcc driver, again in order to avoid comparison failures. -# Bugs: This is almost certainly not parallel-make safe. +# Bugs: This is crippled when doing parallel make, the `make all-host' +# and `make all-target' phases can be parallelized. + # 'touch' doesn't work right on some platforms. STAMP = echo timestamp > @@ -1459,14 +1358,7 @@ STAGE1_LANGUAGES=@stage1_languages@ # We only want to compare .o files, so set this! objext = .o -# Real targets act phony if they depend on phony targets; this hack -# prevents gratuitous rebuilding of stage 1. -prebootstrap: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-bootstrap - $(STAMP) prebootstrap - # Flags to pass to stage2 and later makes. -BOOT_CFLAGS= -g -O2 POSTSTAGE1_FLAGS_TO_PASS = \ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ STAGE_PREFIX=$$r/stage[+prev+]-gcc/ \ @@ -1486,80 +1378,115 @@ POSTSTAGE1_FLAGS_TO_PASS = \ .PHONY: stage[+id+]-start stage[+id+]-end stage[+id+]-start:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - echo stage[+id+] > stage_last ; \ - [ -d stage[+id+]-gcc ] || mkdir stage[+id+]-gcc; \ - set stage[+id+]-gcc gcc ; @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ - set stage[+prev+]-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ [+ ENDIF prev +] + @[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ + echo stage[+id+] > stage_current ; \ + echo stage[+id+] > stage_last[+ FOR host_modules +][+ IF bootstrap +] +@if [+ module +] + @[ -d stage[+id+]-[+module+] ] || mkdir stage[+id+]-[+module+]; \ + set stage[+id+]-[+module+] [+module+] ; @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \ + set stage[+prev+]-[+module+] prev-[+module+] ; @CREATE_LINK_TO_DIR@ [+ ENDIF prev +] +@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] stage[+id+]-end:: - rm -f stage_last ; \ - set gcc stage[+id+]-gcc ; @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ - set prev-gcc stage[+prev+]-gcc ; @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] + @rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +] +@if [+ module +] + @set [+module+] stage[+id+]-[+module+] ; @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \ + set prev-[+module+] stage[+prev+]-[+module+] ; @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] +@endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +] # Bubble a bugfix through all the stages up to stage [+id+]. They # are remade, but not reconfigured. The next stage (if any) will not # be reconfigured as well. .PHONY: stage[+id+]-bubble -stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +] - @if [ -f all-stage[+id+]-gcc ] ; then \ - echo Remaking stage [+id+] ; \ - rm -f all-stage[+id+]-gcc ; \ - fi ; \ - $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]-gcc - -[+ IF prev +] -stage[+prev+]-bubble:: - @if [ -f configure-stage[+id+]-gcc ] ; then \ - $(STAMP) configure-stage[+id+]-gcc ; \ +stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +] + @bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +] + @if test -f stage[+id+]-lean [+ + IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \ + echo Skipping rebuild of stage[+id+] ; \ + else \ + $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage[+id+]; \ fi -[+ ENDIF prev +] -configure-stage[+id+]-gcc: [+ IF prev +] all-stage[+prev+]-gcc [+ - ELSE +] prebootstrap [+ ENDIF prev +] - $(MAKE) stage[+id+]-start - @if [ -f stage[+id+]-gcc/Makefile ] ; then \ - $(STAMP) configure-stage[+id+]-gcc ; \ - exit 0; \ - else \ - true ; \ - fi ; \ +.PHONY: all-stage[+id+] clean-stage[+id+] +all-stage[+id+]: [+ FOR host_modules +][+ IF bootstrap +]\ + maybe-all-stage[+id+]-[+module+][+ +ENDIF bootstrap+] [+ ENDFOR host_modules +] + +do-clean: clean-stage[+id+] +clean-stage[+id+]: [+ FOR host_modules +][+ IF bootstrap +]\ + maybe-clean-stage[+id+]-[+module+][+ +ENDIF bootstrap+] [+ ENDFOR host_modules +] + +[+ FOR host_modules +][+ IF bootstrap +] +.PHONY: configure-stage[+id+]-[+module+] maybe-configure-stage[+id+]-[+module+] +.PHONY: all-stage[+id+]-[+module+] maybe-all-stage[+id+]-[+module+] +.PHONY: clean-stage[+id+]-[+module+] maybe-clean-stage[+id+]-[+module+] + +maybe-configure-stage[+id+]-[+module+]: +maybe-all-stage[+id+]-[+module+]: +maybe-clean-stage[+id+]-[+module+]: + +@if [+module+]-bootstrap +maybe-configure-stage[+id+]-[+module+]: configure-stage[+id+]-[+module+] +configure-stage[+id+]-[+module+]: + @$(MAKE) stage[+id+]-start + @[ -f [+module+]/Makefile ] && exit 0 || : ; \ r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; [+ IF prev +] \ $(STAGE_HOST_EXPORTS) [+ ELSE prev +] \ $(HOST_EXPORTS) [+ ENDIF prev +] \ - echo Configuring stage [+id+] in gcc ; \ - cd gcc || exit 1; \ + echo Configuring stage [+id+] in [+module+] ; \ + cd [+module+] || exit 1; \ case $(srcdir) in \ \.) \ srcdiroption="--srcdir=."; \ libsrcdir=".";; \ /* | [A-Za-z]:[\\/]*) \ - srcdiroption="--srcdir=$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=$(srcdir)/[+module+]"; \ + libsrcdir="$$s/[+module+]";; \ *) \ - srcdiroption="--srcdir=../$(srcdir)/gcc"; \ - libsrcdir="$$s/gcc";; \ + srcdiroption="--srcdir=../$(srcdir)/[+module+]"; \ + libsrcdir="$$s/[+module+]";; \ esac; \ $(SHELL) $${libsrcdir}/configure \ $(HOST_CONFIGARGS) $${srcdiroption} \ - [+extra_configure_flags+] && \ - $(STAMP) ../configure-stage[+id+]-gcc + [+stage_configure_flags+] [+extra_configure_flags+] -all-stage[+id+]-gcc: configure-stage[+id+]-gcc - $(MAKE) stage[+id+]-start +maybe-all-stage[+id+]-[+module+]: all-stage[+id+]-[+module+] +all-stage[+id+]-[+module+]: configure-stage[+id+]-[+module+] + @$(MAKE) stage[+id+]-start @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; [+ IF prev +] \ $(STAGE_HOST_EXPORTS) [+ ELSE prev +] \ $(HOST_EXPORTS) [+ ENDIF prev +] \ - cd gcc && \ - $(MAKE) $(GCC_FLAGS_TO_PASS) [+ IF prev +] \ + cd [+module+] && \ + $(MAKE) $(FLAGS_TO_PASS) [+ IF prev +] \ + $(POSTSTAGE1_FLAGS_TO_PASS) [+ ENDIF prev +] \ + [+stage_make_flags+] [+extra_make_flags+] + +maybe-clean-stage[+id+]-[+module+]: clean-stage[+id+]-[+module+] +clean-stage[+id+]-[+module+]: + @[ -f [+module+]/Makefile ] || [ -f stage[+id+]-[+module+]/Makefile ] \ + || exit 0 ; \ + [ -f [+module+]/Makefile ] || $(MAKE) stage[+id+]-start ; \ + cd [+module+] && \ + $(MAKE) $(FLAGS_TO_PASS) [+ IF prev +] \ $(POSTSTAGE1_FLAGS_TO_PASS) [+ ENDIF prev +] \ - [+extra_make_flags+] && $(STAMP) ../all-stage[+id+]-gcc + [+stage_make_flags+] [+extra_make_flags+] clean +@endif [+module+]-bootstrap + +[+ ENDIF bootstrap +][+ ENDFOR host_modules +] +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap [+ IF compare-target +] -[+compare-target+]: all-stage[+id+]-gcc - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : +[+compare-target+]: + @if test -f stage[+prev+]-lean; then \ + echo Cannot compare object files as stage [+prev+] was deleted. ; \ + exit 0 ; \ + fi; \ + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \ @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ rm -f .bad_compare ; \ @@ -1578,51 +1505,28 @@ all-stage[+id+]-gcc: configure-stage[+id else \ true; \ fi ; \ - $(STAMP) [+compare-target+] + $(STAMP) [+compare-target+][+ IF prev +] + @bootstrap_lean@-rm -rf stage[+prev+]-* ; $(STAMP) stage[+prev+]-lean[+ ENDIF prev +] [+ ENDIF compare-target +] [+ IF bootstrap-target +] .PHONY: [+bootstrap-target+] -[+bootstrap-target+]: - $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble [+ - IF compare-target +] [+compare-target+] [+ - ENDIF compare-target +] \ - stage[+id+]-start all stage[+id+]-end +[+bootstrap-target+]: stage[+id+]-bubble [+compare-target+] all [+ ENDIF bootstrap-target +] -.PHONY: restage[+id+] touch-stage[+id+] distclean-stage[+id+] - -# Rules to wipe a stage and all the following ones, used for cleanstrap +# Rules to wipe a stage and all the following ones, also used for cleanstrap [+ IF prev +]distclean-stage[+prev+]:: distclean-stage[+id+] [+ ENDIF prev +] +.PHONY: distclean-stage[+id+] distclean-stage[+id+]:: - [ -f stage_last ] && $(MAKE) `cat stage_last`-end || : - rm -rf configure-stage[+id+]-gcc all-stage[+id+]-gcc stage[+id+]-gcc [+ - IF compare-target +][+compare-target+] [+ ENDIF compare-target +] - -# Rules to renew the timestamp on a stage and all the following ones -[+ IF prev +]touch-stage[+prev+]:: touch-stage[+id+] [+ ENDIF prev +] -touch-stage[+id+]:: - @[ -f configure-stage[+id+]-gcc ] && \ - echo '$(STAMP) configure-stage[+id+]-gcc' && \ - $(STAMP) configure-stage[+id+]-gcc; \ - [ -f all-stage[+id+]-gcc ] && \ - echo '$(STAMP) all-stage[+id+]-gcc' && \ - $(STAMP) all-stage[+id+]-gcc; \ - : - -# After building a stage, touch the following ones -[+ IF prev +]restage[+prev+]:: touch-stage[+id+] [+ ENDIF prev +] -restage[+id+]:: - rm -rf all-stage[+id+]-gcc [+ + [ -f stage_current ] && $(MAKE) `cat stage_current`-end || : + rm -rf stage[+id+]-* [+ IF compare-target +][+compare-target+] [+ ENDIF compare-target +] - $(MAKE) $(RECURSE_FLAGS_TO_PASS) [+ - IF compare-target +][+compare-target+] [+ - ELSE +] all-stage[+id+]-gcc [+ ENDIF compare-target +] [+ IF cleanstrap-target +] .PHONY: [+cleanstrap-target+] -[+cleanstrap-target+]: distclean-stage1 [+bootstrap-target+] +[+cleanstrap-target+]: distclean [+bootstrap-target+] [+ ENDIF cleanstrap-target +] +@endif gcc-bootstrap [+ ENDFOR bootstrap-stage +] @@ -1633,13 +1537,16 @@ stagefeedback-start:: { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../gcc/&",' | $(SHELL); } && \ { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../gcc/&",' | $(SHELL); } -profiledbootstrap: all-bootstrap configure-gcc +# FIXME: Will not need to be conditional when toplevel bootstrap is the +# only possibility, but now it conflicts with no-bootstrap rules +@if gcc-bootstrap +profiledbootstrap: @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(SET_LIB_PATH) \ $(HOST_EXPORTS) \ echo "Bootstrapping the compiler"; \ - $(MAKE) stageprofile-bubble distclean-stagefeedback stageprofile-start + $(MAKE) stageprofile-bubble distclean-stagefeedback @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ $(SET_LIB_PATH) \ @@ -1651,134 +1558,133 @@ profiledbootstrap: all-bootstrap configu $(HOST_EXPORTS) \ echo "Building feedback based compiler"; \ $(MAKE) stagefeedback-bubble stagefeedback-end +@endif gcc-bootstrap +@if gcc-bootstrap +NOTPARALLEL = .NOTPARALLEL +$(NOTPARALLEL): +do-distclean: distclean-stage1 @endif gcc-bootstrap # -------------------------------------- # Dependencies between different modules # -------------------------------------- +# Generic dependencies for target modules on host stuff, especially gcc +[+ FOR target_modules +] +configure-target-[+module+]: maybe-all-gcc +[+ ENDFOR target_modules +] + +[+ FOR lang_env_dependencies +] +configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss +[+ IF cxx +]configure-target-[+module+]: maybe-all-target-libstdc++-v3 +[+ ENDIF cxx +][+ ENDFOR lang_env_dependencies +] + # There are two types of dependencies here: 'hard' dependencies, where one # module simply won't build without the other; and 'soft' dependencies, where # if the depended-on module is missing, the depending module will do without # or find a substitute somewhere (perhaps installed). Soft dependencies -# are specified by depending on a 'maybe-' target. If you're not sure, +# are made here to depend on a 'maybe-' target. If you're not sure, # it's safer to use a soft dependency. -# Build modules -all-build-bison: maybe-all-build-texinfo -all-build-flex: maybe-all-build-texinfo -all-build-libiberty: maybe-all-build-texinfo -all-build-m4: maybe-all-build-libiberty maybe-all-build-texinfo - -# Host modules specific to gcc. -# GCC needs to identify certain tools. -# GCC also needs the information exported by the intl configure script. -configure-gcc: maybe-configure-intl maybe-configure-binutils maybe-configure-gas maybe-configure-ld maybe-configure-bison maybe-configure-flex -all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib maybe-all-libbanshee maybe-all-libcpp -configure-libcpp: maybe-configure-libiberty maybe-configure-intl -all-libcpp: maybe-all-libiberty maybe-all-intl -# This is a slightly kludgy method of getting dependencies on -# all-build-libiberty correct; it would be better to build it every time. -all-gcc: maybe-all-build-libiberty -all-bootstrap: [+ FOR host_modules +][+ IF bootstrap +]maybe-all-[+module+] [+ ENDIF bootstrap +][+ ENDFOR host_modules +] - -# Host modules specific to gdb. -# GDB needs to know that the simulator is being built. -configure-gdb: maybe-configure-itcl maybe-configure-tcl maybe-configure-tk maybe-configure-sim +[+ ;; These Scheme functions build the bulk of the dependencies. + ;; dep-target builds a string like "maybe-all-MODULE_KIND-gcc", + ;; where "maybe-" is only included if HARD is true, and all-gcc + ;; is taken from VAR-NAME. + (define dep-target (lambda (module-kind var-name hard) + (string-append + (if hard "" "maybe-") + (dep-subtarget var-name) + module-kind + (dep-module var-name) + ))) + + ;; make-dep builds a dependency from the MODULE and ON AutoGen vars. + (define make-dep (lambda (module-kind on-kind) + (string-append + (dep-target module-kind "module" #t) ": " + (dep-target on-kind "on" (exist? "hard"))))) + + ;; dep-subtarget extracts everything up to the first dash in the given + ;; AutoGen variable, for example it extracts "all-" out of "all-gcc". + (define dep-subtarget (lambda (var-name) + (substring (get var-name) 0 (+ 1 (string-index (get var-name) #\-))))) + + ;; dep-module extracts everything up to the first dash in the given + ;; AutoGen variable, for example it extracts "gcc" out of "all-gcc". + (define dep-module (lambda (var-name) + (substring (get var-name) (+ 1 (string-index (get var-name) #\-))))) + + ;; dep-stage builds a string for the prefix of a bootstrap stage. + (define dep-stage (lambda () + (string-append + "stage" + (get "id") + "-"))) + + ;; dep-maybe is the same as the AutoGen expression "- hard 'maybe-'" + ;; but is written in Scheme. + (define dep-maybe (lambda () + (if (exist? "hard") "" "maybe-"))) + + ;; dep-kind returns "normal" is the dependency is on an "install" target, + ;; or if the LHS module is not bootstrapped. It returns "bootstrap" for + ;; configure or build dependencies between bootstrapped modules; it returns + ;; "prebootstrap" for configure or build dependencies of bootstrapped + ;; modules on a build module (e.g. all-gcc on all-build-bison). All this + ;; is only necessary for host modules. + (define dep-kind (lambda () + (if (and (hash-ref boot-modules (dep-module "module")) + (=* (dep-module "on") "build-")) + "prebootstrap" + + (if (or (= (dep-subtarget "on") "install-") + (=* (dep-module "on") "target-") + (not (hash-ref boot-modules (dep-module "module")))) + "normal" + "bootstrap")))) + + ;; We now build the hash table that is used by dep-kind. + (define boot-modules (make-hash-table 113)) ++] + +[+ FOR host_modules +][+ + (if (exist? "bootstrap") + (hash-create-handle! boot-modules (get "module") #t)) + "" +][+ ENDFOR host_modules +] + +# With all the machinery above in place, it is pretty easy to generate +# dependencies. Host dependencies are a bit more complex because we have +# to check for bootstrap/prebootstrap dependencies. To resolve +# prebootstrap dependencies, prebootstrap modules are gathered in +# a hash table. +[+ FOR dependencies +][+ (make-dep "" "") +] +[+ CASE (dep-kind) +] +[+ == "prebootstrap" + +][+ FOR bootstrap_stage +] +[+ (make-dep (dep-stage) "") +][+ + ENDFOR bootstrap_stage +] +all-prebootstrap: [+ (dep-target "" "on" (exist? "hard")) +] +[+ == "bootstrap" + +][+ FOR bootstrap_stage +] +[+ (make-dep (dep-stage) (dep-stage)) +][+ + ENDFOR bootstrap_stage +] +[+ ESAC +][+ +ENDFOR dependencies +] + +# Non-toplevel bootstrap rules must depend on several packages, to be built +# before gcc. Another wart that will go away, hopefully soon. +@if gcc-no-bootstrap +[+ FOR host_modules +][+ + IF (and (not (= (get "module") "gcc")) + (hash-ref boot-modules (get "module"))) +] +all-prebootstrap: maybe-all-[+module+][+ + ENDIF +][+ +ENDFOR host_modules +] +@endif gcc-no-bootstrap + GDB_TK = @GDB_TK@ -all-gdb: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-mmalloc maybe-all-readline maybe-all-bison maybe-all-byacc maybe-all-sim $(gdbnlmrequirements) $(GDB_TK) -install-gdb: maybe-install-tcl maybe-install-tk maybe-install-itcl maybe-install-tix maybe-install-libgui -configure-libgui: maybe-configure-tcl maybe-configure-tk -all-libgui: maybe-all-tcl maybe-all-tk maybe-all-itcl - -# Host modules specific to binutils. -configure-bfd: configure-libiberty -all-bfd: maybe-all-libiberty maybe-all-intl -all-binutils: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-flex maybe-all-bison maybe-all-byacc maybe-all-intl -# We put install-opcodes before install-binutils because the installed -# binutils might be on PATH, and they might need the shared opcodes -# library. -install-binutils: maybe-install-opcodes -# libopcodes depends on libbfd -install-opcodes: maybe-install-bfd -all-gas: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-intl -all-gprof: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-intl -all-ld: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-intl -all-opcodes: maybe-all-bfd maybe-all-libiberty - -# Other host modules in the 'src' repository. -all-dejagnu: maybe-all-tcl maybe-all-expect maybe-all-tk -configure-expect: maybe-configure-tcl maybe-configure-tk -all-expect: maybe-all-tcl maybe-all-tk -configure-itcl: maybe-configure-tcl maybe-configure-tk -all-itcl: maybe-all-tcl maybe-all-tk -# We put install-tcl before install-itcl because itcl wants to run a -# program on installation which uses the Tcl libraries. -install-itcl: maybe-install-tcl -all-sid: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-tcl maybe-all-tk -install-sid: maybe-install-tcl maybe-install-tk -all-sim: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-readline maybe-configure-gdb -configure-tk: maybe-configure-tcl -all-tk: maybe-all-tcl -configure-tix: maybe-configure-tcl maybe-configure-tk -all-tix: maybe-all-tcl maybe-all-tk -all-texinfo: maybe-all-libiberty - -# Other host modules. Warning, these are not well tested. -all-autoconf: maybe-all-m4 maybe-all-texinfo -all-automake: maybe-all-m4 maybe-all-texinfo -all-bison: maybe-all-texinfo -all-diff: maybe-all-libiberty -all-fastjar: maybe-all-zlib maybe-all-libiberty -all-fileutils: maybe-all-libiberty -all-flex: maybe-all-libiberty maybe-all-bison maybe-all-byacc -all-gzip: maybe-all-libiberty -all-hello: maybe-all-libiberty -all-m4: maybe-all-libiberty maybe-all-texinfo -all-make: maybe-all-libiberty maybe-all-intl -all-patch: maybe-all-libiberty -all-prms: maybe-all-libiberty -all-recode: maybe-all-libiberty -all-sed: maybe-all-libiberty -all-send-pr: maybe-all-prms -all-tar: maybe-all-libiberty -all-uudecode: maybe-all-libiberty - -ALL_GCC = maybe-all-gcc -ALL_GCC_C = $(ALL_GCC) maybe-all-target-newlib maybe-all-target-libgloss -ALL_GCC_CXX = $(ALL_GCC_C) maybe-all-target-libstdc++-v3 - -# Target modules specific to gcc. -configure-target-boehm-gc: $(ALL_GCC_C) maybe-configure-target-qthreads -configure-target-fastjar: maybe-configure-target-zlib -all-target-fastjar: maybe-all-target-zlib maybe-all-target-libiberty -configure-target-libada: $(ALL_GCC_C) -configure-target-libgfortran: $(ALL_GCC_C) -configure-target-libffi: $(ALL_GCC_C) -configure-target-libjava: $(ALL_GCC_C) maybe-configure-target-zlib maybe-configure-target-boehm-gc maybe-configure-target-qthreads maybe-configure-target-libffi -all-target-libjava: maybe-all-fastjar maybe-all-target-zlib maybe-all-target-boehm-gc maybe-all-target-qthreads maybe-all-target-libffi -configure-target-libobjc: $(ALL_GCC_C) -all-target-libobjc: maybe-all-target-libiberty -configure-target-libstdc++-v3: $(ALL_GCC_C) -all-target-libstdc++-v3: maybe-all-target-libiberty -configure-target-zlib: $(ALL_GCC_C) - -# Target modules in the 'src' repository. -configure-target-examples: $(ALL_GCC_C) -configure-target-libgloss: $(ALL_GCC) -all-target-libgloss: maybe-configure-target-newlib -configure-target-libiberty: $(ALL_GCC) -configure-target-libtermcap: $(ALL_GCC_C) -configure-target-newlib: $(ALL_GCC) -configure-target-rda: $(ALL_GCC_C) -configure-target-winsup: $(ALL_GCC_C) -all-target-winsup: maybe-all-target-libiberty maybe-all-target-libtermcap - -# Other target modules. Warning, these are not well tested. -configure-target-gperf: $(ALL_GCC_CXX) -all-target-gperf: maybe-all-target-libiberty maybe-all-target-libstdc++-v3 -configure-target-qthreads: $(ALL_GCC_C) +all-gdb: $(gdbnlmrequirements) $(GDB_TK) # Serialization dependencies. Host configures don't work well in parallel to # each other, due to contention over config.cache. Target configures and diff -uprN binutils-2.15.91.0.2/bfd/ChangeLog binutils-2.15.92.0.2/bfd/ChangeLog --- binutils-2.15.91.0.2/bfd/ChangeLog 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/ChangeLog 2004-09-27 13:46:06.000000000 -0700 @@ -1,3 +1,886 @@ +2004-09-24 Alan Modra + + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section + vma and output offset to address. + * simple.c (simple_save_output_info): Only set output section + and offset for debug sections, or those not already set up by + the linker. + (bfd_simple_get_relocated_section_contents): Update comment. + +2004-09-24 Alan Modra + + * elf.c (IS_LOADED): Delete. + (assign_file_positions_for_segments): Just test SEC_LOAD instead. + Restore SEC_HAS_CONTENTS test to the one place it was used prior + to 2004-09-22. + +2004-09-23 Alan Modra + + PR gas/396 + * elf32-sparc.c (elf32_sparc_final_write_processing): Handle + bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove + redundant assignment of EM_SPARC. + +2004-09-22 Brian Ford + + * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte + alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3 + constants. + * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. + +2004-09-22 Alan Modra + + * elf32-ppc.c (ppc_elf_modify_segment_map): Delete. + (elf_backend_modify_segment_map): Don't define. + +2004-09-22 Alan Modra + + * elf.c (IS_LOADED): Define. + (assign_file_positions_for_segments): Don't round up file offset of + PT_LOAD segments containing no SEC_LOAD sections, instead round down. + Delete code handling link script adjustment of lma. Do the adjust + in later code handling similar ajustments. Remove dead code error + check. Warn if section lma would require a negative offset + adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz. + Use p_vaddr + p_memsz inside section loop in place of voff. Don't + update voff in section loop. Change voff in segment loop to be an + adjustment on top of "off". Set sec->filepos and update "off" later. + Test for loadable sections consistently using IS_LOADED. Similarly, + test for alloc-only sections other than .tbss consistently. + Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME. + Tidy PT_NOTE handling. Use %B and %A in error messages. + (assign_file_positions_except_relocs): Use %B in error message. + +2004-09-17 H.J. Lu + + * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. + (CONFIG_STATUS_DEPENDENCIES): New. + (Makefile): Removed. + (config.status): Likewise. + * Makefile.in: Regenerated. + +2004-09-17 Paul Brook + + * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype. + (bfd_elf32_arm_process_before_allocation): Update prototype. + * bfd-in2.h: Regenerate. + * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc. + (elf32_arm_link_hash_table_create): Set it. + (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel. + (bfd_elf32_arm_set_target_relocs): New function. + (arm_real_reloc_type): New function. + (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and + R_ARM_GOT_PREL. Remove R_ARM_TARGET1. + (elf32_arm_gc_sweep_hook): Ditto. + (elf32_arm_check_relocs): Ditto. + (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL. + * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and + R_ARM_GOT_TARGET2. + (elf32_arm_got_prel): New variable. + (elf32_arm_howto_from_type): New function. + (elf32_arm_info_to_howto): Use it. + (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and + BFD_RELOC_ARM_TARGET2. + * libbfd.h: Regenerate. + * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31. + +2004-09-17 Alan Modra + + * ecoff.c: Update u.undef.next refs. + * elf64-ppc.c: Likewise. + * elflink.c: Likewise. + * linker.c: Likewise. + * xcofflink.c: Likewise. + + * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to + dynamic_def. Combine weakdef and elf_hash_value. Move vtable + fields to indirect struct. + * elf-m10300.c: Update u.weakdef refs. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elflink.c: Likewise. Also u.elf_hash_value. + (elf_gc_propagate_vtable_entries_used): Update for h->vtable + indirection. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (bfd_elf_gc_record_vtinherit): Alloc vtable. + (bfd_elf_gc_record_vtentry): Likewise. + * elf.c (_bfd_elf_link_hash_newfunc): Use memset. + +2004-09-17 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2004-09-16 Alan Modra + + * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags + with bitfields. Make "type" and "other" bitfields too. + (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR, + ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC, + ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED, + ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF, + ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK, + ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK, + ELF_LINK_POINTER_EQUALITY_NEEDED): Delete. + (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update. + * elf-hppa.h: Update all uses of elf_link_hash_flags. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh-symbian.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92. + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2004-09-16 Alan Modra + + * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI + around uses of R_ARM_TARGET1. + (elf32_arm_check_relocs): Likewise. + +2004-09-13 Paul Brook + + * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update + prototype. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel. + (elf32_arm_link_hash_table_create): Set target1_is_rel. + (bfd_elf32_arm_process_before_allocation): Ditto. + (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1. + (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto. + * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1. + * reloc.c: Ditto. + +2004-09-10 Joel Brobecker + + * hpux-core.c (thread_section_p): New function. + (hpux_core_core_file_p): Fix computation of offset in call + to bfd_seek. Create a ".reg" section from an arbitrary + ".reg/" section if none was created after having read + all sections. + +2004-09-11 Andreas Schwab + + * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*. + * aclocal.m4: Rebuild. + * configure: Rebuild. + +2004-09-10 Joel Brobecker + + * section.c (bfd_sections_find_if): Fix parameter name in + comment to match code. + +2004-09-10 Alan Modra + + * elf.c (assign_file_positions_except_relocs): Assign relocs + stored in a bfd section. + +2004-09-08 Hans-Peter Nilsson + + * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset + h->gotplt_refcount to 0, not -1. + +2004-09-07 Hans-Peter Nilsson + + * elf32-cris.c (cris_elf_relocate_section) : For internal error message, handle NULL + symname. + (cris_elf_check_relocs) : Don't try to + handle symbol visibility here. + +2004-09-07 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals. + (is_ppc64_elf_target): Rename from is_ppc64_target. Update all + callers. + (ppc_stub_name): Remove trailing "+0" on stub name. + (create_linkage_sections): Create relocations for + branch lookup table when --emit-relocs as well as when --shared. + (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust + relbrlt test. For --emit-stub-syms, always output a sym even when + one already exists on a plt call stub. Put stub type in the stub + symbol name. + (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt + test. + (ppc64_elf_size_stubs): Count global sym stubs added. Zero + reloc_count in stub sections. Adjust relbrlt test. + (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output. + * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo. + (elf_link_input_bfd): Ignore symbol index zero relocs when checking + for relocs against discarded symbols. Fix comments. + +2004-09-06 Mark Mitchell + + * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it. + * elf.c (_bfd_elf_make_dynamic_segment): New function, split out + from ... + (map_sections_to_segments): ... here. Use it. Assign a file + position to the .dynamic section if it is not loadable, but part + of the PT_DYNAMIC segment. + * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file + offsets, not VMAs, for the BPABI. Do not fill in the header in + the .got.plt section for the BPABI. + * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a + PT_DYNAMIC segment. + (elf_backend_want_got_plt): Define to zero for Symbian OS. + +2004-09-06 Nick Clifton + + * elflink.c (elf_link_add_object_symbols): Set the error code to + bfd_error_wrong_format when the input format does not match the + output format. + +2004-09-06 Alan Modra + + * elf64-ppc.c (is_ppc64_target): New function, extracted from.. + (ppc64_elf_check_directives): ..here. + (ppc64_elf_size_dynamic_sections): Use it here to check bfd type + before accessing ppc64_elf_tdata. + (ppc64_elf_finish_dynamic_sections): And here too. + +2004-09-04 Alan Modra + + * bfd.c (_bfd_default_error_handler): Correct loop exit. + +2004-09-03 Mark Mitchell + + * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors. + * configure.in (bfd_elf32_bigarm_symbian_vec): Add it. + (bfd_elf32_littlearm_symbian_vec): Likewise. + * configure: Regenerated. + * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags. + * elf32-arm.h (PLT_HEADER_SIZE): Do not define. + (PLT_ENTRY_SIZE): Likewise. + (bfd_vma_elf32_arm_symbian_plt_entry): New + variable. + (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size, + and symbian_p. + (create_got_section): Don't create sections when generating BPABI + objects. + (elf32_arm_create_dynamic_sections): Tidy. + (elf32_arm_link_hash_table_create): Set plt_header_size, + plt_entry_size, and symbian_p. + (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when + generating BPABI objects. + (allocate_dynrelocs): Use htab->plt_header_size, not + PLT_HEADER_SIZE. Do not add to .got.plt when + generating BPABI objects. + (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs. + * elfarm-nabi.c: Add SymbianOS target vectors. + * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags. + (_bfd_elf_link_create_dynamic_sections): Likewise. + * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro. + (elfNN_bed): Use it. + * targets.c (bfd_elf32_bigarm_symbian_vec): New variable. + (bfd_elf32_littlearm_symbian_vec): Likewise. + (_bfd_target_vector): Add them. + +2004-09-03 Nick Clifton + + PR 360 + * coffcode.h (handle_COMDAT): Replace abort with an warning + message and allow the scan to continue. + +2004-09-02 Alan Modra + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed + in when reading relocs, not our sorted syms. Remove unnecessary + var. + +2004-08-31 Eric Botcazou + + * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss. + +2004-08-30 Nathanael Nerode + + * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM. + Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate; + replace uses of *_alias with *_noncanonical. + * aclocal.m4: Rebuild with aclocal 1.4p6. + * Makefile.in: Rebuild with automake 1.4p6. + * doc/Makefile.in: Rebuild with automake 1.4p6. + * configure.in: Autoupdate with autoupdate 2.59. + * config.in: Regenerate with autoheader 2.59. + * configure: Regnerate with autoconf 2.59. + +2004-08-28 Alan Modra + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input + symbol pointer arrays before modifying. + +2004-08-28 Alan Modra + + * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables. + * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust. + * elf.c (_bfd_elf_get_synthetic_symtab): Adjust. + * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust. + * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust. + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols. + Use both symbol tables on non-relocatable objects. Use a common + error exit. Fix "mid" warning. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2004-08-28 Alan Modra + + * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular + object file. + (struct sfpr_def_parms): Save some space. + (sfpr_define): Here too. + + * elf64-ppc.c (compare_symbols): Put section syms first. + (sym_exists_at): New function. + (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry + points only for relocatable files. Use .opd section contents + otherwise. Generally clean up the code. + +2004-08-27 Alan Modra + + * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12, + LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define. + (struct sfpr_def_parms): New. + (sfpr_define): New function. + (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions. + (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions. + (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions. + (savefpr1_tail, restfpr1_tail): New functions. + (savevr, savevr_tail, restvr, restvr_tail): New functions. + (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define. + (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing + code. Define all ABI mandated _save and _rest functions. + +2004-08-26 Paul Brook + + * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects. + +2004-08-26 Alan Modra + + * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with + TRUE or FALSE. + +2004-08-26 Alan Modra + + * elf32-i386.c (elf_i386_relocate_section): Tweak last change so + that pcrel correction is applied for R_386_PC32. + +2004-08-25 Alan Modra + + * elf32-i386.c (elf_i386_relocate_section): Zero section contents + for R_386_32 and R_386_PC32 relocs against symbols defined in + discarded sections. + +2004-08-25 Dmitry Diky + + * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL): + Add new relocations. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-msp430.c: Clean-up code. + (elf_msp430_howto_table): Add new relocation entries. + (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers. + (msp430_elf_relax_section): New function. + (msp430_elf_relax_delete_bytes): New function. + (msp430_elf_symbol_address_p): New function. + +2004-08-24 Kazuhiro Inaoka + + * elf32-m32r.c (m32r_elf_relocate_section): Handle + R_M32R_SDA16_RELA in the same way as R_M32R_SDA16. + +2004-08-20 Daniel Jacobowitz + + * elflink.c (_bfd_elf_section_already_linked): Handle + SEC_LINK_DUPLICATES_SAME_CONTENTS. + +2004-08-19 Mark Mitchell + + * config.bfd (arm*-*-symbianelf*): New target. + (arm*-*-eabi*): Likewise. + +2004-08-19 Alan Modra + + * elf64-ppc.c (ppc_get_stub_entry): Change third param to a + "struct ppc_link_hash_entry *". + (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf + to satisfy RELOC_FOR_GLOBAL_SYMBOL. + +2004-08-19 Jakub Jelinek + + * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd + entries (where fd_aux overlaps next entry's fd_func). + Add non_overlapping argument, use it. + (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms, + ppc64_elf_size_stubs, ppc64_elf_relocate_section, + ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24 + as indexes into opd_sym_map/opd_adjust array. + * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype. + +2004-08-18 Alan Modra + + * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value + if we can look up their function descriptor in a regular file. + +2004-08-18 Nick Clifton + + PR 324 + * cofflink.c (coff_link_add_symbols): Check that the comdat + pointer in the coff_section_data structure has been initialised + before using it. + +2004-08-18 Alan Modra + + PR 338 + * elflink.c (bfd_elf_record_link_assignment): Add comment about + changing bfd_link_hash_undefined to bfd_link_hash_new. + +2004-08-17 Jakub Jelinek + + * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define + if not yet defined. + * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define. + (synthetic_opd, synthetic_relocatable): New variables. + (compare_symbols, compare_relocs): New helper routines. + (ppc64_elf_get_synthetic_symtab): New function. + * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument + to relsyms. + * bfd-in2.h: Regenerated. + * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument + to relsyms. Return 0 if abfd is relocatable. + +2004-08-17 Alan Modra + + * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. + +2004-08-17 Nick Clifton + + * (is_arm_mapping_symbol_name): New function - return true + when a symbol name matches the requirements for an ARM mapping + symbol name. + (arm_elf_find_function): New function based on + elf_find_function in elf.c but skipping ARM mapping symbols + and including thumb function symbols. + (elf32_arm_find_nearest_line): Use arm_elf_find_function. + (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name. + +2004-08-17 Alan Modra + + * elf64-ppc.c (ppc64_elf_branch_reloc): New function. + (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc. + (ppc64_elf_brtaken_reloc): Here too. + +2004-08-17 Alan Modra + + * elf64-ppc.c (add_symbol_adjust): Correct mismatched function + symbol visibility. + (ppc64_elf_check_directives): Check that we have the right hash + table before proceeding. + +2004-08-17 Alan Modra + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section". + (adjust_opd_syms): Attach opd syms for deleted entries to one of + the sections that will be discarded. + +2004-08-16 Alan Modra + + * elflink.c (elf_section_complain_discarded): Ignore .fixup. + +2004-08-16 Alan Modra + + * bfd.c (_bfd_default_error_handler): Account for doubled '%' in + free space available. + +2004-08-16 Alan Modra + + * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace + occurrences with bfd_byte * thoughout file. + + * coff-rs6000.c (do_shared_object_padding): Warning fix. + (xcoff_write_armap_big): Likewise. + (xcoff_write_archive_contents_old): Likewise. + (xcoff_write_archive_contents_big): Likewise. + + * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration. + +2004-08-13 Nick Clifton + + * elf32-arm.h: Convert to ISO C90. + +2004-08-13 Alan Modra + + PR 293 + * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to + zero the plt field. + +2004-08-13 Alan Modra + + * bfd.c (_bfd_default_error_handler): Handle %A and %B. + (bfd_archive_filename, bfd_get_section_ident): Delete. + * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call + bfd_archive_filename. + * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler + to warn about symbols in discarded sections. Use _bfd_error_handler. + * aout-adobe.c (aout_adobe_callback): See below. + * aout-cris.c (swap_ext_reloc_in): .. + * coff-arm.c (find_thumb_glue, find_arm_glue, + coff_arm_relocate_section, bfd_arm_process_before_allocation, + coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags, + coff_arm_copy_private_bfd_data): .. + * coff-i860.c (i860_reloc_processing): .. + * coff-mcore.c (mcore_coff_unsupported_reloc, + coff_mcore_relocate_section): .. + * coff-ppc.c (coff_ppc_relocate_section): .. + * coff-rs6000.c (xcoff_create_csect_from_smclas + * coff-sh.c (sh_relax_section, sh_relax_delete_bytes, + sh_swap_insns, sh_relocate_section): .. + * coff-tic54x.c (tic54x_reloc_processing): .. + * coff-tic80.c (coff_tic80_relocate_section): .. + * coff64-rs6000.c (xcoff64_create_csect_from_smclas): .. + * coffcode.h (styp_to_sec_flags, coff_slurp_line_table, + coff_slurp_symbol_table, coff_classify_symbol, + coff_slurp_reloc_table): .. + * coffgen.c (_bfd_coff_read_string_table): .. + * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd, + _bfd_coff_generic_relocate_section): .. + * cpu-arm.c (bfd_arm_merge_machines): .. + * cpu-sh.c (sh_merge_bfd_arch): .. + * elf-hppa.h (elf_hppa_relocate_section): .. + * elf.c (bfd_elf_string_from_elf_section, setup_group, + _bfd_elf_setup_group_pointers, bfd_section_from_shdr, + assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol, + copy_private_bfd_data, _bfd_elf_validate_reloc): .. + * elf32-arm.h (find_thumb_glue, find_arm_glue, + bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub, + elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate, + elf32_arm_relocate_section, elf32_arm_set_private_flags, + elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): .. + * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs, + cris_elf_merge_private_bfd_data + * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): .. + * elf32-gen.c (elf32_generic_link_add_symbols): .. + * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub, + elf32_hppa_check_relocs, get_local_syms, final_link_relocate, + elf32_hppa_relocate_section): .. + * elf32-i370.c (i370_elf_merge_private_bfd_data, + i370_elf_check_relocs, i370_elf_relocate_section): .. + * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs, + elf_i386_relocate_section): .. + * elf32-m32r.c (m32r_elf_relocate_section, + m32r_elf_merge_private_bfd_data): .. + * elf32-m68hc1x.c (m68hc12_add_stub, + _bfd_m68hc11_elf_merge_private_bfd_data): .. + * elf32-m68k.c (elf_m68k_relocate_section): .. + * elf32-mcore.c (mcore_elf_unsupported_reloc, + mcore_elf_relocate_section): .. + * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc, + ppc_elf_check_relocs, ppc_elf_relocate_section, + ppc_elf_begin_write_processing): .. + * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn, + elf_s390_relocate_section): .. + * elf32-sh-symbian.c (sh_symbian_import_as, + sh_symbian_process_embedded_commands, + sh_symbian_relocate_section): .. + * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes, + sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs, + sh_elf_merge_private_data): .. + * elf32-sparc.c (elf32_sparc_check_relocs, + elf32_sparc_relocate_section, + elf32_sparc_merge_private_bfd_data): .. + * elf32-v850.c (v850_elf_check_relocs, + v850_elf_merge_private_bfd_data): .. + * elf32-xtensa.c (elf_xtensa_check_relocs, + elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): .. + * elf64-alpha.c (elf64_alpha_relax_with_lituse, + elf64_alpha_relax_got_load, elf64_alpha_size_got_sections, + elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): .. + * elf64-gen.c (elf64_generic_link_add_symbols): .. + * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub, + ppc64_elf_check_relocs, ppc64_elf_edit_opd, + ppc64_elf_relocate_section): .. + * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn, + elf_s390_relocate_section): .. + * elf64-sh64.c (sh_elf64_relocate_section): .. + * elf64-sparc.c (sparc64_elf_check_relocs, + sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section, + sparc64_elf_merge_private_bfd_data): .. + * elf64-x86-64.c (elf64_x86_64_check_relocs, + elf64_x86_64_relocate_section): .. + * elflink.c (_bfd_elf_add_default_symbol, + _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section, + _bfd_elf_link_output_relocs, elf_link_add_object_symbols, + bfd_elf_size_dynamic_sections, elf_link_output_extsym, + elf_get_linked_section_vma, elf_fixup_link_order, + bfd_elf_final_link, bfd_elf_gc_record_vtinherit, + bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): .. + * elfxx-ia64.c (elfNN_ia64_relax_section, + elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): .. + * elfxx-mips.c (mips_elf_perform_relocation, + _bfd_mips_elf_check_relocs, + _bfd_mips_elf_merge_private_bfd_data): .. + * ieee.c (ieee_slurp_external_symbols): .. + * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): .. + * libbfd.c (_bfd_generic_verify_endian_match): .. + * linker.c (_bfd_generic_link_add_one_symbol, + _bfd_generic_section_already_linked): .. + * pdp11.c (translate_to_native_sym_flags): .. + * pe-mips.c (coff_pe_mips_relocate_section): .. + * peicode.h (pe_ILF_build_a_bfd): .. + * srec.c (srec_bad_byte): .. + * stabs.c (_bfd_link_section_stabs): .. + * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): .. + Replace all uses of bfd_archive_filename and bfd_get_section_ident + with corresponding %B and %A in _bfd_error_handler format string. + Replace occurrences of "fprintf (stderr," with _bfd_error_handler + calls to use %A and %B. Fix "against symbol .. from section" and + similar error messages. Combine multiple _bfd_error_handler calls + where they were separated due to bfd_archive_filename deficiencies. + * bfd-in2.h: Regenerate. + +2004-08-12 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Report unrecognized + relocation. + +2004-08-10 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined. + (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed. + Make emit_stub_syms, stub_error and has_14bit_branch bit-fields. + Add twiddled_syms. + (link_hash_newfunc): Init was_undefined. + (add_symbol_adjust): Don't set undefined dot symbols to defweak; + Use undefweak instead. + (ppc64_elf_check_directives): Fix undefs chain. + (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed + references. + (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change. + (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions. + * elf64-ppc.h (ppc64_elf_restore_symbols): Declare. + +2004-08-09 Jakub Jelinek + + * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic + error, test input_section flags rather than sec. + +2004-08-09 Alan Modra + + * elf-bfd.h (struct elf_backend_data): Add + elf_backend_archive_symbol_lookup. + (_bfd_elf_archive_symbol_lookup): Declare. + * elflink.c (_bfd_elf_archive_symbol_lookup): New function.. + (elf_link_add_archive_symbols): ..extracted from here. Call the + backend version. + * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default. + (elfNN_bed): Init new field. + * elf64-ppc.c (elf_backend_check_directives): Define. + (elf_backend_archive_symbol_lookup): Define. + (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add + a ppc_link_hash_entry pointer. + (get_fdh): Move. + (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions. + (add_symbol_adjust, ppc64_elf_check_directives): New functions. + (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust, + ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup, + ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub, + ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section, + ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function + descriptor symbols. + +2004-08-09 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment. + (ppc64_elf_add_symbol_hook): Test for NULL section. + (get_sym_h): Formatting. + (ppc64_elf_size_stubs): Include reloc addend in value stored as + stub target_value. + + * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of + long branch stubs with code handling plt and r2off branch stubs. + +2004-08-09 Alan Modra + + * elf-bfd.h (_bfd_elf_gc_mark): Declare. + * elflink.c (elf_link_input_bfd): Formatting. + (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust + all callers. + * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry. + (link_hash_newfunc): Don't set it. + (ppc64_elf_copy_indirect_symbol): Nor copy it. + (ppc64_elf_mark_entry_syms): Delete. + (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd + sections. Use get_opd_info. + * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete. + +2004-08-09 Alan Modra + + * elf64-ppc.c (adjust_opd_syms): Fix merge error. + + * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak. + (func_desc_adjust): Don't set have_undefweak. + (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr. + (ppc64_elf_relocate_section): NOP out calls to undefweak functions. + + * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a + "struct ppc_link_hash_entry *". Adjust all references. + (ppc64_elf_hide_symbol): Correct a comment. + + * elf64-ppc.c (get_opd_info): New function. + (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero. + (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot + before calling get_fdh. Test fdh rather than h before dereferencing + fdh. Mark removed symbols in opd_adjust. + (ppc64_elf_tls_optimize): Don't bother with opd adjustment here. + (ppc64_elf_relocate_section): Use get_opd_info, and handle removed + opd symbols. + (ppc64_elf_output_symbol_hook): Likewise. + +2004-08-06 Paul Brook + + * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations. + (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32, + BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32. + * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32 + and BFD_RELOC_ARM_SBREL32. + * bfd-in2.h, bbfd.h: Regenerate. + +2004-08-01 Thiemo Seufer + + * elfxx-mips.c (mips_elf_calculate_relocation): Test only for + the dynamic link symbol actually in use. + +2004-08-01 Stephane Carrez + + * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new + +2004-07-31 Joel Brobecker + Thiemo Seufer + + * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle + SHN_MIPS_TEXT and SHN_MIPS_DATA. + +2004-07-30 H.J. Lu + Nick Clifton + + PR 290 + * bfd.c (_bfd_default_error_handler): Make it global. + + * elf-bfd.h (elf_backend_data): Add link_order_error_handler. + + * elf.c (assign_section_numbers): Cope gracefully with sections + which have SHF_LINK_ORDER set but no sh_link set up. + * elflink.c (elf_get_linked_section_vma): Likewise. + + * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set + it to NULL. + + * elfxx-target.h (elf_backend_link_order_error_handler): New. + Set it to _bfd_default_error_handler. + (elfNN_bed): Add elf_backend_link_order_error_handler. + + * libbfd-in.h (_bfd_default_error_handler): New. + + * libbfd.h: Regenerated. + +2004-07-30 Jakub Jelinek + + * archures.c (bfd_mach_sparc_64bit_p): Define. + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it. + * bfd-in2.h: Rebuilt. + +2004-07-29 Alexandre Oliva + + Introduce SH2a support. + 2004-02-18 Corinna Vinschen + * archures.c (bfd_mach_sh2a_nofpu): New. + * bfd-in2.h: Rebuilt. + * cpu-sh.c (SH2A_NOFPU_NEXT): New. + (arch_info_struct): Add sh2a_nofpu. + * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu. + 2003-12-29 DJ Delorie + * reloc.c: Add relocs for sh2a. + * bfd-in2.h: Regenerate. + * libbfd.hh: Regenerate. + 2003-12-01 Michael Snyder + * archures.c (bfd_mach_sh2a): New. + * bfd-in2.h: Rebuilt. + * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums. + (SH2A_NEXT): New. + (arch_info_struct): Add sh2a. + * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a. + +2004-07-28 Nick Clifton + John David Anglin + + PR 273 + * som.c (setup_sections): Improve estimation of space sizes in + relocatable objects. + +2004-07-27 Jason Thorpe + * config.bfd (hppa*-*-netbsd*): Set targ_defvec to + bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec + to targ_selvecs. + * configure.in (bfd_elf32_hppa_nbsd_vec): Add case. + * configure: Regenerate. + * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd" + case that accepts OSABI=NetBSD and OSABI=SysV. + (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to + the base of .got or .data (if .got does not exist). + (elf32_hppa_post_process_headers): For elf32-hppa-netbsd, + set OSABI=NetBSD. + (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case. + (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case. + * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration. + (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec. + 2004-07-27 H.J. Lu PR 161/251 diff -uprN binutils-2.15.91.0.2/bfd/Makefile.am binutils-2.15.92.0.2/bfd/Makefile.am --- binutils-2.15.91.0.2/bfd/Makefile.am 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/Makefile.am 2004-09-27 13:46:06.000000000 -0700 @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. # RELEASE=y @@ -575,6 +575,14 @@ OPTIONAL_BACKENDS_CFILES = \ trad-core.c \ cisco-core.c +# We want to rerun configure if configure.in, config.bfd or +# configure.host change. configure.in is needed since the version +# number in Makefile comes from configure.in. +CONFIG_STATUS_DEPENDENCIES = \ + $(srcdir)/configure.in \ + $(srcdir)/config.bfd \ + $(srcdir)/configure.host + # These are defined by configure.in: WORDSIZE = @wordsize@ ALL_BACKENDS = @all_backends@ @@ -763,8 +771,6 @@ uninstall_libbfd: rm -f $(DESTDIR)$(bfdincludedir)/symcat.h rm -f $(DESTDIR)$(bfdincludedir)/bfdlink.h -Makefile: $(srcdir)/configure.in - # Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES). DEP: dep.sed $(CFILES) $(HFILES) bfd.h rm -f DEP1 @@ -871,10 +877,6 @@ CLEANFILES = bfd.h dep.sed stmp-bfd-h DE DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) -# We want to rerun configure if configure, config.bfd or configure.host change. -config.status: $(srcdir)/configure $(srcdir)/config.bfd $(srcdir)/configure.host - $(SHELL) ./config.status --recheck - bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in @echo "creating $@" @bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ @@ -1172,9 +1174,9 @@ elf32-cris.lo: elf32-cris.c $(INCDIR)/fi $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h -elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ +elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1321,10 +1323,10 @@ elf32-sh.lo: elf32-sh.c $(INCDIR)/filena $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \ elf32-target.h -elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ +elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \ + $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ $(srcdir)/../opcodes/sh-opc.h elf32-target.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ @@ -1557,7 +1559,8 @@ xcofflink.lo: xcofflink.c $(INCDIR)/file xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h xtensa-isa.lo: xtensa-isa.c $(INCDIR)/xtensa-isa.h \ $(INCDIR)/xtensa-isa-internal.h -xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa-internal.h +xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \ + $(INCDIR)/xtensa-isa-internal.h aix5ppc-core.lo: aix5ppc-core.c aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \ $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \ diff -uprN binutils-2.15.91.0.2/bfd/Makefile.in binutils-2.15.92.0.2/bfd/Makefile.in --- binutils-2.15.91.0.2/bfd/Makefile.in 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/Makefile.in 2004-09-27 13:46:06.000000000 -0700 @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated by automake 1.9.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,61 +12,108 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +@SET_MAKE@ -SHELL = @SHELL@ + +SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -build_alias = @build_alias@ build_triplet = @build@ -host_alias = @host_alias@ host_triplet = @host@ -target_alias = @target_alias@ target_triplet = @target@ +DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub README \ + ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.in $(srcdir)/../mkinstalldirs \ + $(top_srcdir)/../binutils.spec.in $(srcdir)/bfd-in2.h \ + $(top_srcdir)/po/Make-in $(srcdir)/../ltmain.sh \ + $(srcdir)/../config.guess $(srcdir)/../config.sub +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../config/accross.m4 \ + $(top_srcdir)/../config/acx.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ../binutils.spec bfd-in3.h po/Makefile.in +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libbfd_a_AR = $(AR) $(ARFLAGS) +libbfd_a_LIBADD = +am_libbfd_a_OBJECTS = +libbfd_a_OBJECTS = $(am_libbfd_a_OBJECTS) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(bfdlibdir)" +bfdlibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(bfdlib_LTLIBRARIES) +am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ + cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo \ + opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo \ + linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo \ + stab-syms.lo merge.lo dwarf2.lo simple.lo +am__objects_2 = archive64.lo +am_libbfd_la_OBJECTS = $(am__objects_1) $(am__objects_2) +libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ AR = @AR@ -AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ BFD_HOST_64BIT_LONG = @BFD_HOST_64BIT_LONG@ BFD_HOST_64_BIT = @BFD_HOST_64_BIT@ BFD_HOST_64_BIT_DEFINED = @BFD_HOST_64_BIT_DEFINED@ @@ -73,75 +122,140 @@ BFD_HOST_U_64_BIT = @BFD_HOST_U_64_BIT@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ COREFILE = @COREFILE@ COREFLAG = @COREFLAG@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ HDEFINES = @HDEFINES@ INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@ +INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ TDEFINES = @TDEFINES@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WIN32LDFLAGS = @WIN32LDFLAGS@ WIN32LIBADD = @WIN32LIBADD@ +XGETTEXT = @XGETTEXT@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ all_backends = @all_backends@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ bfd_file_ptr = @bfd_file_ptr@ bfd_libs = @bfd_libs@ bfd_machines = @bfd_machines@ bfd_ufile_ptr = @bfd_ufile_ptr@ +bfdincludedir = @bfdincludedir@ +bfdlibdir = @bfdlibdir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_noncanonical = @host_noncanonical@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ l = @l@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_noncanonical = @target_noncanonical@ +target_os = @target_os@ +target_vendor = @target_vendor@ tdefaults = @tdefaults@ wordsize = @wordsize@ - -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. # RELEASE=y - INCDIR = $(srcdir)/../include CSEARCH = -I. -I$(srcdir) -I$(INCDIR) MKDEP = gcc -MM - SUBDIRS = doc po - docdir = doc -bfdlibdir = @bfdlibdir@ -bfdincludedir = @bfdincludedir@ - bfdlib_LTLIBRARIES = libbfd.la - -WARN_CFLAGS = @WARN_CFLAGS@ AM_CFLAGS = $(WARN_CFLAGS) # bfd.h goes here, for now @@ -162,9 +276,7 @@ BFD32_LIBS = \ srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \ merge.lo dwarf2.lo simple.lo - BFD64_LIBS = archive64.lo - BFD32_LIBS_CFILES = \ archive.c archures.c bfd.c bfdio.c bfdwin.c \ cache.c coffgen.c corefile.c \ @@ -173,7 +285,6 @@ BFD32_LIBS_CFILES = \ srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ merge.c dwarf2.c simple.c - BFD64_LIBS_CFILES = archive64.c # This list is alphabetized to make it easier to keep in sync @@ -235,7 +346,6 @@ ALL_MACHINES = \ cpu-xtensa.lo \ cpu-z8k.lo - ALL_MACHINES_CFILES = \ cpu-a29k.c \ cpu-alpha.c \ @@ -465,7 +575,6 @@ BFD32_BACKENDS = \ xtensa-isa.lo \ xtensa-modules.lo - BFD32_BACKENDS_CFILES = \ aout-adobe.c \ aout-arm.c \ @@ -662,7 +771,6 @@ BFD64_BACKENDS = \ nlm64.lo \ pepigen.lo - BFD64_BACKENDS_CFILES = \ aix5ppc-core.c \ aout64.c \ @@ -686,7 +794,6 @@ BFD64_BACKENDS_CFILES = \ nlm32-alpha.c \ nlm64.c - OPTIONAL_BACKENDS = \ aix386-core.lo \ hpux-core.lo \ @@ -697,7 +804,6 @@ OPTIONAL_BACKENDS = \ trad-core.lo \ cisco-core.lo - OPTIONAL_BACKENDS_CFILES = \ aix386-core.c \ hpux-core.c \ @@ -709,6 +815,15 @@ OPTIONAL_BACKENDS_CFILES = \ cisco-core.c +# We want to rerun configure if configure.in, config.bfd or +# configure.host change. configure.in is needed since the version +# number in Makefile comes from configure.in. +CONFIG_STATUS_DEPENDENCIES = \ + $(srcdir)/configure.in \ + $(srcdir)/config.bfd \ + $(srcdir)/configure.host + + # These are defined by configure.in: WORDSIZE = @wordsize@ ALL_BACKENDS = @all_backends@ @@ -716,7 +831,6 @@ BFD_BACKENDS = @bfd_backends@ BFD_LIBS = @bfd_libs@ BFD_MACHINES = @bfd_machines@ TDEFAULTS = @tdefaults@ - INCLUDES = -D_GNU_SOURCE @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) -I$(srcdir)/../intl -I../intl # C source files that correspond to .o's. @@ -728,13 +842,10 @@ SOURCE_CFILES = \ $(BFD64_BACKENDS_CFILES) \ $(OPTIONAL_BACKENDS_CFILES) - BUILD_CFILES = \ elf32-ia64.c elf64-ia64.c peigen.c pepigen.c - CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) - SOURCE_HFILES = \ aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \ @@ -746,13 +857,10 @@ SOURCE_HFILES = \ pef.h pef-traceback.h peicode.h som.h version.h \ vms.h xcoff-target.h xsym.h - BUILD_HFILES = \ bfdver.h elf32-target.h elf64-target.h targmatch.h - HFILES = $(SOURCE_HFILES) $(BUILD_HFILES) - SRC_POTFILES = $(SOURCE_CFILES) $(SOURCE_HFILES) BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES) @@ -761,7 +869,6 @@ BLD_POTFILES = $(BUILD_CFILES) $(BUILD_H # BFD_MACHINES Architecture-specific routines the configured targets need. # COREFILE Core file routines for a native configuration OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ - libbfd_la_SOURCES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES) libbfd_la_DEPENDENCIES = $(OFILES) ofiles libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@ @@ -771,13 +878,10 @@ libbfd_la_LDFLAGS = -release $(VERSION) # directory so that we don't have to convert all the programs that use # libbfd.a simultaneously. This is a hack which should be removed if # everything else starts using libtool. FIXME. - noinst_LIBRARIES = libbfd.a libbfd_a_SOURCES = - BFD_H_DEPS = $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h LOCAL_H_DEPS = libbfd.h sysdep.h config.h - BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c section.c archures.c \ reloc.c syms.c bfd.c bfdio.c bfdwin.c \ archive.c corefile.c targets.c format.c @@ -787,138 +891,101 @@ LIBBFD_H_FILES = libbfd-in.h init.c libb cache.c reloc.c archures.c elf.c LIBCOFF_H_FILES = libcoff-in.h coffcode.h - MOSTLYCLEANFILES = ofiles stamp-ofiles - CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \ stmp-bin2-h stmp-lbfd-h stmp-lcoff-h - DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = bfd-in3.h -LIBRARIES = $(noinst_LIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -libbfd_a_LIBADD = -libbfd_a_OBJECTS = -LTLIBRARIES = $(bfdlib_LTLIBRARIES) - -libbfd_la_OBJECTS = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ -cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo \ -reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo \ -binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo \ -simple.lo archive64.lo -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README ./stamp-h.in COPYING ChangeLog Makefile.am \ -Makefile.in TODO acinclude.m4 aclocal.m4 bfd-in2.h config.in configure \ -configure.in - +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \ + cd $(srcdir) && $(AUTOMAKE) --cygnus \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --cygnus Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; -TAR = gtar -GZIP_ENV = --best -SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) -OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS) +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj .s -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status - -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h - @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ - else :; fi -stamp-h: $(srcdir)/config.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h:config.in \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in +config.h: stamp-h1 @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null - -mostlyclean-hdr: -clean-hdr: +stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: -bfd-in3.h: $(top_builddir)/config.status bfd-in2.h - cd $(top_builddir) && CONFIG_FILES=$@:bfd-in2.h CONFIG_HEADERS= $(SHELL) ./config.status - -mostlyclean-noinstLIBRARIES: + -rm -f config.h stamp-h1 +../binutils.spec: $(top_builddir)/config.status $(top_srcdir)/../binutils.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +bfd-in3.h: $(top_builddir)/config.status $(srcdir)/bfd-in2.h + cd $(top_builddir) && $(SHELL) ./config.status $@ +po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in + cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLIBRARIES: - -maintainer-clean-noinstLIBRARIES: - -.c.o: - $(COMPILE) -c $< - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +clean-bfdlibLTLIBRARIES: + -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) + @list='$(bfdlib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) + $(LINK) -rpath $(bfdlibdir) $(libbfd_la_LDFLAGS) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core -rm -f *.$(OBJEXT) -clean-compile: - distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.o: + $(COMPILE) -c $< -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.lo: + $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -927,20 +994,8 @@ clean-libtool: -rm -rf .libs _libs distclean-libtool: - -maintainer-clean-libtool: - -mostlyclean-bfdlibLTLIBRARIES: - -clean-bfdlibLTLIBRARIES: - -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) - -distclean-bfdlibLTLIBRARIES: - -maintainer-clean-bfdlibLTLIBRARIES: - -libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) - $(LINK) -rpath $(bfdlibdir) $(libbfd_la_LDFLAGS) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS) + -rm -f libtool +uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -948,13 +1003,8 @@ libbfd.la: $(libbfd_la_OBJECTS) $(libbfd # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -974,13 +1024,18 @@ check-recursive installcheck-recursive i mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" != "." || dot_seen=yes; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ + rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ @@ -996,132 +1051,93 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) + mkid -fID $$unique +tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) $(LISP) +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.in $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-am: check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-info-am: -install-info: install-info-recursive -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bfdlibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive install-exec: install-exec-recursive - -install-data-am: install-bfdlibLTLIBRARIES install-data: install-data-recursive +uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: uninstall-bfdlibLTLIBRARIES -uninstall: uninstall-recursive -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h -all-redirect: all-recursive-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bfdlibdir) - +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -1129,65 +1145,81 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-noinstLIBRARIES \ - mostlyclean-compile mostlyclean-libtool \ - mostlyclean-bfdlibLTLIBRARIES mostlyclean-tags \ - mostlyclean-generic + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive -mostlyclean: mostlyclean-recursive +clean-am: clean-bfdlibLTLIBRARIES clean-generic clean-libtool \ + clean-noinstLIBRARIES mostlyclean-am -clean-am: clean-hdr clean-noinstLIBRARIES clean-compile clean-libtool \ - clean-bfdlibLTLIBRARIES clean-tags clean-generic \ - mostlyclean-am +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags -clean: clean-recursive +dvi: dvi-recursive -distclean-am: distclean-hdr distclean-noinstLIBRARIES distclean-compile \ - distclean-libtool distclean-bfdlibLTLIBRARIES \ - distclean-tags distclean-generic clean-am - -rm -f libtool +dvi-am: -distclean: distclean-recursive - -rm -f config.status +html: html-recursive -maintainer-clean-am: maintainer-clean-hdr \ - maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-bfdlibLTLIBRARIES \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +info: info-recursive + +info-am: + +install-data-am: install-bfdlibLTLIBRARIES + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f config.status + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool mostlyclean-bfdlibLTLIBRARIES \ -distclean-bfdlibLTLIBRARIES clean-bfdlibLTLIBRARIES \ -maintainer-clean-bfdlibLTLIBRARIES uninstall-bfdlibLTLIBRARIES \ -install-bfdlibLTLIBRARIES install-data-recursive \ -uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-info-am \ -install-info all-recursive-am install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-bfdlibLTLIBRARIES + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-bfdlibLTLIBRARIES clean-generic \ + clean-libtool clean-noinstLIBRARIES clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-recursive \ + distclean-tags dvi dvi-am html html-am info info-am install \ + install-am install-bfdlibLTLIBRARIES install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-bfdlibLTLIBRARIES uninstall-info-am po/SRC-POTFILES.in: @MAINT@ Makefile $(SRC_POTFILES) @@ -1311,8 +1343,6 @@ uninstall_libbfd: rm -f $(DESTDIR)$(bfdincludedir)/symcat.h rm -f $(DESTDIR)$(bfdincludedir)/bfdlink.h -Makefile: $(srcdir)/configure.in - # Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES). DEP: dep.sed $(CFILES) $(HFILES) bfd.h rm -f DEP1 @@ -1404,10 +1434,6 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(SHELL) $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h touch stmp-lcoff-h -# We want to rerun configure if configure, config.bfd or configure.host change. -config.status: $(srcdir)/configure $(srcdir)/config.bfd $(srcdir)/configure.host - $(SHELL) ./config.status --recheck - bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in @echo "creating $@" @bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ @@ -1705,9 +1731,9 @@ elf32-cris.lo: elf32-cris.c $(INCDIR)/fi $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h -elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ +elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1854,10 +1880,10 @@ elf32-sh.lo: elf32-sh.c $(INCDIR)/filena $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \ elf32-target.h -elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ +elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \ + $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ $(srcdir)/../opcodes/sh-opc.h elf32-target.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ @@ -2090,7 +2116,8 @@ xcofflink.lo: xcofflink.c $(INCDIR)/file xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h xtensa-isa.lo: xtensa-isa.c $(INCDIR)/xtensa-isa.h \ $(INCDIR)/xtensa-isa-internal.h -xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa-internal.h +xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \ + $(INCDIR)/xtensa-isa-internal.h aix5ppc-core.lo: aix5ppc-core.c aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \ $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \ @@ -2205,7 +2232,6 @@ pepigen.lo: pepigen.c $(INCDIR)/filename $(INCDIR)/coff/ia64.h $(INCDIR)/coff/external.h $(INCDIR)/coff/pe.h \ libcoff.h $(INCDIR)/bfdlink.h libpei.h # IF YOU PUT ANYTHING HERE IT WILL GO AWAY - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff -uprN binutils-2.15.91.0.2/bfd/acinclude.m4 binutils-2.15.92.0.2/bfd/acinclude.m4 --- binutils-2.15.91.0.2/bfd/acinclude.m4 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/acinclude.m4 2004-09-15 12:05:02.000000000 -0700 @@ -1,8 +1,9 @@ sinclude(../config/accross.m4) +sinclude(../config/acx.m4) dnl See whether we need to use fopen-bin.h rather than fopen-same.h. AC_DEFUN([BFD_BINARY_FOPEN], -[AC_REQUIRE([AC_CANONICAL_SYSTEM]) +[AC_REQUIRE([AC_CANONICAL_TARGET]) case "${host}" in changequote(,)dnl *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*) @@ -138,12 +139,15 @@ AC_DEFUN([AM_INSTALL_LIBBFD], fi) AC_MSG_RESULT($install_libbfd_p) AM_CONDITIONAL(INSTALL_LIBBFD, test $install_libbfd_p = yes) + # Need _noncanonical variables for this. + ACX_NONCANONICAL_HOST + ACX_NONCANONICAL_TARGET # libbfd.a is a host library containing target dependent code bfdlibdir='$(libdir)' bfdincludedir='$(includedir)' if test "${host}" != "${target}"; then - bfdlibdir='$(exec_prefix)/$(host_alias)/$(target_alias)/lib' - bfdincludedir='$(exec_prefix)/$(host_alias)/$(target_alias)/include' + bfdlibdir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/lib' + bfdincludedir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/include' fi AC_SUBST(bfdlibdir) AC_SUBST(bfdincludedir) diff -uprN binutils-2.15.91.0.2/bfd/aclocal.m4 binutils-2.15.92.0.2/bfd/aclocal.m4 --- binutils-2.15.91.0.2/bfd/aclocal.m4 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/aclocal.m4 2004-09-16 10:24:34.000000000 -0700 @@ -1,242 +1,555 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p6 +# generated automatically by aclocal 1.9.1 -*- Autoconf -*- -dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -sinclude(../config/accross.m4) - -dnl See whether we need to use fopen-bin.h rather than fopen-same.h. -AC_DEFUN([BFD_BINARY_FOPEN], -[AC_REQUIRE([AC_CANONICAL_SYSTEM]) -case "${host}" in -changequote(,)dnl -*-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*) -changequote([,])dnl - AC_DEFINE(USE_BINARY_FOPEN, 1, [Use b modifier when opening binary files?]) ;; -esac])dnl - -dnl Get a default for CC_FOR_BUILD to put into Makefile. -AC_DEFUN([BFD_CC_FOR_BUILD], -[# Put a plausible default for CC_FOR_BUILD in Makefile. -if test -z "$CC_FOR_BUILD"; then - if test "x$cross_compiling" = "xno"; then - CC_FOR_BUILD='$(CC)' - else - CC_FOR_BUILD=gcc - fi -fi -AC_SUBST(CC_FOR_BUILD) -# Also set EXEEXT_FOR_BUILD. -if test "x$cross_compiling" = "xno"; then - EXEEXT_FOR_BUILD='$(EXEEXT)' -else - AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, - [rm -f conftest* - echo 'int main () { return 0; }' > conftest.c - bfd_cv_build_exeext= - ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - rm -f conftest* - test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) - EXEEXT_FOR_BUILD="" - test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} -fi -AC_SUBST(EXEEXT_FOR_BUILD)])dnl - -dnl See whether we need a declaration for a function. -AC_DEFUN([BFD_NEED_DECLARATION], -[AC_MSG_CHECKING([whether $1 must be declared]) -AC_CACHE_VAL(bfd_cv_decl_needed_$1, -[AC_TRY_COMPILE([ -#include -#ifdef HAVE_STRING_H -#include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif], -[char *(*pfn) = (char *(*)) $1], -bfd_cv_decl_needed_$1=no, bfd_cv_decl_needed_$1=yes)]) -AC_MSG_RESULT($bfd_cv_decl_needed_$1) -if test $bfd_cv_decl_needed_$1 = yes; then - AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1, - [Define if $1 is not declared in system header files.]) -fi -])dnl - -dnl Check for existence of a type $1 in sys/procfs.h - -AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE], -[AC_MSG_CHECKING([for $1 in sys/procfs.h]) - AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1, - [AC_TRY_COMPILE([ -#define _SYSCALL32 -#include ], - [$1 avar], - bfd_cv_have_sys_procfs_type_$1=yes, - bfd_cv_have_sys_procfs_type_$1=no - )]) - if test $bfd_cv_have_sys_procfs_type_$1 = yes; then - AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]), 1, - [Define if has $1.]) - fi - AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_$1) -]) +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. -dnl Check for existence of member $2 in type $1 in sys/procfs.h +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER], -[AC_MSG_CHECKING([for $1.$2 in sys/procfs.h]) - AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2, - [AC_TRY_COMPILE([ -#define _SYSCALL32 -#include ], - [$1 avar; void* aref = (void*) &avar.$2], - bfd_cv_have_sys_procfs_type_member_$1_$2=yes, - bfd_cv_have_sys_procfs_type_member_$1_$2=no - )]) - if test $bfd_cv_have_sys_procfs_type_member_$1_$2 = yes; then - AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z])[_]translit($2, [a-z], [A-Z]), 1, - [Define if has $1.$2.]) - fi - AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_member_$1_$2) -]) +# 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. -sinclude(../libtool.m4) -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AM_DISABLE_SHARED],) -AC_SUBST(LIBTOOL) -]) +# 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 + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.1])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. -sinclude(../gettext.m4) -ifelse(yes,no,[ -AC_DEFUN([CY_WITH_NLS],) -AC_SUBST(INTLLIBS) +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` ]) -AC_DEFUN([AM_INSTALL_LIBBFD], -[AC_MSG_CHECKING([whether to install libbfd]) - AC_ARG_ENABLE(install-libbfd, -[ --enable-install-libbfd controls installation of libbfd and related headers], - install_libbfd_p=$enableval, - if test "${host}" = "${target}" || test "$enable_shared" = "yes"; then - install_libbfd_p=yes - else - install_libbfd_p=no - fi) - AC_MSG_RESULT($install_libbfd_p) - AM_CONDITIONAL(INSTALL_LIBBFD, test $install_libbfd_p = yes) - # libbfd.a is a host library containing target dependent code - bfdlibdir='$(libdir)' - bfdincludedir='$(includedir)' - if test "${host}" != "${target}"; then - bfdlibdir='$(exec_prefix)/$(host_alias)/$(target_alias)/lib' - bfdincludedir='$(exec_prefix)/$(host_alias)/$(target_alias)/include' - fi - AC_SUBST(bfdlibdir) - AC_SUBST(bfdincludedir) -] -) +# AM_CONDITIONAL -*- Autoconf -*- -# Define a conditional. +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= -fi]) +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) +# serial 7 -*- Autoconf -*- -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. -# serial 1 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. -dnl Usage: -dnl AM_INIT_AUTOMAKE(package,version, [no-define]) +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL]) -PACKAGE=[$1] -AC_SUBST(PACKAGE) -VERSION=[$2] -AC_SUBST(VERSION) -dnl test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi -ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) -AC_REQUIRE([AM_SANITY_CHECK]) -AC_REQUIRE([AC_ARG_PROGRAM]) -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_REQUIRE([AC_PROG_MAKE_SET])]) -# Copyright 2002 Free Software Foundation, Inc. +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -251,42 +564,357 @@ AC_REQUIRE([AC_PROG_MAKE_SET])]) # 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. -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.4-p6])]) +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 3 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "[$]*" = "X"; then + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "[$]*" != "X $srcdir/configure conftestfile" \ - && test "[$]*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -296,7 +924,7 @@ if ( alias in your environment]) fi - test "[$]2" = conftestfile + test "$[2]" = conftest.file ) then # Ok. @@ -305,65 +933,153 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -rm -f conftest* AC_MSG_RESULT(yes)]) -dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) -dnl The program must properly implement --version. -AC_DEFUN([AM_MISSING_PROG], -[AC_MSG_CHECKING(for working $2) -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if ($2 --version) < /dev/null > /dev/null 2>&1; then - $1=$2 - AC_MSG_RESULT(found) -else - $1="$3/missing $2" - AC_MSG_RESULT(missing) +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) fi -AC_SUBST($1)]) +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Like AC_CONFIG_HEADER, but automatically create stamp file. +# Check how to create a tarball. -*- Autoconf -*- -AC_DEFUN([AM_CONFIG_HEADER], -[AC_PREREQ([2.12]) -AC_CONFIG_HEADER([$1]) -dnl When config.status generates a header, we must update the stamp-h file. -dnl This file resides in the same directory as the config header -dnl that is generated. We must strip everything past the first ":", -dnl and everything past the last "/". -AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl -ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; do - case " <<$>>CONFIG_HEADERS " in - *" <<$>>am_file "*<<)>> - echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=`expr "<<$>>am_indx" + 1` -done<<>>dnl>>) -changequote([,]))]) +# Copyright (C) 2004 Free Software Foundation, Inc. -# Add --enable-maintainer-mode option to configure. -# From Jim Meyering +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. # serial 1 -AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) - AC_MSG_RESULT($USE_MAINTAINER_MODE) - AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl -] -) +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff -uprN binutils-2.15.91.0.2/bfd/aout-adobe.c binutils-2.15.92.0.2/bfd/aout-adobe.c --- binutils-2.15.91.0.2/bfd/aout-adobe.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/aout-adobe.c 2004-09-15 12:05:02.000000000 -0700 @@ -201,8 +201,8 @@ aout_adobe_callback (abfd) default: (*_bfd_error_handler) - (_("%s: Unknown section type in a.out.adobe file: %x\n"), - bfd_archive_filename (abfd), ext->e_type[0]); + (_("%B: Unknown section type in a.out.adobe file: %x\n"), + abfd, ext->e_type[0]); goto no_more_sections; } diff -uprN binutils-2.15.91.0.2/bfd/aout-cris.c binutils-2.15.92.0.2/bfd/aout-cris.c --- binutils-2.15.91.0.2/bfd/aout-cris.c 2003-03-19 09:19:13.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/aout-cris.c 2004-09-15 12:05:02.000000000 -0700 @@ -1,5 +1,5 @@ /* BFD backend for CRIS a.out binaries. - Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Axis Communications AB. Written by Hans-Peter Nilsson. @@ -248,10 +248,10 @@ MY(swap_ext_reloc_in) (abfd, bytes, cach if (r_type > 2) { - (*_bfd_error_handler) (_("%s: Invalid relocation type imported: %d"), - bfd_archive_filename (abfd), r_type); + (*_bfd_error_handler) (_("%B: Invalid relocation type imported: %d"), + abfd, r_type); - bfd_set_error(bfd_error_wrong_format); + bfd_set_error (bfd_error_wrong_format); } cache_ptr->howto = howto_table_ext + r_type; @@ -259,8 +259,7 @@ MY(swap_ext_reloc_in) (abfd, bytes, cach if (r_extern && r_index > symcount) { (*_bfd_error_handler) - (_("%s: Bad relocation record imported: %d"), - bfd_archive_filename (abfd), r_index); + (_("%B: Bad relocation record imported: %d"), abfd, r_index); bfd_set_error (bfd_error_wrong_format); diff -uprN binutils-2.15.91.0.2/bfd/archures.c binutils-2.15.92.0.2/bfd/archures.c --- binutils-2.15.91.0.2/bfd/archures.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/archures.c 2004-09-15 12:05:02.000000000 -0700 @@ -128,6 +128,9 @@ DESCRIPTION .#define bfd_mach_sparc_v9_p(mach) \ . ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \ . && (mach) != bfd_mach_sparc_sparclite_le) +.{* Nonzero if MACH is a 64 bit sparc architecture. *} +.#define bfd_mach_sparc_64bit_p(mach) \ +. ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb) . bfd_arch_mips, {* MIPS Rxxxx *} .#define bfd_mach_mips3000 3000 .#define bfd_mach_mips3900 3900 @@ -229,6 +232,8 @@ DESCRIPTION .#define bfd_mach_sh 1 .#define bfd_mach_sh2 0x20 .#define bfd_mach_sh_dsp 0x2d +.#define bfd_mach_sh2a 0x2a +.#define bfd_mach_sh2a_nofpu 0x2b .#define bfd_mach_sh2e 0x2e .#define bfd_mach_sh3 0x30 .#define bfd_mach_sh3_nommu 0x31 diff -uprN binutils-2.15.91.0.2/bfd/bfd-in.h binutils-2.15.92.0.2/bfd/bfd-in.h --- binutils-2.15.91.0.2/bfd/bfd-in.h 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/bfd-in.h 2004-09-27 13:46:06.000000000 -0700 @@ -816,6 +816,9 @@ extern bfd_boolean bfd_elf32_arm_allocat extern bfd_boolean bfd_elf32_arm_process_before_allocation (bfd *, struct bfd_link_info *, int, int); +void bfd_elf32_arm_set_target_relocs + (struct bfd_link_info *, int, char *); + extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); diff -uprN binutils-2.15.91.0.2/bfd/bfd-in2.h binutils-2.15.92.0.2/bfd/bfd-in2.h --- binutils-2.15.91.0.2/bfd/bfd-in2.h 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/bfd-in2.h 2004-09-27 13:46:06.000000000 -0700 @@ -823,6 +823,9 @@ extern bfd_boolean bfd_elf32_arm_allocat extern bfd_boolean bfd_elf32_arm_process_before_allocation (bfd *, struct bfd_link_info *, int, int); +void bfd_elf32_arm_set_target_relocs + (struct bfd_link_info *, int, char *); + extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); @@ -1484,7 +1487,7 @@ void bfd_map_over_sections asection *bfd_sections_find_if (bfd *abfd, - bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj), + bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj), void *obj); bfd_boolean bfd_set_section_size @@ -1576,6 +1579,9 @@ enum bfd_architecture #define bfd_mach_sparc_v9_p(mach) \ ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \ && (mach) != bfd_mach_sparc_sparclite_le) +/* Nonzero if MACH is a 64 bit sparc architecture. */ +#define bfd_mach_sparc_64bit_p(mach) \ + ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb) bfd_arch_mips, /* MIPS Rxxxx */ #define bfd_mach_mips3000 3000 #define bfd_mach_mips3900 3900 @@ -1677,6 +1683,8 @@ enum bfd_architecture #define bfd_mach_sh 1 #define bfd_mach_sh2 0x20 #define bfd_mach_sh_dsp 0x2d +#define bfd_mach_sh2a 0x2a +#define bfd_mach_sh2a_nofpu 0x2b #define bfd_mach_sh2e 0x2e #define bfd_mach_sh3 0x30 #define bfd_mach_sh3_nommu 0x31 @@ -2634,9 +2642,35 @@ field in the instruction. */ BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC, +/* Pc-relative or absolute relocation depending on target. Used for +entries in .init_array sections. */ + BFD_RELOC_ARM_TARGET1, + +/* Read-only segment base relative address. */ + BFD_RELOC_ARM_ROSEGREL32, + +/* Data segment base relative address. */ + BFD_RELOC_ARM_SBREL32, + +/* This reloc is used for References to RTTI dta from exception handling +tables. The actual definition depends on the target. It may be a +pc-relative or some form of GOT-indirect relocation. */ + BFD_RELOC_ARM_TARGET2, + +/* 31-bit PC relative address. */ + BFD_RELOC_ARM_PREL31, + /* Renesas / SuperH SH relocs. Not all of these appear in object files. */ BFD_RELOC_SH_PCDISP8BY2, BFD_RELOC_SH_PCDISP12BY2, + BFD_RELOC_SH_IMM3, + BFD_RELOC_SH_IMM3U, + BFD_RELOC_SH_DISP12, + BFD_RELOC_SH_DISP12BY2, + BFD_RELOC_SH_DISP12BY4, + BFD_RELOC_SH_DISP12BY8, + BFD_RELOC_SH_DISP20, + BFD_RELOC_SH_DISP20BY8, BFD_RELOC_SH_IMM4, BFD_RELOC_SH_IMM4BY2, BFD_RELOC_SH_IMM4BY4, @@ -3564,6 +3598,8 @@ This is the 5 bits of a value. */ BFD_RELOC_MSP430_16, BFD_RELOC_MSP430_16_PCREL_BYTE, BFD_RELOC_MSP430_16_BYTE, + BFD_RELOC_MSP430_2X_PCREL, + BFD_RELOC_MSP430_RL_PCREL, /* IQ2000 Relocations. */ BFD_RELOC_IQ2000_OFFSET_16, @@ -3978,8 +4014,6 @@ void bfd_set_error_program_name (const c bfd_error_handler_type bfd_get_error_handler (void); -const char *bfd_archive_filename (bfd *); - long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect); long bfd_canonicalize_reloc @@ -4088,8 +4122,9 @@ bfd_boolean bfd_set_private_flags (bfd * #define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \ BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols)) -#define bfd_get_synthetic_symtab(abfd, dynsyms, ret) \ - BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, dynsyms, ret)) +#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \ + BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \ + dyncount, dynsyms, ret)) #define bfd_get_dynamic_reloc_upper_bound(abfd) \ BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd)) @@ -4121,8 +4156,6 @@ void bfd_preserve_restore (bfd *, struct void bfd_preserve_finish (bfd *, struct bfd_preserve *); -char *bfd_get_section_ident (asection *sec); - /* Extracted from archive.c. */ symindex bfd_get_next_mapent (bfd *abfd, symindex previous, carsym **sym); @@ -4499,7 +4532,8 @@ typedef struct bfd_target (bfd *, struct bfd_symbol **); /* Create synthetized symbols. */ long (*_bfd_get_synthetic_symtab) - (bfd *, struct bfd_symbol **, struct bfd_symbol **); + (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **, + struct bfd_symbol **); /* Get the amount of memory required to hold the dynamic relocs. */ long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *); /* Read in the dynamic relocs. */ diff -uprN binutils-2.15.91.0.2/bfd/bfd.c binutils-2.15.92.0.2/bfd/bfd.c --- binutils-2.15.91.0.2/bfd/bfd.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/bfd.c 2004-09-15 12:05:02.000000000 -0700 @@ -406,23 +406,152 @@ CODE_FRAGMENT static const char *_bfd_error_program_name; -/* This is the default routine to handle BFD error messages. */ +/* This is the default routine to handle BFD error messages. + Like fprintf (stderr, ...), but also handles some extra format specifiers. -static void -_bfd_default_error_handler (const char *s, ...) + %A section name from section. For group components, print group name too. + %B file name from bfd. For archive components, prints archive too. + */ + +void +_bfd_default_error_handler (const char *fmt, ...) { - va_list p; + va_list ap; + char *bufp; + const char *new_fmt, *p; + size_t avail = 1000; + char buf[1000]; if (_bfd_error_program_name != NULL) fprintf (stderr, "%s: ", _bfd_error_program_name); else fprintf (stderr, "BFD: "); - va_start (p, s); - vfprintf (stderr, s, p); - va_end (p); + va_start (ap, fmt); + new_fmt = fmt; + bufp = buf; + + /* Reserve enough space for the existing format string. */ + avail -= strlen (fmt) + 1; + if (avail > 1000) + abort (); + + p = fmt; + while (1) + { + char *q; + size_t len, extra, trim; + + p = strchr (p, '%'); + if (p == NULL || p[1] == '\0') + { + if (new_fmt == buf) + { + len = strlen (fmt); + memcpy (bufp, fmt, len + 1); + } + break; + } + + if (p[1] == 'A' || p[1] == 'B') + { + len = p - fmt; + memcpy (bufp, fmt, len); + bufp += len; + fmt = p + 2; + new_fmt = buf; + + /* If we run out of space, tough, you lose your ridiculously + long file or section name. It's not safe to try to alloc + memory here; We might be printing an out of memory message. */ + if (avail == 0) + { + *bufp++ = '*'; + *bufp++ = '*'; + *bufp = '\0'; + } + else + { + if (p[1] == 'B') + { + bfd *abfd = va_arg (ap, bfd *); + if (abfd->my_archive) + snprintf (bufp, avail, "%s(%s)", + abfd->my_archive->filename, abfd->filename); + else + snprintf (bufp, avail, "%s", abfd->filename); + } + else + { + asection *sec = va_arg (ap, asection *); + bfd *abfd = sec->owner; + const char *group = NULL; + struct coff_comdat_info *ci; + + if (abfd != NULL + && bfd_get_flavour (abfd) == bfd_target_elf_flavour + && elf_next_in_group (sec) != NULL + && (sec->flags & SEC_GROUP) == 0) + group = elf_group_name (sec); + else if (abfd != NULL + && bfd_get_flavour (abfd) == bfd_target_coff_flavour + && (ci = bfd_coff_get_comdat_section (sec->owner, + sec)) != NULL) + group = ci->name; + if (group != NULL) + snprintf (bufp, avail, "%s[%s]", sec->name, group); + else + snprintf (bufp, avail, "%s", sec->name); + } + len = strlen (bufp); + avail = avail - len + 2; + + /* We need to replace any '%' we printed by "%%". + First count how many. */ + q = bufp; + bufp += len; + extra = 0; + while ((q = strchr (q, '%')) != NULL) + { + ++q; + ++extra; + } + + /* If there isn't room, trim off the end of the string. */ + q = bufp; + bufp += extra; + if (extra > avail) + { + trim = extra - avail; + bufp -= trim; + do + { + if (*--q == '%') + --extra; + } + while (--trim != 0); + *q = '\0'; + avail = extra; + } + avail -= extra; + + /* Now double all '%' chars, shuffling the string as we go. */ + while (extra != 0) + { + while ((q[extra] = *q) != '%') + --q; + q[--extra] = '%'; + --q; + } + } + } + p = p + 2; + } + + vfprintf (stderr, new_fmt, ap); + va_end (ap); - fprintf (stderr, "\n"); + putc ('\n', stderr); } /* This is a function pointer to the routine which should handle BFD @@ -491,56 +620,6 @@ bfd_get_error_handler (void) { return _bfd_error_handler; } - -/* -FUNCTION - bfd_archive_filename - -SYNOPSIS - const char *bfd_archive_filename (bfd *); - -DESCRIPTION - For a BFD that is a component of an archive, returns a string - with both the archive name and file name. For other BFDs, just - returns the file name. -*/ - -const char * -bfd_archive_filename (bfd *abfd) -{ - if (abfd == NULL) - return NULL; - - if (abfd->my_archive) - { - static size_t curr = 0; - static char *buf; - size_t needed; - - needed = (strlen (bfd_get_filename (abfd->my_archive)) - + strlen (bfd_get_filename (abfd)) + 3); - if (needed > curr) - { - if (curr) - free (buf); - curr = needed + (needed >> 1); - buf = bfd_malloc (curr); - /* If we can't malloc, fail safe by returning just the file - name. This function is only used when building error - messages. */ - if (!buf) - { - curr = 0; - return bfd_get_filename (abfd); - } - } - sprintf (buf, "%s(%s)", bfd_get_filename (abfd->my_archive), - bfd_get_filename (abfd)); - return buf; - } - else - return bfd_get_filename (abfd); -} /* SECTION @@ -1139,8 +1218,9 @@ DESCRIPTION .#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \ . BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols)) . -.#define bfd_get_synthetic_symtab(abfd, dynsyms, ret) \ -. BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, dynsyms, ret)) +.#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \ +. BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \ +. dyncount, dynsyms, ret)) . .#define bfd_get_dynamic_reloc_upper_bound(abfd) \ . BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd)) @@ -1417,46 +1497,3 @@ bfd_preserve_finish (bfd *abfd ATTRIBUTE objalloc. */ bfd_hash_table_free (&preserve->section_htab); } - -/* -FUNCTION - bfd_get_section_ident - -SYNOPSIS - char *bfd_get_section_ident (asection *sec); - -DESCRIPTION - This function returns "section name[group name]" in a malloced - buffer if @var{sec} is a member of an ELF section group and - returns NULL otherwise. The caller should free the non-NULL - return after use. - -*/ - -char * -bfd_get_section_ident (asection *sec) -{ - char *buf; - bfd_size_type nlen; - bfd_size_type glen; - - if (sec->owner == NULL - || bfd_get_flavour (sec->owner) != bfd_target_elf_flavour - || elf_next_in_group (sec) == NULL - || (sec->flags & SEC_GROUP) != 0) - return NULL; - - nlen = strlen (sec->name); - glen = strlen (elf_group_name (sec)); - buf = bfd_malloc (nlen + glen + 2 + 1); - if (buf != NULL) - { - strcpy (buf, sec->name); - buf [nlen] = '['; - strcpy (&buf [nlen + 1], elf_group_name (sec)); - buf [nlen + 1 + glen] = ']'; - buf [nlen + 1 + glen + 1] = '\0'; - } - - return buf; -} diff -uprN binutils-2.15.91.0.2/bfd/coff-arm.c binutils-2.15.92.0.2/bfd/coff-arm.c --- binutils-2.15.91.0.2/bfd/coff-arm.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff-arm.c 2004-09-15 12:05:02.000000000 -0700 @@ -1063,8 +1063,8 @@ find_thumb_glue (info, name, input_bfd) if (myh == NULL) /* xgettext:c-format */ - _bfd_error_handler (_("%s: unable to find THUMB glue '%s' for `%s'"), - bfd_archive_filename (input_bfd), tmp_name, name); + _bfd_error_handler (_("%B: unable to find THUMB glue '%s' for `%s'"), + input_bfd, tmp_name, name); free (tmp_name); @@ -1093,8 +1093,8 @@ find_arm_glue (info, name, input_bfd) if (myh == NULL) /* xgettext:c-format */ - _bfd_error_handler (_("%s: unable to find ARM glue '%s' for `%s'"), - bfd_archive_filename (input_bfd), tmp_name, name); + _bfd_error_handler (_("%B: unable to find ARM glue '%s' for `%s'"), + input_bfd, tmp_name, name); free (tmp_name); @@ -1395,16 +1395,11 @@ coff_arm_relocate_section (output_bfd, i if (h_sec->owner != NULL && INTERWORK_SET (h_sec->owner) && ! INTERWORK_FLAG (h_sec->owner)) - { - _bfd_error_handler - /* xgettext:c-format */ - (_("%s(%s): warning: interworking not enabled."), - bfd_archive_filename (h_sec->owner), name); - _bfd_error_handler - /* xgettext:c-format */ - (_(" first occurrence: %s: arm call to thumb"), - bfd_archive_filename (input_bfd)); - } + _bfd_error_handler + /* xgettext:c-format */ + (_("%B(%s): warning: interworking not enabled.\n" + " first occurrence: %B: arm call to thumb"), + h_sec->owner, input_bfd, name); --my_offset; myh->root.u.def.value = my_offset; @@ -1490,18 +1485,12 @@ coff_arm_relocate_section (output_bfd, i && INTERWORK_SET (h_sec->owner) && ! INTERWORK_FLAG (h_sec->owner) && ! globals->support_old_code) - { - _bfd_error_handler - /* xgettext:c-format */ - (_("%s(%s): warning: interworking not enabled."), - bfd_archive_filename (h_sec->owner), name); - _bfd_error_handler - /* xgettext:c-format */ - (_(" first occurrence: %s: thumb call to arm"), - bfd_archive_filename (input_bfd)); - _bfd_error_handler - (_(" consider relinking with --support-old-code enabled")); - } + _bfd_error_handler + /* xgettext:c-format */ + (_("%B(%s): warning: interworking not enabled.\n" + " first occurrence: %B: thumb call to arm\n" + " consider relinking with --support-old-code enabled"), + h_sec->owner, input_bfd, name); -- my_offset; myh->root.u.def.value = my_offset; @@ -1795,10 +1784,8 @@ coff_arm_relocate_section (output_bfd, i break; case bfd_reloc_outofrange: (*_bfd_error_handler) - (_("%s: bad reloc address 0x%lx in section `%s'"), - bfd_archive_filename (input_bfd), - (unsigned long) rel->r_vaddr, - bfd_get_section_name (input_bfd, input_section)); + (_("%B: bad reloc address 0x%lx in section `%A'"), + input_bfd, input_section, (unsigned long) rel->r_vaddr); return FALSE; case bfd_reloc_overflow: { @@ -2139,8 +2126,8 @@ bfd_arm_process_before_allocation (abfd, /* If the index is outside of the range of our table, something has gone wrong. */ if (symndx >= obj_conv_table_size (abfd)) { - _bfd_error_handler (_("%s: illegal symbol index in reloc: %d"), - bfd_archive_filename (abfd), symndx); + _bfd_error_handler (_("%B: illegal symbol index in reloc: %d"), + abfd, symndx); continue; } @@ -2272,9 +2259,10 @@ coff_arm_merge_private_bfd_data (ibfd, o { _bfd_error_handler /* xgettext: c-format */ - (_("ERROR: %s is compiled for APCS-%d, whereas %s is compiled for APCS-%d"), - bfd_archive_filename (ibfd), APCS_26_FLAG (ibfd) ? 26 : 32, - bfd_get_filename (obfd), APCS_26_FLAG (obfd) ? 26 : 32 + (_("ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"), + ibfd, obfd, + APCS_26_FLAG (ibfd) ? 26 : 32, + APCS_26_FLAG (obfd) ? 26 : 32 ); bfd_set_error (bfd_error_wrong_format); @@ -2287,13 +2275,12 @@ coff_arm_merge_private_bfd_data (ibfd, o if (APCS_FLOAT_FLAG (ibfd)) /* xgettext: c-format */ - msg = _("ERROR: %s passes floats in float registers, whereas %s passes them in integer registers"); + msg = _("ERROR: %B passes floats in float registers, whereas %B passes them in integer registers"); else /* xgettext: c-format */ - msg = _("ERROR: %s passes floats in integer registers, whereas %s passes them in float registers"); + msg = _("ERROR: %B passes floats in integer registers, whereas %B passes them in float registers"); - _bfd_error_handler (msg, bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler (msg, ibfd, obfd); bfd_set_error (bfd_error_wrong_format); return FALSE; @@ -2305,12 +2292,11 @@ coff_arm_merge_private_bfd_data (ibfd, o if (PIC_FLAG (ibfd)) /* xgettext: c-format */ - msg = _("ERROR: %s is compiled as position independent code, whereas target %s is absolute position"); + msg = _("ERROR: %B is compiled as position independent code, whereas target %B is absolute position"); else /* xgettext: c-format */ - msg = _("ERROR: %s is compiled as absolute position code, whereas target %s is position independent"); - _bfd_error_handler (msg, bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + msg = _("ERROR: %B is compiled as absolute position code, whereas target %B is position independent"); + _bfd_error_handler (msg, ibfd, obfd); bfd_set_error (bfd_error_wrong_format); return FALSE; @@ -2337,13 +2323,12 @@ coff_arm_merge_private_bfd_data (ibfd, o if (INTERWORK_FLAG (ibfd)) /* xgettext: c-format */ - msg = _("Warning: %s supports interworking, whereas %s does not"); + msg = _("Warning: %B supports interworking, whereas %B does not"); else /* xgettext: c-format */ - msg = _("Warning: %s does not support interworking, whereas %s does"); + msg = _("Warning: %B does not support interworking, whereas %B does"); - _bfd_error_handler (msg, bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler (msg, ibfd, obfd); } } else @@ -2438,12 +2423,12 @@ _bfd_coff_arm_set_private_flags (abfd, f { if (flag) /* xgettext: c-format */ - _bfd_error_handler (_("Warning: Not setting interworking flag of %s since it has already been specified as non-interworking"), - bfd_archive_filename (abfd)); + _bfd_error_handler (_("Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"), + abfd); else /* xgettext: c-format */ - _bfd_error_handler (_("Warning: Clearing the interworking flag of %s due to outside request"), - bfd_archive_filename (abfd)); + _bfd_error_handler (_("Warning: Clearing the interworking flag of %B due to outside request"), + abfd); flag = 0; } @@ -2502,9 +2487,8 @@ coff_arm_copy_private_bfd_data (src, des { /* xgettext:c-format */ _bfd_error_handler (("\ -Warning: Clearing the interworking flag of %s because non-interworking code in %s has been linked with it"), - bfd_get_filename (dest), - bfd_archive_filename (src)); +Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"), + dest, src); } SET_INTERWORK_FLAG (dest, 0); diff -uprN binutils-2.15.91.0.2/bfd/coff-i860.c binutils-2.15.92.0.2/bfd/coff-i860.c --- binutils-2.15.91.0.2/bfd/coff-i860.c 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/coff-i860.c 2004-09-15 12:05:02.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back-end for Intel i860 COFF files. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. + Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, + 2003, 2004 Free Software Foundation, Inc. Created mostly by substituting "860" for "386" in coff-i386.c Harry Dolan , October 1995 @@ -607,8 +607,8 @@ i860_reloc_processing (arelent *cache_pt if (dst->r_symndx < 0 || dst->r_symndx >= obj_conv_table_size (abfd)) { (*_bfd_error_handler) - (_("%s: warning: illegal symbol index %ld in relocs"), - bfd_archive_filename (abfd), dst->r_symndx); + (_("%B: warning: illegal symbol index %ld in relocs"), + abfd, dst->r_symndx); cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; ptr = NULL; } diff -uprN binutils-2.15.91.0.2/bfd/coff-mcore.c binutils-2.15.92.0.2/bfd/coff-mcore.c --- binutils-2.15.91.0.2/bfd/coff-mcore.c 2004-01-14 13:07:42.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/coff-mcore.c 2004-09-15 12:05:02.000000000 -0700 @@ -1,5 +1,6 @@ /* BFD back-end for Motorola MCore COFF/PE - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -284,8 +285,8 @@ mcore_coff_unsupported_reloc (abfd, relo { BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0); - _bfd_error_handler (_("%s: Relocation %s (%d) is not currently supported.\n"), - bfd_archive_filename (abfd), + _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"), + abfd, reloc_entry->howto->name, reloc_entry->howto->type); @@ -399,8 +400,8 @@ coff_mcore_relocate_section (output_bfd, && output_bfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN) { (*_bfd_error_handler) - (_("%s: compiled for a %s system and target is %s.\n"), - bfd_archive_filename (input_bfd), + (_("%B: compiled for a %s system and target is %s.\n"), + input_bfd, bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"), bfd_big_endian (output_bfd) ? _("big endian") : _("little endian")); @@ -506,21 +507,18 @@ coff_mcore_relocate_section (output_bfd, switch (r_type) { default: - _bfd_error_handler (_("%s: unsupported relocation type 0x%02x"), - bfd_archive_filename (input_bfd), r_type); + _bfd_error_handler (_("%B: unsupported relocation type 0x%02x"), + input_bfd, r_type); bfd_set_error (bfd_error_bad_value); return FALSE; case IMAGE_REL_MCORE_ABSOLUTE: - fprintf (stderr, - _("Warning: unsupported reloc %s \n"), - howto->name, - bfd_archive_filename (input_bfd), - input_section->name); - - fprintf (stderr,"sym %ld (%s), r_vaddr %ld (%lx)\n", - rel->r_symndx, my_name, (long) rel->r_vaddr, - (unsigned long) rel->r_vaddr); + _bfd_error_handler + (_("Warning: unsupported reloc %s \n" + "sym %ld (%s), r_vaddr %ld (%lx)"), + input_bfd, input_section, howto->name, + rel->r_symndx, my_name, (long) rel->r_vaddr, + (unsigned long) rel->r_vaddr); break; case IMAGE_REL_MCORE_PCREL_IMM8BY4: diff -uprN binutils-2.15.91.0.2/bfd/coff-ppc.c binutils-2.15.92.0.2/bfd/coff-ppc.c --- binutils-2.15.91.0.2/bfd/coff-ppc.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff-ppc.c 2004-09-15 12:05:02.000000000 -0700 @@ -1188,8 +1188,7 @@ coff_ppc_relocate_section (output_bfd, i { default: (*_bfd_error_handler) - (_("%s: unsupported relocation type 0x%02x"), - bfd_archive_filename (input_bfd), r_type); + (_("%B: unsupported relocation type 0x%02x"), input_bfd, r_type); bfd_set_error (bfd_error_bad_value); return FALSE; case IMAGE_REL_PPC_TOCREL16: @@ -1278,8 +1277,8 @@ coff_ppc_relocate_section (output_bfd, i if ((bfd_vma) our_toc_offset >= 65535) { (*_bfd_error_handler) - (_("%s: Relocation for %s of %lx exceeds Toc size limit"), - bfd_archive_filename (input_bfd), name, + (_("%B: Relocation for %s of %lx exceeds Toc size limit"), + input_bfd, name, (unsigned long) our_toc_offset); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -1333,9 +1332,8 @@ coff_ppc_relocate_section (output_bfd, i && (bfd_vma) our_toc_offset > toc_section->size) { (*_bfd_error_handler) - (_("%s: Relocation exceeds allocated TOC (%lx)"), - bfd_archive_filename (input_bfd), - (unsigned long) toc_section->size); + (_("%B: Relocation exceeds allocated TOC (%lx)"), + input_bfd, (unsigned long) toc_section->size); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -1387,15 +1385,12 @@ coff_ppc_relocate_section (output_bfd, i else my_name = h->root.root.root.string; - fprintf (stderr, - _("Warning: unsupported reloc %s \n"), - howto->name, - bfd_archive_filename(input_bfd), - input_section->name); - - fprintf (stderr,"sym %ld (%s), r_vaddr %ld (%lx)\n", - rel->r_symndx, my_name, (long) rel->r_vaddr, - (unsigned long) rel->r_vaddr); + (*_bfd_error_handler) + (_("Warning: unsupported reloc %s \n" + "sym %ld (%s), r_vaddr %ld (%lx)"), + input_bfd, input_section, howto->name, + rel->r_symndx, my_name, (long) rel->r_vaddr, + (unsigned long) rel->r_vaddr); } break; case IMAGE_REL_PPC_IMGLUE: @@ -1409,8 +1404,7 @@ coff_ppc_relocate_section (output_bfd, i my_name = h->root.root.root.string; (*_bfd_error_handler) - (_("%s: Out of order IMGLUE reloc for %s"), - bfd_archive_filename (input_bfd), my_name); + (_("%B: Out of order IMGLUE reloc for %s"), input_bfd, my_name); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/coff-rs6000.c binutils-2.15.92.0.2/bfd/coff-rs6000.c --- binutils-2.15.91.0.2/bfd/coff-rs6000.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff-rs6000.c 2004-09-15 12:05:02.000000000 -0700 @@ -180,7 +180,7 @@ static bfd_boolean do_pad static bfd_boolean do_copy PARAMS ((bfd *, bfd *)); static bfd_boolean do_shared_object_padding - PARAMS ((bfd *, bfd *, ufile_ptr *, int)); + PARAMS ((bfd *, bfd *, file_ptr *, int)); /* Relocation functions */ static bfd_boolean xcoff_reloc_type_br @@ -1742,7 +1742,7 @@ static bfd_boolean do_shared_object_padding (out_bfd, in_bfd, offset, ar_header_size) bfd *out_bfd; bfd *in_bfd; - ufile_ptr *offset; + file_ptr *offset; int ar_header_size; { if (bfd_check_format (in_bfd, bfd_object) @@ -1779,7 +1779,7 @@ xcoff_write_armap_big (abfd, elength, ma const bfd_arch_info_type *arch_info = NULL; bfd *current_bfd; size_t string_length; - ufile_ptr nextoff, prevoff; + file_ptr nextoff, prevoff; /* First, we look through the symbols and work out which are from 32-bit objects and which from 64-bit ones. */ @@ -2076,7 +2076,7 @@ xcoff_write_archive_contents_old (abfd) file_ptr *offsets; bfd_boolean makemap; bfd_boolean hasobjects; - ufile_ptr prevoff, nextoff; + file_ptr prevoff, nextoff; bfd *sub; size_t i; struct xcoff_ar_hdr ahdr; @@ -2306,7 +2306,7 @@ xcoff_write_archive_contents_big (abfd) file_ptr *offsets; bfd_boolean makemap; bfd_boolean hasobjects; - ufile_ptr prevoff, nextoff; + file_ptr prevoff, nextoff; bfd *current_bfd; size_t i; struct xcoff_ar_hdr_big *hdr, ahdr; @@ -3611,8 +3611,8 @@ xcoff_create_csect_from_smclas (abfd, au else { (*_bfd_error_handler) - (_("%s: symbol `%s' has unrecognized smclas %d"), - bfd_archive_filename (abfd), symbol_name, aux->x_csect.x_smclas); + (_("%B: symbol `%s' has unrecognized smclas %d"), + abfd, symbol_name, aux->x_csect.x_smclas); bfd_set_error (bfd_error_bad_value); } diff -uprN binutils-2.15.91.0.2/bfd/coff-sh.c binutils-2.15.92.0.2/bfd/coff-sh.c --- binutils-2.15.91.0.2/bfd/coff-sh.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff-sh.c 2004-09-15 12:05:02.000000000 -0700 @@ -762,9 +762,8 @@ sh_relax_section (abfd, sec, link_info, laddr += ((irel->r_offset & 0xffffffff) ^ 0x80000000) - 0x80000000; if (laddr >= sec->size) { - (*_bfd_error_handler) ("%s: 0x%lx: warning: bad R_SH_USES offset", - bfd_archive_filename (abfd), - (unsigned long) irel->r_vaddr); + (*_bfd_error_handler) ("%B: 0x%lx: warning: bad R_SH_USES offset", + abfd, (unsigned long) irel->r_vaddr); continue; } insn = bfd_get_16 (abfd, contents + laddr); @@ -773,8 +772,8 @@ sh_relax_section (abfd, sec, link_info, if ((insn & 0xf000) != 0xd000) { ((*_bfd_error_handler) - ("%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x", - bfd_archive_filename (abfd), (unsigned long) irel->r_vaddr, insn)); + ("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x", + abfd, (unsigned long) irel->r_vaddr, insn)); continue; } @@ -790,8 +789,8 @@ sh_relax_section (abfd, sec, link_info, if (paddr >= sec->size) { ((*_bfd_error_handler) - ("%s: 0x%lx: warning: bad R_SH_USES load offset", - bfd_archive_filename (abfd), (unsigned long) irel->r_vaddr)); + ("%B: 0x%lx: warning: bad R_SH_USES load offset", + abfd, (unsigned long) irel->r_vaddr)); continue; } @@ -814,8 +813,8 @@ sh_relax_section (abfd, sec, link_info, if (irelfn >= irelend) { ((*_bfd_error_handler) - ("%s: 0x%lx: warning: could not find expected reloc", - bfd_archive_filename (abfd), (unsigned long) paddr)); + ("%B: 0x%lx: warning: could not find expected reloc", + abfd, (unsigned long) paddr)); continue; } @@ -830,8 +829,8 @@ sh_relax_section (abfd, sec, link_info, if (sym.n_scnum != 0 && sym.n_scnum != sec->target_index) { ((*_bfd_error_handler) - ("%s: 0x%lx: warning: symbol in unexpected section", - bfd_archive_filename (abfd), (unsigned long) paddr)); + ("%B: 0x%lx: warning: symbol in unexpected section", + abfd, (unsigned long) paddr)); continue; } @@ -955,8 +954,8 @@ sh_relax_section (abfd, sec, link_info, if (irelcount >= irelend) { ((*_bfd_error_handler) - ("%s: 0x%lx: warning: could not find expected COUNT reloc", - bfd_archive_filename (abfd), (unsigned long) paddr)); + ("%B: 0x%lx: warning: could not find expected COUNT reloc", + abfd, (unsigned long) paddr)); continue; } @@ -964,9 +963,8 @@ sh_relax_section (abfd, sec, link_info, just deleted one. */ if (irelcount->r_offset == 0) { - ((*_bfd_error_handler) ("%s: 0x%lx: warning: bad count", - bfd_archive_filename (abfd), - (unsigned long) paddr)); + ((*_bfd_error_handler) ("%B: 0x%lx: warning: bad count", + abfd, (unsigned long) paddr)); continue; } @@ -1337,8 +1335,8 @@ sh_relax_delete_bytes (abfd, sec, addr, if (overflow) { ((*_bfd_error_handler) - ("%s: 0x%lx: fatal: reloc overflow while relaxing", - bfd_archive_filename (abfd), (unsigned long) irel->r_vaddr)); + ("%B: 0x%lx: fatal: reloc overflow while relaxing", + abfd, (unsigned long) irel->r_vaddr)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -1432,8 +1430,7 @@ sh_relax_delete_bytes (abfd, sec, addr, || obj_raw_syments (abfd) != NULL) { ((*_bfd_error_handler) - ("%s: fatal: generic symbols retrieved before relaxing", - bfd_archive_filename (abfd))); + ("%B: fatal: generic symbols retrieved before relaxing", abfd)); bfd_set_error (bfd_error_invalid_operation); return FALSE; } @@ -2788,8 +2785,8 @@ sh_swap_insns (abfd, sec, relocs, conten if (overflow) { ((*_bfd_error_handler) - ("%s: 0x%lx: fatal: reloc overflow while relaxing", - bfd_archive_filename (abfd), (unsigned long) irel->r_vaddr)); + ("%B: 0x%lx: fatal: reloc overflow while relaxing", + abfd, (unsigned long) irel->r_vaddr)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -2852,8 +2849,8 @@ sh_relocate_section (output_bfd, info, i || (unsigned long) symndx >= obj_raw_syment_count (input_bfd)) { (*_bfd_error_handler) - ("%s: illegal symbol index %ld in relocs", - bfd_archive_filename (input_bfd), symndx); + ("%B: illegal symbol index %ld in relocs", + input_bfd, symndx); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/coff-tic54x.c binutils-2.15.92.0.2/bfd/coff-tic54x.c --- binutils-2.15.91.0.2/bfd/coff-tic54x.c 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff-tic54x.c 2004-09-15 12:05:02.000000000 -0700 @@ -1,5 +1,6 @@ /* BFD back-end for TMS320C54X coff binaries. - Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Contributed by Timothy Wall (twall@cygnus.com) This file is part of BFD, the Binary File Descriptor library. @@ -363,8 +364,8 @@ tic54x_reloc_processing (relent, reloc, if (reloc->r_symndx < 0 || reloc->r_symndx >= obj_conv_table_size (abfd)) { (*_bfd_error_handler) - (_("%s: warning: illegal symbol index %ld in relocs"), - bfd_archive_filename (abfd), reloc->r_symndx); + (_("%B: warning: illegal symbol index %ld in relocs"), + abfd, reloc->r_symndx); relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; ptr = NULL; } diff -uprN binutils-2.15.91.0.2/bfd/coff-tic80.c binutils-2.15.92.0.2/bfd/coff-tic80.c --- binutils-2.15.91.0.2/bfd/coff-tic80.c 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/coff-tic80.c 2004-09-15 12:05:02.000000000 -0700 @@ -684,10 +684,8 @@ coff_tic80_relocate_section (output_bfd, break; case bfd_reloc_outofrange: (*_bfd_error_handler) - (_("%s: bad reloc address 0x%lx in section `%s'"), - bfd_archive_filename (input_bfd), - (unsigned long) rel->r_vaddr, - bfd_get_section_name (input_bfd, input_section)); + (_("%B: bad reloc address 0x%lx in section `%A'"), + input_bfd, input_section, (unsigned long) rel->r_vaddr); return FALSE; case bfd_reloc_overflow: { diff -uprN binutils-2.15.91.0.2/bfd/coff64-rs6000.c binutils-2.15.92.0.2/bfd/coff64-rs6000.c --- binutils-2.15.91.0.2/bfd/coff64-rs6000.c 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coff64-rs6000.c 2004-09-15 12:05:02.000000000 -0700 @@ -2104,8 +2104,8 @@ xcoff64_create_csect_from_smclas (abfd, else { (*_bfd_error_handler) - (_("%s: symbol `%s' has unrecognized smclas %d"), - bfd_archive_filename (abfd), symbol_name, aux->x_csect.x_smclas); + (_("%B: symbol `%s' has unrecognized smclas %d"), + abfd, symbol_name, aux->x_csect.x_smclas); bfd_set_error (bfd_error_bad_value); } diff -uprN binutils-2.15.91.0.2/bfd/coffcode.h binutils-2.15.92.0.2/bfd/coffcode.h --- binutils-2.15.91.0.2/bfd/coffcode.h 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coffcode.h 2004-09-15 12:05:02.000000000 -0700 @@ -829,8 +829,6 @@ handle_COMDAT (abfd, sec_flags, hdr, nam /* The first time we've seen the symbol. */ union internal_auxent aux; - seen_state = 1; - /* If it isn't the stuff we're expecting, die; The MS documentation is vague, but it appears that the second entry serves BOTH @@ -858,7 +856,10 @@ handle_COMDAT (abfd, sec_flags, hdr, nam function). See comment above for more. */ if (strcmp (name, symname) != 0) - abort (); + _bfd_error_handler (_("%B: warning: COMDAT symbol '%s' does not match section name '%s'"), + abfd, symname, name); + + seen_state = 1; /* This is the section symbol. */ bfd_coff_swap_aux_in (abfd, (PTR) (esym + bfd_coff_symesz (abfd)), @@ -1071,8 +1072,8 @@ styp_to_sec_flags (abfd, hdr, name, sect /* Generate a warning message rather using the 'unhandled' variable as this will allow some .sys files generate by other toolchains to be processed. See bugzilla issue 196. */ - _bfd_error_handler (_("%s: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"), - bfd_archive_filename (abfd), name); + _bfd_error_handler (_("%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s"), + abfd, name); #endif break; case IMAGE_SCN_MEM_EXECUTE: @@ -1127,8 +1128,8 @@ styp_to_sec_flags (abfd, hdr, name, sect if (unhandled != NULL) { (*_bfd_error_handler) - (_("%s (%s): Section flag %s (0x%x) ignored"), - bfd_archive_filename (abfd), name, unhandled, flag); + (_("%B (%s): Section flag %s (0x%x) ignored"), + abfd, name, unhandled, flag); result = FALSE; } } @@ -4445,8 +4446,7 @@ coff_slurp_line_table (abfd, asect) if (native_lineno == NULL) { (*_bfd_error_handler) - (_("%s: warning: line number table read failed"), - bfd_archive_filename (abfd)); + (_("%B: warning: line number table read failed"), abfd); return FALSE; } amt = ((bfd_size_type) asect->lineno_count + 1) * sizeof (alent); @@ -4478,8 +4478,8 @@ coff_slurp_line_table (abfd, asect) || (bfd_vma) symndx >= obj_raw_syment_count (abfd)) { (*_bfd_error_handler) - (_("%s: warning: illegal symbol index %ld in line numbers"), - bfd_archive_filename (abfd), dst.l_addr.l_symndx); + (_("%B: warning: illegal symbol index %ld in line numbers"), + abfd, dst.l_addr.l_symndx); symndx = 0; warned = TRUE; } @@ -4492,9 +4492,8 @@ coff_slurp_line_table (abfd, asect) if (sym->lineno != NULL && ! warned) { (*_bfd_error_handler) - (_("%s: warning: duplicate line number information for `%s'"), - bfd_archive_filename (abfd), - bfd_asymbol_name (&sym->symbol)); + (_("%B: warning: duplicate line number information for `%s'"), + abfd, bfd_asymbol_name (&sym->symbol)); } sym->lineno = cache_ptr; } @@ -4848,8 +4847,8 @@ coff_slurp_symbol_table (abfd) case C_HIDDEN: /* Ext symbol in dmert public lib. */ default: (*_bfd_error_handler) - (_("%s: Unrecognized storage class %d for %s symbol `%s'"), - bfd_archive_filename (abfd), src->u.syment.n_sclass, + (_("%B: Unrecognized storage class %d for %s symbol `%s'"), + abfd, src->u.syment.n_sclass, dst->symbol.section->name, dst->symbol.name); dst->symbol.flags = BSF_DEBUGGING; dst->symbol.value = (src->u.syment.n_value); @@ -4981,9 +4980,8 @@ coff_classify_symbol (abfd, syment) char buf[SYMNMLEN + 1]; (*_bfd_error_handler) - (_("warning: %s: local symbol `%s' has no section"), - bfd_archive_filename (abfd), - _bfd_coff_internal_syment_name (abfd, syment, buf)); + (_("warning: %B: local symbol `%s' has no section"), + abfd, _bfd_coff_internal_syment_name (abfd, syment, buf)); } return COFF_SYMBOL_LOCAL; @@ -5088,8 +5086,8 @@ coff_slurp_reloc_table (abfd, asect, sym if (dst.r_symndx < 0 || dst.r_symndx >= obj_conv_table_size (abfd)) { (*_bfd_error_handler) - (_("%s: warning: illegal symbol index %ld in relocs"), - bfd_archive_filename (abfd), dst.r_symndx); + (_("%B: warning: illegal symbol index %ld in relocs"), + abfd, dst.r_symndx); cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr; ptr = NULL; } @@ -5126,8 +5124,8 @@ coff_slurp_reloc_table (abfd, asect, sym if (cache_ptr->howto == NULL) { (*_bfd_error_handler) - (_("%s: illegal relocation type %d at address 0x%lx"), - bfd_archive_filename (abfd), dst.r_type, (long) dst.r_vaddr); + (_("%B: illegal relocation type %d at address 0x%lx"), + abfd, dst.r_type, (long) dst.r_vaddr); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/coffgen.c binutils-2.15.92.0.2/bfd/coffgen.c --- binutils-2.15.91.0.2/bfd/coffgen.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/coffgen.c 2004-09-15 12:05:02.000000000 -0700 @@ -1663,8 +1663,7 @@ _bfd_coff_read_string_table (abfd) if (strsize < STRING_SIZE_SIZE) { (*_bfd_error_handler) - (_("%s: bad string table size %lu"), bfd_archive_filename (abfd), - (unsigned long) strsize); + (_("%B: bad string table size %lu"), abfd, (unsigned long) strsize); bfd_set_error (bfd_error_bad_value); return NULL; } diff -uprN binutils-2.15.91.0.2/bfd/cofflink.c binutils-2.15.92.0.2/bfd/cofflink.c --- binutils-2.15.91.0.2/bfd/cofflink.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/cofflink.c 2004-09-15 12:05:02.000000000 -0700 @@ -435,6 +435,7 @@ coff_link_add_symbols (bfd *abfd, if (obj_pe (abfd) && (classification == COFF_SYMBOL_GLOBAL || classification == COFF_SYMBOL_PE_SECTION) + && coff_section_data (abfd, section) != NULL && coff_section_data (abfd, section)->comdat != NULL && strncmp (name, "??_", 3) == 0 && strcmp (name, coff_section_data (abfd, section)->comdat->name) == 0) @@ -503,9 +504,8 @@ coff_link_add_symbols (bfd *abfd, && (BTYPE ((*sym_hash)->type) == T_NULL || BTYPE (sym.n_type) == T_NULL))) (*_bfd_error_handler) - (_("Warning: type of symbol `%s' changed from %d to %d in %s"), - name, (*sym_hash)->type, sym.n_type, - bfd_archive_filename (abfd)); + (_("Warning: type of symbol `%s' changed from %d to %d in %B"), + abfd, name, (*sym_hash)->type, sym.n_type); /* We don't want to change from a meaningful base type to a null one, but if we know @@ -2291,10 +2291,9 @@ _bfd_coff_link_input_bfd (struct coff_fi if ((o->flags & SEC_RELOC) != 0 && o->reloc_count != 0) { - ((*_bfd_error_handler) - (_("%s: relocs in section `%s', but it has no contents"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, o))); + (*_bfd_error_handler) + (_("%B: relocs in section `%A', but it has no contents"), + input_bfd, o); bfd_set_error (bfd_error_no_contents); return FALSE; } @@ -2861,8 +2860,7 @@ _bfd_coff_generic_relocate_section (bfd || (unsigned long) symndx >= obj_raw_syment_count (input_bfd)) { (*_bfd_error_handler) - ("%s: illegal symbol index %ld in relocs", - bfd_archive_filename (input_bfd), symndx); + ("%B: illegal symbol index %ld in relocs", input_bfd, symndx); return FALSE; } else @@ -3007,10 +3005,8 @@ _bfd_coff_generic_relocate_section (bfd break; case bfd_reloc_outofrange: (*_bfd_error_handler) - (_("%s: bad reloc address 0x%lx in section `%s'"), - bfd_archive_filename (input_bfd), - (unsigned long) rel->r_vaddr, - bfd_get_section_name (input_bfd, input_section)); + (_("%B: bad reloc address 0x%lx in section `%A'"), + input_bfd, input_section, (unsigned long) rel->r_vaddr); return FALSE; case bfd_reloc_overflow: { diff -uprN binutils-2.15.91.0.2/bfd/config.bfd binutils-2.15.92.0.2/bfd/config.bfd --- binutils-2.15.91.0.2/bfd/config.bfd 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/config.bfd 2004-09-15 12:05:02.000000000 -0700 @@ -225,10 +225,15 @@ case "${targ}" in targ_selvecs=bfd_elf32_bigarm_vec ;; arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks) + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \ + arm*-*-eabi* ) targ_defvec=bfd_elf32_littlearm_vec targ_selvecs=bfd_elf32_bigarm_vec ;; + arm*-*-symbianelf*) + targ_defvec=bfd_elf32_littlearm_symbian_vec + targ_selvecs=bfd_elf32_bigarm_symbian_vec + ;; arm9e-*-elf) targ_defvec=bfd_elf32_littlearm_vec targ_selvecs=bfd_elf32_bigarm_vec @@ -384,10 +389,14 @@ case "${targ}" in ;; #endif - hppa*-*-linux-gnu* | hppa*-*-netbsd*) + hppa*-*-linux-gnu*) targ_defvec=bfd_elf32_hppa_linux_vec targ_selvecs=bfd_elf32_hppa_vec ;; + hppa*-*-netbsd*) + targ_defvec=bfd_elf32_hppa_nbsd_vec + targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec" + ;; hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems* | hppa*-*-openbsd*) targ_defvec=bfd_elf32_hppa_vec targ_selvecs=bfd_elf32_hppa_linux_vec diff -uprN binutils-2.15.91.0.2/bfd/config.in binutils-2.15.92.0.2/bfd/config.in --- binutils-2.15.91.0.2/bfd/config.in 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/config.in 2004-09-15 12:05:02.000000000 -0700 @@ -1,230 +1,241 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ +/* config.in. Generated from configure.in by autoheader. */ -/* Define if using alloca.c. */ -#undef C_ALLOCA +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +#undef CRAY_STACKSEG_END -/* Define to empty if the keyword does not work. */ -#undef const +/* Define to 1 if using `alloca.c'. */ +#undef C_ALLOCA -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END +/* Define to 1 if NLS is requested */ +#undef ENABLE_NLS -/* Define if you have alloca, as a function or macro. */ +/* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA -/* Define if you have and it should be used (not on Ultrix). */ +/* Define to 1 if you have and it should be used (not on Ultrix). + */ #undef HAVE_ALLOCA_H -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H -/* Define if you have the dcgettext function. */ +/* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT -/* Define if you have the fcntl function. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the `fcntl' function. */ #undef HAVE_FCNTL -/* Define if you have the fdopen function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the `fdopen' function. */ #undef HAVE_FDOPEN -/* Define if you have the fseeko function. */ +/* Define to 1 if you have the `fseeko' function. */ #undef HAVE_FSEEKO -/* Define if you have the fseeko64 function. */ +/* Define to 1 if you have the `fseeko64' function. */ #undef HAVE_FSEEKO64 -/* Define if you have the ftello function. */ +/* Define to 1 if you have the `ftello' function. */ #undef HAVE_FTELLO -/* Define if you have the ftello64 function. */ +/* Define to 1 if you have the `ftello64' function. */ #undef HAVE_FTELLO64 -/* Define if you have the getcwd function. */ +/* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD -/* Define if you have the getgid function. */ +/* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID -/* Define if you have the getpagesize function. */ +/* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE -/* Define if you have the getuid function. */ +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID -/* Define if you have the madvise function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if your locale.h file contains LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define if has lwpstatus_t. */ +#undef HAVE_LWPSTATUS_T + +/* Define if has lwpstatus_t.pr_context. */ +#undef HAVE_LWPSTATUS_T_PR_CONTEXT + +/* Define if has lwpstatus_t.pr_reg. */ +#undef HAVE_LWPSTATUS_T_PR_REG + +/* Define if has lwpxstatus_t. */ +#undef HAVE_LWPXSTATUS_T + +/* Define to 1 if you have the `madvise' function. */ #undef HAVE_MADVISE -/* Define if you have the mprotect function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT -/* Define if you have the munmap function. */ +/* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H -/* Define if you have the setenv function. */ -#undef HAVE_SETENV +/* Define to 1 if you have the header file. */ +#undef HAVE_NL_TYPES_H -/* Define if you have the setitimer function. */ -#undef HAVE_SETITIMER +/* Define if has prpsinfo32_t. */ +#undef HAVE_PRPSINFO32_T -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE +/* Define if has prpsinfo_t. */ +#undef HAVE_PRPSINFO_T -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY +/* Define if has prstatus32_t. */ +#undef HAVE_PRSTATUS32_T -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP +/* Define if has prstatus32_t.pr_who. */ +#undef HAVE_PRSTATUS32_T_PR_WHO -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR +/* Define if has prstatus_t. */ +#undef HAVE_PRSTATUS_T -/* Define if you have the strtoull function. */ -#undef HAVE_STRTOULL +/* Define if has prstatus_t.pr_who. */ +#undef HAVE_PRSTATUS_T_PR_WHO -/* Define if you have the sysconf function. */ -#undef HAVE_SYSCONF +/* Define if has psinfo32_t. */ +#undef HAVE_PSINFO32_T -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H +/* Define if has psinfo_t. */ +#undef HAVE_PSINFO_T -/* Define if you have the header file. */ -#undef HAVE_DIRENT_H +/* Define if has pstatus32_t. */ +#undef HAVE_PSTATUS32_T -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H +/* Define if has pstatus_t. */ +#undef HAVE_PSTATUS_T -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H +/* Define to 1 if you have the `putenv' function. */ +#undef HAVE_PUTENV -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H +/* Define if has pxstatus_t. */ +#undef HAVE_PXSTATUS_T -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H +/* Define to 1 if you have the `setenv' function. */ +#undef HAVE_SETENV -/* Define if you have the header file. */ -#undef HAVE_NDIR_H +/* Define to 1 if you have the `setitimer' function. */ +#undef HAVE_SETITIMER -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H +/* Define to 1 if you have the `setlocale' function. */ +#undef HAVE_SETLOCALE -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define if you have the header file. */ -#undef HAVE_STRING_H +/* Define if you have the stpcpy function */ +#undef HAVE_STPCPY + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP -/* Define if you have the header file. */ +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strtoull' function. */ +#undef HAVE_STRTOULL + +/* Define if struct core_dumpx has member c_impl */ +#undef HAVE_ST_C_IMPL + +/* Define to 1 if you have the `sysconf' function. */ +#undef HAVE_SYSCONF + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_DIR_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILE_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_NDIR_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_PROCFS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_TIME_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_VALUES_H -/* Name of package */ -#undef PACKAGE - -/* Version number of package */ -#undef VERSION - -/* Define if you have the stpcpy function */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define to 1 if NLS is requested */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* The number of bytes in type long long */ -#undef SIZEOF_LONG_LONG - -/* The number of bytes in type long */ -#undef SIZEOF_LONG - -/* Use b modifier when opening binary files? */ -#undef USE_BINARY_FOPEN +/* Define if has win32_pstatus_t. */ +#undef HAVE_WIN32_PSTATUS_T -/* Define if strstr is not declared in system header files. */ -#undef NEED_DECLARATION_STRSTR +/* Define to 1 if you have the `__argz_count' function. */ +#undef HAVE___ARGZ_COUNT -/* Define if malloc is not declared in system header files. */ -#undef NEED_DECLARATION_MALLOC +/* Define to 1 if you have the `__argz_next' function. */ +#undef HAVE___ARGZ_NEXT -/* Define if realloc is not declared in system header files. */ -#undef NEED_DECLARATION_REALLOC +/* Define to 1 if you have the `__argz_stringify' function. */ +#undef HAVE___ARGZ_STRINGIFY /* Define if free is not declared in system header files. */ #undef NEED_DECLARATION_FREE @@ -232,63 +243,79 @@ /* Define if getenv is not declared in system header files. */ #undef NEED_DECLARATION_GETENV -/* Define if struct core_dumpx has member c_impl */ -#undef HAVE_ST_C_IMPL - -/* Define if has prstatus_t. */ -#undef HAVE_PRSTATUS_T - -/* Define if has prstatus32_t. */ -#undef HAVE_PRSTATUS32_T +/* Define if malloc is not declared in system header files. */ +#undef NEED_DECLARATION_MALLOC -/* Define if has prstatus_t.pr_who. */ -#undef HAVE_PRSTATUS_T_PR_WHO +/* Define if realloc is not declared in system header files. */ +#undef NEED_DECLARATION_REALLOC -/* Define if has prstatus32_t.pr_who. */ -#undef HAVE_PRSTATUS32_T_PR_WHO +/* Define if strstr is not declared in system header files. */ +#undef NEED_DECLARATION_STRSTR -/* Define if has pstatus_t. */ -#undef HAVE_PSTATUS_T +/* Name of package */ +#undef PACKAGE -/* Define if has pxstatus_t. */ -#undef HAVE_PXSTATUS_T +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT -/* Define if has pstatus32_t. */ -#undef HAVE_PSTATUS32_T +/* Define to the full name of this package. */ +#undef PACKAGE_NAME -/* Define if has prpsinfo_t. */ -#undef HAVE_PRPSINFO_T +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING -/* Define if has prpsinfo32_t. */ -#undef HAVE_PRPSINFO32_T +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME -/* Define if has psinfo_t. */ -#undef HAVE_PSINFO_T +/* Define to the version of this package. */ +#undef PACKAGE_VERSION -/* Define if has psinfo32_t. */ -#undef HAVE_PSINFO32_T +/* The number of bytes in type long */ +#undef SIZEOF_LONG -/* Define if has lwpstatus_t. */ -#undef HAVE_LWPSTATUS_T +/* The number of bytes in type long long */ +#undef SIZEOF_LONG_LONG -/* Define if has lwpxstatus_t. */ -#undef HAVE_LWPXSTATUS_T +/* The number of bytes in type off_t */ +#undef SIZEOF_OFF_T -/* Define if has lwpstatus_t.pr_context. */ -#undef HAVE_LWPSTATUS_T_PR_CONTEXT +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#undef STACK_DIRECTION -/* Define if has lwpstatus_t.pr_reg. */ -#undef HAVE_LWPSTATUS_T_PR_REG +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS -/* Define if has win32_pstatus_t. */ -#undef HAVE_WIN32_PSTATUS_T +/* Define to 1 if you can safely include both and . */ +#undef TIME_WITH_SYS_TIME /* Name of host specific header file to include in trad-core.c. */ #undef TRAD_HEADER -/* The number of bytes in type off_t */ -#undef SIZEOF_OFF_T +/* Use b modifier when opening binary files? */ +#undef USE_BINARY_FOPEN /* Use mmap if it's available? */ #undef USE_MMAP +/* Version number of package */ +#undef VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `long' if does not define. */ +#undef off_t + +/* Define to `unsigned' if does not define. */ +#undef size_t diff -uprN binutils-2.15.91.0.2/bfd/configure binutils-2.15.92.0.2/bfd/configure --- binutils-2.15.91.0.2/bfd/configure 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/configure 2004-09-27 13:46:06.000000000 -0700 @@ -1,57 +1,325 @@ #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# Generated by GNU Autoconf 2.59. # +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + -# Defaults: -ac_help= +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --enable-shared[=PKGS] build shared libraries [default=no]" -ac_help="$ac_help - --enable-static[=PKGS] build static libraries [default=yes]" -ac_help="$ac_help - --enable-fast-install[=PKGS] optimize for fast installation [default=yes]" -ac_help="$ac_help - --with-gnu-ld assume the C compiler uses GNU ld [default=no]" -ac_help="$ac_help - --disable-libtool-lock avoid locking (might break parallel builds)" -ac_help="$ac_help - --with-pic try to use only PIC/non-PIC objects [default=use both]" -ac_help="$ac_help - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)" -ac_help="$ac_help - --enable-targets alternative target configurations" -ac_help="$ac_help - --enable-commonbfdlib build shared BFD/opcodes/libiberty library" -ac_help="$ac_help - --with-mmap try using mmap for BFD input files if available" -ac_help="$ac_help - --enable-build-warnings Enable build-time compiler warnings if gcc is used" -ac_help="$ac_help - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer" -ac_help="$ac_help - --enable-install-libbfd controls installation of libbfd and related headers" -ac_help="$ac_help - --disable-nls do not use Native Language Support" -ac_help="$ac_help - --with-included-gettext use the GNU gettext library included here" +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="libbfd.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S LIBTOOL WARN_CFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults LIBOBJS LTLIBOBJS' +ac_subst_files='' # Initialize some variables set by options. +ac_init_help= +ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. -build=NONE -cache_file=./config.cache +cache_file=/dev/null exec_prefix=NONE -host=NONE no_create= -nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE @@ -60,10 +328,15 @@ program_transform_name=s,x,x, silent= site= srcdir= -target=NONE verbose= x_includes=NONE x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' @@ -77,17 +350,9 @@ oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - ac_prev= for ac_option do - # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" @@ -95,59 +360,59 @@ do continue fi - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. - case "$ac_option" in + case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; + bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) - ac_prev=build ;; + ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; + build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) - datadir="$ac_optarg" ;; + datadir=$ac_optarg ;; -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac - eval "enable_${ac_feature}='$ac_optarg'" ;; + eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -156,95 +421,47 @@ do -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; + exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_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 -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --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 -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; -host | --host | --hos | --ho) - ac_prev=host ;; + ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; + host_alias=$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" ;; + includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; + infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; + 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" ;; + libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ @@ -253,19 +470,19 @@ EOF -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; + localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; + mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) + | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ @@ -279,26 +496,26 @@ EOF -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; + oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; + prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; + program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; + program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ @@ -315,7 +532,7 @@ EOF | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; + program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) @@ -325,7 +542,7 @@ EOF ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; + sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ @@ -336,58 +553,57 @@ EOF | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; + sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; + site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; + 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" ;; + sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; + ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; + target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac - eval "with_${ac_package}='$ac_optarg'" ;; + eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. @@ -398,99 +614,110 @@ EOF ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; + x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; + x_libraries=$ac_optarg ;; - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi -exec 5>./config.log -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; esac done -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=libbfd.c # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. @@ -500,13 +727,490 @@ else fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --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 + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared=PKGS build shared libraries default=no + --enable-static=PKGS build static libraries default=yes + --enable-fast-install=PKGS optimize for fast installation default=yes + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) + --enable-targets alternative target configurations + --enable-commonbfdlib build shared BFD/opcodes/libiberty library + --enable-build-warnings Enable build-time compiler warnings if gcc is used + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-install-libbfd controls installation of libbfd and related headers + --disable-nls do not use Native Language Support + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld default=no + --with-pic try to use only PIC/non-PIC objects default=use both + --with-mmap try using mmap for BFD input files if available + --with-included-gettext use the GNU gettext library included here + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then @@ -517,102 +1221,105 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi else - echo "creating cache $cache_file" - > $cache_file + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } 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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:556: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:589: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes ac_aux_dir= @@ -625,149 +1332,1162 @@ for ac_dir in $srcdir $srcdir/.. $srcdir ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break fi done if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking target system type" >&5 +echo $ECHO_N "checking target system type... $ECHO_C" >&6 +if test "${ac_cv_target+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_target_alias=$target_alias +test "x$ac_cv_target_alias" = "x" && + ac_cv_target_alias=$ac_cv_host_alias +ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +echo "${ECHO_T}$ac_cv_target" >&6 +target=$ac_cv_target +target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# 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. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. # The aliases save the names the user supplied, while $host etc. # will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:666: checking host system type" >&5 +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:687: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:705: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi - echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:729: checking for strerror in -lcposix" >&5 -ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lcposix $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +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 "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 $# != 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 + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done rm -f conftest* -LIBS="$ac_save_LIBS" +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lcposix" +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 +if test "${ac_cv_search_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_strerror=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_strerror="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_strerror" = no; then + for ac_lib in cposix; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_strerror="-l$ac_lib" +break else - echo "$ac_t""no" 1>&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6 +if test "$ac_cv_search_strerror" != no; then + test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" - +fi -am__api_version="1.4" +am__api_version="1.9" # 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: @@ -775,336 +2495,742 @@ am__api_version="1.4" # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:784: checking for a BSD compatible install" >&5 +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done - ;; - esac - done - IFS="$ac_save_IFS" + done + ;; +esac +done + fi if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" + 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" + INSTALL=$ac_install_sh fi fi -echo "$ac_t""$INSTALL" 1>&6 +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:837: checking whether build environment is sane" >&5 +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "$*" != "X $srcdir/configure conftestfile" \ - && test "$*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { echo "configure: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } fi - test "$2" = conftestfile - ) -then - # Ok. - : + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +test "$program_prefix" != NONE && + program_transform_name="s,^,$program_prefix,;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s,\$,$program_suffix,;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=bfd + VERSION=2.15.92.0.2 + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else - { echo "configure: error: newly created file is older than distributed files! -Check your system clock" 1>&2; exit 1; } +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi -rm -f conftest* -echo "$ac_t""yes" 1>&6 -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # 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 -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:894: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else - eval ac_cv_prog_make_${ac_make}_set=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi -rm -f conftestmake fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi -PACKAGE=bfd +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -VERSION=2.15.91.0.2 +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } -fi -cat >> confdefs.h <> confdefs.h <&6 -echo "configure:940: checking for working aclocal-${am__api_version}" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal-${am__api_version} - echo "$ac_t""found" 1>&6 -else - ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" - echo "$ac_t""missing" 1>&6 -fi -echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:953: checking for working autoconf" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoconf --version) < /dev/null > /dev/null 2>&1; then - AUTOCONF=autoconf - echo "$ac_t""found" 1>&6 -else - AUTOCONF="$missing_dir/missing autoconf" - echo "$ac_t""missing" 1>&6 -fi +depcc="$CC" am_compiler_list= -echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6 -echo "configure:966: checking for working automake-${am__api_version}" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake-${am__api_version} - echo "$ac_t""found" 1>&6 +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - AUTOMAKE="$missing_dir/missing automake-${am__api_version}" - echo "$ac_t""missing" 1>&6 -fi + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done -echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:979: checking for working autoheader" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoheader --version) < /dev/null > /dev/null 2>&1; then - AUTOHEADER=autoheader - echo "$ac_t""found" 1>&6 + cd .. + rm -rf conftest.dir else - AUTOHEADER="$missing_dir/missing autoheader" - echo "$ac_t""missing" 1>&6 + am_cv_CC_dependencies_compiler_type=none fi -echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:992: checking for working makeinfo" >&5 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then - MAKEINFO=makeinfo - echo "$ac_t""found" 1>&6 -else - MAKEINFO="$missing_dir/missing makeinfo" - echo "$ac_t""missing" 1>&6 fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -if test $host != $build; then - ac_tool_prefix=${host_alias}- +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - ac_tool_prefix= + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= fi -# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1015: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -AR="$ac_cv_prog_AR" +AR=$ac_cv_prog_AR if test -n "$AR"; then - echo "$ac_t""$AR" 1>&6 + echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + AR=$ac_ct_AR +else + AR="$ac_cv_prog_AR" +fi -# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1047: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -RANLIB="$ac_cv_prog_RANLIB" +RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - +fi if test -z "$ac_cv_prog_RANLIB"; then -if test -n "$ac_tool_prefix"; then + ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1079: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + RANLIB=$ac_ct_RANLIB else - RANLIB=":" -fi + RANLIB="$ac_cv_prog_RANLIB" fi @@ -1129,8 +3255,7 @@ no) enable_shared=no ;; esac else enable_shared=no -fi - +fi; # Check whether --enable-static or --disable-static was given. if test "${enable_static+set}" = set; then @@ -1153,8 +3278,7 @@ no) enable_static=no ;; esac else enable_static=yes -fi - +fi; # Check whether --enable-fast-install or --disable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval="$enable_fast_install" @@ -1176,229 +3300,7 @@ no) enable_fast_install=no ;; esac else enable_fast_install=yes -fi - -# 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 -echo "configure:1185: checking for $ac_word" >&5 -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=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; 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 -echo "configure:1215: checking for $ac_word" >&5 -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=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; 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 - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1266: checking for $ac_word" >&5 -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=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - 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 - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1298: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1309 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1340: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1345: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&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 -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1373: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi +fi; # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then @@ -1406,13 +3308,12 @@ if test "${with_gnu_ld+set}" = set; then test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no -fi - +fi; ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1416: checking for ld used by GCC" >&5 + echo "$as_me:$LINENO: checking for ld used by GCC" >&5 +echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1441,14 +3342,14 @@ echo "configure:1416: checking for ld us ;; esac elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1446: checking for GNU ld" >&5 + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1449: checking for non-GNU ld" >&5 + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi -if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" @@ -1474,15 +3375,19 @@ fi LD="$lt_cv_path_LD" if test -n "$LD"; then - echo "$ac_t""$LD" 1>&6 + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } -echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1484: checking if the linker ($LD) is GNU ld" >&5 -if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then @@ -1491,27 +3396,27 @@ else lt_cv_prog_gnu_ld=no fi fi - -echo "$ac_t""$lt_cv_prog_gnu_ld" 1>&6 +echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 with_gnu_ld=$lt_cv_prog_gnu_ld -echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 -echo "configure:1501: checking for $LD option to reload object files" >&5 -if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi - -echo "$ac_t""$lt_cv_ld_reload_flag" 1>&6 +echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 reload_flag=$lt_cv_ld_reload_flag test -n "$reload_flag" && reload_flag=" $reload_flag" -echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1513: checking for BSD-compatible nm" >&5 -if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. @@ -1544,33 +3449,24 @@ fi fi NM="$lt_cv_path_NM" -echo "$ac_t""$NM" 1>&6 - -echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1551: checking whether ln -s works" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftestdata -if ln -s X conftestdata 2>/dev/null -then - rm -f conftestdata - ac_cv_prog_LN_S="ln -s" -else - ac_cv_prog_LN_S=ln -fi -fi -LN_S="$ac_cv_prog_LN_S" -if test "$ac_cv_prog_LN_S" = "ln -s"; then - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi +echo "$as_me:$LINENO: result: $NM" >&5 +echo "${ECHO_T}$NM" >&6 -echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1572: checking how to recognise dependant libraries" >&5 -if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6 +fi + +echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5 +echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6 +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= @@ -1619,7 +3515,7 @@ darwin* | rhapsody*) esac ;; -freebsd* ) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -1687,7 +3583,7 @@ linux-gnu*) lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; -netbsd*) +netbsd* | knetbsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' else @@ -1735,67 +3631,13 @@ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) esac fi - -echo "$ac_t""$lt_cv_deplibs_check_method" 1>&6 +echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method -echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1745: checking for object suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftest* -echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - for ac_file in conftest.*; do - case $ac_file in - *.c) ;; - *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; - esac - done -else - { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_objext" 1>&6 -OBJEXT=$ac_cv_objext -ac_objext=$ac_cv_objext - -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1771: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:1781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! @@ -1803,10 +3645,10 @@ ac_exeext=$EXEEXT case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 -echo "configure:1808: checking for ${ac_tool_prefix}file" >&5 -if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in /*) @@ -1858,17 +3700,19 @@ fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - echo "$ac_t""$MAGIC_CMD" 1>&6 + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - echo $ac_n "checking for file""... $ac_c" 1>&6 -echo "configure:1870: checking for file" >&5 -if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAGIC_CMD in /*) @@ -1920,9 +3764,11 @@ fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - echo "$ac_t""$MAGIC_CMD" 1>&6 + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi else @@ -1934,138 +3780,164 @@ fi ;; esac -# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1941: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -RANLIB="$ac_cv_prog_RANLIB" +RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - +fi if test -z "$ac_cv_prog_RANLIB"; then -if test -n "$ac_tool_prefix"; then + ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1973: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + RANLIB=$ac_ct_RANLIB else - RANLIB=":" -fi + RANLIB="$ac_cv_prog_RANLIB" fi -# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2008: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -STRIP="$ac_cv_prog_STRIP" +STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - echo "$ac_t""$STRIP" 1>&6 + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - +fi if test -z "$ac_cv_prog_STRIP"; then -if test -n "$ac_tool_prefix"; then + ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2040: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_STRIP="strip" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi -STRIP="$ac_cv_prog_STRIP" -if test -n "$STRIP"; then - echo "$ac_t""$STRIP" 1>&6 +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + STRIP=$ac_ct_STRIP else - STRIP=":" -fi + STRIP="$ac_cv_prog_STRIP" fi @@ -2081,20 +3953,19 @@ test "$lt_cv_prog_gnu_ld" = yes && libto # Check whether --enable-libtool-lock or --disable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval="$enable_libtool_lock" - : -fi +fi; test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + # Check whether --with-pic or --without-pic was given. if test "${with_pic+set}" = set; then withval="$with_pic" pic_mode="$withval" else pic_mode=default -fi - +fi; test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" @@ -2103,8 +3974,12 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 2107 "configure"' > conftest.$ac_ext - if { (eval echo configure:2108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 3977 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) @@ -2137,7 +4012,11 @@ case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext - if { (eval echo configure:2141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then case "`/usr/bin/file conftest.o`" in *ELF-32*) HPUX_IA64_MODE="32" @@ -2154,47 +4033,74 @@ ia64-*-hpux*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" - echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:2159: checking whether the C compiler needs -belf" >&5 -if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - + + 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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ -; return 0; } -EOF -if { (eval echo configure:2179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then lt_cv_cc_needs_belf=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - lt_cv_cc_needs_belf=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +lt_cv_cc_needs_belf=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext 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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi - -echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 +echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" @@ -2206,54 +4112,61 @@ esac # Save cache, so that ltconfig can load it -cat > confcache <<\EOF +cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. # -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. # -EOF +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache - # Actually configure libtool. ac_aux_dir is where install-sh is found. AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ @@ -2263,15 +4176,26 @@ objext="$OBJEXT" exeext="$EXEEXT" reload deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ -|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; } +|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5 +echo "$as_me: error: libtool configure failed" >&2;} + { (exit 1); exit 1; }; } # Reload cache, that may have been modified by ltconfig if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi else - echo "creating cache $cache_file" - > $cache_file + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file fi @@ -2285,11 +4209,11 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo # clobbered by the next message. exec 5>>./config.log - - - - + + + + # Check whether --enable-64-bit-bfd or --disable-64-bit-bfd was given. if test "${enable_64_bit_bfd+set}" = set; then @@ -2297,42 +4221,47 @@ if test "${enable_64_bit_bfd+set}" = set case "${enableval}" in yes) want64=true ;; no) want64=false ;; - *) { echo "configure: error: bad value ${enableval} for 64-bit-bfd option" 1>&2; exit 1; } ;; + *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for 64-bit-bfd option" >&5 +echo "$as_me: error: bad value ${enableval} for 64-bit-bfd option" >&2;} + { (exit 1); exit 1; }; } ;; esac else want64=false -fi -# Check whether --enable-targets or --disable-targets was given. +fi; # Check whether --enable-targets or --disable-targets was given. 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; } + yes | "") { { echo "$as_me:$LINENO: error: enable-targets option must specify target names or 'all'" >&5 +echo "$as_me: error: enable-targets option must specify target names or 'all'" >&2;} + { (exit 1); exit 1; }; } ;; no) enable_targets= ;; *) enable_targets=$enableval ;; esac -fi -# Check whether --enable-commonbfdlib or --disable-commonbfdlib was given. +fi; # Check whether --enable-commonbfdlib or --disable-commonbfdlib was given. if test "${enable_commonbfdlib+set}" = set; then enableval="$enable_commonbfdlib" case "${enableval}" in yes) commonbfdlib=true ;; no) commonbfdlib=false ;; - *) { echo "configure: error: bad value ${enableval} for BFD commonbfdlib option" 1>&2; exit 1; } ;; + *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for BFD commonbfdlib option" >&5 +echo "$as_me: error: bad value ${enableval} for BFD commonbfdlib option" >&2;} + { (exit 1); exit 1; }; } ;; esac -fi +fi; # Check whether --with-mmap or --without-mmap was given. if test "${with_mmap+set}" = set; then withval="$with_mmap" case "${withval}" in yes) want_mmap=true ;; no) want_mmap=false ;; - *) { echo "configure: error: bad value ${withval} for BFD with-mmap option" 1>&2; exit 1; } ;; + *) { { echo "$as_me:$LINENO: error: bad value ${withval} for BFD with-mmap option" >&5 +echo "$as_me: error: bad value ${withval} for BFD with-mmap option" >&2;} + { (exit 1); exit 1; }; } ;; esac else want_mmap=false -fi - +fi; build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes" # Check whether --enable-build-warnings or --disable-build-warnings was given. if test "${enable_build_warnings+set}" = set; then @@ -2349,33 +4278,33 @@ esac if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then echo "Setting warning flags = $build_warnings" 6>&1 fi -fi -WARN_CFLAGS="" +fi; WARN_CFLAGS="" if test "x${build_warnings}" != x && test "x$GCC" = xyes ; then WARN_CFLAGS="${build_warnings}" fi - - + ac_config_headers="$ac_config_headers config.h:config.in" if test -z "$target" ; then - { echo "configure: error: Unrecognized target system type; please check config.sub." 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: Unrecognized target system type; please check config.sub." >&5 +echo "$as_me: error: Unrecognized target system type; please check config.sub." >&2;} + { (exit 1); exit 1; }; } fi -echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:2369: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no -fi +fi; + echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 - echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6 - if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= @@ -2384,11 +4313,27 @@ else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi + MAINT=$MAINTAINER_MODE_TRUE - -echo $ac_n "checking whether to install libbfd""... $ac_c" 1>&6 -echo "configure:2392: checking whether to install libbfd" >&5 + + case ${build_alias} in + "") build_noncanonical=${build} ;; + *) build_noncanonical=${build_alias} ;; +esac + + case ${host_alias} in + "") host_noncanonical=${build_noncanonical} ;; + *) host_noncanonical=${host_alias} ;; +esac + + case ${target_alias} in + "") target_noncanonical=${host_noncanonical} ;; + *) target_noncanonical=${target_alias} ;; +esac + +echo "$as_me:$LINENO: checking whether to install libbfd" >&5 +echo $ECHO_N "checking whether to install libbfd... $ECHO_C" >&6 # Check whether --enable-install-libbfd or --disable-install-libbfd was given. if test "${enable_install_libbfd+set}" = set; then enableval="$enable_install_libbfd" @@ -2399,10 +4344,10 @@ else else install_libbfd_p=no fi -fi +fi; + echo "$as_me:$LINENO: result: $install_libbfd_p" >&5 +echo "${ECHO_T}$install_libbfd_p" >&6 - echo "$ac_t""$install_libbfd_p" 1>&6 - if test $install_libbfd_p = yes; then INSTALL_LIBBFD_TRUE= @@ -2411,49 +4356,23 @@ else INSTALL_LIBBFD_TRUE='#' INSTALL_LIBBFD_FALSE= fi + + # Need _noncanonical variables for this. + + + + # libbfd.a is a host library containing target dependent code bfdlibdir='$(libdir)' bfdincludedir='$(includedir)' if test "${host}" != "${target}"; then - bfdlibdir='$(exec_prefix)/$(host_alias)/$(target_alias)/lib' - bfdincludedir='$(exec_prefix)/$(host_alias)/$(target_alias)/include' + bfdlibdir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/lib' + bfdincludedir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/include' fi - - - -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:2429: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:2439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT host64=false @@ -2462,214 +4381,458 @@ bfd_default_target_size=32 # host stuff: -# Extract the first word of "gcc", so it can be a program name with args. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # 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 -echo "configure:2469: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; 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" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +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 -echo "configure:2499: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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=":" ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; 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" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + 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 + if test $# != 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="$@" + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2550: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - ;; - esac + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +done +done + fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2582: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 + CC=$ac_ct_CC +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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +fi -cat > conftest.$ac_ext << EOF -#line 2593 "configure" -#include "confdefs.h" +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -main(){return(0);} -EOF -if { (eval echo configure:2598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -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' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:2624: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:2629: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&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 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi +int +main () +{ -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2657: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else - ac_cv_prog_cc_g=no -fi -rm -f conftest* + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_cv_prog_cc_g=no fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" + CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" @@ -2683,159 +4846,672 @@ else CFLAGS= fi fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu ALL_LINGUAS="fr tr ja es sv da zh_CN ro" -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2691: checking how to run the C preprocessor" >&5 +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2712: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then : else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp + ac_cpp_err=yes fi -rm -f conftest* +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break fi -rm -f conftest* +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes fi - CPP="$ac_cv_prog_CPP" +if test -z "$ac_cpp_err"; then + : else - ac_cv_prog_CPP="$CPP" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue fi -echo "$ac_t""$CPP" 1>&6 +rm -f conftest.err conftest.$ac_ext -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2773: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2801: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include #include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_header_stdc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -EOF + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then + $EGREP "memchr" >/dev/null 2>&1; then : else - rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -2844,16 +5520,19 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -EOF + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then + $EGREP "free" >/dev/null 2>&1; then : else - rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -2862,269 +5541,530 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif -EOF -if { (eval echo configure:2881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then : else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no fi -rm -fr conftest* +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - fi fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 -EOF +_ACEOF fi -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2905: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif -/* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x; -/* SunOS 4.1.1 cc rejects this. */ -char const *const *ccp; -char **p; -/* NEC SVR4.0.2 mips cc rejects this. */ -struct point {int x, y;}; -static struct point const zero = {0,0}; -/* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in an arm - of an if-expression whose if-part is not a constant expression */ -const char *g = "string"; -ccp = &g + (g ? g-g : 0); -/* HPUX 7.0 cc rejects these. */ -++ccp; -p = (char**) ccp; -ccp = (char const *const *) p; -{ /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -} -{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; -} -{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; -} -{ /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + ; + return 0; } -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:2959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_const=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF fi -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2980: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in + +case $ac_cv_c_inline in inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; esac -echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3020: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for off_t" >&5 +echo $ECHO_N "checking for off_t... $ECHO_C" >&6 +if test "${ac_cv_type_off_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((off_t *) 0) + return 0; +if (sizeof (off_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_type_off_t=yes else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_cv_type_off_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF +echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 +echo "${ECHO_T}$ac_cv_type_off_t" >&6 +if test $ac_cv_type_off_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF #define off_t long -EOF +_ACEOF fi -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3053: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_type_size_t=yes else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 +ac_cv_type_size_t=no fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF #define size_t unsigned -EOF +_ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:3088: checking for working alloca.h" >&5 -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 <&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:3100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_working_alloca_h=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_working_alloca_h=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 +if test $ac_cv_working_alloca_h = yes; then -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 -EOF +_ACEOF fi -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:3121: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6 +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else @@ -3146,137 +6086,217 @@ char *alloca (); # endif #endif -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:3154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +int +main () +{ +char *p = (char *) alloca (1); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_func_alloca_works=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_alloca_works=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF -fi +cat >>confdefs.h <<\_ACEOF +#define HAVE_ALLOCA 1 +_ACEOF -if test $ac_cv_func_alloca_works = no; then +else # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 -EOF +_ACEOF -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:3186: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #if defined(CRAY) && ! defined(CRAY2) webecray #else wenotbecray #endif -EOF +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* + $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else - rm -rf conftest* ac_cv_os_cray=no fi rm -f conftest* fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6 if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3216: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func -EOF +_ACEOF - break -else - echo "$ac_t""no" 1>&6 + break fi -done + done fi -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3271: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int find_stack_direction () { static char *addr = 0; @@ -3289,138 +6309,316 @@ find_stack_direction () else return (&dummy > addr) ? 1 : -1; } + +int main () { - exit (find_stack_direction() < 0); + exit (find_stack_direction () < 0); } -EOF -if { (eval echo configure:3298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 fi -rm -fr conftest* +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - fi +echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction -EOF +_ACEOF + fi -for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h + + +for ac_header in stdlib.h unistd.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3323: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done + for ac_func in getpagesize do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3362: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:3390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3415: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_mmap_fixed_mapped=no else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: @@ -3434,47 +6632,34 @@ else back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the filesystem buffer cache + VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get - propogated back to all the places they're supposed to be. + propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ -#include + #include #include -#if HAVE_SYS_TYPES_H -# include -#endif - -#if HAVE_STDLIB_H -# include -#endif - -#if HAVE_SYS_STAT_H -# include -#endif - -#if HAVE_UNISTD_H -# include +#if !STDC_HEADERS && !HAVE_STDLIB_H +char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE - +#if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H +# if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H +# if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE @@ -3501,327 +6686,578 @@ else #endif /* no HAVE_GETPAGESIZE */ -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - int -main() +main () { - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); -} - -EOF -if { (eval echo configure:3576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + exit (1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + exit (1); + if (write (fd, data, pagesize) != pagesize) + exit (1); + close (fd); + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + exit (1); + data2 = (char *) malloc (2 * pagesize); + if (!data2) + exit (1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit (1); + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + exit (1); + if (read (fd, data3, pagesize) != pagesize) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit (1); + close (fd); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_func_mmap_fixed_mapped=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no fi -rm -fr conftest* +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 -EOF +_ACEOF fi +rm -f conftest.mmap + + + + + + + + + - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \ + +for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \ unistd.h values.h sys/param.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3604: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done - for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ + + + + + + + + + + +for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ __argz_count __argz_stringify __argz_next do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3644: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:3672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done if test "${ac_cv_func_stpcpy+set}" != "set"; then - for ac_func in stpcpy + +for ac_func in stpcpy do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3701: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:3729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done fi if test "${ac_cv_func_stpcpy}" = "yes"; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_STPCPY 1 -EOF +_ACEOF fi if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3763: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 +if test "${am_cv_val_LC_MESSAGES+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { +int +main () +{ return LC_MESSAGES -; return 0; } -EOF -if { (eval echo configure:3775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then am_cv_val_LC_MESSAGES=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +am_cv_val_LC_MESSAGES=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 +echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_LC_MESSAGES 1 -EOF +_ACEOF fi fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3796: checking whether NLS is requested" >&5 + echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" USE_NLS=$enableval else USE_NLS=yes -fi +fi; + echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6 - echo "$ac_t""$USE_NLS" 1>&6 - USE_INCLUDED_LIBINTL=no if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 -EOF +_ACEOF - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3816: checking whether included gettext is requested" >&5 - # Check whether --with-included-gettext or --without-included-gettext was given. + echo "$as_me:$LINENO: checking whether included gettext is requested" >&5 +echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6 + +# Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" nls_cv_force_use_gnu_gettext=$withval else nls_cv_force_use_gnu_gettext=no -fi - - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 +fi; + echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5 +echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then @@ -3829,141 +7265,336 @@ fi nls_cv_header_libgt= CATOBJEXT=NONE - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3835: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking libintl.h usability" >&5 +echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default #include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3845: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking libintl.h presence" >&5 +echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* + ac_cpp_err=yes fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:3862: checking for gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - cat > conftest.$ac_ext <&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libintl_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 + +fi +if test $ac_cv_header_libintl_h = yes; then + echo "$as_me:$LINENO: checking for gettext in libc" >&5 +echo $ECHO_N "checking for gettext in libc... $ECHO_C" >&6 +if test "${gt_cv_func_gettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { +int +main () +{ return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:3874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then gt_cv_func_gettext_libc=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_gettext_libc=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 +echo "$as_me:$LINENO: result: $gt_cv_func_gettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_gettext_libc" >&6 if test "$gt_cv_func_gettext_libc" != "yes"; then - echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3890: checking for bindtextdomain in -lintl" >&5 -ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 +echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6 +if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bindtextdomain(); - -int main() { -bindtextdomain() -; return 0; } -EOF -if { (eval echo configure:3909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:3925: checking for gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_intl_bindtextdomain=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_intl_bindtextdomain=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6 +if test $ac_cv_lib_intl_bindtextdomain = yes; then + echo "$as_me:$LINENO: checking for gettext in libintl" >&5 +echo $ECHO_N "checking for gettext in libintl... $ECHO_C" >&6 +if test "${gt_cv_func_gettext_libintl+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:3937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then gt_cv_func_gettext_libintl=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libintl=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gt_cv_func_gettext_libintl=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi - -echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6 -else - echo "$ac_t""no" 1>&6 +echo "$as_me:$LINENO: result: $gt_cv_func_gettext_libintl" >&5 +echo "${ECHO_T}$gt_cv_func_gettext_libintl" >&6 fi fi if test "$gt_cv_func_gettext_libc" = "yes" \ || test "$gt_cv_func_gettext_libintl" = "yes"; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 -EOF +_ACEOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3965: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in /*) @@ -3987,108 +7618,161 @@ esac fi MSGFMT="$ac_cv_path_MSGFMT" if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 + echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi if test "$MSGFMT" != "no"; then - for ac_func in dcgettext + +for ac_func in dcgettext do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3999: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:4027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4054: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - case "$GMSGFMT" in - /*) + case $GMSGFMT in + [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi -GMSGFMT="$ac_cv_path_GMSGFMT" +GMSGFMT=$ac_cv_path_GMSGFMT + if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 + echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4090: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in /*) @@ -4112,42 +7796,71 @@ esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 + echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr -; return 0; } -EOF -if { (eval echo configure:4130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then CATOBJEXT=.gmo DATADIRNAME=share else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CATOBJEXT=.mo + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +CATOBJEXT=.mo DATADIRNAME=lib fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext INSTOBJEXT=.mo fi fi - -else - echo "$ac_t""no" 1>&6 + fi - + + if test "$CATOBJEXT" = "NONE"; then nls_cv_use_gnu_gettext=yes fi @@ -4157,10 +7870,10 @@ fi INTLOBJS="\$(GETTOBJS)" # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4162: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in /*) @@ -4184,53 +7897,59 @@ esac fi MSGFMT="$ac_cv_path_MSGFMT" if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 + echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4196: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - case "$GMSGFMT" in - /*) + case $GMSGFMT in + [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi -GMSGFMT="$ac_cv_path_GMSGFMT" +GMSGFMT=$ac_cv_path_GMSGFMT + if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 + echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4232: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in /*) @@ -4254,12 +7973,14 @@ esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 + echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6 else - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi - + USE_INCLUDED_LIBINTL=yes CATOBJEXT=.gmo INSTOBJEXT=.mo @@ -4275,7 +7996,8 @@ fi if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else - echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6 + echo "$as_me:$LINENO: result: found xgettext programs is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext programs is not GNU xgettext; ignore it" >&6 XGETTEXT=":" fi fi @@ -4300,25 +8022,25 @@ fi POFILES="$POFILES $lang.po" done - - - - - - - - - - - - + + + + + + + + + + + + if test "x$CATOBJEXT" != "x"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4322: checking for catalogs to be installed" >&5 + echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 +echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4326,7 +8048,8 @@ echo "configure:4322: checking for catal esac done LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 + echo "$as_me:$LINENO: result: $LINGUAS" >&5 +echo "${ECHO_T}$LINGUAS" >&6 fi if test -n "$LINGUAS"; then @@ -4340,45 +8063,155 @@ echo "configure:4322: checking for catal INCLUDE_LOCALE_H="\ /* The system does not provide the header . Take care yourself. */" fi - + if test -f $srcdir/po2tbl.sed.in; then if test "$CATOBJEXT" = ".cat"; then - ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:4350: checking for linux/version.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 +if test "${ac_cv_header_linux_version_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking linux/version.h usability" >&5 +echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default #include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking linux/version.h presence" >&5 +echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + ac_cpp_err=yes fi -rm -f conftest* +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: linux/version.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: linux/version.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: linux/version.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: linux/version.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: linux/version.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: linux/version.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: linux/version.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: linux/version.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for linux/version.h" >&5 +echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6 +if test "${ac_cv_header_linux_version_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_linux_version_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5 +echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6 + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 +if test $ac_cv_header_linux_version_h = yes; then msgformat=linux else - echo "$ac_t""no" 1>&6 -msgformat=xopen + msgformat=xopen fi + sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed fi sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ @@ -4392,14 +8225,14 @@ fi GT_NO= GT_YES="#YES#" fi - - + + MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs" - + l= - + if test -f $srcdir/po/POTFILES.in; then test -d po || mkdir po @@ -4416,7 +8249,7 @@ fi sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES fi - + # Permit host specific settings. . ${srcdir}/configure.host @@ -4429,60 +8262,75 @@ fi # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:4438: checking for a BSD compatible install" >&5 +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done - ;; - esac - done - IFS="$ac_save_IFS" + done + ;; +esac +done + fi if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" + 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" + INSTALL=$ac_install_sh fi fi -echo "$ac_t""$INSTALL" 1>&6 +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' @@ -4493,112 +8341,204 @@ BFD_HOST_64_BIT_DEFINED=0 BFD_HOST_64_BIT= BFD_HOST_U_64_BIT= -echo $ac_n "checking for long long""... $ac_c" 1>&6 -echo "configure:4498: checking for long long" >&5 -if eval "test \"`echo '$''{'bfd_cv_has_long_long'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for long long... $ECHO_C" >&6 +if test "${bfd_cv_has_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ unsigned long long ll = 18446744073709551615ULL; -; return 0; } -EOF -if { (eval echo configure:4510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_has_long_long=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_has_long_long=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_has_long_long=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_has_long_long" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_has_long_long" >&5 +echo "${ECHO_T}$bfd_cv_has_long_long" >&6 if test $bfd_cv_has_long_long = yes; then BFD_HOST_LONG_LONG=1 - echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4526: checking size of long long" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking size of long long" >&5 +echo $ECHO_N "checking size of long long... $ECHO_C" >&6 +if test "${ac_cv_sizeof_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "confdefs.h" #include -int main() { +int +main () +{ switch (0) case 0: case (sizeof (long long) == $ac_size):; -; return 0; } -EOF -if { (eval echo configure:4542: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_sizeof_long_long=$ac_size else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test x$ac_cv_sizeof_long_long != x ; then break; fi done fi if test x$ac_cv_sizeof_long_long = x ; then - { echo "configure: error: cannot determine a size for long long" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot determine a size for long long" >&5 +echo "$as_me: error: cannot determine a size for long long" >&2;} + { (exit 1); exit 1; }; } fi -echo "$ac_t""$ac_cv_sizeof_long_long" 1>&6 -cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6 + +cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long -EOF +_ACEOF fi -echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4567: checking size of long" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking size of long" >&5 +echo $ECHO_N "checking size of long... $ECHO_C" >&6 +if test "${ac_cv_sizeof_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "confdefs.h" #include -int main() { +int +main () +{ switch (0) case 0: case (sizeof (long) == $ac_size):; -; return 0; } -EOF -if { (eval echo configure:4583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_sizeof_long=$ac_size else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test x$ac_cv_sizeof_long != x ; then break; fi done fi if test x$ac_cv_sizeof_long = x ; then - { echo "configure: error: cannot determine a size for long" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5 +echo "$as_me: error: cannot determine a size for long" >&2;} + { (exit 1); exit 1; }; } fi -echo "$ac_t""$ac_cv_sizeof_long" 1>&6 -cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_cv_sizeof_long" >&6 + +cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long -EOF +_ACEOF if test "x${ac_cv_sizeof_long}" = "x8"; then @@ -4636,10 +8576,10 @@ fi if test "x$cross_compiling" = "xno"; then EXEEXT_FOR_BUILD='$(EXEEXT)' else - echo $ac_n "checking for build system executable suffix""... $ac_c" 1>&6 -echo "configure:4641: checking for build system executable suffix" >&5 -if eval "test \"`echo '$''{'bfd_cv_build_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking for build system executable suffix" >&5 +echo $ECHO_N "checking for build system executable suffix... $ECHO_C" >&6 +if test "${bfd_cv_build_exeext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f conftest* echo 'int main () { return 0; }' > conftest.c @@ -4654,360 +8594,922 @@ else rm -f conftest* test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no fi - -echo "$ac_t""$bfd_cv_build_exeext" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_build_exeext" >&5 +echo "${ECHO_T}$bfd_cv_build_exeext" >&6 EXEEXT_FOR_BUILD="" test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} fi -for ac_hdr in stddef.h string.h strings.h stdlib.h time.h unistd.h + + + + + + +for ac_header in stddef.h string.h strings.h stdlib.h time.h unistd.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4669: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4679: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done -for ac_hdr in fcntl.h sys/file.h sys/time.h + + + +for ac_header in fcntl.h sys/file.h sys/time.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4709: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4719: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:4746: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 +if test "${ac_cv_header_time+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:4760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + +int +main () +{ +if ((struct tm *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_header_time=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_time=no fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - -echo "$ac_t""$ac_cv_header_time" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 -EOF +_ACEOF fi + + + + + ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:4785: checking for $ac_hdr that defines DIR" >&5 -if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include <$ac_hdr> -int main() { -DIR *dirp = 0; -; return 0; } -EOF -if { (eval echo configure:4798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break fi + done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then -echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:4823: checking for opendir in -ldir" >&5 -ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldir $LIBS" -cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir(); + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in dir; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:4842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -ldir" -else - echo "$ac_t""no" 1>&6 +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" + fi else -echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4864: checking for opendir in -lx" >&5 -ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" -LIBS="-lx $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + /* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir(); + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in x; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:4883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lx" -else - echo "$ac_t""no" 1>&6 +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" fi +fi + + + + + + + + for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4908: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:4936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done + for ac_func in strtoull do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4963: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:4991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done @@ -5015,20 +9517,24 @@ done case "${host}" in *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*) - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define USE_BINARY_FOPEN 1 -EOF +_ACEOF ;; esac -echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:5026: checking whether strstr must be declared" >&5 -if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether strstr must be declared... $ECHO_C" >&6 +if test "${bfd_cv_decl_needed_strstr+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #ifdef HAVE_STRING_H @@ -5044,38 +9550,67 @@ else #ifdef HAVE_UNISTD_H #include #endif -int main() { +int +main () +{ char *(*pfn) = (char *(*)) strstr -; return 0; } -EOF -if { (eval echo configure:5052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_decl_needed_strstr=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_decl_needed_strstr=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_decl_needed_strstr=yes fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_decl_needed_strstr" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_decl_needed_strstr" >&5 +echo "${ECHO_T}$bfd_cv_decl_needed_strstr" >&6 if test $bfd_cv_decl_needed_strstr = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_STRSTR 1 -EOF +_ACEOF fi -echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6 -echo "configure:5073: checking whether malloc must be declared" >&5 -if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking whether malloc must be declared" >&5 +echo $ECHO_N "checking whether malloc must be declared... $ECHO_C" >&6 +if test "${bfd_cv_decl_needed_malloc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #ifdef HAVE_STRING_H @@ -5091,38 +9626,67 @@ else #ifdef HAVE_UNISTD_H #include #endif -int main() { +int +main () +{ char *(*pfn) = (char *(*)) malloc -; return 0; } -EOF -if { (eval echo configure:5099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_decl_needed_malloc=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_decl_needed_malloc=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_decl_needed_malloc=yes fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_decl_needed_malloc" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_decl_needed_malloc" >&5 +echo "${ECHO_T}$bfd_cv_decl_needed_malloc" >&6 if test $bfd_cv_decl_needed_malloc = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_MALLOC 1 -EOF +_ACEOF fi -echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6 -echo "configure:5120: checking whether realloc must be declared" >&5 -if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking whether realloc must be declared" >&5 +echo $ECHO_N "checking whether realloc must be declared... $ECHO_C" >&6 +if test "${bfd_cv_decl_needed_realloc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #ifdef HAVE_STRING_H @@ -5138,38 +9702,67 @@ else #ifdef HAVE_UNISTD_H #include #endif -int main() { +int +main () +{ char *(*pfn) = (char *(*)) realloc -; return 0; } -EOF -if { (eval echo configure:5146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_decl_needed_realloc=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_decl_needed_realloc=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_decl_needed_realloc=yes fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_decl_needed_realloc" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_decl_needed_realloc" >&5 +echo "${ECHO_T}$bfd_cv_decl_needed_realloc" >&6 if test $bfd_cv_decl_needed_realloc = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_REALLOC 1 -EOF +_ACEOF fi -echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:5167: checking whether free must be declared" >&5 -if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking whether free must be declared" >&5 +echo $ECHO_N "checking whether free must be declared... $ECHO_C" >&6 +if test "${bfd_cv_decl_needed_free+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #ifdef HAVE_STRING_H @@ -5185,38 +9778,67 @@ else #ifdef HAVE_UNISTD_H #include #endif -int main() { +int +main () +{ char *(*pfn) = (char *(*)) free -; return 0; } -EOF -if { (eval echo configure:5193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_decl_needed_free=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_decl_needed_free=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_decl_needed_free=yes fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_decl_needed_free" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_decl_needed_free" >&5 +echo "${ECHO_T}$bfd_cv_decl_needed_free" >&6 if test $bfd_cv_decl_needed_free = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_FREE 1 -EOF +_ACEOF fi -echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:5214: checking whether getenv must be declared" >&5 -if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking whether getenv must be declared" >&5 +echo $ECHO_N "checking whether getenv must be declared... $ECHO_C" >&6 +if test "${bfd_cv_decl_needed_getenv+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #ifdef HAVE_STRING_H @@ -5232,27 +9854,53 @@ else #ifdef HAVE_UNISTD_H #include #endif -int main() { +int +main () +{ char *(*pfn) = (char *(*)) getenv -; return 0; } -EOF -if { (eval echo configure:5240: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_decl_needed_getenv=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_decl_needed_getenv=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_decl_needed_getenv=yes fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$bfd_cv_decl_needed_getenv" 1>&6 +echo "$as_me:$LINENO: result: $bfd_cv_decl_needed_getenv" >&5 +echo "${ECHO_T}$bfd_cv_decl_needed_getenv" >&6 if test $bfd_cv_decl_needed_getenv = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define NEED_DECLARATION_GETENV 1 -EOF +_ACEOF fi @@ -5418,30 +10066,60 @@ if test "${target}" = "${host}"; then COREFLAG="$COREFLAG -DAIX_CORE_DUMPX_CORE" # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE # have c_impl as a member of struct core_dumpx - echo $ac_n "checking for c_impl in struct core_dumpx""... $ac_c" 1>&6 -echo "configure:5423: checking for c_impl in struct core_dumpx" >&5 - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for c_impl in struct core_dumpx... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { +int +main () +{ struct core_dumpx c; c.c_impl = 0; -; return 0; } -EOF -if { (eval echo configure:5432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cat >> confdefs.h <<\EOF + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +cat >>confdefs.h <<\_ACEOF #define HAVE_ST_C_IMPL 1 -EOF +_ACEOF - echo "$ac_t""yes" 1>&6 + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ;; rs6000-*-aix4*) COREFILE=rs6000-core.lo ;; rs6000-*-*) COREFILE=rs6000-core.lo ;; @@ -5501,631 +10179,1206 @@ rm -f conftest* # ELF corefile support has several flavors, but all of # them use something called - for ac_hdr in sys/procfs.h + +for ac_header in sys/procfs.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5509: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done if test "$ac_cv_header_sys_procfs_h" = yes; then - echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5547: checking for prstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_prstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prstatus_t avar -; return 0; } -EOF -if { (eval echo configure:5561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_prstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_prstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_prstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_prstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_prstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_prstatus_t" >&6 - echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5583: checking for prstatus32_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prstatus32_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_prstatus32_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prstatus32_t avar -; return 0; } -EOF -if { (eval echo configure:5597: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_prstatus32_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_prstatus32_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_prstatus32_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_prstatus32_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRSTATUS32_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_prstatus32_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_prstatus32_t" >&6 - echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5619: checking for prstatus_t.pr_who in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prstatus_t.pr_who in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prstatus_t avar; void* aref = (void*) &avar.pr_who -; return 0; } -EOF -if { (eval echo configure:5633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRSTATUS_T_PR_WHO 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" >&6 - echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5655: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prstatus32_t.pr_who in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prstatus32_t avar; void* aref = (void*) &avar.pr_who -; return 0; } -EOF -if { (eval echo configure:5669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRSTATUS32_T_PR_WHO 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" >&6 - echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5691: checking for pstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for pstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_pstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ pstatus_t avar -; return 0; } -EOF -if { (eval echo configure:5705: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_pstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_pstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_pstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_pstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_pstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_pstatus_t" >&6 - echo $ac_n "checking for pxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5727: checking for pxstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pxstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for pxstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_pxstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ pxstatus_t avar -; return 0; } -EOF -if { (eval echo configure:5741: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_pxstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_pxstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_pxstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_pxstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PXSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_pxstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_pxstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_pxstatus_t" >&6 - echo $ac_n "checking for pstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5763: checking for pstatus32_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for pstatus32_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_pstatus32_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ pstatus32_t avar -; return 0; } -EOF -if { (eval echo configure:5777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_pstatus32_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_pstatus32_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_pstatus32_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_pstatus32_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PSTATUS32_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus32_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_pstatus32_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_pstatus32_t" >&6 - echo $ac_n "checking for prpsinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5799: checking for prpsinfo_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prpsinfo_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_prpsinfo_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prpsinfo_t avar -; return 0; } -EOF -if { (eval echo configure:5813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_prpsinfo_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_prpsinfo_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_prpsinfo_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_prpsinfo_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRPSINFO_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_prpsinfo_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_prpsinfo_t" >&6 - echo $ac_n "checking for prpsinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5835: checking for prpsinfo32_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for prpsinfo32_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_prpsinfo32_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ prpsinfo32_t avar -; return 0; } -EOF -if { (eval echo configure:5849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_prpsinfo32_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_prpsinfo32_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_prpsinfo32_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PRPSINFO32_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo32_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_prpsinfo32_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_prpsinfo32_t" >&6 - echo $ac_n "checking for psinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5871: checking for psinfo_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for psinfo_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_psinfo_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ psinfo_t avar -; return 0; } -EOF -if { (eval echo configure:5885: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_psinfo_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_psinfo_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_psinfo_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_psinfo_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PSINFO_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_psinfo_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_psinfo_t" >&6 - echo $ac_n "checking for psinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5907: checking for psinfo32_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo32_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for psinfo32_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_psinfo32_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ psinfo32_t avar -; return 0; } -EOF -if { (eval echo configure:5921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_psinfo32_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_psinfo32_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_psinfo32_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_psinfo32_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_PSINFO32_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo32_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_psinfo32_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_psinfo32_t" >&6 - echo $ac_n "checking for lwpstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5943: checking for lwpstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for lwpstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_lwpstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ lwpstatus_t avar -; return 0; } -EOF -if { (eval echo configure:5957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_lwpstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_lwpstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_lwpstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_lwpstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_LWPSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_lwpstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_lwpstatus_t" >&6 - echo $ac_n "checking for lwpxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5979: checking for lwpxstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpxstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for lwpxstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_lwpxstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ lwpxstatus_t avar -; return 0; } -EOF -if { (eval echo configure:5993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_lwpxstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_lwpxstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_lwpxstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_LWPXSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpxstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_lwpxstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_lwpxstatus_t" >&6 - echo $ac_n "checking for lwpstatus_t.pr_context in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6015: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for lwpstatus_t.pr_context in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ lwpstatus_t avar; void* aref = (void*) &avar.pr_context -; return 0; } -EOF -if { (eval echo configure:6029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_LWPSTATUS_T_PR_CONTEXT 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" >&6 - echo $ac_n "checking for lwpstatus_t.pr_reg in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6051: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for lwpstatus_t.pr_reg in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ lwpstatus_t avar; void* aref = (void*) &avar.pr_reg -; return 0; } -EOF -if { (eval echo configure:6065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_LWPSTATUS_T_PR_REG 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" >&6 - echo $ac_n "checking for win32_pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:6087: checking for win32_pstatus_t in sys/procfs.h" >&5 - if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_win32_pstatus_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for win32_pstatus_t in sys/procfs.h... $ECHO_C" >&6 + if test "${bfd_cv_have_sys_procfs_type_win32_pstatus_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #define _SYSCALL32 #include -int main() { +int +main () +{ win32_pstatus_t avar -; return 0; } -EOF -if { (eval echo configure:6101: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - bfd_cv_have_sys_procfs_type_win32_pstatus_t=no - + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +bfd_cv_have_sys_procfs_type_win32_pstatus_t=no + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $bfd_cv_have_sys_procfs_type_win32_pstatus_t = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_WIN32_PSTATUS_T 1 -EOF +_ACEOF fi - echo "$ac_t""$bfd_cv_have_sys_procfs_type_win32_pstatus_t" 1>&6 + echo "$as_me:$LINENO: result: $bfd_cv_have_sys_procfs_type_win32_pstatus_t" >&5 +echo "${ECHO_T}$bfd_cv_have_sys_procfs_type_win32_pstatus_t" >&6 fi fi if test -n "$TRAD_HEADER"; then - cat >> confdefs.h <>confdefs.h <<_ACEOF #define TRAD_HEADER $TRAD_HEADER -EOF +_ACEOF fi @@ -6279,10 +11532,12 @@ do bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; + bfd_elf32_bigarm_symbian_vec) + tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; - bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; + bfd_elf32_crx_vec) tb="$tb elf32-crx.lo elf32.lo $elf" ;; bfd_elf32_d10v_vec) tb="$tb elf32-d10v.lo elf32.lo $elf" ;; bfd_elf32_d30v_vec) tb="$tb elf32-d30v.lo elf32.lo $elf" ;; bfd_elf32_dlx_big_vec) tb="$tb elf32-dlx.lo elf32.lo $elf" ;; @@ -6291,6 +11546,7 @@ do bfd_elf32_frvfdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; bfd_elf32_h8300_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; + bfd_elf32_hppa_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;; @@ -6305,6 +11561,8 @@ do bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; + bfd_elf32_littlearm_symbian_vec) + tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; @@ -6502,7 +11760,9 @@ do cisco_core_little_vec) tb="$tb cisco-core.lo" ;; "") ;; - *) { echo "configure: error: *** unknown target vector $vec" 1>&2; exit 1; } ;; + *) { { echo "$as_me:$LINENO: error: *** unknown target vector $vec" >&5 +echo "$as_me: error: *** unknown target vector $vec" >&2;} + { (exit 1); exit 1; }; } ;; esac if test ${target_size} = 64; then @@ -6566,32 +11826,39 @@ case ${host64}-${target64}-${want64} in bfd_libs='$(BFD64_LIBS) $(BFD32_LIBS)' all_backends='$(BFD64_BACKENDS) $(BFD32_BACKENDS)' if test $BFD_HOST_64_BIT_DEFINED = 0; then - echo "configure: warning: You have requested a 64 bit BFD configuration, but" 1>&2 - echo "configure: warning: your compiler may not have a 64 bit integral type" 1>&2 + { echo "$as_me:$LINENO: WARNING: You have requested a 64 bit BFD configuration, but" >&5 +echo "$as_me: WARNING: You have requested a 64 bit BFD configuration, but" >&2;} + { echo "$as_me:$LINENO: WARNING: your compiler may not have a 64 bit integral type" >&5 +echo "$as_me: WARNING: your compiler may not have a 64 bit integral type" >&2;} fi if test -n "$GCC" ; then bad_64bit_gcc=no; - echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6 -echo "configure:6576: checking for gcc version with buggy 64-bit support" >&5 + echo "$as_me:$LINENO: checking for gcc version with buggy 64-bit support" >&5 +echo $ECHO_N "checking for gcc version with buggy 64-bit support... $ECHO_C" >&6 # Add more tests for gcc versions with non-working 64-bit support here. - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ :__GNUC__:__GNUC_MINOR__:__i386__: -EOF +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep ": 2 : 91 : 1 :" >/dev/null 2>&1; then - rm -rf conftest* + $EGREP ": 2 : 91 : 1 :" >/dev/null 2>&1; then bad_64bit_gcc=yes; - echo "$ac_t""yes: egcs-1.1.2 on ix86 spotted" 1>&6 + echo "$as_me:$LINENO: result: yes: egcs-1.1.2 on ix86 spotted" >&5 +echo "${ECHO_T}yes: egcs-1.1.2 on ix86 spotted" >&6 else - rm -rf conftest* - echo "$ac_t""no" 1>&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi rm -f conftest* if test $bad_64bit_gcc = yes ; then - { echo "configure: error: A newer version of gcc is needed for the requested 64-bit BFD configuration" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: A newer version of gcc is needed for the requested 64-bit BFD configuration" >&5 +echo "$as_me: error: A newer version of gcc is needed for the requested 64-bit BFD configuration" >&2;} + { (exit 1); exit 1; }; } fi fi ;; @@ -6614,104 +11881,186 @@ esac # fseeko, long. This assumes that sizeof off_t is .ge. sizeof long. # Hopefully a reasonable assumption since fseeko et.al. should be # upward compatible. + + + + for ac_func in ftello ftello64 fseeko fseeko64 do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6621: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:6649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done if test x"$ac_cv_func_ftello" = xyes -a x"$ac_cv_func_fseeko" = xyes; then - echo $ac_n "checking size of off_t""... $ac_c" 1>&6 -echo "configure:6675: checking size of off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + echo "$as_me:$LINENO: checking size of off_t" >&5 +echo $ECHO_N "checking size of off_t... $ECHO_C" >&6 +if test "${ac_cv_sizeof_off_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence. - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "confdefs.h" #include -int main() { +int +main () +{ switch (0) case 0: case (sizeof (off_t) == $ac_size):; -; return 0; } -EOF -if { (eval echo configure:6691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_sizeof_off_t=$ac_size else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -rm -f conftest* +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test x$ac_cv_sizeof_off_t != x ; then break; fi done fi if test x$ac_cv_sizeof_off_t = x ; then - { echo "configure: error: cannot determine a size for off_t" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot determine a size for off_t" >&5 +echo "$as_me: error: cannot determine a size for off_t" >&2;} + { (exit 1); exit 1; }; } fi -echo "$ac_t""$ac_cv_sizeof_off_t" 1>&6 -cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_cv_sizeof_off_t" >&6 + +cat >>confdefs.h <<_ACEOF #define SIZEOF_OFF_T $ac_cv_sizeof_off_t -EOF +_ACEOF fi -echo $ac_n "checking file_ptr type""... $ac_c" 1>&6 -echo "configure:6715: checking file_ptr type" >&5 +echo "$as_me:$LINENO: checking file_ptr type" >&5 +echo $ECHO_N "checking file_ptr type... $ECHO_C" >&6 bfd_file_ptr="long" bfd_ufile_ptr="unsigned long" if test x"$ac_cv_func_ftello64" = xyes -a x"$ac_cv_func_fseeko64" = xyes \ @@ -6719,7 +12068,8 @@ if test x"$ac_cv_func_ftello64" = xyes - bfd_file_ptr=BFD_HOST_64_BIT bfd_ufile_ptr=BFD_HOST_U_64_BIT fi -echo "$ac_t""$bfd_file_ptr" 1>&6 +echo "$as_me:$LINENO: result: $bfd_file_ptr" >&5 +echo "${ECHO_T}$bfd_file_ptr" >&6 @@ -6732,112 +12082,276 @@ test -n "${selarchs}" && tdefaults="${td test -n "${havevecs}" && tdefaults="${tdefaults} ${havevecs}" -for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h + + +for ac_header in stdlib.h unistd.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6740: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" fi -rm -f conftest* +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + 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 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi + done + for ac_func in getpagesize do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6779: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:6807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6832: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +echo "$as_me:$LINENO: checking for working mmap" >&5 +echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_mmap_fixed_mapped=no else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: @@ -6851,47 +12365,34 @@ else back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the filesystem buffer cache + VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get - propogated back to all the places they're supposed to be. + propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ -#include + #include #include -#if HAVE_SYS_TYPES_H -# include -#endif - -#if HAVE_STDLIB_H -# include -#endif - -#if HAVE_SYS_STAT_H -# include -#endif - -#if HAVE_UNISTD_H -# include +#if !STDC_HEADERS && !HAVE_STDLIB_H +char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE - +#if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H +# if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H +# if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE @@ -6918,600 +12419,1697 @@ else #endif /* no HAVE_GETPAGESIZE */ -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - int -main() +main () { - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + exit (1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + exit (1); + if (write (fd, data, pagesize) != pagesize) + exit (1); + close (fd); + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + exit (1); + data2 = (char *) malloc (2 * pagesize); + if (!data2) + exit (1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit (1); + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + exit (1); + if (read (fd, data3, pagesize) != pagesize) + exit (1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit (1); + close (fd); + exit (0); } - -EOF -if { (eval echo configure:6993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_func_mmap_fixed_mapped=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_mmap_fixed_mapped=no fi -rm -fr conftest* +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 +echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 -EOF +_ACEOF fi +rm -f conftest.mmap + + for ac_func in madvise mprotect do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7018: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif -int main() { +#undef $ac_func +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -$ac_func(); +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} #endif -; return 0; } -EOF -if { (eval echo configure:7046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -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 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in - true+yes ) cat >> confdefs.h <<\EOF + true+yes ) +cat >>confdefs.h <<\_ACEOF #define USE_MMAP 1 -EOF +_ACEOF ;; esac rm -f doc/config.status -trap '' 1 2 15 -cat > confcache <<\EOF + ac_config_files="$ac_config_files ../binutils.spec Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in" + + ac_config_commands="$ac_config_commands default" + +cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. # -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. # -EOF +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' fi -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - DEFS=-DHAVE_CONFIG_H -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. # Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# # Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. +# configure, is in config.log if it exists. -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 do - case "\$ac_option" in + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - 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.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + esac + shift done -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +_ACEOF -trap 'rm -fr `echo "../binutils.spec Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -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 -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -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%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@PACKAGE@%$PACKAGE%g -s%@VERSION@%$VERSION%g -s%@ACLOCAL@%$ACLOCAL%g -s%@AUTOCONF@%$AUTOCONF%g -s%@AUTOMAKE@%$AUTOMAKE%g -s%@AUTOHEADER@%$AUTOHEADER%g -s%@MAKEINFO@%$MAKEINFO%g -s%@SET_MAKE@%$SET_MAKE%g -s%@AR@%$AR%g -s%@RANLIB@%$RANLIB%g -s%@CC@%$CC%g -s%@LN_S@%$LN_S%g -s%@OBJEXT@%$OBJEXT%g -s%@EXEEXT@%$EXEEXT%g -s%@STRIP@%$STRIP%g -s%@LIBTOOL@%$LIBTOOL%g -s%@WARN_CFLAGS@%$WARN_CFLAGS%g -s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g -s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g -s%@MAINT@%$MAINT%g -s%@INSTALL_LIBBFD_TRUE@%$INSTALL_LIBBFD_TRUE%g -s%@INSTALL_LIBBFD_FALSE@%$INSTALL_LIBBFD_FALSE%g -s%@bfdlibdir@%$bfdlibdir%g -s%@bfdincludedir@%$bfdincludedir%g -s%@CPP@%$CPP%g -s%@ALLOCA@%$ALLOCA%g -s%@USE_NLS@%$USE_NLS%g -s%@MSGFMT@%$MSGFMT%g -s%@GMSGFMT@%$GMSGFMT%g -s%@XGETTEXT@%$XGETTEXT%g -s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g -s%@CATALOGS@%$CATALOGS%g -s%@CATOBJEXT@%$CATOBJEXT%g -s%@DATADIRNAME@%$DATADIRNAME%g -s%@GMOFILES@%$GMOFILES%g -s%@INSTOBJEXT@%$INSTOBJEXT%g -s%@INTLDEPS@%$INTLDEPS%g -s%@INTLLIBS@%$INTLLIBS%g -s%@INTLOBJS@%$INTLOBJS%g -s%@POFILES@%$POFILES%g -s%@POSUB@%$POSUB%g -s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g -s%@GT_NO@%$GT_NO%g -s%@GT_YES@%$GT_YES%g -s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g -s%@l@%$l%g -s%@HDEFINES@%$HDEFINES%g -s%@BFD_HOST_64BIT_LONG@%$BFD_HOST_64BIT_LONG%g -s%@BFD_HOST_LONG_LONG@%$BFD_HOST_LONG_LONG%g -s%@BFD_HOST_64_BIT_DEFINED@%$BFD_HOST_64_BIT_DEFINED%g -s%@BFD_HOST_64_BIT@%$BFD_HOST_64_BIT%g -s%@BFD_HOST_U_64_BIT@%$BFD_HOST_U_64_BIT%g -s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g -s%@EXEEXT_FOR_BUILD@%$EXEEXT_FOR_BUILD%g -s%@COREFILE@%$COREFILE%g -s%@COREFLAG@%$COREFLAG%g -s%@WIN32LDFLAGS@%$WIN32LDFLAGS%g -s%@WIN32LIBADD@%$WIN32LIBADD%g -s%@TDEFINES@%$TDEFINES%g -s%@wordsize@%$wordsize%g -s%@bfd_libs@%$bfd_libs%g -s%@all_backends@%$all_backends%g -s%@bfd_backends@%$bfd_backends%g -s%@bfd_machines@%$bfd_machines%g -s%@bfd_default_target_size@%$bfd_default_target_size%g -s%@bfd_file_ptr@%$bfd_file_ptr%g -s%@bfd_ufile_ptr@%$bfd_ufile_ptr%g -s%@tdefaults@%$tdefaults%g +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "../binutils.spec" ) CONFIG_FILES="$CONFIG_FILES ../binutils.spec" ;; + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "bfd-in3.h" ) CONFIG_FILES="$CONFIG_FILES bfd-in3.h:bfd-in2.h" ;; + "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@target@,$target,;t t +s,@target_cpu@,$target_cpu,;t t +s,@target_vendor@,$target_vendor,;t t +s,@target_os@,$target_os,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@AR@,$AR,;t t +s,@ac_ct_AR@,$ac_ct_AR,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@LN_S@,$LN_S,;t t +s,@LIBTOOL@,$LIBTOOL,;t t +s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t +s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +s,@MAINT@,$MAINT,;t t +s,@INSTALL_LIBBFD_TRUE@,$INSTALL_LIBBFD_TRUE,;t t +s,@INSTALL_LIBBFD_FALSE@,$INSTALL_LIBBFD_FALSE,;t t +s,@host_noncanonical@,$host_noncanonical,;t t +s,@target_noncanonical@,$target_noncanonical,;t t +s,@bfdlibdir@,$bfdlibdir,;t t +s,@bfdincludedir@,$bfdincludedir,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@ALLOCA@,$ALLOCA,;t t +s,@USE_NLS@,$USE_NLS,;t t +s,@MSGFMT@,$MSGFMT,;t t +s,@GMSGFMT@,$GMSGFMT,;t t +s,@XGETTEXT@,$XGETTEXT,;t t +s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t +s,@CATALOGS@,$CATALOGS,;t t +s,@CATOBJEXT@,$CATOBJEXT,;t t +s,@DATADIRNAME@,$DATADIRNAME,;t t +s,@GMOFILES@,$GMOFILES,;t t +s,@INSTOBJEXT@,$INSTOBJEXT,;t t +s,@INTLDEPS@,$INTLDEPS,;t t +s,@INTLLIBS@,$INTLLIBS,;t t +s,@INTLOBJS@,$INTLOBJS,;t t +s,@POFILES@,$POFILES,;t t +s,@POSUB@,$POSUB,;t t +s,@INCLUDE_LOCALE_H@,$INCLUDE_LOCALE_H,;t t +s,@GT_NO@,$GT_NO,;t t +s,@GT_YES@,$GT_YES,;t t +s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t +s,@l@,$l,;t t +s,@HDEFINES@,$HDEFINES,;t t +s,@BFD_HOST_64BIT_LONG@,$BFD_HOST_64BIT_LONG,;t t +s,@BFD_HOST_LONG_LONG@,$BFD_HOST_LONG_LONG,;t t +s,@BFD_HOST_64_BIT_DEFINED@,$BFD_HOST_64_BIT_DEFINED,;t t +s,@BFD_HOST_64_BIT@,$BFD_HOST_64_BIT,;t t +s,@BFD_HOST_U_64_BIT@,$BFD_HOST_U_64_BIT,;t t +s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t +s,@EXEEXT_FOR_BUILD@,$EXEEXT_FOR_BUILD,;t t +s,@COREFILE@,$COREFILE,;t t +s,@COREFLAG@,$COREFLAG,;t t +s,@WIN32LDFLAGS@,$WIN32LDFLAGS,;t t +s,@WIN32LIBADD@,$WIN32LIBADD,;t t +s,@TDEFINES@,$TDEFINES,;t t +s,@wordsize@,$wordsize,;t t +s,@bfd_libs@,$bfd_libs,;t t +s,@all_backends@,$all_backends,;t t +s,@bfd_backends@,$bfd_backends,;t t +s,@bfd_machines@,$bfd_machines,;t t +s,@bfd_default_target_size@,$bfd_default_target_size,;t t +s,@bfd_file_ptr@,$bfd_file_ptr,;t t +s,@bfd_ufile_ptr@,$bfd_ufile_ptr,;t t +s,@tdefaults@,$tdefaults,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF -EOF -cat >> $CONFIG_STATUS <<\EOF +_ACEOF -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF +fi # test -n "$CONFIG_FILES" -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; esac - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' +ac_uD=',;t' -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; esac - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} -# 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 in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: 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.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail -while : +while grep . conftest.undefs >/dev/null do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file fi - rm -f $ac_file - mv conftest.h $ac_file + else + cat $tmp/config.h + rm -f $tmp/config.h fi -fi; done +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF -EOF -cat >> $CONFIG_STATUS </dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac -EOF -cat >> $CONFIG_STATUS <<\EOF -test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h -sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile -exit 0 -EOF + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + default ) sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi diff -uprN binutils-2.15.91.0.2/bfd/configure.in binutils-2.15.92.0.2/bfd/configure.in --- binutils-2.15.91.0.2/bfd/configure.in 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/configure.in 2004-09-27 13:46:06.000000000 -0700 @@ -1,13 +1,14 @@ dnl Process this file with autoconf to produce a configure script. dnl -AC_PREREQ(2.13) -AC_INIT(libbfd.c) +AC_PREREQ(2.59) +AC_INIT +AC_CONFIG_SRCDIR([libbfd.c]) -AC_CANONICAL_SYSTEM +AC_CANONICAL_TARGET AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.15.91.0.2) +AM_INIT_AUTOMAKE(bfd, 2.15.92.0.2) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. @@ -30,7 +31,7 @@ esac],[want64=false])dnl AC_ARG_ENABLE(targets, [ --enable-targets alternative target configurations], [case "${enableval}" in - yes | "") AC_ERROR(enable-targets option must specify target names or 'all') + yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all']) ;; no) enable_targets= ;; *) enable_targets=$enableval ;; @@ -106,9 +107,7 @@ BFD_HOST_U_64_BIT= AC_MSG_CHECKING([for long long]) AC_CACHE_VAL(bfd_cv_has_long_long, -[AC_TRY_COMPILE(, -[unsigned long long ll = 18446744073709551615ULL;], -bfd_cv_has_long_long=yes, bfd_cv_has_long_long=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[unsigned long long ll = 18446744073709551615ULL;]])],[bfd_cv_has_long_long=yes],[bfd_cv_has_long_long=no])]) AC_MSG_RESULT($bfd_cv_has_long_long) if test $bfd_cv_has_long_long = yes; then BFD_HOST_LONG_LONG=1 @@ -343,9 +342,7 @@ changequote([,])dnl # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE # have c_impl as a member of struct core_dumpx AC_MSG_CHECKING([for c_impl in struct core_dumpx]) - AC_TRY_COMPILE([#include ], - [struct core_dumpx c; c.c_impl = 0;], - [AC_DEFINE(HAVE_ST_C_IMPL, 1, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct core_dumpx c; c.c_impl = 0;]])],[AC_DEFINE(HAVE_ST_C_IMPL, 1, [Define if struct core_dumpx has member c_impl]) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) ;; @@ -586,6 +583,8 @@ do bfd_elf32_bigarc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_bigarm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; bfd_elf32_bigarm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; + bfd_elf32_bigarm_symbian_vec) + tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_bigmips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_cr16c_vec) tb="$tb elf32-cr16c.lo elf32.lo $elf" ;; bfd_elf32_cris_vec) tb="$tb elf32-cris.lo elf32.lo $elf" ;; @@ -598,6 +597,7 @@ do bfd_elf32_frvfdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; bfd_elf32_h8300_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; + bfd_elf32_hppa_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;; @@ -612,6 +612,8 @@ do bfd_elf32_little_generic_vec) tb="$tb elf32-gen.lo elf32.lo $elf" ;; bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;; bfd_elf32_littlearm_oabi_vec) tb="$tb elfarm-oabi.lo elf32.lo $elf" ;; + bfd_elf32_littlearm_symbian_vec) + tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;; bfd_elf32_littlemips_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;; bfd_elf32_m32r_vec) tb="$tb elf32-m32r.lo elf32.lo $elf" ;; @@ -885,7 +887,7 @@ case ${host64}-${target64}-${want64} in AC_MSG_RESULT([yes: egcs-1.1.2 on ix86 spotted]), AC_MSG_RESULT(no)) if test $bad_64bit_gcc = yes ; then - AC_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration]) + AC_MSG_ERROR([A newer version of gcc is needed for the requested 64-bit BFD configuration]) fi fi ;; @@ -941,6 +943,7 @@ case ${want_mmap}+${ac_cv_func_mmap_fixe esac rm -f doc/config.status -AC_OUTPUT(../binutils.spec Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in, -[sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile]) +AC_CONFIG_FILES([../binutils.spec Makefile doc/Makefile bfd-in3.h:bfd-in2.h po/Makefile.in:po/Make-in]) +AC_CONFIG_COMMANDS([default],[[sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile]],[[]]) +AC_OUTPUT diff -uprN binutils-2.15.91.0.2/bfd/cpu-arm.c binutils-2.15.92.0.2/bfd/cpu-arm.c --- binutils-2.15.91.0.2/bfd/cpu-arm.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/cpu-arm.c 2004-09-15 12:05:02.000000000 -0700 @@ -195,9 +195,8 @@ bfd_arm_merge_machines (ibfd, obfd) && (out == bfd_mach_arm_XScale || out == bfd_mach_arm_iWMMXt)) { _bfd_error_handler (_("\ -ERROR: %s is compiled for the EP9312, whereas %s is compiled for XScale"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); +ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"), + ibfd, obfd); bfd_set_error (bfd_error_wrong_format); return FALSE; } @@ -205,9 +204,8 @@ ERROR: %s is compiled for the EP9312, wh && (in == bfd_mach_arm_XScale || in == bfd_mach_arm_iWMMXt)) { _bfd_error_handler (_("\ -ERROR: %s is compiled for the EP9312, whereas %s is compiled for XScale"), - bfd_archive_filename (obfd), - bfd_get_filename (ibfd)); +ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale"), + obfd, ibfd); bfd_set_error (bfd_error_wrong_format); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/cpu-sh.c binutils-2.15.92.0.2/bfd/cpu-sh.c --- binutils-2.15.91.0.2/bfd/cpu-sh.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/cpu-sh.c 2004-09-15 12:05:02.000000000 -0700 @@ -38,6 +38,8 @@ #define SH4_NOFPU_NEXT &arch_info_struct[11] #define SH4_NOMMU_NOFPU_NEXT &arch_info_struct[12] #define SH4A_NOFPU_NEXT &arch_info_struct[13] +#define SH2A_NEXT &arch_info_struct[14] +#define SH2A_NOFPU_NEXT &arch_info_struct[15] #define SH64_NEXT NULL static const bfd_arch_info_type arch_info_struct[] = @@ -225,6 +227,34 @@ static const bfd_arch_info_type arch_inf SH4A_NOFPU_NEXT }, { + 32, /* 32 bits in a word. */ + 32, /* 32 bits in an address. */ + 8, /* 8 bits in a byte. */ + bfd_arch_sh, + bfd_mach_sh2a, + "sh", /* Arch_name. */ + "sh2a", /* Printable name. */ + 1, + FALSE, /* Not the default. */ + bfd_default_compatible, + bfd_default_scan, + SH2A_NEXT + }, + { + 32, /* 32 bits in a word. */ + 32, /* 32 bits in an address. */ + 8, /* 8 bits in a byte. */ + bfd_arch_sh, + bfd_mach_sh2a_nofpu, + "sh", /* Arch_name. */ + "sh2a-nofpu", /* Printable name. */ + 1, + FALSE, /* Not the default. */ + bfd_default_compatible, + bfd_default_scan, + SH2A_NOFPU_NEXT + }, + { 64, /* 64 bits in a word */ 64, /* 64 bits in an address */ 8, /* 8 bits in a byte */ @@ -269,6 +299,8 @@ static struct { unsigned long bfd_mach, { bfd_mach_sh2, arch_sh2, arch_sh2_up }, { bfd_mach_sh2e, arch_sh2e, arch_sh2e_up }, { bfd_mach_sh_dsp, arch_sh_dsp, arch_sh_dsp_up }, + { bfd_mach_sh2a, arch_sh2a, arch_sh2a_up }, + { bfd_mach_sh2a_nofpu, arch_sh2a_nofpu, arch_sh2a_nofpu_up }, { bfd_mach_sh3, arch_sh3, arch_sh3_up }, { bfd_mach_sh3_nommu, arch_sh3_nommu, arch_sh3_nommu_up }, { bfd_mach_sh3_dsp, arch_sh3_dsp, arch_sh3_dsp_up }, @@ -402,8 +434,8 @@ sh_merge_bfd_arch (bfd *ibfd, bfd *obfd) if (!SH_VALID_CO_ARCH_SET (merged_arch)) { (*_bfd_error_handler) - ("%s: uses %s instructions while previous modules use %s instructions", - bfd_archive_filename (ibfd), + ("%B: uses %s instructions while previous modules use %s instructions", + ibfd, SH_ARCH_SET_HAS_DSP (new_arch) ? "dsp" : "floating point", SH_ARCH_SET_HAS_DSP (new_arch) ? "floating point" : "dsp"); bfd_set_error (bfd_error_bad_value); diff -uprN binutils-2.15.91.0.2/bfd/doc/ChangeLog binutils-2.15.92.0.2/bfd/doc/ChangeLog --- binutils-2.15.91.0.2/bfd/doc/ChangeLog 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/doc/ChangeLog 2004-09-27 13:46:07.000000000 -0700 @@ -1,3 +1,14 @@ +2004-09-19 H.J. Lu + + * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. + (bfd.info): Rename the target to ... + ($(srcdir)/bfd.info): This. + * Makefile.in: Regenerated. + +2004-09-17 Alan Modra + + * Makefile.in: Regenerate. + 2004-03-27 Alan Modra * bfdint.texi: Remove all mention of elflink.h. diff -uprN binutils-2.15.91.0.2/bfd/doc/Makefile.am binutils-2.15.92.0.2/bfd/doc/Makefile.am --- binutils-2.15.91.0.2/bfd/doc/Makefile.am 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/doc/Makefile.am 2004-09-27 13:46:07.000000000 -0700 @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus DOCFILES = aoutx.texi archive.texi archures.texi \ bfdt.texi cache.texi coffcode.texi \ @@ -62,7 +62,7 @@ chew.o: chew.c protos: libbfd.h libcoff.h bfd.h -bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo +$(srcdir)/bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo # We can't replace these rules with an implicit rule, because # makes without VPATH support couldn't find the .h files in `..'. diff -uprN binutils-2.15.91.0.2/bfd/doc/Makefile.in binutils-2.15.92.0.2/bfd/doc/Makefile.in --- binutils-2.15.91.0.2/bfd/doc/Makefile.in 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/doc/Makefile.in 2004-09-27 13:46:07.000000000 -0700 @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated by automake 1.9.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,61 +12,72 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = @SHELL@ - +@SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -build_alias = @build_alias@ build_triplet = @build@ -host_alias = @host_alias@ host_triplet = @host@ -target_alias = @target_alias@ target_triplet = @target@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../config/accross.m4 \ + $(top_srcdir)/../config/acx.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +depcomp = +am__depfiles_maybe = +SOURCES = +INFO_DEPS = $(srcdir)/bfd.info +TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex +am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo +DVIS = bfd.dvi +PDFS = bfd.pdf +PSS = bfd.ps +HTMLS = bfd.html +TEXINFOS = bfd.texinfo +TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \ + echo $(top_srcdir)/../texinfo/util/texi2dvi; \ + else \ + echo texi2dvi; \ + fi` +TEXI2PDF = $(TEXI2DVI) --pdf --batch +MAKEINFOHTML = $(MAKEINFO) --html +AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) +DVIPS = dvips +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ AR = @AR@ -AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ BFD_HOST_64BIT_LONG = @BFD_HOST_64BIT_LONG@ BFD_HOST_64_BIT = @BFD_HOST_64_BIT@ BFD_HOST_64_BIT_DEFINED = @BFD_HOST_64_BIT_DEFINED@ @@ -73,39 +86,64 @@ BFD_HOST_U_64_BIT = @BFD_HOST_U_64_BIT@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ COREFILE = @COREFILE@ COREFLAG = @COREFLAG@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ HDEFINES = @HDEFINES@ INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@ +INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ TDEFINES = @TDEFINES@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ @@ -114,7 +152,19 @@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WIN32LDFLAGS = @WIN32LDFLAGS@ WIN32LIBADD = @WIN32LIBADD@ +XGETTEXT = @XGETTEXT@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ all_backends = @all_backends@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ bfd_file_ptr = @bfd_file_ptr@ @@ -123,12 +173,44 @@ bfd_machines = @bfd_machines@ bfd_ufile_ptr = @bfd_ufile_ptr@ bfdincludedir = @bfdincludedir@ bfdlibdir = @bfdlibdir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_noncanonical = @host_noncanonical@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ l = @l@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_noncanonical = @target_noncanonical@ +target_os = @target_os@ +target_vendor = @target_vendor@ tdefaults = @tdefaults@ wordsize = @wordsize@ - -AUTOMAKE_OPTIONS = cygnus - +AUTOMAKE_OPTIONS = 1.9 cygnus DOCFILES = aoutx.texi archive.texi archures.texi \ bfdt.texi cache.texi coffcode.texi \ core.texi elf.texi elfcode.texi format.texi \ @@ -137,7 +219,6 @@ DOCFILES = aoutx.texi archive.texi arch syms.texi targets.texi init.texi hash.texi linker.texi \ mmo.texi - PROTOS = archive.p archures.p bfd.p \ core.p format.p \ bfdio.p bfdwin.p \ @@ -145,7 +226,6 @@ PROTOS = archive.p archures.p bfd.p \ section.p syms.p targets.p \ format.p core.p init.p - IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip # SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction @@ -163,7 +243,6 @@ SRCDOC = $(srcdir)/../aoutx.h $(srcdir) $(srcdir)/../hash.c $(srcdir)/../linker.c \ $(srcdir)/../mmo.c - SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \ $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \ $(srcdir)/../format.c $(srcdir)/../libbfd.c \ @@ -172,20 +251,15 @@ SRCPROT = $(srcdir)/../archive.c $(srcdi $(srcdir)/../section.c $(srcdir)/../syms.c \ $(srcdir)/../targets.c $(srcdir)/../init.c - SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \ $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \ $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \ $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \ $(srcdir)/../init.c - TEXIDIR = $(srcdir)/../../texinfo/fsf - info_TEXINFOS = bfd.texinfo - MKDOC = chew$(EXEEXT_FOR_BUILD) - LIBBFD_H_DEP = \ $(srcdir)/../libbfd-in.h \ $(srcdir)/../init.c \ @@ -200,7 +274,6 @@ LIBBFD_H_DEP = \ $(srcdir)/proto.str \ $(MKDOC) - LIBCOFF_H_DEP = \ $(srcdir)/../libcoff-in.h \ $(srcdir)/../coffcode.h \ @@ -208,7 +281,6 @@ LIBCOFF_H_DEP = \ $(srcdir)/proto.str \ $(MKDOC) - BFD_H_DEP = \ $(srcdir)/../bfd-in.h \ $(srcdir)/../init.c \ @@ -232,200 +304,177 @@ BFD_H_DEP = \ $(srcdir)/../version.h \ $(MKDOC) - noinst_TEXINFOS = bfdint.texi - MOSTLYCLEANFILES = $(MKDOC) *.o - CLEANFILES = s-* *.p *.ip - DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log - MAINTAINERCLEANFILES = $(DOCFILES) -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` -TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex -INFO_DEPS = bfd.info -DVIS = bfd.dvi -TEXINFOS = bfd.texinfo -DIST_COMMON = ChangeLog Makefile.am Makefile.in - +all: all-am -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best -all: all-redirect .SUFFIXES: -.SUFFIXES: .dvi .info .ps .texi .texinfo .txi -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -bfd.info: bfd.texinfo -bfd.dvi: bfd.texinfo +.SUFFIXES: .dvi .html .info .pdf .ps .texinfo +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --cygnus doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +mostlyclean-libtool: + -rm -f *.lo -DVIPS = dvips +clean-libtool: + -rm -rf .libs _libs -.texi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.texi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< +distclean-libtool: + -rm -f libtool .texinfo.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texinfo: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ + then \ + rc=0; \ + cd $(srcdir); \ + else \ + rc=$$?; \ + cd $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc .texinfo.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.txi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2DVI) $< + +.texinfo.pdf: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2PDF) $< + +.texinfo.html: + rm -rf $(@:.html=.htp) + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $(@:.html=.htp) $<; \ + then \ + rm -rf $@; \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + else \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ + exit 1; \ + fi +$(srcdir)/bfd.info: bfd.texinfo +bfd.dvi: bfd.texinfo +bfd.pdf: bfd.texinfo +bfd.html: bfd.texinfo .dvi.ps: - $(DVIPS) $< -o $@ + $(DVIPS) -o $@ $< -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ - if test -f $$d/$$ifile; then \ - echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \ - $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \ - else : ; fi; \ - done; \ - done - @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ +uninstall-info-am: + $(PRE_UNINSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ - echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ - install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ done; \ - else : ; fi - -uninstall-info: - $(PRE_UNINSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - ii=yes; \ - else ii=; fi; \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - test -z "$$ii" \ - || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ - done + else :; fi @$(NORMAL_UNINSTALL) - list='$(INFO_DEPS)'; \ + @list='$(INFO_DEPS)'; \ for file in $$list; do \ - (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ + (if cd "$(DESTDIR)$(infodir)"; then \ + echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ done dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ - for file in `cd $$d && eval echo $$base*`; do \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + for file in $$d/$$base*; do \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f $(distdir)/$$relfile || \ + cp -p $$file $(distdir)/$$relfile; \ done; \ done mostlyclean-aminfo: - -rm -f bfd.aux bfd.cp bfd.cps bfd.dvi bfd.fn bfd.fns bfd.ky bfd.kys \ - bfd.ps bfd.log bfd.pg bfd.toc bfd.tp bfd.tps bfd.vr bfd.vrs \ - bfd.op bfd.tr bfd.cv bfd.cn - -clean-aminfo: - -distclean-aminfo: + -rm -rf bfd.aux bfd.cp bfd.cps bfd.fn bfd.ky bfd.kys bfd.log bfd.pg bfd.pgs \ + bfd.tmp bfd.toc bfd.tp bfd.tps bfd.vr bfd.vrs bfd.dvi \ + bfd.pdf bfd.ps bfd.html maintainer-clean-aminfo: - for i in $(INFO_DEPS); do \ - rm -f $$i; \ - if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ - rm -f $$i-[0-9]*; \ - fi; \ + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done + clean-info: mostlyclean-aminfo tags: TAGS TAGS: +ctags: CTAGS +CTAGS: -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = doc - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info -info-am: $(INFO_DEPS) -info: info-am -dvi-am: $(DVIS) -dvi: dvi-am check-am: check: check-am -installcheck-am: -installcheck: installcheck-am -install-info-am: -install-info: install-info-am -install-exec-am: +all-am: Makefile +installdirs: install-exec: install-exec-am - -install-data-am: install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: -uninstall: uninstall-am -all-am: Makefile -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -433,40 +482,103 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -mostlyclean-am: mostlyclean-aminfo mostlyclean-generic +clean: clean-am -mostlyclean: mostlyclean-am +clean-am: clean-generic clean-libtool mostlyclean-am -clean-am: clean-aminfo clean-generic mostlyclean-am +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool -clean: clean-am +dvi: dvi-am -distclean-am: distclean-aminfo distclean-generic clean-am - -rm -f libtool +dvi-am: $(DVIS) -distclean: distclean-am +html: html-am -maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +html-am: $(HTMLS) + +info: info-am + +info-am: $(INFO_DEPS) + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ + echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ + $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ + else : ; fi; \ + done; \ + done + @$(POST_INSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ + done; \ + else : ; fi +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: $(PDFS) -.PHONY: install-info-am uninstall-info mostlyclean-aminfo \ -distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir \ -info-am info dvi-am dvi check check-am installcheck-am installcheck \ -install-info-am install-info install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean +ps: ps-am + +ps-am: $(PSS) + +uninstall-am: + +.PHONY: all all-am check check-am clean clean-generic clean-info \ + clean-libtool dist-info distclean distclean-generic \ + distclean-libtool dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic mostlyclean mostlyclean-aminfo \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am $(MKDOC): chew.o @@ -477,7 +589,7 @@ chew.o: chew.c protos: libbfd.h libcoff.h bfd.h -bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo +$(srcdir)/bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo # We can't replace these rules with an implicit rule, because # makes without VPATH support couldn't find the .h files in `..'. @@ -666,7 +778,6 @@ bfd.h: $(BFD_H_DEP) # We want install to imply install-info as per GNU standards, despite the # cygnus option. install: install-info - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff -uprN binutils-2.15.91.0.2/bfd/dwarf2.c binutils-2.15.92.0.2/bfd/dwarf2.c --- binutils-2.15.91.0.2/bfd/dwarf2.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/dwarf2.c 2004-09-27 13:46:06.000000000 -0700 @@ -1703,13 +1703,19 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd We keep a list of all the previously read compilation units, and a pointer to the next un-read compilation unit. Check the previously read units before reading more. */ - struct dwarf2_debug *stash = *pinfo; + struct dwarf2_debug *stash; /* What address are we looking for? */ - bfd_vma addr = offset + section->vma; + bfd_vma addr; struct comp_unit* each; + stash = *pinfo; + addr = offset; + if (section->output_section) + addr += section->output_section->vma + section->output_offset; + else + addr += section->vma; *filename_ptr = NULL; *functionname_ptr = NULL; *linenumber_ptr = 0; diff -uprN binutils-2.15.91.0.2/bfd/ecoff.c binutils-2.15.92.0.2/bfd/ecoff.c --- binutils-2.15.91.0.2/bfd/ecoff.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/ecoff.c 2004-09-27 13:46:06.000000000 -0700 @@ -3563,9 +3563,9 @@ ecoff_link_add_archive_symbols (abfd, in entry if it is the tail, because that would lose any entries we add to the list later on. */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->und_next; + *pundef = (*pundef)->u.undef.next; else - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3575,7 +3575,7 @@ ecoff_link_add_archive_symbols (abfd, in other object format. */ if (h->type != bfd_link_hash_undefined) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3587,7 +3587,7 @@ ecoff_link_add_archive_symbols (abfd, in if (file_offset == 0) { /* Nothing in this slot. */ - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3618,7 +3618,7 @@ ecoff_link_add_archive_symbols (abfd, in if (! found) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3640,7 +3640,7 @@ ecoff_link_add_archive_symbols (abfd, in if (! ecoff_link_add_object_symbols (element, info)) return FALSE; - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; } return TRUE; diff -uprN binutils-2.15.91.0.2/bfd/ecofflink.c binutils-2.15.92.0.2/bfd/ecofflink.c --- binutils-2.15.91.0.2/bfd/ecofflink.c 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/ecofflink.c 2004-09-15 12:05:02.000000000 -0700 @@ -1,5 +1,5 @@ /* Routines to link ECOFF debugging information. - Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003 + Copyright 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support, . @@ -1154,7 +1154,7 @@ bfd_ecoff_debug_accumulate_other (handle fdr.issBase = output_symhdr->issMax; fdr.cbSs = 0; fdr.rss = ecoff_add_string (ainfo, info, output_debug, &fdr, - bfd_archive_filename (input_bfd)); + input_bfd->filename); if (fdr.rss == -1) return FALSE; fdr.isymBase = output_symhdr->isymMax; diff -uprN binutils-2.15.91.0.2/bfd/elf-bfd.h binutils-2.15.92.0.2/bfd/elf-bfd.h --- binutils-2.15.91.0.2/bfd/elf-bfd.h 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf-bfd.h 2004-09-27 13:46:06.000000000 -0700 @@ -104,40 +104,6 @@ struct elf_link_hash_entry not visible outside this DSO. */ long dynindx; - /* String table index in .dynstr if this is a dynamic symbol. */ - unsigned long dynstr_index; - - /* Hash value of the name computed using the ELF hash function. */ - unsigned long elf_hash_value; - - /* If this is a weak defined symbol from a dynamic object, this - field points to a defined symbol with the same value, if there is - one. Otherwise it is NULL. */ - struct elf_link_hash_entry *weakdef; - - /* Version information. */ - union - { - /* This field is used for a symbol which is not defined in a - regular object. It points to the version information read in - from the dynamic object. */ - Elf_Internal_Verdef *verdef; - /* This field is used for a symbol which is defined in a regular - object. It is set up in size_dynamic_sections. It points to - the version information we should write out for this symbol. */ - struct bfd_elf_version_tree *vertree; - } verinfo; - - /* Virtual table entry use information. This array is nominally of size - size/sizeof(target_void_pointer), though we have to be able to assume - and track a size while the symbol is still undefined. It is indexed - via offset/sizeof(target_void_pointer). */ - size_t vtable_entries_size; - bfd_boolean *vtable_entries_used; - - /* Virtual table derivation info. */ - struct elf_link_hash_entry *vtable_parent; - /* If this symbol requires an entry in the global offset table, the processor specific backend uses this field to track usage and final offset. Two schemes are supported: The first assumes that @@ -162,47 +128,89 @@ struct elf_link_hash_entry bfd_size_type size; /* Symbol type (STT_NOTYPE, STT_OBJECT, etc.). */ - char type; + unsigned int type : 8; /* Symbol st_other value, symbol visibility. */ - unsigned char other; + unsigned int other : 8; - /* Some flags; legal values follow. */ - unsigned short elf_link_hash_flags; /* Symbol is referenced by a non-shared object. */ -#define ELF_LINK_HASH_REF_REGULAR 01 + unsigned int ref_regular : 1; /* Symbol is defined by a non-shared object. */ -#define ELF_LINK_HASH_DEF_REGULAR 02 + unsigned int def_regular : 1; /* Symbol is referenced by a shared object. */ -#define ELF_LINK_HASH_REF_DYNAMIC 04 + unsigned int ref_dynamic : 1; /* Symbol is defined by a shared object. */ -#define ELF_LINK_HASH_DEF_DYNAMIC 010 + unsigned int def_dynamic : 1; /* Symbol has a non-weak reference from a non-shared object. */ -#define ELF_LINK_HASH_REF_REGULAR_NONWEAK 020 + unsigned int ref_regular_nonweak : 1; /* Dynamic symbol has been adjustd. */ -#define ELF_LINK_HASH_DYNAMIC_ADJUSTED 040 + unsigned int dynamic_adjusted : 1; /* Symbol needs a copy reloc. */ -#define ELF_LINK_HASH_NEEDS_COPY 0100 + unsigned int needs_copy : 1; /* Symbol needs a procedure linkage table entry. */ -#define ELF_LINK_HASH_NEEDS_PLT 0200 + unsigned int needs_plt : 1; /* Symbol appears in a non-ELF input file. */ -#define ELF_LINK_NON_ELF 0400 + unsigned int non_elf : 1; /* Symbol should be marked as hidden in the version information. */ -#define ELF_LINK_HIDDEN 01000 + unsigned int hidden : 1; /* Symbol was forced to local scope due to a version script file. */ -#define ELF_LINK_FORCED_LOCAL 02000 + unsigned int forced_local : 1; /* Symbol was marked during garbage collection. */ -#define ELF_LINK_HASH_MARK 04000 + unsigned int mark : 1; /* Symbol is referenced by a non-GOT/non-PLT relocation. This is not currently set by all the backends. */ -#define ELF_LINK_NON_GOT_REF 010000 - /* Symbol has a definition in a shared object. */ -#define ELF_LINK_DYNAMIC_DEF 020000 + unsigned int non_got_ref : 1; + /* Symbol has a definition in a shared object. + FIXME: There is no real need for this field if def_dynamic is never + cleared and all places that test def_dynamic also test def_regular. */ + unsigned int dynamic_def : 1; /* Symbol is weak in all shared objects. */ -#define ELF_LINK_DYNAMIC_WEAK 040000 + unsigned int dynamic_weak : 1; /* Symbol is referenced with a relocation where C/C++ pointer equality matters. */ -#define ELF_LINK_POINTER_EQUALITY_NEEDED 0100000 + unsigned int pointer_equality_needed : 1; + + /* String table index in .dynstr if this is a dynamic symbol. */ + unsigned long dynstr_index; + + union + { + /* If this is a weak defined symbol from a dynamic object, this + field points to a defined symbol with the same value, if there is + one. Otherwise it is NULL. */ + struct elf_link_hash_entry *weakdef; + + /* Hash value of the name computed using the ELF hash function. + Used part way through size_dynamic_sections, after we've finished + with weakdefs. */ + unsigned long elf_hash_value; + } u; + + /* Version information. */ + union + { + /* This field is used for a symbol which is not defined in a + regular object. It points to the version information read in + from the dynamic object. */ + Elf_Internal_Verdef *verdef; + /* This field is used for a symbol which is defined in a regular + object. It is set up in size_dynamic_sections. It points to + the version information we should write out for this symbol. */ + struct bfd_elf_version_tree *vertree; + } verinfo; + + struct + { + /* Virtual table entry use information. This array is nominally of size + size/sizeof(target_void_pointer), though we have to be able to assume + and track a size while the symbol is still undefined. It is indexed + via offset/sizeof(target_void_pointer). */ + size_t size; + bfd_boolean *used; + + /* Virtual table derivation info. */ + struct elf_link_hash_entry *parent; + } *vtable; }; /* Will references to this symbol always reference the symbol @@ -221,8 +229,8 @@ struct elf_link_hash_entry /* Common symbols that are turned into definitions don't have the DEF_REGULAR flag set, so they might appear to be undefined. */ #define ELF_COMMON_DEF_P(H) \ - (((H)->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 \ - && ((H)->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 \ + (!(H)->def_regular \ + && !(H)->def_dynamic \ && (H)->root.type == bfd_link_hash_defined) /* Records local symbols to be emitted in the dynamic symbol table. */ @@ -538,6 +546,9 @@ struct elf_backend_data /* The maximum page size for this backend. */ bfd_vma maxpagesize; + /* The BFD flags applied to sections created for dynamic linking. */ + flagword dynamic_sec_flags; + /* A function to translate an ELF RELA relocation to a BFD arelent structure. */ void (*elf_info_to_howto) @@ -579,11 +590,16 @@ struct elf_backend_data bfd_boolean (*elf_backend_symbol_table_processing) (bfd *, elf_symbol_type *, unsigned int); - /* A function to set the type of the info field. Processor-specific + /* A function to set the type of the info field. Processor-specific types should be handled here. */ int (*elf_backend_get_symbol_type) (Elf_Internal_Sym *, int); + /* A function to return the linker hash table entry of a symbol that + might be satisfied by an archive symbol. */ + struct elf_link_hash_entry * (*elf_backend_archive_symbol_lookup) + (bfd *, struct bfd_link_info *, const char *); + /* Return true if local section symbols should have a non-null st_name. NULL implies false. */ bfd_boolean (*elf_backend_name_local_section_symbols) @@ -925,6 +941,9 @@ struct elf_backend_data see elf.c. */ bfd_vma (*plt_sym_val) (bfd_vma, const asection *, const arelent *); + /* Used to handle bad SHF_LINK_ORDER input. */ + bfd_error_handler_type link_order_error_handler; + /* Name of the PLT relocation section. */ const char *relplt_name; @@ -1430,7 +1449,7 @@ extern long _bfd_elf_get_dynamic_symtab_ extern long _bfd_elf_canonicalize_dynamic_symtab (bfd *, asymbol **); extern long _bfd_elf_get_synthetic_symtab - (bfd *, asymbol **, asymbol **); + (bfd *, long, asymbol **, long, asymbol **, asymbol **); extern long _bfd_elf_get_reloc_upper_bound (bfd *, sec_ptr); extern long _bfd_elf_canonicalize_reloc @@ -1678,6 +1697,8 @@ extern void bfd_elf64_write_relocs extern bfd_boolean bfd_elf64_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); +extern struct elf_link_hash_entry *_bfd_elf_archive_symbol_lookup + (bfd *, struct bfd_link_info *, const char *); extern bfd_boolean bfd_elf_link_add_symbols (bfd *, struct bfd_link_info *); extern bfd_boolean _bfd_elf_add_dynamic_entry @@ -1707,6 +1728,11 @@ extern bfd_boolean bfd_elf_gc_record_vti extern bfd_boolean bfd_elf_gc_record_vtentry (bfd *, asection *, struct elf_link_hash_entry *, bfd_vma); +extern bfd_boolean _bfd_elf_gc_mark + (struct bfd_link_info *, asection *, + asection * (*) (asection *, struct bfd_link_info *, Elf_Internal_Rela *, + struct elf_link_hash_entry *, Elf_Internal_Sym *)); + extern bfd_boolean bfd_elf_gc_common_finalize_got_offsets (bfd *, struct bfd_link_info *); @@ -1716,6 +1742,10 @@ extern bfd_boolean bfd_elf_gc_common_fin extern bfd_boolean bfd_elf_reloc_symbol_deleted_p (bfd_vma, void *); +extern struct elf_segment_map * +_bfd_elf_make_dynamic_segment + (bfd *, asection *); + /* Exported interface for writing elf corefile notes. */ extern char *elfcore_write_note (bfd *, char *, int *, const char *, int, const void *, int); @@ -1749,10 +1779,8 @@ extern bfd_boolean _sh_elf_set_mach_from about initializing any .plt and .got entries in relocate_section. */ #define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + && ((SHARED) || !(H)->forced_local) \ + && ((H)->dynindx != -1 || (H)->forced_local)) /* This macro is to avoid lots of duplicated code in the body of xxx_relocate_section() in the various elfxx-xxxx.c files. */ diff -uprN binutils-2.15.91.0.2/bfd/elf-hppa.h binutils-2.15.92.0.2/bfd/elf-hppa.h --- binutils-2.15.91.0.2/bfd/elf-hppa.h 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf-hppa.h 2004-09-16 10:24:35.000000000 -0700 @@ -1115,11 +1115,11 @@ elf_hppa_unmark_useless_dynamic_symbols if (! info->relocatable && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + && h->ref_dynamic + && !h->ref_regular) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_REF_DYNAMIC; - h->elf_link_hash_flags |= 0x8000; + h->ref_dynamic = 0; + h->pointer_equality_needed = 1; } return TRUE; @@ -1149,12 +1149,12 @@ elf_hppa_remark_useless_dynamic_symbols if (! info->relocatable && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 - && (h->elf_link_hash_flags & 0x8000) != 0) + && !h->ref_dynamic + && !h->ref_regular + && h->pointer_equality_needed) { - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; - h->elf_link_hash_flags &= ~0x8000; + h->ref_dynamic = 1; + h->pointer_equality_needed = 0; } return TRUE; @@ -1399,9 +1399,8 @@ elf_hppa_relocate_section (bfd *output_b if (sym_sec->output_section == NULL && dyn_h == NULL) { (*_bfd_error_handler) - (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); + (_("%B(%A): warning: unresolvable relocation against symbol `%s'"), + input_bfd, input_section, h->root.root.string); relocation = 0; } else if (sym_sec->output_section) @@ -1426,9 +1425,8 @@ elf_hppa_relocate_section (bfd *output_b if (dyn_h == NULL) { (*_bfd_error_handler) - (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); + (_("%B(%A): warning: unresolvable relocation against symbol `%s'"), + input_bfd, input_section, h->root.root.string); } relocation = 0; } @@ -1442,9 +1440,8 @@ elf_hppa_relocate_section (bfd *output_b if (dyn_h == NULL) { (*_bfd_error_handler) - (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); + (_("%B(%A): warning: unresolvable relocation against symbol `%s'"), + input_bfd, input_section, h->root.root.string); } relocation = 0; } diff -uprN binutils-2.15.91.0.2/bfd/elf-m10300.c binutils-2.15.92.0.2/bfd/elf-m10300.c --- binutils-2.15.91.0.2/bfd/elf-m10300.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf-m10300.c 2004-09-27 13:46:06.000000000 -0700 @@ -593,7 +593,7 @@ _bfd_mn10300_elf_create_got_section (abf get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -627,7 +627,7 @@ _bfd_mn10300_elf_create_got_section (abf bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -864,7 +864,7 @@ mn10300_elf_check_relocs (abfd, info, se || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; @@ -875,12 +875,12 @@ mn10300_elf_check_relocs (abfd, info, se case R_MN10300_PCREL16: case R_MN10300_PCREL8: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; break; case R_MN10300_32: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* If we are creating a shared library, then we need to copy the reloc into the shared library. */ @@ -1470,8 +1470,7 @@ mn10300_elf_relocate_section (output_bfd externally in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))))) + && h->root.def_dynamic))))) /* In these cases, we don't need the relocation value. We check specially because in some obscure cases sec->output_section will be NULL. */ @@ -4021,31 +4020,28 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + && !h->def_dynamic + && !h->ref_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was never referred to by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a REL32 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -4070,7 +4066,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -4100,12 +4096,12 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -4121,7 +4117,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -4148,7 +4144,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol ( srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -4445,7 +4441,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol ( (bfd_byte *) ((Elf32_External_Rela *) srel->contents + plt_index)); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ sym->st_shndx = SHN_UNDEF; @@ -4474,7 +4470,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol ( initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF32_R_INFO (0, R_MN10300_RELATIVE); rel.r_addend = (h->root.u.def.value @@ -4494,7 +4490,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol ( ++ srel->reloc_count; } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection * s; Elf_Internal_Rela rel; diff -uprN binutils-2.15.91.0.2/bfd/elf.c binutils-2.15.92.0.2/bfd/elf.c --- binutils-2.15.91.0.2/bfd/elf.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf.c 2004-09-27 13:46:06.000000000 -0700 @@ -292,8 +292,8 @@ bfd_elf_string_from_elf_section (bfd *ab if (strindex >= hdr->sh_size) { (*_bfd_error_handler) - (_("%s: invalid string offset %u >= %lu for section `%s'"), - bfd_archive_filename (abfd), strindex, (unsigned long) hdr->sh_size, + (_("%B: invalid string offset %u >= %lu for section `%s'"), + abfd, strindex, (unsigned long) hdr->sh_size, ((shindex == elf_elfheader(abfd)->e_shstrndx && strindex == hdr->sh_name) ? ".shstrtab" @@ -535,8 +535,7 @@ setup_group (bfd *abfd, Elf_Internal_Shd if (idx >= shnum) { ((*_bfd_error_handler) - (_("%s: invalid SHT_GROUP entry"), - bfd_archive_filename (abfd))); + (_("%B: invalid SHT_GROUP entry"), abfd)); idx = 0; } dest->shdr = elf_elfsections (abfd)[idx]; @@ -606,8 +605,8 @@ setup_group (bfd *abfd, Elf_Internal_Shd if (elf_group_name (newsect) == NULL) { - (*_bfd_error_handler) (_("%s: no group info for section %s"), - bfd_archive_filename (abfd), newsect->name); + (*_bfd_error_handler) (_("%B: no group info for section %A"), + abfd, newsect); } return TRUE; } @@ -643,8 +642,8 @@ _bfd_elf_setup_group_pointers (bfd *abfd { /* There are some unknown sections in the group. */ (*_bfd_error_handler) - (_("%s: unknown [%d] section `%s' in group [%s]"), - bfd_archive_filename (abfd), + (_("%B: unknown [%d] section `%s' in group [%s]"), + abfd, (unsigned int) idx->shdr->sh_type, elf_string_from_elf_strtab (abfd, idx->shdr->sh_name), shdr->bfd_section->name); @@ -1392,23 +1391,14 @@ _bfd_elf_link_hash_newfunc (struct bfd_h /* Set local fields. */ ret->indx = -1; ret->dynindx = -1; - ret->dynstr_index = 0; - ret->elf_hash_value = 0; - ret->weakdef = NULL; - ret->verinfo.verdef = NULL; - ret->vtable_entries_size = 0; - ret->vtable_entries_used = NULL; - ret->vtable_parent = NULL; - ret->got = htab->init_refcount; - ret->plt = htab->init_refcount; - ret->size = 0; - ret->type = STT_NOTYPE; - ret->other = 0; + ret->got = ret->plt = htab->init_refcount; + memset (&ret->size, 0, (sizeof (struct elf_link_hash_entry) + - offsetof (struct elf_link_hash_entry, size))); /* Assume that we have been called by a non-ELF symbol reader. This flag is then reset by the code which reads an ELF input file. This ensures that a symbol created by a non-ELF symbol reader will have the flag set correctly. */ - ret->elf_link_hash_flags = ELF_LINK_NON_ELF; + ret->non_elf = 1; } return entry; @@ -1428,13 +1418,12 @@ _bfd_elf_link_hash_copy_indirect (const /* Copy down any references that we may have already seen to the symbol which just became indirect. */ - dir->elf_link_hash_flags - |= ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_NON_GOT_REF - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED); + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->non_got_ref |= ind->non_got_ref; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; if (ind->root.type != bfd_link_hash_indirect) return; @@ -1476,10 +1465,10 @@ _bfd_elf_link_hash_hide_symbol (struct b bfd_boolean force_local) { h->plt = elf_hash_table (info)->init_offset; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; if (force_local) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; if (h->dynindx != -1) { h->dynindx = -1; @@ -1904,8 +1893,8 @@ bfd_section_from_shdr (bfd *abfd, unsign || hdr->sh_link >= num_sec) { ((*_bfd_error_handler) - (_("%s: invalid link %lu for reloc section %s (index %u)"), - bfd_archive_filename (abfd), hdr->sh_link, name, shindex)); + (_("%B: invalid link %lu for reloc section %s (index %u)"), + abfd, hdr->sh_link, name, shindex)); return _bfd_elf_make_section_from_shdr (abfd, hdr, name); } @@ -2105,6 +2094,7 @@ bfd_section_from_elf_index (bfd *abfd, u static struct bfd_elf_special_section const special_sections[] = { { ".bss", 4, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE }, + { ".gnu.linkonce.b",15, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE }, { ".comment", 8, 0, SHT_PROGBITS, 0 }, { ".data", 5, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, { ".data1", 6, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, @@ -2885,10 +2875,26 @@ assign_section_numbers (bfd *abfd) int elfsec = _bfd_elf_section_from_bfd_section (s->owner, s); elfsec = elf_shdrp[elfsec]->sh_link; - BFD_ASSERT (elfsec != 0); - s = elf_shdrp[elfsec]->bfd_section->output_section; - BFD_ASSERT (s != NULL); - d->this_hdr.sh_link = elf_section_data (s)->this_idx; + /* PR 290: + The Intel C compiler generates SHT_IA_64_UNWIND with + SHF_LINK_ORDER. But it doesn't set theh sh_link or + sh_info fields. Hence we could get the situation + where elfsec is 0. */ + if (elfsec == 0) + { + const struct elf_backend_data *bed + = get_elf_backend_data (abfd); + if (bed->link_order_error_handler) + bed->link_order_error_handler + (_("%B: warning: sh_link not set for section `%S'"), + abfd, s); + } + else + { + s = elf_shdrp[elfsec]->bfd_section->output_section; + BFD_ASSERT (s != NULL); + d->this_hdr.sh_link = elf_section_data (s)->this_idx; + } break; } } @@ -3313,6 +3319,25 @@ make_mapping (bfd *abfd, return m; } +/* Create the PT_DYNAMIC segment, which includes DYNSEC. Returns NULL + on failure. */ + +struct elf_segment_map * +_bfd_elf_make_dynamic_segment (bfd *abfd, asection *dynsec) +{ + struct elf_segment_map *m; + + m = bfd_zalloc (abfd, sizeof (struct elf_segment_map)); + if (m == NULL) + return NULL; + m->next = NULL; + m->p_type = PT_DYNAMIC; + m->count = 1; + m->sections[0] = dynsec; + + return m; +} + /* Set up a mapping from BFD sections to program segments. */ static bfd_boolean @@ -3550,15 +3575,9 @@ map_sections_to_segments (bfd *abfd) /* If there is a .dynamic section, throw in a PT_DYNAMIC segment. */ if (dynsec != NULL) { - amt = sizeof (struct elf_segment_map); - m = bfd_zalloc (abfd, amt); + m = _bfd_elf_make_dynamic_segment (abfd, dynsec); if (m == NULL) goto error_return; - m->next = NULL; - m->p_type = PT_DYNAMIC; - m->count = 1; - m->sections[0] = dynsec; - *pm = m; pm = &m->next; } @@ -3847,8 +3866,8 @@ assign_file_positions_for_segments (bfd if (alloc != 0 && count > alloc) { ((*_bfd_error_handler) - (_("%s: Not enough room for program headers (allocated %u, need %u)"), - bfd_get_filename (abfd), alloc, count)); + (_("%B: Not enough room for program headers (allocated %u, need %u)"), + abfd, alloc, count)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -3887,32 +3906,63 @@ assign_file_positions_for_segments (bfd qsort (m->sections, (size_t) m->count, sizeof (asection *), elf_sort_sections); + /* An ELF segment (described by Elf_Internal_Phdr) may contain a + number of sections with contents contributing to both p_filesz + and p_memsz, followed by a number of sections with no contents + that just contribute to p_memsz. In this loop, OFF tracks next + available file offset for PT_LOAD and PT_NOTE segments. VOFF is + an adjustment we use for segments that have no file contents + but need zero filled memory allocation. */ + voff = 0; p->p_type = m->p_type; p->p_flags = m->p_flags; if (p->p_type == PT_LOAD - && m->count > 0 - && (m->sections[0]->flags & SEC_ALLOC) != 0) + && m->count > 0) { + bfd_size_type align; + bfd_vma adjust; + if ((abfd->flags & D_PAGED) != 0) - off += vma_page_aligned_bias (m->sections[0]->vma, off, - bed->maxpagesize); + align = bed->maxpagesize; else { - bfd_size_type align; - - align = 0; + unsigned int align_power = 0; for (i = 0, secpp = m->sections; i < m->count; i++, secpp++) { - bfd_size_type secalign; + unsigned int secalign; secalign = bfd_get_section_alignment (abfd, *secpp); - if (secalign > align) - align = secalign; + if (secalign > align_power) + align_power = secalign; } + align = (bfd_size_type) 1 << align_power; + } - off += vma_page_aligned_bias (m->sections[0]->vma, off, - 1 << align); + adjust = vma_page_aligned_bias (m->sections[0]->vma, off, align); + off += adjust; + if (adjust != 0 + && !m->includes_filehdr + && !m->includes_phdrs + && (ufile_ptr) off >= align) + { + /* If the first section isn't loadable, the same holds for + any other sections. Since the segment won't need file + space, we can make p_offset overlap some prior segment. + However, .tbss is special. If a segment starts with + .tbss, we need to look at the next section to decide + whether the segment has any loadable sections. */ + i = 0; + while ((m->sections[i]->flags & SEC_LOAD) == 0) + { + if ((m->sections[i]->flags & SEC_THREAD_LOCAL) == 0 + || ++i >= m->count) + { + off -= adjust; + voff = adjust - align; + break; + } + } } } /* Make sure the .dynamic section is the first section in the @@ -3922,8 +3972,8 @@ assign_file_positions_for_segments (bfd && strcmp (m->sections[0]->name, ".dynamic") != 0) { _bfd_error_handler - (_("%s: The first section in the PT_DYNAMIC segment is not the .dynamic section"), - bfd_get_filename (abfd)); + (_("%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"), + abfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -3966,8 +4016,8 @@ assign_file_positions_for_segments (bfd if (p->p_vaddr < (bfd_vma) off) { (*_bfd_error_handler) - (_("%s: Not enough room for program headers, try linking with -N"), - bfd_get_filename (abfd)); + (_("%B: Not enough room for program headers, try linking with -N"), + abfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -4025,7 +4075,7 @@ assign_file_positions_for_segments (bfd || (p->p_type == PT_NOTE && bfd_get_format (abfd) == bfd_core)) { if (! m->includes_filehdr && ! m->includes_phdrs) - p->p_offset = off; + p->p_offset = off + voff; else { file_ptr adjust; @@ -4036,8 +4086,6 @@ assign_file_positions_for_segments (bfd } } - voff = off; - for (i = 0, secpp = m->sections; i < m->count; i++, secpp++) { asection *sec; @@ -4048,117 +4096,97 @@ assign_file_positions_for_segments (bfd flags = sec->flags; align = 1 << bfd_get_section_alignment (abfd, sec); - /* The section may have artificial alignment forced by a - link script. Notice this case by the gap between the - cumulative phdr lma and the section's lma. */ - if (p->p_paddr + p->p_memsz < sec->lma) - { - bfd_vma adjust = sec->lma - (p->p_paddr + p->p_memsz); - - p->p_memsz += adjust; - if (p->p_type == PT_LOAD - || (p->p_type == PT_NOTE - && bfd_get_format (abfd) == bfd_core)) - { - off += adjust; - voff += adjust; - } - if ((flags & SEC_LOAD) != 0 - || (flags & SEC_THREAD_LOCAL) != 0) - p->p_filesz += adjust; - } - - if (p->p_type == PT_LOAD) + if (p->p_type == PT_LOAD + || p->p_type == PT_TLS) { bfd_signed_vma adjust; if ((flags & SEC_LOAD) != 0) { - adjust = sec->lma - (p->p_paddr + p->p_memsz); + adjust = sec->lma - (p->p_paddr + p->p_filesz); if (adjust < 0) - adjust = 0; + { + (*_bfd_error_handler) + (_("%B: section %A lma 0x%lx overlaps previous sections"), + abfd, sec, (unsigned long) sec->lma); + adjust = 0; + } + off += adjust; + p->p_filesz += adjust; + p->p_memsz += adjust; } - else if ((flags & SEC_ALLOC) != 0) + /* .tbss is special. It doesn't contribute to p_memsz of + normal segments. */ + else if ((flags & SEC_THREAD_LOCAL) == 0 + || p->p_type == PT_TLS) { /* The section VMA must equal the file position - modulo the page size. FIXME: I'm not sure if - this adjustment is really necessary. We used to - not have the SEC_LOAD case just above, and then - this was necessary, but now I'm not sure. */ + modulo the page size. */ + bfd_size_type page = align; if ((abfd->flags & D_PAGED) != 0) - adjust = vma_page_aligned_bias (sec->vma, voff, - bed->maxpagesize); - else - adjust = vma_page_aligned_bias (sec->vma, voff, - align); - } - else - adjust = 0; - - if (adjust != 0) - { - if (i == 0) - { - (* _bfd_error_handler) (_("\ -Error: First section in segment (%s) starts at 0x%x whereas the segment starts at 0x%x"), - bfd_section_name (abfd, sec), - sec->lma, - p->p_paddr); - return FALSE; - } + page = bed->maxpagesize; + adjust = vma_page_aligned_bias (sec->vma, + p->p_vaddr + p->p_memsz, + page); p->p_memsz += adjust; - off += adjust; - voff += adjust; - if ((flags & SEC_LOAD) != 0) - p->p_filesz += adjust; } - - sec->filepos = off; - - /* We check SEC_HAS_CONTENTS here because if NOLOAD is - used in a linker script we may have a section with - SEC_LOAD clear but which is supposed to have - contents. */ - if ((flags & SEC_LOAD) != 0 - || (flags & SEC_HAS_CONTENTS) != 0) - off += sec->size; - - if ((flags & SEC_ALLOC) != 0 - && ((flags & SEC_LOAD) != 0 - || (flags & SEC_THREAD_LOCAL) == 0)) - voff += sec->size; } if (p->p_type == PT_NOTE && bfd_get_format (abfd) == bfd_core) { - /* The actual "note" segment has i == 0. - This is the one that actually contains everything. */ + /* The section at i == 0 is the one that actually contains + everything. */ if (i == 0) { sec->filepos = off; - p->p_filesz = sec->size; off += sec->size; - voff = off; + p->p_filesz = sec->size; + p->p_memsz = 0; + p->p_align = 1; } else { - /* Fake sections -- don't need to be written. */ + /* The rest are fake sections that shouldn't be written. */ sec->filepos = 0; sec->size = 0; - flags = sec->flags = 0; + sec->flags = 0; + continue; } - p->p_memsz = 0; - p->p_align = 1; } else { - if ((sec->flags & SEC_LOAD) != 0 - || (sec->flags & SEC_THREAD_LOCAL) == 0 - || p->p_type == PT_TLS) - p->p_memsz += sec->size; + if (p->p_type == PT_LOAD) + { + sec->filepos = off; + /* FIXME: The SEC_HAS_CONTENTS test here dates back to + 1997, and the exact reason for it isn't clear. One + plausible explanation is that it is to work around + a problem we have with linker scripts using data + statements in NOLOAD sections. I don't think it + makes a great deal of sense to have such a section + assigned to a PT_LOAD segment, but apparently + people do this. The data statement results in a + bfd_data_link_order being built, and these need + section contents to write into. Eventually, we get + to _bfd_elf_write_object_contents which writes any + section with contents to the output. Make room + here for the write, so that following segments are + not trashed. */ + if ((flags & SEC_LOAD) != 0 + || (flags & SEC_HAS_CONTENTS) != 0) + off += sec->size; + } if ((flags & SEC_LOAD) != 0) - p->p_filesz += sec->size; + { + p->p_filesz += sec->size; + p->p_memsz += sec->size; + } + /* .tbss is special. It doesn't contribute to p_memsz of + normal segments. */ + else if ((flags & SEC_THREAD_LOCAL) == 0 + || p->p_type == PT_TLS) + p->p_memsz += sec->size; if (p->p_type == PT_TLS && sec->size == 0 @@ -4199,6 +4227,22 @@ Error: First section in segment (%s) sta if (p->p_type != PT_LOAD && m->count > 0) { BFD_ASSERT (! m->includes_filehdr && ! m->includes_phdrs); + /* If the section has not yet been assigned a file position, + do so now. The ARM BPABI requires that .dynamic section + not be marked SEC_ALLOC because it is not part of any + PT_LOAD segment, so it will not be processed above. */ + if (p->p_type == PT_DYNAMIC && m->sections[0]->filepos == 0) + { + unsigned int i; + Elf_Internal_Shdr ** const i_shdrpp = elf_elfsections (abfd); + + i = 1; + while (i_shdrpp[i]->bfd_section != m->sections[0]) + ++i; + off = (_bfd_elf_assign_file_position_for_section + (i_shdrpp[i], off, TRUE)); + p->p_filesz = m->sections[0]->size; + } p->p_offset = m->sections[0]->filepos; } if (m->count == 0) @@ -4378,10 +4422,13 @@ get_program_header_size (bfd *abfd) _bfd_elf_compute_section_file_positions. All the section sizes and VMAs must be known before this is called. - We do not consider reloc sections at this point, unless they form - part of the loadable image. Reloc sections are assigned file - positions in assign_file_positions_for_relocs, which is called by - write_object_contents and final_link. + Reloc sections come in two flavours: Those processed specially as + "side-channel" data attached to a section to which they apply, and + those that bfd doesn't process as relocations. The latter sort are + stored in a normal bfd section by bfd_section_from_shdr. We don't + consider the former sort here, unless they form part of the loadable + image. Reloc sections not assigned here will be handled later by + assign_file_positions_for_relocs. We also don't set the positions of the .symtab and .strtab here. */ @@ -4413,8 +4460,8 @@ assign_file_positions_except_relocs (bfd Elf_Internal_Shdr *hdr; hdr = *hdrpp; - if (hdr->sh_type == SHT_REL - || hdr->sh_type == SHT_RELA + if (((hdr->sh_type == SHT_REL || hdr->sh_type == SHT_RELA) + && hdr->bfd_section == NULL) || i == tdata->symtab_section || i == tdata->symtab_shndx_section || i == tdata->strtab_section) @@ -4455,8 +4502,8 @@ assign_file_positions_except_relocs (bfd else if ((hdr->sh_flags & SHF_ALLOC) != 0) { ((*_bfd_error_handler) - (_("%s: warning: allocated section `%s' not in segment"), - bfd_get_filename (abfd), + (_("%B: warning: allocated section `%s' not in segment"), + abfd, (hdr->bfd_section == NULL ? "*unknown*" : hdr->bfd_section->name))); @@ -4469,8 +4516,8 @@ assign_file_positions_except_relocs (bfd off = _bfd_elf_assign_file_position_for_section (hdr, off, FALSE); } - else if (hdr->sh_type == SHT_REL - || hdr->sh_type == SHT_RELA + else if (((hdr->sh_type == SHT_REL || hdr->sh_type == SHT_RELA) + && hdr->bfd_section == NULL) || hdr == i_shdrpp[tdata->symtab_section] || hdr == i_shdrpp[tdata->symtab_shndx_section] || hdr == i_shdrpp[tdata->strtab_section]) @@ -4769,8 +4816,8 @@ _bfd_elf_symbol_from_bfd_symbol (bfd *ab /* This case can occur when using --strip-symbol on a symbol which is used in a relocation entry. */ (*_bfd_error_handler) - (_("%s: symbol `%s' required but not present"), - bfd_archive_filename (abfd), bfd_asymbol_name (asym_ptr)); + (_("%B: symbol `%s' required but not present"), + abfd, bfd_asymbol_name (asym_ptr)); bfd_set_error (bfd_error_no_symbols); return -1; } @@ -5057,8 +5104,8 @@ copy_private_bfd_data (bfd *ibfd, bfd *o a warning is produced. */ if (segment->p_type == PT_LOAD) (*_bfd_error_handler) - (_("%s: warning: Empty loadable segment detected, is this intentional ?\n"), - bfd_archive_filename (ibfd)); + (_("%B: warning: Empty loadable segment detected, is this intentional ?\n"), + ibfd); map->count = 0; *pointer_to_map = map; @@ -6481,8 +6528,8 @@ _bfd_elf_validate_reloc (bfd *abfd, arel fail: (*_bfd_error_handler) - (_("%s: unsupported relocation type %s"), - bfd_archive_filename (abfd), areloc->howto->name); + (_("%B: unsupported relocation type %s"), + abfd, areloc->howto->name); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -7729,7 +7776,12 @@ bfd_elf_bfd_from_remote_memory } long -_bfd_elf_get_synthetic_symtab (bfd *abfd, asymbol **dynsyms, asymbol **ret) +_bfd_elf_get_synthetic_symtab (bfd *abfd, + long symcount ATTRIBUTE_UNUSED, + asymbol **syms ATTRIBUTE_UNUSED, + long dynsymcount ATTRIBUTE_UNUSED, + asymbol **dynsyms, + asymbol **ret) { const struct elf_backend_data *bed = get_elf_backend_data (abfd); asection *relplt; @@ -7743,6 +7795,9 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd char *names; asection *plt; + if ((abfd->flags & (DYNAMIC | EXEC_P)) == 0) + return 0; + *ret = NULL; if (!bed->plt_sym_val) return 0; diff -uprN binutils-2.15.91.0.2/bfd/elf32-arm.h binutils-2.15.92.0.2/bfd/elf32-arm.h --- binutils-2.15.91.0.2/bfd/elf32-arm.h 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-arm.h 2004-09-27 13:46:06.000000000 -0700 @@ -25,92 +25,10 @@ typedef unsigned long int insn32; typedef unsigned short int insn16; -static bfd_boolean elf32_arm_set_private_flags - PARAMS ((bfd *, flagword)); -static bfd_boolean elf32_arm_copy_private_bfd_data - PARAMS ((bfd *, bfd *)); -static bfd_boolean elf32_arm_merge_private_bfd_data - PARAMS ((bfd *, bfd *)); -static bfd_boolean elf32_arm_print_private_bfd_data - PARAMS ((bfd *, PTR)); -static int elf32_arm_get_symbol_type - PARAMS (( Elf_Internal_Sym *, int)); -static struct bfd_link_hash_table *elf32_arm_link_hash_table_create - PARAMS ((bfd *)); -static bfd_reloc_status_type elf32_arm_final_link_relocate - PARAMS ((reloc_howto_type *, bfd *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, bfd_vma, struct bfd_link_info *, asection *, - const char *, int, struct elf_link_hash_entry *)); -static insn32 insert_thumb_branch - PARAMS ((insn32, int)); -static struct elf_link_hash_entry *find_thumb_glue - PARAMS ((struct bfd_link_info *, const char *, bfd *)); -static struct elf_link_hash_entry *find_arm_glue - PARAMS ((struct bfd_link_info *, const char *, bfd *)); -static void elf32_arm_post_process_headers - PARAMS ((bfd *, struct bfd_link_info *)); -static int elf32_arm_to_thumb_stub - PARAMS ((struct bfd_link_info *, const char *, bfd *, bfd *, asection *, - bfd_byte *, asection *, bfd_vma, bfd_signed_vma, bfd_vma)); -static int elf32_thumb_to_arm_stub - PARAMS ((struct bfd_link_info *, const char *, bfd *, bfd *, asection *, - bfd_byte *, asection *, bfd_vma, bfd_signed_vma, bfd_vma)); -static bfd_boolean elf32_arm_relocate_section - PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); -static asection * elf32_arm_gc_mark_hook - PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *, - struct elf_link_hash_entry *, Elf_Internal_Sym *)); -static bfd_boolean elf32_arm_gc_sweep_hook - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); -static bfd_boolean elf32_arm_check_relocs - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); -static bfd_boolean elf32_arm_find_nearest_line - PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, - const char **, unsigned int *)); -static bfd_boolean elf32_arm_adjust_dynamic_symbol - PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); -static bfd_boolean elf32_arm_size_dynamic_sections - PARAMS ((bfd *, struct bfd_link_info *)); -static bfd_boolean elf32_arm_finish_dynamic_symbol - PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *, - Elf_Internal_Sym *)); -static bfd_boolean elf32_arm_finish_dynamic_sections - PARAMS ((bfd *, struct bfd_link_info *)); -static struct bfd_hash_entry * elf32_arm_link_hash_newfunc - PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); -#if USE_REL -static void arm_add_to_rel - PARAMS ((bfd *, bfd_byte *, reloc_howto_type *, bfd_signed_vma)); -#endif -static bfd_boolean allocate_dynrelocs - PARAMS ((struct elf_link_hash_entry *h, PTR inf)); -static bfd_boolean create_got_section - PARAMS ((bfd * dynobj, struct bfd_link_info * info)); -static bfd_boolean elf32_arm_create_dynamic_sections - PARAMS ((bfd * dynobj, struct bfd_link_info * info)); -static enum elf_reloc_type_class elf32_arm_reloc_type_class - PARAMS ((const Elf_Internal_Rela *)); -static bfd_boolean elf32_arm_object_p - PARAMS ((bfd *)); - -#ifndef ELFARM_NABI_C_INCLUDED -static void record_arm_to_thumb_glue - PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); -static void record_thumb_to_arm_glue - PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); -bfd_boolean bfd_elf32_arm_allocate_interworking_sections - PARAMS ((struct bfd_link_info *)); -bfd_boolean bfd_elf32_arm_get_bfd_for_interworking - PARAMS ((bfd *, struct bfd_link_info *)); -bfd_boolean bfd_elf32_arm_process_before_allocation - PARAMS ((bfd *, struct bfd_link_info *, int, int)); -#endif - - -#define INTERWORK_FLAG(abfd) (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK) +/* In leiu of proper flags, assume all EABIv3 objects are interworkable. */ +#define INTERWORK_FLAG(abfd) \ + (EF_ARM_EABI_VERSION (elf_elfheader (abfd)->e_flags) == EF_ARM_EABI_VER3 \ + || (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK)) /* The linker script knows the section names for placement. The entry_names are used to do simple name mangling on the stubs. @@ -128,18 +46,11 @@ bfd_boolean bfd_elf32_arm_process_before #ifdef FOUR_WORD_PLT -/* The size in bytes of the special first entry in the procedure - linkage table. */ -#define PLT_HEADER_SIZE 16 - -/* The size in bytes of an entry in the procedure linkage table. */ -#define PLT_ENTRY_SIZE 16 - /* The first entry in a procedure linkage table looks like this. It is set up so that any shared library function that is called before the relocation has been set up calls the dynamic linker first. */ -static const bfd_vma elf32_arm_plt0_entry [PLT_HEADER_SIZE / 4] = +static const bfd_vma elf32_arm_plt0_entry [] = { 0xe52de004, /* str lr, [sp, #-4]! */ 0xe59fe010, /* ldr lr, [pc, #16] */ @@ -149,7 +60,7 @@ static const bfd_vma elf32_arm_plt0_entr /* Subsequent entries in a procedure linkage table look like this. */ -static const bfd_vma elf32_arm_plt_entry [PLT_ENTRY_SIZE / 4] = +static const bfd_vma elf32_arm_plt_entry [] = { 0xe28fc600, /* add ip, pc, #NN */ 0xe28cca00, /* add ip, ip, #NN */ @@ -159,18 +70,11 @@ static const bfd_vma elf32_arm_plt_entry #else -/* The size in bytes of the special first entry in the procedure - linkage table. */ -#define PLT_HEADER_SIZE 20 - -/* The size in bytes of an entry in the procedure linkage table. */ -#define PLT_ENTRY_SIZE 12 - /* The first entry in a procedure linkage table looks like this. It is set up so that any shared library function that is called before the relocation has been set up calls the dynamic linker first. */ -static const bfd_vma elf32_arm_plt0_entry [PLT_HEADER_SIZE / 4] = +static const bfd_vma elf32_arm_plt0_entry [] = { 0xe52de004, /* str lr, [sp, #-4]! */ 0xe59fe004, /* ldr lr, [pc, #4] */ @@ -181,7 +85,7 @@ static const bfd_vma elf32_arm_plt0_entr /* Subsequent entries in a procedure linkage table look like this. */ -static const bfd_vma elf32_arm_plt_entry [PLT_ENTRY_SIZE / 4] = +static const bfd_vma elf32_arm_plt_entry [] = { 0xe28fc600, /* add ip, pc, #0xNN00000 */ 0xe28cca00, /* add ip, ip, #0xNN000 */ @@ -190,6 +94,14 @@ static const bfd_vma elf32_arm_plt_entry #endif +/* The entries in a PLT when using a DLL-based target with multiple + address spaces. */ +static const bfd_vma elf32_arm_symbian_plt_entry [] = + { + 0xe51ff004, /* ldr pr, [pc, #-4] */ + 0x00000000, /* dcd R_ARM_GLOB_DAT(X) */ + }; + /* Used to build a map of a section. This is required for mixed-endian code/data. */ @@ -241,7 +153,7 @@ struct elf32_arm_link_hash_entry #define elf32_arm_link_hash_traverse(table, func, info) \ (elf_link_hash_traverse \ (&(table)->root, \ - (bfd_boolean (*) PARAMS ((struct elf_link_hash_entry *, PTR))) (func), \ + (bfd_boolean (*) (struct elf_link_hash_entry *, void *))) (func), \ (info))) /* Get the ARM elf linker hash table from a link_info structure. */ @@ -270,6 +182,22 @@ struct elf32_arm_link_hash_table /* Nonzero to output a BE8 image. */ int byteswap_code; + /* Zero if R_ARM_TARGET1 means R_ARM_ABS32. + Nonzero if R_ARM_TARGET1 means R_ARM_ABS32. */ + int target1_is_rel; + + /* The relocation to use for R_ARM_TARGET2 relocations. */ + int target2_reloc; + + /* The number of bytes in the initial entry in the PLT. */ + bfd_size_type plt_header_size; + + /* The number of bytes in the subsequent PLT etries. */ + bfd_size_type plt_entry_size; + + /* True if the target system is Symbian OS. */ + int symbian_p; + /* Short-cuts to get to dynamic linker sections. */ asection *sgot; asection *sgotplt; @@ -286,10 +214,9 @@ struct elf32_arm_link_hash_table /* Create an entry in an ARM ELF linker hash table. */ static struct bfd_hash_entry * -elf32_arm_link_hash_newfunc (entry, table, string) - struct bfd_hash_entry * entry; - struct bfd_hash_table * table; - const char * string; +elf32_arm_link_hash_newfunc (struct bfd_hash_entry * entry, + struct bfd_hash_table * table, + const char * string) { struct elf32_arm_link_hash_entry * ret = (struct elf32_arm_link_hash_entry *) entry; @@ -297,17 +224,15 @@ elf32_arm_link_hash_newfunc (entry, tabl /* Allocate the structure if it has not already been allocated by a subclass. */ if (ret == (struct elf32_arm_link_hash_entry *) NULL) - ret = ((struct elf32_arm_link_hash_entry *) - bfd_hash_allocate (table, - sizeof (struct elf32_arm_link_hash_entry))); - if (ret == (struct elf32_arm_link_hash_entry *) NULL) + ret = bfd_hash_allocate (table, sizeof (struct elf32_arm_link_hash_entry)); + if (ret == NULL) return (struct bfd_hash_entry *) ret; /* Call the allocation method of the superclass. */ ret = ((struct elf32_arm_link_hash_entry *) _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, table, string)); - if (ret != (struct elf32_arm_link_hash_entry *) NULL) + if (ret != NULL) ret->relocs_copied = NULL; return (struct bfd_hash_entry *) ret; @@ -317,16 +242,18 @@ elf32_arm_link_hash_newfunc (entry, tabl shortcuts to them in our hash table. */ static bfd_boolean -create_got_section (dynobj, info) - bfd *dynobj; - struct bfd_link_info *info; +create_got_section (bfd *dynobj, struct bfd_link_info *info) { struct elf32_arm_link_hash_table *htab; + htab = elf32_arm_hash_table (info); + /* BPABI objects never have a GOT, or associated sections. */ + if (htab->symbian_p) + return TRUE; + if (! _bfd_elf_create_got_section (dynobj, info)) return FALSE; - htab = elf32_arm_hash_table (info); htab->sgot = bfd_get_section_by_name (dynobj, ".got"); htab->sgotplt = bfd_get_section_by_name (dynobj, ".got.plt"); if (!htab->sgot || !htab->sgotplt) @@ -348,9 +275,7 @@ create_got_section (dynobj, info) hash table. */ static bfd_boolean -elf32_arm_create_dynamic_sections (dynobj, info) - bfd *dynobj; - struct bfd_link_info *info; +elf32_arm_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) { struct elf32_arm_link_hash_table *htab; @@ -367,7 +292,9 @@ elf32_arm_create_dynamic_sections (dynob if (!info->shared) htab->srelbss = bfd_get_section_by_name (dynobj, ".rel.bss"); - if (!htab->splt || !htab->srelplt || !htab->sdynbss + if (!htab->splt + || !htab->srelplt + || !htab->sdynbss || (!info->shared && !htab->srelbss)) abort (); @@ -425,17 +352,16 @@ elf32_arm_copy_indirect_symbol (const st /* Create an ARM elf linker hash table. */ static struct bfd_link_hash_table * -elf32_arm_link_hash_table_create (abfd) - bfd *abfd; +elf32_arm_link_hash_table_create (bfd *abfd) { struct elf32_arm_link_hash_table *ret; bfd_size_type amt = sizeof (struct elf32_arm_link_hash_table); - ret = (struct elf32_arm_link_hash_table *) bfd_malloc (amt); - if (ret == (struct elf32_arm_link_hash_table *) NULL) + ret = bfd_malloc (amt); + if (ret == NULL) return NULL; - if (!_bfd_elf_link_hash_table_init (&ret->root, abfd, + if (!_bfd_elf_link_hash_table_init (& ret->root, abfd, elf32_arm_link_hash_newfunc)) { free (ret); @@ -454,6 +380,16 @@ elf32_arm_link_hash_table_create (abfd) ret->bfd_of_glue_owner = NULL; ret->no_pipeline_knowledge = 0; ret->byteswap_code = 0; + ret->target1_is_rel = 0; + ret->target2_reloc = R_ARM_NONE; +#ifdef FOUR_WORD_PLT + ret->plt_header_size = 16; + ret->plt_entry_size = 16; +#else + ret->plt_header_size = 20; + ret->plt_entry_size = 12; +#endif + ret->symbian_p = 0; ret->sym_sec.abfd = NULL; return &ret->root.root; @@ -462,10 +398,9 @@ elf32_arm_link_hash_table_create (abfd) /* Locate the Thumb encoded calling stub for NAME. */ static struct elf_link_hash_entry * -find_thumb_glue (link_info, name, input_bfd) - struct bfd_link_info *link_info; - const char *name; - bfd *input_bfd; +find_thumb_glue (struct bfd_link_info *link_info, + const char *name, + bfd *input_bfd) { char *tmp_name; struct elf_link_hash_entry *hash; @@ -474,8 +409,8 @@ find_thumb_glue (link_info, name, input_ /* We need a pointer to the armelf specific hash table. */ hash_table = elf32_arm_hash_table (link_info); - tmp_name = (char *) bfd_malloc ((bfd_size_type) strlen (name) - + strlen (THUMB2ARM_GLUE_ENTRY_NAME) + 1); + tmp_name = bfd_malloc ((bfd_size_type) strlen (name) + + strlen (THUMB2ARM_GLUE_ENTRY_NAME) + 1); BFD_ASSERT (tmp_name); @@ -486,8 +421,8 @@ find_thumb_glue (link_info, name, input_ if (hash == NULL) /* xgettext:c-format */ - (*_bfd_error_handler) (_("%s: unable to find THUMB glue '%s' for `%s'"), - bfd_archive_filename (input_bfd), tmp_name, name); + (*_bfd_error_handler) (_("%B: unable to find THUMB glue '%s' for `%s'"), + input_bfd, tmp_name, name); free (tmp_name); @@ -497,10 +432,9 @@ find_thumb_glue (link_info, name, input_ /* Locate the ARM encoded calling stub for NAME. */ static struct elf_link_hash_entry * -find_arm_glue (link_info, name, input_bfd) - struct bfd_link_info *link_info; - const char *name; - bfd *input_bfd; +find_arm_glue (struct bfd_link_info *link_info, + const char *name, + bfd *input_bfd) { char *tmp_name; struct elf_link_hash_entry *myh; @@ -509,8 +443,8 @@ find_arm_glue (link_info, name, input_bf /* We need a pointer to the elfarm specific hash table. */ hash_table = elf32_arm_hash_table (link_info); - tmp_name = (char *) bfd_malloc ((bfd_size_type) strlen (name) - + strlen (ARM2THUMB_GLUE_ENTRY_NAME) + 1); + tmp_name = bfd_malloc ((bfd_size_type) strlen (name) + + strlen (ARM2THUMB_GLUE_ENTRY_NAME) + 1); BFD_ASSERT (tmp_name); @@ -521,8 +455,8 @@ find_arm_glue (link_info, name, input_bf if (myh == NULL) /* xgettext:c-format */ - (*_bfd_error_handler) (_("%s: unable to find ARM glue '%s' for `%s'"), - bfd_archive_filename (input_bfd), tmp_name, name); + (*_bfd_error_handler) (_("%B: unable to find ARM glue '%s' for `%s'"), + input_bfd, tmp_name, name); free (tmp_name); @@ -566,8 +500,7 @@ static const insn32 t2a3_b_insn = 0xea00 #ifndef ELFARM_NABI_C_INCLUDED bfd_boolean -bfd_elf32_arm_allocate_interworking_sections (info) - struct bfd_link_info * info; +bfd_elf32_arm_allocate_interworking_sections (struct bfd_link_info * info) { asection * s; bfd_byte * foo; @@ -586,8 +519,7 @@ bfd_elf32_arm_allocate_interworking_sect BFD_ASSERT (s != NULL); - foo = (bfd_byte *) bfd_alloc (globals->bfd_of_glue_owner, - globals->arm_glue_size); + foo = bfd_alloc (globals->bfd_of_glue_owner, globals->arm_glue_size); s->size = globals->arm_glue_size; s->contents = foo; @@ -602,8 +534,7 @@ bfd_elf32_arm_allocate_interworking_sect BFD_ASSERT (s != NULL); - foo = (bfd_byte *) bfd_alloc (globals->bfd_of_glue_owner, - globals->thumb_glue_size); + foo = bfd_alloc (globals->bfd_of_glue_owner, globals->thumb_glue_size); s->size = globals->thumb_glue_size; s->contents = foo; @@ -613,9 +544,8 @@ bfd_elf32_arm_allocate_interworking_sect } static void -record_arm_to_thumb_glue (link_info, h) - struct bfd_link_info * link_info; - struct elf_link_hash_entry * h; +record_arm_to_thumb_glue (struct bfd_link_info * link_info, + struct elf_link_hash_entry * h) { const char * name = h->root.root.string; asection * s; @@ -635,8 +565,7 @@ record_arm_to_thumb_glue (link_info, h) BFD_ASSERT (s != NULL); - tmp_name = (char *) bfd_malloc ((bfd_size_type) strlen (name) - + strlen (ARM2THUMB_GLUE_ENTRY_NAME) + 1); + tmp_name = bfd_malloc ((bfd_size_type) strlen (name) + strlen (ARM2THUMB_GLUE_ENTRY_NAME) + 1); BFD_ASSERT (tmp_name); @@ -652,9 +581,9 @@ record_arm_to_thumb_glue (link_info, h) return; } - /* The only trick here is using hash_table->arm_glue_size as the value. Even - though the section isn't allocated yet, this is where we will be putting - it. */ + /* The only trick here is using hash_table->arm_glue_size as the value. + Even though the section isn't allocated yet, this is where we will be + putting it. */ bh = NULL; val = globals->arm_glue_size + 1; _bfd_generic_link_add_one_symbol (link_info, globals->bfd_of_glue_owner, @@ -669,9 +598,8 @@ record_arm_to_thumb_glue (link_info, h) } static void -record_thumb_to_arm_glue (link_info, h) - struct bfd_link_info *link_info; - struct elf_link_hash_entry *h; +record_thumb_to_arm_glue (struct bfd_link_info *link_info, + struct elf_link_hash_entry *h) { const char *name = h->root.root.string; asection *s; @@ -692,8 +620,8 @@ record_thumb_to_arm_glue (link_info, h) BFD_ASSERT (s != NULL); - tmp_name = (char *) bfd_malloc ((bfd_size_type) strlen (name) - + strlen (THUMB2ARM_GLUE_ENTRY_NAME) + 1); + tmp_name = bfd_malloc ((bfd_size_type) strlen (name) + + strlen (THUMB2ARM_GLUE_ENTRY_NAME) + 1); BFD_ASSERT (tmp_name); @@ -726,8 +654,8 @@ record_thumb_to_arm_glue (link_info, h) #define BACK_FROM_ARM "__%s_back_from_arm" /* Allocate another symbol to mark where we switch to Arm mode. */ - tmp_name = (char *) bfd_malloc ((bfd_size_type) strlen (name) - + strlen (CHANGE_TO_ARM) + 1); + tmp_name = bfd_malloc ((bfd_size_type) strlen (name) + + strlen (CHANGE_TO_ARM) + 1); BFD_ASSERT (tmp_name); @@ -750,9 +678,8 @@ record_thumb_to_arm_glue (link_info, h) linker scripts in ld/emultempl/{armelf}.em. */ bfd_boolean -bfd_elf32_arm_add_glue_sections_to_bfd (abfd, info) - bfd *abfd; - struct bfd_link_info *info; +bfd_elf32_arm_add_glue_sections_to_bfd (bfd *abfd, + struct bfd_link_info *info) { flagword flags; asection *sec; @@ -787,7 +714,8 @@ bfd_elf32_arm_add_glue_sections_to_bfd ( if (sec == NULL) { - flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_CODE | SEC_READONLY; + flags = SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY + | SEC_CODE | SEC_READONLY; sec = bfd_make_section (abfd, THUMB2ARM_GLUE_SECTION_NAME); @@ -807,9 +735,7 @@ bfd_elf32_arm_add_glue_sections_to_bfd ( {armelf/pe}.em */ bfd_boolean -bfd_elf32_arm_get_bfd_for_interworking (abfd, info) - bfd *abfd; - struct bfd_link_info *info; +bfd_elf32_arm_get_bfd_for_interworking (bfd *abfd, struct bfd_link_info *info) { struct elf32_arm_link_hash_table *globals; @@ -832,13 +758,10 @@ bfd_elf32_arm_get_bfd_for_interworking ( } bfd_boolean -bfd_elf32_arm_process_before_allocation (abfd, link_info, - no_pipeline_knowledge, - byteswap_code) - bfd *abfd; - struct bfd_link_info *link_info; - int no_pipeline_knowledge; - int byteswap_code; +bfd_elf32_arm_process_before_allocation (bfd *abfd, + struct bfd_link_info *link_info, + int no_pipeline_knowledge, + int byteswap_code) { Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Rela *internal_relocs = NULL; @@ -861,11 +784,11 @@ bfd_elf32_arm_process_before_allocation BFD_ASSERT (globals->bfd_of_glue_owner != NULL); globals->no_pipeline_knowledge = no_pipeline_knowledge; + if (byteswap_code && !bfd_big_endian (abfd)) { - _bfd_error_handler ( - _("%s: BE8 images only valid in big-endian mode."), - bfd_archive_filename (abfd)); + _bfd_error_handler (_("%B: BE8 images only valid in big-endian mode."), + abfd); return FALSE; } globals->byteswap_code = byteswap_code; @@ -885,7 +808,7 @@ bfd_elf32_arm_process_before_allocation /* Load the relocs. */ internal_relocs - = _bfd_elf_link_read_relocs (abfd, sec, (PTR) NULL, + = _bfd_elf_link_read_relocs (abfd, sec, (void *) NULL, (Elf_Internal_Rela *) NULL, FALSE); if (internal_relocs == NULL) @@ -916,7 +839,7 @@ bfd_elf32_arm_process_before_allocation else { /* Go get them off disk. */ - if (!bfd_malloc_and_get_section (abfd, sec, &contents)) + if (! bfd_malloc_and_get_section (abfd, sec, &contents)) goto error_return; } } @@ -986,6 +909,32 @@ error_return: } #endif + +#ifndef OLD_ARM_ABI +/* Set target relocation values needed during linking. */ + +void +bfd_elf32_arm_set_target_relocs (struct bfd_link_info *link_info, + int target1_is_rel, + char * target2_type) +{ + struct elf32_arm_link_hash_table *globals; + + globals = elf32_arm_hash_table (link_info); + + globals->target1_is_rel = target1_is_rel; + if (strcmp (target2_type, "rel") == 0) + globals->target2_reloc = R_ARM_REL32; + else if (strcmp (target2_type, "got-rel") == 0) + globals->target2_reloc = R_ARM_GOT_PREL; + else + { + _bfd_error_handler (_("Invalid TARGET2 relocation type '%s'."), + target2_type); + } +} +#endif + /* The thumb form of a long branch is a bit finicky, because the offset encoding is split over two fields, each in it's own instruction. They can occur in any order. So given a thumb form of long branch, and an @@ -1018,9 +967,7 @@ error_return: #define HI_LOW_ORDER 0xF000F800 static insn32 -insert_thumb_branch (br_insn, rel_off) - insn32 br_insn; - int rel_off; +insert_thumb_branch (insn32 br_insn, int rel_off) { unsigned int low_bits; unsigned int high_bits; @@ -1037,7 +984,7 @@ insert_thumb_branch (br_insn, rel_off) br_insn = HI_LOW_ORDER | (high_bits << 16) | low_bits; else /* FIXME: abort is probably not the right call. krk@cygnus.com */ - abort (); /* error - not a valid branch instruction form. */ + abort (); /* Error - not a valid branch instruction form. */ return br_insn; } @@ -1045,18 +992,16 @@ insert_thumb_branch (br_insn, rel_off) /* Thumb code calling an ARM function. */ static int -elf32_thumb_to_arm_stub (info, name, input_bfd, output_bfd, input_section, - hit_data, sym_sec, offset, addend, val) - struct bfd_link_info * info; - const char * name; - bfd * input_bfd; - bfd * output_bfd; - asection * input_section; - bfd_byte * hit_data; - asection * sym_sec; - bfd_vma offset; - bfd_signed_vma addend; - bfd_vma val; +elf32_thumb_to_arm_stub (struct bfd_link_info * info, + const char * name, + bfd * input_bfd, + bfd * output_bfd, + asection * input_section, + bfd_byte * hit_data, + asection * sym_sec, + bfd_vma offset, + bfd_signed_vma addend, + bfd_vma val) { asection * s = 0; bfd_vma my_offset; @@ -1090,11 +1035,9 @@ elf32_thumb_to_arm_stub (info, name, inp && !INTERWORK_FLAG (sym_sec->owner)) { (*_bfd_error_handler) - (_("%s(%s): warning: interworking not enabled."), - bfd_archive_filename (sym_sec->owner), name); - (*_bfd_error_handler) - (_(" first occurrence: %s: thumb call to arm"), - bfd_archive_filename (input_bfd)); + (_("%B(%s): warning: interworking not enabled.\n" + " first occurrence: %B: thumb call to arm"), + sym_sec->owner, input_bfd, name); return FALSE; } @@ -1112,7 +1055,8 @@ elf32_thumb_to_arm_stub (info, name, inp /* Address of destination of the stub. */ ((bfd_signed_vma) val) - ((bfd_signed_vma) - /* Offset from the start of the current section to the start of the stubs. */ + /* Offset from the start of the current section + to the start of the stubs. */ (s->output_offset /* Offset of the start of this stub from the start of the stubs. */ + my_offset @@ -1135,7 +1079,8 @@ elf32_thumb_to_arm_stub (info, name, inp /* Address of where the stub is located. */ (s->output_section->vma + s->output_offset + my_offset) /* Address of where the BL is located. */ - - (input_section->output_section->vma + input_section->output_offset + offset) + - (input_section->output_section->vma + input_section->output_offset + + offset) /* Addend in the relocation. */ - addend /* Biassing for PC-relative addressing. */ @@ -1154,18 +1099,16 @@ elf32_thumb_to_arm_stub (info, name, inp /* Arm code calling a Thumb function. */ static int -elf32_arm_to_thumb_stub (info, name, input_bfd, output_bfd, input_section, - hit_data, sym_sec, offset, addend, val) - struct bfd_link_info * info; - const char * name; - bfd * input_bfd; - bfd * output_bfd; - asection * input_section; - bfd_byte * hit_data; - asection * sym_sec; - bfd_vma offset; - bfd_signed_vma addend; - bfd_vma val; +elf32_arm_to_thumb_stub (struct bfd_link_info * info, + const char * name, + bfd * input_bfd, + bfd * output_bfd, + asection * input_section, + bfd_byte * hit_data, + asection * sym_sec, + bfd_vma offset, + bfd_signed_vma addend, + bfd_vma val) { unsigned long int tmp; bfd_vma my_offset; @@ -1197,11 +1140,9 @@ elf32_arm_to_thumb_stub (info, name, inp && !INTERWORK_FLAG (sym_sec->owner)) { (*_bfd_error_handler) - (_("%s(%s): warning: interworking not enabled."), - bfd_archive_filename (sym_sec->owner), name); - (*_bfd_error_handler) - (_(" first occurrence: %s: arm call to thumb"), - bfd_archive_filename (input_bfd)); + (_("%B(%s): warning: interworking not enabled.\n" + " first occurrence: %B: arm call to thumb"), + sym_sec->owner, input_bfd, name); } --my_offset; @@ -1239,24 +1180,47 @@ elf32_arm_to_thumb_stub (info, name, inp return TRUE; } + +#ifndef OLD_ARM_ABI +/* Some relocations map to different relocations depending on the + target. Return the real relocation. */ +static int +arm_real_reloc_type (struct elf32_arm_link_hash_table * globals, + int r_type) +{ + switch (r_type) + { + case R_ARM_TARGET1: + if (globals->target1_is_rel) + return R_ARM_REL32; + else + return R_ARM_ABS32; + + case R_ARM_TARGET2: + return globals->target2_reloc; + + default: + return r_type; + } +} +#endif /* OLD_ARM_ABI */ + + /* Perform a relocation as part of a final link. */ static bfd_reloc_status_type -elf32_arm_final_link_relocate (howto, input_bfd, output_bfd, - input_section, contents, rel, value, - info, sym_sec, sym_name, sym_flags, h) - reloc_howto_type * howto; - bfd * input_bfd; - bfd * output_bfd; - asection * input_section; - bfd_byte * contents; - Elf_Internal_Rela * rel; - bfd_vma value; - struct bfd_link_info * info; - asection * sym_sec; - const char * sym_name; - int sym_flags; - struct elf_link_hash_entry * h; +elf32_arm_final_link_relocate (reloc_howto_type * howto, + bfd * input_bfd, + bfd * output_bfd, + asection * input_section, + bfd_byte * contents, + Elf_Internal_Rela * rel, + bfd_vma value, + struct bfd_link_info * info, + asection * sym_sec, + const char * sym_name, + int sym_flags, + struct elf_link_hash_entry * h) { unsigned long r_type = howto->type; unsigned long r_symndx; @@ -1272,6 +1236,16 @@ elf32_arm_final_link_relocate (howto, in bfd_signed_vma signed_addend; struct elf32_arm_link_hash_table * globals; + globals = elf32_arm_hash_table (info); + +#ifndef OLD_ARM_ABI + /* Some relocation type map to different relocations depending on the + target. We pick the right one here. */ + r_type = arm_real_reloc_type (globals, r_type); + if (r_type != howto->type) + howto = elf32_arm_howto_from_type (r_type); +#endif /* OLD_ARM_ABI */ + /* If the start address has been set, then set the EF_ARM_HASENTRY flag. Setting this more than once is redundant, but the cost is not too high, and it keeps the code simple. @@ -1284,8 +1258,6 @@ elf32_arm_final_link_relocate (howto, in if (bfd_get_start_address (output_bfd) != 0) elf_elfheader (output_bfd)->e_flags |= EF_ARM_HASENTRY; - globals = elf32_arm_hash_table (info); - dynobj = elf_hash_table (info)->dynobj; if (dynobj) { @@ -1322,6 +1294,7 @@ elf32_arm_final_link_relocate (howto, in case R_ARM_REL32: #ifndef OLD_ARM_ABI case R_ARM_XPC25: + case R_ARM_PREL31: #endif case R_ARM_PLT32: /* r_symndx will be zero only for relocs against symbols @@ -1334,7 +1307,11 @@ elf32_arm_final_link_relocate (howto, in will use the symbol's value, which may point to a PLT entry, but we don't need to handle that here. If we created a PLT entry, all branches in this object should go to it. */ - if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32) + if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + ) && h != NULL && splt != NULL && h->plt.offset != (bfd_vma) -1) @@ -1356,8 +1333,11 @@ elf32_arm_final_link_relocate (howto, in into the output file to be resolved at run time. */ if (info->shared && (input_section->flags & SEC_ALLOC) - && (r_type != R_ARM_REL32 - || !SYMBOL_CALLS_LOCAL (info, h)) + && ((r_type != R_ARM_REL32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + ) || !SYMBOL_CALLS_LOCAL (info, h)) && (h == NULL || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT || h->root.type != bfd_link_hash_undefweak) @@ -1407,8 +1387,7 @@ elf32_arm_final_link_relocate (howto, in && h->dynindx != -1 && (!info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); else { @@ -1445,10 +1424,10 @@ elf32_arm_final_link_relocate (howto, in /* FIXME: Should we translate the instruction into a BL instruction instead ? */ if (sym_flags != STT_ARM_TFUNC) - (*_bfd_error_handler) (_("\ -%s: Warning: Arm BLX instruction targets Arm function '%s'."), - bfd_archive_filename (input_bfd), - h ? h->root.root.string : "(local)"); + (*_bfd_error_handler) + (_("\%B: Warning: Arm BLX instruction targets Arm function '%s'."), + input_bfd, + h ? h->root.root.string : "(local)"); } else #endif @@ -1456,8 +1435,9 @@ elf32_arm_final_link_relocate (howto, in /* Check for Arm calling Thumb function. */ if (sym_flags == STT_ARM_TFUNC) { - elf32_arm_to_thumb_stub (info, sym_name, input_bfd, output_bfd, - input_section, hit_data, sym_sec, rel->r_offset, + elf32_arm_to_thumb_stub (info, sym_name, input_bfd, + output_bfd, input_section, + hit_data, sym_sec, rel->r_offset, signed_addend, value); return bfd_reloc_ok; } @@ -1485,8 +1465,9 @@ elf32_arm_final_link_relocate (howto, in A is the addend (extracted from the instruction) in bytes. S is held in 'value'. - P is the base address of the section containing the instruction - plus the offset of the reloc into that section, ie: + P is the base address of the section containing the + instruction plus the offset of the reloc into that + section, ie: (input_section->output_section->vma + input_section->output_offset + rel->r_offset). @@ -1494,18 +1475,19 @@ elf32_arm_final_link_relocate (howto, in (signed_addend * 4) Note: None of these operations have knowledge of the pipeline - size of the processor, thus it is up to the assembler to encode - this information into the addend. */ + size of the processor, thus it is up to the assembler to + encode this information into the addend. */ value -= (input_section->output_section->vma + input_section->output_offset); value -= rel->r_offset; value += (signed_addend << howto->size); - /* Previous versions of this code also used to add in the pipeline - offset here. This is wrong because the linker is not supposed - to know about such things, and one day it might change. In order - to support old binaries that need the old behaviour however, so - we attempt to detect which ABI was used to create the reloc. */ + /* Previous versions of this code also used to add in the + pipeline offset here. This is wrong because the linker is + not supposed to know about such things, and one day it might + change. In order to support old binaries that need the old + behaviour however, so we attempt to detect which ABI was + used to create the reloc. */ if (! globals->no_pipeline_knowledge) { Elf_Internal_Ehdr * i_ehdrp; /* Elf file header, internal form */ @@ -1555,6 +1537,24 @@ elf32_arm_final_link_relocate (howto, in + input_section->output_offset + rel->r_offset); value += addend; break; + +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: + value -= (input_section->output_section->vma + + input_section->output_offset + rel->r_offset); + value += signed_addend; + if (! h || h->root.type != bfd_link_hash_undefweak) + { + /* Check for overflow */ + if ((value ^ (value >> 1)) & (1 << 30)) + return bfd_reloc_overflow; + } + value &= 0x7fffffff; + value |= (bfd_get_32 (input_bfd, hit_data) & 0x80000000); + if (sym_flags == STT_ARM_TFUNC) + value |= 1; + break; +#endif } bfd_put_32 (input_bfd, value, hit_data); @@ -1641,10 +1641,10 @@ elf32_arm_final_link_relocate (howto, in /* FIXME: Should we translate the instruction into a BL instruction instead ? */ if (sym_flags == STT_ARM_TFUNC) - (*_bfd_error_handler) (_("\ -%s: Warning: Thumb BLX instruction targets thumb function '%s'."), - bfd_archive_filename (input_bfd), - h ? h->root.root.string : "(local)"); + (*_bfd_error_handler) + (_("%B: Warning: Thumb BLX instruction targets thumb function '%s'."), + input_bfd, + h ? h->root.root.string : "(local)"); } else #endif @@ -1844,6 +1844,9 @@ elf32_arm_final_link_relocate (howto, in (bfd_vma) 0); case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif /* Relocation is to the entry for this symbol in the global offset table. */ if (sgot == NULL) @@ -1932,6 +1935,8 @@ elf32_arm_final_link_relocate (howto, in value = sgot->output_offset + off; } + if (r_type != R_ARM_GOT32) + value += sgot->output_section->vma; return _bfd_final_link_relocate (howto, input_bfd, input_section, contents, rel->r_offset, value, @@ -1969,11 +1974,10 @@ elf32_arm_final_link_relocate (howto, in #if USE_REL /* Add INCREMENT to the reloc (of type HOWTO) at ADDRESS. */ static void -arm_add_to_rel (abfd, address, howto, increment) - bfd * abfd; - bfd_byte * address; - reloc_howto_type * howto; - bfd_signed_vma increment; +arm_add_to_rel (bfd * abfd, + bfd_byte * address, + reloc_howto_type * howto, + bfd_signed_vma increment) { bfd_signed_vma addend; @@ -2041,16 +2045,14 @@ arm_add_to_rel (abfd, address, howto, in /* Relocate an ARM ELF section. */ static bfd_boolean -elf32_arm_relocate_section (output_bfd, info, input_bfd, input_section, - contents, relocs, local_syms, local_sections) - bfd *output_bfd; - struct bfd_link_info *info; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - Elf_Internal_Rela *relocs; - Elf_Internal_Sym *local_syms; - asection **local_sections; +elf32_arm_relocate_section (bfd * output_bfd, + struct bfd_link_info * info, + bfd * input_bfd, + asection * input_section, + bfd_byte * contents, + Elf_Internal_Rela * relocs, + Elf_Internal_Sym * local_syms, + asection ** local_sections) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; @@ -2136,9 +2138,8 @@ elf32_arm_relocate_section (output_bfd, if (howto->rightshift) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s relocation against SEC_MERGE section"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"), + input_bfd, input_section, (long) rel->r_offset, howto->name); return FALSE; } @@ -2176,7 +2177,7 @@ elf32_arm_relocate_section (output_bfd, r_symndx, symtab_hdr, sym_hashes, h, sec, relocation, unresolved_reloc, warned); - + if (unresolved_reloc || relocation != 0) { /* In these cases, we don't need the relocation value. @@ -2190,10 +2191,8 @@ elf32_arm_relocate_section (output_bfd, case R_ARM_PLT32: if (info->shared - && ( - (!info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - ) + && ((!info->symbolic && h->dynindx != -1) + || !h->def_regular) && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_ARM_ABS32 relocations in its @@ -2201,8 +2200,7 @@ elf32_arm_relocate_section (output_bfd, in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) ) relocation = 0; break; @@ -2212,24 +2210,25 @@ elf32_arm_relocate_section (output_bfd, break; case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif if ((WILL_CALL_FINISH_DYNAMIC_SYMBOL (elf_hash_table (info)->dynamic_sections_created, info->shared, h)) && (!info->shared || (!info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) relocation = 0; break; default: if (unresolved_reloc) _bfd_error_handler - (_("%s: warning: unresolvable relocation %d against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), + (_("%B(%A): warning: unresolvable relocation %d against symbol `%s'"), + input_bfd, input_section, r_type, - h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); + h->root.root.string); break; } } @@ -2308,11 +2307,10 @@ elf32_arm_relocate_section (output_bfd, /* Set the right machine number. */ static bfd_boolean -elf32_arm_object_p (abfd) - bfd *abfd; +elf32_arm_object_p (bfd *abfd) { unsigned int mach; - + mach = bfd_arm_get_mach_from_notes (abfd, ARM_NOTE_SECTION); if (mach != bfd_mach_arm_unknown) @@ -2329,9 +2327,7 @@ elf32_arm_object_p (abfd) /* Function to keep ARM specific flags in the ELF header. */ static bfd_boolean -elf32_arm_set_private_flags (abfd, flags) - bfd *abfd; - flagword flags; +elf32_arm_set_private_flags (bfd *abfd, flagword flags) { if (elf_flags_init (abfd) && elf_elfheader (abfd)->e_flags != flags) @@ -2339,13 +2335,13 @@ elf32_arm_set_private_flags (abfd, flags if (EF_ARM_EABI_VERSION (flags) == EF_ARM_EABI_UNKNOWN) { if (flags & EF_ARM_INTERWORK) - (*_bfd_error_handler) (_("\ -Warning: Not setting interworking flag of %s since it has already been specified as non-interworking"), - bfd_archive_filename (abfd)); + (*_bfd_error_handler) + (_("Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"), + abfd); else - _bfd_error_handler (_("\ -Warning: Clearing the interworking flag of %s due to outside request"), - bfd_archive_filename (abfd)); + _bfd_error_handler + (_("Warning: Clearing the interworking flag of %B due to outside request"), + abfd); } } else @@ -2360,9 +2356,7 @@ Warning: Clearing the interworking flag /* Copy backend specific data from one object module to another. */ static bfd_boolean -elf32_arm_copy_private_bfd_data (ibfd, obfd) - bfd *ibfd; - bfd *obfd; +elf32_arm_copy_private_bfd_data (bfd *ibfd, bfd *obfd) { flagword in_flags; flagword out_flags; @@ -2391,10 +2385,9 @@ elf32_arm_copy_private_bfd_data (ibfd, o if ((in_flags & EF_ARM_INTERWORK) != (out_flags & EF_ARM_INTERWORK)) { if (out_flags & EF_ARM_INTERWORK) - _bfd_error_handler (_("\ -Warning: Clearing the interworking flag of %s because non-interworking code in %s has been linked with it"), - bfd_get_filename (obfd), - bfd_archive_filename (ibfd)); + _bfd_error_handler + (_("Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"), + obfd, ibfd); in_flags &= ~EF_ARM_INTERWORK; } @@ -2414,9 +2407,7 @@ Warning: Clearing the interworking flag object file when linking. */ static bfd_boolean -elf32_arm_merge_private_bfd_data (ibfd, obfd) - bfd * ibfd; - bfd * obfd; +elf32_arm_merge_private_bfd_data (bfd * ibfd, bfd * obfd) { flagword out_flags; flagword in_flags; @@ -2509,12 +2500,11 @@ elf32_arm_merge_private_bfd_data (ibfd, /* Complain about various flag mismatches. */ if (EF_ARM_EABI_VERSION (in_flags) != EF_ARM_EABI_VERSION (out_flags)) { - _bfd_error_handler (_("\ -ERROR: %s is compiled for EABI version %d, whereas %s is compiled for version %d"), - bfd_archive_filename (ibfd), - (in_flags & EF_ARM_EABIMASK) >> 24, - bfd_get_filename (obfd), - (out_flags & EF_ARM_EABIMASK) >> 24); + _bfd_error_handler + (_("ERROR: %B is compiled for EABI version %d, whereas %B is compiled for version %d"), + ibfd, obfd, + (in_flags & EF_ARM_EABIMASK) >> 24, + (out_flags & EF_ARM_EABIMASK) >> 24); return FALSE; } @@ -2523,27 +2513,24 @@ ERROR: %s is compiled for EABI version % { if ((in_flags & EF_ARM_APCS_26) != (out_flags & EF_ARM_APCS_26)) { - _bfd_error_handler (_("\ -ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d"), - bfd_archive_filename (ibfd), - in_flags & EF_ARM_APCS_26 ? 26 : 32, - bfd_get_filename (obfd), - out_flags & EF_ARM_APCS_26 ? 26 : 32); + _bfd_error_handler + (_("ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"), + ibfd, obfd, + in_flags & EF_ARM_APCS_26 ? 26 : 32, + out_flags & EF_ARM_APCS_26 ? 26 : 32); flags_compatible = FALSE; } if ((in_flags & EF_ARM_APCS_FLOAT) != (out_flags & EF_ARM_APCS_FLOAT)) { if (in_flags & EF_ARM_APCS_FLOAT) - _bfd_error_handler (_("\ -ERROR: %s passes floats in float registers, whereas %s passes them in integer registers"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B passes floats in float registers, whereas %B passes them in integer registers"), + ibfd, obfd); else - _bfd_error_handler (_("\ -ERROR: %s passes floats in integer registers, whereas %s passes them in float registers"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B passes floats in integer registers, whereas %B passes them in float registers"), + ibfd, obfd); flags_compatible = FALSE; } @@ -2551,15 +2538,13 @@ ERROR: %s passes floats in integer regis if ((in_flags & EF_ARM_VFP_FLOAT) != (out_flags & EF_ARM_VFP_FLOAT)) { if (in_flags & EF_ARM_VFP_FLOAT) - _bfd_error_handler (_("\ -ERROR: %s uses VFP instructions, whereas %s does not"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B uses VFP instructions, whereas %B does not"), + ibfd, obfd); else - _bfd_error_handler (_("\ -ERROR: %s uses FPA instructions, whereas %s does not"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B uses FPA instructions, whereas %B does not"), + ibfd, obfd); flags_compatible = FALSE; } @@ -2567,15 +2552,13 @@ ERROR: %s uses FPA instructions, whereas if ((in_flags & EF_ARM_MAVERICK_FLOAT) != (out_flags & EF_ARM_MAVERICK_FLOAT)) { if (in_flags & EF_ARM_MAVERICK_FLOAT) - _bfd_error_handler (_("\ -ERROR: %s uses Maverick instructions, whereas %s does not"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B uses Maverick instructions, whereas %B does not"), + ibfd, obfd); else - _bfd_error_handler (_("\ -ERROR: %s does not use Maverick instructions, whereas %s does"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B does not use Maverick instructions, whereas %B does"), + ibfd, obfd); flags_compatible = FALSE; } @@ -2592,15 +2575,13 @@ ERROR: %s does not use Maverick instruct || (in_flags & EF_ARM_VFP_FLOAT) == 0) { if (in_flags & EF_ARM_SOFT_FLOAT) - _bfd_error_handler (_("\ -ERROR: %s uses software FP, whereas %s uses hardware FP"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B uses software FP, whereas %B uses hardware FP"), + ibfd, obfd); else - _bfd_error_handler (_("\ -ERROR: %s uses hardware FP, whereas %s uses software FP"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("ERROR: %B uses hardware FP, whereas %B uses software FP"), + ibfd, obfd); flags_compatible = FALSE; } @@ -2612,17 +2593,15 @@ ERROR: %s uses hardware FP, whereas %s u { if (in_flags & EF_ARM_INTERWORK) { - _bfd_error_handler (_("\ -Warning: %s supports interworking, whereas %s does not"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("Warning: %B supports interworking, whereas %B does not"), + ibfd, obfd); } else { - _bfd_error_handler (_("\ -Warning: %s does not support interworking, whereas %s does"), - bfd_archive_filename (ibfd), - bfd_get_filename (obfd)); + _bfd_error_handler + (_("Warning: %B does not support interworking, whereas %B does"), + ibfd, obfd); } } } @@ -2633,9 +2612,7 @@ Warning: %s does not support interworkin /* Display the flags field. */ static bfd_boolean -elf32_arm_print_private_bfd_data (abfd, ptr) - bfd *abfd; - PTR ptr; +elf32_arm_print_private_bfd_data (bfd *abfd, void * ptr) { FILE * file = (FILE *) ptr; unsigned long flags; @@ -2759,9 +2736,7 @@ elf32_arm_print_private_bfd_data (abfd, } static int -elf32_arm_get_symbol_type (elf_sym, type) - Elf_Internal_Sym * elf_sym; - int type; +elf32_arm_get_symbol_type (Elf_Internal_Sym * elf_sym, int type) { switch (ELF_ST_TYPE (elf_sym->st_info)) { @@ -2785,12 +2760,11 @@ elf32_arm_get_symbol_type (elf_sym, type } static asection * -elf32_arm_gc_mark_hook (sec, info, rel, h, sym) - asection *sec; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - Elf_Internal_Rela *rel; - struct elf_link_hash_entry *h; - Elf_Internal_Sym *sym; +elf32_arm_gc_mark_hook (asection * sec, + struct bfd_link_info * info ATTRIBUTE_UNUSED, + Elf_Internal_Rela * rel, + struct elf_link_hash_entry * h, + Elf_Internal_Sym * sym) { if (h != NULL) { @@ -2824,11 +2798,10 @@ elf32_arm_gc_mark_hook (sec, info, rel, /* Update the got entry reference counts for the section being removed. */ static bfd_boolean -elf32_arm_gc_sweep_hook (abfd, info, sec, relocs) - bfd *abfd ATTRIBUTE_UNUSED; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - asection *sec ATTRIBUTE_UNUSED; - const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED; +elf32_arm_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED, + struct bfd_link_info * info ATTRIBUTE_UNUSED, + asection * sec ATTRIBUTE_UNUSED, + const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; @@ -2836,6 +2809,9 @@ elf32_arm_gc_sweep_hook (abfd, info, sec const Elf_Internal_Rela *rel, *relend; unsigned long r_symndx; struct elf_link_hash_entry *h; + struct elf32_arm_link_hash_table * globals; + + globals = elf32_arm_hash_table (info); elf_section_data (sec)->local_dynrel = NULL; @@ -2845,60 +2821,77 @@ elf32_arm_gc_sweep_hook (abfd, info, sec relend = relocs + sec->reloc_count; for (rel = relocs; rel < relend; rel++) - switch (ELF32_R_TYPE (rel->r_info)) - { - case R_ARM_GOT32: - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - if (h->got.refcount > 0) - h->got.refcount -= 1; - } - else if (local_got_refcounts != NULL) - { - if (local_got_refcounts[r_symndx] > 0) - local_got_refcounts[r_symndx] -= 1; - } - break; + { + int r_type; - case R_ARM_ABS32: - case R_ARM_REL32: - case R_ARM_PC24: - case R_ARM_PLT32: - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { - struct elf32_arm_link_hash_entry *eh; - struct elf32_arm_relocs_copied **pp; - struct elf32_arm_relocs_copied *p; + r_type = ELF32_R_TYPE (rel->r_info); +#ifndef OLD_ARM_ABI + r_type = arm_real_reloc_type (globals, r_type); +#endif + switch (r_type) + { + case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + if (h->got.refcount > 0) + h->got.refcount -= 1; + } + else if (local_got_refcounts != NULL) + { + if (local_got_refcounts[r_symndx] > 0) + local_got_refcounts[r_symndx] -= 1; + } + break; - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + case R_ARM_ABS32: + case R_ARM_REL32: + case R_ARM_PC24: + case R_ARM_PLT32: +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: +#endif + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + struct elf32_arm_link_hash_entry *eh; + struct elf32_arm_relocs_copied **pp; + struct elf32_arm_relocs_copied *p; - if (h->plt.refcount > 0) - h->plt.refcount -= 1; + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32) - { - eh = (struct elf32_arm_link_hash_entry *) h; + if (h->plt.refcount > 0) + h->plt.refcount -= 1; - for (pp = &eh->relocs_copied; (p = *pp) != NULL; - pp = &p->next) - if (p->section == sec) - { - p->count -= 1; - if (p->count == 0) - *pp = p->next; - break; - } - } - } - break; + if (r_type == R_ARM_ABS32 +#ifndef OLD_ARM_ABI + || r_type == R_ARM_PREL31 +#endif + || r_type == R_ARM_REL32) + { + eh = (struct elf32_arm_link_hash_entry *) h; - default: - break; - } + for (pp = &eh->relocs_copied; (p = *pp) != NULL; + pp = &p->next) + if (p->section == sec) + { + p->count -= 1; + if (p->count == 0) + *pp = p->next; + break; + } + } + } + break; + + default: + break; + } + } return TRUE; } @@ -2906,11 +2899,8 @@ elf32_arm_gc_sweep_hook (abfd, info, sec /* Look through the relocs for a section during the first phase. */ static bfd_boolean -elf32_arm_check_relocs (abfd, info, sec, relocs) - bfd *abfd; - struct bfd_link_info *info; - asection *sec; - const Elf_Internal_Rela *relocs; +elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, + asection *sec, const Elf_Internal_Rela *relocs) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; @@ -2944,16 +2934,24 @@ elf32_arm_check_relocs (abfd, info, sec, { struct elf_link_hash_entry *h; unsigned long r_symndx; + int r_type; r_symndx = ELF32_R_SYM (rel->r_info); + r_type = ELF32_R_TYPE (rel->r_info); +#ifndef OLD_ARM_ABI + r_type = arm_real_reloc_type (htab, r_type); +#endif if (r_symndx < symtab_hdr->sh_info) h = NULL; else h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - switch (ELF32_R_TYPE (rel->r_info)) + switch (r_type) { case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif /* This symbol requires a global offset table entry. */ if (h != NULL) { @@ -2970,16 +2968,17 @@ elf32_arm_check_relocs (abfd, info, sec, bfd_size_type size; size = symtab_hdr->sh_info; - size *= (sizeof (bfd_signed_vma) + sizeof(char)); - local_got_refcounts = ((bfd_signed_vma *) - bfd_zalloc (abfd, size)); + size *= (sizeof (bfd_signed_vma) + sizeof (char)); + local_got_refcounts = bfd_zalloc (abfd, size); if (local_got_refcounts == NULL) return FALSE; elf_local_got_refcounts (abfd) = local_got_refcounts; } local_got_refcounts[r_symndx] += 1; } - break; + if (r_type == R_ARM_GOT32) + break; + /* Fall through. */ case R_ARM_GOTOFF: case R_ARM_GOTPC: @@ -2996,6 +2995,9 @@ elf32_arm_check_relocs (abfd, info, sec, case R_ARM_REL32: case R_ARM_PC24: case R_ARM_PLT32: +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: +#endif if (h != NULL) { /* If this reloc is in a read-only section, we might @@ -3005,15 +3007,15 @@ elf32_arm_check_relocs (abfd, info, sec, Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ if (!info->shared) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a different object. We can't tell for sure yet, because something later might force the symbol local. */ - if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24 - || ELF32_R_TYPE (rel->r_info) == R_ARM_PLT32) - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + if (r_type == R_ARM_PC24 + || r_type == R_ARM_PLT32) + h->needs_plt = 1; /* If we create a PLT entry, this relocation will reference it, even if it's an ABS32 relocation. */ @@ -3034,13 +3036,15 @@ elf32_arm_check_relocs (abfd, info, sec, relocs_copied field of the hash table entry. */ if (info->shared && (sec->flags & SEC_ALLOC) != 0 - && ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24 - && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32 - && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32) + && ((r_type != R_ARM_PC24 + && r_type != R_ARM_PLT32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + && r_type != R_ARM_REL32) || (h != NULL && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { struct elf32_arm_relocs_copied *p, **head; @@ -3070,7 +3074,10 @@ elf32_arm_check_relocs (abfd, info, sec, sreloc = bfd_make_section (dynobj, name); flags = (SEC_HAS_CONTENTS | SEC_READONLY | SEC_IN_MEMORY | SEC_LINKER_CREATED); - if ((sec->flags & SEC_ALLOC) != 0) + if ((sec->flags & SEC_ALLOC) != 0 + /* BPABI objects never have dynamic + relocations mapped. */ + && !htab->symbian_p) flags |= SEC_ALLOC | SEC_LOAD; if (sreloc == NULL || ! bfd_set_section_flags (dynobj, sreloc, flags) @@ -3092,21 +3099,22 @@ elf32_arm_check_relocs (abfd, info, sec, /* Track dynamic relocs needed for local syms too. We really need local syms available to do this easily. Oh well. */ - + asection *s; s = bfd_section_from_r_symndx (abfd, &htab->sym_sec, sec, r_symndx); if (s == NULL) return FALSE; - + head = ((struct elf32_arm_relocs_copied **) &elf_section_data (s)->local_dynrel); } - + p = *head; if (p == NULL || p->section != sec) { bfd_size_type amt = sizeof *p; + p = bfd_alloc (htab->root.dynobj, amt); if (p == NULL) return FALSE; @@ -3115,9 +3123,12 @@ elf32_arm_check_relocs (abfd, info, sec, p->section = sec; p->count = 0; } - - if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32) + + if (r_type == R_ARM_ABS32 +#ifndef OLD_ARM_ABI + || r_type == R_ARM_PREL31 +#endif + || r_type == R_ARM_REL32) p->count += 1; } break; @@ -3141,48 +3152,31 @@ elf32_arm_check_relocs (abfd, info, sec, return TRUE; } -/* Find the nearest line to a particular section and offset, for error - reporting. This code is a duplicate of the code in elf.c, except - that it also accepts STT_ARM_TFUNC as a symbol that names a function. */ - static bfd_boolean -elf32_arm_find_nearest_line - (abfd, section, symbols, offset, filename_ptr, functionname_ptr, line_ptr) - bfd *abfd; - asection *section; - asymbol **symbols; - bfd_vma offset; - const char **filename_ptr; - const char **functionname_ptr; - unsigned int *line_ptr; -{ - bfd_boolean found; - const char *filename; - asymbol *func; - bfd_vma low_func; - asymbol **p; - - if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset, - filename_ptr, functionname_ptr, - line_ptr, 0, - &elf_tdata (abfd)->dwarf2_find_line_info)) - return TRUE; - - if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, - &found, filename_ptr, - functionname_ptr, line_ptr, - &elf_tdata (abfd)->line_info)) - return FALSE; +is_arm_mapping_symbol_name (const char * name) +{ + return (name != NULL) + && (name[0] == '$') + && ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd')) + && (name[2] == 0); +} - if (found) - return TRUE; +/* This is a copy of elf_find_function() from elf.c except that + ARM mapping symbols are ignored when looking for function names + and STT_ARM_TFUNC is considered to a function type. */ - if (symbols == NULL) - return FALSE; - - filename = NULL; - func = NULL; - low_func = 0; +static bfd_boolean +arm_elf_find_function (bfd * abfd ATTRIBUTE_UNUSED, + asection * section, + asymbol ** symbols, + bfd_vma offset, + const char ** filename_ptr, + const char ** functionname_ptr) +{ + const char * filename = NULL; + asymbol * func = NULL; + bfd_vma low_func = 0; + asymbol ** p; for (p = symbols; *p != NULL; p++) { @@ -3200,9 +3194,14 @@ elf32_arm_find_nearest_line case STT_FILE: filename = bfd_asymbol_name (&q->symbol); break; - case STT_NOTYPE: case STT_FUNC: case STT_ARM_TFUNC: + /* Skip $a and $t symbols. */ + if ((q->symbol.flags & BSF_LOCAL) + && is_arm_mapping_symbol_name (q->symbol.name)) + continue; + /* Fall through. */ + case STT_NOTYPE: if (q->symbol.section == section && q->symbol.value >= low_func && q->symbol.value <= offset) @@ -3217,10 +3216,62 @@ elf32_arm_find_nearest_line if (func == NULL) return FALSE; - *filename_ptr = filename; - *functionname_ptr = bfd_asymbol_name (func); - *line_ptr = 0; + if (filename_ptr) + *filename_ptr = filename; + if (functionname_ptr) + *functionname_ptr = bfd_asymbol_name (func); + + return TRUE; +} + + +/* Find the nearest line to a particular section and offset, for error + reporting. This code is a duplicate of the code in elf.c, except + that it uses arm_elf_find_function. */ + +static bfd_boolean +elf32_arm_find_nearest_line (bfd * abfd, + asection * section, + asymbol ** symbols, + bfd_vma offset, + const char ** filename_ptr, + const char ** functionname_ptr, + unsigned int * line_ptr) +{ + bfd_boolean found = FALSE; + + /* We skip _bfd_dwarf1_find_nearest_line since no known ARM toolchain uses it. */ + + if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset, + filename_ptr, functionname_ptr, + line_ptr, 0, + & elf_tdata (abfd)->dwarf2_find_line_info)) + { + if (!*functionname_ptr) + arm_elf_find_function (abfd, section, symbols, offset, + *filename_ptr ? NULL : filename_ptr, + functionname_ptr); + + return TRUE; + } + + if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, + & found, filename_ptr, + functionname_ptr, line_ptr, + & elf_tdata (abfd)->line_info)) + return FALSE; + + if (found && (*functionname_ptr || *line_ptr)) + return TRUE; + if (symbols == NULL) + return FALSE; + + if (! arm_elf_find_function (abfd, section, symbols, offset, + filename_ptr, functionname_ptr)) + return FALSE; + + *line_ptr = 0; return TRUE; } @@ -3231,9 +3282,8 @@ elf32_arm_find_nearest_line understand. */ static bfd_boolean -elf32_arm_adjust_dynamic_symbol (info, h) - struct bfd_link_info * info; - struct elf_link_hash_entry * h; +elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info, + struct elf_link_hash_entry * h) { bfd * dynobj; asection * s; @@ -3243,20 +3293,17 @@ elf32_arm_adjust_dynamic_symbol (info, h /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -3269,7 +3316,7 @@ elf32_arm_adjust_dynamic_symbol (info, h such a case, we don't actually need to build a procedure linkage table, and we can just do a PC24 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -3285,12 +3332,12 @@ elf32_arm_adjust_dynamic_symbol (info, h /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3327,7 +3374,7 @@ elf32_arm_adjust_dynamic_symbol (info, h srel = bfd_get_section_by_name (dynobj, ".rel.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rel); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3358,9 +3405,7 @@ elf32_arm_adjust_dynamic_symbol (info, h dynamic relocs. */ static bfd_boolean -allocate_dynrelocs (h, inf) - struct elf_link_hash_entry *h; - PTR inf; +allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) { struct bfd_link_info *info; struct elf32_arm_link_hash_table *htab; @@ -3385,7 +3430,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3399,7 +3444,7 @@ allocate_dynrelocs (h, inf) /* If this is the first .plt entry, make room for the special first entry. */ if (s->size == 0) - s->size += PLT_HEADER_SIZE; + s->size += htab->plt_header_size; h->plt.offset = s->size; @@ -3409,18 +3454,19 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; } /* Make room for this entry. */ - s->size += PLT_ENTRY_SIZE; + s->size += htab->plt_entry_size; - /* We also need to make an entry in the .got.plt section, which - will be placed in the .got section by the linker script. */ - htab->sgotplt->size += 4; + if (!htab->symbian_p) + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ + htab->sgotplt->size += 4; /* We also need to make an entry in the .rel.plt section. */ htab->srelplt->size += sizeof (Elf32_External_Rel); @@ -3428,13 +3474,13 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -3445,21 +3491,24 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - s = htab->sgot; - h->got.offset = s->size; - s->size += 4; - dyn = htab->root.dynamic_sections_created; - if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak) - && (info->shared - || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))) - htab->srelgot->size += sizeof (Elf32_External_Rel); + if (!htab->symbian_p) + { + s = htab->sgot; + h->got.offset = s->size; + s->size += 4; + dyn = htab->root.dynamic_sections_created; + if ((ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + || h->root.type != bfd_link_hash_undefweak) + && (info->shared + || WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, 0, h))) + htab->srelgot->size += sizeof (Elf32_External_Rel); + } } else h->got.offset = (bfd_vma) -1; @@ -3488,9 +3537,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -3498,7 +3547,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3528,9 +3577,8 @@ allocate_dynrelocs (h, inf) /* Set the sizes of the dynamic sections. */ static bfd_boolean -elf32_arm_size_dynamic_sections (output_bfd, info) - bfd * output_bfd ATTRIBUTE_UNUSED; - struct bfd_link_info * info; +elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info * info) { bfd * dynobj; asection * s; @@ -3621,7 +3669,7 @@ elf32_arm_size_dynamic_sections (output_ /* Allocate global sym .plt and .got entries, and space for global sym dynamic relocs. */ - elf_link_hash_traverse (&htab->root, allocate_dynrelocs, (PTR) info); + elf_link_hash_traverse (& htab->root, allocate_dynrelocs, info); /* The check_relocs and adjust_dynamic_symbol entry points have determined the sizes of the various dynamic sections. Allocate @@ -3750,26 +3798,22 @@ elf32_arm_size_dynamic_sections (output_ dynamic sections here. */ static bfd_boolean -elf32_arm_finish_dynamic_symbol (output_bfd, info, h, sym) - bfd * output_bfd; - struct bfd_link_info * info; - struct elf_link_hash_entry * h; - Elf_Internal_Sym * sym; +elf32_arm_finish_dynamic_symbol (bfd * output_bfd, struct bfd_link_info * info, + struct elf_link_hash_entry * h, Elf_Internal_Sym * sym) { bfd * dynobj; + struct elf32_arm_link_hash_table *htab; dynobj = elf_hash_table (info)->dynobj; + htab = elf32_arm_hash_table (info); if (h->plt.offset != (bfd_vma) -1) { asection * splt; - asection * sgot; asection * srel; + bfd_byte *loc; bfd_vma plt_index; - bfd_vma got_offset; Elf_Internal_Rela rel; - bfd_byte *loc; - bfd_vma got_displacement; /* This symbol has an entry in the procedure linkage table. Set it up. */ @@ -3777,60 +3821,84 @@ elf32_arm_finish_dynamic_symbol (output_ BFD_ASSERT (h->dynindx != -1); splt = bfd_get_section_by_name (dynobj, ".plt"); - sgot = bfd_get_section_by_name (dynobj, ".got.plt"); srel = bfd_get_section_by_name (dynobj, ".rel.plt"); - BFD_ASSERT (splt != NULL && sgot != NULL && srel != NULL); + BFD_ASSERT (splt != NULL && srel != NULL); /* Get the index in the procedure linkage table which corresponds to this symbol. This is the index of this symbol in all the symbols for which we are making plt entries. The first entry in the procedure linkage table is reserved. */ - plt_index = (h->plt.offset - PLT_HEADER_SIZE) / PLT_ENTRY_SIZE; + plt_index = ((h->plt.offset - htab->plt_header_size) + / htab->plt_entry_size); - /* Get the offset into the .got table of the entry that - corresponds to this function. Each .got entry is 4 bytes. - The first three are reserved. */ - got_offset = (plt_index + 3) * 4; - - /* Calculate the displacement between the PLT slot and the - entry in the GOT. */ - got_displacement = (sgot->output_section->vma - + sgot->output_offset - + got_offset - - splt->output_section->vma - - splt->output_offset - - h->plt.offset - - 8); + /* Fill in the entry in the procedure linkage table. */ + if (htab->symbian_p) + { + unsigned i; + for (i = 0; i < htab->plt_entry_size / 4; ++i) + bfd_put_32 (output_bfd, + elf32_arm_symbian_plt_entry[i], + splt->contents + h->plt.offset + 4 * i); + + /* Fill in the entry in the .rel.plt section. */ + rel.r_offset = (splt->output_offset + + h->plt.offset + 4 * (i - 1)); + rel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_GLOB_DAT); + } + else + { + bfd_vma got_offset; + bfd_vma got_displacement; + asection * sgot; + + sgot = bfd_get_section_by_name (dynobj, ".got.plt"); + BFD_ASSERT (sgot != NULL); - BFD_ASSERT ((got_displacement & 0xf0000000) == 0); + /* Get the offset into the .got table of the entry that + corresponds to this function. Each .got entry is 4 bytes. + The first three are reserved. */ + got_offset = (plt_index + 3) * 4; - /* Fill in the entry in the procedure linkage table. */ - bfd_put_32 (output_bfd, elf32_arm_plt_entry[0] | ((got_displacement & 0x0ff00000) >> 20), - splt->contents + h->plt.offset + 0); - bfd_put_32 (output_bfd, elf32_arm_plt_entry[1] | ((got_displacement & 0x000ff000) >> 12), - splt->contents + h->plt.offset + 4); - bfd_put_32 (output_bfd, elf32_arm_plt_entry[2] | (got_displacement & 0x00000fff), - splt->contents + h->plt.offset + 8); + /* Calculate the displacement between the PLT slot and the + entry in the GOT. */ + got_displacement = (sgot->output_section->vma + + sgot->output_offset + + got_offset + - splt->output_section->vma + - splt->output_offset + - h->plt.offset + - 8); + + BFD_ASSERT ((got_displacement & 0xf0000000) == 0); + + bfd_put_32 (output_bfd, elf32_arm_plt_entry[0] | ((got_displacement & 0x0ff00000) >> 20), + splt->contents + h->plt.offset + 0); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[1] | ((got_displacement & 0x000ff000) >> 12), + splt->contents + h->plt.offset + 4); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[2] | (got_displacement & 0x00000fff), + splt->contents + h->plt.offset + 8); #ifdef FOUR_WORD_PLT - bfd_put_32 (output_bfd, elf32_arm_plt_entry[3], - splt->contents + h->plt.offset + 12); + bfd_put_32 (output_bfd, elf32_arm_plt_entry[3], + splt->contents + h->plt.offset + 12); #endif - /* Fill in the entry in the global offset table. */ - bfd_put_32 (output_bfd, - (splt->output_section->vma - + splt->output_offset), - sgot->contents + got_offset); - - /* Fill in the entry in the .rel.plt section. */ - rel.r_offset = (sgot->output_section->vma - + sgot->output_offset - + got_offset); - rel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_JUMP_SLOT); + /* Fill in the entry in the global offset table. */ + bfd_put_32 (output_bfd, + (splt->output_section->vma + + splt->output_offset), + sgot->contents + got_offset); + + /* Fill in the entry in the .rel.plt section. */ + rel.r_offset = (sgot->output_section->vma + + sgot->output_offset + + got_offset); + rel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_JUMP_SLOT); + } + loc = srel->contents + plt_index * sizeof (Elf32_External_Rel); bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3839,8 +3907,7 @@ elf32_arm_finish_dynamic_symbol (output_ Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -3884,7 +3951,7 @@ elf32_arm_finish_dynamic_symbol (output_ bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection * s; Elf_Internal_Rela rel; @@ -3918,9 +3985,7 @@ elf32_arm_finish_dynamic_symbol (output_ /* Finish up the dynamic sections. */ static bfd_boolean -elf32_arm_finish_dynamic_sections (output_bfd, info) - bfd * output_bfd; - struct bfd_link_info * info; +elf32_arm_finish_dynamic_sections (bfd * output_bfd, struct bfd_link_info * info) { bfd * dynobj; asection * sgot; @@ -3929,14 +3994,16 @@ elf32_arm_finish_dynamic_sections (outpu dynobj = elf_hash_table (info)->dynobj; sgot = bfd_get_section_by_name (dynobj, ".got.plt"); - BFD_ASSERT (sgot != NULL); + BFD_ASSERT (elf32_arm_hash_table (info)->symbian_p || sgot != NULL); sdyn = bfd_get_section_by_name (dynobj, ".dynamic"); if (elf_hash_table (info)->dynamic_sections_created) { asection *splt; Elf32_External_Dyn *dyncon, *dynconend; + struct elf32_arm_link_hash_table *htab; + htab = elf32_arm_hash_table (info); splt = bfd_get_section_by_name (dynobj, ".plt"); BFD_ASSERT (splt != NULL && sdyn != NULL); @@ -3953,9 +4020,21 @@ elf32_arm_finish_dynamic_sections (outpu switch (dyn.d_tag) { + unsigned int type; + default: break; + case DT_HASH: + name = ".hash"; + goto get_vma_if_bpabi; + case DT_STRTAB: + name = ".dynstr"; + goto get_vma_if_bpabi; + case DT_SYMTAB: + name = ".dynsym"; + goto get_vma_if_bpabi; + case DT_PLTGOT: name = ".got"; goto get_vma; @@ -3964,31 +4043,81 @@ elf32_arm_finish_dynamic_sections (outpu get_vma: s = bfd_get_section_by_name (output_bfd, name); BFD_ASSERT (s != NULL); - dyn.d_un.d_ptr = s->vma; + if (!htab->symbian_p) + dyn.d_un.d_ptr = s->vma; + else + /* In the BPABI, tags in the PT_DYNAMIC section point + at the file offset, not the memory address, for the + convenience of the post linker. */ + dyn.d_un.d_ptr = s->filepos; bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); break; + get_vma_if_bpabi: + if (htab->symbian_p) + goto get_vma; + break; + case DT_PLTRELSZ: s = bfd_get_section_by_name (output_bfd, ".rel.plt"); BFD_ASSERT (s != NULL); dyn.d_un.d_val = s->size; bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); break; - + case DT_RELSZ: - /* My reading of the SVR4 ABI indicates that the - procedure linkage table relocs (DT_JMPREL) should be - included in the overall relocs (DT_REL). This is - what Solaris does. However, UnixWare can not handle - that case. Therefore, we override the DT_RELSZ entry - here to make it not include the JMPREL relocs. Since - the linker script arranges for .rel.plt to follow all - other relocation sections, we don't have to worry - about changing the DT_REL entry. */ - s = bfd_get_section_by_name (output_bfd, ".rel.plt"); - if (s != NULL) - dyn.d_un.d_val -= s->size; - bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + if (!htab->symbian_p) + { + /* My reading of the SVR4 ABI indicates that the + procedure linkage table relocs (DT_JMPREL) should be + included in the overall relocs (DT_REL). This is + what Solaris does. However, UnixWare can not handle + that case. Therefore, we override the DT_RELSZ entry + here to make it not include the JMPREL relocs. Since + the linker script arranges for .rel.plt to follow all + other relocation sections, we don't have to worry + about changing the DT_REL entry. */ + s = bfd_get_section_by_name (output_bfd, ".rel.plt"); + if (s != NULL) + dyn.d_un.d_val -= s->size; + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + break; + } + /* Fall through */ + + case DT_REL: + case DT_RELA: + case DT_RELASZ: + /* In the BPABI, the DT_REL tag must point at the file + offset, not the VMA, of the first relocation + section. So, we use code similar to that in + elflink.c, but do not check for SHF_ALLOC on the + relcoation section, since relocations sections are + never allocated under the BPABI. The comments above + about Unixware notwithstanding, we include all of the + relocations here. */ + if (htab->symbian_p) + { + unsigned int i; + type = ((dyn.d_tag == DT_REL || dyn.d_tag == DT_RELSZ) + ? SHT_REL : SHT_RELA); + dyn.d_un.d_val = 0; + for (i = 1; i < elf_numsections (output_bfd); i++) + { + Elf_Internal_Shdr *hdr + = elf_elfsections (output_bfd)[i]; + if (hdr->sh_type == type) + { + if (dyn.d_tag == DT_RELSZ + || dyn.d_tag == DT_RELASZ) + dyn.d_un.d_val += hdr->sh_size; + else if (dyn.d_un.d_val == 0 + || hdr->sh_offset < dyn.d_un.d_val) + dyn.d_un.d_val = hdr->sh_offset; + } + } + bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon); + } break; /* Set the bottom bit of DT_INIT/FINI if the @@ -4019,7 +4148,7 @@ elf32_arm_finish_dynamic_sections (outpu } /* Fill in the first entry in the procedure linkage table. */ - if (splt->size > 0) + if (splt->size > 0 && elf32_arm_hash_table (info)->plt_header_size) { bfd_vma got_displacement; @@ -4049,27 +4178,28 @@ elf32_arm_finish_dynamic_sections (outpu } /* Fill in the first three entries in the global offset table. */ - if (sgot->size > 0) + if (sgot) { - if (sdyn == NULL) - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents); - else - bfd_put_32 (output_bfd, - sdyn->output_section->vma + sdyn->output_offset, - sgot->contents); - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 4); - bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 8); - } + if (sgot->size > 0) + { + if (sdyn == NULL) + bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents); + else + bfd_put_32 (output_bfd, + sdyn->output_section->vma + sdyn->output_offset, + sgot->contents); + bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 4); + bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents + 8); + } - elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4; + elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4; + } return TRUE; } static void -elf32_arm_post_process_headers (abfd, link_info) - bfd * abfd; - struct bfd_link_info * link_info ATTRIBUTE_UNUSED; +elf32_arm_post_process_headers (bfd * abfd, struct bfd_link_info * link_info ATTRIBUTE_UNUSED) { Elf_Internal_Ehdr * i_ehdrp; /* ELF file header, internal form. */ struct elf32_arm_link_hash_table *globals; @@ -4088,8 +4218,7 @@ elf32_arm_post_process_headers (abfd, li } static enum elf_reloc_type_class -elf32_arm_reloc_type_class (rela) - const Elf_Internal_Rela *rela; +elf32_arm_reloc_type_class (const Elf_Internal_Rela *rela) { switch ((int) ELF32_R_TYPE (rela->r_info)) { @@ -4104,15 +4233,13 @@ elf32_arm_reloc_type_class (rela) } } -static bfd_boolean elf32_arm_section_flags PARAMS ((flagword *, const Elf_Internal_Shdr *)); -static void elf32_arm_final_write_processing PARAMS ((bfd *, bfd_boolean)); +static bfd_boolean elf32_arm_section_flags (flagword *, const Elf_Internal_Shdr *); +static void elf32_arm_final_write_processing (bfd *, bfd_boolean); /* Set the right machine number for an Arm ELF file. */ static bfd_boolean -elf32_arm_section_flags (flags, hdr) - flagword *flags; - const Elf_Internal_Shdr *hdr; +elf32_arm_section_flags (flagword *flags, const Elf_Internal_Shdr *hdr) { if (hdr->sh_type == SHT_NOTE) *flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_SAME_CONTENTS; @@ -4121,9 +4248,7 @@ elf32_arm_section_flags (flags, hdr) } static void -elf32_arm_final_write_processing (abfd, linker) - bfd *abfd; - bfd_boolean linker ATTRIBUTE_UNUSED; +elf32_arm_final_write_processing (bfd *abfd, bfd_boolean linker ATTRIBUTE_UNUSED) { bfd_arm_update_notes (abfd, ARM_NOTE_SECTION); } @@ -4153,11 +4278,7 @@ elf32_arm_output_symbol_hook (struct bfd return TRUE; /* We only want mapping symbols. */ - if (name == NULL - || name[0] != '$' - || (name[1] != 'a' - && name[1] != 't' - && name[1] != 'd')) + if (! is_arm_mapping_symbol_name (name)) return TRUE; mapcount = ++(elf32_arm_section_data (input_sec)->mapcount); @@ -4166,7 +4287,7 @@ elf32_arm_output_symbol_hook (struct bfd mapping symbols per section. */ map = bfd_realloc (map, mapcount * sizeof (elf32_arm_section_map)); elf32_arm_section_data (input_sec)->map = map; - + map[mapcount - 1].vma = elfsym->st_value; map[mapcount - 1].type = name[1]; return TRUE; @@ -4214,7 +4335,7 @@ elf32_arm_write_section (bfd *output_bfd bfd_vma offset; bfd_byte tmp; int i; - + mapcount = elf32_arm_section_data (sec)->mapcount; map = elf32_arm_section_data (sec)->map; @@ -4232,7 +4353,7 @@ elf32_arm_write_section (bfd *output_bfd end = sec->size; else end = map[i + 1].vma - offset; - + switch (map[i].type) { case 'a': @@ -4318,4 +4439,3 @@ elf32_arm_write_section (bfd *output_bfd #define elf_backend_got_header_size 12 #include "elf32-target.h" - diff -uprN binutils-2.15.91.0.2/bfd/elf32-cris.c binutils-2.15.92.0.2/bfd/elf32-cris.c --- binutils-2.15.91.0.2/bfd/elf32-cris.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-cris.c 2004-09-27 13:46:06.000000000 -0700 @@ -905,8 +905,7 @@ cris_elf_relocate_section (output_bfd, i other targets. */ if (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (input_section->flags & SEC_ALLOC) != 0 && (r_type == R_CRIS_8 || r_type == R_CRIS_16 @@ -918,11 +917,11 @@ cris_elf_relocate_section (output_bfd, i else if (unresolved_reloc) { _bfd_error_handler - (_("%s: unresolvable relocation %s against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), + (_("%B(%A): unresolvable relocation %s against symbol `%s'"), + input_bfd, + input_section, cris_elf_howto_table[r_type].name, - symname, - bfd_get_section_name (input_bfd, input_section)); + symname); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -967,22 +966,21 @@ cris_elf_relocate_section (output_bfd, i if (h != NULL && (h->got.offset == (bfd_vma) -1 || (!info->shared - && !((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0 - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && h->root.type == bfd_link_hash_undefweak))))) + && !(h->def_regular + || (!h->def_dynamic + && h->root.type == bfd_link_hash_undefweak))))) { (*_bfd_error_handler) ((h->got.offset == (bfd_vma) -1) - ? _("%s: No PLT nor GOT for relocation %s against\ - symbol `%s' from %s section") - : _("%s: No PLT for relocation %s against\ - symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), + ? _("%B(%A): No PLT nor GOT for relocation %s" + " against symbol `%s'") + : _("%B(%A): No PLT for relocation %s" + " against symbol `%s'"), + input_bfd, + input_section, cris_elf_howto_table[r_type].name, - symname[0] != '\0' ? symname : _("[whose name is lost]"), - bfd_get_section_name (input_bfd, input_section)); + (symname != NULL && symname[0] != '\0' + ? symname : _("[whose name is lost]"))); /* FIXME: Perhaps blaming input is not the right thing to do; this is probably an internal error. But it is true @@ -1010,13 +1008,12 @@ cris_elf_relocate_section (output_bfd, i if (!elf_hash_table (info)->dynamic_sections_created || (! info->shared - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (h->def_regular || h->type == STT_FUNC - || (h->elf_link_hash_flags - & ELF_LINK_HASH_NEEDS_PLT))) + || h->needs_plt)) || (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This wasn't checked above for ! info->shared, but must hold there if we get here; the symbol must @@ -1024,11 +1021,9 @@ cris_elf_relocate_section (output_bfd, i or be a function or otherwise need a PLT. */ BFD_ASSERT (!elf_hash_table (info)->dynamic_sections_created || info->shared - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0 + || h->def_regular || h->type == STT_FUNC - || (h->elf_link_hash_flags - & ELF_LINK_HASH_NEEDS_PLT) + || h->needs_plt || h->root.type == bfd_link_hash_undefweak); /* This is actually a static link, or it is a @@ -1103,19 +1098,21 @@ cris_elf_relocate_section (output_bfd, i allowed to pass us these kinds of things. */ if (h == NULL) (*_bfd_error_handler) - (_("%s: relocation %s with non-zero addend %d against local symbol from %s section"), - bfd_archive_filename (input_bfd), + (_("%B(%A): relocation %s with non-zero addend %d" + " against local symbol"), + input_bfd, + input_section, cris_elf_howto_table[r_type].name, - rel->r_addend, - bfd_get_section_name (input_bfd, input_section)); + rel->r_addend); else (*_bfd_error_handler) - (_("%s: relocation %s with non-zero addend %d against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), + (_("%B(%A): relocation %s with non-zero addend %d" + " against symbol `%s'"), + input_bfd, + input_section, cris_elf_howto_table[r_type].name, rel->r_addend, - symname[0] != '\0' ? symname : _("[whose name is lost]"), - bfd_get_section_name (input_bfd, input_section)); + symname[0] != '\0' ? symname : _("[whose name is lost]")); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -1130,16 +1127,16 @@ cris_elf_relocate_section (output_bfd, i if (h != NULL && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !(!info->shared - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && (h->def_regular + || (!h->def_dynamic && h->root.type == bfd_link_hash_undefweak)))) { (*_bfd_error_handler) - (_("%s: relocation %s is not allowed for global symbol: `%s' from %s section"), - bfd_archive_filename (input_bfd), + (_("%B(%A): relocation %s is not allowed for global symbol: `%s'"), + input_bfd, + input_section, cris_elf_howto_table[r_type].name, - symname, - bfd_get_section_name (input_bfd, input_section)); + symname); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -1150,10 +1147,10 @@ cris_elf_relocate_section (output_bfd, i if (sgot == NULL) { (*_bfd_error_handler) - (_("%s: relocation %s in section %s with no GOT created"), - bfd_archive_filename (input_bfd), - cris_elf_howto_table[r_type].name, - bfd_get_section_name (input_bfd, input_section)); + (_("%B: relocation %s in section %A with no GOT created"), + input_bfd, + input_section, + cris_elf_howto_table[r_type].name); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -1233,8 +1230,7 @@ cris_elf_relocate_section (output_bfd, i && r_type != R_CRIS_16_PCREL && r_type != R_CRIS_32_PCREL) || (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1269,8 +1265,8 @@ cris_elf_relocate_section (output_bfd, i if (sreloc == NULL) { (*_bfd_error_handler) - (_("%s: Internal inconsistency; no relocation section %s"), - bfd_archive_filename (input_bfd), + (_("%B: Internal inconsistency; no relocation section %s"), + input_bfd, name); bfd_set_error (bfd_error_bad_value); @@ -1297,8 +1293,7 @@ cris_elf_relocate_section (output_bfd, i become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -1512,7 +1507,7 @@ elf_cris_finish_dynamic_symbol (output_b bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1526,8 +1521,7 @@ elf_cris_finish_dynamic_symbol (output_b Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -1541,7 +1535,7 @@ elf_cris_finish_dynamic_symbol (output_b && (info->shared || (h->dynindx != -1 && h->plt.offset == (bfd_vma) -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && !h->def_regular && h->root.type != bfd_link_hash_undefweak))) { asection *sgot; @@ -1569,7 +1563,7 @@ elf_cris_finish_dynamic_symbol (output_b if (! elf_hash_table (info)->dynamic_sections_created || (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { rela.r_info = ELF32_R_INFO (0, R_CRIS_RELATIVE); rela.r_addend = bfd_get_signed_32 (output_bfd, where); @@ -1586,7 +1580,7 @@ elf_cris_finish_dynamic_symbol (output_b bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -1913,7 +1907,7 @@ elf_cris_adjust_gotplt_to_got (h, p) Probably not necessary at this stage, but keeping it accurate helps avoiding surprises later. */ h->root.got.refcount += h->gotplt_refcount; - h->gotplt_refcount = -1; + h->gotplt_refcount = 0; } else { @@ -1925,7 +1919,7 @@ elf_cris_adjust_gotplt_to_got (h, p) /* Put an accurate refcount there. */ h->root.got.refcount = h->gotplt_refcount; - h->gotplt_refcount = -1; + h->gotplt_refcount = 0; /* We always have a .got and a .rela.got section if there were GOTPLT relocs in input. */ @@ -2029,20 +2023,17 @@ elf_cris_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* If we link a program (not a DSO), we'll get rid of unnecessary PLT entries; we point to the actual symbols -- even for pic @@ -2051,15 +2042,15 @@ elf_cris_adjust_dynamic_symbol (info, h) symbols. FIXME: m68k and i386 differ here, for unclear reasons. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + && !h->def_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was not defined by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do an absolute or PC reloc instead, or change a .got.plt index to a .got index for GOTPLT relocs. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + BFD_ASSERT (h->needs_plt); + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return elf_cris_adjust_gotplt_to_got ((struct @@ -2080,7 +2071,7 @@ elf_cris_adjust_dynamic_symbol (info, h) /* GC or folding may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -2104,7 +2095,7 @@ elf_cris_adjust_dynamic_symbol (info, h) not generating a shared library, then set the symbol to this location in the .plt. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -2171,12 +2162,12 @@ elf_cris_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2192,7 +2183,7 @@ elf_cris_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -2219,7 +2210,7 @@ elf_cris_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* Historic precedent: m68k and i386 allow max 8-byte alignment for the @@ -2466,12 +2457,16 @@ cris_elf_check_relocs (abfd, info, sec, don't need to generate a procedure linkage table entry after all. */ - /* If this is a local symbol, we resolve it directly without - creating a procedure linkage table entry. */ - if (h == NULL || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) + /* Beware: if we'd check for visibility of the symbol here + (and not marking the need for a PLT when non-visible), we'd + get into trouble with keeping handling consistent with + regards to relocs found before definition and GOTPLT + handling. Eliminable PLT entries will be dealt with later + anyway. */ + if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -2491,9 +2486,9 @@ cris_elf_check_relocs (abfd, info, sec, { /* FIXME: How do we make this optionally a warning only? */ (*_bfd_error_handler) - (_("%s, section %s:\n relocation %s should not be used in a shared object; recompile with -fPIC"), - bfd_archive_filename (abfd), - sec->name, + (_("%B, section %A:\n relocation %s should not be used in a shared object; recompile with -fPIC"), + abfd, + sec, cris_elf_howto_table[r_type].name); } /* Fall through. */ @@ -2503,7 +2498,7 @@ cris_elf_check_relocs (abfd, info, sec, case R_CRIS_32_PCREL: if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* Make sure a plt entry is created for this symbol if it turns out to be a function defined by a dynamic object. */ @@ -2551,7 +2546,7 @@ cris_elf_check_relocs (abfd, info, sec, we can't identify at this time. */ if (info->symbolic && h->root.type != bfd_link_hash_defweak - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) + && h->def_regular) break; } @@ -2861,8 +2856,8 @@ elf_cris_discard_excess_dso_dynamics (h, /* If a symbol has been forced local or we have found a regular definition for the symbolic link case, then we won't be needing any relocs. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->root.def_regular + && (h->root.forced_local || info->symbolic)) { for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -2891,7 +2886,7 @@ elf_cris_discard_excess_program_dynamics (or rather, not defined by a DSO) then lose the reloc for the .got (don't allocate room for it). Likewise for relocs for something for which we create a PLT. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + if (!h->root.def_dynamic || h->root.plt.refcount > 0) { if (h->root.got.refcount > 0 @@ -2918,8 +2913,8 @@ elf_cris_discard_excess_program_dynamics introduce new problems. Of course we don't do this if we're exporting all dynamic symbols. */ if (! info->export_dynamic - && (h->root.elf_link_hash_flags - & (ELF_LINK_HASH_DEF_DYNAMIC|ELF_LINK_HASH_REF_DYNAMIC)) == 0) + && !h->root.def_dynamic + && !h->root.ref_dynamic) { h->root.dynindx = -1; _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, @@ -3011,9 +3006,9 @@ cris_elf_merge_private_bfd_data (ibfd, o { (*_bfd_error_handler) ((new_flags & EF_CRIS_UNDERSCORE) - ? _("%s: uses _-prefixed symbols, but writing file with non-prefixed symbols") - : _("%s: uses non-prefixed symbols, but writing file with _-prefixed symbols"), - bfd_archive_filename (ibfd)); + ? _("%B: uses _-prefixed symbols, but writing file with non-prefixed symbols") + : _("%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"), + ibfd); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/elf32-frv.c binutils-2.15.92.0.2/bfd/elf32-frv.c --- binutils-2.15.91.0.2/bfd/elf32-frv.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-frv.c 2004-09-27 13:46:06.000000000 -0700 @@ -2042,9 +2042,8 @@ elf32_frv_relocate_section (output_bfd, rel->r_addend)) { (*_bfd_error_handler) - (_("%s: relocation at `%s+0x%x' references symbol `%s' with nonzero addend"), - bfd_archive_filename (input_bfd), input_section->name, - rel->r_offset, name); + (_("%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"), + input_bfd, input_section, rel->r_offset, name); return FALSE; } @@ -2756,7 +2755,7 @@ _frv_create_got_section (bfd *abfd, stru bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; /* Machine-specific: we want the symbol for executables as @@ -2815,7 +2814,7 @@ _frv_create_got_section (bfd *abfd, stru bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; /* Machine-specific: we want the symbol for executables as well. */ @@ -2870,7 +2869,7 @@ elf32_frvfdpic_create_dynamic_sections ( FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -3678,7 +3677,7 @@ elf32_frvfdpic_always_size_sections (bfd FALSE, FALSE, FALSE); if (! h || h->root.type != bfd_link_hash_defined || h->type != STT_OBJECT - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || !h->def_regular) { struct bfd_link_hash_entry *bh = NULL; @@ -3690,7 +3689,7 @@ elf32_frvfdpic_always_size_sections (bfd return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; } @@ -3866,23 +3865,20 @@ elf32_frvfdpic_adjust_dynamic_symbol /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && (h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; } return TRUE; @@ -4237,8 +4233,8 @@ elf32_frv_check_relocs (abfd, info, sec, default: bad_reloc: (*_bfd_error_handler) - (_("%s: unsupported relocation type %i"), - bfd_archive_filename (abfd), ELF32_R_TYPE (rel->r_info)); + (_("%B: unsupported relocation type %i"), + abfd, ELF32_R_TYPE (rel->r_info)); return FALSE; } } diff -uprN binutils-2.15.91.0.2/bfd/elf32-gen.c binutils-2.15.92.0.2/bfd/elf32-gen.c --- binutils-2.15.91.0.2/bfd/elf32-gen.c 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-gen.c 2004-09-15 12:05:02.000000000 -0700 @@ -80,8 +80,8 @@ elf32_generic_link_add_symbols (abfd, in Elf_Internal_Ehdr *ehdrp; ehdrp = elf_elfheader (abfd); - (*_bfd_error_handler) (_("%s: Relocations in generic ELF (EM: %d)"), - bfd_archive_filename (abfd), + (*_bfd_error_handler) (_("%B: Relocations in generic ELF (EM: %d)"), + abfd, ehdrp->e_machine); bfd_set_error (bfd_error_wrong_format); diff -uprN binutils-2.15.91.0.2/bfd/elf32-hppa.c binutils-2.15.92.0.2/bfd/elf32-hppa.c --- binutils-2.15.91.0.2/bfd/elf32-hppa.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-hppa.c 2004-09-27 13:46:06.000000000 -0700 @@ -539,8 +539,8 @@ hppa_add_stub (const char *stub_name, TRUE, FALSE); if (stub_entry == NULL) { - (*_bfd_error_handler) (_("%s: cannot create stub entry %s"), - bfd_archive_filename (section->owner), + (*_bfd_error_handler) (_("%B: cannot create stub entry %s"), + section->owner, stub_name); return NULL; } @@ -570,7 +570,7 @@ hppa_type_of_stub (asection *input_sec, && hash->elf.dynindx != -1 && !hash->plabel && (info->shared - || !(hash->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !hash->elf.def_regular || hash->elf.root.type == bfd_link_hash_defweak)) { /* We need an import stub. Decide between hppa_stub_import @@ -792,9 +792,9 @@ hppa_build_one_stub (struct bfd_hash_ent || sym_value - 8 + (1 << (22 + 1)) >= (1 << (22 + 2)))) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections"), - bfd_archive_filename (stub_entry->target_section->owner), - stub_sec->name, + (_("%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"), + stub_entry->target_section->owner, + stub_sec, (long) stub_entry->stub_offset, stub_entry->root.string); bfd_set_error (bfd_error_bad_value); @@ -901,6 +901,14 @@ elf32_hppa_object_p (bfd *abfd) i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */ return FALSE; } + else if (strcmp (bfd_get_target (abfd), "elf32-hppa-netbsd") == 0) + { + /* GCC on hppa-netbsd produces binaries with OSABI=NetBSD, + but the kernel produces corefiles with OSABI=SysV. */ + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NETBSD && + i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */ + return FALSE; + } else { if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_HPUX) @@ -1011,15 +1019,16 @@ elf32_hppa_copy_indirect_symbol (const s if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -1164,8 +1173,8 @@ elf32_hppa_check_relocs (bfd *abfd, if (info->shared) { (*_bfd_error_handler) - (_("%s: relocation %s can not be used when making a shared object; recompile with -fPIC"), - bfd_archive_filename (abfd), + (_("%B: relocation %s can not be used when making a shared object; recompile with -fPIC"), + abfd, elf_hppa_howto_table[r_type].name); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -1184,8 +1193,8 @@ elf32_hppa_check_relocs (bfd *abfd, if (info->shared) { (*_bfd_error_handler) - (_("%s: relocation %s should not be used when making a shared object; recompile with -fPIC"), - bfd_archive_filename (abfd), + (_("%B: relocation %s should not be used when making a shared object; recompile with -fPIC"), + abfd, elf_hppa_howto_table[r_type].name); } /* Fall through. */ @@ -1270,7 +1279,7 @@ elf32_hppa_check_relocs (bfd *abfd, { if (h != NULL) { - h->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->elf.needs_plt = 1; h->elf.plt.refcount += 1; /* If this .plt entry is for a plabel, mark it so @@ -1311,7 +1320,7 @@ elf32_hppa_check_relocs (bfd *abfd, so that we generate copy relocs if it turns out to be dynamic. */ if (h != NULL && !info->shared) - h->elf.elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->elf.non_got_ref = 1; /* If we are creating a shared library then we need to copy the reloc into the shared library. However, if we are @@ -1347,15 +1356,13 @@ elf32_hppa_check_relocs (bfd *abfd, || (h != NULL && (!info->symbolic || h->elf.root.type == bfd_link_hash_defweak - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->elf.def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->elf.root.type == bfd_link_hash_defweak - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->elf.def_regular))) { struct elf32_hppa_dyn_reloc_entry *p; struct elf32_hppa_dyn_reloc_entry **head; @@ -1603,7 +1610,7 @@ elf32_hppa_hide_symbol (struct bfd_link_ { if (force_local) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; if (h->dynindx != -1) { h->dynindx = -1; @@ -1614,8 +1621,8 @@ elf32_hppa_hide_symbol (struct bfd_link_ if (! ((struct elf32_hppa_link_hash_entry *) h)->plabel) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; - h->plt.offset = (bfd_vma) -1; + h->needs_plt = 0; + h->plt = elf_hash_table (info)->init_refcount; } } @@ -1636,10 +1643,10 @@ elf32_hppa_adjust_dynamic_symbol (struct /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + || (h->def_regular && h->root.type != bfd_link_hash_defweak && ! ((struct elf32_hppa_link_hash_entry *) h)->plabel && (!info->shared || info->symbolic))) @@ -1653,7 +1660,7 @@ elf32_hppa_adjust_dynamic_symbol (struct application or we are doing a shared symbolic link. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1664,17 +1671,15 @@ elf32_hppa_adjust_dynamic_symbol (struct /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - if (h->weakdef->root.type != bfd_link_hash_defined - && h->weakdef->root.type != bfd_link_hash_defweak) + if (h->u.weakdef->root.type != bfd_link_hash_defined + && h->u.weakdef->root.type != bfd_link_hash_defweak) abort (); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1690,7 +1695,7 @@ elf32_hppa_adjust_dynamic_symbol (struct /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -1710,7 +1715,7 @@ elf32_hppa_adjust_dynamic_symbol (struct we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1733,7 +1738,7 @@ elf32_hppa_adjust_dynamic_symbol (struct if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1786,7 +1791,7 @@ allocate_plt_static (struct elf_link_has /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1813,13 +1818,13 @@ allocate_plt_static (struct elf_link_has { /* No .plt entry needed. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1864,7 +1869,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1877,7 +1882,7 @@ allocate_dynrelocs (struct elf_link_hash if (htab->elf.dynamic_sections_created && (info->shared || (h->dynindx != -1 - && h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)) + && !h->forced_local))) { htab->srelgot->size += sizeof (Elf32_External_Rela); } @@ -1924,10 +1929,10 @@ allocate_dynrelocs (struct elf_link_hash /* For the non-shared case, discard space for relocs against symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 + if (!h->non_got_ref && ((ELIMINATE_COPY_RELOCS - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1935,7 +1940,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1979,7 +1984,7 @@ clobber_millicode_symbols (struct elf_li h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->type == STT_PARISC_MILLI - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { elf32_hppa_hide_symbol (info, h, TRUE); } @@ -2538,8 +2543,8 @@ get_local_syms (bfd *output_bfd, bfd *in && (hash->elf.root.u.def.section->output_section->owner == output_bfd) && hash->elf.root.u.def.section->owner == input_bfd - && (hash->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) - && !(hash->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + && hash->elf.def_regular + && !hash->elf.forced_local && ELF_ST_VISIBILITY (hash->elf.other) == STV_DEFAULT) { asection *sec; @@ -2565,8 +2570,8 @@ get_local_syms (bfd *output_bfd, bfd *in } else { - (*_bfd_error_handler) (_("%s: duplicate export stub %s"), - bfd_archive_filename (input_bfd), + (*_bfd_error_handler) (_("%B: duplicate export stub %s"), + input_bfd, stub_name); } } @@ -2899,7 +2904,8 @@ elf32_hppa_set_gp (bfd *abfd, struct bfd if either the .plt or .got is larger than 0x2000. If both the .plt and .got are smaller than 0x2000, choose the end of the .plt section. */ - sec = splt; + sec = strcmp (bfd_get_target (abfd), "elf32-hppa-netbsd") == 0 + ? NULL : splt; if (sec != NULL) { gp_val = sec->size; @@ -2913,10 +2919,13 @@ elf32_hppa_set_gp (bfd *abfd, struct bfd sec = sgot; if (sec != NULL) { - /* We know we don't have a .plt. If .got is large, - offset our LTP. */ - if (sec->size > 0x2000) - gp_val = 0x2000; + if (strcmp (bfd_get_target (abfd), "elf32-hppa-netbsd") != 0) + { + /* We know we don't have a .plt. If .got is large, + offset our LTP. */ + if (sec->size > 0x2000) + gp_val = 0x2000; + } } else { @@ -3092,7 +3101,7 @@ final_link_relocate (asection *input_sec && h->elf.dynindx != -1 && !h->plabel && (info->shared - || !(h->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !h->elf.def_regular || h->elf.root.type == bfd_link_hash_defweak))) { stub_entry = hppa_get_stub_entry (input_section, sym_sec, @@ -3152,9 +3161,9 @@ final_link_relocate (asection *input_sec and convert the associated add instruction, so issue an error. */ (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"), - bfd_archive_filename (input_bfd), - input_section->name, + (_("%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link"), + input_bfd, + input_section, (long) rel->r_offset, howto->name, insn); @@ -3182,9 +3191,9 @@ final_link_relocate (asection *input_sec insn &= ~ (0x1f << 21); #if 0 /* debug them. */ (*_bfd_error_handler) - (_("%s(%s+0x%lx): fixing %s"), - bfd_archive_filename (input_bfd), - input_section->name, + (_("%B(%A+0x%lx): fixing %s"), + input_bfd, + input_section, (long) rel->r_offset, howto->name); #endif @@ -3305,9 +3314,9 @@ final_link_relocate (asection *input_sec && value + addend + max_branch_offset >= 2*max_branch_offset) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections"), - bfd_archive_filename (input_bfd), - input_section->name, + (_("%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections"), + input_bfd, + input_section, (long) rel->r_offset, stub_entry->root.string); bfd_set_error (bfd_error_bad_value); @@ -3678,12 +3687,10 @@ elf32_hppa_relocate_section (bfd *output || (!info->shared && h != NULL && h->elf.dynindx != -1 - && (h->elf.elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 + && !h->elf.non_got_ref && ((ELIMINATE_COPY_RELOCS - && (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->elf.def_dynamic + && !h->elf.def_regular) || h->elf.root.type == bfd_link_hash_undefweak || h->elf.root.type == bfd_link_hash_undefined))) { @@ -3715,8 +3722,7 @@ elf32_hppa_relocate_section (bfd *output || !IS_ABSOLUTE_RELOC (r_type) || !info->shared || !info->symbolic - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->elf.def_regular)) { outrel.r_info = ELF32_R_INFO (h->elf.dynindx, r_type); } @@ -3800,9 +3806,9 @@ elf32_hppa_relocate_section (bfd *output if (r == bfd_reloc_notsupported || !warned_undef) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): cannot handle %s for %s"), - bfd_archive_filename (input_bfd), - input_section->name, + (_("%B(%A+0x%lx): cannot handle %s for %s"), + input_bfd, + input_section, (long) rel->r_offset, howto->name, sym_name); @@ -3882,7 +3888,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *o loc += htab->srelplt->reloc_count++ * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (htab->splt->output_section->owner, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3906,7 +3912,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *o relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF32_R_INFO (0, R_PARISC_DIR32); rel.r_addend = (h->root.u.def.value @@ -3927,7 +3933,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *o bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; @@ -4116,6 +4122,10 @@ elf32_hppa_post_process_headers (bfd *ab { i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_LINUX; } + else if (strcmp (bfd_get_target (abfd), "elf32-hppa-netbsd") == 0) + { + i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_NETBSD; + } else { i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_HPUX; @@ -4185,3 +4195,10 @@ elf32_hppa_elf_get_symbol_type (Elf_Inte #define INCLUDED_TARGET_FILE 1 #include "elf32-target.h" + +#undef TARGET_BIG_SYM +#define TARGET_BIG_SYM bfd_elf32_hppa_nbsd_vec +#undef TARGET_BIG_NAME +#define TARGET_BIG_NAME "elf32-hppa-netbsd" + +#include "elf32-target.h" diff -uprN binutils-2.15.91.0.2/bfd/elf32-i370.c binutils-2.15.92.0.2/bfd/elf32-i370.c --- binutils-2.15.91.0.2/bfd/elf32-i370.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-i370.c 2004-09-27 13:46:06.000000000 -0700 @@ -367,8 +367,8 @@ i370_elf_merge_private_bfd_data (ibfd, o else /* Incompatible flags */ { (*_bfd_error_handler) - ("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)", - bfd_archive_filename (ibfd), (long) new_flags, (long) old_flags); + ("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)", + ibfd, (long) new_flags, (long) old_flags); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -500,14 +500,11 @@ i370_elf_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); s = bfd_get_section_by_name (dynobj, ".rela.text"); BFD_ASSERT (s != NULL); @@ -516,12 +513,12 @@ i370_elf_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -569,7 +566,7 @@ i370_elf_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -891,9 +888,8 @@ i370_elf_check_relocs (abfd, info, sec, return TRUE; #ifdef DEBUG - fprintf (stderr, "i370_elf_check_relocs called for section %s in %s\n", - bfd_get_section_name (abfd, sec), - bfd_archive_filename (abfd)); + _bfd_error_handler ("i370_elf_check_relocs called for section %A in %B", + sec, abfd); #endif dynobj = elf_hash_table (info)->dynobj; @@ -1156,11 +1152,10 @@ i370_elf_relocate_section (output_bfd, i return TRUE; #ifdef DEBUG - fprintf (stderr, "i370_elf_relocate_section called for %s section %s, %ld relocations%s\n", - bfd_archive_filename (input_bfd), - bfd_section_name(input_bfd, input_section), - (long) input_section->reloc_count, - (info->relocatable) ? " (relocatable)" : ""); + _bfd_error_handler ("i370_elf_relocate_section called for %B section %A, %ld relocations%s", + input_bfd, input_section, + (long) input_section->reloc_count, + (info->relocatable) ? " (relocatable)" : ""); #endif if (!i370_elf_howto_table[ R_I370_ADDR31 ]) /* Initialize howto table if needed */ @@ -1186,8 +1181,8 @@ i370_elf_relocate_section (output_bfd, i if ((unsigned)r_type >= (unsigned)R_I370_max || !i370_elf_howto_table[(int)r_type]) { - (*_bfd_error_handler) ("%s: unknown relocation type %d", - bfd_archive_filename (input_bfd), + (*_bfd_error_handler) ("%B: unknown relocation type %d", + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); @@ -1220,8 +1215,7 @@ i370_elf_relocate_section (output_bfd, i sec = h->root.u.def.section; if (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (input_section->flags & SEC_ALLOC) != 0 && (r_type == R_I370_ADDR31 || r_type == R_I370_COPY @@ -1262,9 +1256,8 @@ i370_elf_relocate_section (output_bfd, i { default: (*_bfd_error_handler) - ("%s: unknown relocation type %d for symbol %s", - bfd_archive_filename (input_bfd), - (int) r_type, sym_name); + ("%B: unknown relocation type %d for symbol %s", + input_bfd, (int) r_type, sym_name); bfd_set_error (bfd_error_bad_value); ret = FALSE; @@ -1341,8 +1334,7 @@ i370_elf_relocate_section (output_bfd, i become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -1405,8 +1397,8 @@ i370_elf_relocate_section (output_bfd, i case (int)R_I370_COPY: case (int)R_I370_RELATIVE: (*_bfd_error_handler) - ("%s: Relocation %s is not yet supported for symbol %s.", - bfd_archive_filename (input_bfd), + ("%B: Relocation %s is not yet supported for symbol %s.", + input_bfd, i370_elf_howto_table[(int) r_type]->name, sym_name); diff -uprN binutils-2.15.91.0.2/bfd/elf32-i386.c binutils-2.15.92.0.2/bfd/elf32-i386.c --- binutils-2.15.91.0.2/bfd/elf32-i386.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-i386.c 2004-09-27 13:46:06.000000000 -0700 @@ -323,8 +323,8 @@ elf_i386_info_to_howto_rel (bfd *abfd AT && ((indx = r_type - R_386_vt_offset) - R_386_tls >= R_386_vt - R_386_tls)) { - (*_bfd_error_handler) (_("%s: invalid relocation type %d"), - bfd_archive_filename (abfd), (int) r_type); + (*_bfd_error_handler) (_("%B: invalid relocation type %d"), + abfd, (int) r_type); indx = R_386_NONE; } cache_ptr->howto = &elf_howto_table[indx]; @@ -784,16 +784,17 @@ elf_i386_copy_indirect_symbol (const str if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -861,8 +862,8 @@ elf_i386_check_relocs (bfd *abfd, if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -893,7 +894,7 @@ elf_i386_check_relocs (bfd *abfd, if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -969,9 +970,9 @@ elf_i386_check_relocs (bfd *abfd, else { (*_bfd_error_handler) - (_("%s: `%s' accessed both as normal and " + (_("%B: `%s' accessed both as normal and " "thread local symbol"), - bfd_archive_filename (abfd), + abfd, h ? h->root.root.string : ""); return FALSE; } @@ -1018,13 +1019,13 @@ elf_i386_check_relocs (bfd *abfd, sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ h->plt.refcount += 1; if (r_type != R_386_PC32) - h->elf_link_hash_flags |= ELF_LINK_POINTER_EQUALITY_NEEDED; + h->pointer_equality_needed = 1; } /* If we are creating a shared library, and this is a reloc @@ -1054,15 +1055,13 @@ elf_i386_check_relocs (bfd *abfd, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_i386_dyn_relocs *p; struct elf_i386_dyn_relocs **head; @@ -1086,8 +1085,8 @@ elf_i386_check_relocs (bfd *abfd, name + 4) != 0) { (*_bfd_error_handler) - (_("%s: bad relocation section name `%s\'"), - bfd_archive_filename (abfd), name); + (_("%B: bad relocation section name `%s\'"), + abfd, name); } if (htab->elf.dynobj == NULL) @@ -1326,7 +1325,7 @@ elf_i386_adjust_dynamic_symbol (struct b will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -1339,7 +1338,7 @@ elf_i386_adjust_dynamic_symbol (struct b such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1355,16 +1354,14 @@ elf_i386_adjust_dynamic_symbol (struct b /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1380,13 +1377,13 @@ elf_i386_adjust_dynamic_symbol (struct b /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1407,7 +1404,7 @@ elf_i386_adjust_dynamic_symbol (struct b we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1430,7 +1427,7 @@ elf_i386_adjust_dynamic_symbol (struct b if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rel); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1487,7 +1484,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1511,7 +1508,7 @@ allocate_dynrelocs (struct elf_link_hash pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1530,13 +1527,13 @@ allocate_dynrelocs (struct elf_link_hash else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_386_TLS_{IE_32,IE,GOTIE} symbol is now local to the binary, @@ -1555,7 +1552,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1634,9 +1631,9 @@ allocate_dynrelocs (struct elf_link_hash symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1644,7 +1641,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2039,6 +2036,9 @@ elf_i386_relocate_section (bfd *output_b && ((indx = r_type - R_386_tls_offset) - R_386_ext >= R_386_tls - R_386_ext)) { + (*_bfd_error_handler) + (_("%B: unrecognized relocation (0x%x) in section `%A'"), + input_bfd, input_section, r_type); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -2316,8 +2316,19 @@ elf_i386_relocate_section (bfd *output_b /* r_symndx will be zero only for relocs against symbols from removed linkonce sections, or sections discarded by a linker script. */ - if (r_symndx == 0 - || (input_section->flags & SEC_ALLOC) == 0) + if (r_symndx == 0) + { + /* Zero the section contents. eh_frame generated by old + versions of gcc isn't edited by elf-eh-frame.c, so + FDEs for discarded linkonce functions might remain. + Putting zeros here will zero such FDE's address range. + This is a hint to unwinders and other consumers of + exception handling info that the FDE is invalid. */ + bfd_put_32 (input_bfd, 0, contents + rel->r_offset); + break; + } + + if ((input_section->flags & SEC_ALLOC) == 0) break; if ((info->shared @@ -2330,11 +2341,9 @@ elf_i386_relocate_section (bfd *output_b && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2367,8 +2376,7 @@ elf_i386_relocate_section (bfd *output_b && (r_type == R_386_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); else { @@ -2898,12 +2906,12 @@ elf_i386_relocate_section (bfd *output_b not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); return FALSE; @@ -2940,9 +2948,8 @@ elf_i386_relocate_section (bfd *output_b else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, name, (int) r); return FALSE; } @@ -3032,7 +3039,7 @@ elf_i386_finish_dynamic_symbol (bfd *out loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rel); bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value if there were any @@ -3043,7 +3050,7 @@ elf_i386_finish_dynamic_symbol (bfd *out called from a binary, there is no need to slow down shared libraries because of that. */ sym->st_shndx = SHN_UNDEF; - if ((h->elf_link_hash_flags & ELF_LINK_POINTER_EQUALITY_NEEDED) == 0) + if (!h->pointer_equality_needed) sym->st_value = 0; } } @@ -3089,7 +3096,7 @@ elf_i386_finish_dynamic_symbol (bfd *out bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rel; bfd_byte *loc; diff -uprN binutils-2.15.91.0.2/bfd/elf32-m32r.c binutils-2.15.92.0.2/bfd/elf32-m32r.c --- binutils-2.15.91.0.2/bfd/elf32-m32r.c 2004-07-27 21:36:07.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-m32r.c 2004-09-27 13:46:06.000000000 -0700 @@ -1783,7 +1783,7 @@ m32r_elf_create_dynamic_sections (abfd, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -1954,25 +1954,22 @@ printf("m32r_elf_adjust_dynamic_symbol() /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined) { @@ -1982,7 +1979,7 @@ printf("m32r_elf_adjust_dynamic_symbol() a procedure linkage table, and we can just do a PCREL reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1993,12 +1990,12 @@ printf("m32r_elf_adjust_dynamic_symbol() /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2014,13 +2011,13 @@ printf("m32r_elf_adjust_dynamic_symbol() /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -2037,7 +2034,7 @@ printf("m32r_elf_adjust_dynamic_symbol() the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -2066,7 +2063,7 @@ printf("m32r_elf_adjust_dynamic_symbol() srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -2120,7 +2117,7 @@ allocate_dynrelocs (h, inf) eh = (struct elf_m32r_link_hash_entry *) h; // if ((h->got.refcount > 0 -// || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) +// || h->forced_local) // && eh->gotplt_refcount > 0) // { // /* The symbol has been forced local, or we have some direct got refs, @@ -2136,7 +2133,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2159,7 +2156,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -2178,13 +2175,13 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -2195,7 +2192,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2223,8 +2220,8 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->def_regular + && (h->forced_local || info->symbolic)) { struct elf_m32r_dyn_relocs **pp; @@ -2245,9 +2242,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -2255,7 +2252,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2606,8 +2603,8 @@ m32r_elf_relocate_section (output_bfd, i r_type = ELF32_R_TYPE (rel->r_info); if (r_type < 0 || r_type >= (int) R_M32R_max) { - (*_bfd_error_handler) (_("%s: unknown relocation type %d"), - bfd_archive_filename (input_bfd), + (*_bfd_error_handler) (_("%B: unknown relocation type %d"), + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); ret = FALSE; @@ -2627,7 +2624,7 @@ m32r_elf_relocate_section (output_bfd, i howto = m32r_elf_howto_table + r_type; r_symndx = ELF32_R_SYM (rel->r_info); - if (info->relocatable && (use_rel == TRUE)) + if (info->relocatable && use_rel) { /* This is a relocatable link. We don't have to change anything, unless the reloc is against a section symbol, @@ -2703,7 +2700,7 @@ m32r_elf_relocate_section (output_bfd, i sec = local_sections[r_symndx]; sym_name = ""; - if (use_rel == FALSE) + if (!use_rel) { relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); addend = rel->r_addend; @@ -2730,7 +2727,7 @@ m32r_elf_relocate_section (output_bfd, i else { /* External symbol. */ - if (info->relocatable && (use_rel == FALSE)) + if (info->relocatable && !use_rel) continue; h = sym_hashes[r_symndx - symtab_hdr->sh_info]; @@ -2761,20 +2758,17 @@ m32r_elf_relocate_section (output_bfd, i info->shared, h) && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (((r_type == R_M32R_16_RELA || r_type == R_M32R_32_RELA || r_type == R_M32R_24_RELA || r_type == R_M32R_HI16_ULO_RELA || r_type == R_M32R_HI16_SLO_RELA || r_type == R_M32R_LO16_RELA) - && (h->elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) || r_type == R_M32R_10_PCREL_RELA || r_type == R_M32R_18_PCREL_RELA || r_type == R_M32R_26_PCREL_RELA) @@ -2784,8 +2778,7 @@ m32r_elf_relocate_section (output_bfd, i externally in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))) + && h->def_dynamic)))) { /* In these cases, we don't need the relocation value. We check specially because in some @@ -2909,8 +2902,8 @@ m32r_elf_relocate_section (output_bfd, i || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -3000,7 +2993,7 @@ m32r_elf_relocate_section (output_bfd, i //if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL // || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) // break; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; if (h->plt.offset == (bfd_vma) -1) @@ -3031,7 +3024,6 @@ m32r_elf_relocate_section (output_bfd, i case R_M32R_26_PCREL_RELA: case R_M32R_HI16_ULO_RELA: case R_M32R_LO16_RELA: - case R_M32R_SDA16_RELA: if (info->shared && r_symndx != 0 && (input_section->flags & SEC_ALLOC) != 0 @@ -3040,8 +3032,7 @@ m32r_elf_relocate_section (output_bfd, i || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_boolean skip, relocate; @@ -3100,8 +3091,7 @@ m32r_elf_relocate_section (output_bfd, i become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE); @@ -3164,6 +3154,7 @@ m32r_elf_relocate_section (output_bfd, i goto check_reloc; + case (int) R_M32R_SDA16_RELA: case (int) R_M32R_SDA16 : { const char *name; @@ -3195,11 +3186,11 @@ m32r_elf_relocate_section (output_bfd, i else { (*_bfd_error_handler) - (_("%s: The target (%s) of an %s relocation is in the wrong section (%s)"), - bfd_archive_filename (input_bfd), + (_("%B: The target (%s) of an %s relocation is in the wrong section (%A)"), + input_bfd, + sec, sym_name, - m32r_elf_howto_table[(int) r_type].name, - bfd_get_section_name (abfd, sec)); + m32r_elf_howto_table[(int) r_type].name); /*bfd_set_error (bfd_error_bad_value); ??? why? */ ret = FALSE; continue; @@ -3400,7 +3391,7 @@ printf("m32r_elf_finish_dynamic_symbol() loc += plt_index * sizeof(Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3433,8 +3424,8 @@ printf("m32r_elf_finish_dynamic_symbol() if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE); rela.r_addend = (h->root.u.def.value @@ -3455,7 +3446,7 @@ printf("m32r_elf_finish_dynamic_symbol() ++srela->reloc_count; } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -4262,8 +4253,7 @@ m32r_elf_merge_private_bfd_data (ibfd, o || ((in_flags & EF_M32R_ARCH) == E_M32R2_ARCH)) { (*_bfd_error_handler) - (_("%s: Instruction set mismatch with previous modules"), - bfd_archive_filename (ibfd)); + (_("%B: Instruction set mismatch with previous modules"), ibfd); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -4565,10 +4555,10 @@ m32r_elf_check_relocs (abfd, info, sec, if (h == NULL) continue; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -4584,7 +4574,7 @@ m32r_elf_check_relocs (abfd, info, sec, if (h != NULL && !info->shared) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; h->plt.refcount += 1; } @@ -4614,14 +4604,12 @@ m32r_elf_check_relocs (abfd, info, sec, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_m32r_dyn_relocs *p; struct elf_m32r_dyn_relocs **head; diff -uprN binutils-2.15.91.0.2/bfd/elf32-m68hc1x.c binutils-2.15.92.0.2/bfd/elf32-m68hc1x.c --- binutils-2.15.91.0.2/bfd/elf32-m68hc1x.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-m68hc1x.c 2004-09-15 12:05:02.000000000 -0700 @@ -158,9 +158,8 @@ m68hc12_add_stub (const char *stub_name, TRUE, FALSE); if (stub_entry == NULL) { - (*_bfd_error_handler) (_("%s: cannot create stub entry %s"), - bfd_archive_filename (section->owner), - stub_name); + (*_bfd_error_handler) (_("%B: cannot create stub entry %s"), + section->owner, stub_name); return NULL; } @@ -471,7 +470,8 @@ elf32_m68hc11_size_stubs (bfd *output_bf hash->root.u.i.link); if (hash->root.type == bfd_link_hash_defined - || hash->root.type == bfd_link_hash_defweak) + || hash->root.type == bfd_link_hash_defweak + || hash->root.type == bfd_link_hash_new) { if (!(hash->other & STO_M68HC12_FAR)) continue; @@ -1273,17 +1273,15 @@ _bfd_m68hc11_elf_merge_private_bfd_data if ((new_flags & E_M68HC11_I32) != (old_flags & E_M68HC11_I32)) { (*_bfd_error_handler) - (_("%s: linking files compiled for 16-bit integers (-mshort) " - "and others for 32-bit integers"), - bfd_archive_filename (ibfd)); + (_("%B: linking files compiled for 16-bit integers (-mshort) " + "and others for 32-bit integers"), ibfd); ok = FALSE; } if ((new_flags & E_M68HC11_F64) != (old_flags & E_M68HC11_F64)) { (*_bfd_error_handler) - (_("%s: linking files compiled for 32-bit double (-fshort-double) " - "and others for 64-bit double"), - bfd_archive_filename (ibfd)); + (_("%B: linking files compiled for 32-bit double (-fshort-double) " + "and others for 64-bit double"), ibfd); ok = FALSE; } @@ -1291,9 +1289,8 @@ _bfd_m68hc11_elf_merge_private_bfd_data if (!EF_M68HC11_CAN_MERGE_MACH (new_flags, old_flags)) { (*_bfd_error_handler) - (_("%s: linking files compiled for HCS12 with " - "others compiled for HC12"), - bfd_archive_filename (ibfd)); + (_("%B: linking files compiled for HCS12 with " + "others compiled for HC12"), ibfd); ok = FALSE; } new_flags = ((new_flags & ~EF_M68HC11_MACH_MASK) @@ -1308,9 +1305,8 @@ _bfd_m68hc11_elf_merge_private_bfd_data if (new_flags != old_flags) { (*_bfd_error_handler) - (_("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), - bfd_archive_filename (ibfd), (unsigned long) new_flags, - (unsigned long) old_flags); + (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), + ibfd, (unsigned long) new_flags, (unsigned long) old_flags); ok = FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/elf32-m68k.c binutils-2.15.92.0.2/bfd/elf32-m68k.c --- binutils-2.15.91.0.2/bfd/elf32-m68k.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-m68k.c 2004-09-27 13:46:06.000000000 -0700 @@ -506,7 +506,7 @@ elf_m68k_check_relocs (abfd, info, sec, { /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -564,7 +564,7 @@ elf_m68k_check_relocs (abfd, info, sec, if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -584,13 +584,13 @@ elf_m68k_check_relocs (abfd, info, sec, /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -612,8 +612,7 @@ elf_m68k_check_relocs (abfd, info, sec, && h != NULL && (!info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { if (h != NULL) { @@ -925,24 +924,21 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic /* We must always create the plt entry if it was referenced by a PLTxxO relocation. In this case we already recorded it as a dynamic symbol. */ @@ -953,7 +949,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a PCxx reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -961,14 +957,14 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* GC may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -993,7 +989,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -1028,12 +1024,12 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1071,7 +1067,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1295,9 +1291,9 @@ elf_m68k_discard_copies (h, inf) if (h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + if (!h->def_regular || (!info->symbolic - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)) + && !h->forced_local)) { if ((info->flags & DF_TEXTREL) == 0) { @@ -1442,8 +1438,8 @@ elf_m68k_relocate_section (output_bfd, i || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) != 0) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -1579,7 +1575,7 @@ elf_m68k_relocate_section (output_bfd, i case R_68K_PC32: if (h == NULL || (info->shared - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + && h->forced_local)) break; /* Fall through. */ case R_68K_8: @@ -1597,8 +1593,7 @@ elf_m68k_relocate_section (output_bfd, i || (h != NULL && h->dynindx != -1 && (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1630,8 +1625,7 @@ elf_m68k_relocate_section (output_bfd, i || r_type == R_68K_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -1702,12 +1696,12 @@ elf_m68k_relocate_section (output_bfd, i not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); return FALSE; @@ -1744,9 +1738,8 @@ elf_m68k_relocate_section (output_bfd, i else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, name, (int) r); return FALSE; } @@ -1855,7 +1848,7 @@ elf_m68k_finish_dynamic_symbol (output_b loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1889,8 +1882,8 @@ elf_m68k_finish_dynamic_symbol (output_b if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_68K_RELATIVE); rela.r_addend = bfd_get_signed_32 (output_bfd, @@ -1910,7 +1903,7 @@ elf_m68k_finish_dynamic_symbol (output_b bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff -uprN binutils-2.15.91.0.2/bfd/elf32-mcore.c binutils-2.15.92.0.2/bfd/elf32-mcore.c --- binutils-2.15.91.0.2/bfd/elf32-mcore.c 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-mcore.c 2004-09-15 12:05:02.000000000 -0700 @@ -350,8 +350,8 @@ mcore_elf_unsupported_reloc (abfd, reloc { BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0); - _bfd_error_handler (_("%s: Relocation %s (%d) is not currently supported.\n"), - bfd_archive_filename (abfd), + _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"), + abfd, reloc_entry->howto->name, reloc_entry->howto->type); @@ -406,12 +406,12 @@ mcore_elf_relocate_section (output_bfd, bfd_boolean ret = TRUE; #ifdef DEBUG - fprintf (stderr, - "mcore_elf_relocate_section called for %s section %s, %ld relocations%s\n", - bfd_archive_filename (input_bfd), - bfd_section_name(input_bfd, input_section), - (long) input_section->reloc_count, - (info->relocatable) ? " (relocatable)" : ""); + _bfd_error_handler + ("mcore_elf_relocate_section called for %B section %A, %ld relocations%s", + input_bfd, + input_section, + (long) input_section->reloc_count, + (info->relocatable) ? " (relocatable)" : ""); #endif if (info->relocatable) @@ -438,9 +438,8 @@ mcore_elf_relocate_section (output_bfd, if ((unsigned) r_type >= (unsigned) R_MCORE_max || ! mcore_elf_howto_table [(int)r_type]) { - _bfd_error_handler (_("%s: Unknown relocation type %d\n"), - bfd_archive_filename (input_bfd), - (int) r_type); + _bfd_error_handler (_("%B: Unknown relocation type %d\n"), + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); ret = FALSE; @@ -453,8 +452,8 @@ mcore_elf_relocate_section (output_bfd, /* Complain about known relocation that are not yet supported. */ if (howto->special_function == mcore_elf_unsupported_reloc) { - _bfd_error_handler (_("%s: Relocation %s (%d) is not currently supported.\n"), - bfd_archive_filename (input_bfd), + _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"), + input_bfd, howto->name, (int)r_type); diff -uprN binutils-2.15.91.0.2/bfd/elf32-msp430.c binutils-2.15.92.0.2/bfd/elf32-msp430.c --- binutils-2.15.91.0.2/bfd/elf32-msp430.c 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-msp430.c 2004-09-15 12:05:02.000000000 -0700 @@ -25,41 +25,6 @@ #include "elf-bfd.h" #include "elf/msp430.h" -static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup - PARAMS ((bfd *, bfd_reloc_code_real_type)); - -static void msp430_info_to_howto_rela - PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); - -static asection *elf32_msp430_gc_mark_hook - PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *, - struct elf_link_hash_entry *, Elf_Internal_Sym *)); - -static bfd_boolean elf32_msp430_gc_sweep_hook - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); - -static bfd_boolean elf32_msp430_check_relocs - PARAMS ((bfd *, struct bfd_link_info *, asection *, - const Elf_Internal_Rela *)); - -static bfd_reloc_status_type msp430_final_link_relocate - PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, bfd_vma)); - -static bfd_boolean elf32_msp430_relocate_section - PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, - Elf_Internal_Rela *, Elf_Internal_Sym *, asection **)); - -static void bfd_elf_msp430_final_write_processing - PARAMS ((bfd *, bfd_boolean)); - -static bfd_boolean elf32_msp430_object_p - PARAMS ((bfd *)); - -static void elf32_msp430_post_process_headers - PARAMS ((bfd *, struct bfd_link_info *)); - /* Use RELA instead of REL. */ #undef USE_REL @@ -71,7 +36,7 @@ static reloc_howto_type elf_msp430_howto 32, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_bitfield,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MSP430_NONE", /* name */ FALSE, /* partial_inplace */ @@ -85,7 +50,7 @@ static reloc_howto_type elf_msp430_howto 32, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_bitfield,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MSP430_32", /* name */ FALSE, /* partial_inplace */ @@ -100,7 +65,7 @@ static reloc_howto_type elf_msp430_howto 10, /* bitsize */ TRUE, /* pc_relative */ 0, /* bitpos */ - complain_overflow_bitfield, /* complain_on_overflow */ + complain_overflow_bitfield,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_MSP430_13_PCREL", /* name */ FALSE, /* partial_inplace */ @@ -119,7 +84,7 @@ static reloc_howto_type elf_msp430_howto bfd_elf_generic_reloc, /* special_function */ "R_MSP430_16", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -134,7 +99,7 @@ static reloc_howto_type elf_msp430_howto bfd_elf_generic_reloc, /* special_function */ "R_MSP430_16_PCREL", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0, /* src_mask */ 0xffff, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -162,10 +127,40 @@ static reloc_howto_type elf_msp430_howto 0, /* bitpos */ complain_overflow_dont,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ - "R_MSP430_16_PCREL_BYTE", /* name */ + "R_MSP430_16_PCREL_BYTE",/* name */ FALSE, /* partial_inplace */ 0xffff, /* src_mask */ 0xffff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + /* A 13 bit PC relative relocation for complicated polymorphs. */ + HOWTO (R_MSP430_2X_PCREL, /* type */ + 1, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 10, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_MSP430_2X_PCREL", /* name */ + FALSE, /* partial_inplace */ + 0xfff, /* src_mask */ + 0xfff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + /* A 16 bit relaxable relocation for command address. */ + HOWTO (R_MSP430_RL_PCREL, /* type */ + 1, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_MSP430_RL_PCREL", /* name */ + FALSE, /* partial_inplace */ + 0, /* src_mask */ + 0xffff, /* dst_mask */ TRUE) /* pcrel_offset */ }; @@ -179,20 +174,21 @@ struct msp430_reloc_map static const struct msp430_reloc_map msp430_reloc_map[] = { - {BFD_RELOC_NONE, R_MSP430_NONE}, - {BFD_RELOC_32, R_MSP430_32}, - {BFD_RELOC_MSP430_10_PCREL, R_MSP430_10_PCREL}, - {BFD_RELOC_16, R_MSP430_16_BYTE}, - {BFD_RELOC_MSP430_16_PCREL, R_MSP430_16_PCREL}, - {BFD_RELOC_MSP430_16, R_MSP430_16}, + {BFD_RELOC_NONE, R_MSP430_NONE}, + {BFD_RELOC_32, R_MSP430_32}, + {BFD_RELOC_MSP430_10_PCREL, R_MSP430_10_PCREL}, + {BFD_RELOC_16, R_MSP430_16_BYTE}, + {BFD_RELOC_MSP430_16_PCREL, R_MSP430_16_PCREL}, + {BFD_RELOC_MSP430_16, R_MSP430_16}, {BFD_RELOC_MSP430_16_PCREL_BYTE, R_MSP430_16_PCREL_BYTE}, - {BFD_RELOC_MSP430_16_BYTE, R_MSP430_16_BYTE} + {BFD_RELOC_MSP430_16_BYTE, R_MSP430_16_BYTE}, + {BFD_RELOC_MSP430_2X_PCREL, R_MSP430_2X_PCREL}, + {BFD_RELOC_MSP430_RL_PCREL, R_MSP430_RL_PCREL} }; static reloc_howto_type * -bfd_elf32_bfd_reloc_type_lookup (abfd, code) - bfd *abfd ATTRIBUTE_UNUSED; - bfd_reloc_code_real_type code; +bfd_elf32_bfd_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED, + bfd_reloc_code_real_type code) { unsigned int i; @@ -206,10 +202,9 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, c /* Set the howto pointer for an MSP430 ELF reloc. */ static void -msp430_info_to_howto_rela (abfd, cache_ptr, dst) - bfd *abfd ATTRIBUTE_UNUSED; - arelent *cache_ptr; - Elf_Internal_Rela *dst; +msp430_info_to_howto_rela (bfd * abfd ATTRIBUTE_UNUSED, + arelent * cache_ptr, + Elf_Internal_Rela * dst) { unsigned int r_type; @@ -219,12 +214,11 @@ msp430_info_to_howto_rela (abfd, cache_p } static asection * -elf32_msp430_gc_mark_hook (sec, info, rel, h, sym) - asection *sec; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - Elf_Internal_Rela *rel; - struct elf_link_hash_entry *h; - Elf_Internal_Sym *sym; +elf32_msp430_gc_mark_hook (asection * sec, + struct bfd_link_info * info ATTRIBUTE_UNUSED, + Elf_Internal_Rela * rel, + struct elf_link_hash_entry * h, + Elf_Internal_Sym * sym) { if (h != NULL) { @@ -252,11 +246,10 @@ elf32_msp430_gc_mark_hook (sec, info, re } static bfd_boolean -elf32_msp430_gc_sweep_hook (abfd, info, sec, relocs) - bfd *abfd ATTRIBUTE_UNUSED; - struct bfd_link_info *info ATTRIBUTE_UNUSED; - asection *sec ATTRIBUTE_UNUSED; - const Elf_Internal_Rela *relocs ATTRIBUTE_UNUSED; +elf32_msp430_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED, + struct bfd_link_info * info ATTRIBUTE_UNUSED, + asection * sec ATTRIBUTE_UNUSED, + const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED) { /* We don't use got and plt entries for msp430. */ return TRUE; @@ -267,11 +260,8 @@ elf32_msp430_gc_sweep_hook (abfd, info, virtual table relocs for gc. */ static bfd_boolean -elf32_msp430_check_relocs (abfd, info, sec, relocs) - bfd *abfd; - struct bfd_link_info *info; - asection *sec; - const Elf_Internal_Rela *relocs; +elf32_msp430_check_relocs (bfd * abfd, struct bfd_link_info * info, + asection * sec, const Elf_Internal_Rela * relocs) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; @@ -308,14 +298,9 @@ elf32_msp430_check_relocs (abfd, info, s routines, but a few relocs, we have to do them ourselves. */ static bfd_reloc_status_type -msp430_final_link_relocate (howto, input_bfd, input_section, - contents, rel, relocation) - reloc_howto_type *howto; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - Elf_Internal_Rela *rel; - bfd_vma relocation; +msp430_final_link_relocate (reloc_howto_type * howto, bfd * input_bfd, + asection * input_section, bfd_byte * contents, + Elf_Internal_Rela * rel, bfd_vma relocation) { bfd_reloc_status_type r = bfd_reloc_ok; bfd_vma x; @@ -347,7 +332,37 @@ msp430_final_link_relocate (howto, input bfd_put_16 (input_bfd, x, contents); break; + case R_MSP430_2X_PCREL: + contents += rel->r_offset; + srel = (bfd_signed_vma) relocation; + srel += rel->r_addend; + srel -= rel->r_offset; + srel -= 2; /* Branch instructions add 2 to the PC... */ + srel -= (input_section->output_section->vma + + input_section->output_offset); + + if (srel & 1) + return bfd_reloc_outofrange; + + /* MSP430 addresses commands as words. */ + srel >>= 1; + + /* Check for an overflow. */ + if (srel < -512 || srel > 511) + return bfd_reloc_overflow; + + x = bfd_get_16 (input_bfd, contents); + x = (x & 0xfc00) | (srel & 0x3ff); + bfd_put_16 (input_bfd, x, contents); + /* Handle second jump instruction. */ + x = bfd_get_16 (input_bfd, contents - 2); + srel += 1; + x = (x & 0xfc00) | (srel & 0x3ff); + bfd_put_16 (input_bfd, x, contents - 2); + break; + case R_MSP430_16_PCREL: + case R_MSP430_RL_PCREL: contents += rel->r_offset; srel = (bfd_signed_vma) relocation; srel += rel->r_addend; @@ -404,16 +419,14 @@ msp430_final_link_relocate (howto, input /* Relocate an MSP430 ELF section. */ static bfd_boolean -elf32_msp430_relocate_section (output_bfd, info, input_bfd, input_section, - contents, relocs, local_syms, local_sections) - bfd *output_bfd ATTRIBUTE_UNUSED; - struct bfd_link_info *info; - bfd *input_bfd; - asection *input_section; - bfd_byte *contents; - Elf_Internal_Rela *relocs; - Elf_Internal_Sym *local_syms; - asection **local_sections; +elf32_msp430_relocate_section (bfd * output_bfd ATTRIBUTE_UNUSED, + struct bfd_link_info * info, + bfd * input_bfd, + asection * input_section, + bfd_byte * contents, + Elf_Internal_Rela * relocs, + Elf_Internal_Sym * local_syms, + asection ** local_sections) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes; @@ -520,9 +533,8 @@ elf32_msp430_relocate_section (output_bf number. */ static void -bfd_elf_msp430_final_write_processing (abfd, linker) - bfd *abfd; - bfd_boolean linker ATTRIBUTE_UNUSED; +bfd_elf_msp430_final_write_processing (bfd * abfd, + bfd_boolean linker ATTRIBUTE_UNUSED) { unsigned long val; @@ -594,8 +606,7 @@ bfd_elf_msp430_final_write_processing (a /* Set the right machine number. */ static bfd_boolean -elf32_msp430_object_p (abfd) - bfd *abfd; +elf32_msp430_object_p (bfd * abfd) { int e_set = bfd_mach_msp14; @@ -669,11 +680,10 @@ elf32_msp430_object_p (abfd) } static void -elf32_msp430_post_process_headers (abfd, link_info) - bfd *abfd; - struct bfd_link_info *link_info ATTRIBUTE_UNUSED; +elf32_msp430_post_process_headers (bfd * abfd, + struct bfd_link_info * link_info ATTRIBUTE_UNUSED) { - Elf_Internal_Ehdr *i_ehdrp; /* ELF file header, internal form. */ + Elf_Internal_Ehdr * i_ehdrp; /* ELF file header, internal form. */ i_ehdrp = elf_elfheader (abfd); @@ -684,6 +694,466 @@ elf32_msp430_post_process_headers (abfd, i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_STANDALONE; } +/* These functions handle relaxing for the msp430. + Relaxation required only in two cases: + - Bad hand coding like jumps from one section to another or + from file to file. + - Sibling calls. This will affect onlu 'jump label' polymorph. Without + relaxing this enlarges code by 2 bytes. Sibcalls implemented but + do not work in gcc's port by the reason I do not know. + Anyway, if a relaxation required, user should pass -relax option to the + linker. + + There are quite a few relaxing opportunities available on the msp430: + + ================================================================ + + 1. 3 words -> 1 word + + eq == jeq label jne +4; br lab + ne != jne label jeq +4; br lab + lt < jl label jge +4; br lab + ltu < jlo label lhs +4; br lab + ge >= jge label jl +4; br lab + geu >= jhs label jlo +4; br lab + + 2. 4 words -> 1 word + + ltn < jn jn +2; jmp +4; br lab + + 3. 4 words -> 2 words + + gt > jeq +2; jge label jeq +6; jl +4; br label + gtu > jeq +2; jhs label jeq +6; jlo +4; br label + + 4. 4 words -> 2 words and 2 labels + + leu <= jeq label; jlo label jeq +2; jhs +4; br label + le <= jeq label; jl label jeq +2; jge +4; br label + ================================================================= + + codemap for first cases is (labels masked ): + eq: 0x2002,0x4010,0x0000 -> 0x2400 + ne: 0x2402,0x4010,0x0000 -> 0x2000 + lt: 0x3402,0x4010,0x0000 -> 0x3800 + ltu: 0x2c02,0x4010,0x0000 -> 0x2800 + ge: 0x3802,0x4010,0x0000 -> 0x3400 + geu: 0x2802,0x4010,0x0000 -> 0x2c00 + + second case: + ltn: 0x3001,0x3c02,0x4010,0x0000 -> 0x3000 + + third case: + gt: 0x2403,0x3802,0x4010,0x0000 -> 0x2401,0x3400 + gtu: 0x2403,0x2802,0x4010,0x0000 -> 0x2401,0x2c00 + + fourth case: + leu: 0x2401,0x2c02,0x4010,0x0000 -> 0x2400,0x2800 + le: 0x2401,0x3402,0x4010,0x0000 -> 0x2400,0x3800 + + Unspecified case :) + jump: 0x4010,0x0000 -> 0x3c00. */ + +#define NUMB_RELAX_CODES 12 +static struct rcodes_s +{ + int f0, f1; /* From code. */ + int t0, t1; /* To code. */ + int labels; /* Position of labels: 1 - one label at first + word, 2 - one at second word, 3 - two + labels at both. */ + int cdx; /* Words to match. */ + int bs; /* Shrink bytes. */ + int off; /* Offset from old label for new code. */ + int ncl; /* New code length. */ +} rcode[] = +{/* lab,cdx,bs,off,ncl */ + { 0x0000, 0x0000, 0x3c00, 0x0000, 1, 0, 2, 2, 2}, /* jump */ + { 0x0000, 0x2002, 0x2400, 0x0000, 1, 1, 4, 4, 2}, /* eq */ + { 0x0000, 0x2402, 0x2000, 0x0000, 1, 1, 4, 4, 2}, /* ne */ + { 0x0000, 0x3402, 0x3800, 0x0000, 1, 1, 4, 4, 2}, /* lt */ + { 0x0000, 0x2c02, 0x2800, 0x0000, 1, 1, 4, 4, 2}, /* ltu */ + { 0x0000, 0x3802, 0x3400, 0x0000, 1, 1, 4, 4, 2}, /* ge */ + { 0x0000, 0x2802, 0x2c00, 0x0000, 1, 1, 4, 4, 2}, /* geu */ + { 0x3001, 0x3c02, 0x3000, 0x0000, 1, 2, 6, 6, 2}, /* ltn */ + { 0x2403, 0x3802, 0x2401, 0x3400, 2, 2, 4, 6, 4}, /* gt */ + { 0x2403, 0x2802, 0x2401, 0x2c00, 2, 2, 4, 6, 4}, /* gtu */ + { 0x2401, 0x2c02, 0x2400, 0x2800, 3, 2, 4, 6, 4}, /* leu , 2 labels */ + { 0x2401, 0x2c02, 0x2400, 0x2800, 3, 2, 4, 6, 4}, /* le , 2 labels */ + { 0, 0, 0, 0, 0, 0, 0, 0, 0} +}; + +/* Return TRUE if a symbol exists at the given address. */ + +static bfd_boolean +msp430_elf_symbol_address_p (bfd * abfd, + asection * sec, + Elf_Internal_Sym * isym, + bfd_vma addr) +{ + Elf_Internal_Shdr *symtab_hdr; + unsigned int sec_shndx; + Elf_Internal_Sym *isymend; + struct elf_link_hash_entry **sym_hashes; + struct elf_link_hash_entry **end_hashes; + unsigned int symcount; + + sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); + + /* Examine all the local symbols. */ + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + for (isymend = isym + symtab_hdr->sh_info; isym < isymend; isym++) + if (isym->st_shndx == sec_shndx && isym->st_value == addr) + return TRUE; + + symcount = (symtab_hdr->sh_size / sizeof (Elf32_External_Sym) + - symtab_hdr->sh_info); + sym_hashes = elf_sym_hashes (abfd); + end_hashes = sym_hashes + symcount; + for (; sym_hashes < end_hashes; sym_hashes++) + { + struct elf_link_hash_entry *sym_hash = *sym_hashes; + + if ((sym_hash->root.type == bfd_link_hash_defined + || sym_hash->root.type == bfd_link_hash_defweak) + && sym_hash->root.u.def.section == sec + && sym_hash->root.u.def.value == addr) + return TRUE; + } + + return FALSE; +} + +/* Delete some bytes from a section while relaxing. */ + +static bfd_boolean +msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr, + int count) +{ + Elf_Internal_Shdr *symtab_hdr; + unsigned int sec_shndx; + bfd_byte *contents; + Elf_Internal_Rela *irel; + Elf_Internal_Rela *irelend; + Elf_Internal_Rela *irelalign; + bfd_vma toaddr; + Elf_Internal_Sym *isym; + Elf_Internal_Sym *isymend; + struct elf_link_hash_entry **sym_hashes; + struct elf_link_hash_entry **end_hashes; + unsigned int symcount; + + sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec); + + contents = elf_section_data (sec)->this_hdr.contents; + + /* The deletion must stop at the next ALIGN reloc for an aligment + power larger than the number of bytes we are deleting. */ + + irelalign = NULL; + toaddr = sec->size; + + irel = elf_section_data (sec)->relocs; + irelend = irel + sec->reloc_count; + + /* Actually delete the bytes. */ + memmove (contents + addr, contents + addr + count, + (size_t) (toaddr - addr - count)); + sec->size -= count; + + /* Adjust all the relocs. */ + for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++) + /* Get the new reloc address. */ + if ((irel->r_offset > addr && irel->r_offset < toaddr)) + irel->r_offset -= count; + + /* Adjust the local symbols defined in this section. */ + symtab_hdr = & elf_tdata (abfd)->symtab_hdr; + isym = (Elf_Internal_Sym *) symtab_hdr->contents; + for (isymend = isym + symtab_hdr->sh_info; isym < isymend; isym++) + if (isym->st_shndx == sec_shndx + && isym->st_value > addr && isym->st_value < toaddr) + isym->st_value -= count; + + /* Now adjust the global symbols defined in this section. */ + symcount = (symtab_hdr->sh_size / sizeof (Elf32_External_Sym) + - symtab_hdr->sh_info); + sym_hashes = elf_sym_hashes (abfd); + end_hashes = sym_hashes + symcount; + for (; sym_hashes < end_hashes; sym_hashes++) + { + struct elf_link_hash_entry *sym_hash = *sym_hashes; + + if ((sym_hash->root.type == bfd_link_hash_defined + || sym_hash->root.type == bfd_link_hash_defweak) + && sym_hash->root.u.def.section == sec + && sym_hash->root.u.def.value > addr + && sym_hash->root.u.def.value < toaddr) + sym_hash->root.u.def.value -= count; + } + + return TRUE; +} + + +static bfd_boolean +msp430_elf_relax_section (bfd * abfd, asection * sec, + struct bfd_link_info * link_info, + bfd_boolean * again) +{ + Elf_Internal_Shdr * symtab_hdr; + Elf_Internal_Rela * internal_relocs; + Elf_Internal_Rela * irel; + Elf_Internal_Rela * irelend; + bfd_byte * contents = NULL; + Elf_Internal_Sym * isymbuf = NULL; + + /* Assume nothing changes. */ + *again = FALSE; + + /* We don't have to do anything for a relocatable link, if + this section does not have relocs, or if this is not a + code section. */ + if (link_info->relocatable + || (sec->flags & SEC_RELOC) == 0 + || sec->reloc_count == 0 || (sec->flags & SEC_CODE) == 0) + return TRUE; + + symtab_hdr = & elf_tdata (abfd)->symtab_hdr; + + /* Get a copy of the native relocations. */ + internal_relocs = + _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, link_info->keep_memory); + if (internal_relocs == NULL) + goto error_return; + + /* Walk through them looking for relaxing opportunities. */ + irelend = internal_relocs + sec->reloc_count; + for (irel = internal_relocs; irel < irelend; irel++) + { + bfd_vma symval; + + /* If this isn't something that can be relaxed, then ignore + this reloc. */ + if (ELF32_R_TYPE (irel->r_info) != (int) R_MSP430_RL_PCREL) + continue; + + /* Get the section contents if we haven't done so already. */ + if (contents == NULL) + { + /* Get cached copy if it exists. */ + if (elf_section_data (sec)->this_hdr.contents != NULL) + contents = elf_section_data (sec)->this_hdr.contents; + else if (! bfd_malloc_and_get_section (abfd, sec, &contents)) + goto error_return; + } + + /* Read this BFD's local symbols if we haven't done so already. */ + if (isymbuf == NULL && symtab_hdr->sh_info != 0) + { + isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents; + if (isymbuf == NULL) + isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, + symtab_hdr->sh_info, 0, + NULL, NULL, NULL); + if (isymbuf == NULL) + goto error_return; + } + + /* Get the value of the symbol referred to by the reloc. */ + if (ELF32_R_SYM (irel->r_info) < symtab_hdr->sh_info) + { + /* A local symbol. */ + Elf_Internal_Sym *isym; + asection *sym_sec; + + isym = isymbuf + ELF32_R_SYM (irel->r_info); + if (isym->st_shndx == SHN_UNDEF) + sym_sec = bfd_und_section_ptr; + else if (isym->st_shndx == SHN_ABS) + sym_sec = bfd_abs_section_ptr; + else if (isym->st_shndx == SHN_COMMON) + sym_sec = bfd_com_section_ptr; + else + sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx); + symval = (isym->st_value + + sym_sec->output_section->vma + sym_sec->output_offset); + } + else + { + unsigned long indx; + struct elf_link_hash_entry *h; + + /* An external symbol. */ + indx = ELF32_R_SYM (irel->r_info) - symtab_hdr->sh_info; + h = elf_sym_hashes (abfd)[indx]; + BFD_ASSERT (h != NULL); + + if (h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak) + /* This appears to be a reference to an undefined + symbol. Just ignore it--it will be caught by the + regular reloc processing. */ + continue; + + symval = (h->root.u.def.value + + h->root.u.def.section->output_section->vma + + h->root.u.def.section->output_offset); + } + + /* For simplicity of coding, we are going to modify the section + contents, the section relocs, and the BFD symbol table. We + must tell the rest of the code not to free up this + information. It would be possible to instead create a table + of changes which have to be made, as is done in coff-mips.c; + that would be more work, but would require less memory when + the linker is run. */ + + /* Try to turn a 16bit pc-relative branch into a 10bit pc-relative + branch. */ + /* Paranoia? paranoia... */ + if (ELF32_R_TYPE (irel->r_info) == (int) R_MSP430_RL_PCREL) + { + bfd_vma value = symval; + + /* Deal with pc-relative gunk. */ + value -= (sec->output_section->vma + sec->output_offset); + value -= irel->r_offset; + value += irel->r_addend; + + /* See if the value will fit in 10 bits, note the high value is + 1016 as the target will be two bytes closer if we are + able to relax. */ + if ((long) value < 1016 && (long) value > -1016) + { + int code0 = 0, code1 = 0, code2 = 0; + int i; + struct rcodes_s *rx; + + /* Get the opcode. */ + if (irel->r_offset >= 6) + code0 = bfd_get_16 (abfd, contents + irel->r_offset - 6); + + if (irel->r_offset >= 4) + code1 = bfd_get_16 (abfd, contents + irel->r_offset - 4); + + code2 = bfd_get_16 (abfd, contents + irel->r_offset - 2); + + if (code2 != 0x4010) + continue; + + /* Check r4 and r3. */ + for (i = NUMB_RELAX_CODES - 1; i >= 0; i--) + { + rx = &rcode[i]; + if (rx->cdx == 2 && rx->f0 == code0 && rx->f1 == code1) + break; + else if (rx->cdx == 1 && rx->f1 == code1) + break; + else if (rx->cdx == 0) /* This is an unconditional jump. */ + break; + } + + /* Check labels: + .Label0: ; we do not care about this label + jeq +6 + .Label1: ; make sure there is no label here + jl +4 + .Label2: ; make sure there is no label here + br .Label_dst + + So, if there is .Label1 or .Label2 we cannot relax this code. + This actually should not happen, cause for relaxable + instructions we use RL_PCREL reloc instead of 16_PCREL. + Will change this in the future. */ + + if (rx->cdx > 0 + && msp430_elf_symbol_address_p (abfd, sec, isymbuf, + irel->r_offset - 2)) + continue; + if (rx->cdx > 1 + && msp430_elf_symbol_address_p (abfd, sec, isymbuf, + irel->r_offset - 4)) + continue; + + /* Note that we've changed the relocs, section contents, etc. */ + elf_section_data (sec)->relocs = internal_relocs; + elf_section_data (sec)->this_hdr.contents = contents; + symtab_hdr->contents = (unsigned char *) isymbuf; + + /* Fix the relocation's type. */ + if (rx->labels == 3) /* Handle special cases. */ + irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), + R_MSP430_2X_PCREL); + else + irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), + R_MSP430_10_PCREL); + + /* Fix the opcode right way. */ + bfd_put_16 (abfd, rx->t0, contents + irel->r_offset - rx->off); + if (rx->t1) + bfd_put_16 (abfd, rx->t1, + contents + irel->r_offset - rx->off + 2); + + /* Delete bytes. */ + if (!msp430_elf_relax_delete_bytes (abfd, sec, + irel->r_offset - rx->off + + rx->ncl, rx->bs)) + goto error_return; + + /* Handle unconditional jumps. */ + if (rx->cdx == 0) + irel->r_offset -= 2; + + /* That will change things, so, we should relax again. + Note that this is not required, and it may be slow. */ + *again = TRUE; + } + } + } + + if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) + { + if (!link_info->keep_memory) + free (isymbuf); + else + { + /* Cache the symbols for elf_link_input_bfd. */ + symtab_hdr->contents = (unsigned char *) isymbuf; + } + } + + if (contents != NULL + && elf_section_data (sec)->this_hdr.contents != contents) + { + if (!link_info->keep_memory) + free (contents); + else + { + /* Cache the section contents for elf_link_input_bfd. */ + elf_section_data (sec)->this_hdr.contents = contents; + } + } + + if (internal_relocs != NULL + && elf_section_data (sec)->relocs != internal_relocs) + free (internal_relocs); + + return TRUE; + +error_return: + if (isymbuf != NULL && symtab_hdr->contents != (unsigned char *) isymbuf) + free (isymbuf); + if (contents != NULL + && elf_section_data (sec)->this_hdr.contents != contents) + free (contents); + if (internal_relocs != NULL + && elf_section_data (sec)->relocs != internal_relocs) + free (internal_relocs); + + return FALSE; +} + #define ELF_ARCH bfd_arch_msp430 #define ELF_MACHINE_CODE EM_MSP430 @@ -703,5 +1173,6 @@ elf32_msp430_post_process_headers (abfd, #define elf_backend_final_write_processing bfd_elf_msp430_final_write_processing #define elf_backend_object_p elf32_msp430_object_p #define elf_backend_post_process_headers elf32_msp430_post_process_headers +#define bfd_elf32_bfd_relax_section msp430_elf_relax_section #include "elf32-target.h" diff -uprN binutils-2.15.91.0.2/bfd/elf32-ppc.c binutils-2.15.92.0.2/bfd/elf32-ppc.c --- binutils-2.15.91.0.2/bfd/elf32-ppc.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-ppc.c 2004-09-27 13:46:06.000000000 -0700 @@ -329,15 +329,16 @@ ppc_elf_copy_indirect_symbol (const stru if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -2282,18 +2283,16 @@ ppc_elf_merge_private_bfd_data (bfd *ibf { error = TRUE; (*_bfd_error_handler) - (_("%s: compiled with -mrelocatable and linked with " - "modules compiled normally"), - bfd_archive_filename (ibfd)); + (_("%B: compiled with -mrelocatable and linked with " + "modules compiled normally"), ibfd); } else if ((new_flags & (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB)) == 0 && (old_flags & EF_PPC_RELOCATABLE) != 0) { error = TRUE; (*_bfd_error_handler) - (_("%s: compiled normally and linked with " - "modules compiled with -mrelocatable"), - bfd_archive_filename (ibfd)); + (_("%B: compiled normally and linked with " + "modules compiled with -mrelocatable"), ibfd); } /* The output is -mrelocatable-lib iff both the input files are. */ @@ -2319,9 +2318,9 @@ ppc_elf_merge_private_bfd_data (bfd *ibf { error = TRUE; (*_bfd_error_handler) - (_("%s: uses different e_flags (0x%lx) fields " + (_("%B: uses different e_flags (0x%lx) fields " "than previous modules (0x%lx)"), - bfd_archive_filename (ibfd), (long) new_flags, (long) old_flags); + ibfd, (long) new_flags, (long) old_flags); } if (error) @@ -2528,7 +2527,7 @@ elf_finish_pointer_linker_section (bfd * if (! elf_hash_table (info)->dynamic_sections_created || (info->shared && info->symbolic - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2760,15 +2759,6 @@ ppc_elf_additional_program_headers (bfd return ret; } - -/* Modify the segment map if needed. */ - -static bfd_boolean -ppc_elf_modify_segment_map (bfd *abfd ATTRIBUTE_UNUSED, - struct bfd_link_info *info ATTRIBUTE_UNUSED) -{ - return TRUE; -} /* The powerpc .got has a blrl instruction in it. Mark it executable. */ @@ -2874,18 +2864,15 @@ ppc_elf_adjust_dynamic_symbol (struct bf /* Make sure we know what is going on here. */ htab = ppc_elf_hash_table (info); BFD_ASSERT (htab->elf.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* Deal with function syms. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* Clear procedure linkage table information for any symbol that won't need a .plt entry. */ @@ -2905,7 +2892,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf 3. We know for certain that a call to this symbol will go to this object, or will remain undefined. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; } @@ -2915,16 +2902,14 @@ ppc_elf_adjust_dynamic_symbol (struct bf /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -2940,7 +2925,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -2957,7 +2942,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -2996,7 +2981,7 @@ ppc_elf_adjust_dynamic_symbol (struct bf srel = htab->relbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3059,7 +3044,7 @@ allocate_dynrelocs (struct elf_link_hash { /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3089,7 +3074,7 @@ allocate_dynrelocs (struct elf_link_hash function pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -3108,13 +3093,13 @@ allocate_dynrelocs (struct elf_link_hash else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } eh = (struct ppc_elf_link_hash_entry *) h; @@ -3122,14 +3107,14 @@ allocate_dynrelocs (struct elf_link_hash { /* Make sure this symbol is output as a dynamic symbol. */ if (eh->elf.dynindx == -1 - && (eh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !eh->elf.forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, &eh->elf)) return FALSE; } if (eh->tls_mask == (TLS_TLS | TLS_LD) - && !(eh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + && !eh->elf.def_dynamic) /* If just an LD reloc, we'll just use htab->tlsld_got.offset. */ eh->elf.got.offset = (bfd_vma) -1; else @@ -3212,7 +3197,7 @@ allocate_dynrelocs (struct elf_link_hash && eh->dyn_relocs != NULL && h->dynindx == -1 && h->root.type == bfd_link_hash_undefweak - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3224,14 +3209,14 @@ allocate_dynrelocs (struct elf_link_hash symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && h->def_dynamic + && !h->def_regular) { /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3561,8 +3546,8 @@ static void bad_shared_reloc (bfd *abfd, enum elf_ppc_reloc_type r_type) { (*_bfd_error_handler) - (_("%s: relocation %s cannot be used when making a shared object"), - bfd_archive_filename (abfd), + (_("%B: relocation %s cannot be used when making a shared object"), + abfd, ppc_elf_howto_table[r_type]->name); bfd_set_error (bfd_error_bad_value); } @@ -3588,9 +3573,8 @@ ppc_elf_check_relocs (bfd *abfd, return TRUE; #ifdef DEBUG - fprintf (stderr, "ppc_elf_check_relocs called for section %s in %s\n", - bfd_get_section_name (abfd, sec), - bfd_archive_filename (abfd)); + _bfd_error_handler ("ppc_elf_check_relocs called for section %A in %B", + sec, abfd); #endif /* Initialize howto table if not already done. */ @@ -3767,17 +3751,17 @@ ppc_elf_check_relocs (bfd *abfd, { /* It does not make sense to have a procedure linkage table entry for a local symbol. */ - (*_bfd_error_handler) (_("%s(%s+0x%lx): %s reloc against " + (*_bfd_error_handler) (_("%B(%A+0x%lx): %s reloc against " "local symbol"), - bfd_archive_filename (abfd), - sec->name, + abfd, + sec, (long) rel->r_offset, ppc_elf_howto_table[r_type]->name); bfd_set_error (bfd_error_bad_value); return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -3886,7 +3870,7 @@ ppc_elf_check_relocs (bfd *abfd, h->plt.refcount++; /* We may need a copy reloc too. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; } dodyn: @@ -3918,15 +3902,13 @@ ppc_elf_check_relocs (bfd *abfd, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct ppc_elf_dyn_relocs *p; struct ppc_elf_dyn_relocs **head; @@ -4255,7 +4237,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUT is_local = FALSE; if (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) is_local = TRUE; r_type = ELF32_R_TYPE (rel->r_info); @@ -4483,7 +4465,7 @@ ppc_elf_finish_dynamic_symbol (bfd *outp + reloc_index * sizeof (Elf32_External_Rela)); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -4492,13 +4474,12 @@ ppc_elf_finish_dynamic_symbol (bfd *outp Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -4666,12 +4647,11 @@ ppc_elf_relocate_section (bfd *output_bf bfd_boolean ret = TRUE; #ifdef DEBUG - fprintf (stderr, "ppc_elf_relocate_section called for %s section %s, " - "%ld relocations%s\n", - bfd_archive_filename (input_bfd), - bfd_section_name(input_bfd, input_section), - (long) input_section->reloc_count, - (info->relocatable) ? " (relocatable)" : ""); + _bfd_error_handler ("ppc_elf_relocate_section called for %B section %A, " + "%ld relocations%s", + input_bfd, input_section, + (long) input_section->reloc_count, + (info->relocatable) ? " (relocatable)" : ""); #endif if (info->relocatable) @@ -4974,8 +4954,8 @@ ppc_elf_relocate_section (bfd *output_bf { default: (*_bfd_error_handler) - (_("%s: unknown relocation type %d for symbol %s"), - bfd_archive_filename (input_bfd), (int) r_type, sym_name); + (_("%B: unknown relocation type %d for symbol %s"), + input_bfd, (int) r_type, sym_name); bfd_set_error (bfd_error_bad_value); ret = FALSE; @@ -5038,7 +5018,7 @@ ppc_elf_relocate_section (bfd *output_bf indx = 0; if (tls_type == (TLS_TLS | TLS_LD) && (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + || !h->def_dynamic)) offp = &htab->tlsld_got.offset; else if (h != NULL) { @@ -5081,8 +5061,7 @@ ppc_elf_relocate_section (bfd *output_bf if (offp == &htab->tlsld_got.offset) tls_m = TLS_LD; else if (h == NULL - || !(h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) tls_m &= ~TLS_LD; /* We might have multiple got entries for this sym. @@ -5201,8 +5180,7 @@ ppc_elf_relocate_section (bfd *output_bf { if ((tls_mask & TLS_LD) != 0 && !(h == NULL - || !(h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC))) + || !h->def_dynamic)) off += 8; if (tls_type != (TLS_TLS | TLS_GD)) { @@ -5225,9 +5203,9 @@ ppc_elf_relocate_section (bfd *output_bf got at entry m+n bears little relation to the entry m. */ if (addend != 0) (*_bfd_error_handler) - (_("%s(%s+0x%lx): non-zero addend on %s reloc against `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): non-zero addend on %s reloc against `%s'"), + input_bfd, + input_section, (long) rel->r_offset, howto->name, sym_name); @@ -5329,9 +5307,9 @@ ppc_elf_relocate_section (bfd *output_bf && (input_section->flags & SEC_ALLOC) != 0 && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)) + && !h->non_got_ref + && h->def_dynamic + && !h->def_regular)) { int skip; @@ -5538,9 +5516,9 @@ ppc_elf_relocate_section (bfd *output_bf && (name[5] == 0 || name[5] == '.')))) { (*_bfd_error_handler) - (_("%s: the target (%s) of a %s relocation is " + (_("%B: the target (%s) of a %s relocation is " "in the wrong output section (%s)"), - bfd_archive_filename (input_bfd), + input_bfd, sym_name, howto->name, name); @@ -5564,9 +5542,9 @@ ppc_elf_relocate_section (bfd *output_bf || strncmp (name, ".sbss2", 6) == 0)) { (*_bfd_error_handler) - (_("%s: the target (%s) of a %s relocation is " + (_("%B: the target (%s) of a %s relocation is " "in the wrong output section (%s)"), - bfd_archive_filename (input_bfd), + input_bfd, sym_name, howto->name, name); @@ -5623,9 +5601,9 @@ ppc_elf_relocate_section (bfd *output_bf else { (*_bfd_error_handler) - (_("%s: the target (%s) of a %s relocation is " + (_("%B: the target (%s) of a %s relocation is " "in the wrong output section (%s)"), - bfd_archive_filename (input_bfd), + input_bfd, sym_name, howto->name, name); @@ -5678,8 +5656,8 @@ ppc_elf_relocate_section (bfd *output_bf case R_PPC_EMB_RELST_HA: case R_PPC_EMB_BIT_FLD: (*_bfd_error_handler) - (_("%s: relocation %s is not yet supported for symbol %s."), - bfd_archive_filename (input_bfd), + (_("%B: relocation %s is not yet supported for symbol %s."), + input_bfd, howto->name, sym_name); @@ -5730,12 +5708,12 @@ ppc_elf_relocate_section (bfd *output_bf if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, howto->name, sym_name); @@ -5783,9 +5761,8 @@ ppc_elf_relocate_section (bfd *output_bf else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): %s reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, howto->name, sym_name, (int) r); ret = FALSE; } @@ -6027,20 +6004,20 @@ ppc_elf_begin_write_processing (bfd *abf length = asec->size; if (length < 24) { - error_message = _("corrupt or empty %s section in %s"); + error_message = _("corrupt or empty %s section in %B"); goto fail; } if (bfd_seek (ibfd, asec->filepos, SEEK_SET) != 0 || (bfd_bread (buffer + offset, length, ibfd) != length)) { - error_message = _("unable to read in %s section from %s"); + error_message = _("unable to read in %s section from %B"); goto fail; } /* Process the contents of the section. */ ptr = buffer + offset; - error_message = _("corrupt %s section in %s"); + error_message = _("corrupt %s section in %B"); /* Verify the contents of the header. Note - we have to extract the values this way in order to allow for a @@ -6083,14 +6060,13 @@ ppc_elf_begin_write_processing (bfd *abf if (! bfd_set_section_size (abfd, asec, output_section_size)) ibfd = abfd, - error_message = _("warning: unable to set size of %s section in %s"); + error_message = _("warning: unable to set size of %s section in %B"); fail: free (buffer); if (error_message) - (*_bfd_error_handler) (error_message, APUINFO_SECTION_NAME, - bfd_archive_filename (ibfd)); + (*_bfd_error_handler) (error_message, ibfd, APUINFO_SECTION_NAME); } @@ -6242,7 +6218,6 @@ static struct bfd_elf_special_section co #define elf_backend_finish_dynamic_sections ppc_elf_finish_dynamic_sections #define elf_backend_fake_sections ppc_elf_fake_sections #define elf_backend_additional_program_headers ppc_elf_additional_program_headers -#define elf_backend_modify_segment_map ppc_elf_modify_segment_map #define elf_backend_grok_prstatus ppc_elf_grok_prstatus #define elf_backend_grok_psinfo ppc_elf_grok_psinfo #define elf_backend_reloc_type_class ppc_elf_reloc_type_class diff -uprN binutils-2.15.91.0.2/bfd/elf32-s390.c binutils-2.15.92.0.2/bfd/elf32-s390.c --- binutils-2.15.91.0.2/bfd/elf32-s390.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-s390.c 2004-09-27 13:46:06.000000000 -0700 @@ -899,15 +899,16 @@ elf_s390_copy_indirect_symbol (bed, dir, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -980,9 +981,8 @@ elf_s390_check_relocs (abfd, info, sec, if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), - r_symndx); + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -1069,7 +1069,7 @@ elf_s390_check_relocs (abfd, info, sec, creating a procedure linkage table entry. */ if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } break; @@ -1090,7 +1090,7 @@ elf_s390_check_relocs (abfd, info, sec, if (h != NULL) { ((struct elf_s390_link_hash_entry *) h)->gotplt_refcount++; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } else @@ -1158,8 +1158,8 @@ elf_s390_check_relocs (abfd, info, sec, if (old_tls_type == GOT_NORMAL || tls_type == GOT_NORMAL) { (*_bfd_error_handler) - (_("%s: `%s' accessed both as normal and thread local symbol"), - bfd_archive_filename (abfd), h->root.root.string); + (_("%B: `%s' accessed both as normal and thread local symbol"), + abfd, h->root.root.string); return FALSE; } if (old_tls_type > tls_type) @@ -1199,7 +1199,7 @@ elf_s390_check_relocs (abfd, info, sec, sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ @@ -1236,15 +1236,13 @@ elf_s390_check_relocs (abfd, info, sec, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_s390_dyn_relocs *p; struct elf_s390_dyn_relocs **head; @@ -1269,8 +1267,8 @@ elf_s390_check_relocs (abfd, info, sec, name + 5) != 0) { (*_bfd_error_handler) - (_("%s: bad relocation section name `%s\'"), - bfd_archive_filename (abfd), name); + (_("%B: bad relocation section name `%s\'"), + abfd, name); } if (htab->elf.dynobj == NULL) @@ -1581,12 +1579,12 @@ elf_s390_adjust_dynamic_symbol (info, h) will fill in the contents of the procedure linkage table later (although we could actually do it here). */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1596,7 +1594,7 @@ elf_s390_adjust_dynamic_symbol (info, h) such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1613,16 +1611,14 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1638,13 +1634,13 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1665,7 +1661,7 @@ elf_s390_adjust_dynamic_symbol (info, h) we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1688,7 +1684,7 @@ elf_s390_adjust_dynamic_symbol (info, h) if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1749,7 +1745,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1773,7 +1769,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1792,14 +1788,14 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1832,7 +1828,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1900,9 +1896,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1910,7 +1906,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2231,9 +2227,9 @@ invalid_tls_insn (input_bfd, input_secti howto = elf_howto_table + ELF32_R_TYPE (rel->r_info); (*_bfd_error_handler) - (_("%s(%s+0x%lx): invalid instruction for TLS relocation %s"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): invalid instruction for TLS relocation %s"), + input_bfd, + input_section, (long) rel->r_offset, howto->name); } @@ -2373,8 +2369,8 @@ elf_s390_relocate_section (output_bfd, i || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) || (ELF_ST_VISIBILITY (h->other) && h->root.type == bfd_link_hash_undefweak)) { @@ -2554,11 +2550,9 @@ elf_s390_relocate_section (output_bfd, i && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2594,8 +2588,7 @@ elf_s390_relocate_section (output_bfd, i || r_type == R_390_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2991,11 +2984,11 @@ elf_s390_relocate_section (output_bfd, i not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); @@ -3043,9 +3036,8 @@ elf_s390_relocate_section (output_bfd, i else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, name, (int) r); return FALSE; } @@ -3196,7 +3188,7 @@ elf_s390_finish_dynamic_symbol (output_b loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. This is a clue @@ -3233,8 +3225,8 @@ elf_s390_finish_dynamic_symbol (output_b if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { BFD_ASSERT((h->got.offset & 1) != 0); rela.r_info = ELF32_R_INFO (0, R_390_RELATIVE); @@ -3255,7 +3247,7 @@ elf_s390_finish_dynamic_symbol (output_b bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff -uprN binutils-2.15.91.0.2/bfd/elf32-sh-symbian.c binutils-2.15.92.0.2/bfd/elf32-sh-symbian.c --- binutils-2.15.91.0.2/bfd/elf32-sh-symbian.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-sh-symbian.c 2004-09-16 10:24:35.000000000 -0700 @@ -125,8 +125,8 @@ sh_symbian_import_as (struct bfd_link_in return TRUE; bfd_set_error (bfd_error_invalid_operation); - _bfd_error_handler (_("%s: IMPORT AS directive for %s conceals previous IMPORT AS"), - bfd_archive_filename (abfd), current_name); + _bfd_error_handler (_("%B: IMPORT AS directive for %s conceals previous IMPORT AS"), + abfd, current_name); return FALSE; } @@ -377,8 +377,8 @@ sh_symbian_process_embedded_commands (st fprintf (stderr, "offset into .directive section: %d\n", directive - contents); bfd_set_error (bfd_error_invalid_operation); - _bfd_error_handler (_("%s: Unrecognised .directive command: %s"), - bfd_archive_filename (abfd), directive); + _bfd_error_handler (_("%B: Unrecognised .directive command: %s"), + abfd, directive); break; } } @@ -495,8 +495,8 @@ sh_symbian_relocate_section (bfd * & new_value, & new_hash, & skip, & override, & type_change_ok, & size_change_ok)) { - _bfd_error_handler (_("%s: Failed to add renamed symbol %s"), - bfd_archive_filename (input_bfd), ptr->new_name); + _bfd_error_handler (_("%B: Failed to add renamed symbol %s"), + input_bfd, ptr->new_name); continue; } /* XXX - should we check psec, skip, override etc ? */ @@ -505,7 +505,7 @@ sh_symbian_relocate_section (bfd * /* Allow the symbol to become local if necessary. */ if (new_hash->dynindx == -1) - new_hash->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + new_hash->def_regular = 1; if (DEBUG) fprintf (stderr, "Created new symbol %s\n", ptr->new_name); diff -uprN binutils-2.15.91.0.2/bfd/elf32-sh.c binutils-2.15.92.0.2/bfd/elf32-sh.c --- binutils-2.15.91.0.2/bfd/elf32-sh.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-sh.c 2004-09-27 13:46:06.000000000 -0700 @@ -2242,8 +2242,8 @@ sh_elf_relax_section (bfd *abfd, asectio laddr = irel->r_offset + 4 + irel->r_addend; if (laddr >= sec->size) { - (*_bfd_error_handler) (_("%s: 0x%lx: warning: bad R_SH_USES offset"), - bfd_archive_filename (abfd), + (*_bfd_error_handler) (_("%B: 0x%lx: warning: bad R_SH_USES offset"), + abfd, (unsigned long) irel->r_offset); continue; } @@ -2254,8 +2254,8 @@ sh_elf_relax_section (bfd *abfd, asectio if ((insn & 0xf000) != 0xd000) { ((*_bfd_error_handler) - (_("%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"), - bfd_archive_filename (abfd), (unsigned long) irel->r_offset, insn)); + (_("%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x"), + abfd, (unsigned long) irel->r_offset, insn)); continue; } @@ -2271,8 +2271,8 @@ sh_elf_relax_section (bfd *abfd, asectio if (paddr >= sec->size) { ((*_bfd_error_handler) - (_("%s: 0x%lx: warning: bad R_SH_USES load offset"), - bfd_archive_filename (abfd), (unsigned long) irel->r_offset)); + (_("%B: 0x%lx: warning: bad R_SH_USES load offset"), + abfd, (unsigned long) irel->r_offset)); continue; } @@ -2286,8 +2286,8 @@ sh_elf_relax_section (bfd *abfd, asectio if (irelfn >= irelend) { ((*_bfd_error_handler) - (_("%s: 0x%lx: warning: could not find expected reloc"), - bfd_archive_filename (abfd), (unsigned long) paddr)); + (_("%B: 0x%lx: warning: could not find expected reloc"), + abfd, (unsigned long) paddr)); continue; } @@ -2314,8 +2314,8 @@ sh_elf_relax_section (bfd *abfd, asectio != (unsigned int) _bfd_elf_section_from_bfd_section (abfd, sec)) { ((*_bfd_error_handler) - (_("%s: 0x%lx: warning: symbol in unexpected section"), - bfd_archive_filename (abfd), (unsigned long) paddr)); + (_("%B: 0x%lx: warning: symbol in unexpected section"), + abfd, (unsigned long) paddr)); continue; } @@ -2439,8 +2439,8 @@ sh_elf_relax_section (bfd *abfd, asectio if (irelcount >= irelend) { ((*_bfd_error_handler) - (_("%s: 0x%lx: warning: could not find expected COUNT reloc"), - bfd_archive_filename (abfd), (unsigned long) paddr)); + (_("%B: 0x%lx: warning: could not find expected COUNT reloc"), + abfd, (unsigned long) paddr)); continue; } @@ -2448,8 +2448,8 @@ sh_elf_relax_section (bfd *abfd, asectio just deleted one. */ if (irelcount->r_addend == 0) { - ((*_bfd_error_handler) (_("%s: 0x%lx: warning: bad count"), - bfd_archive_filename (abfd), + ((*_bfd_error_handler) (_("%B: 0x%lx: warning: bad count"), + abfd, (unsigned long) paddr)); continue; } @@ -2843,8 +2843,8 @@ sh_elf_relax_delete_bytes (bfd *abfd, as if (overflow) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: reloc overflow while relaxing"), - bfd_archive_filename (abfd), (unsigned long) irel->r_offset)); + (_("%B: 0x%lx: fatal: reloc overflow while relaxing"), + abfd, (unsigned long) irel->r_offset)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -3213,8 +3213,8 @@ sh_elf_swap_insns (bfd *abfd, asection * if (overflow) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: reloc overflow while relaxing"), - bfd_archive_filename (abfd), (unsigned long) irel->r_offset)); + (_("%B: 0x%lx: fatal: reloc overflow while relaxing"), + abfd, (unsigned long) irel->r_offset)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -3910,7 +3910,7 @@ sh_elf_create_dynamic_sections (bfd *abf return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -4017,20 +4017,17 @@ sh_elf_adjust_dynamic_symbol (struct bfd /* Make sure we know what is going on here. */ BFD_ASSERT (htab->root.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -4043,7 +4040,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd a procedure linkage table, and we can just do a REL32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -4054,16 +4051,14 @@ sh_elf_adjust_dynamic_symbol (struct bfd /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -4079,13 +4074,13 @@ sh_elf_adjust_dynamic_symbol (struct bfd /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -4102,7 +4097,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -4130,7 +4125,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -4182,7 +4177,7 @@ allocate_dynrelocs (struct elf_link_hash eh = (struct elf_sh_link_hash_entry *) h; if ((h->got.refcount > 0 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) + || h->forced_local) && eh->gotplt_refcount > 0) { /* The symbol has been forced local, or we have some direct got refs, @@ -4200,7 +4195,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4224,7 +4219,7 @@ allocate_dynrelocs (struct elf_link_hash pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -4243,13 +4238,13 @@ allocate_dynrelocs (struct elf_link_hash else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -4261,7 +4256,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4299,7 +4294,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4354,9 +4349,9 @@ allocate_dynrelocs (struct elf_link_hash symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -4364,7 +4359,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4795,9 +4790,8 @@ sh_elf_relocate_section (bfd *output_bfd if (howto->rightshift || howto->src_mask != 0xffffffff) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s relocation against SEC_MERGE section"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"), + input_bfd, input_section, (long) rel->r_offset, howto->name); return FALSE; } @@ -4863,8 +4857,7 @@ sh_elf_relocate_section (bfd *output_bfd && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) /* The cases above are those in which relocation is overwritten in the switch block below. The cases below are those in which we must defer relocation @@ -4872,11 +4865,9 @@ sh_elf_relocate_section (bfd *output_bfd addresses when creating a shared library. */ || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((r_type == R_SH_DIR32 - && (h->elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) || r_type == R_SH_REL32) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_SH_DIR32 relocations in its @@ -4884,15 +4875,13 @@ sh_elf_relocate_section (bfd *output_bfd in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))) + && h->def_dynamic))) /* Dynamic relocs are not propagated for SEC_DEBUGGING sections because such sections are not SEC_ALLOC and thus ld.so will not process them. */ || (sec->output_section == NULL && ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) || (sec->output_section == NULL && (sh_elf_hash_entry (h)->tls_type == GOT_TLS_IE || sh_elf_hash_entry (h)->tls_type == GOT_TLS_GD))) @@ -4900,9 +4889,8 @@ sh_elf_relocate_section (bfd *output_bfd else if (sec->output_section == NULL) { (*_bfd_error_handler) - (_("%s: unresolvable relocation against symbol `%s' from %s section"), - bfd_archive_filename (input_bfd), h->root.root.string, - bfd_get_section_name (input_bfd, input_section)); + (_("%B(%A): unresolvable relocation against symbol `%s'"), + input_bfd, input_section, h->root.root.string); return FALSE; } else @@ -4971,8 +4959,8 @@ sh_elf_relocate_section (bfd *output_bfd if (disp & mask) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: unaligned branch target for relax-support relocation"), - bfd_archive_filename (input_section->owner), + (_("%B: 0x%lx: fatal: unaligned branch target for relax-support relocation"), + input_section->owner, (unsigned long) rel->r_offset)); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -5004,10 +4992,10 @@ sh_elf_relocate_section (bfd *output_bfd if (relocation & 3) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: unaligned %s relocation 0x%lx"), - bfd_archive_filename (input_section->owner), + (_("%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"), + input_section->owner, (unsigned long) rel->r_offset, howto->name, - (unsigned long)relocation)); + (unsigned long) relocation)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5019,10 +5007,10 @@ sh_elf_relocate_section (bfd *output_bfd if (relocation & 1) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: unaligned %s relocation 0x%lx"), - bfd_archive_filename (input_section->owner), + (_("%B: 0x%lx: fatal: unaligned %s relocation 0x%lx"), + input_section->owner, (unsigned long) rel->r_offset, howto->name, - (unsigned long)relocation)); + (unsigned long) relocation)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5033,10 +5021,10 @@ sh_elf_relocate_section (bfd *output_bfd || (signed int)relocation > 32) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"), - bfd_archive_filename (input_section->owner), + (_("%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32"), + input_section->owner, (unsigned long) rel->r_offset, - (unsigned long)relocation)); + (unsigned long) relocation)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5047,10 +5035,10 @@ sh_elf_relocate_section (bfd *output_bfd || (signed int)relocation > 16) { ((*_bfd_error_handler) - (_("%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"), - bfd_archive_filename (input_section->owner), + (_("%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32"), + input_section->owner, (unsigned long) rel->r_offset, - (unsigned long)relocation)); + (unsigned long) relocation)); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5140,8 +5128,7 @@ sh_elf_relocate_section (bfd *output_bfd become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF32_R_INFO (0, R_SH_RELATIVE); @@ -5185,7 +5172,7 @@ sh_elf_relocate_section (bfd *output_bfd procedure linkage table. */ if (h == NULL - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + || h->forced_local || ! info->shared || info->symbolic || h->dynindx == -1 @@ -5413,7 +5400,7 @@ sh_elf_relocate_section (bfd *output_bfd if (h == NULL) goto final_link_relocate; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) goto final_link_relocate; if (h->plt.offset == (bfd_vma) -1) @@ -5466,7 +5453,7 @@ sh_elf_relocate_section (bfd *output_bfd tls_type = sh_elf_hash_entry (h)->tls_type; if (! info->shared && (h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->def_regular)) r_type = R_SH_TLS_LE_32; } @@ -6309,15 +6296,16 @@ sh_elf_copy_indirect_symbol (const struc } if (ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -6413,7 +6401,7 @@ sh_elf_check_relocs (bfd *abfd, struct b && h->root.type != bfd_link_hash_undefined && h->root.type != bfd_link_hash_undefweak && (h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->def_regular)) r_type = R_SH_TLS_LE_32; /* Some relocs require a global offset table. */ @@ -6577,8 +6565,8 @@ sh_elf_check_relocs (bfd *abfd, struct b else { (*_bfd_error_handler) - (_("%s: `%s' accessed both as normal and thread local symbol"), - bfd_archive_filename (abfd), h->root.root.string); + (_("%B: `%s' accessed both as normal and thread local symbol"), + abfd, h->root.root.string); return FALSE; } } @@ -6610,13 +6598,13 @@ sh_elf_check_relocs (bfd *abfd, struct b creating a procedure linkage table entry. */ if (h == NULL - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + || h->forced_local || ! info->shared || info->symbolic || h->dynindx == -1) goto force_got; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; ((struct elf_sh_link_hash_entry *) h)->gotplt_refcount += 1; @@ -6641,10 +6629,10 @@ sh_elf_check_relocs (bfd *abfd, struct b if (h == NULL) continue; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -6658,7 +6646,7 @@ sh_elf_check_relocs (bfd *abfd, struct b #endif if (h != NULL && ! info->shared) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; h->plt.refcount += 1; } @@ -6687,14 +6675,12 @@ sh_elf_check_relocs (bfd *abfd, struct b || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (! info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_sh_dyn_relocs *p; struct elf_sh_dyn_relocs **head; @@ -6789,8 +6775,9 @@ sh_elf_check_relocs (bfd *abfd, struct b case R_SH_TLS_LE_32: if (info->shared) { - (*_bfd_error_handler) (_("%s: TLS local exec code cannot be linked into shared objects"), - bfd_archive_filename (abfd)); + (*_bfd_error_handler) + (_("%B: TLS local exec code cannot be linked into shared objects"), + abfd); return FALSE; } @@ -6913,7 +6900,13 @@ sh_elf_merge_private_data (bfd *ibfd, bf } if (! sh_merge_bfd_arch (ibfd, obfd)) - return FALSE; + { + _bfd_error_handler ("%B: uses instructions which are incompatible " + "with instructions used in previous modules", + ibfd); + bfd_set_error (bfd_error_bad_value); + return FALSE; + } elf_elfheader (obfd)->e_flags = sh_elf_get_flags_from_mach (bfd_get_mach (obfd)); @@ -7076,7 +7069,7 @@ sh_elf_finish_dynamic_symbol (bfd *outpu loc = srel->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -7180,7 +7173,7 @@ sh_elf_finish_dynamic_symbol (bfd *outpu } #endif - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rel; diff -uprN binutils-2.15.91.0.2/bfd/elf32-sh64.c binutils-2.15.92.0.2/bfd/elf32-sh64.c --- binutils-2.15.91.0.2/bfd/elf32-sh64.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-sh64.c 2004-09-16 10:24:35.000000000 -0700 @@ -425,7 +425,7 @@ sh64_elf_add_symbol_hook (bfd *abfd, str } h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; h->type = STT_DATALABEL; } else diff -uprN binutils-2.15.91.0.2/bfd/elf32-sparc.c binutils-2.15.92.0.2/bfd/elf32-sparc.c --- binutils-2.15.91.0.2/bfd/elf32-sparc.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-sparc.c 2004-09-27 13:46:06.000000000 -0700 @@ -913,9 +913,8 @@ elf32_sparc_check_relocs (abfd, info, se if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), - r_symndx); + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -1037,9 +1036,8 @@ elf32_sparc_check_relocs (abfd, info, se else { (*_bfd_error_handler) - (_("%s: `%s' accessed both as normal and thread local symbol"), - bfd_archive_filename (abfd), - h ? h->root.root.string : ""); + (_("%B: `%s' accessed both as normal and thread local symbol"), + abfd, h ? h->root.root.string : ""); return FALSE; } } @@ -1100,7 +1098,7 @@ elf32_sparc_check_relocs (abfd, info, se break; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (ELF32_R_TYPE (rel->r_info) == R_SPARC_PLT32) goto r_sparc_plt32; @@ -1110,7 +1108,7 @@ elf32_sparc_check_relocs (abfd, info, se case R_SPARC_PC10: case R_SPARC_PC22: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; if (h != NULL && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) @@ -1134,7 +1132,7 @@ elf32_sparc_check_relocs (abfd, info, se case R_SPARC_UA16: case R_SPARC_UA32: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; r_sparc_plt32: if (h != NULL && !info->shared) @@ -1171,14 +1169,12 @@ elf32_sparc_check_relocs (abfd, info, se || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf32_sparc_dyn_relocs *p; struct elf32_sparc_dyn_relocs **head; @@ -1459,14 +1455,11 @@ elf32_sparc_adjust_dynamic_symbol (info, /* Make sure we know what is going on here. */ BFD_ASSERT (htab->elf.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later @@ -1476,7 +1469,7 @@ elf32_sparc_adjust_dynamic_symbol (info, some of their functions as STT_NOTYPE when they really should be STT_FUNC. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + || h->needs_plt || (h->type == STT_NOTYPE && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -1484,8 +1477,8 @@ elf32_sparc_adjust_dynamic_symbol (info, { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1495,7 +1488,7 @@ elf32_sparc_adjust_dynamic_symbol (info, such a case, we don't actually need to build a procedure linkage table, and we can just do a WDISP30 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1506,12 +1499,12 @@ elf32_sparc_adjust_dynamic_symbol (info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1527,7 +1520,7 @@ elf32_sparc_adjust_dynamic_symbol (info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; eh = (struct elf32_sparc_link_hash_entry *) h; @@ -1542,7 +1535,7 @@ elf32_sparc_adjust_dynamic_symbol (info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1563,7 +1556,7 @@ elf32_sparc_adjust_dynamic_symbol (info, if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1622,7 +1615,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1651,7 +1644,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1666,13 +1659,13 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_SPARC_TLS_IE_{HI22,LO10} symbol is now local to the binary, @@ -1691,7 +1684,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1730,8 +1723,8 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->def_regular + && (h->forced_local || info->symbolic)) { struct elf32_sparc_dyn_relocs **pp; @@ -1753,9 +1746,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1763,7 +1756,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2231,8 +2224,8 @@ elf32_sparc_relocate_section (output_bfd || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2380,16 +2373,13 @@ elf32_sparc_relocate_section (output_bfd || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2454,8 +2444,7 @@ elf32_sparc_relocate_section (output_bfd become local. */ else if (h != NULL && ! is_plt && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -2495,8 +2484,8 @@ elf32_sparc_relocate_section (output_bfd { BFD_FAIL (); (*_bfd_error_handler) - (_("%s: probably compiled without -fPIC?"), - bfd_archive_filename (input_bfd)); + (_("%B: probably compiled without -fPIC?"), + input_bfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -2851,11 +2840,11 @@ elf32_sparc_relocate_section (output_bfd not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); @@ -3102,7 +3091,7 @@ elf32_sparc_finish_dynamic_symbol (outpu loc += (h->plt.offset / PLT_ENTRY_SIZE - 4) * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3111,8 +3100,7 @@ elf32_sparc_finish_dynamic_symbol (outpu Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -3144,7 +3132,7 @@ elf32_sparc_finish_dynamic_symbol (outpu initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { asection *sec = h->root.u.def.section; rela.r_info = ELF32_R_INFO (0, R_SPARC_RELATIVE); @@ -3165,7 +3153,7 @@ elf32_sparc_finish_dynamic_symbol (outpu bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -3303,6 +3291,7 @@ elf32_sparc_merge_private_bfd_data (ibfd bfd *obfd; { bfd_boolean error; + unsigned long ibfd_mach; /* FIXME: This should not be static. */ static unsigned long previous_ibfd_e_flags = (unsigned long) -1; @@ -3312,17 +3301,17 @@ elf32_sparc_merge_private_bfd_data (ibfd error = FALSE; - if (bfd_get_mach (ibfd) >= bfd_mach_sparc_v9) + ibfd_mach = bfd_get_mach (ibfd); + if (bfd_mach_sparc_64bit_p (ibfd_mach)) { error = TRUE; (*_bfd_error_handler) - (_("%s: compiled for a 64 bit system and target is 32 bit"), - bfd_archive_filename (ibfd)); + (_("%B: compiled for a 64 bit system and target is 32 bit"), ibfd); } else if ((ibfd->flags & DYNAMIC) == 0) { - if (bfd_get_mach (obfd) < bfd_get_mach (ibfd)) - bfd_set_arch_mach (obfd, bfd_arch_sparc, bfd_get_mach (ibfd)); + if (bfd_get_mach (obfd) < ibfd_mach) + bfd_set_arch_mach (obfd, bfd_arch_sparc, ibfd_mach); } if (((elf_elfheader (ibfd)->e_flags & EF_SPARC_LEDATA) @@ -3330,8 +3319,7 @@ elf32_sparc_merge_private_bfd_data (ibfd && previous_ibfd_e_flags != (unsigned long) -1) { (*_bfd_error_handler) - (_("%s: linking little endian files with big endian files"), - bfd_archive_filename (ibfd)); + (_("%B: linking little endian files with big endian files"), ibfd); error = TRUE; } previous_ibfd_e_flags = elf_elfheader (ibfd)->e_flags & EF_SPARC_LEDATA; @@ -3383,6 +3371,8 @@ elf32_sparc_final_write_processing (abfd switch (bfd_get_mach (abfd)) { case bfd_mach_sparc : + case bfd_mach_sparc_sparclet : + case bfd_mach_sparc_sparclite : break; /* nothing to do */ case bfd_mach_sparc_v8plus : elf_elfheader (abfd)->e_machine = EM_SPARC32PLUS; @@ -3401,7 +3391,6 @@ elf32_sparc_final_write_processing (abfd | EF_SPARC_SUN_US3; break; case bfd_mach_sparc_sparclite_le : - elf_elfheader (abfd)->e_machine = EM_SPARC; elf_elfheader (abfd)->e_flags |= EF_SPARC_LEDATA; break; default : diff -uprN binutils-2.15.91.0.2/bfd/elf32-v850.c binutils-2.15.92.0.2/bfd/elf32-v850.c --- binutils-2.15.91.0.2/bfd/elf32-v850.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-v850.c 2004-09-15 12:05:02.000000000 -0700 @@ -656,9 +656,8 @@ v850_elf_check_relocs (abfd, info, sec, return TRUE; #ifdef DEBUG - fprintf (stderr, "v850_elf_check_relocs called for section %s in %s\n", - bfd_get_section_name (abfd, sec), - bfd_archive_filename (abfd)); + _bfd_error_handler ("v850_elf_check_relocs called for section %A in %B", + sec, abfd); #endif dynobj = elf_hash_table (info)->dynobj; @@ -1948,8 +1947,8 @@ v850_elf_merge_private_bfd_data (ibfd, o return TRUE; } - _bfd_error_handler (_("%s: Architecture mismatch with previous modules"), - bfd_archive_filename (ibfd)); + _bfd_error_handler (_("%B: Architecture mismatch with previous modules"), + ibfd); } return TRUE; diff -uprN binutils-2.15.91.0.2/bfd/elf32-vax.c binutils-2.15.92.0.2/bfd/elf32-vax.c --- binutils-2.15.91.0.2/bfd/elf32-vax.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-vax.c 2004-09-27 13:46:06.000000000 -0700 @@ -682,7 +682,7 @@ elf_vax_check_relocs (abfd, info, sec, r if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (h->plt.refcount == -1) h->plt.refcount = 1; else @@ -706,8 +706,7 @@ elf_vax_check_relocs (abfd, info, sec, r && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { if (h != NULL) { @@ -962,24 +961,21 @@ elf_vax_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic /* We must always create the plt entry if it was referenced by a PLTxxO relocation. In this case we already recorded it as a dynamic symbol. */ @@ -990,7 +986,7 @@ elf_vax_adjust_dynamic_symbol (info, h) object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a PCxx reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -998,7 +994,7 @@ elf_vax_adjust_dynamic_symbol (info, h) /* GC may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -1026,7 +1022,7 @@ elf_vax_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -1060,12 +1056,12 @@ elf_vax_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1103,7 +1099,7 @@ elf_vax_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1349,7 +1345,7 @@ elf_vax_discard_copies (h, ignore) h = (struct elf_vax_link_hash_entry *) h->root.root.u.i.link; /* We only discard relocs for symbols defined in a regular object. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->root.def_regular) return TRUE; for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -1504,12 +1500,10 @@ elf_vax_relocate_section (output_bfd, in && elf_hash_table (info)->dynamic_sections_created && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_VAX_32 relocations in its sections against symbols defined externally @@ -1517,8 +1511,7 @@ elf_vax_relocate_section (output_bfd, in with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) && (r_type == R_VAX_8 || r_type == R_VAX_16 || r_type == R_VAX_32 @@ -1558,7 +1551,7 @@ elf_vax_relocate_section (output_bfd, in if (info->shared && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { /* The symbol was forced to be local because of a version file.. We must initialize @@ -1665,8 +1658,7 @@ elf_vax_relocate_section (output_bfd, in && r_type != R_VAX_PC16 && r_type != R_VAX_PC32) || (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1714,8 +1706,7 @@ elf_vax_relocate_section (output_bfd, in become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -1923,7 +1914,7 @@ elf_vax_finish_dynamic_symbol (output_bf loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1954,7 +1945,7 @@ elf_vax_finish_dynamic_symbol (output_bf the relocate_section function. */ if (info->shared && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_VAX_RELATIVE); } @@ -1971,7 +1962,7 @@ elf_vax_finish_dynamic_symbol (output_bf bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff -uprN binutils-2.15.91.0.2/bfd/elf32-xtensa.c binutils-2.15.92.0.2/bfd/elf32-xtensa.c --- binutils-2.15.91.0.2/bfd/elf32-xtensa.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf32-xtensa.c 2004-09-27 13:46:06.000000000 -0700 @@ -641,9 +641,8 @@ elf_xtensa_check_relocs (abfd, info, sec if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), - r_symndx); + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -682,7 +681,7 @@ elf_xtensa_check_relocs (abfd, info, sec { if (h->plt.refcount <= 0) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount = 1; } else @@ -985,12 +984,12 @@ elf_xtensa_adjust_dynamic_symbol (info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2101,11 +2100,11 @@ elf_xtensa_relocate_section (output_bfd, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); @@ -2161,8 +2160,8 @@ elf_xtensa_finish_dynamic_symbol (output struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (h->needs_plt + && !h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -2523,8 +2522,8 @@ elf_xtensa_merge_private_bfd_data (ibfd, if (out_mach != in_mach) { (*_bfd_error_handler) - ("%s: incompatible machine type. Output is 0x%x. Input is 0x%x", - bfd_archive_filename (ibfd), out_mach, in_mach); + ("%B: incompatible machine type. Output is 0x%x. Input is 0x%x", + ibfd, out_mach, in_mach); bfd_set_error (bfd_error_wrong_format); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/elf64-alpha.c binutils-2.15.92.0.2/bfd/elf64-alpha.c --- binutils-2.15.91.0.2/bfd/elf64-alpha.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-alpha.c 2004-09-27 13:46:06.000000000 -0700 @@ -1257,8 +1257,8 @@ elf64_alpha_relax_with_lituse (info, sym if (lit_insn >> 26 != OP_LDQ) { ((*_bfd_error_handler) - ("%s: %s+0x%lx: warning: LITERAL relocation against unexpected insn", - bfd_archive_filename (info->abfd), info->sec->name, + ("%B: %A+0x%lx: warning: LITERAL relocation against unexpected insn", + info->abfd, info->sec, (unsigned long) irel->r_offset)); return TRUE; } @@ -1570,8 +1570,8 @@ elf64_alpha_relax_got_load (info, symval { reloc_howto_type *howto = elf64_alpha_howto_table + r_type; ((*_bfd_error_handler) - ("%s: %s+0x%lx: warning: %s relocation against unexpected insn", - bfd_archive_filename (info->abfd), info->sec->name, + ("%B: %A+0x%lx: warning: %s relocation against unexpected insn", + info->abfd, info->sec, (unsigned long) irel->r_offset, howto->name)); return TRUE; } @@ -2111,7 +2111,7 @@ elf64_alpha_relax_section (abfd, sec, li /* If the symbol isn't defined in the current module, again we can't do anything. */ - if (!(h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + if (!h->root.def_regular) { /* Except for TLSGD relocs, which can sometimes be relaxed to GOTTPREL relocs. */ @@ -2450,7 +2450,7 @@ elf64_alpha_create_dynamic_sections (abf get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -2494,7 +2494,7 @@ elf64_alpha_create_dynamic_sections (abf FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -2741,10 +2741,9 @@ elf64_alpha_output_extsym (h, data) if (h->root.indx == -2) strip = FALSE; - else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->root.def_dynamic || h->root.ref_dynamic) + && !h->root.def_regular + && !h->root.ref_regular) strip = TRUE; else if (einfo->info->strip == strip_all || (einfo->info->strip == strip_some @@ -2831,7 +2830,7 @@ elf64_alpha_output_extsym (h, data) else h->esym.asym.value = 0; } - else if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + else if (h->root.needs_plt) { /* Set type and value for a symbol with a function stub. */ h->esym.asym.st = stProc; @@ -2998,7 +2997,7 @@ elf64_alpha_check_relocs (abfd, info, se || h->root.root.type == bfd_link_hash_warning) h = (struct alpha_elf_link_hash_entry *)h->root.root.u.i.link; - h->root.elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->root.ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -3008,7 +3007,7 @@ elf64_alpha_check_relocs (abfd, info, se maybe_dynamic = FALSE; if (h && ((info->shared && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !h->root.def_regular || h->root.root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -3114,9 +3113,9 @@ elf64_alpha_check_relocs (abfd, info, se /* Make a guess as to whether a .plt entry is needed. */ if ((gotent_flags & ALPHA_ELF_LINK_HASH_LU_FUNC) && !(gotent_flags & ~ALPHA_ELF_LINK_HASH_LU_FUNC)) - h->root.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 1; else - h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 0; } } } @@ -3240,7 +3239,7 @@ elf64_alpha_adjust_dynamic_symbol (info, somewhere later. But for now don't bother. */ && ah->got_entries) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; s = bfd_get_section_by_name(dynobj, ".plt"); if (!s && !elf64_alpha_create_dynamic_sections (dynobj, info)) @@ -3275,17 +3274,17 @@ elf64_alpha_adjust_dynamic_symbol (info, return TRUE; } else - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3638,9 +3637,8 @@ elf64_alpha_size_got_sections (info) { /* Yikes! A single object file has too many entries. */ (*_bfd_error_handler) - (_("%s: .got subsegment exceeds 64K (size %d)"), - bfd_archive_filename (i), - alpha_elf_tdata (this_got)->total_got_size); + (_("%B: .got subsegment exceeds 64K (size %d)"), + i, alpha_elf_tdata (this_got)->total_got_size); return FALSE; } @@ -3728,7 +3726,7 @@ elf64_alpha_size_plt_section_1 (h, data) struct alpha_elf_got_entry *gotent; /* If we didn't need an entry before, we still don't. */ - if (!(h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT)) + if (!h->root.needs_plt) return TRUE; /* There must still be a LITERAL got entry for the function. */ @@ -3748,7 +3746,7 @@ elf64_alpha_size_plt_section_1 (h, data) } else { - h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 0; h->root.plt.offset = -1; /* Undo the definition frobbing begun in adjust_dynamic_symbol. */ @@ -3850,15 +3848,13 @@ elf64_alpha_calc_dynrel_sizes (h, info) set. This is done for dynamic symbols in elf_adjust_dynamic_symbol but this is not done for non-dynamic symbols, somehow. */ - if (((h->root.elf_link_hash_flags - & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_DYNAMIC)) - == ELF_LINK_HASH_REF_REGULAR) + if (!h->root.def_regular + && h->root.ref_regular + && !h->root.def_dynamic && (h->root.root.type == bfd_link_hash_defined || h->root.root.type == bfd_link_hash_defweak) && !(h->root.root.u.def.section->owner->flags & DYNAMIC)) - h->root.elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->root.def_regular = 1; /* If the symbol is dynamic, we'll need all the relocations in their natural form. If this is a shared object, and it has been forced @@ -4180,8 +4176,8 @@ elf64_alpha_relocate_section_r (output_b if (r_type >= R_ALPHA_max) { (*_bfd_error_handler) - (_("%s: unknown relocation type %d"), - bfd_archive_filename (input_bfd), (int)r_type); + (_("%B: unknown relocation type %d"), + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); ret_val = FALSE; continue; @@ -4306,8 +4302,8 @@ elf64_alpha_relocate_section (output_bfd if (r_type >= R_ALPHA_max) { (*_bfd_error_handler) - (_("%s: unknown relocation type %d"), - bfd_archive_filename (input_bfd), (int)r_type); + (_("%B: unknown relocation type %d"), + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); ret_val = FALSE; continue; @@ -4478,8 +4474,8 @@ elf64_alpha_relocate_section (output_bfd if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: gp-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: gp-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } BFD_ASSERT(gp != 0); @@ -4490,8 +4486,8 @@ elf64_alpha_relocate_section (output_bfd if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: gp-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: gp-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } BFD_ASSERT(gp != 0); @@ -4516,8 +4512,8 @@ elf64_alpha_relocate_section (output_bfd if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: pc-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: pc-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } /* The regular PC-relative stuff measures from the start of @@ -4544,8 +4540,8 @@ elf64_alpha_relocate_section (output_bfd && gotobj != alpha_elf_tdata (sec->owner)->gotobj) { (*_bfd_error_handler) - (_("%s: change in gp: BRSGP %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: change in gp: BRSGP %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } @@ -4574,8 +4570,8 @@ elf64_alpha_relocate_section (output_bfd name = bfd_section_name (input_bfd, sec); } (*_bfd_error_handler) - (_("%s: !samegp reloc against symbol without .prologue: %s"), - bfd_archive_filename (input_bfd), name); + (_("%B: !samegp reloc against symbol without .prologue: %s"), + input_bfd, name); ret_val = FALSE; break; } @@ -4625,8 +4621,8 @@ elf64_alpha_relocate_section (output_bfd if (r_type == R_ALPHA_REFLONG) { (*_bfd_error_handler) - (_("%s: unhandled dynamic relocation against %s"), - bfd_archive_filename (input_bfd), + (_("%B: unhandled dynamic relocation against %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } @@ -4649,8 +4645,8 @@ elf64_alpha_relocate_section (output_bfd if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: pc-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: pc-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } @@ -4708,8 +4704,8 @@ elf64_alpha_relocate_section (output_bfd if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: dtp-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: dtp-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } BFD_ASSERT (elf_hash_table (info)->tls_sec != NULL); @@ -4724,15 +4720,15 @@ elf64_alpha_relocate_section (output_bfd if (info->shared) { (*_bfd_error_handler) - (_("%s: TLS local exec code cannot be linked into shared objects"), - bfd_archive_filename (input_bfd)); + (_("%B: TLS local exec code cannot be linked into shared objects"), + input_bfd); ret_val = FALSE; } else if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: tp-relative relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.root.string); + (_("%B: tp-relative relocation against dynamic symbol %s"), + input_bfd, h->root.root.root.string); ret_val = FALSE; } BFD_ASSERT (elf_hash_table (info)->tls_sec != NULL); @@ -4898,7 +4894,7 @@ elf64_alpha_finish_dynamic_symbol (outpu loc = srel->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc); - if (!(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ diff -uprN binutils-2.15.91.0.2/bfd/elf64-gen.c binutils-2.15.92.0.2/bfd/elf64-gen.c --- binutils-2.15.91.0.2/bfd/elf64-gen.c 2004-04-12 12:56:33.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-gen.c 2004-09-15 12:05:02.000000000 -0700 @@ -80,9 +80,8 @@ elf64_generic_link_add_symbols (abfd, in Elf_Internal_Ehdr *ehdrp; ehdrp = elf_elfheader (abfd); - (*_bfd_error_handler) (_("%s: Relocations in generic ELF (EM: %d)"), - bfd_archive_filename (abfd), - ehdrp->e_machine); + (*_bfd_error_handler) (_("%B: Relocations in generic ELF (EM: %d)"), + abfd, ehdrp->e_machine); bfd_set_error (bfd_error_wrong_format); return FALSE; diff -uprN binutils-2.15.91.0.2/bfd/elf64-hppa.c binutils-2.15.92.0.2/bfd/elf64-hppa.c --- binutils-2.15.91.0.2/bfd/elf64-hppa.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-hppa.c 2004-09-27 13:46:06.000000000 -0700 @@ -743,7 +743,7 @@ elf64_hppa_check_relocs (abfd, info, sec || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -752,8 +752,9 @@ elf64_hppa_check_relocs (abfd, info, sec this may help reduce memory usage and processing time later. */ maybe_dynamic = FALSE; if (h && ((info->shared - && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular || h->root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -913,7 +914,7 @@ elf64_hppa_check_relocs (abfd, info, sec /* This could be a local function that had its address taken, in which case H will be NULL. */ if (h) - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; } /* Add a new dynamic relocation to the chain of dynamic @@ -1014,7 +1015,7 @@ elf64_hppa_mark_exported_functions (h, d dyn_h->want_opd = 1; /* Put a flag here for output_symbol_hook. */ dyn_h->st_shndx = -1; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; } return TRUE; @@ -1558,12 +1559,12 @@ elf64_hppa_adjust_dynamic_symbol (info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } diff -uprN binutils-2.15.91.0.2/bfd/elf64-mmix.c binutils-2.15.92.0.2/bfd/elf64-mmix.c --- binutils-2.15.91.0.2/bfd/elf64-mmix.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-mmix.c 2004-09-15 12:05:02.000000000 -0700 @@ -229,10 +229,6 @@ static void mmix_set_relaxable_size PARAMS ((bfd *, asection *, void *)); -static bfd_boolean -mmix_elf_get_section_contents - PARAMS ((bfd *, sec_ptr, void *, file_ptr, bfd_size_type)); - /* Watch out: this currently needs to have elements with the same index as their R_MMIX_ number. */ diff -uprN binutils-2.15.91.0.2/bfd/elf64-ppc.c binutils-2.15.92.0.2/bfd/elf64-ppc.c --- binutils-2.15.91.0.2/bfd/elf64-ppc.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-ppc.c 2004-09-27 13:46:06.000000000 -0700 @@ -35,6 +35,8 @@ static bfd_reloc_status_type ppc64_elf_ha_reloc (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); +static bfd_reloc_status_type ppc64_elf_branch_reloc + (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); static bfd_reloc_status_type ppc64_elf_brtaken_reloc (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); static bfd_reloc_status_type ppc64_elf_sectoff_reloc @@ -49,7 +51,8 @@ static bfd_reloc_status_type ppc64_elf_t (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); static bfd_reloc_status_type ppc64_elf_unhandled_reloc (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); - +static bfd_vma opd_entry_value + (asection *, bfd_vma, asection **, bfd_vma *); #define TARGET_LITTLE_SYM bfd_elf64_powerpcle_vec #define TARGET_LITTLE_NAME "elf64-powerpcle" @@ -76,6 +79,7 @@ static bfd_reloc_status_type ppc64_elf_u #define bfd_elf64_new_section_hook ppc64_elf_new_section_hook #define bfd_elf64_bfd_link_hash_table_create ppc64_elf_link_hash_table_create #define bfd_elf64_bfd_link_hash_table_free ppc64_elf_link_hash_table_free +#define bfd_elf64_get_synthetic_symtab ppc64_elf_get_synthetic_symtab #define elf_backend_object_p ppc64_elf_object_p #define elf_backend_grok_prstatus ppc64_elf_grok_prstatus @@ -83,6 +87,8 @@ static bfd_reloc_status_type ppc64_elf_u #define elf_backend_create_dynamic_sections ppc64_elf_create_dynamic_sections #define elf_backend_copy_indirect_symbol ppc64_elf_copy_indirect_symbol #define elf_backend_add_symbol_hook ppc64_elf_add_symbol_hook +#define elf_backend_check_directives ppc64_elf_check_directives +#define elf_backend_archive_symbol_lookup ppc64_elf_archive_symbol_lookup #define elf_backend_check_relocs ppc64_elf_check_relocs #define elf_backend_gc_mark_hook ppc64_elf_gc_mark_hook #define elf_backend_gc_sweep_hook ppc64_elf_gc_sweep_hook @@ -168,9 +174,17 @@ static bfd_reloc_status_type ppc64_elf_u #define LIS_R0_0 0x3c000000 /* lis %r0,0 */ #define ORI_R0_R0_0 0x60000000 /* ori %r0,%r0,0 */ -/* Instructions to save and restore floating point regs. */ +/* Instructions used by the save and restore reg functions. */ +#define STD_R0_0R1 0xf8010000 /* std %r0,0(%r1) */ +#define STD_R0_0R12 0xf80c0000 /* std %r0,0(%r12) */ +#define LD_R0_0R1 0xe8010000 /* ld %r0,0(%r1) */ +#define LD_R0_0R12 0xe80c0000 /* ld %r0,0(%r12) */ #define STFD_FR0_0R1 0xd8010000 /* stfd %fr0,0(%r1) */ #define LFD_FR0_0R1 0xc8010000 /* lfd %fr0,0(%r1) */ +#define LI_R12_0 0x39800000 /* li %r12,0 */ +#define STVX_VR0_R12_R0 0x7c0c01ce /* stvx %v0,%r12,%r0 */ +#define LVX_VR0_R12_R0 0x7c0c00ce /* lvx %v0,%r12,%r0 */ +#define MTLR_R0 0x7c0803a6 /* mtlr %r0 */ #define BLR 0x4e800020 /* blr */ /* Since .opd is an array of descriptors and each entry will end up @@ -303,7 +317,7 @@ static reloc_howto_type ppc64_elf_howto_ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_bitfield, /* complain_on_overflow */ - bfd_elf_generic_reloc, /* special_function */ + ppc64_elf_branch_reloc, /* special_function */ "R_PPC64_ADDR14", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ @@ -352,7 +366,7 @@ static reloc_howto_type ppc64_elf_howto_ TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - bfd_elf_generic_reloc, /* special_function */ + ppc64_elf_branch_reloc, /* special_function */ "R_PPC64_REL24", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ @@ -367,7 +381,7 @@ static reloc_howto_type ppc64_elf_howto_ TRUE, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - bfd_elf_generic_reloc, /* special_function */ + ppc64_elf_branch_reloc, /* special_function */ "R_PPC64_REL14", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ @@ -2131,6 +2145,29 @@ ppc64_elf_ha_reloc (bfd *abfd, arelent * } static bfd_reloc_status_type +ppc64_elf_branch_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, + void *data, asection *input_section, + bfd *output_bfd, char **error_message) +{ + if (output_bfd != NULL) + return bfd_elf_generic_reloc (abfd, reloc_entry, symbol, data, + input_section, output_bfd, error_message); + + if (strcmp (symbol->section->name, ".opd") == 0 + && (symbol->section->owner->flags & DYNAMIC) == 0) + { + bfd_vma dest = opd_entry_value (symbol->section, + symbol->value + reloc_entry->addend, + NULL, NULL); + if (dest != (bfd_vma) -1) + reloc_entry->addend = dest - (symbol->value + + symbol->section->output_section->vma + + symbol->section->output_offset); + } + return bfd_reloc_continue; +} + +static bfd_reloc_status_type ppc64_elf_brtaken_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, void *data, asection *input_section, bfd *output_bfd, char **error_message) @@ -2166,7 +2203,7 @@ ppc64_elf_brtaken_reloc (bfd *abfd, arel else if ((insn & (0x14 << 21)) == (0x10 << 21)) insn |= 0x08 << 21; else - return bfd_reloc_continue; + goto out; } else { @@ -2188,7 +2225,9 @@ ppc64_elf_brtaken_reloc (bfd *abfd, arel insn ^= 0x01 << 21; } bfd_put_32 (abfd, insn, (bfd_byte *) data + octets); - return bfd_reloc_continue; + out: + return ppc64_elf_branch_reloc (abfd, reloc_entry, symbol, data, + input_section, output_bfd, error_message); } static bfd_reloc_status_type @@ -2331,6 +2370,10 @@ struct ppc64_elf_obj_tdata asection *got; asection *relgot; + /* Used during garbage collection. We attach global symbols defined + on removed .opd entries to this section so that the sym is removed. */ + asection *deleted_section; + /* TLS local dynamic got entry handling. Suppose for multiple GOT sections means we potentially need one of these for each input bfd. */ union { @@ -2357,6 +2400,17 @@ ppc64_elf_mkobject (bfd *abfd) return TRUE; } +/* Return 1 if target is one of ours. */ + +static bfd_boolean +is_ppc64_elf_target (const struct bfd_target *targ) +{ + extern const bfd_target bfd_elf64_powerpc_vec; + extern const bfd_target bfd_elf64_powerpcle_vec; + + return targ == &bfd_elf64_powerpc_vec || targ == &bfd_elf64_powerpcle_vec; +} + /* Fix bad default arch selected for a 64 bit input bfd when the default is 32 bit. */ @@ -2430,13 +2484,13 @@ ppc64_elf_merge_private_bfd_data (bfd *i const char *msg; if (bfd_big_endian (ibfd)) - msg = _("%s: compiled for a big endian system " + msg = _("%B: compiled for a big endian system " "and target is little endian"); else - msg = _("%s: compiled for a little endian system " + msg = _("%B: compiled for a little endian system " "and target is big endian"); - (*_bfd_error_handler) (msg, bfd_archive_filename (ibfd)); + (*_bfd_error_handler) (msg, ibfd); bfd_set_error (bfd_error_wrong_format); return FALSE; @@ -2492,6 +2546,387 @@ ppc64_elf_new_section_hook (bfd *abfd, a return _bfd_elf_new_section_hook (abfd, sec); } + +static void * +get_opd_info (asection * sec) +{ + if (sec != NULL + && ppc64_elf_section_data (sec) != NULL + && ppc64_elf_section_data (sec)->opd.adjust != NULL) + return ppc64_elf_section_data (sec)->opd.adjust; + return NULL; +} + +/* Parameters for the qsort hook. */ +static asection *synthetic_opd; +static bfd_boolean synthetic_relocatable; + +/* qsort comparison function for ppc64_elf_get_synthetic_symtab. */ + +static int +compare_symbols (const void *ap, const void *bp) +{ + const asymbol *a = * (const asymbol **) ap; + const asymbol *b = * (const asymbol **) bp; + + /* Section symbols first. */ + if ((a->flags & BSF_SECTION_SYM) && !(b->flags & BSF_SECTION_SYM)) + return -1; + if (!(a->flags & BSF_SECTION_SYM) && (b->flags & BSF_SECTION_SYM)) + return 1; + + /* then .opd symbols. */ + if (a->section == synthetic_opd && b->section != synthetic_opd) + return -1; + if (a->section != synthetic_opd && b->section == synthetic_opd) + return 1; + + /* then other code symbols. */ + if ((a->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + == (SEC_CODE | SEC_ALLOC) + && (b->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + != (SEC_CODE | SEC_ALLOC)) + return -1; + + if ((a->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + != (SEC_CODE | SEC_ALLOC) + && (b->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + == (SEC_CODE | SEC_ALLOC)) + return 1; + + if (synthetic_relocatable) + { + if (a->section->id < b->section->id) + return -1; + + if (a->section->id > b->section->id) + return 1; + } + + if (a->value + a->section->vma < b->value + b->section->vma) + return -1; + + if (a->value + a->section->vma > b->value + b->section->vma) + return 1; + + return 0; +} + +/* Search SYMS for a symbol of the given VALUE. */ + +static asymbol * +sym_exists_at (asymbol **syms, long lo, long hi, int id, bfd_vma value) +{ + long mid; + + if (id == -1) + { + while (lo < hi) + { + mid = (lo + hi) >> 1; + if (syms[mid]->value + syms[mid]->section->vma < value) + lo = mid + 1; + else if (syms[mid]->value + syms[mid]->section->vma > value) + hi = mid; + else + return syms[mid]; + } + } + else + { + while (lo < hi) + { + mid = (lo + hi) >> 1; + if (syms[mid]->section->id < id) + lo = mid + 1; + else if (syms[mid]->section->id > id) + hi = mid; + else if (syms[mid]->value < value) + lo = mid + 1; + else if (syms[mid]->value > value) + hi = mid; + else + return syms[mid]; + } + } + return NULL; +} + +/* Create synthetic symbols, effectively restoring "dot-symbol" function + entry syms. */ + +static long +ppc64_elf_get_synthetic_symtab (bfd *abfd, + long static_count, asymbol **static_syms, + long dyn_count, asymbol **dyn_syms, + asymbol **ret) +{ + asymbol *s; + long i; + long count; + char *names; + long symcount, codesecsym, codesecsymend, secsymend, opdsymend; + asection *opd; + bfd_boolean relocatable = (abfd->flags & (EXEC_P | DYNAMIC)) == 0; + asymbol **syms; + + *ret = NULL; + + opd = bfd_get_section_by_name (abfd, ".opd"); + if (opd == NULL) + return 0; + + symcount = static_count; + if (!relocatable) + symcount += dyn_count; + if (symcount == 0) + return 0; + + syms = bfd_malloc ((symcount + 1) * sizeof (*syms)); + if (syms == NULL) + return 0; + + if (!relocatable && static_count != 0 && dyn_count != 0) + { + /* Use both symbol tables. */ + memcpy (syms, static_syms, static_count * sizeof (*syms)); + memcpy (syms + static_count, dyn_syms, (dyn_count + 1) * sizeof (*syms)); + } + else if (!relocatable && static_count == 0) + memcpy (syms, dyn_syms, (symcount + 1) * sizeof (*syms)); + else + memcpy (syms, static_syms, (symcount + 1) * sizeof (*syms)); + + synthetic_opd = opd; + synthetic_relocatable = relocatable; + qsort (syms, symcount, sizeof (*syms), compare_symbols); + + if (!relocatable && symcount > 1) + { + long j; + /* Trim duplicate syms, since we may have merged the normal and + dynamic symbols. Actually, we only care about syms that have + different values, so trim any with the same value. */ + for (i = 1, j = 1; i < symcount; ++i) + if (syms[i - 1]->value + syms[i - 1]->section->vma + != syms[i]->value + syms[i]->section->vma) + syms[j++] = syms[i]; + symcount = j; + } + + i = 0; + if (syms[i]->section == opd) + ++i; + codesecsym = i; + + for (; i < symcount; ++i) + if (((syms[i]->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + != (SEC_CODE | SEC_ALLOC)) + || (syms[i]->flags & BSF_SECTION_SYM) == 0) + break; + codesecsymend = i; + + for (; i < symcount; ++i) + if ((syms[i]->flags & BSF_SECTION_SYM) == 0) + break; + secsymend = i; + + for (; i < symcount; ++i) + if (syms[i]->section != opd) + break; + opdsymend = i; + + for (; i < symcount; ++i) + if ((syms[i]->section->flags & (SEC_CODE | SEC_ALLOC | SEC_THREAD_LOCAL)) + != (SEC_CODE | SEC_ALLOC)) + break; + symcount = i; + + count = 0; + if (opdsymend == secsymend) + goto done; + + if (relocatable) + { + bfd_boolean (*slurp_relocs) (bfd *, asection *, asymbol **, bfd_boolean); + arelent *r; + size_t size; + long relcount; + + slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table; + relcount = (opd->flags & SEC_RELOC) ? opd->reloc_count : 0; + + if (! relcount + || ! (*slurp_relocs) (abfd, opd, static_syms, FALSE)) + goto done; + + size = 0; + for (i = secsymend, r = opd->relocation; i < opdsymend; ++i) + { + asymbol *sym; + + while (r < opd->relocation + relcount + && r->address < syms[i]->value + opd->vma) + ++r; + + if (r == opd->relocation + relcount) + break; + + if (r->address != syms[i]->value + opd->vma) + continue; + + if (r->howto->type != R_PPC64_ADDR64) + continue; + + sym = *r->sym_ptr_ptr; + if (!sym_exists_at (syms, opdsymend, symcount, + sym->section->id, sym->value + r->addend)) + { + ++count; + size += sizeof (asymbol); + size += strlen (syms[i]->name) + 2; + } + } + + s = *ret = bfd_malloc (size); + if (s == NULL) + { + count = 0; + goto done; + } + + names = (char *) (s + count); + + for (i = secsymend, r = opd->relocation; i < opdsymend; ++i) + { + asymbol *sym; + + while (r < opd->relocation + relcount + && r->address < syms[i]->value + opd->vma) + ++r; + + if (r == opd->relocation + relcount) + break; + + if (r->address != syms[i]->value + opd->vma) + continue; + + if (r->howto->type != R_PPC64_ADDR64) + continue; + + sym = *r->sym_ptr_ptr; + if (!sym_exists_at (syms, opdsymend, symcount, + sym->section->id, sym->value + r->addend)) + { + size_t len; + + *s = *syms[i]; + s->section = sym->section; + s->value = sym->value + r->addend; + s->name = names; + *names++ = '.'; + len = strlen (syms[i]->name); + memcpy (names, syms[i]->name, len + 1); + names += len + 1; + s++; + } + } + } + else + { + bfd_byte *contents; + size_t size; + + if (!bfd_malloc_and_get_section (abfd, opd, &contents)) + { + if (contents) + { + free_contents_and_exit: + free (contents); + } + goto done; + } + + size = 0; + for (i = secsymend; i < opdsymend; ++i) + { + bfd_vma ent; + + ent = bfd_get_64 (abfd, contents + syms[i]->value); + if (!sym_exists_at (syms, opdsymend, symcount, -1, ent)) + { + ++count; + size += sizeof (asymbol); + size += strlen (syms[i]->name) + 2; + } + } + + s = *ret = bfd_malloc (size); + if (s == NULL) + { + count = 0; + goto free_contents_and_exit; + } + + names = (char *) (s + count); + + for (i = secsymend; i < opdsymend; ++i) + { + bfd_vma ent; + + ent = bfd_get_64 (abfd, contents + syms[i]->value); + if (!sym_exists_at (syms, opdsymend, symcount, -1, ent)) + { + long lo, hi; + size_t len; + asection *sec = abfd->sections; + + *s = *syms[i]; + lo = codesecsym; + hi = codesecsymend; + while (lo < hi) + { + long mid = (lo + hi) >> 1; + if (syms[mid]->section->vma < ent) + lo = mid + 1; + else if (syms[mid]->section->vma > ent) + hi = mid; + else + { + sec = syms[mid]->section; + break; + } + } + + if (lo >= hi && lo > codesecsym) + sec = syms[lo - 1]->section; + + for (; sec != NULL; sec = sec->next) + { + if (sec->vma > ent) + break; + if ((sec->flags & SEC_ALLOC) == 0 + || (sec->flags & SEC_LOAD) == 0) + break; + if ((sec->flags & SEC_CODE) != 0) + s->section = sec; + } + s->value = ent - s->section->vma; + s->name = names; + *names++ = '.'; + len = strlen (syms[i]->name); + memcpy (names, syms[i]->name, len + 1); + names += len + 1; + s++; + } + } + free (contents); + } + + done: + free (syms); + return count; +} /* The following functions are specific to the ELF linker, while functions above are used generally. Those named ppc64_elf_* are @@ -2559,7 +2994,11 @@ ppc64_elf_new_section_hook (bfd *abfd, a creating a shared library containing foo, we need to have both symbols dynamic so that references to .foo are satisfied during the early stages of linking. Otherwise the linker might decide to pull in a - definition from some other object, eg. a static library. */ + definition from some other object, eg. a static library. + + Update: As of August 2004, we support a new convention. Function + calls may use the function descriptor symbol, ie. "bl foo". This + behaves exactly as "bl .foo". */ /* The linker needs to keep track of the number of relocs that it decides to copy as dynamic relocs in check_relocs for each symbol. @@ -2761,16 +3200,20 @@ struct ppc_link_hash_entry struct ppc_dyn_relocs *dyn_relocs; /* Link between function code and descriptor symbols. */ - struct elf_link_hash_entry *oh; + struct ppc_link_hash_entry *oh; /* Flag function code and descriptor symbols. */ unsigned int is_func:1; unsigned int is_func_descriptor:1; - unsigned int is_entry:1; - /* Whether global opd sym has been adjusted or not. */ + /* Whether global opd sym has been adjusted or not. + After ppc64_elf_edit_opd has run, this flag should be set for all + globals defined in any opd section. */ unsigned int adjust_done:1; + /* Set if we twiddled this symbol to weak at some stage. */ + unsigned int was_undefined:1; + /* Contexts in which symbol is used in the GOT (or TOC). TLS_GD .. TLS_EXPLICIT bits are or'd into the mask as the corresponding relocs are encountered during check_relocs. @@ -2819,10 +3262,6 @@ struct ppc_link_hash_table bfd_vma toc_off; } *stub_group; - /* Support for multiple toc sections. */ - unsigned int no_multi_toc; - unsigned int multi_toc_needed; - /* Temp used when calculating TOC pointers. */ bfd_vma toc_curr; @@ -2846,24 +3285,28 @@ struct ppc_link_hash_table asection *brlt; asection *relbrlt; - /* Shortcut to .__tls_get_addr. */ - struct elf_link_hash_entry *tls_get_addr; + /* Shortcut to .__tls_get_addr and __tls_get_addr. */ + struct ppc_link_hash_entry *tls_get_addr; + struct ppc_link_hash_entry *tls_get_addr_fd; /* Statistics. */ unsigned long stub_count[ppc_stub_plt_call]; + /* Number of stubs against global syms. */ + unsigned long stub_globals; + /* Set if we should emit symbols for stubs. */ - unsigned int emit_stub_syms; + unsigned int emit_stub_syms:1; /* Set on error. */ - unsigned int stub_error; + unsigned int stub_error:1; /* Flag set when small branches are detected. Used to select suitable defaults for the stub group size. */ - unsigned int has_14bit_branch; + unsigned int has_14bit_branch:1; - /* Set if we detect a reference undefined weak symbol. */ - unsigned int have_undefweak; + /* Temp used by ppc64_elf_check_directives. */ + unsigned int twiddled_syms:1; /* Incremented every time we size stubs. */ unsigned int stub_iteration; @@ -2979,8 +3422,8 @@ link_hash_newfunc (struct bfd_hash_entry eh->oh = NULL; eh->is_func = 0; eh->is_func_descriptor = 0; - eh->is_entry = 0; eh->adjust_done = 0; + eh->was_undefined = 0; eh->tls_mask = 0; } @@ -3095,6 +3538,8 @@ ppc_stub_name (const asection *input_sec (int) rel->r_addend & 0xffffffff); } } + if (stub_name[len - 2] == '+' && stub_name[len - 1] == '0') + stub_name[len - 2] = 0; return stub_name; } @@ -3104,12 +3549,11 @@ ppc_stub_name (const asection *input_sec static struct ppc_stub_hash_entry * ppc_get_stub_entry (const asection *input_section, const asection *sym_sec, - struct elf_link_hash_entry *hash, + struct ppc_link_hash_entry *h, const Elf_Internal_Rela *rel, struct ppc_link_hash_table *htab) { struct ppc_stub_hash_entry *stub_entry; - struct ppc_link_hash_entry *h = (struct ppc_link_hash_entry *) hash; const asection *id_sec; /* If this input section is part of a group of sections sharing one @@ -3188,9 +3632,8 @@ ppc_add_stub (const char *stub_name, TRUE, FALSE); if (stub_entry == NULL) { - (*_bfd_error_handler) (_("%s: cannot create stub entry %s"), - bfd_archive_filename (section->owner), - stub_name); + (*_bfd_error_handler) (_("%B: cannot create stub entry %s"), + section->owner, stub_name); return NULL; } @@ -3235,7 +3678,7 @@ create_linkage_sections (bfd *dynobj, st || ! bfd_set_section_alignment (dynobj, htab->brlt, 3)) return FALSE; - if (info->shared) + if (info->shared || info->emitrelocations) { flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); @@ -3323,7 +3766,6 @@ ppc64_elf_copy_indirect_symbol struct elf_link_hash_entry *ind) { struct ppc_link_hash_entry *edir, *eind; - flagword mask; edir = (struct ppc_link_hash_entry *) dir; eind = (struct ppc_link_hash_entry *) ind; @@ -3365,21 +3807,20 @@ ppc64_elf_copy_indirect_symbol edir->is_func |= eind->is_func; edir->is_func_descriptor |= eind->is_func_descriptor; - edir->is_entry |= eind->is_entry; edir->tls_mask |= eind->tls_mask; - mask = (ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK | ELF_LINK_NON_GOT_REF - | ELF_LINK_HASH_NEEDS_PLT); /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. + of elf_adjust_dynamic_symbol, don't copy NON_GOT_REF. We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - if (ELIMINATE_COPY_RELOCS - && eind->elf.root.type != bfd_link_hash_indirect - && (edir->elf.elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - mask &= ~ELF_LINK_NON_GOT_REF; - - edir->elf.elf_link_hash_flags |= eind->elf.elf_link_hash_flags & mask; + if (!(ELIMINATE_COPY_RELOCS + && eind->elf.root.type != bfd_link_hash_indirect + && edir->elf.dynamic_adjusted)) + edir->elf.non_got_ref |= eind->elf.non_got_ref; + + edir->elf.ref_dynamic |= eind->elf.ref_dynamic; + edir->elf.ref_regular |= eind->elf.ref_regular; + edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak; + edir->elf.needs_plt |= eind->elf.needs_plt; /* If we were called to copy over info for a weak sym, that's all. */ if (eind->elf.root.type != bfd_link_hash_indirect) @@ -3457,28 +3898,49 @@ ppc64_elf_copy_indirect_symbol BFD_ASSERT (eind->elf.dynindx == -1); } -/* Set a flag, used by ppc64_elf_gc_mark_hook, on the entry symbol and - symbols undefined on the command-line. */ +/* Find the function descriptor hash entry from the given function code + hash entry FH. Link the entries via their OH fields. */ -bfd_boolean -ppc64_elf_mark_entry_syms (struct bfd_link_info *info) +static struct ppc_link_hash_entry * +get_fdh (struct ppc_link_hash_entry *fh, struct ppc_link_hash_table *htab) { - struct ppc_link_hash_table *htab; - struct bfd_sym_chain *sym; + struct ppc_link_hash_entry *fdh = fh->oh; - htab = ppc_hash_table (info); - for (sym = info->gc_sym_list; sym; sym = sym->next) + if (fdh == NULL) { - struct elf_link_hash_entry *h; + const char *fd_name = fh->elf.root.root.string + 1; - h = elf_link_hash_lookup (&htab->elf, sym->name, FALSE, FALSE, FALSE); - if (h != NULL) - ((struct ppc_link_hash_entry *) h)->is_entry = 1; + fdh = (struct ppc_link_hash_entry *) + elf_link_hash_lookup (&htab->elf, fd_name, FALSE, FALSE, FALSE); + if (fdh != NULL) + { + fdh->is_func_descriptor = 1; + fdh->oh = fh; + fh->is_func = 1; + fh->oh = fdh; + } } - return TRUE; + + return fdh; } -/* Hack symbols defined in .opd sections to be function type. */ +/* Hacks to support old ABI code. + When making function calls, old ABI code references function entry + points (dot symbols), while new ABI code references the function + descriptor symbol. We need to make any combination of reference and + definition work together, without breaking archive linking. + + For a defined function "foo" and an undefined call to "bar": + An old object defines "foo" and ".foo", references ".bar" (possibly + "bar" too). + A new object defines "foo" and references "bar". + + A new object thus has no problem with its undefined symbols being + satisfied by definitions in an old object. On the other hand, the + old object won't have ".bar" satisfied by a new object. */ + +/* Fix function descriptor symbols defined in .opd sections to be + function type. */ static bfd_boolean ppc64_elf_add_symbol_hook (bfd *ibfd ATTRIBUTE_UNUSED, @@ -3489,11 +3951,141 @@ ppc64_elf_add_symbol_hook (bfd *ibfd ATT asection **sec, bfd_vma *value ATTRIBUTE_UNUSED) { - if (strcmp (bfd_get_section_name (ibfd, *sec), ".opd") == 0) + if (*sec != NULL + && strcmp (bfd_get_section_name (ibfd, *sec), ".opd") == 0) isym->st_info = ELF_ST_INFO (ELF_ST_BIND (isym->st_info), STT_FUNC); return TRUE; } +/* This function makes an old ABI object reference to ".bar" cause the + inclusion of a new ABI object archive that defines "bar". */ + +static struct elf_link_hash_entry * +ppc64_elf_archive_symbol_lookup (bfd *abfd, + struct bfd_link_info *info, + const char *name) +{ + struct elf_link_hash_entry *h; + char *dot_name; + size_t len; + + h = _bfd_elf_archive_symbol_lookup (abfd, info, name); + if (h != NULL) + return h; + + if (name[0] == '.') + return h; + + len = strlen (name); + dot_name = bfd_alloc (abfd, len + 2); + if (dot_name == NULL) + return (struct elf_link_hash_entry *) 0 - 1; + dot_name[0] = '.'; + memcpy (dot_name + 1, name, len + 1); + h = _bfd_elf_archive_symbol_lookup (abfd, info, dot_name); + bfd_release (abfd, dot_name); + return h; +} + +/* This function satisfies all old ABI object references to ".bar" if a + new ABI object defines "bar". Well, at least, undefined dot symbols + are made weak. This stops later archive searches from including an + object if we already have a function descriptor definition. It also + prevents the linker complaining about undefined symbols. + We also check and correct mismatched symbol visibility here. The + most restrictive visibility of the function descriptor and the + function entry symbol is used. */ + +static bfd_boolean +add_symbol_adjust (struct elf_link_hash_entry *h, void *inf) +{ + struct bfd_link_info *info; + struct ppc_link_hash_table *htab; + struct ppc_link_hash_entry *eh; + struct ppc_link_hash_entry *fdh; + + if (h->root.type == bfd_link_hash_indirect) + return TRUE; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + if (h->root.root.string[0] != '.') + return TRUE; + + info = inf; + htab = ppc_hash_table (info); + eh = (struct ppc_link_hash_entry *) h; + fdh = get_fdh (eh, htab); + if (fdh != NULL) + { + unsigned entry_vis = ELF_ST_VISIBILITY (eh->elf.other) - 1; + unsigned descr_vis = ELF_ST_VISIBILITY (fdh->elf.other) - 1; + if (entry_vis < descr_vis) + fdh->elf.other += entry_vis - descr_vis; + else if (entry_vis > descr_vis) + eh->elf.other += descr_vis - entry_vis; + + if (eh->elf.root.type == bfd_link_hash_undefined) + { + eh->elf.root.type = bfd_link_hash_undefweak; + eh->was_undefined = 1; + htab->twiddled_syms = 1; + } + } + + return TRUE; +} + +static bfd_boolean +ppc64_elf_check_directives (bfd *abfd ATTRIBUTE_UNUSED, + struct bfd_link_info *info) +{ + struct ppc_link_hash_table *htab; + + htab = ppc_hash_table (info); + if (!is_ppc64_elf_target (htab->elf.root.creator)) + return TRUE; + + elf_link_hash_traverse (&htab->elf, add_symbol_adjust, info); + + /* We need to fix the undefs list for any syms we have twiddled to + undef_weak. */ + if (htab->twiddled_syms) + { + struct bfd_link_hash_entry **pun; + + pun = &htab->elf.root.undefs; + while (*pun != NULL) + { + struct bfd_link_hash_entry *h = *pun; + + if (h->type != bfd_link_hash_undefined + && h->type != bfd_link_hash_common) + { + *pun = h->u.undef.next; + h->u.undef.next = NULL; + if (h == htab->elf.root.undefs_tail) + { + if (pun == &htab->elf.root.undefs) + htab->elf.root.undefs_tail = NULL; + else + /* pun points at an u.undef.next field. Go back to + the start of the link_hash_entry. */ + htab->elf.root.undefs_tail = (struct bfd_link_hash_entry *) + ((char *) pun - ((char *) &h->u.undef.next - (char *) h)); + break; + } + } + else + pun = &h->u.undef.next; + } + + htab->twiddled_syms = 0; + } + return TRUE; +} + static bfd_boolean update_local_sym_info (bfd *abfd, Elf_Internal_Shdr *symtab_hdr, unsigned long r_symndx, bfd_vma r_addend, int tls_type) @@ -3562,36 +4154,11 @@ update_plt_info (bfd *abfd, struct ppc_l eh->elf.plt.plist = ent; } ent->plt.refcount += 1; - eh->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + eh->elf.needs_plt = 1; eh->is_func = 1; return TRUE; } -/* Find the function descriptor hash entry from the given function code - hash entry FH. Link the entries via their OH fields. */ -static struct ppc_link_hash_entry * -get_fdh (struct ppc_link_hash_entry *fh, struct ppc_link_hash_table *htab) -{ - struct ppc_link_hash_entry *fdh = (struct ppc_link_hash_entry *) fh->oh; - - if (fdh == NULL) - { - const char *fd_name = fh->elf.root.root.string + 1; - - fdh = (struct ppc_link_hash_entry *) - elf_link_hash_lookup (&htab->elf, fd_name, FALSE, FALSE, FALSE); - if (fdh != NULL) - { - fdh->is_func_descriptor = 1; - fdh->oh = &fh->elf; - fh->is_func = 1; - fh->oh = &fdh->elf; - } - } - - return fdh; -} - /* Look through the relocs for a section during the first phase, and calculate needed space in the global offset table, procedure linkage table, and dynamic reloc sections. */ @@ -3647,7 +4214,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc }; bfd_size_type amt; - amt = sec->size * sizeof (union opd_info) / 24; + amt = sec->size * sizeof (union opd_info) / 8; opd_sym_map = bfd_zalloc (abfd, amt); if (opd_sym_map == NULL) return FALSE; @@ -3829,23 +4396,30 @@ ppc64_elf_check_relocs (bfd *abfd, struc /* Fall through. */ case R_PPC64_REL24: - if (h != NULL - && h->root.root.string[0] == '.' - && h->root.root.string[1] != 0) + if (h != NULL) { /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ if (!update_plt_info (abfd, (struct ppc_link_hash_entry *) h, rel->r_addend)) return FALSE; - if (h == htab->tls_get_addr) + if (h == &htab->tls_get_addr->elf + || h == &htab->tls_get_addr_fd->elf) sec->has_tls_reloc = 1; - else if ((strncmp (h->root.root.string, ".__tls_get_addr", 15) - == 0) + else if (htab->tls_get_addr == NULL + && !strncmp (h->root.root.string, ".__tls_get_addr", 15) && (h->root.root.string[15] == 0 || h->root.root.string[15] == '@')) { - htab->tls_get_addr = h; + htab->tls_get_addr = (struct ppc_link_hash_entry *) h; + sec->has_tls_reloc = 1; + } + else if (htab->tls_get_addr_fd == NULL + && !strncmp (h->root.root.string, "__tls_get_addr", 14) + && (h->root.root.string[14] == 0 + || h->root.root.string[14] == '@')) + { + htab->tls_get_addr_fd = (struct ppc_link_hash_entry *) h; sec->has_tls_reloc = 1; } } @@ -3926,24 +4500,29 @@ ppc64_elf_check_relocs (bfd *abfd, struc case R_PPC64_ADDR64: if (opd_sym_map != NULL - && h != NULL - && h->root.root.string[0] == '.' - && h->root.root.string[1] != 0) - get_fdh ((struct ppc_link_hash_entry *) h, htab); - - if (opd_sym_map != NULL - && h == NULL && rel + 1 < rel_end && ELF64_R_TYPE ((rel + 1)->r_info) == R_PPC64_TOC) { - asection *s; + if (h != NULL) + { + if (h->root.root.string[0] == '.' + && h->root.root.string[1] != 0 + && get_fdh ((struct ppc_link_hash_entry *) h, htab)) + ; + else + ((struct ppc_link_hash_entry *) h)->is_func = 1; + } + else + { + asection *s; - s = bfd_section_from_r_symndx (abfd, &htab->sym_sec, sec, - r_symndx); - if (s == NULL) - return FALSE; - else if (s != sec) - opd_sym_map[rel->r_offset / 24] = s; + s = bfd_section_from_r_symndx (abfd, &htab->sym_sec, sec, + r_symndx); + if (s == NULL) + return FALSE; + else if (s != sec) + opd_sym_map[rel->r_offset / 8] = s; + } } /* Fall through. */ @@ -3971,7 +4550,7 @@ ppc64_elf_check_relocs (bfd *abfd, struc case R_PPC64_TOC: if (h != NULL && !info->shared) /* We may need a copy reloc. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* Don't propagate .opd relocs. */ if (NO_OPD_RELOCS && opd_sym_map != NULL) @@ -4004,14 +4583,12 @@ ppc64_elf_check_relocs (bfd *abfd, struc || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct ppc_dyn_relocs *p; struct ppc_dyn_relocs **head; @@ -4036,8 +4613,8 @@ ppc64_elf_check_relocs (bfd *abfd, struc name + 5) != 0) { (*_bfd_error_handler) - (_("%s: bad relocation section name `%s\'"), - bfd_archive_filename (abfd), name); + (_("%B: bad relocation section name `%s\'"), + abfd, name); bfd_set_error (bfd_error_bad_value); } @@ -4109,22 +4686,157 @@ ppc64_elf_check_relocs (bfd *abfd, struc return TRUE; } +/* OFFSET in OPD_SEC specifies a function descriptor. Return the address + of the code entry point, and its section. */ + +static bfd_vma +opd_entry_value (asection *opd_sec, + bfd_vma offset, + asection **code_sec, + bfd_vma *code_off) +{ + bfd *opd_bfd = opd_sec->owner; + Elf_Internal_Rela *lo, *hi, *look; + + /* Go find the opd reloc at the sym address. */ + lo = _bfd_elf_link_read_relocs (opd_bfd, opd_sec, NULL, NULL, TRUE); + BFD_ASSERT (lo != NULL); + hi = lo + opd_sec->reloc_count - 1; /* ignore last reloc */ + + while (lo < hi) + { + look = lo + (hi - lo) / 2; + if (look->r_offset < offset) + lo = look + 1; + else if (look->r_offset > offset) + hi = look; + else + { + Elf_Internal_Shdr *symtab_hdr = &elf_tdata (opd_bfd)->symtab_hdr; + if (ELF64_R_TYPE (look->r_info) == R_PPC64_ADDR64 + && ELF64_R_TYPE ((look + 1)->r_info) == R_PPC64_TOC) + { + unsigned long symndx = ELF64_R_SYM (look->r_info); + bfd_vma val; + asection *sec; + + if (symndx < symtab_hdr->sh_info) + { + Elf_Internal_Sym *sym; + + sym = (Elf_Internal_Sym *) symtab_hdr->contents; + if (sym == NULL) + { + sym = bfd_elf_get_elf_syms (opd_bfd, symtab_hdr, + symtab_hdr->sh_info, + 0, NULL, NULL, NULL); + if (sym == NULL) + return (bfd_vma) -1; + symtab_hdr->contents = (bfd_byte *) sym; + } + + sym += symndx; + val = sym->st_value; + sec = NULL; + if ((sym->st_shndx != SHN_UNDEF + && sym->st_shndx < SHN_LORESERVE) + || sym->st_shndx > SHN_HIRESERVE) + sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx); + BFD_ASSERT ((sec->flags & SEC_MERGE) == 0); + } + else + { + struct elf_link_hash_entry **sym_hashes; + struct elf_link_hash_entry *rh; + + sym_hashes = elf_sym_hashes (opd_bfd); + rh = sym_hashes[symndx - symtab_hdr->sh_info]; + while (rh->root.type == bfd_link_hash_indirect + || rh->root.type == bfd_link_hash_warning) + rh = ((struct elf_link_hash_entry *) rh->root.u.i.link); + BFD_ASSERT (rh->root.type == bfd_link_hash_defined + || rh->root.type == bfd_link_hash_defweak); + val = rh->root.u.def.value; + sec = rh->root.u.def.section; + } + val += look->r_addend; + if (code_off != NULL) + *code_off = val; + if (code_sec != NULL) + *code_sec = sec; + if (sec != NULL && sec->output_section != NULL) + val += sec->output_section->vma + sec->output_offset; + return val; + } + break; + } + } + return (bfd_vma) -1; +} + /* Return the section that should be marked against GC for a given relocation. */ static asection * ppc64_elf_gc_mark_hook (asection *sec, - struct bfd_link_info *info ATTRIBUTE_UNUSED, + struct bfd_link_info *info, Elf_Internal_Rela *rel, struct elf_link_hash_entry *h, Elf_Internal_Sym *sym) { - asection *rsec = NULL; + asection *rsec; + + /* First mark all our entry sym sections. */ + if (info->gc_sym_list != NULL) + { + struct ppc_link_hash_table *htab = ppc_hash_table (info); + struct bfd_sym_chain *sym = info->gc_sym_list; + + info->gc_sym_list = NULL; + do + { + struct ppc_link_hash_entry *eh; + + eh = (struct ppc_link_hash_entry *) + elf_link_hash_lookup (&htab->elf, sym->name, FALSE, FALSE, FALSE); + if (eh == NULL) + continue; + if (eh->elf.root.type != bfd_link_hash_defined + && eh->elf.root.type != bfd_link_hash_defweak) + continue; + + if (eh->is_func_descriptor) + rsec = eh->oh->elf.root.u.def.section; + else if (get_opd_info (eh->elf.root.u.def.section) != NULL + && opd_entry_value (eh->elf.root.u.def.section, + eh->elf.root.u.def.value, + &rsec, NULL) != (bfd_vma) -1) + ; + else + continue; + + if (!rsec->gc_mark) + _bfd_elf_gc_mark (info, rsec, ppc64_elf_gc_mark_hook); + + rsec = eh->elf.root.u.def.section; + if (!rsec->gc_mark) + _bfd_elf_gc_mark (info, rsec, ppc64_elf_gc_mark_hook); + + sym = sym->next; + } + while (sym != NULL); + } + + /* Syms return NULL if we're marking .opd, so we avoid marking all + function sections, as all functions are referenced in .opd. */ + rsec = NULL; + if (get_opd_info (sec) != NULL) + return rsec; if (h != NULL) { enum elf_ppc64_reloc_type r_type; - struct ppc_link_hash_entry *fdh; + struct ppc_link_hash_entry *eh; r_type = ELF64_R_TYPE (rel->r_info); switch (r_type) @@ -4138,20 +4850,31 @@ ppc64_elf_gc_mark_hook (asection *sec, { case bfd_link_hash_defined: case bfd_link_hash_defweak: - fdh = (struct ppc_link_hash_entry *) h; + eh = (struct ppc_link_hash_entry *) h; + if (eh->oh != NULL && eh->oh->is_func_descriptor) + eh = eh->oh; /* Function descriptor syms cause the associated function code sym section to be marked. */ - if (fdh->is_func_descriptor) - rsec = fdh->oh->root.u.def.section; + if (eh->is_func_descriptor) + { + /* They also mark their opd section. */ + if (!eh->elf.root.u.def.section->gc_mark) + _bfd_elf_gc_mark (info, eh->elf.root.u.def.section, + ppc64_elf_gc_mark_hook); - /* Function entry syms return NULL if they are in .opd - and are not ._start (or others undefined on the ld - command line). Thus we avoid marking all function - sections, as all functions are referenced in .opd. */ - else if ((fdh->oh != NULL - && ((struct ppc_link_hash_entry *) fdh->oh)->is_entry) - || ppc64_elf_section_data (sec)->opd.func_sec == NULL) + rsec = eh->oh->elf.root.u.def.section; + } + else if (get_opd_info (eh->elf.root.u.def.section) != NULL + && opd_entry_value (eh->elf.root.u.def.section, + eh->elf.root.u.def.value, + &rsec, NULL) != (bfd_vma) -1) + { + if (!eh->elf.root.u.def.section->gc_mark) + _bfd_elf_gc_mark (info, eh->elf.root.u.def.section, + ppc64_elf_gc_mark_hook); + } + else rsec = h->root.u.def.section; break; @@ -4169,11 +4892,14 @@ ppc64_elf_gc_mark_hook (asection *sec, asection **opd_sym_section; rsec = bfd_section_from_elf_index (sec->owner, sym->st_shndx); - opd_sym_section = ppc64_elf_section_data (rsec)->opd.func_sec; + opd_sym_section = get_opd_info (rsec); if (opd_sym_section != NULL) - rsec = opd_sym_section[sym->st_value / 24]; - else if (ppc64_elf_section_data (sec)->opd.func_sec != NULL) - rsec = NULL; + { + if (!rsec->gc_mark) + _bfd_elf_gc_mark (info, rsec, ppc64_elf_gc_mark_hook); + + rsec = opd_sym_section[sym->st_value / 8]; + } } return rsec; @@ -4318,9 +5044,235 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru return TRUE; } +/* The maximum size of .sfpr. */ +#define SFPR_MAX (218*4) + +struct sfpr_def_parms +{ + const char name[12]; + unsigned char lo, hi; + bfd_byte * (*write_ent) (bfd *, bfd_byte *, int); + bfd_byte * (*write_tail) (bfd *, bfd_byte *, int); +}; + +/* Auto-generate _save*, _rest* functions in .sfpr. */ + +static unsigned int +sfpr_define (struct bfd_link_info *info, const struct sfpr_def_parms *parm) +{ + struct ppc_link_hash_table *htab = ppc_hash_table (info); + unsigned int i; + size_t len = strlen (parm->name); + bfd_boolean writing = FALSE; + char sym[16]; + + memcpy (sym, parm->name, len); + sym[len + 2] = 0; + + for (i = parm->lo; i <= parm->hi; i++) + { + struct elf_link_hash_entry *h; + + sym[len + 0] = i / 10 + '0'; + sym[len + 1] = i % 10 + '0'; + h = elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE); + if (h != NULL + && !h->def_regular) + { + h->root.type = bfd_link_hash_defined; + h->root.u.def.section = htab->sfpr; + h->root.u.def.value = htab->sfpr->size; + h->type = STT_FUNC; + h->def_regular = 1; + _bfd_elf_link_hash_hide_symbol (info, h, TRUE); + writing = TRUE; + if (htab->sfpr->contents == NULL) + { + htab->sfpr->contents = bfd_alloc (htab->elf.dynobj, SFPR_MAX); + if (htab->sfpr->contents == NULL) + return FALSE; + } + } + if (writing) + { + bfd_byte *p = htab->sfpr->contents + htab->sfpr->size; + if (i != parm->hi) + p = (*parm->write_ent) (htab->elf.dynobj, p, i); + else + p = (*parm->write_tail) (htab->elf.dynobj, p, i); + htab->sfpr->size = p - htab->sfpr->contents; + } + } + + return TRUE; +} + +static bfd_byte * +savegpr0 (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, STD_R0_0R1 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +savegpr0_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = savegpr0 (abfd, p, r); + bfd_put_32 (abfd, STD_R0_0R1 + 16, p); + p = p + 4; + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +restgpr0 (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LD_R0_0R1 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +restgpr0_tail (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LD_R0_0R1 + 16, p); + p = p + 4; + p = restgpr0 (abfd, p, r); + bfd_put_32 (abfd, MTLR_R0, p); + p = p + 4; + if (r == 29) + { + p = restgpr0 (abfd, p, 30); + p = restgpr0 (abfd, p, 31); + } + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +savegpr1 (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, STD_R0_0R12 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +savegpr1_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = savegpr1 (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +restgpr1 (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LD_R0_0R12 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +restgpr1_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = restgpr1 (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +savefpr (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, STFD_FR0_0R1 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +savefpr0_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = savefpr (abfd, p, r); + bfd_put_32 (abfd, STD_R0_0R1 + 16, p); + p = p + 4; + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +restfpr (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LFD_FR0_0R1 + (r << 21) + (1 << 16) - (32 - r) * 8, p); + return p + 4; +} + +static bfd_byte * +restfpr0_tail (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LD_R0_0R1 + 16, p); + p = p + 4; + p = restfpr (abfd, p, r); + bfd_put_32 (abfd, MTLR_R0, p); + p = p + 4; + if (r == 29) + { + p = restfpr (abfd, p, 30); + p = restfpr (abfd, p, 31); + } + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +savefpr1_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = savefpr (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +restfpr1_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = restfpr (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +savevr (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LI_R12_0 + (1 << 16) - (32 - r) * 16, p); + p = p + 4; + bfd_put_32 (abfd, STVX_VR0_R12_R0 + (r << 21), p); + return p + 4; +} + +static bfd_byte * +savevr_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = savevr (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + +static bfd_byte * +restvr (bfd *abfd, bfd_byte *p, int r) +{ + bfd_put_32 (abfd, LI_R12_0 + (1 << 16) - (32 - r) * 16, p); + p = p + 4; + bfd_put_32 (abfd, LVX_VR0_R12_R0 + (r << 21), p); + return p + 4; +} + +static bfd_byte * +restvr_tail (bfd *abfd, bfd_byte *p, int r) +{ + p = restvr (abfd, p, r); + bfd_put_32 (abfd, BLR, p); + return p + 4; +} + /* Called via elf_link_hash_traverse to transfer dynamic linking information on function code symbol entries to their corresponding function descriptor symbol entries. */ + static bfd_boolean func_desc_adjust (struct elf_link_hash_entry *h, void *inf) { @@ -4341,15 +5293,29 @@ func_desc_adjust (struct elf_link_hash_e info = inf; htab = ppc_hash_table (info); + /* Resolve undefined references to dot-symbols as the value + in the function descriptor, if we have one in a regular object. + This is to satisfy cases like ".quad .foo". Calls to functions + in dynamic objects are handled elsewhere. */ + if (fh->elf.root.type == bfd_link_hash_undefweak + && fh->was_undefined + && (fh->oh->elf.root.type == bfd_link_hash_defined + || fh->oh->elf.root.type == bfd_link_hash_defweak) + && get_opd_info (fh->oh->elf.root.u.def.section) != NULL + && opd_entry_value (fh->oh->elf.root.u.def.section, + fh->oh->elf.root.u.def.value, + &fh->elf.root.u.def.section, + &fh->elf.root.u.def.value) != (bfd_vma) -1) + { + fh->elf.root.type = fh->oh->elf.root.type; + fh->elf.forced_local = 1; + } + /* If this is a function code symbol, transfer dynamic linking information to the function descriptor symbol. */ if (!fh->is_func) return TRUE; - if (fh->elf.root.type == bfd_link_hash_undefweak - && (fh->elf.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR)) - htab->have_undefweak = TRUE; - for (ent = fh->elf.plt.plist; ent != NULL; ent = ent->next) if (ent->plt.refcount > 0) break; @@ -4393,35 +5359,38 @@ func_desc_adjust (struct elf_link_hash_e return FALSE; } fdh = (struct ppc_link_hash_entry *) bh; - fdh->elf.elf_link_hash_flags &= ~ELF_LINK_NON_ELF; + fdh->elf.non_elf = 0; fdh->elf.size = 24; fdh->elf.type = STT_OBJECT; } if (fdh != NULL - && (fdh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !fdh->elf.forced_local && (info->shared - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 + || fdh->elf.def_dynamic + || fdh->elf.ref_dynamic || (fdh->elf.root.type == bfd_link_hash_undefweak && ELF_ST_VISIBILITY (fdh->elf.other) == STV_DEFAULT))) { if (fdh->elf.dynindx == -1) if (! bfd_elf_link_record_dynamic_symbol (info, &fdh->elf)) return FALSE; - fdh->elf.elf_link_hash_flags - |= (fh->elf.elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_NON_GOT_REF)); + fdh->elf.ref_regular |= fh->elf.ref_regular; + fdh->elf.ref_dynamic |= fh->elf.ref_dynamic; + fdh->elf.ref_regular_nonweak |= fh->elf.ref_regular_nonweak; + fdh->elf.non_got_ref |= fh->elf.non_got_ref; if (ELF_ST_VISIBILITY (fh->elf.other) == STV_DEFAULT) { - fdh->elf.plt.plist = fh->elf.plt.plist; - fdh->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + struct plt_entry **ep = &fdh->elf.plt.plist; + while (*ep != NULL) + ep = &(*ep)->next; + *ep = fh->elf.plt.plist; + fh->elf.plt.plist = NULL; + fdh->elf.needs_plt = 1; } fdh->is_func_descriptor = 1; - fdh->oh = &fh->elf; - fh->oh = &fdh->elf; + fdh->oh = fh; + fh->oh = fdh; } /* Now that the info is on the function descriptor, clear the @@ -4433,128 +5402,57 @@ func_desc_adjust (struct elf_link_hash_e linker dragging in a definition from a static library. */ force_local = (info->shared - && ((fh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && (!fh->elf.def_regular || fdh == NULL - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - || (fdh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)); + || !fdh->elf.def_regular + || fdh->elf.forced_local)); _bfd_elf_link_hash_hide_symbol (info, &fh->elf, force_local); return TRUE; } -#define MIN_SAVE_FPR 14 -#define MAX_SAVE_FPR 31 - /* Called near the start of bfd_elf_size_dynamic_sections. We use this hook to a) provide some gcc support functions, and b) transfer dynamic linking information gathered so far on function code symbol entries, to their corresponding function descriptor symbol entries. */ + static bfd_boolean ppc64_elf_func_desc_adjust (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) { struct ppc_link_hash_table *htab; - unsigned int lowest_savef = MAX_SAVE_FPR + 2; - unsigned int lowest_restf = MAX_SAVE_FPR + 2; unsigned int i; - struct elf_link_hash_entry *h; - bfd_byte *p; - char sym[10]; + const struct sfpr_def_parms funcs[] = + { + { "_savegpr0_", 14, 31, savegpr0, savegpr0_tail }, + { "_restgpr0_", 14, 29, restgpr0, restgpr0_tail }, + { "_restgpr0_", 30, 31, restgpr0, restgpr0_tail }, + { "_savegpr1_", 14, 31, savegpr1, savegpr1_tail }, + { "_restgpr1_", 14, 31, restgpr1, restgpr1_tail }, + { "_savefpr_", 14, 31, savefpr, savefpr0_tail }, + { "_restfpr_", 14, 29, restfpr, restfpr0_tail }, + { "_restfpr_", 30, 31, restfpr, restfpr0_tail }, + { "._savef", 14, 31, savefpr, savefpr1_tail }, + { "._restf", 14, 31, restfpr, restfpr1_tail }, + { "_savevr_", 20, 31, savevr, savevr_tail }, + { "_restvr_", 20, 31, restvr, restvr_tail } + }; htab = ppc_hash_table (info); - if (htab->sfpr == NULL) /* We don't have any relocs. */ return TRUE; - /* First provide any missing ._savef* and ._restf* functions. */ - memcpy (sym, "._savef14", 10); - for (i = MIN_SAVE_FPR; i <= MAX_SAVE_FPR; i++) - { - sym[7] = i / 10 + '0'; - sym[8] = i % 10 + '0'; - h = elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE); - if (h != NULL - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - { - if (lowest_savef > i) - lowest_savef = i; - h->root.type = bfd_link_hash_defined; - h->root.u.def.section = htab->sfpr; - h->root.u.def.value = (i - lowest_savef) * 4; - h->type = STT_FUNC; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; - _bfd_elf_link_hash_hide_symbol (info, h, TRUE); - } - } - - memcpy (sym, "._restf14", 10); - for (i = MIN_SAVE_FPR; i <= MAX_SAVE_FPR; i++) - { - sym[7] = i / 10 + '0'; - sym[8] = i % 10 + '0'; - h = elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE); - if (h != NULL - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) - { - if (lowest_restf > i) - lowest_restf = i; - h->root.type = bfd_link_hash_defined; - h->root.u.def.section = htab->sfpr; - h->root.u.def.value = ((MAX_SAVE_FPR + 2 - lowest_savef) * 4 - + (i - lowest_restf) * 4); - h->type = STT_FUNC; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; - _bfd_elf_link_hash_hide_symbol (info, h, TRUE); - } - } - - elf_link_hash_traverse (&htab->elf, func_desc_adjust, info); - - htab->sfpr->size = ((MAX_SAVE_FPR + 2 - lowest_savef) * 4 - + (MAX_SAVE_FPR + 2 - lowest_restf) * 4); - - if (htab->sfpr->size == 0) - { - if (!htab->have_undefweak) - { - _bfd_strip_section_from_output (info, htab->sfpr); - return TRUE; - } - - htab->sfpr->size = 4; - } - - p = bfd_alloc (htab->elf.dynobj, htab->sfpr->size); - if (p == NULL) - return FALSE; - htab->sfpr->contents = p; - - for (i = lowest_savef; i <= MAX_SAVE_FPR; i++) - { - unsigned int fpr = i << 21; - unsigned int stackoff = (1 << 16) - (MAX_SAVE_FPR + 1 - i) * 8; - bfd_put_32 (htab->elf.dynobj, STFD_FR0_0R1 + fpr + stackoff, p); - p += 4; - } - if (lowest_savef <= MAX_SAVE_FPR) - { - bfd_put_32 (htab->elf.dynobj, BLR, p); - p += 4; - } - - for (i = lowest_restf; i <= MAX_SAVE_FPR; i++) - { - unsigned int fpr = i << 21; - unsigned int stackoff = (1 << 16) - (MAX_SAVE_FPR + 1 - i) * 8; - bfd_put_32 (htab->elf.dynobj, LFD_FR0_0R1 + fpr + stackoff, p); - p += 4; - } - if (lowest_restf <= MAX_SAVE_FPR - || htab->sfpr->size == 4) - { - bfd_put_32 (htab->elf.dynobj, BLR, p); - } + /* Provide any missing _save* and _rest* functions. */ + htab->sfpr->size = 0; + for (i = 0; i < sizeof (funcs) / sizeof (funcs[0]); i++) + if (!sfpr_define (info, &funcs[i])) + return FALSE; + + elf_link_hash_traverse (&htab->elf, func_desc_adjust, info); + + if (htab->sfpr->size == 0) + _bfd_strip_section_from_output (info, htab->sfpr); return TRUE; } @@ -4577,7 +5475,7 @@ ppc64_elf_adjust_dynamic_symbol (struct /* Deal with function syms. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* Clear procedure linkage table information for any symbol that won't need a .plt entry. */ @@ -4585,14 +5483,13 @@ ppc64_elf_adjust_dynamic_symbol (struct for (ent = h->plt.plist; ent != NULL; ent = ent->next) if (ent->plt.refcount > 0) break; - if (!((struct ppc_link_hash_entry *) h)->is_func_descriptor - || ent == NULL + if (ent == NULL || SYMBOL_CALLS_LOCAL (info, h) || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT && h->root.type == bfd_link_hash_undefweak)) { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else @@ -4601,16 +5498,14 @@ ppc64_elf_adjust_dynamic_symbol (struct /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -4623,7 +5518,7 @@ ppc64_elf_adjust_dynamic_symbol (struct /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -4643,7 +5538,7 @@ ppc64_elf_adjust_dynamic_symbol (struct we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -4681,7 +5576,7 @@ ppc64_elf_adjust_dynamic_symbol (struct if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->relbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -4716,11 +5611,13 @@ ppc64_elf_hide_symbol (struct bfd_link_i struct elf_link_hash_entry *h, bfd_boolean force_local) { + struct ppc_link_hash_entry *eh; _bfd_elf_link_hash_hide_symbol (info, h, force_local); - if (((struct ppc_link_hash_entry *) h)->is_func_descriptor) + eh = (struct ppc_link_hash_entry *) h; + if (eh->is_func_descriptor) { - struct elf_link_hash_entry *fh = ((struct ppc_link_hash_entry *) h)->oh; + struct ppc_link_hash_entry *fh = eh->oh; if (fh == NULL) { @@ -4734,14 +5631,15 @@ ppc64_elf_hide_symbol (struct bfd_link_i when it runs out of memory. This function doesn't have a return status, so there's no way to gracefully return an error. So cheat. We know that string[-1] can be safely - dereferenced; It's either a string in an ELF string - table, or allocated in an objalloc structure. */ + accessed; It's either a string in an ELF string table, + or allocated in an objalloc structure. */ - p = h->root.root.string - 1; + p = eh->elf.root.root.string - 1; save = *p; *(char *) p = '.'; htab = ppc_hash_table (info); - fh = elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE); + fh = (struct ppc_link_hash_entry *) + elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE); *(char *) p = save; /* Unfortunately, if it so happens that the string we were @@ -4750,27 +5648,32 @@ ppc64_elf_hide_symbol (struct bfd_link_i reason the lookup should fail. */ if (fh == NULL) { - q = h->root.root.string + strlen (h->root.root.string); - while (q >= h->root.root.string && *q == *p) + q = eh->elf.root.root.string + strlen (eh->elf.root.root.string); + while (q >= eh->elf.root.root.string && *q == *p) --q, --p; - if (q < h->root.root.string && *p == '.') - fh = elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE); + if (q < eh->elf.root.root.string && *p == '.') + fh = (struct ppc_link_hash_entry *) + elf_link_hash_lookup (&htab->elf, p, FALSE, FALSE, FALSE); } if (fh != NULL) { - ((struct ppc_link_hash_entry *) h)->oh = fh; - ((struct ppc_link_hash_entry *) fh)->oh = h; + eh->oh = fh; + fh->oh = eh; } } if (fh != NULL) - _bfd_elf_link_hash_hide_symbol (info, fh, force_local); + _bfd_elf_link_hash_hide_symbol (info, &fh->elf, force_local); } } static bfd_boolean -get_sym_h (struct elf_link_hash_entry **hp, Elf_Internal_Sym **symp, - asection **symsecp, char **tls_maskp, Elf_Internal_Sym **locsymsp, - unsigned long r_symndx, bfd *ibfd) +get_sym_h (struct elf_link_hash_entry **hp, + Elf_Internal_Sym **symp, + asection **symsecp, + char **tls_maskp, + Elf_Internal_Sym **locsymsp, + unsigned long r_symndx, + bfd *ibfd) { Elf_Internal_Shdr *symtab_hdr = &elf_tdata (ibfd)->symtab_hdr; @@ -4903,15 +5806,14 @@ get_tls_mask (char **tls_maskp, unsigned if ((h == NULL || ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + && !h->def_dynamic)) && (next_r == -1 || next_r == -2)) return 1 - next_r; return 1; } /* Adjust all global syms defined in opd sections. In gcc generated - code these will already have been done, but I suppose we have to - cater for all sorts of hand written assembly. */ + code for the old ABI, these will already have been done. */ static bfd_boolean adjust_opd_syms (struct elf_link_hash_entry *h, void *inf ATTRIBUTE_UNUSED) @@ -4935,11 +5837,28 @@ adjust_opd_syms (struct elf_link_hash_en return TRUE; sym_sec = eh->elf.root.u.def.section; - if (sym_sec != NULL - && elf_section_data (sym_sec) != NULL - && (opd_adjust = ppc64_elf_section_data (sym_sec)->opd.adjust) != NULL) + opd_adjust = get_opd_info (sym_sec); + if (opd_adjust != NULL) { - eh->elf.root.u.def.value += opd_adjust[eh->elf.root.u.def.value / 24]; + long adjust = opd_adjust[eh->elf.root.u.def.value / 8]; + if (adjust == -1) + { + /* This entry has been deleted. */ + asection *dsec = ppc64_elf_tdata (sym_sec->owner)->deleted_section; + if (dsec == NULL) + { + for (dsec = sym_sec->owner->sections; dsec; dsec = dsec->next) + if (elf_discarded_section (dsec)) + { + ppc64_elf_tdata (sym_sec->owner)->deleted_section = dsec; + break; + } + } + eh->elf.root.u.def.value = 0; + eh->elf.root.u.def.section = dsec; + } + else + eh->elf.root.u.def.value += adjust; eh->adjust_done = 1; } return TRUE; @@ -4952,10 +5871,12 @@ adjust_opd_syms (struct elf_link_hash_en applications. */ bfd_boolean -ppc64_elf_edit_opd (bfd *obfd, struct bfd_link_info *info) +ppc64_elf_edit_opd (bfd *obfd, struct bfd_link_info *info, + bfd_boolean non_overlapping) { bfd *ibfd; bfd_boolean some_edited = FALSE; + asection *need_pad = NULL; for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next) { @@ -4966,23 +5887,24 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf struct elf_link_hash_entry **sym_hashes; bfd_vma offset; bfd_size_type amt; - long *adjust; - bfd_boolean need_edit; + long *opd_adjust; + bfd_boolean need_edit, add_aux_fields; + bfd_size_type cnt_16b = 0; sec = bfd_get_section_by_name (ibfd, ".opd"); if (sec == NULL) continue; - amt = sec->size * sizeof (long) / 24; - adjust = ppc64_elf_section_data (sec)->opd.adjust; - if (adjust == NULL) + amt = sec->size * sizeof (long) / 8; + opd_adjust = get_opd_info (sec); + if (opd_adjust == NULL) { /* Must be a ld -r link. ie. check_relocs hasn't been called. */ - adjust = bfd_zalloc (obfd, amt); - ppc64_elf_section_data (sec)->opd.adjust = adjust; + opd_adjust = bfd_zalloc (obfd, amt); + ppc64_elf_section_data (sec)->opd.adjust = opd_adjust; } - memset (adjust, 0, amt); + memset (opd_adjust, 0, amt); if (sec->output_section == bfd_abs_section_ptr) continue; @@ -5004,6 +5926,7 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf /* First run through the relocs to check they are sane, and to determine whether we need to edit this opd section. */ need_edit = FALSE; + need_pad = sec; offset = 0; relend = relstart + sec->reloc_count; for (rel = relstart; rel < relend; ) @@ -5014,7 +5937,7 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; - /* .opd contains a regular array of 24 byte entries. We're + /* .opd contains a regular array of 16 or 24 byte entries. We're only interested in the reloc pointing to a function entry point. */ if (rel->r_offset != offset @@ -5026,9 +5949,9 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf Also, there's nothing to prevent someone putting something silly in .opd with the assembler. No .opd optimization for them! */ + broken_opd: (*_bfd_error_handler) - (_("%s: .opd is not a regular array of opd entries"), - bfd_archive_filename (ibfd)); + (_("%B: .opd is not a regular array of opd entries"), ibfd); need_edit = FALSE; break; } @@ -5037,8 +5960,8 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf || (r_type = ELF64_R_TYPE ((rel + 1)->r_info)) != R_PPC64_TOC) { (*_bfd_error_handler) - (_("%s: unexpected reloc type %u in .opd section"), - bfd_archive_filename (ibfd), r_type); + (_("%B: unexpected reloc type %u in .opd section"), + ibfd, r_type); need_edit = FALSE; break; } @@ -5057,9 +5980,8 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf sym_name = bfd_elf_local_sym_name (ibfd, sym); (*_bfd_error_handler) - (_("%s: undefined sym `%s' in .opd section"), - bfd_archive_filename (ibfd), - sym_name); + (_("%B: undefined sym `%s' in .opd section"), + ibfd, sym_name); need_edit = FALSE; break; } @@ -5075,19 +5997,54 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf || sym_sec->output_section == bfd_abs_section_ptr) need_edit = TRUE; - offset += 24; rel += 2; - /* Allow for the possibility of a reloc on the third word. */ - if (rel < relend - && rel->r_offset == offset - 8) - rel += 1; + if (rel == relend + || (rel + 1 == relend && rel->r_offset == offset + 16)) + { + if (sec->size == offset + 24) + { + need_pad = NULL; + break; + } + if (rel == relend && sec->size == offset + 16) + { + cnt_16b++; + break; + } + goto broken_opd; + } + + if (rel->r_offset == offset + 24) + offset += 24; + else if (rel->r_offset != offset + 16) + goto broken_opd; + else if (rel + 1 < relend + && ELF64_R_TYPE (rel[0].r_info) == R_PPC64_ADDR64 + && ELF64_R_TYPE (rel[1].r_info) == R_PPC64_TOC) + { + offset += 16; + cnt_16b++; + } + else if (rel + 2 < relend + && ELF64_R_TYPE (rel[1].r_info) == R_PPC64_ADDR64 + && ELF64_R_TYPE (rel[2].r_info) == R_PPC64_TOC) + { + offset += 24; + rel += 1; + } + else + goto broken_opd; } - if (need_edit) + add_aux_fields = non_overlapping && cnt_16b > 0; + + if (need_edit || add_aux_fields) { Elf_Internal_Rela *write_rel; bfd_byte *rptr, *wptr; + bfd_byte *new_contents = NULL; bfd_boolean skip; + long opd_ent_size; /* This seems a waste of time as input .opd sections are all zeros as generated by gcc, but I suppose there's no reason @@ -5116,9 +6073,21 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf wptr = sec->contents; rptr = sec->contents; + new_contents = sec->contents; + + if (add_aux_fields) + { + new_contents = bfd_malloc (sec->size + cnt_16b * 8); + if (new_contents == NULL) + return FALSE; + need_pad = FALSE; + wptr = new_contents; + } + write_rel = relstart; skip = FALSE; offset = 0; + opd_ent_size = 0; for (rel = relstart; rel < relend; rel++) { unsigned long r_symndx; @@ -5134,7 +6103,21 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf if (rel->r_offset == offset) { struct ppc_link_hash_entry *fdh = NULL; - if (h != NULL) + + /* See if the .opd entry is full 24 byte or + 16 byte (with fd_aux entry overlapped with next + fd_func). */ + opd_ent_size = 24; + if ((rel + 2 == relend && sec->size == offset + 16) + || (rel + 3 < relend + && rel[2].r_offset == offset + 16 + && rel[3].r_offset == offset + 24 + && ELF64_R_TYPE (rel[2].r_info) == R_PPC64_ADDR64 + && ELF64_R_TYPE (rel[3].r_info) == R_PPC64_TOC)) + opd_ent_size = 16; + + if (h != NULL + && h->root.root.string[0] == '.') fdh = get_fdh ((struct ppc_link_hash_entry *) h, ppc_hash_table (info)); @@ -5142,19 +6125,20 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf || sym_sec->output_section == bfd_abs_section_ptr); if (skip) { - if (h != NULL && sym_sec->owner == ibfd) + if (fdh != NULL && sym_sec->owner == ibfd) { /* Arrange for the function descriptor sym to be dropped. */ fdh->elf.root.u.def.value = 0; fdh->elf.root.u.def.section = sym_sec; } + opd_adjust[rel->r_offset / 8] = -1; } else { /* We'll be keeping this opd entry. */ - if (h != NULL) + if (fdh != NULL) { /* Redefine the function descriptor symbol to this location in the opd section. It is @@ -5163,7 +6147,7 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf for local symbols, because various places in the generic ELF code use the value stored in u.def.value. */ - fdh->elf.root.u.def.value = wptr - sec->contents; + fdh->elf.root.u.def.value = wptr - new_contents; fdh->adjust_done = 1; } @@ -5173,14 +6157,20 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf for the function descriptor sym which we don't have at the moment. So keep an array of adjustments. */ - adjust[rel->r_offset / 24] = wptr - rptr; + opd_adjust[rel->r_offset / 8] + = (wptr - new_contents) - (rptr - sec->contents); if (wptr != rptr) - memcpy (wptr, rptr, 24); - wptr += 24; + memcpy (wptr, rptr, opd_ent_size); + wptr += opd_ent_size; + if (add_aux_fields && opd_ent_size == 16) + { + memset (wptr, '\0', 8); + wptr += 8; + } } - rptr += 24; - offset += 24; + rptr += opd_ent_size; + offset += opd_ent_size; } if (skip) @@ -5218,15 +6208,21 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf /* We need to adjust any reloc offsets to point to the new opd entries. While we're at it, we may as well remove redundant relocs. */ - rel->r_offset += wptr - rptr; + rel->r_offset += opd_adjust[(offset - opd_ent_size) / 8]; if (write_rel != rel) memcpy (write_rel, rel, sizeof (*rel)); ++write_rel; } } - sec->size = wptr - sec->contents; + sec->size = wptr - new_contents; sec->reloc_count = write_rel - relstart; + if (add_aux_fields) + { + free (sec->contents); + sec->contents = new_contents; + } + /* Fudge the size too, as this is used later in elf_bfd_final_link if we are emitting relocs. */ elf_section_data (sec)->rel_hdr.sh_size @@ -5250,6 +6246,40 @@ ppc64_elf_edit_opd (bfd *obfd, struct bf if (some_edited) elf_link_hash_traverse (elf_hash_table (info), adjust_opd_syms, NULL); + /* If we are doing a final link and the last .opd entry is just 16 byte + long, add a 8 byte padding after it. */ + if (need_pad != NULL && !info->relocatable) + { + bfd_byte *p; + + if ((need_pad->flags & SEC_IN_MEMORY) == 0) + { + BFD_ASSERT (need_pad->size > 0); + + p = bfd_malloc (need_pad->size + 8); + if (p == NULL) + return FALSE; + + if (! bfd_get_section_contents (need_pad->owner, need_pad, + p, 0, need_pad->size)) + return FALSE; + + need_pad->contents = p; + need_pad->flags |= (SEC_IN_MEMORY | SEC_HAS_CONTENTS); + } + else + { + p = bfd_realloc (need_pad->contents, need_pad->size + 8); + if (p == NULL) + return FALSE; + + need_pad->contents = p; + } + + memset (need_pad->contents + need_pad->size, 0, 8); + need_pad->size += 8; + } + return TRUE; } @@ -5263,13 +6293,29 @@ ppc64_elf_tls_setup (bfd *obfd, struct b htab = ppc_hash_table (info); if (htab->tls_get_addr != NULL) { - struct elf_link_hash_entry *h = htab->tls_get_addr; + struct ppc_link_hash_entry *h = htab->tls_get_addr; - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; + while (h->elf.root.type == bfd_link_hash_indirect + || h->elf.root.type == bfd_link_hash_warning) + h = (struct ppc_link_hash_entry *) h->elf.root.u.i.link; htab->tls_get_addr = h; + + if (htab->tls_get_addr_fd == NULL + && h->oh != NULL + && h->oh->is_func_descriptor) + htab->tls_get_addr_fd = h->oh; + } + + if (htab->tls_get_addr_fd != NULL) + { + struct ppc_link_hash_entry *h = htab->tls_get_addr_fd; + + while (h->elf.root.type == bfd_link_hash_indirect + || h->elf.root.type == bfd_link_hash_warning) + h = (struct ppc_link_hash_entry *) h->elf.root.u.i.link; + + htab->tls_get_addr_fd = h; } return _bfd_elf_tls_setup (obfd, info); @@ -5345,22 +6391,14 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIB value = h->root.u.def.value; } else - { - value = sym->st_value; - - if (elf_section_data (sym_sec) != NULL) - { - long *adjust; - adjust = ppc64_elf_section_data (sym_sec)->opd.adjust; - if (adjust != NULL) - value += adjust[value / 24]; - } - } + /* Symbols referenced by TLS relocs must be of type + STT_TLS. So no need for .opd local sym adjust. */ + value = sym->st_value; ok_tprel = FALSE; is_local = FALSE; if (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) { is_local = TRUE; value += sym_sec->output_offset; @@ -5427,7 +6465,8 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIB case R_PPC64_REL14_BRNTAKEN: case R_PPC64_REL24: if (h != NULL - && h == htab->tls_get_addr) + && (h == &htab->tls_get_addr->elf + || h == &htab->tls_get_addr_fd->elf)) { if (!expecting_tls_get_addr && rel != relstart @@ -5608,8 +6647,6 @@ allocate_dynrelocs (struct elf_link_hash for (pent = h->plt.plist; pent != NULL; pent = pent->next) if (pent->plt.refcount > 0) { - BFD_ASSERT (((struct ppc_link_hash_entry *) h)->is_func_descriptor); - /* If this is the first .plt entry, make room for the special first entry. */ s = htab->plt; @@ -5640,13 +6677,13 @@ allocate_dynrelocs (struct elf_link_hash if (!doneone) { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } eh = (struct ppc_link_hash_entry *) h; @@ -5684,14 +6721,14 @@ allocate_dynrelocs (struct elf_link_hash Undefined weak syms won't yet be marked as dynamic, nor will all TLS symbols. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } if ((gent->tls_type & TLS_LD) != 0 - && !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + && !h->def_dynamic) { gent->got.offset = ppc64_tlsld_got (gent->owner)->offset; continue; @@ -5758,14 +6795,14 @@ allocate_dynrelocs (struct elf_link_hash symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && h->def_dynamic + && !h->def_regular) { /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -5862,7 +6899,7 @@ ppc64_elf_size_dynamic_sections (bfd *ou Elf_Internal_Shdr *symtab_hdr; asection *srel; - if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour) + if (!is_ppc64_elf_target (ibfd->xvec)) continue; if (ppc64_tlsld_got (ibfd)->refcount > 0) @@ -6032,6 +7069,9 @@ ppc64_elf_size_dynamic_sections (bfd *ou for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next) { + if (!is_ppc64_elf_target (ibfd->xvec)) + continue; + s = ppc64_elf_tdata (ibfd)->got; if (s != NULL && s != htab->got) { @@ -6134,14 +7174,18 @@ ppc_type_of_stub (asection *input_sec, if (h != NULL) { if (h->oh != NULL - && h->oh->dynindx != -1) + && h->oh->is_func_descriptor) + h = h->oh; + + if (h->elf.dynindx != -1) { struct plt_entry *ent; - for (ent = h->oh->plt.plist; ent != NULL; ent = ent->next) + + for (ent = h->elf.plt.plist; ent != NULL; ent = ent->next) if (ent->addend == rel->r_addend && ent->plt.offset != (bfd_vma) -1) { - *hash = (struct ppc_link_hash_entry *) h->oh; + *hash = h; return ppc_stub_plt_call; } } @@ -6209,7 +7253,7 @@ ppc_build_one_stub (struct bfd_hash_entr bfd_byte *p; unsigned int indx; struct plt_entry *ent; - bfd_vma off; + bfd_vma dest, off; int size; /* Massage our args to the form they really have. */ @@ -6228,9 +7272,9 @@ ppc_build_one_stub (struct bfd_hash_entr case ppc_stub_long_branch: case ppc_stub_long_branch_r2off: /* Branches are relative. This is where we are going to. */ - off = (stub_entry->target_value - + stub_entry->target_section->output_offset - + stub_entry->target_section->output_section->vma); + off = dest = (stub_entry->target_value + + stub_entry->target_section->output_offset + + stub_entry->target_section->output_section->vma); /* And this is where we are coming from. */ off -= (stub_entry->stub_offset @@ -6257,6 +7301,67 @@ ppc_build_one_stub (struct bfd_hash_entr bfd_put_32 (htab->stub_bfd, B_DOT | (off & 0x3fffffc), loc); BFD_ASSERT (off + (1 << 25) < (bfd_vma) (1 << 26)); + + if (info->emitrelocations) + { + Elf_Internal_Rela *relocs, *r; + struct bfd_elf_section_data *elfsec_data; + + elfsec_data = elf_section_data (stub_entry->stub_sec); + relocs = elfsec_data->relocs; + if (relocs == NULL) + { + bfd_size_type relsize; + relsize = stub_entry->stub_sec->reloc_count * sizeof (*relocs); + relocs = bfd_alloc (htab->stub_bfd, relsize); + if (relocs == NULL) + return FALSE; + elfsec_data->relocs = relocs; + elfsec_data->rel_hdr.sh_size = relsize; + elfsec_data->rel_hdr.sh_entsize = 24; + stub_entry->stub_sec->reloc_count = 0; + } + r = relocs + stub_entry->stub_sec->reloc_count; + stub_entry->stub_sec->reloc_count += 1; + r->r_offset = loc - stub_entry->stub_sec->contents; + r->r_info = ELF64_R_INFO (0, R_PPC64_REL24); + r->r_addend = dest; + if (stub_entry->h != NULL) + { + struct elf_link_hash_entry **hashes; + unsigned long symndx; + struct ppc_link_hash_entry *h; + + hashes = elf_sym_hashes (htab->stub_bfd); + if (hashes == NULL) + { + bfd_size_type hsize; + + hsize = (htab->stub_globals + 1) * sizeof (*hashes); + hashes = bfd_zalloc (htab->stub_bfd, hsize); + if (hashes == NULL) + return FALSE; + elf_sym_hashes (htab->stub_bfd) = hashes; + htab->stub_globals = 1; + } + symndx = htab->stub_globals++; + h = stub_entry->h; + hashes[symndx] = &h->elf; + r->r_info = ELF64_R_INFO (symndx, R_PPC64_REL24); + if (h->oh != NULL && h->oh->is_func) + h = h->oh; + if (h->elf.root.u.def.section != stub_entry->target_section) + /* H is an opd symbol. The addend must be zero. */ + r->r_addend = 0; + else + { + off = (h->elf.root.u.def.value + + h->elf.root.u.def.section->output_offset + + h->elf.root.u.def.section->output_section->vma); + r->r_addend -= off; + } + } + } break; case ppc_stub_plt_branch: @@ -6279,7 +7384,7 @@ ppc_build_one_stub (struct bfd_hash_entr bfd_put_64 (htab->brlt->owner, off, htab->brlt->contents + br_entry->offset); - if (info->shared) + if (htab->relbrlt != NULL) { /* Create a reloc for the branch lookup table entry. */ Elf_Internal_Rela rela; @@ -6347,17 +7452,18 @@ ppc_build_one_stub (struct bfd_hash_entr /* Do the best we can for shared libraries built without exporting ".foo" for each "foo". This can happen when symbol versioning scripts strip all bar a subset of symbols. */ - if (stub_entry->h->oh->root.type != bfd_link_hash_defined - && stub_entry->h->oh->root.type != bfd_link_hash_defweak) + if (stub_entry->h->oh != NULL + && stub_entry->h->oh->elf.root.type != bfd_link_hash_defined + && stub_entry->h->oh->elf.root.type != bfd_link_hash_defweak) { /* Point the symbol at the stub. There may be multiple stubs, we don't really care; The main thing is to make this sym defined somewhere. Maybe defining the symbol in the stub section is a silly idea. If we didn't do this, htab->top_id could disappear. */ - stub_entry->h->oh->root.type = bfd_link_hash_defined; - stub_entry->h->oh->root.u.def.section = stub_entry->stub_sec; - stub_entry->h->oh->root.u.def.value = stub_entry->stub_offset; + stub_entry->h->oh->elf.root.type = bfd_link_hash_defined; + stub_entry->h->oh->elf.root.u.def.section = stub_entry->stub_sec; + stub_entry->h->oh->elf.root.u.def.value = stub_entry->stub_offset; } /* Now build the stub. */ @@ -6398,15 +7504,26 @@ ppc_build_one_stub (struct bfd_hash_entr stub_entry->stub_sec->size += size; - if (htab->emit_stub_syms - && !(stub_entry->stub_type == ppc_stub_plt_call - && stub_entry->h->oh->root.type == bfd_link_hash_defined - && stub_entry->h->oh->root.u.def.section == stub_entry->stub_sec - && stub_entry->h->oh->root.u.def.value == stub_entry->stub_offset)) + if (htab->emit_stub_syms) { struct elf_link_hash_entry *h; - h = elf_link_hash_lookup (&htab->elf, stub_entry->root.string, - TRUE, FALSE, FALSE); + size_t len1, len2; + char *name; + const char *const stub_str[] = { "long_branch", + "long_branch_r2off", + "plt_branch", + "plt_branch_r2off", + "plt_call" }; + + len1 = strlen (stub_str[stub_entry->stub_type - 1]); + len2 = strlen (stub_entry->root.string); + name = bfd_malloc (len1 + len2 + 2); + if (name == NULL) + return FALSE; + memcpy (name, stub_entry->root.string, 9); + memcpy (name + 9, stub_str[stub_entry->stub_type - 1], len1); + memcpy (name + len1 + 9, stub_entry->root.string + 8, len2 - 8 + 1); + h = elf_link_hash_lookup (&htab->elf, name, TRUE, FALSE, FALSE); if (h == NULL) return FALSE; if (h->root.type == bfd_link_hash_new) @@ -6414,10 +7531,11 @@ ppc_build_one_stub (struct bfd_hash_entr h->root.type = bfd_link_hash_defined; h->root.u.def.section = stub_entry->stub_sec; h->root.u.def.value = stub_entry->stub_offset; - h->elf_link_hash_flags = (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_FORCED_LOCAL); + h->ref_regular = 1; + h->def_regular = 1; + h->ref_regular_nonweak = 1; + h->forced_local = 1; + h->non_elf = 0; } } @@ -6509,7 +7627,7 @@ ppc_size_one_stub (struct bfd_hash_entry br_entry->offset = htab->brlt->size; htab->brlt->size += 8; - if (info->shared) + if (htab->relbrlt != NULL) htab->relbrlt->size += sizeof (Elf64_External_Rela); } @@ -6518,6 +7636,11 @@ ppc_size_one_stub (struct bfd_hash_entry if (stub_entry->stub_type != ppc_stub_plt_branch) size = 28; } + + if (info->emitrelocations + && (stub_entry->stub_type == ppc_stub_long_branch + || stub_entry->stub_type == ppc_stub_long_branch_r2off)) + stub_entry->stub_sec->reloc_count += 1; } stub_entry->stub_sec->size += size; @@ -6597,20 +7720,15 @@ void ppc64_elf_next_toc_section (struct bfd_link_info *info, asection *isec) { struct ppc_link_hash_table *htab = ppc_hash_table (info); + bfd_vma addr = isec->output_offset + isec->output_section->vma; + bfd_vma off = addr - htab->toc_curr; - if (!htab->no_multi_toc) - { - bfd_vma addr = isec->output_offset + isec->output_section->vma; - bfd_vma off = addr - htab->toc_curr; - if (off + isec->size > 0x10000) - { - htab->toc_curr = addr; - htab->multi_toc_needed = 1; - } - elf_gp (isec->owner) = (htab->toc_curr - - elf_gp (isec->output_section->owner) - + TOC_BASE_OFF); - } + if (off + isec->size > 0x10000) + htab->toc_curr = addr; + + elf_gp (isec->owner) = (htab->toc_curr + - elf_gp (isec->output_section->owner) + + TOC_BASE_OFF); } /* Called after the last call to the above function. */ @@ -6912,14 +8030,17 @@ ppc64_elf_size_stubs (bfd *output_bfd, unsigned int r_indx; enum ppc_stub_type stub_type; struct ppc_stub_hash_entry *stub_entry; - asection *sym_sec; + asection *sym_sec, *code_sec; bfd_vma sym_value; bfd_vma destination; + bfd_boolean ok_dest; struct ppc_link_hash_entry *hash; + struct ppc_link_hash_entry *fdh; struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; char *stub_name; const asection *id_sec; + long *opd_adjust; r_type = ELF64_R_TYPE (irela->r_info); r_indx = ELF64_R_SYM (irela->r_info); @@ -6939,32 +8060,44 @@ ppc64_elf_size_stubs (bfd *output_bfd, /* Now determine the call target, its name, value, section. */ - destination = 0; if (!get_sym_h (&h, &sym, &sym_sec, NULL, &local_syms, r_indx, input_bfd)) goto error_ret_free_internal; hash = (struct ppc_link_hash_entry *) h; + ok_dest = FALSE; + fdh = NULL; if (hash == NULL) { - /* It's a local symbol. */ sym_value = sym->st_value; - destination = (sym_value + irela->r_addend - + sym_sec->output_offset - + sym_sec->output_section->vma); + ok_dest = TRUE; } else { - /* It's an external symbol. */ sym_value = 0; - if (hash->elf.root.type == bfd_link_hash_defined - || hash->elf.root.type == bfd_link_hash_defweak) + /* Recognise an old ABI func code entry sym, and + use the func descriptor sym instead. */ + if (hash->elf.root.type == bfd_link_hash_undefweak + && hash->elf.root.root.string[0] == '.' + && (fdh = get_fdh (hash, htab)) != NULL) + { + if (fdh->elf.root.type == bfd_link_hash_defined + || fdh->elf.root.type == bfd_link_hash_defweak) + { + sym_sec = fdh->elf.root.u.def.section; + sym_value = fdh->elf.root.u.def.value; + if (sym_sec->output_section != NULL) + ok_dest = TRUE; + } + else + fdh = NULL; + } + else if (hash->elf.root.type == bfd_link_hash_defined + || hash->elf.root.type == bfd_link_hash_defweak) { sym_value = hash->elf.root.u.def.value; if (sym_sec->output_section != NULL) - destination = (sym_value + irela->r_addend - + sym_sec->output_offset - + sym_sec->output_section->vma); + ok_dest = TRUE; } else if (hash->elf.root.type == bfd_link_hash_undefweak) ; @@ -6977,6 +8110,44 @@ ppc64_elf_size_stubs (bfd *output_bfd, } } + destination = 0; + if (ok_dest) + { + sym_value += irela->r_addend; + destination = (sym_value + + sym_sec->output_offset + + sym_sec->output_section->vma); + } + + code_sec = sym_sec; + opd_adjust = get_opd_info (sym_sec); + if (opd_adjust != NULL) + { + bfd_vma dest; + + if (hash == NULL) + { + long adjust = opd_adjust[sym_value / 8]; + if (adjust == -1) + continue; + sym_value += adjust; + } + dest = opd_entry_value (sym_sec, sym_value, + &code_sec, &sym_value); + if (dest != (bfd_vma) -1) + { + destination = dest; + if (fdh != NULL) + { + /* Fixup old ABI sym to point at code + entry. */ + hash->elf.root.type = bfd_link_hash_defweak; + hash->elf.root.u.def.section = code_sec; + hash->elf.root.u.def.value = sym_value; + } + } + } + /* Determine what (if any) linker stub is needed. */ stub_type = ppc_type_of_stub (section, irela, &hash, destination); @@ -6989,11 +8160,11 @@ ppc64_elf_size_stubs (bfd *output_bfd, _init and _fini functions, it may be that a call to what looks like a local sym is in fact a call needing a TOC adjustment. */ - if (sym_sec != NULL - && sym_sec->output_section != NULL - && (htab->stub_group[sym_sec->id].toc_off + if (code_sec != NULL + && code_sec->output_section != NULL + && (htab->stub_group[code_sec->id].toc_off != htab->stub_group[section->id].toc_off) - && sym_sec->has_gp_reloc + && code_sec->has_gp_reloc && section->has_gp_reloc) stub_type = ppc_stub_long_branch_r2off; } @@ -7004,7 +8175,8 @@ ppc64_elf_size_stubs (bfd *output_bfd, /* __tls_get_addr calls might be eliminated. */ if (stub_type != ppc_stub_plt_call && hash != NULL - && &hash->elf == htab->tls_get_addr + && (hash == htab->tls_get_addr + || hash == htab->tls_get_addr_fd) && section->has_tls_reloc && irela != internal_relocs) { @@ -7052,9 +8224,13 @@ ppc64_elf_size_stubs (bfd *output_bfd, stub_entry->stub_type = stub_type; stub_entry->target_value = sym_value; - stub_entry->target_section = sym_sec; + stub_entry->target_section = code_sec; stub_entry->h = hash; stub_entry->addend = irela->r_addend; + + if (stub_entry->h != NULL) + htab->stub_globals += 1; + stub_changed = TRUE; } @@ -7082,10 +8258,13 @@ ppc64_elf_size_stubs (bfd *output_bfd, stub_sec != NULL; stub_sec = stub_sec->next) if ((stub_sec->flags & SEC_LINKER_CREATED) == 0) - stub_sec->size = 0; + { + stub_sec->size = 0; + stub_sec->reloc_count = 0; + } htab->brlt->size = 0; - if (info->shared) + if (htab->relbrlt != NULL) htab->relbrlt->size = 0; bfd_hash_traverse (&htab->stub_hash_table, ppc_size_one_stub, info); @@ -7219,10 +8398,11 @@ ppc64_elf_build_stubs (bfd_boolean emit_ h->root.type = bfd_link_hash_defined; h->root.u.def.section = htab->glink; h->root.u.def.value = 0; - h->elf_link_hash_flags = (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_FORCED_LOCAL); + h->ref_regular = 1; + h->def_regular = 1; + h->ref_regular_nonweak = 1; + h->forced_local = 1; + h->non_elf = 0; } } p = htab->glink->contents; @@ -7290,7 +8470,7 @@ ppc64_elf_build_stubs (bfd_boolean emit_ if (htab->brlt->contents == NULL) return FALSE; } - if (info->shared && htab->relbrlt->size != 0) + if (htab->relbrlt != NULL && htab->relbrlt->size != 0) { htab->relbrlt->contents = bfd_zalloc (htab->relbrlt->owner, htab->relbrlt->size); @@ -7327,13 +8507,14 @@ ppc64_elf_build_stubs (bfd_boolean emit_ if (*stats == NULL) return FALSE; - sprintf (*stats, _("linker stubs in %u groups\n" + sprintf (*stats, _("linker stubs in %u group%s\n" " branch %lu\n" " toc adjust %lu\n" " long branch %lu\n" " long toc adj %lu\n" " plt call %lu"), stub_sec_count, + stub_sec_count == 1 ? "" : "s", htab->stub_count[ppc_stub_long_branch - 1], htab->stub_count[ppc_stub_long_branch_r2off - 1], htab->stub_count[ppc_stub_plt_branch - 1], @@ -7343,6 +8524,34 @@ ppc64_elf_build_stubs (bfd_boolean emit_ return TRUE; } +/* This function undoes the changes made by add_symbol_adjust. */ + +static bfd_boolean +undo_symbol_twiddle (struct elf_link_hash_entry *h, void *inf ATTRIBUTE_UNUSED) +{ + struct ppc_link_hash_entry *eh; + + if (h->root.type == bfd_link_hash_indirect) + return TRUE; + + if (h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + eh = (struct ppc_link_hash_entry *) h; + if (eh->elf.root.type != bfd_link_hash_undefweak || !eh->was_undefined) + return TRUE; + + eh->elf.root.type = bfd_link_hash_undefined; + return TRUE; +} + +void +ppc64_elf_restore_symbols (struct bfd_link_info *info) +{ + struct ppc_link_hash_table *htab = ppc_hash_table (info); + elf_link_hash_traverse (&htab->elf, undo_symbol_twiddle, info); +} + /* The RELOCATE_SECTION function is called by the ELF backend linker to handle the relocations for a section. @@ -7404,6 +8613,11 @@ ppc64_elf_relocate_section (bfd *output_ ppc_howto_init (); htab = ppc_hash_table (info); + + /* Don't relocate stub sections. */ + if (input_section->owner == htab->stub_bfd) + return TRUE; + local_got_ents = elf_local_got_ents (input_bfd); TOCstart = elf_gp (output_bfd); symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr; @@ -7419,8 +8633,9 @@ ppc64_elf_relocate_section (bfd *output_ bfd_reloc_status_type r; Elf_Internal_Sym *sym; asection *sec; - struct elf_link_hash_entry *h; - struct elf_link_hash_entry *fdh; + struct elf_link_hash_entry *h_elf; + struct ppc_link_hash_entry *h; + struct ppc_link_hash_entry *fdh; const char *sym_name; unsigned long r_symndx, toc_symndx; char tls_mask, tls_gd, tls_type; @@ -7447,7 +8662,7 @@ ppc64_elf_relocate_section (bfd *output_ sym = NULL; sec = NULL; - h = NULL; + h_elf = NULL; sym_name = NULL; unresolved_reloc = FALSE; warned = FALSE; @@ -7455,29 +8670,33 @@ ppc64_elf_relocate_section (bfd *output_ if (r_symndx < symtab_hdr->sh_info) { /* It's a local symbol. */ + long *opd_adjust; + sym = local_syms + r_symndx; sec = local_sections[r_symndx]; sym_name = bfd_elf_local_sym_name (input_bfd, sym); sym_type = ELF64_ST_TYPE (sym->st_info); relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel); - if (elf_section_data (sec) != NULL) + opd_adjust = get_opd_info (sec); + if (opd_adjust != NULL) { - long *opd_sym_adjust; - - opd_sym_adjust = ppc64_elf_section_data (sec)->opd.adjust; - if (opd_sym_adjust != NULL) - relocation += opd_sym_adjust[sym->st_value / 24]; + long adjust = opd_adjust[(sym->st_value + rel->r_addend) / 8]; + if (adjust == -1) + relocation = 0; + else + relocation += adjust; } } else { RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel, r_symndx, symtab_hdr, sym_hashes, - h, sec, relocation, + h_elf, sec, relocation, unresolved_reloc, warned); - sym_name = h->root.root.string; - sym_type = h->type; + sym_name = h_elf->root.root.string; + sym_type = h_elf->type; } + h = (struct ppc_link_hash_entry *) h_elf; /* TLS optimizations. Replace instruction sequences and relocs based on information we collected in tls_optimize. We edit @@ -7489,7 +8708,7 @@ ppc64_elf_relocate_section (bfd *output_ if (IS_PPC64_TLS_RELOC (r_type)) { if (h != NULL) - tls_mask = ((struct ppc_link_hash_entry *) h)->tls_mask; + tls_mask = h->tls_mask; else if (local_got_ents != NULL) { char *lgot_masks; @@ -7515,8 +8734,8 @@ ppc64_elf_relocate_section (bfd *output_ if (r_symndx != 0 && r_type != R_PPC64_NONE && (h == NULL - || h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) + || h->elf.root.type == bfd_link_hash_defined + || h->elf.root.type == bfd_link_hash_defweak) && IS_PPC64_TLS_RELOC (r_type) != (sym_type == STT_TLS)) { if (r_type == R_PPC64_TLS && tls_mask != 0) @@ -7525,10 +8744,10 @@ ppc64_elf_relocate_section (bfd *output_ else (*_bfd_error_handler) (sym_type == STT_TLS - ? _("%s(%s+0x%lx): %s used with TLS symbol %s") - : _("%s(%s+0x%lx): %s used with non-TLS symbol %s"), - bfd_archive_filename (input_bfd), - input_section->name, + ? _("%B(%A+0x%lx): %s used with TLS symbol %s") + : _("%B(%A+0x%lx): %s used with non-TLS symbol %s"), + input_bfd, + input_section, (long) rel->r_offset, ppc64_elf_howto_table[r_type]->name, sym_name); @@ -7733,7 +8952,8 @@ ppc64_elf_relocate_section (bfd *output_ while (h2->root.type == bfd_link_hash_indirect || h2->root.type == bfd_link_hash_warning) h2 = (struct elf_link_hash_entry *) h2->root.u.i.link; - if (h2 == NULL || h2 != htab->tls_get_addr) + if (h2 == NULL || (h2 != &htab->tls_get_addr->elf + && h2 != &htab->tls_get_addr_fd->elf)) break; /* OK, it checks out. Replace the call. */ @@ -7837,6 +9057,8 @@ ppc64_elf_relocate_section (bfd *output_ /* Handle other relocations that tweak non-addend part of insn. */ insn = 0; + max_br_offset = 1 << 25; + addend = rel->r_addend; switch (r_type) { default: @@ -7853,31 +9075,11 @@ ppc64_elf_relocate_section (bfd *output_ case R_PPC64_REL14_BRNTAKEN: insn |= bfd_get_32 (output_bfd, contents + rel->r_offset) & ~(0x01 << 21); - if (is_power4) - { - /* Set 'a' bit. This is 0b00010 in BO field for branch - on CR(BI) insns (BO == 001at or 011at), and 0b01000 - for branch on CTR insns (BO == 1a00t or 1a01t). */ - if ((insn & (0x14 << 21)) == (0x04 << 21)) - insn |= 0x02 << 21; - else if ((insn & (0x14 << 21)) == (0x10 << 21)) - insn |= 0x08 << 21; - else - break; - } - else - { - from = (rel->r_offset - + input_section->output_offset - + input_section->output_section->vma); - - /* Invert 'y' bit if not the default. */ - if ((bfd_signed_vma) (relocation + rel->r_addend - from) < 0) - insn ^= 0x01 << 21; - } + /* Fall thru. */ - bfd_put_32 (output_bfd, insn, contents + rel->r_offset); - break; + case R_PPC64_REL14: + max_br_offset = 1 << 15; + /* Fall thru. */ case R_PPC64_REL24: /* Calls to functions with a different TOC, such as calls to @@ -7886,11 +9088,15 @@ ppc64_elf_relocate_section (bfd *output_ linkage stubs needs to be followed by a nop, as the nop will be replaced with an instruction to restore the TOC base pointer. */ + stub_entry = NULL; + fdh = h; if (((h != NULL - && (fdh = ((struct ppc_link_hash_entry *) h)->oh) != NULL - && fdh->plt.plist != NULL) - || ((fdh = h, sec) != NULL + && (((fdh = h->oh) != NULL + && fdh->elf.plt.plist != NULL) + || (fdh = h)->elf.plt.plist != NULL)) + || (sec != NULL && sec->output_section != NULL + && sec->id <= htab->top_id && (htab->stub_group[sec->id].toc_off != htab->stub_group[input_section->id].toc_off))) && (stub_entry = ppc_get_stub_entry (input_section, sec, fdh, @@ -7899,17 +9105,18 @@ ppc64_elf_relocate_section (bfd *output_ || stub_entry->stub_type == ppc_stub_plt_branch_r2off || stub_entry->stub_type == ppc_stub_long_branch_r2off)) { - bfd_boolean can_plt_call = 0; + bfd_boolean can_plt_call = FALSE; if (rel->r_offset + 8 <= input_section->size) { - insn = bfd_get_32 (input_bfd, contents + rel->r_offset + 4); - if (insn == NOP - || insn == CROR_151515 || insn == CROR_313131) + unsigned long nop; + nop = bfd_get_32 (input_bfd, contents + rel->r_offset + 4); + if (nop == NOP + || nop == CROR_151515 || nop == CROR_313131) { bfd_put_32 (input_bfd, LD_R2_40R1, contents + rel->r_offset + 4); - can_plt_call = 1; + can_plt_call = TRUE; } } @@ -7919,16 +9126,17 @@ ppc64_elf_relocate_section (bfd *output_ { /* If this is a plain branch rather than a branch and link, don't require a nop. */ - insn = bfd_get_32 (input_bfd, contents + rel->r_offset); - if ((insn & 1) == 0) - can_plt_call = 1; + unsigned long br; + br = bfd_get_32 (input_bfd, contents + rel->r_offset); + if ((br & 1) == 0) + can_plt_call = TRUE; } else if (h != NULL - && strcmp (h->root.root.string, + && strcmp (h->elf.root.root.string, ".__libc_start_main") == 0) { /* Allow crt1 branch to go via a toc adjusting stub. */ - can_plt_call = 1; + can_plt_call = TRUE; } else { @@ -7937,21 +9145,21 @@ ppc64_elf_relocate_section (bfd *output_ || strcmp (input_section->output_section->name, ".fini") == 0) (*_bfd_error_handler) - (_("%s(%s+0x%lx): automatic multiple TOCs " + (_("%B(%A+0x%lx): automatic multiple TOCs " "not supported using your crt files; " "recompile with -mminimal-toc or upgrade gcc"), - bfd_archive_filename (input_bfd), - input_section->name, + input_bfd, + input_section, (long) rel->r_offset); else (*_bfd_error_handler) - (_("%s(%s+0x%lx): sibling call optimization to `%s' " + (_("%B(%A+0x%lx): sibling call optimization to `%s' " "does not allow automatic multiple TOCs; " "recompile with -mminimal-toc or " "-fno-optimize-sibling-calls, " "or make `%s' extern"), - bfd_archive_filename (input_bfd), - input_section->name, + input_bfd, + input_section, (long) rel->r_offset, sym_name, sym_name); @@ -7960,51 +9168,96 @@ ppc64_elf_relocate_section (bfd *output_ } } - if (can_plt_call) + if (can_plt_call + && stub_entry->stub_type == ppc_stub_plt_call) + unresolved_reloc = FALSE; + } + + if (stub_entry == NULL + && get_opd_info (sec) != NULL) + { + /* The branch destination is the value of the opd entry. */ + bfd_vma off = (relocation - sec->output_section->vma + - sec->output_offset + rel->r_addend); + bfd_vma dest = opd_entry_value (sec, off, NULL, NULL); + if (dest != (bfd_vma) -1) { - relocation = (stub_entry->stub_offset - + stub_entry->stub_sec->output_offset - + stub_entry->stub_sec->output_section->vma); - if (stub_entry->stub_type == ppc_stub_plt_call) - unresolved_reloc = FALSE; + relocation = dest; + addend = 0; + } + } + + /* If the branch is out of reach we ought to have a long + branch stub. */ + from = (rel->r_offset + + input_section->output_offset + + input_section->output_section->vma); + + if (stub_entry == NULL + && (relocation + rel->r_addend - from + max_br_offset + >= 2 * max_br_offset) + && r_type != R_PPC64_ADDR14_BRTAKEN + && r_type != R_PPC64_ADDR14_BRNTAKEN) + stub_entry = ppc_get_stub_entry (input_section, sec, h, rel, + htab); + + if (stub_entry != NULL) + { + /* Munge up the value and addend so that we call the stub + rather than the procedure directly. */ + relocation = (stub_entry->stub_offset + + stub_entry->stub_sec->output_offset + + stub_entry->stub_sec->output_section->vma); + addend = 0; + } + + if (insn != 0) + { + if (is_power4) + { + /* Set 'a' bit. This is 0b00010 in BO field for branch + on CR(BI) insns (BO == 001at or 011at), and 0b01000 + for branch on CTR insns (BO == 1a00t or 1a01t). */ + if ((insn & (0x14 << 21)) == (0x04 << 21)) + insn |= 0x02 << 21; + else if ((insn & (0x14 << 21)) == (0x10 << 21)) + insn |= 0x08 << 21; + else + break; } + else + { + /* Invert 'y' bit if not the default. */ + if ((bfd_signed_vma) (relocation + rel->r_addend - from) < 0) + insn ^= 0x01 << 21; + } + + bfd_put_32 (output_bfd, insn, contents + rel->r_offset); } - if (h != NULL - && h->root.type == bfd_link_hash_undefweak - && relocation == 0 - && rel->r_addend == 0) - { - /* Tweak calls to undefined weak functions to point at a - blr. We can thus call a weak function without first - checking whether the function is defined. We have a - blr at the end of .sfpr. */ - BFD_ASSERT (htab->sfpr->size != 0); - relocation = (htab->sfpr->size - 4 - + htab->sfpr->output_offset - + htab->sfpr->output_section->vma); - from = (rel->r_offset - + input_section->output_offset - + input_section->output_section->vma); - - /* But let's not be silly about it. If the blr isn't in - reach, just go to the next instruction. */ - if (relocation - from + (1 << 25) >= (1 << 26) - || htab->sfpr->size == 0) - relocation = from + 4; + /* NOP out calls to undefined weak functions. + We can thus call a weak function without first + checking whether the function is defined. */ + else if (h != NULL + && h->elf.root.type == bfd_link_hash_undefweak + && r_type == R_PPC64_REL24 + && relocation == 0 + && rel->r_addend == 0) + { + bfd_put_32 (output_bfd, NOP, contents + rel->r_offset); + continue; } break; } /* Set `addend'. */ tls_type = 0; - addend = rel->r_addend; switch (r_type) { default: (*_bfd_error_handler) - (_("%s: unknown relocation type %d for symbol %s"), - bfd_archive_filename (input_bfd), (int) r_type, sym_name); + (_("%B: unknown relocation type %d for symbol %s"), + input_bfd, (int) r_type, sym_name); bfd_set_error (bfd_error_bad_value); ret = FALSE; @@ -8065,7 +9318,7 @@ ppc64_elf_relocate_section (bfd *output_ if (tls_type == (TLS_TLS | TLS_LD) && (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + || !h->elf.def_dynamic)) offp = &ppc64_tlsld_got (input_bfd)->offset; else { @@ -8074,9 +9327,10 @@ ppc64_elf_relocate_section (bfd *output_ if (h != NULL) { bfd_boolean dyn = htab->elf.dynamic_sections_created; - if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) + if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, + &h->elf) || (info->shared - && SYMBOL_REFERENCES_LOCAL (info, h))) + && SYMBOL_REFERENCES_LOCAL (info, &h->elf))) /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined locally, or the symbol was forced to be local @@ -8084,10 +9338,10 @@ ppc64_elf_relocate_section (bfd *output_ ; else { - indx = h->dynindx; + indx = h->elf.dynindx; unresolved_reloc = FALSE; } - ent = h->got.glist; + ent = h->elf.got.glist; } else { @@ -8126,8 +9380,8 @@ ppc64_elf_relocate_section (bfd *output_ *offp = off | 1; if ((info->shared || indx != 0) && (h == NULL - || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak)) + || ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT + || h->elf.root.type != bfd_link_hash_undefweak)) { outrel.r_offset = (got->output_section->vma + got->output_offset @@ -8235,7 +9489,7 @@ ppc64_elf_relocate_section (bfd *output_ if (htab->plt != NULL) { struct plt_entry *ent; - for (ent = h->plt.plist; ent != NULL; ent = ent->next) + for (ent = h->elf.plt.plist; ent != NULL; ent = ent->next) if (ent->addend == rel->r_addend && ent->plt.offset != (bfd_vma) -1) { @@ -8375,17 +9629,17 @@ ppc64_elf_relocate_section (bfd *output_ if ((info->shared && (h == NULL - || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT - || h->root.type != bfd_link_hash_undefweak) + || ELF_ST_VISIBILITY (h->elf.other) == STV_DEFAULT + || h->elf.root.type != bfd_link_hash_undefweak) && (MUST_BE_DYN_RELOC (r_type) - || !SYMBOL_CALLS_LOCAL (info, h))) + || !SYMBOL_CALLS_LOCAL (info, &h->elf))) || (ELIMINATE_COPY_RELOCS && !info->shared && h != NULL - && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)) + && h->elf.dynindx != -1 + && !h->elf.non_got_ref + && h->elf.def_dynamic + && !h->elf.def_regular)) { Elf_Internal_Rela outrel; bfd_boolean skip, relocate; @@ -8424,10 +9678,10 @@ ppc64_elf_relocate_section (bfd *output_ if (skip) memset (&outrel, 0, sizeof outrel); - else if (!SYMBOL_REFERENCES_LOCAL (info, h) + else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf) && !is_opd && r_type != R_PPC64_TOC) - outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); + outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type); else { /* This symbol is local, or marked to become local, @@ -8543,8 +9797,8 @@ ppc64_elf_relocate_section (bfd *output_ /* These ones haven't been implemented yet. */ (*_bfd_error_handler) - (_("%s: relocation %s is not supported for symbol %s."), - bfd_archive_filename (input_bfd), + (_("%B: relocation %s is not supported for symbol %s."), + input_bfd, ppc64_elf_howto_table[r_type]->name, sym_name); bfd_set_error (bfd_error_invalid_operation); @@ -8622,8 +9876,8 @@ ppc64_elf_relocate_section (bfd *output_ if (((relocation + addend) & mask) != 0) { (*_bfd_error_handler) - (_("%s: error: relocation %s not a multiple of %d"), - bfd_archive_filename (input_bfd), + (_("%B: error: relocation %s not a multiple of %d"), + input_bfd, ppc64_elf_howto_table[r_type]->name, mask + 1); bfd_set_error (bfd_error_bad_value); @@ -8631,40 +9885,6 @@ ppc64_elf_relocate_section (bfd *output_ continue; } break; - - case R_PPC64_REL14: - case R_PPC64_REL14_BRNTAKEN: - case R_PPC64_REL14_BRTAKEN: - max_br_offset = 1 << 15; - goto branch_check; - - case R_PPC64_REL24: - max_br_offset = 1 << 25; - - branch_check: - /* If the branch is out of reach or the TOC register needs - adjusting, then redirect the call to the local stub for - this function. */ - from = (rel->r_offset - + input_section->output_offset - + input_section->output_section->vma); - if ((relocation + addend - from + max_br_offset >= 2 * max_br_offset - || (sec != NULL - && sec->output_section != NULL - && sec->id <= htab->top_id - && (htab->stub_group[sec->id].toc_off - != htab->stub_group[input_section->id].toc_off))) - && (stub_entry = ppc_get_stub_entry (input_section, sec, h, - rel, htab)) != NULL) - { - /* Munge up the value and addend so that we call the stub - rather than the procedure directly. */ - relocation = (stub_entry->stub_offset - + stub_entry->stub_sec->output_offset - + stub_entry->stub_sec->output_section->vma); - addend = 0; - } - break; } /* Dynamic relocs are not propagated for SEC_DEBUGGING sections @@ -8672,15 +9892,15 @@ ppc64_elf_relocate_section (bfd *output_ not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->elf.def_dynamic)) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, ppc64_elf_howto_table[(int) r_type]->name, - h->root.root.string); + h->elf.root.root.string); ret = FALSE; } @@ -8701,7 +9921,7 @@ ppc64_elf_relocate_section (bfd *output_ if (warned) continue; if (h != NULL - && h->root.type == bfd_link_hash_undefweak + && h->elf.root.type == bfd_link_hash_undefweak && ppc64_elf_howto_table[r_type]->pc_relative) { /* Assume this is a call protected by other code that @@ -8721,9 +9941,9 @@ ppc64_elf_relocate_section (bfd *output_ else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): %s reloc against `%s': error %d"), + input_bfd, + input_section, (long) rel->r_offset, ppc64_elf_howto_table[r_type]->name, sym_name, @@ -8745,20 +9965,25 @@ ppc64_elf_output_symbol_hook (struct bfd asection *input_sec, struct elf_link_hash_entry *h) { - long *adjust; + long *opd_adjust, adjust; bfd_vma value; - if (h != NULL - || input_sec == NULL - || ppc64_elf_section_data (input_sec) == NULL - || (adjust = ppc64_elf_section_data (input_sec)->opd.adjust) == NULL) + if (h != NULL) + return TRUE; + + opd_adjust = get_opd_info (input_sec); + if (opd_adjust == NULL) return TRUE; value = elfsym->st_value - input_sec->output_offset; if (!info->relocatable) value -= input_sec->output_section->vma; - elfsym->st_value += adjust[value / 24]; + adjust = opd_adjust[value / 8]; + if (adjust == -1) + elfsym->st_value = 0; + else + elfsym->st_value += adjust; return TRUE; } @@ -8773,43 +9998,39 @@ ppc64_elf_finish_dynamic_symbol (bfd *ou { struct ppc_link_hash_table *htab; bfd *dynobj; + struct plt_entry *ent; + Elf_Internal_Rela rela; + bfd_byte *loc; htab = ppc_hash_table (info); dynobj = htab->elf.dynobj; - if (((struct ppc_link_hash_entry *) h)->is_func_descriptor) - { - struct plt_entry *ent; - Elf_Internal_Rela rela; - bfd_byte *loc; - - for (ent = h->plt.plist; ent != NULL; ent = ent->next) - if (ent->plt.offset != (bfd_vma) -1) - { - /* This symbol has an entry in the procedure linkage - table. Set it up. */ - - if (htab->plt == NULL - || htab->relplt == NULL - || htab->glink == NULL) - abort (); + for (ent = h->plt.plist; ent != NULL; ent = ent->next) + if (ent->plt.offset != (bfd_vma) -1) + { + /* This symbol has an entry in the procedure linkage + table. Set it up. */ - /* Create a JMP_SLOT reloc to inform the dynamic linker to - fill in the PLT entry. */ - rela.r_offset = (htab->plt->output_section->vma - + htab->plt->output_offset - + ent->plt.offset); - rela.r_info = ELF64_R_INFO (h->dynindx, R_PPC64_JMP_SLOT); - rela.r_addend = ent->addend; - - loc = htab->relplt->contents; - loc += ((ent->plt.offset - PLT_INITIAL_ENTRY_SIZE) / PLT_ENTRY_SIZE - * sizeof (Elf64_External_Rela)); - bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - } - } + if (htab->plt == NULL + || htab->relplt == NULL + || htab->glink == NULL) + abort (); + + /* Create a JMP_SLOT reloc to inform the dynamic linker to + fill in the PLT entry. */ + rela.r_offset = (htab->plt->output_section->vma + + htab->plt->output_offset + + ent->plt.offset); + rela.r_info = ELF64_R_INFO (h->dynindx, R_PPC64_JMP_SLOT); + rela.r_addend = ent->addend; + + loc = htab->relplt->contents; + loc += ((ent->plt.offset - PLT_INITIAL_ENTRY_SIZE) / PLT_ENTRY_SIZE + * sizeof (Elf64_External_Rela)); + bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); + } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; @@ -8980,10 +10201,15 @@ ppc64_elf_finish_dynamic_sections (bfd * } /* We need to handle writing out multiple GOT sections ourselves, - since we didn't add them to DYNOBJ. */ + since we didn't add them to DYNOBJ. We know dynobj is the first + bfd. */ while ((dynobj = dynobj->link_next) != NULL) { asection *s; + + if (!is_ppc64_elf_target (dynobj->xvec)) + continue; + s = ppc64_elf_tdata (dynobj)->got; if (s != NULL && s->size != 0 diff -uprN binutils-2.15.91.0.2/bfd/elf64-ppc.h binutils-2.15.92.0.2/bfd/elf64-ppc.h --- binutils-2.15.91.0.2/bfd/elf64-ppc.h 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/elf64-ppc.h 2004-09-15 12:05:03.000000000 -0700 @@ -1,5 +1,5 @@ /* PowerPC64-specific support for 64-bit ELF. - Copyright 2002, 2003 Free Software Foundation, Inc. + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -19,10 +19,8 @@ Foundation, Inc., 59 Temple Place - Suit void ppc64_elf_init_stub_bfd (bfd *, struct bfd_link_info *); -bfd_boolean ppc64_elf_mark_entry_syms - (struct bfd_link_info *); bfd_boolean ppc64_elf_edit_opd - (bfd *, struct bfd_link_info *); + (bfd *, struct bfd_link_info *, bfd_boolean); asection *ppc64_elf_tls_setup (bfd *, struct bfd_link_info *); bfd_boolean ppc64_elf_tls_optimize @@ -42,3 +40,5 @@ bfd_boolean ppc64_elf_size_stubs asection *(*) (const char *, asection *), void (*) (void)); bfd_boolean ppc64_elf_build_stubs (bfd_boolean, struct bfd_link_info *, char **); +void ppc64_elf_restore_symbols + (struct bfd_link_info *info); diff -uprN binutils-2.15.91.0.2/bfd/elf64-s390.c binutils-2.15.92.0.2/bfd/elf64-s390.c --- binutils-2.15.91.0.2/bfd/elf64-s390.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-s390.c 2004-09-27 13:46:06.000000000 -0700 @@ -852,15 +852,16 @@ elf_s390_copy_indirect_symbol (bed, dir, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -933,8 +934,8 @@ elf_s390_check_relocs (abfd, info, sec, if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -1028,7 +1029,7 @@ elf_s390_check_relocs (abfd, info, sec, creating a procedure linkage table entry. */ if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } break; @@ -1050,7 +1051,7 @@ elf_s390_check_relocs (abfd, info, sec, if (h != NULL) { ((struct elf_s390_link_hash_entry *) h)->gotplt_refcount++; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } else @@ -1119,8 +1120,8 @@ elf_s390_check_relocs (abfd, info, sec, if (old_tls_type == GOT_NORMAL || tls_type == GOT_NORMAL) { (*_bfd_error_handler) - (_("%s: `%s' accessed both as normal and thread local symbol"), - bfd_archive_filename (abfd), h->root.root.string); + (_("%B: `%s' accessed both as normal and thread local symbol"), + abfd, h->root.root.string); return FALSE; } if (old_tls_type > tls_type) @@ -1162,7 +1163,7 @@ elf_s390_check_relocs (abfd, info, sec, sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ @@ -1200,15 +1201,13 @@ elf_s390_check_relocs (abfd, info, sec, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_s390_dyn_relocs *p; struct elf_s390_dyn_relocs **head; @@ -1233,8 +1232,8 @@ elf_s390_check_relocs (abfd, info, sec, name + 5) != 0) { (*_bfd_error_handler) - (_("%s: bad relocation section name `%s\'"), - bfd_archive_filename (abfd), name); + (_("%B: bad relocation section name `%s\'"), + abfd, name); } if (htab->elf.dynobj == NULL) @@ -1552,12 +1551,12 @@ elf_s390_adjust_dynamic_symbol (info, h) will fill in the contents of the procedure linkage table later (although we could actually do it here). */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1567,7 +1566,7 @@ elf_s390_adjust_dynamic_symbol (info, h) such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1584,16 +1583,14 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1609,13 +1606,13 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1636,7 +1633,7 @@ elf_s390_adjust_dynamic_symbol (info, h) we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1659,7 +1656,7 @@ elf_s390_adjust_dynamic_symbol (info, h) if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1720,7 +1717,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1744,7 +1741,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1763,14 +1760,14 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1803,7 +1800,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1871,9 +1868,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1881,7 +1878,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2201,9 +2198,9 @@ invalid_tls_insn (input_bfd, input_secti howto = elf_howto_table + ELF64_R_TYPE (rel->r_info); (*_bfd_error_handler) - (_("%s(%s+0x%lx): invalid instruction for TLS relocation %s"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): invalid instruction for TLS relocation %s"), + input_bfd, + input_section, (long) rel->r_offset, howto->name); } @@ -2345,8 +2342,8 @@ elf_s390_relocate_section (output_bfd, i || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) || (ELF_ST_VISIBILITY (h->other) && h->root.type == bfd_link_hash_undefweak)) { @@ -2532,11 +2529,9 @@ elf_s390_relocate_section (output_bfd, i && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2573,8 +2568,7 @@ elf_s390_relocate_section (output_bfd, i || r_type == R_390_PC64 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2987,11 +2981,11 @@ elf_s390_relocate_section (output_bfd, i not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); @@ -3039,9 +3033,8 @@ elf_s390_relocate_section (output_bfd, i else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, name, (int) r); return FALSE; } @@ -3138,7 +3131,7 @@ elf_s390_finish_dynamic_symbol (output_b loc = htab->srelplt->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. This is a clue @@ -3174,8 +3167,8 @@ elf_s390_finish_dynamic_symbol (output_b if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { BFD_ASSERT((h->got.offset & 1) != 0); rela.r_info = ELF64_R_INFO (0, R_390_RELATIVE); @@ -3196,7 +3189,7 @@ elf_s390_finish_dynamic_symbol (output_b bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff -uprN binutils-2.15.91.0.2/bfd/elf64-sh64.c binutils-2.15.92.0.2/bfd/elf64-sh64.c --- binutils-2.15.91.0.2/bfd/elf64-sh64.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-sh64.c 2004-09-27 13:46:06.000000000 -0700 @@ -1593,9 +1593,8 @@ sh_elf64_relocate_section (bfd *output_b if (howto->rightshift || howto->src_mask != 0xffffffff) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): %s relocation against SEC_MERGE section"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"), + input_bfd, input_section, (long) rel->r_offset, howto->name); return FALSE; } @@ -1654,8 +1653,7 @@ sh_elf64_relocate_section (bfd *output_b && elf_hash_table (info)->dynamic_sections_created && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) /* The cases above are those in which relocation is overwritten in the switch block below. The cases below are those in which we must defer relocation @@ -1663,8 +1661,7 @@ sh_elf64_relocate_section (bfd *output_b addresses when creating a shared library. */ || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((r_type == R_SH_64 && !(ELF_ST_VISIBILITY (h->other) == STV_INTERNAL || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)) @@ -1680,8 +1677,7 @@ sh_elf64_relocate_section (bfd *output_b thus ld.so will not process them. */ || (sec->output_section == NULL && ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))) + && h->def_dynamic))) relocation = 0; else if (sec->output_section == NULL) { @@ -1748,8 +1744,7 @@ sh_elf64_relocate_section (bfd *output_b || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1808,8 +1803,7 @@ sh_elf64_relocate_section (bfd *output_b become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64); @@ -1907,7 +1901,7 @@ sh_elf64_relocate_section (bfd *output_b && (info->symbolic || h->dynindx == -1 || ELF_ST_VISIBILITY (h->other) == STV_INTERNAL || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2721,7 +2715,7 @@ sh_elf64_check_relocs (bfd *abfd, struct return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; @@ -2745,14 +2739,14 @@ sh_elf64_check_relocs (bfd *abfd, struct || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; case R_SH_64: case R_SH_64_PCREL: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* If we are creating a shared library, and this is a reloc against a global symbol, or a non PC relative reloc @@ -2771,8 +2765,7 @@ sh_elf64_check_relocs (bfd *abfd, struct && (ELF32_R_TYPE (rel->r_info) != R_SH_64_PCREL || (h != NULL && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { /* When creating a shared object, we must copy these reloc types into the output file. We create a reloc @@ -2936,7 +2929,7 @@ sh64_elf64_add_symbol_hook (bfd *abfd, s } h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; h->type = STT_DATALABEL; } else @@ -3295,7 +3288,7 @@ sh64_elf64_create_dynamic_sections (bfd return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -3394,31 +3387,28 @@ sh64_elf64_adjust_dynamic_symbol (struct /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + && !h->def_dynamic + && !h->ref_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was never referred to by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a REL64 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -3443,7 +3433,7 @@ sh64_elf64_adjust_dynamic_symbol (struct pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -3473,12 +3463,12 @@ sh64_elf64_adjust_dynamic_symbol (struct /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3494,7 +3484,7 @@ sh64_elf64_adjust_dynamic_symbol (struct /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -3521,7 +3511,7 @@ sh64_elf64_adjust_dynamic_symbol (struct srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3565,7 +3555,7 @@ sh64_elf64_discard_copies (struct elf_sh h = (struct elf_sh64_link_hash_entry *) h->root.root.u.i.link; /* We only discard relocs for symbols defined in a regular object. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->root.def_regular) return TRUE; for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -3873,7 +3863,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *o loc = srel->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3906,7 +3896,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *o initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64); rel.r_addend = (h->root.u.def.value @@ -3925,7 +3915,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *o bfd_elf64_swap_reloca_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rel; diff -uprN binutils-2.15.91.0.2/bfd/elf64-sparc.c binutils-2.15.92.0.2/bfd/elf64-sparc.c --- binutils-2.15.91.0.2/bfd/elf64-sparc.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-sparc.c 2004-09-27 13:46:06.000000000 -0700 @@ -1265,7 +1265,7 @@ sparc64_elf_check_relocs (abfd, info, se return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (ELF64_R_TYPE_ID (rel->r_info) != R_SPARC_PLT32 && ELF64_R_TYPE_ID (rel->r_info) != R_SPARC_PLT64) break; @@ -1368,9 +1368,8 @@ sparc64_elf_check_relocs (abfd, info, se break; default: - (*_bfd_error_handler) (_("%s: check_relocs: unhandled reloc type %d"), - bfd_archive_filename (abfd), - ELF64_R_TYPE_ID (rel->r_info)); + (*_bfd_error_handler) (_("%B: check_relocs: unhandled reloc type %d"), + abfd, ELF64_R_TYPE_ID (rel->r_info)); return FALSE; } } @@ -1405,8 +1404,8 @@ sparc64_elf_add_symbol_hook (abfd, info, case 6: reg -= 4; break; default: (*_bfd_error_handler) - (_("%s: Only registers %%g[2367] can be declared using STT_REGISTER"), - bfd_archive_filename (abfd)); + (_("%B: Only registers %%g[2367] can be declared using STT_REGISTER"), + abfd); return FALSE; } @@ -1425,10 +1424,10 @@ sparc64_elf_add_symbol_hook (abfd, info, if (p->name != NULL && strcmp (p->name, *namep)) { (*_bfd_error_handler) - (_("Register %%g%d used incompatibly: %s in %s, previously %s in %s"), - (int) sym->st_value, - **namep ? *namep : "#scratch", bfd_archive_filename (abfd), - *p->name ? p->name : "#scratch", bfd_archive_filename (p->abfd)); + (_("Register %%g%d used incompatibly: %s in %B, previously %s in %B"), + abfd, p->abfd, (int) sym->st_value, + **namep ? *namep : "#scratch", + *p->name ? p->name : "#scratch"); return FALSE; } @@ -1448,9 +1447,8 @@ sparc64_elf_add_symbol_hook (abfd, info, if (type > STT_FUNC) type = 0; (*_bfd_error_handler) - (_("Symbol `%s' has differing types: REGISTER in %s, previously %s in %s"), - *namep, bfd_archive_filename (abfd), - stt_types[type], bfd_archive_filename (p->abfd)); + (_("Symbol `%s' has differing types: REGISTER in %B, previously %s in %B"), + abfd, p->abfd, *namep, stt_types[type]); return FALSE; } @@ -1494,9 +1492,8 @@ sparc64_elf_add_symbol_hook (abfd, info, if (type > STT_FUNC) type = 0; (*_bfd_error_handler) - (_("Symbol `%s' has differing types: %s in %s, previously REGISTER in %s"), - *namep, stt_types[type], bfd_archive_filename (abfd), - bfd_archive_filename (p->abfd)); + (_("Symbol `%s' has differing types: %s in %B, previously REGISTER in %B"), + abfd, p->abfd, *namep, stt_types[type]); return FALSE; } } @@ -1615,14 +1612,11 @@ sparc64_elf_adjust_dynamic_symbol (info, /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later @@ -1632,7 +1626,7 @@ sparc64_elf_adjust_dynamic_symbol (info, some of their functions as STT_NOTYPE when they really should be STT_FUNC. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + || h->needs_plt || (h->type == STT_NOTYPE && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -1645,7 +1639,7 @@ sparc64_elf_adjust_dynamic_symbol (info, In such a case, we don't actually need to build a procedure linkage table, and we can just do a WDISP30 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -1665,7 +1659,7 @@ sparc64_elf_adjust_dynamic_symbol (info, pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = sparc64_elf_plt_entry_offset (h->plt.offset); @@ -1695,12 +1689,12 @@ sparc64_elf_adjust_dynamic_symbol (info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1738,7 +1732,7 @@ sparc64_elf_adjust_dynamic_symbol (info, srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -2225,8 +2219,7 @@ sparc64_elf_relocate_section (output_bfd become local. */ else if (h != NULL && ! is_plt && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info @@ -2275,8 +2268,8 @@ sparc64_elf_relocate_section (output_bfd { BFD_FAIL (); (*_bfd_error_handler) - (_("%s: probably compiled without -fPIC?"), - bfd_archive_filename (input_bfd)); + (_("%B: probably compiled without -fPIC?"), + input_bfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -2328,8 +2321,8 @@ sparc64_elf_relocate_section (output_bfd || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined locally, or the symbol @@ -2617,11 +2610,10 @@ sparc64_elf_relocate_section (output_bfd not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, input_section, (long) rel->r_offset, h->root.root.string); @@ -2740,7 +2732,7 @@ sparc64_elf_finish_dynamic_symbol (outpu loc += (h->plt.offset - 4) * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -2749,8 +2741,7 @@ sparc64_elf_finish_dynamic_symbol (outpu Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -2779,7 +2770,7 @@ sparc64_elf_finish_dynamic_symbol (outpu initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { asection *sec = h->root.u.def.section; rela.r_info = ELF64_R_INFO (0, R_SPARC_RELATIVE); @@ -2800,7 +2791,7 @@ sparc64_elf_finish_dynamic_symbol (outpu bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -3003,8 +2994,8 @@ sparc64_elf_merge_private_bfd_data (ibfd { error = TRUE; (*_bfd_error_handler) - (_("%s: linking UltraSPARC specific with HAL specific code"), - bfd_archive_filename (ibfd)); + (_("%B: linking UltraSPARC specific with HAL specific code"), + ibfd); } /* Choose the most restrictive memory ordering. */ old_mm = (old_flags & EF_SPARCV9_MM); @@ -3022,8 +3013,8 @@ sparc64_elf_merge_private_bfd_data (ibfd { error = TRUE; (*_bfd_error_handler) - (_("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), - bfd_archive_filename (ibfd), (long) new_flags, (long) old_flags); + (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), + ibfd, (long) new_flags, (long) old_flags); } elf_elfheader (obfd)->e_flags = old_flags; diff -uprN binutils-2.15.91.0.2/bfd/elf64-x86-64.c binutils-2.15.92.0.2/bfd/elf64-x86-64.c --- binutils-2.15.91.0.2/bfd/elf64-x86-64.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elf64-x86-64.c 2004-09-27 13:46:06.000000000 -0700 @@ -553,16 +553,17 @@ elf64_x86_64_copy_indirect_symbol (const if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -641,9 +642,8 @@ elf64_x86_64_check_relocs (bfd *abfd, st if (r_symndx >= NUM_SHDR_ENTRIES (symtab_hdr)) { - (*_bfd_error_handler) (_("%s: bad symbol index: %d"), - bfd_archive_filename (abfd), - r_symndx); + (*_bfd_error_handler) (_("%B: bad symbol index: %d"), + abfd, r_symndx); return FALSE; } @@ -663,8 +663,8 @@ elf64_x86_64_check_relocs (bfd *abfd, st if (info->shared) { (*_bfd_error_handler) - (_("%s: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), - bfd_archive_filename (abfd), + (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), + abfd, x86_64_elf_howto_table[r_type].name, (h) ? h->root.root.string : "a local symbol"); bfd_set_error (bfd_error_bad_value); @@ -731,9 +731,8 @@ elf64_x86_64_check_relocs (bfd *abfd, st else { (*_bfd_error_handler) - (_("%s: %s' accessed both as normal and thread local symbol"), - bfd_archive_filename (abfd), - h ? h->root.root.string : ""); + (_("%B: %s' accessed both as normal and thread local symbol"), + abfd, h ? h->root.root.string : ""); return FALSE; } } @@ -772,7 +771,7 @@ elf64_x86_64_check_relocs (bfd *abfd, st if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -789,8 +788,8 @@ elf64_x86_64_check_relocs (bfd *abfd, st && (sec->flags & SEC_READONLY) != 0) { (*_bfd_error_handler) - (_("%s: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), - bfd_archive_filename (abfd), + (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), + abfd, x86_64_elf_howto_table[r_type].name, (h) ? h->root.root.string : "a local symbol"); bfd_set_error (bfd_error_bad_value); @@ -810,13 +809,13 @@ elf64_x86_64_check_relocs (bfd *abfd, st sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ h->plt.refcount += 1; if (r_type != R_X86_64_PC32) - h->elf_link_hash_flags |= ELF_LINK_POINTER_EQUALITY_NEEDED; + h->pointer_equality_needed = 1; } /* If we are creating a shared library, and this is a reloc @@ -848,15 +847,13 @@ elf64_x86_64_check_relocs (bfd *abfd, st || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf64_x86_64_dyn_relocs *p; struct elf64_x86_64_dyn_relocs **head; @@ -881,8 +878,8 @@ elf64_x86_64_check_relocs (bfd *abfd, st name + 5) != 0) { (*_bfd_error_handler) - (_("%s: bad relocation section name `%s\'"), - bfd_archive_filename (abfd), name); + (_("%B: bad relocation section name `%s\'"), + abfd, name); } if (htab->elf.dynobj == NULL) @@ -1128,7 +1125,7 @@ elf64_x86_64_adjust_dynamic_symbol (stru will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -1141,7 +1138,7 @@ elf64_x86_64_adjust_dynamic_symbol (stru such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1157,16 +1154,14 @@ elf64_x86_64_adjust_dynamic_symbol (stru /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1182,13 +1177,13 @@ elf64_x86_64_adjust_dynamic_symbol (stru /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1209,7 +1204,7 @@ elf64_x86_64_adjust_dynamic_symbol (stru we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1232,7 +1227,7 @@ elf64_x86_64_adjust_dynamic_symbol (stru if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1289,7 +1284,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1313,7 +1308,7 @@ allocate_dynrelocs (struct elf_link_hash pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1332,13 +1327,13 @@ allocate_dynrelocs (struct elf_link_hash else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_X86_64_GOTTPOFF symbol is now local to the binary, @@ -1357,7 +1352,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1432,9 +1427,9 @@ allocate_dynrelocs (struct elf_link_hash symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1442,7 +1437,7 @@ allocate_dynrelocs (struct elf_link_hash /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1950,12 +1945,12 @@ elf64_x86_64_relocate_section (bfd *outp case R_X86_64_PC32: if (info->shared && !SYMBOL_REFERENCES_LOCAL (info, h) - && (sec->flags & SEC_ALLOC) != 0 - && (sec->flags & SEC_READONLY) != 0) + && (input_section->flags & SEC_ALLOC) != 0 + && (input_section->flags & SEC_READONLY) != 0) { (*_bfd_error_handler) - (_("%s: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), - bfd_archive_filename (input_bfd), + (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"), + input_bfd, x86_64_elf_howto_table[r_type].name, (h) ? h->root.root.string : "a local symbol"); bfd_set_error (bfd_error_bad_value); @@ -1989,11 +1984,9 @@ elf64_x86_64_relocate_section (bfd *outp && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2031,8 +2024,7 @@ elf64_x86_64_relocate_section (bfd *outp || r_type == R_X86_64_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2406,11 +2398,11 @@ elf64_x86_64_relocate_section (bfd *outp not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) - (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), + input_bfd, + input_section, (long) rel->r_offset, h->root.root.string); @@ -2451,9 +2443,8 @@ elf64_x86_64_relocate_section (bfd *outp else { (*_bfd_error_handler) - (_("%s(%s+0x%lx): reloc against `%s': error %d"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (input_bfd, input_section), + (_("%B(%A+0x%lx): reloc against `%s': error %d"), + input_bfd, input_section, (long) rel->r_offset, name, (int) r); return FALSE; } @@ -2543,7 +2534,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd loc = htab->srelplt->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value if there were any @@ -2554,7 +2545,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd called from a binary, there is no need to slow down shared libraries because of that. */ sym->st_shndx = SHN_UNDEF; - if ((h->elf_link_hash_flags & ELF_LINK_POINTER_EQUALITY_NEEDED) == 0) + if (!h->pointer_equality_needed) sym->st_value = 0; } } @@ -2603,7 +2594,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff -uprN binutils-2.15.91.0.2/bfd/elfarm-nabi.c binutils-2.15.92.0.2/bfd/elfarm-nabi.c --- binutils-2.15.91.0.2/bfd/elfarm-nabi.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elfarm-nabi.c 2004-09-27 13:46:06.000000000 -0700 @@ -29,11 +29,6 @@ #define USE_REL 1 -#define TARGET_LITTLE_SYM bfd_elf32_littlearm_vec -#define TARGET_LITTLE_NAME "elf32-littlearm" -#define TARGET_BIG_SYM bfd_elf32_bigarm_vec -#define TARGET_BIG_NAME "elf32-bigarm" - #define elf_info_to_howto 0 #define elf_info_to_howto_rel elf32_arm_info_to_howto @@ -188,16 +183,16 @@ static reloc_howto_type elf32_arm_howto_ HOWTO (R_ARM_SBREL32, /* type */ 0, /* rightshift */ - 0, /* size (0 = byte, 1 = short, 2 = long) */ - 0, /* bitsize */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ "R_ARM_SBREL32", /* name */ FALSE, /* partial_inplace */ - 0, /* src_mask */ - 0, /* dst_mask */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ HOWTO (R_ARM_THM_PC22, /* type */ @@ -557,6 +552,118 @@ static reloc_howto_type elf32_arm_howto_ 0x00000fff, /* src_mask */ 0x00000fff, /* dst_mask */ TRUE), /* pcrel_offset */ + + HOWTO (R_ARM_LDR_SBREL_11_0, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 12, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_LDR_SBREL_11_0",/* name */ + FALSE, /* partial_inplace */ + 0x00000fff, /* src_mask */ + 0x00000fff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_ALU_SBREL_19_12, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + FALSE, /* pc_relative */ + 12, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ALU_SBREL_19_12",/* name */ + FALSE, /* partial_inplace */ + 0x000ff000, /* src_mask */ + 0x000ff000, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_ALU_SBREL_27_20, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + FALSE, /* pc_relative */ + 20, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ALU_SBREL_27_20",/* name */ + FALSE, /* partial_inplace */ + 0x0ff00000, /* src_mask */ + 0x0ff00000, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_TARGET1, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_TARGET1", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_ROSEGREL32, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_ROSEGREL32", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_V4BX, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_V4BX", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_TARGET2, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_TARGET2", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + HOWTO (R_ARM_PREL31, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 31, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_PREL31", /* name */ + FALSE, /* partial_inplace */ + 0x7fffffff, /* src_mask */ + 0x7fffffff, /* dst_mask */ + TRUE), /* pcrel_offset */ }; /* GNU extension to record C++ vtable hierarchy */ @@ -623,52 +730,67 @@ static reloc_howto_type elf32_arm_thm_pc 0x000000ff, /* dst_mask */ TRUE); /* pcrel_offset */ -static void elf32_arm_info_to_howto - PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); +/* Place relative GOT-indirect. */ +static reloc_howto_type elf32_arm_got_prel = + HOWTO (R_ARM_GOT_PREL, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_GOT_PREL", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + TRUE); /* pcrel_offset */ -static void -elf32_arm_info_to_howto (abfd, bfd_reloc, elf_reloc) - bfd * abfd ATTRIBUTE_UNUSED; - arelent * bfd_reloc; - Elf_Internal_Rela * elf_reloc; +static reloc_howto_type * +elf32_arm_howto_from_type (unsigned int r_type) { - unsigned int r_type; - - r_type = ELF32_R_TYPE (elf_reloc->r_info); - + if (r_type < NUM_ELEM (elf32_arm_howto_table)) + return &elf32_arm_howto_table[r_type]; + switch (r_type) { + case R_ARM_GOT_PREL: + return &elf32_arm_got_prel; + case R_ARM_GNU_VTINHERIT: - bfd_reloc->howto = & elf32_arm_vtinherit_howto; - break; + return &elf32_arm_vtinherit_howto; case R_ARM_GNU_VTENTRY: - bfd_reloc->howto = & elf32_arm_vtentry_howto; - break; + return &elf32_arm_vtentry_howto; case R_ARM_THM_PC11: - bfd_reloc->howto = & elf32_arm_thm_pc11_howto; - break; + return &elf32_arm_thm_pc11_howto; case R_ARM_THM_PC9: - bfd_reloc->howto = & elf32_arm_thm_pc9_howto; - break; + return &elf32_arm_thm_pc9_howto; default: - if (r_type >= NUM_ELEM (elf32_arm_howto_table)) - bfd_reloc->howto = NULL; - else - bfd_reloc->howto = & elf32_arm_howto_table[r_type]; - break; + return NULL; } } +static void +elf32_arm_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * bfd_reloc, + Elf_Internal_Rela * elf_reloc) +{ + unsigned int r_type; + + r_type = ELF32_R_TYPE (elf_reloc->r_info); + bfd_reloc->howto = elf32_arm_howto_from_type (r_type); +} + struct elf32_arm_reloc_map { bfd_reloc_code_real_type bfd_reloc_val; unsigned char elf_reloc_val; }; +/* All entries in this list must also be present in elf32_arm_howto_table. */ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] = { {BFD_RELOC_NONE, R_ARM_NONE}, @@ -689,7 +811,12 @@ static const struct elf32_arm_reloc_map {BFD_RELOC_ARM_GOTOFF, R_ARM_GOTOFF}, {BFD_RELOC_ARM_GOTPC, R_ARM_GOTPC}, {BFD_RELOC_ARM_GOT32, R_ARM_GOT32}, - {BFD_RELOC_ARM_PLT32, R_ARM_PLT32} + {BFD_RELOC_ARM_PLT32, R_ARM_PLT32}, + {BFD_RELOC_ARM_TARGET1, R_ARM_TARGET1}, + {BFD_RELOC_ARM_ROSEGREL32, R_ARM_ROSEGREL32}, + {BFD_RELOC_ARM_SBREL32, R_ARM_SBREL32}, + {BFD_RELOC_ARM_PREL31, R_ARM_PREL31}, + {BFD_RELOC_ARM_TARGET2, R_ARM_TARGET2} }; static reloc_howto_type * @@ -787,7 +914,124 @@ elf32_arm_nabi_grok_psinfo (abfd, note) return TRUE; } +#define TARGET_LITTLE_SYM bfd_elf32_littlearm_vec +#define TARGET_LITTLE_NAME "elf32-littlearm" +#define TARGET_BIG_SYM bfd_elf32_bigarm_vec +#define TARGET_BIG_NAME "elf32-bigarm" + #define elf_backend_grok_prstatus elf32_arm_nabi_grok_prstatus #define elf_backend_grok_psinfo elf32_arm_nabi_grok_psinfo #include "elf32-arm.h" + +/* Symbian OS Targets */ + +#undef TARGET_LITTLE_SYM +#define TARGET_LITTLE_SYM bfd_elf32_littlearm_symbian_vec +#undef TARGET_LITTLE_NAME +#define TARGET_LITTLE_NAME "elf32-littlearm-symbian" +#undef TARGET_BIG_SYM +#define TARGET_BIG_SYM bfd_elf32_bigarm_symbian_vec +#undef TARGET_BIG_NAME +#define TARGET_BIG_NAME "elf32-bigarm-symbian" + +/* Like elf32_arm_link_hash_table_create -- but overrides + appropriately for Symbian OS. */ +static struct bfd_link_hash_table * +elf32_arm_symbian_link_hash_table_create (bfd *abfd) +{ + struct bfd_link_hash_table *ret; + + ret = elf32_arm_link_hash_table_create (abfd); + if (ret) + { + struct elf32_arm_link_hash_table *htab + = (struct elf32_arm_link_hash_table *)ret; + /* There is no PLT header for Symbian OS. */ + htab->plt_header_size = 0; + /* The PLT entries are each three instructions. */ + htab->plt_entry_size = 4 * NUM_ELEM (elf32_arm_symbian_plt_entry); + htab->symbian_p = 1; + } + return ret; +} + +/* In a BPABI executable, the dynamic linking sections do not go in + the loadable read-only segment. The post-linker may wish to refer + to these sections, but they are not part of the final program + image. */ +static struct bfd_elf_special_section const + elf32_arm_symbian_special_sections[]= +{ + { ".dynamic", 8, 0, SHT_DYNAMIC, 0 }, + { ".dynstr", 7, 0, SHT_STRTAB, 0 }, + { ".dynsym", 7, 0, SHT_DYNSYM, 0 }, + { ".got", 4, 0, SHT_PROGBITS, 0 }, + { ".hash", 5, 0, SHT_HASH, 0 }, + { NULL, 0, 0, 0, 0 } +}; + +static bfd_boolean +elf32_arm_symbian_modify_segment_map + PARAMS ((bfd *, struct bfd_link_info *)); + +static bfd_boolean +elf32_arm_symbian_modify_segment_map (abfd, info) + bfd *abfd; + struct bfd_link_info *info ATTRIBUTE_UNUSED; +{ + struct elf_segment_map *m; + asection *dynsec; + + /* The first PT_LOAD segment will have the program headers and file + headers in it by default -- but BPABI object files should not + include these headers in any loadable segment. */ + for (m = elf_tdata (abfd)->segment_map; m != NULL; m = m->next) + if (m->p_type == PT_LOAD) + { + m->includes_filehdr = 0; + m->includes_phdrs = 0; + } + + /* BPABI shared libraries and executables should have a PT_DYNAMIC + segment. However, because the .dynamic section is not marked + with SEC_LOAD, the generic ELF code will not create such a + segment. */ + dynsec = bfd_get_section_by_name (abfd, ".dynamic"); + if (dynsec) + { + m = _bfd_elf_make_dynamic_segment (abfd, dynsec); + m->next = elf_tdata (abfd)->segment_map; + elf_tdata (abfd)->segment_map = m; + } + + return TRUE; +} + +#undef elf32_bed +#define elf32_bed elf32_arm_symbian_bed + +#undef ELF_DYNAMIC_SEC_FLAGS +#define ELF_DYNAMIC_SEC_FLAGS \ + (SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED) + +#undef bfd_elf32_bfd_link_hash_table_create +#define bfd_elf32_bfd_link_hash_table_create \ + elf32_arm_symbian_link_hash_table_create + +#undef elf_backend_special_sections +#define elf_backend_special_sections elf32_arm_symbian_special_sections + +#undef elf_backend_modify_segment_map +#define elf_backend_modify_segment_map elf32_arm_symbian_modify_segment_map + +/* There is no .got section for BPABI objects, and hence no header. */ +#undef elf_backend_got_header_size +#define elf_backend_got_header_size 0 + +/* Similarly, there is no .got.plt section. */ +#undef elf_backend_want_got_plt +#define elf_backend_want_got_plt 0 + +#include "elf32-target.h" + diff -uprN binutils-2.15.91.0.2/bfd/elflink.c binutils-2.15.92.0.2/bfd/elflink.c --- binutils-2.15.91.0.2/bfd/elflink.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elflink.c 2004-09-27 13:46:06.000000000 -0700 @@ -57,8 +57,7 @@ _bfd_elf_create_got_section (bfd *abfd, return FALSE; } - flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY - | SEC_LINKER_CREATED); + flags = bed->dynamic_sec_flags; s = bfd_make_section (abfd, ".got"); if (s == NULL @@ -87,7 +86,7 @@ _bfd_elf_create_got_section (bfd *abfd, bed->got_symbol_offset, NULL, FALSE, bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -131,10 +130,9 @@ _bfd_elf_link_create_dynamic_sections (b else abfd = elf_hash_table (info)->dynobj; - /* Note that we set the SEC_IN_MEMORY flag for all of these - sections. */ - flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS - | SEC_IN_MEMORY | SEC_LINKER_CREATED); + bed = get_elf_backend_data (abfd); + + flags = bed->dynamic_sec_flags; /* A dynamically linked executable has a .interp section, but a shared library does not. */ @@ -156,8 +154,6 @@ _bfd_elf_link_create_dynamic_sections (b elf_hash_table (info)->eh_info.hdr_sec = s; } - bed = get_elf_backend_data (abfd); - /* Create sections to hold version informations. These are removed if they are not needed. */ s = bfd_make_section (abfd, ".gnu.version_d"); @@ -217,7 +213,7 @@ _bfd_elf_link_create_dynamic_sections (b get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -253,9 +249,7 @@ _bfd_elf_create_dynamic_sections (bfd *a /* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and .rel[a].bss sections. */ - - flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY - | SEC_LINKER_CREATED); + flags = bed->dynamic_sec_flags; pltflags = flags; pltflags |= SEC_CODE; @@ -282,7 +276,7 @@ _bfd_elf_create_dynamic_sections (bfd *a FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -369,7 +363,7 @@ bfd_elf_link_record_dynamic_symbol (stru if (h->root.type != bfd_link_hash_undefined && h->root.type != bfd_link_hash_undefweak) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; return TRUE; } @@ -434,21 +428,26 @@ bfd_elf_record_link_assignment (bfd *out /* Since we're defining the symbol, don't let it seem to have not been defined. record_dynamic_symbol and size_dynamic_sections - may depend on this. */ + may depend on this. + ??? Changing bfd_link_hash_undefined to bfd_link_hash_new (or + to bfd_link_hash_undefweak, see linker.c:link_action) runs the risk + of some later symbol manipulation setting the symbol back to + bfd_link_hash_undefined, and the linker trying to add the symbol to + the undefs list twice. */ if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined) h->root.type = bfd_link_hash_new; if (h->root.type == bfd_link_hash_new) - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; + h->non_elf = 0; /* If this symbol is being provided by the linker script, and it is currently defined by a dynamic object, but not by a regular object, then mark it as undefined so that the generic linker will force the correct value. */ if (provide - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) h->root.type = bfd_link_hash_undefined; /* If this symbol is not being provided by the linker script, and it is @@ -456,14 +455,14 @@ bfd_elf_record_link_assignment (bfd *out then clear out any version information because the symbol will not be associated with the dynamic object any more. */ if (!provide - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) h->verinfo.verdef = NULL; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; - if (((h->elf_link_hash_flags & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_REF_DYNAMIC)) != 0 + if ((h->def_dynamic + || h->ref_dynamic || info->shared) && h->dynindx == -1) { @@ -473,10 +472,10 @@ bfd_elf_record_link_assignment (bfd *out /* If this is a weak defined symbol, and we know a corresponding real symbol from the same dynamic object, make sure the real symbol is also made into a dynamic symbol. */ - if (h->weakdef != NULL - && h->weakdef->dynindx == -1) + if (h->u.weakdef != NULL + && h->u.weakdef->dynindx == -1) { - if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + if (! bfd_elf_link_record_dynamic_symbol (info, h->u.weakdef)) return FALSE; } } @@ -750,7 +749,7 @@ _bfd_elf_merge_symbol (bfd *abfd, if (h->root.type == bfd_link_hash_new) { - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; return TRUE; } @@ -785,7 +784,7 @@ _bfd_elf_merge_symbol (bfd *abfd, dynamic object, which we do want to handle here. */ if (abfd == oldbfd && ((abfd->flags & DYNAMIC) == 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) return TRUE; /* NEWDYN and OLDDYN indicate whether the new or old symbol, @@ -844,22 +843,22 @@ _bfd_elf_merge_symbol (bfd *abfd, /* We need to remember if a symbol has a definition in a dynamic object or is weak in all dynamic objects. Internal and hidden visibility will make it unavailable to dynamic objects. */ - if (newdyn && (h->elf_link_hash_flags & ELF_LINK_DYNAMIC_DEF) == 0) + if (newdyn && !h->dynamic_def) { if (!bfd_is_und_section (sec)) - h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_DEF; + h->dynamic_def = 1; else { /* Check if this symbol is weak in all dynamic objects. If it is the first time we see it in a dynamic object, we mark if it is weak. Otherwise, we clear it. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + if (!h->ref_dynamic) { if (bind == STB_WEAK) - h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_WEAK; + h->dynamic_weak = 1; } else if (bind != STB_WEAK) - h->elf_link_hash_flags &= ~ELF_LINK_DYNAMIC_WEAK; + h->dynamic_weak = 0; } } @@ -871,7 +870,7 @@ _bfd_elf_merge_symbol (bfd *abfd, { *skip = TRUE; /* Make sure this symbol is dynamic. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; + h->ref_dynamic = 1; /* A protected symbol has external availability. Make sure it is recorded as dynamic. @@ -883,7 +882,7 @@ _bfd_elf_merge_symbol (bfd *abfd, } else if (!newdyn && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) + && h->def_dynamic) { /* If the new symbol with non-default visibility comes from a relocatable file and the old definition comes from a dynamic @@ -891,17 +890,16 @@ _bfd_elf_merge_symbol (bfd *abfd, if ((*sym_hash)->root.type == bfd_link_hash_indirect) h = *sym_hash; - if ((h->root.und_next || info->hash->undefs_tail == &h->root) + if ((h->root.u.undef.next || info->hash->undefs_tail == &h->root) && bfd_is_und_section (sec)) { /* If the new symbol is undefined and the old symbol was also undefined before, we need to make sure _bfd_generic_link_add_one_symbol doesn't mess - up the linker hash table undefs list. Since the old + up the linker hash table undefs list. Since the old definition came from a dynamic object, it is still on the undefs list. */ h->root.type = bfd_link_hash_undefined; - /* FIXME: What if the new symbol is weak undefined? */ h->root.u.undef.abfd = abfd; } else @@ -910,11 +908,11 @@ _bfd_elf_merge_symbol (bfd *abfd, h->root.u.undef.abfd = NULL; } - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC; - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_DYNAMIC_DEF); + h->def_dynamic = 0; + h->ref_dynamic = 1; + h->dynamic_def = 1; } /* FIXME: Should we check type and size for protected symbol? */ h->size = 0; @@ -997,7 +995,7 @@ _bfd_elf_merge_symbol (bfd *abfd, if (olddyn && olddef && h->root.type == bfd_link_hash_defined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && h->def_dynamic && (h->root.u.def.section->flags & SEC_ALLOC) != 0 && (h->root.u.def.section->flags & SEC_LOAD) == 0 && h->size > 0 @@ -1104,7 +1102,7 @@ _bfd_elf_merge_symbol (bfd *abfd, || h->type == STT_FUNC))) && olddyn && olddef - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) + && h->def_dynamic) { /* Change the hash table entry to undefined, and let _bfd_generic_link_add_one_symbol do the right thing with the @@ -1186,10 +1184,10 @@ _bfd_elf_merge_symbol (bfd *abfd, h->root.u.i.link = (struct bfd_link_hash_entry *) flip; (*bed->elf_backend_copy_indirect_symbol) (bed, flip, h); flip->root.u.undef.abfd = h->root.u.undef.abfd; - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC; - flip->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; + h->def_dynamic = 0; + flip->ref_dynamic = 1; } } @@ -1312,13 +1310,12 @@ _bfd_elf_add_default_symbol (bfd *abfd, h->root.type = bfd_link_hash_indirect; h->root.u.i.link = (struct bfd_link_hash_entry *) hi; - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &=~ ELF_LINK_HASH_DEF_DYNAMIC; - hi->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; - if (hi->elf_link_hash_flags - & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) + h->def_dynamic = 0; + hi->ref_dynamic = 1; + if (hi->ref_regular + || hi->def_regular) { if (! bfd_elf_link_record_dynamic_symbol (info, hi)) return FALSE; @@ -1348,14 +1345,12 @@ _bfd_elf_add_default_symbol (bfd *abfd, if (! dynamic) { if (info->shared - || ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + || hi->ref_dynamic) *dynsym = TRUE; } else { - if ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + if (hi->ref_regular) *dynsym = TRUE; } } @@ -1392,8 +1387,8 @@ nondefault: if (hi->root.type != bfd_link_hash_defined && hi->root.type != bfd_link_hash_defweak) (*_bfd_error_handler) - (_("%s: warning: unexpected redefinition of indirect versioned symbol `%s'"), - bfd_archive_filename (abfd), shortname); + (_("%B: unexpected redefinition of indirect versioned symbol `%s'"), + abfd, shortname); } else { @@ -1419,14 +1414,12 @@ nondefault: if (! dynamic) { if (info->shared - || ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + || hi->ref_dynamic) *dynsym = TRUE; } else { - if ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + if (hi->ref_regular) *dynsym = TRUE; } } @@ -1452,8 +1445,8 @@ _bfd_elf_export_symbol (struct elf_link_ h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->dynindx == -1 - && (h->elf_link_hash_flags - & (ELF_LINK_HASH_DEF_REGULAR | ELF_LINK_HASH_REF_REGULAR)) != 0) + && (h->def_regular + || h->ref_regular)) { struct bfd_elf_version_tree *t; struct bfd_elf_version_expr *d; @@ -1508,8 +1501,8 @@ _bfd_elf_link_find_version_dependencies /* We only care about symbols defined in shared objects with version information. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + if (!h->def_dynamic + || h->def_regular || h->dynindx == -1 || h->verinfo.verdef == NULL) return TRUE; @@ -1599,7 +1592,7 @@ _bfd_elf_link_assign_sym_version (struct /* We only need version numbers for symbols defined in regular objects. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) return TRUE; bed = get_elf_backend_data (sinfo->output_bfd); @@ -1624,7 +1617,7 @@ _bfd_elf_link_assign_sym_version (struct if (*p == '\0') { if (hidden) - h->elf_link_hash_flags |= ELF_LINK_HIDDEN; + h->hidden = 1; return TRUE; } @@ -1711,15 +1704,15 @@ _bfd_elf_link_assign_sym_version (struct /* We could not find the version for a symbol when generating a shared archive. Return an error. */ (*_bfd_error_handler) - (_("%s: undefined versioned symbol name %s"), - bfd_get_filename (sinfo->output_bfd), h->root.root.string); + (_("%B: undefined versioned symbol name %s"), + sinfo->output_bfd, h->root.root.string); bfd_set_error (bfd_error_bad_value); sinfo->failed = TRUE; return FALSE; } if (hidden) - h->elf_link_hash_flags |= ELF_LINK_HIDDEN; + h->hidden = 1; } /* If we don't have a version for this symbol, see if we can find @@ -1859,14 +1852,11 @@ elf_link_read_relocs_from_section (bfd * r_symndx >>= 24; if ((size_t) r_symndx >= nsyms) { - char *sec_name = bfd_get_section_ident (sec); (*_bfd_error_handler) - (_("%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'"), - bfd_archive_filename (abfd), (unsigned long) r_symndx, - (unsigned long) nsyms, irela->r_offset, - sec_name ? sec_name : sec->name); - if (sec_name) - free (sec_name); + (_("%B: bad reloc symbol index (0x%lx >= 0x%lx)" + " for offset 0x%lx in section `%A'"), + abfd, sec, + (unsigned long) r_symndx, (unsigned long) nsyms, irela->r_offset); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -2052,14 +2042,9 @@ _bfd_elf_link_output_relocs (bfd *output } else { - char *sec_name = bfd_get_section_ident (input_section); (*_bfd_error_handler) - (_("%s: relocation size mismatch in %s section %s"), - bfd_get_filename (output_bfd), - bfd_archive_filename (input_section->owner), - sec_name ? sec_name : input_section->name); - if (sec_name) - free (sec_name); + (_("%B: relocation size mismatch in %B section %A"), + output_bfd, input_section->owner, input_section); bfd_set_error (bfd_error_wrong_object_format); return FALSE; } @@ -2105,29 +2090,33 @@ _bfd_elf_fix_symbol_flags (struct elf_li DEF_REGULAR and REF_REGULAR correctly. This is the only way to permit a non-ELF file to correctly refer to a symbol defined in an ELF dynamic object. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_ELF) != 0) + if (h->non_elf) { while (h->root.type == bfd_link_hash_indirect) h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->root.type != bfd_link_hash_defined && h->root.type != bfd_link_hash_defweak) - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK); + { + h->ref_regular = 1; + h->ref_regular_nonweak = 1; + } else { if (h->root.u.def.section->owner != NULL && (bfd_get_flavour (h->root.u.def.section->owner) == bfd_target_elf_flavour)) - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK); + { + h->ref_regular = 1; + h->ref_regular_nonweak = 1; + } else - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; } if (h->dynindx == -1 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + && (h->def_dynamic + || h->ref_dynamic)) { if (! bfd_elf_link_record_dynamic_symbol (eif->info, h)) { @@ -2138,7 +2127,7 @@ _bfd_elf_fix_symbol_flags (struct elf_li } else { - /* Unfortunately, ELF_LINK_NON_ELF is only correct if the symbol + /* Unfortunately, NON_ELF is only correct if the symbol was first seen in a non-ELF file. Fortunately, if the symbol was first seen in an ELF file, we're probably OK unless the symbol was defined in a non-ELF file. Catch that case here. @@ -2146,27 +2135,26 @@ _bfd_elf_fix_symbol_flags (struct elf_li a dynamic object, and then later in a non-ELF regular object. */ if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && !h->def_regular && (h->root.u.def.section->owner != NULL ? (bfd_get_flavour (h->root.u.def.section->owner) != bfd_target_elf_flavour) : (bfd_is_abs_section (h->root.u.def.section) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0))) - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + && !h->def_dynamic))) + h->def_regular = 1; } /* If this is a final link, and the symbol was defined as a common symbol in a regular object file, and there was no definition in any dynamic object, then the linker will have allocated space for - the symbol in a common section but the ELF_LINK_HASH_DEF_REGULAR + the symbol in a common section but the DEF_REGULAR flag will not have been set. */ if (h->root.type == bfd_link_hash_defined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && !h->def_regular + && h->ref_regular + && !h->def_dynamic && (h->root.u.def.section->owner->flags & DYNAMIC) == 0) - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; /* If -Bsymbolic was used (which means to bind references to global symbols to the definition within the shared object), and this @@ -2174,12 +2162,12 @@ _bfd_elf_fix_symbol_flags (struct elf_li need a PLT entry. Likewise, if the symbol has non-default visibility. If the symbol has hidden or internal visibility, we will force it local. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + if (h->needs_plt && eif->info->shared && is_elf_hash_table (eif->info->hash) && (eif->info->symbolic || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) + && h->def_regular) { const struct elf_backend_data *bed; bfd_boolean force_local; @@ -2204,11 +2192,11 @@ _bfd_elf_fix_symbol_flags (struct elf_li /* If this is a weak defined symbol in a dynamic object, and we know the real definition in the dynamic object, copy interesting flags over to the real definition. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { struct elf_link_hash_entry *weakdef; - weakdef = h->weakdef; + weakdef = h->u.weakdef; if (h->root.type == bfd_link_hash_indirect) h = (struct elf_link_hash_entry *) h->root.u.i.link; @@ -2216,13 +2204,13 @@ _bfd_elf_fix_symbol_flags (struct elf_li || h->root.type == bfd_link_hash_defweak); BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined || weakdef->root.type == bfd_link_hash_defweak); - BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC); + BFD_ASSERT (weakdef->def_dynamic); /* If the real definition is defined by a regular object file, don't do anything special. See the longer description in _bfd_elf_adjust_dynamic_symbol, below. */ - if ((weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) - h->weakdef = NULL; + if (weakdef->def_regular) + h->u.weakdef = NULL; else { const struct elf_backend_data *bed; @@ -2275,11 +2263,11 @@ _bfd_elf_adjust_dynamic_symbol (struct e to the dynamic symbol table. FIXME: Do we normally need to worry about symbols which are defined by one dynamic object and referenced by another one? */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 - && (h->weakdef == NULL || h->weakdef->dynindx == -1)))) + if (!h->needs_plt + && (h->def_regular + || !h->def_dynamic + || (!h->ref_regular + && (h->u.weakdef == NULL || h->u.weakdef->dynindx == -1)))) { h->plt = elf_hash_table (eif->info)->init_offset; return TRUE; @@ -2287,14 +2275,14 @@ _bfd_elf_adjust_dynamic_symbol (struct e /* If we've already adjusted this symbol, don't do it again. This can happen via a recursive call. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) + if (h->dynamic_adjusted) return TRUE; /* Don't look at this symbol again. Note that we must set this after checking the above conditions, because we may look at a symbol once, decide not to do anything, and then get called recursively later after REF_REGULAR is set below. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_DYNAMIC_ADJUSTED; + h->dynamic_adjusted = 1; /* If this is a weak definition, and we know a real definition, and the real symbol is not itself defined by a regular object file, @@ -2324,15 +2312,15 @@ _bfd_elf_adjust_dynamic_symbol (struct e wind up at different memory locations. The tzset call will set _timezone, leaving timezone unchanged. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { /* If we get to this point, we know there is an implicit reference by a regular object file via the weak symbol H. FIXME: Is this really true? What if the traversal finds - H->WEAKDEF before it finds H? */ - h->weakdef->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + H->U.WEAKDEF before it finds H? */ + h->u.weakdef->ref_regular = 1; - if (! _bfd_elf_adjust_dynamic_symbol (h->weakdef, eif)) + if (! _bfd_elf_adjust_dynamic_symbol (h->u.weakdef, eif)) return FALSE; } @@ -2343,7 +2331,7 @@ _bfd_elf_adjust_dynamic_symbol (struct e code, and the assembly code fails to set the symbol type. */ if (h->size == 0 && h->type == STT_NOTYPE - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0) + && !h->needs_plt) (*_bfd_error_handler) (_("warning: type and size of dynamic symbol `%s' are not defined"), h->root.root.string); @@ -2408,7 +2396,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_li /* If it was forced local, then clearly it's not dynamic. */ if (h->dynindx == -1) return FALSE; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) return FALSE; /* Identify the cases where name binding rules say that a @@ -2434,7 +2422,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_li } /* If it isn't defined locally, then clearly it's dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) return TRUE; /* Otherwise, the symbol is dynamic if binding rules don't tell @@ -2462,11 +2450,11 @@ _bfd_elf_symbol_refs_local_p (struct elf /* Do nothing. */; /* If we don't have a definition in a regular file, then we can't resolve locally. The sym is either undefined or dynamic. */ - else if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + else if (!h->def_regular) return FALSE; /* Forced local symbols resolve locally. */ - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) return TRUE; /* As do non-dynamic symbols. */ @@ -2949,7 +2937,10 @@ elf_link_add_object_symbols (bfd *abfd, || !is_elf_hash_table (hash_table) || hash_table->root.creator != abfd->xvec) { - bfd_set_error (bfd_error_invalid_operation); + if (info->relocatable) + bfd_set_error (bfd_error_invalid_operation); + else + bfd_set_error (bfd_error_wrong_format); goto error_return; } } @@ -3467,8 +3458,8 @@ elf_link_add_object_symbols (bfd *abfd, if (vernum > elf_tdata (abfd)->dynverdef_hdr.sh_info) { (*_bfd_error_handler) - (_("%s: %s: invalid version %u (max %d)"), - bfd_archive_filename (abfd), name, vernum, + (_("%B: %s: invalid version %u (max %d)"), + abfd, name, vernum, elf_tdata (abfd)->dynverdef_hdr.sh_info); bfd_set_error (bfd_error_bad_value); goto error_free_vers; @@ -3508,8 +3499,8 @@ elf_link_add_object_symbols (bfd *abfd, if (verstr == NULL) { (*_bfd_error_handler) - (_("%s: %s: invalid needed version %d"), - bfd_archive_filename (abfd), name, vernum); + (_("%B: %s: invalid needed version %d"), + abfd, name, vernum); bfd_set_error (bfd_error_bad_value); goto error_free_vers; } @@ -3602,7 +3593,7 @@ elf_link_add_object_symbols (bfd *abfd, && (flags & BSF_WEAK) != 0 && ELF_ST_TYPE (isym->st_info) != STT_FUNC && is_elf_hash_table (hash_table) - && h->weakdef == NULL) + && h->u.weakdef == NULL) { /* Keep a list of all weak defined non function symbols from a dynamic object, using the weakdef field. Later in this @@ -3616,7 +3607,7 @@ elf_link_add_object_symbols (bfd *abfd, dynamic object, and we will be using that previous definition anyhow. */ - h->weakdef = weaks; + h->u.weakdef = weaks; weaks = h; new_weakdef = TRUE; } @@ -3639,9 +3630,7 @@ elf_link_add_object_symbols (bfd *abfd, if (is_elf_hash_table (hash_table)) { - int old_flags; bfd_boolean dynsym; - int new_flag; /* Check the alignment when a common symbol is involved. This can change when a common symbol is overridden by a normal @@ -3683,12 +3672,10 @@ elf_link_add_object_symbols (bfd *abfd, if (normal_align < common_align) (*_bfd_error_handler) - (_("Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s"), - 1 << normal_align, - name, - bfd_archive_filename (normal_bfd), - 1 << common_align, - bfd_archive_filename (common_bfd)); + (_("Warning: alignment %u of symbol `%s' in %B" + " is smaller than %u in %B"), + normal_bfd, common_bfd, + 1 << normal_align, name, 1 << common_align); } /* Remember the symbol size and type. */ @@ -3697,11 +3684,11 @@ elf_link_add_object_symbols (bfd *abfd, { if (h->size != 0 && h->size != isym->st_size && ! size_change_ok) (*_bfd_error_handler) - (_("Warning: size of symbol `%s' changed from %lu in %s to %lu in %s"), + (_("Warning: size of symbol `%s' changed" + " from %lu in %B to %lu in %B"), + old_bfd, abfd, name, (unsigned long) h->size, - bfd_archive_filename (old_bfd), - (unsigned long) isym->st_size, - bfd_archive_filename (abfd)); + (unsigned long) isym->st_size); h->size = isym->st_size; } @@ -3721,9 +3708,9 @@ elf_link_add_object_symbols (bfd *abfd, && h->type != ELF_ST_TYPE (isym->st_info) && ! type_change_ok) (*_bfd_error_handler) - (_("Warning: type of symbol `%s' changed from %d to %d in %s"), - name, h->type, ELF_ST_TYPE (isym->st_info), - bfd_archive_filename (abfd)); + (_("Warning: type of symbol `%s' changed" + " from %d to %d in %B"), + abfd, name, h->type, ELF_ST_TYPE (isym->st_info)); h->type = ELF_ST_TYPE (isym->st_info); } @@ -3761,39 +3748,36 @@ elf_link_add_object_symbols (bfd *abfd, the number of dynamic symbols we find. A dynamic symbol is one which is referenced or defined by both a regular object and a shared object. */ - old_flags = h->elf_link_hash_flags; dynsym = FALSE; if (! dynamic) { if (! definition) { - new_flag = ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; if (bind != STB_WEAK) - new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK; + h->ref_regular_nonweak = 1; } else - new_flag = ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; if (! info->executable - || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_REF_DYNAMIC)) != 0) + || h->def_dynamic + || h->ref_dynamic) dynsym = TRUE; } else { if (! definition) - new_flag = ELF_LINK_HASH_REF_DYNAMIC; + h->ref_dynamic = 1; else - new_flag = ELF_LINK_HASH_DEF_DYNAMIC; - if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR)) != 0 - || (h->weakdef != NULL + h->def_dynamic = 1; + if (h->def_regular + || h->ref_regular + || (h->u.weakdef != NULL && ! new_weakdef - && h->weakdef->dynindx != -1)) + && h->u.weakdef->dynindx != -1)) dynsym = TRUE; } - h->elf_link_hash_flags |= new_flag; - /* Check to see if we need to add an indirect symbol for the default name. */ if (definition || h->root.type == bfd_link_hash_common) @@ -3823,11 +3807,11 @@ elf_link_add_object_symbols (bfd *abfd, { if (! bfd_elf_link_record_dynamic_symbol (info, h)) goto error_free_vers; - if (h->weakdef != NULL + if (h->u.weakdef != NULL && ! new_weakdef - && h->weakdef->dynindx == -1) + && h->u.weakdef->dynindx == -1) { - if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + if (! bfd_elf_link_record_dynamic_symbol (info, h->u.weakdef)) goto error_free_vers; } } @@ -3847,8 +3831,7 @@ elf_link_add_object_symbols (bfd *abfd, if (!add_needed && definition && dynsym - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + && h->ref_regular) { int ret; const char *soname = elf_dt_name (abfd); @@ -3861,7 +3844,7 @@ elf_link_add_object_symbols (bfd *abfd, { (*_bfd_error_handler) (_("%s: invalid DSO for symbol `%s' definition"), - bfd_archive_filename (abfd), name); + abfd, name); bfd_set_error (bfd_error_bad_value); goto error_free_vers; } @@ -3993,8 +3976,8 @@ elf_link_add_object_symbols (bfd *abfd, size_t i, j, idx; hlook = weaks; - weaks = hlook->weakdef; - hlook->weakdef = NULL; + weaks = hlook->u.weakdef; + hlook->u.weakdef = NULL; BFD_ASSERT (hlook->root.type == bfd_link_hash_defined || hlook->root.type == bfd_link_hash_defweak @@ -4045,7 +4028,7 @@ elf_link_add_object_symbols (bfd *abfd, break; else if (h != hlook) { - hlook->weakdef = h; + hlook->u.weakdef = h; /* If the weak definition is in the list of dynamic symbols, make sure the real definition is put @@ -4194,6 +4177,55 @@ elf_link_add_object_symbols (bfd *abfd, return FALSE; } +/* Return the linker hash table entry of a symbol that might be + satisfied by an archive symbol. Return -1 on error. */ + +struct elf_link_hash_entry * +_bfd_elf_archive_symbol_lookup (bfd *abfd, + struct bfd_link_info *info, + const char *name) +{ + struct elf_link_hash_entry *h; + char *p, *copy; + size_t len, first; + + h = elf_link_hash_lookup (elf_hash_table (info), name, FALSE, FALSE, FALSE); + if (h != NULL) + return h; + + /* If this is a default version (the name contains @@), look up the + symbol again with only one `@' as well as without the version. + The effect is that references to the symbol with and without the + version will be matched by the default symbol in the archive. */ + + p = strchr (name, ELF_VER_CHR); + if (p == NULL || p[1] != ELF_VER_CHR) + return h; + + /* First check with only one `@'. */ + len = strlen (name); + copy = bfd_alloc (abfd, len); + if (copy == NULL) + return (struct elf_link_hash_entry *) 0 - 1; + + first = p - name + 1; + memcpy (copy, name, first); + memcpy (copy + first, name + first + 1, len - first); + + h = elf_link_hash_lookup (elf_hash_table (info), copy, FALSE, FALSE, FALSE); + if (h == NULL) + { + /* We also need to check references to the symbol without the + version. */ + copy[first - 1] = '\0'; + h = elf_link_hash_lookup (elf_hash_table (info), copy, + FALSE, FALSE, FALSE); + } + + bfd_release (abfd, copy); + return h; +} + /* Add symbols from an ELF archive file to the linker hash table. We don't use _bfd_generic_link_add_archive_symbols because of a problem which arises on UnixWare. The UnixWare libc.so is an @@ -4228,6 +4260,9 @@ elf_link_add_archive_symbols (bfd *abfd, carsym *symdefs; bfd_boolean loop; bfd_size_type amt; + const struct elf_backend_data *bed; + struct elf_link_hash_entry * (*archive_symbol_lookup) + (bfd *, struct bfd_link_info *, const char *); if (! bfd_has_map (abfd)) { @@ -4252,6 +4287,8 @@ elf_link_add_archive_symbols (bfd *abfd, goto error_return; symdefs = bfd_ardata (abfd)->symdefs; + bed = get_elf_backend_data (abfd); + archive_symbol_lookup = bed->elf_backend_archive_symbol_lookup; do { @@ -4280,48 +4317,9 @@ elf_link_add_archive_symbols (bfd *abfd, continue; } - h = elf_link_hash_lookup (elf_hash_table (info), symdef->name, - FALSE, FALSE, FALSE); - - if (h == NULL) - { - char *p, *copy; - size_t len, first; - - /* If this is a default version (the name contains @@), - look up the symbol again with only one `@' as well - as without the version. The effect is that references - to the symbol with and without the version will be - matched by the default symbol in the archive. */ - - p = strchr (symdef->name, ELF_VER_CHR); - if (p == NULL || p[1] != ELF_VER_CHR) - continue; - - /* First check with only one `@'. */ - len = strlen (symdef->name); - copy = bfd_alloc (abfd, len); - if (copy == NULL) - goto error_return; - first = p - symdef->name + 1; - memcpy (copy, symdef->name, first); - memcpy (copy + first, symdef->name + first + 1, len - first); - - h = elf_link_hash_lookup (elf_hash_table (info), copy, - FALSE, FALSE, FALSE); - - if (h == NULL) - { - /* We also need to check references to the symbol - without the version. */ - - copy[first - 1] = '\0'; - h = elf_link_hash_lookup (elf_hash_table (info), - copy, FALSE, FALSE, FALSE); - } - - bfd_release (abfd, copy); - } + h = archive_symbol_lookup (abfd, info, symdef->name); + if (h == (struct elf_link_hash_entry *) 0 - 1) + goto error_return; if (h == NULL) continue; @@ -4473,7 +4471,7 @@ elf_collect_hash_codes (struct elf_link_ /* And store it in the struct so that we can put it in the hash table later. */ - h->elf_hash_value = ha; + h->u.elf_hash_value = ha; if (alc != NULL) free (alc); @@ -4858,8 +4856,7 @@ bfd_elf_size_dynamic_sections (bfd *outp /* Mark this version if there is a definition and it is not defined in a shared object. */ if (newh != NULL - && ((newh->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + && !newh->def_dynamic && (newh->root.type == bfd_link_hash_defined || newh->root.type == bfd_link_hash_defweak)) d->symver = 1; @@ -4907,7 +4904,7 @@ bfd_elf_size_dynamic_sections (bfd *outp return FALSE; /* Add some entries to the .dynamic section. We fill in some of the - values later, in elf_bfd_final_link, but we must add the entries + values later, in bfd_elf_final_link, but we must add the entries now so that we know the final size of the .dynamic section. */ /* If there are initialization and/or finalization functions to @@ -4918,8 +4915,8 @@ bfd_elf_size_dynamic_sections (bfd *outp FALSE, FALSE) : NULL); if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) + && (h->ref_regular + || h->def_regular)) { if (!_bfd_elf_add_dynamic_entry (info, DT_INIT, 0)) return FALSE; @@ -4930,8 +4927,8 @@ bfd_elf_size_dynamic_sections (bfd *outp FALSE, FALSE) : NULL); if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) + && (h->ref_regular + || h->def_regular)) { if (!_bfd_elf_add_dynamic_entry (info, DT_FINI, 0)) return FALSE; @@ -4952,8 +4949,8 @@ bfd_elf_size_dynamic_sections (bfd *outp == SHT_PREINIT_ARRAY) { (*_bfd_error_handler) - (_("%s: .preinit_array section is not allowed in DSO"), - bfd_archive_filename (sub)); + (_("%B: .preinit_array section is not allowed in DSO"), + sub); break; } @@ -5120,8 +5117,8 @@ bfd_elf_size_dynamic_sections (bfd *outp get_elf_backend_data (dynobj)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; h->verinfo.vertree = t; @@ -5985,12 +5982,12 @@ elf_link_output_extsym (struct elf_link_ /* Decide whether to output this symbol in this pass. */ if (eoinfo->localsyms) { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + if (!h->forced_local) return TRUE; } else { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) return TRUE; } @@ -6001,8 +5998,8 @@ elf_link_output_extsym (struct elf_link_ references in regular files have already been handled). If we are reporting errors for this situation then do so now. */ if (h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 + && h->ref_dynamic + && !h->ref_regular && ! elf_link_check_versioned_symbol (finfo->info, bed, h) && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE) { @@ -6019,20 +6016,20 @@ elf_link_output_extsym (struct elf_link_ shared libraries. */ if (! finfo->info->relocatable && (! finfo->info->shared) - && (h->elf_link_hash_flags - & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK)) - == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC) + && h->forced_local + && h->ref_dynamic + && !h->dynamic_def + && !h->dynamic_weak && ! elf_link_check_versioned_symbol (finfo->info, bed, h)) { (*_bfd_error_handler) - (_("%s: %s symbol `%s' in %s is referenced by DSO"), - bfd_get_filename (finfo->output_bfd), + (_("%B: %s symbol `%s' in %B is referenced by DSO"), + finfo->output_bfd, h->root.u.def.section->owner, ELF_ST_VISIBILITY (h->other) == STV_INTERNAL ? "internal" : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN - ? "hidden" : "local", - h->root.root.string, - bfd_archive_filename (h->root.u.def.section->owner)); + ? "hidden" : "local", + h->root.root.string); eoinfo->failed = TRUE; return FALSE; } @@ -6043,10 +6040,10 @@ elf_link_output_extsym (struct elf_link_ output it. */ if (h->indx == -2) strip = FALSE; - else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->def_dynamic + || h->ref_dynamic) + && !h->def_regular + && !h->ref_regular) strip = TRUE; else if (finfo->info->strip == strip_all) strip = TRUE; @@ -6066,13 +6063,13 @@ elf_link_output_extsym (struct elf_link_ nothing else to do unless it is a forced local symbol. */ if (strip && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) return TRUE; sym.st_value = 0; sym.st_size = h->size; sym.st_other = h->other; - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type); else if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_defweak) @@ -6105,14 +6102,9 @@ elf_link_output_extsym (struct elf_link_ input_sec->output_section); if (sym.st_shndx == SHN_BAD) { - char *sec_name = bfd_get_section_ident (input_sec); (*_bfd_error_handler) - (_("%s: could not find output section %s for input section %s"), - bfd_get_filename (finfo->output_bfd), - input_sec->output_section->name, - sec_name ? sec_name : input_sec->name); - if (sec_name) - free (sec_name); + (_("%B: could not find output section %A for input section %A"), + finfo->output_bfd, input_sec->output_section, input_sec); eoinfo->failed = TRUE; return FALSE; } @@ -6164,11 +6156,11 @@ elf_link_output_extsym (struct elf_link_ symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for forced local syms when non-shared is due to a historical quirk. */ if ((h->dynindx != -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + || h->forced_local) && ((finfo->info->shared && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT || h->root.type != bfd_link_hash_undefweak)) - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + || !h->forced_local) && elf_hash_table (finfo->info)->dynamic_sections_created) { if (! ((*bed->elf_backend_finish_dynamic_symbol) @@ -6186,13 +6178,13 @@ elf_link_output_extsym (struct elf_link_ because it might not be marked as undefined until the finish_dynamic_symbol routine gets through with it. */ if (sym.st_shndx == SHN_UNDEF - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 + && h->ref_regular && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL || ELF_ST_BIND (sym.st_info) == STB_WEAK)) { int bindtype; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0) + if (h->ref_regular_nonweak) bindtype = STB_GLOBAL; else bindtype = STB_WEAK; @@ -6205,16 +6197,16 @@ elf_link_output_extsym (struct elf_link_ && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT && ELF_ST_BIND (sym.st_info) != STB_WEAK && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { (*_bfd_error_handler) - (_("%s: %s symbol `%s' isn't defined"), - bfd_get_filename (finfo->output_bfd), - ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED - ? "protected" - : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL - ? "internal" : "hidden", - h->root.root.string); + (_("%B: %s symbol `%s' isn't defined"), + finfo->output_bfd, + ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED + ? "protected" + : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL + ? "internal" : "hidden", + h->root.root.string); eoinfo->failed = TRUE; return FALSE; } @@ -6237,7 +6229,7 @@ elf_link_output_extsym (struct elf_link_ bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0); bucketcount = elf_hash_table (finfo->info)->bucketcount; - bucket = h->elf_hash_value % bucketcount; + bucket = h->u.elf_hash_value % bucketcount; hash_entry_size = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize; bucketpos = ((bfd_byte *) finfo->hash_sec->contents @@ -6253,7 +6245,7 @@ elf_link_output_extsym (struct elf_link_ Elf_Internal_Versym iversym; Elf_External_Versym *eversym; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { if (h->verinfo.verdef == NULL) iversym.vs_vers = 0; @@ -6268,7 +6260,7 @@ elf_link_output_extsym (struct elf_link_ iversym.vs_vers = h->verinfo.vertree->vernum + 1; } - if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0) + if (h->hidden) iversym.vs_vers |= VERSYM_HIDDEN; eversym = (Elf_External_Versym *) finfo->symver_sec->contents; @@ -6338,6 +6330,9 @@ elf_section_complain_discarded (asection if (strcmp (".PARISC.unwind", sec->name) == 0) return FALSE; + if (strcmp (".fixup", sec->name) == 0) + return FALSE; + return TRUE; } @@ -6644,6 +6639,9 @@ elf_link_input_bfd (struct elf_final_lin struct elf_link_hash_entry *h = NULL; const char *sym_name; + if (r_symndx == STN_UNDEF) + continue; + if (r_symndx >= locsymcount || (elf_bad_symtab (input_bfd) && finfo->sections[r_symndx] == NULL)) @@ -6710,21 +6708,10 @@ elf_link_input_bfd (struct elf_final_lin } else if (complain) { - char *r_sec - = bfd_get_section_ident (o); - char *d_sec - = bfd_get_section_ident (sec); - finfo->info->callbacks->error_handler - (LD_DEFINITION_IN_DISCARDED_SECTION, - _("`%T' referenced in section `%s' of %B: " - "defined in discarded section `%s' of %B\n"), - sym_name, sym_name, - r_sec ? r_sec : o->name, input_bfd, - d_sec ? d_sec : sec->name, sec->owner); - if (r_sec) - free (r_sec); - if (d_sec) - free (d_sec); + (*_bfd_error_handler) + (_("`%s' referenced in section `%A' of %B: " + "defined in discarded section `%A' of %B\n"), + o, input_bfd, sec, sec->owner, sym_name); } /* Remove the symbol reference from the reloc, but @@ -6847,7 +6834,7 @@ elf_link_input_bfd (struct elf_final_lin symbol. We set the rel_hash entry for this reloc to point to the global hash table entry for this symbol. The symbol index is then - set at the end of elf_bfd_final_link. */ + set at the end of bfd_elf_final_link. */ indx = r_symndx - extsymoff; rh = elf_sym_hashes (input_bfd)[indx]; while (rh->root.type == bfd_link_hash_indirect @@ -7220,8 +7207,25 @@ elf_get_linked_section_vma (struct bfd_l elf_shdrp = elf_elfsections (s->owner); elfsec = _bfd_elf_section_from_bfd_section (s->owner, s); elfsec = elf_shdrp[elfsec]->sh_link; - s = elf_shdrp[elfsec]->bfd_section; - return s->output_section->vma + s->output_offset; + /* PR 290: + The Intel C compiler generates SHT_IA_64_UNWIND with + SHF_LINK_ORDER. But it doesn't set theh sh_link or + sh_info fields. Hence we could get the situation + where elfsec is 0. */ + if (elfsec == 0) + { + const struct elf_backend_data *bed + = get_elf_backend_data (s->owner); + if (bed->link_order_error_handler) + bed->link_order_error_handler + (_("%B: warning: sh_link not set for section `%A'"), s->owner, s); + return 0; + } + else + { + s = elf_shdrp[elfsec]->bfd_section; + return s->output_section->vma + s->output_offset; + } } @@ -7287,8 +7291,8 @@ elf_fixup_link_order (bfd *abfd, asectio if (seen_other && seen_linkorder) { - (*_bfd_error_handler) (_("%s: has both ordered and unordered sections"), - o->name); + (*_bfd_error_handler) (_("%A has both ordered and unordered sections"), + o); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -7570,8 +7574,7 @@ bfd_elf_final_link (bfd *abfd, struct bf if (! _bfd_elf_compute_section_file_positions (abfd, info)) goto error_return; - /* That created the reloc sections. Set their sizes, and assign - them file positions, and allocate some buffers. */ + /* Set sizes, and assign file positions for reloc sections. */ for (o = abfd->sections; o != NULL; o = o->next) { if ((o->flags & SEC_RELOC) != 0) @@ -8117,8 +8120,7 @@ bfd_elf_final_link (bfd *abfd, struct bf if (o == NULL) { (*_bfd_error_handler) - (_("%s: could not find output section %s"), - bfd_get_filename (abfd), name); + (_("%B: could not find output section %s"), abfd, name); goto error_return; } if (o->size == 0) @@ -8159,8 +8161,7 @@ bfd_elf_final_link (bfd *abfd, struct bf if (o == NULL) { (*_bfd_error_handler) - (_("%s: could not find output section %s"), - bfd_get_filename (abfd), name); + (_("%B: could not find output section %s"), abfd, name); goto error_return; } dyn.d_un.d_ptr = o->vma; @@ -8342,10 +8343,10 @@ typedef asection * (*gc_mark_hook_fn) (asection *, struct bfd_link_info *, Elf_Internal_Rela *, struct elf_link_hash_entry *, Elf_Internal_Sym *); -static bfd_boolean -elf_gc_mark (struct bfd_link_info *info, - asection *sec, - gc_mark_hook_fn gc_mark_hook) +bfd_boolean +_bfd_elf_gc_mark (struct bfd_link_info *info, + asection *sec, + gc_mark_hook_fn gc_mark_hook) { bfd_boolean ret; asection *group_sec; @@ -8355,7 +8356,7 @@ elf_gc_mark (struct bfd_link_info *info, /* Mark all the sections in the group. */ group_sec = elf_section_data (sec)->next_in_group; if (group_sec && !group_sec->gc_mark) - if (!elf_gc_mark (info, group_sec, gc_mark_hook)) + if (!_bfd_elf_gc_mark (info, group_sec, gc_mark_hook)) return FALSE; /* Look through the section relocs. */ @@ -8436,7 +8437,7 @@ elf_gc_mark (struct bfd_link_info *info, { if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour) rsec->gc_mark = 1; - else if (!elf_gc_mark (info, rsec, gc_mark_hook)) + else if (!_bfd_elf_gc_mark (info, rsec, gc_mark_hook)) { ret = FALSE; goto out2; @@ -8498,9 +8499,9 @@ elf_gc_sweep (struct bfd_link_info *info for (o = sub->sections; o != NULL; o = o->next) { - /* Keep special sections. Keep .debug sections. */ - if ((o->flags & SEC_LINKER_CREATED) - || (o->flags & SEC_DEBUGGING)) + /* Keep debug and special sections. */ + if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0 + || (o->flags & (SEC_ALLOC | SEC_LOAD)) == 0) o->gc_mark = 1; if (o->gc_mark) @@ -8563,26 +8564,26 @@ elf_gc_propagate_vtable_entries_used (st h = (struct elf_link_hash_entry *) h->root.u.i.link; /* Those that are not vtables. */ - if (h->vtable_parent == NULL) + if (h->vtable == NULL || h->vtable->parent == NULL) return TRUE; /* Those vtables that do not have parents, we cannot merge. */ - if (h->vtable_parent == (struct elf_link_hash_entry *) -1) + if (h->vtable->parent == (struct elf_link_hash_entry *) -1) return TRUE; /* If we've already been done, exit. */ - if (h->vtable_entries_used && h->vtable_entries_used[-1]) + if (h->vtable->used && h->vtable->used[-1]) return TRUE; /* Make sure the parent's table is up to date. */ - elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp); + elf_gc_propagate_vtable_entries_used (h->vtable->parent, okp); - if (h->vtable_entries_used == NULL) + if (h->vtable->used == NULL) { /* None of this table's entries were referenced. Re-use the parent's table. */ - h->vtable_entries_used = h->vtable_parent->vtable_entries_used; - h->vtable_entries_size = h->vtable_parent->vtable_entries_size; + h->vtable->used = h->vtable->parent->vtable->used; + h->vtable->size = h->vtable->parent->vtable->size; } else { @@ -8590,9 +8591,9 @@ elf_gc_propagate_vtable_entries_used (st bfd_boolean *cu, *pu; /* Or the parent's entries into ours. */ - cu = h->vtable_entries_used; + cu = h->vtable->used; cu[-1] = TRUE; - pu = h->vtable_parent->vtable_entries_used; + pu = h->vtable->parent->vtable->used; if (pu != NULL) { const struct elf_backend_data *bed; @@ -8600,7 +8601,7 @@ elf_gc_propagate_vtable_entries_used (st bed = get_elf_backend_data (h->root.u.def.section->owner); log_file_align = bed->s->log_file_align; - n = h->vtable_parent->vtable_entries_size >> log_file_align; + n = h->vtable->parent->vtable->size >> log_file_align; while (n--) { if (*pu) @@ -8628,7 +8629,7 @@ elf_gc_smash_unused_vtentry_relocs (stru /* Take care of both those symbols that do not describe vtables as well as those that are not loaded. */ - if (h->vtable_parent == NULL) + if (h->vtable == NULL || h->vtable->parent == NULL) return TRUE; BFD_ASSERT (h->root.type == bfd_link_hash_defined @@ -8650,11 +8651,11 @@ elf_gc_smash_unused_vtentry_relocs (stru if (rel->r_offset >= hstart && rel->r_offset < hend) { /* If the entry is in use, do nothing. */ - if (h->vtable_entries_used - && (rel->r_offset - hstart) < h->vtable_entries_size) + if (h->vtable->used + && (rel->r_offset - hstart) < h->vtable->size) { bfd_vma entry = (rel->r_offset - hstart) >> log_file_align; - if (h->vtable_entries_used[entry]) + if (h->vtable->used[entry]) continue; } /* Otherwise, kill it. */ @@ -8676,7 +8677,7 @@ elf_gc_mark_dynamic_ref_symbol (struct e if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC)) + && h->ref_dynamic) h->root.u.def.section->flags |= SEC_KEEP; return TRUE; @@ -8743,7 +8744,7 @@ bfd_elf_gc_sections (bfd *abfd, struct b EH frame section. */ if (strcmp (o->name, ".eh_frame") == 0) o->gc_mark = 1; - else if (!elf_gc_mark (info, o, gc_mark_hook)) + else if (!_bfd_elf_gc_mark (info, o, gc_mark_hook)) return FALSE; } } @@ -8768,7 +8769,6 @@ bfd_elf_gc_record_vtinherit (bfd *abfd, struct elf_link_hash_entry **search, *child; bfd_size_type extsymcount; const struct elf_backend_data *bed = get_elf_backend_data (abfd); - char *sec_name; /* The sh_info field of the symtab header tells us where the external symbols start. We don't care about the local symbols at @@ -8792,15 +8792,18 @@ bfd_elf_gc_record_vtinherit (bfd *abfd, goto win; } - sec_name = bfd_get_section_ident (sec); - (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT", - bfd_archive_filename (abfd), - sec_name ? sec_name : sec->name, - (unsigned long) offset); + (*_bfd_error_handler) ("%B: %A+%lu: No symbol found for INHERIT", + abfd, sec, (unsigned long) offset); bfd_set_error (bfd_error_invalid_operation); return FALSE; win: + if (!child->vtable) + { + child->vtable = bfd_zalloc (abfd, sizeof (*child->vtable)); + if (!child->vtable) + return FALSE; + } if (!h) { /* This *should* only be the absolute section. It could potentially @@ -8808,10 +8811,10 @@ bfd_elf_gc_record_vtinherit (bfd *abfd, would be bad. It isn't worth paging in the local symbols to be sure though; that case should simply be handled by the assembler. */ - child->vtable_parent = (struct elf_link_hash_entry *) -1; + child->vtable->parent = (struct elf_link_hash_entry *) -1; } else - child->vtable_parent = h; + child->vtable->parent = h; return TRUE; } @@ -8827,10 +8830,17 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATT const struct elf_backend_data *bed = get_elf_backend_data (abfd); unsigned int log_file_align = bed->s->log_file_align; - if (addend >= h->vtable_entries_size) + if (!h->vtable) + { + h->vtable = bfd_zalloc (abfd, sizeof (*h->vtable)); + if (!h->vtable) + return FALSE; + } + + if (addend >= h->vtable->size) { size_t size, bytes, file_align; - bfd_boolean *ptr = h->vtable_entries_used; + bfd_boolean *ptr = h->vtable->used; /* While the symbol is undefined, we have to be prepared to handle a zero size. */ @@ -8861,7 +8871,7 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATT { size_t oldbytes; - oldbytes = (((h->vtable_entries_size >> log_file_align) + 1) + oldbytes = (((h->vtable->size >> log_file_align) + 1) * sizeof (bfd_boolean)); memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes); } @@ -8873,11 +8883,11 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATT return FALSE; /* And arrange for that done flag to be at index -1. */ - h->vtable_entries_used = ptr + 1; - h->vtable_entries_size = size; + h->vtable->used = ptr + 1; + h->vtable->size = size; } - h->vtable_entries_used[addend >> log_file_align] = TRUE; + h->vtable->used[addend >> log_file_align] = TRUE; return TRUE; } @@ -9349,15 +9359,45 @@ _bfd_elf_section_already_linked (bfd *ab case SEC_LINK_DUPLICATES_ONE_ONLY: (*_bfd_error_handler) - (_("%s: %s: warning: ignoring duplicate section `%s'\n"), - bfd_archive_filename (abfd), name); + (_("%B: ignoring duplicate section `%A'\n"), + abfd, sec); break; case SEC_LINK_DUPLICATES_SAME_SIZE: if (sec->size != l->sec->size) (*_bfd_error_handler) - (_("%s: %s: warning: duplicate section `%s' has different size\n"), - bfd_archive_filename (abfd), name); + (_("%B: duplicate section `%A' has different size\n"), + abfd, sec); + break; + + case SEC_LINK_DUPLICATES_SAME_CONTENTS: + if (sec->size != l->sec->size) + (*_bfd_error_handler) + (_("%B: duplicate section `%A' has different size\n"), + abfd, sec); + else if (sec->size != 0) + { + bfd_byte *sec_contents, *l_sec_contents; + + if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents)) + (*_bfd_error_handler) + (_("%B: warning: could not read contents of section `%A'\n"), + abfd, sec); + else if (!bfd_malloc_and_get_section (l->sec->owner, l->sec, + &l_sec_contents)) + (*_bfd_error_handler) + (_("%B: warning: could not read contents of section `%A'\n"), + l->sec->owner, l->sec); + else if (memcmp (sec_contents, l_sec_contents, sec->size) != 0) + (*_bfd_error_handler) + (_("%B: warning: duplicate section `%A' has different contents\n"), + abfd, sec); + + if (sec_contents) + free (sec_contents); + if (l_sec_contents) + free (l_sec_contents); + } break; } diff -uprN binutils-2.15.91.0.2/bfd/elfxx-ia64.c binutils-2.15.92.0.2/bfd/elfxx-ia64.c --- binutils-2.15.91.0.2/bfd/elfxx-ia64.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elfxx-ia64.c 2004-09-27 13:46:06.000000000 -0700 @@ -977,9 +977,8 @@ elfNN_ia64_relax_section (abfd, sec, lin || strcmp (sec->output_section->name, ".fini") == 0) { (*_bfd_error_handler) - (_("%s: Can't relax br at 0x%lx in section `%s'. Please use brl or indirect branch."), - bfd_archive_filename (sec->owner), - (unsigned long) roff, sec->name); + (_("%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch."), + sec->owner, sec, (unsigned long) roff); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1642,12 +1641,10 @@ elfNN_ia64_hash_copy_indirect (bed, xdir /* Copy down any references that we may have already seen to the symbol which just became indirect. */ - dir->root.elf_link_hash_flags |= - (ind->root.elf_link_hash_flags - & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + dir->root.ref_dynamic |= ind->root.ref_dynamic; + dir->root.ref_regular |= ind->root.ref_regular; + dir->root.ref_regular_nonweak |= ind->root.ref_regular_nonweak; + dir->root.needs_plt |= ind->root.needs_plt; if (ind->root.root.type != bfd_link_hash_indirect) return; @@ -2236,7 +2233,7 @@ elfNN_ia64_check_relocs (abfd, info, sec || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -2245,8 +2242,9 @@ elfNN_ia64_check_relocs (abfd, info, sec this may help reduce memory usage and processing time later. */ maybe_dynamic = FALSE; if (h && ((!info->executable - && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular || h->root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -2445,7 +2443,7 @@ elfNN_ia64_check_relocs (abfd, info, sec { if (!ia64_info->root.dynobj) ia64_info->root.dynobj = abfd; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; dyn_i->want_plt = 1; } if (need_entry & NEED_FULL_PLT) @@ -2652,7 +2650,7 @@ allocate_plt_entries (dyn_i, data) || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - /* ??? Versioned symbols seem to lose ELF_LINK_HASH_NEEDS_PLT. */ + /* ??? Versioned symbols seem to lose NEEDS_PLT. */ if (elfNN_ia64_dynamic_symbol_p (h, x->info, 0)) { bfd_size_type offset = x->ofs; @@ -2840,12 +2838,12 @@ elfNN_ia64_adjust_dynamic_symbol (info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3904,8 +3902,8 @@ elfNN_ia64_relocate_section (output_bfd, if (r_type > R_IA64_MAX_RELOC_CODE) { (*_bfd_error_handler) - (_("%s: unknown relocation type %d"), - bfd_archive_filename (input_bfd), (int)r_type); + (_("%B: unknown relocation type %d"), + input_bfd, (int) r_type); bfd_set_error (bfd_error_bad_value); ret_val = FALSE; continue; @@ -4009,8 +4007,8 @@ elfNN_ia64_relocate_section (output_bfd, /* ??? People shouldn't be doing non-pic code in shared libraries nor dynamic executables. */ (*_bfd_error_handler) - (_("%s: non-pic code with imm relocation against dynamic symbol `%s'"), - bfd_archive_filename (input_bfd), + (_("%B: non-pic code with imm relocation against dynamic symbol `%s'"), + input_bfd, h->root.root.string); ret_val = FALSE; continue; @@ -4074,8 +4072,8 @@ elfNN_ia64_relocate_section (output_bfd, if (dynamic_symbol_p) { (*_bfd_error_handler) - (_("%s: @gprel relocation against dynamic symbol %s"), - bfd_archive_filename (input_bfd), h->root.root.string); + (_("%B: @gprel relocation against dynamic symbol %s"), + input_bfd, h->root.root.string); ret_val = FALSE; continue; } @@ -4134,8 +4132,8 @@ elfNN_ia64_relocate_section (output_bfd, /* ??? People shouldn't be doing non-pic code in shared libraries. Hork. */ (*_bfd_error_handler) - (_("%s: linking non-pic code in a position independent executable"), - bfd_archive_filename (input_bfd)); + (_("%B: linking non-pic code in a position independent executable"), + input_bfd); ret_val = FALSE; continue; } @@ -4271,13 +4269,12 @@ elfNN_ia64_relocate_section (output_bfd, const char *msg; if (r_type == R_IA64_PCREL21BI) - msg = _("%s: @internal branch to dynamic symbol %s"); + msg = _("%B: @internal branch to dynamic symbol %s"); else if (r_type == R_IA64_PCREL21F || r_type == R_IA64_PCREL21M) - msg = _("%s: speculation fixup to dynamic symbol %s"); + msg = _("%B: speculation fixup to dynamic symbol %s"); else - msg = _("%s: @pcrel relocation against dynamic symbol %s"); - (*_bfd_error_handler) (msg, bfd_archive_filename (input_bfd), - h->root.root.string); + msg = _("%B: @pcrel relocation against dynamic symbol %s"); + (*_bfd_error_handler) (msg, input_bfd, h->root.root.string); ret_val = FALSE; continue; } @@ -4577,7 +4574,7 @@ elfNN_ia64_finish_dynamic_symbol (output plt section. Leave the value alone. */ /* ??? We didn't redefine it in adjust_dynamic_symbol in the first place. But perhaps elflink.c did some for us. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) sym->st_shndx = SHN_UNDEF; } @@ -4761,8 +4758,8 @@ elfNN_ia64_merge_private_bfd_data (ibfd, if ((in_flags & EF_IA_64_TRAPNIL) != (out_flags & EF_IA_64_TRAPNIL)) { (*_bfd_error_handler) - (_("%s: linking trap-on-NULL-dereference with non-trapping files"), - bfd_archive_filename (ibfd)); + (_("%B: linking trap-on-NULL-dereference with non-trapping files"), + ibfd); bfd_set_error (bfd_error_bad_value); ok = FALSE; @@ -4770,8 +4767,8 @@ elfNN_ia64_merge_private_bfd_data (ibfd, if ((in_flags & EF_IA_64_BE) != (out_flags & EF_IA_64_BE)) { (*_bfd_error_handler) - (_("%s: linking big-endian files with little-endian files"), - bfd_archive_filename (ibfd)); + (_("%B: linking big-endian files with little-endian files"), + ibfd); bfd_set_error (bfd_error_bad_value); ok = FALSE; @@ -4779,8 +4776,8 @@ elfNN_ia64_merge_private_bfd_data (ibfd, if ((in_flags & EF_IA_64_ABI64) != (out_flags & EF_IA_64_ABI64)) { (*_bfd_error_handler) - (_("%s: linking 64-bit files with 32-bit files"), - bfd_archive_filename (ibfd)); + (_("%B: linking 64-bit files with 32-bit files"), + ibfd); bfd_set_error (bfd_error_bad_value); ok = FALSE; @@ -4788,8 +4785,8 @@ elfNN_ia64_merge_private_bfd_data (ibfd, if ((in_flags & EF_IA_64_CONS_GP) != (out_flags & EF_IA_64_CONS_GP)) { (*_bfd_error_handler) - (_("%s: linking constant-gp files with non-constant-gp files"), - bfd_archive_filename (ibfd)); + (_("%B: linking constant-gp files with non-constant-gp files"), + ibfd); bfd_set_error (bfd_error_bad_value); ok = FALSE; @@ -4798,8 +4795,8 @@ elfNN_ia64_merge_private_bfd_data (ibfd, != (out_flags & EF_IA_64_NOFUNCDESC_CONS_GP)) { (*_bfd_error_handler) - (_("%s: linking auto-pic files with non-auto-pic files"), - bfd_archive_filename (ibfd)); + (_("%B: linking auto-pic files with non-auto-pic files"), + ibfd); bfd_set_error (bfd_error_bad_value); ok = FALSE; @@ -4987,6 +4984,13 @@ elfNN_hpux_backend_symbol_processing (bf #define elf_backend_rela_normal 1 #define elf_backend_special_sections elfNN_ia64_special_sections +/* FIXME: PR 290: The Intel C compiler generates SHT_IA_64_UNWIND with + SHF_LINK_ORDER. But it doesn't set theh sh_link or sh_info fields. + We don't want to flood users with so many error messages. We turn + off the warning for now. It will be turned on later when the Intel + compiler is fixed. */ +#define elf_backend_link_order_error_handler NULL + #include "elfNN-target.h" /* HPUX-specific vectors. */ diff -uprN binutils-2.15.91.0.2/bfd/elfxx-mips.c binutils-2.15.92.0.2/bfd/elfxx-mips.c --- binutils-2.15.91.0.2/bfd/elfxx-mips.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elfxx-mips.c 2004-09-27 13:46:06.000000000 -0700 @@ -1490,10 +1490,10 @@ mips_elf_output_extsym (struct mips_elf_ if (h->root.indx == -2) strip = FALSE; - else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->root.def_dynamic + || h->root.ref_dynamic) + && !h->root.def_regular + && !h->root.ref_regular) strip = TRUE; else if (einfo->info->strip == strip_all || (einfo->info->strip == strip_some @@ -1611,7 +1611,7 @@ mips_elf_output_extsym (struct mips_elf_ else h->esym.asym.value = 0; } - else if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + else if (h->root.needs_plt) { struct mips_elf_link_hash_entry *hd = h; bfd_boolean no_fn_stub = h->no_fn_stub; @@ -2411,10 +2411,8 @@ mips_elf_set_global_got_offset (void **e entry->gotidx = arg->value * (long) g->assigned_gotno++; if (arg->info->shared || (elf_hash_table (arg->info)->dynamic_sections_created - && ((entry->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((entry->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && entry->d.h->root.def_dynamic + && !entry->d.h->root.def_regular)) ++arg->needed_relocs; } else @@ -2764,7 +2762,7 @@ mips_elf_local_relocation_p (bfd *input_ while (h->root.root.type == bfd_link_hash_indirect || h->root.root.type == bfd_link_hash_warning) h = (struct mips_elf_link_hash_entry *) h->root.root.u.i.link; - if ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->root.forced_local) return TRUE; } @@ -2910,8 +2908,8 @@ mips_elf_create_got_section (bfd *abfd, return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -3109,8 +3107,8 @@ mips_elf_calculate_relocation (bfd *abfd else if (info->unresolved_syms_in_objects == RM_IGNORE && ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT) symbol = 0; - else if (strcmp (*namep, "_DYNAMIC_LINK") == 0 || - strcmp (*namep, "_DYNAMIC_LINKING") == 0) + else if (strcmp (*namep, SGI_COMPAT (input_bfd) + ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING") == 0) { /* If this is a dynamic link, we should have created a _DYNAMIC_LINK symbol or _DYNAMIC_LINKING(for normal mips) symbol @@ -3237,7 +3235,7 @@ mips_elf_calculate_relocation (bfd *abfd if (! elf_hash_table(info)->dynamic_sections_created || (info->shared && (info->symbolic || h->root.dynindx == -1) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->root.def_regular)) { /* This is a static link or a -Bsymbolic link. The symbol is defined locally, or was forced to be local. @@ -3300,10 +3298,8 @@ mips_elf_calculate_relocation (bfd *abfd if ((info->shared || (elf_hash_table (info)->dynamic_sections_created && h != NULL - && ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && h->root.def_dynamic + && !h->root.def_regular)) && r_symndx != 0 && (input_section->flags & SEC_ALLOC) != 0) { @@ -3719,9 +3715,9 @@ mips_elf_perform_relocation (struct bfd_ if (!ok) { (*_bfd_error_handler) - (_("%s: %s+0x%lx: jump to stub routine which is not jal"), - bfd_archive_filename (input_bfd), - input_section->name, + (_("%B: %A+0x%lx: jump to stub routine which is not jal"), + input_bfd, + input_section, (unsigned long) relocation->r_offset); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -3857,16 +3853,14 @@ mips_elf_create_dynamic_relocation (bfd /* We must now calculate the dynamic symbol table index to use in the relocation. */ if (h != NULL - && (! info->symbolic || (h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && (! info->symbolic || !h->root.def_regular) /* h->root.dynindx may be -1 if this symbol was marked to become local. */ && h->root.dynindx != -1) { indx = h->root.dynindx; if (SGI_COMPAT (output_bfd)) - defined_p = ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0); + defined_p = h->root.def_regular; else /* ??? glibc's ld.so just adds the final GOT entry to the relocation field. It therefore treats relocs against @@ -4192,15 +4186,37 @@ _bfd_mips_elf_symbol_processing (bfd *ab asym->section = bfd_und_section_ptr; break; -#if 0 /* for SGI_COMPAT */ case SHN_MIPS_TEXT: - asym->section = mips_elf_text_section_ptr; + { + asection *section = bfd_get_section_by_name (abfd, ".text"); + + BFD_ASSERT (SGI_COMPAT (abfd)); + if (section != NULL) + { + asym->section = section; + /* MIPS_TEXT is a bit special, the address is not an offset + to the base of the .text section. So substract the section + base address to make it an offset. */ + asym->value -= section->vma; + } + } break; case SHN_MIPS_DATA: - asym->section = mips_elf_data_section_ptr; + { + asection *section = bfd_get_section_by_name (abfd, ".data"); + + BFD_ASSERT (SGI_COMPAT (abfd)); + if (section != NULL) + { + asym->section = section; + /* MIPS_DATA is a bit special, the address is not an offset + to the base of the .data section. So substract the section + base address to make it an offset. */ + asym->value -= section->vma; + } + } break; -#endif } } @@ -4791,8 +4807,8 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4903,8 +4919,8 @@ _bfd_mips_elf_create_dynamic_sections (b return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_SECTION; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4948,8 +4964,8 @@ _bfd_mips_elf_create_dynamic_sections (b return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_SECTION; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4972,8 +4988,8 @@ _bfd_mips_elf_create_dynamic_sections (b return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -5204,8 +5220,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s else if (r_symndx >= extsymoff + NUM_SHDR_ENTRIES (symtab_hdr)) { (*_bfd_error_handler) - (_("%s: Malformed reloc detected for section %s"), - bfd_archive_filename (abfd), name); + (_("%B: Malformed reloc detected for section %s"), + abfd, name); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5278,8 +5294,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s if (h == NULL) { (*_bfd_error_handler) - (_("%s: CALL16 reloc at 0x%lx not against global symbol"), - bfd_archive_filename (abfd), (unsigned long) rel->r_offset); + (_("%B: CALL16 reloc at 0x%lx not against global symbol"), + abfd, (unsigned long) rel->r_offset); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -5296,7 +5312,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s /* We need a stub, not a plt entry for the undefined function. But we record it as if it needs plt. See _bfd_elf_adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->type = STT_FUNC; } break; @@ -5316,10 +5332,9 @@ _bfd_mips_elf_check_relocs (bfd *abfd, s hmips = (struct mips_elf_link_hash_entry *) hmips->root.root.u.i.link; - if ((hmips->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + if (hmips->root.def_regular && ! (info->shared && ! info->symbolic - && ! (hmips->root.elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL))) + && ! hmips->root.forced_local)) break; } /* Fall through. */ @@ -5528,7 +5543,7 @@ _bfd_mips_relax_section (bfd *abfd, asec || h->root.root.type == bfd_link_hash_defweak) && h->root.root.u.def.section) || (link_info->shared && ! link_info->symbolic - && ! (h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))) + && !h->root.forced_local)) continue; sym_sec = h->root.root.u.def.section; @@ -5652,14 +5667,11 @@ _bfd_mips_elf_adjust_dynamic_symbol (str /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this symbol is defined in a dynamic object, we need to copy any R_MIPS_32 or R_MIPS_REL32 relocs against it into the output @@ -5668,8 +5680,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str if (! info->relocatable && hmips->possibly_dynamic_relocs != 0 && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { mips_elf_allocate_dynamic_relocations (dynobj, hmips->possibly_dynamic_relocs); @@ -5681,7 +5692,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str /* For a function, create a stub, if allowed. */ if (! hmips->no_fn_stub - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + && h->needs_plt) { if (! elf_hash_table (info)->dynamic_sections_created) return TRUE; @@ -5690,7 +5701,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str the symbol to the stub location. This is required to make function pointers compare as equal between the normal executable and the shared library. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* We need .stub section. */ s = bfd_get_section_by_name (dynobj, @@ -5712,7 +5723,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (str } } else if ((h->type == STT_FUNC) - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0) + && !h->needs_plt) { /* This will set the entry for this symbol in the GOT to 0, and the dynamic linker will take care of this. */ @@ -5723,12 +5734,12 @@ _bfd_mips_elf_adjust_dynamic_symbol (str /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -6586,7 +6597,7 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd } BFD_ASSERT (h->dynindx != -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0); + || h->forced_local); sgot = mips_elf_got_section (dynobj, FALSE); BFD_ASSERT (sgot != NULL); @@ -6629,10 +6640,8 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd if (info->shared || (elf_hash_table (info)->dynamic_sections_created && p->d.h != NULL - && ((p->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((p->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && p->d.h->root.def_dynamic + && !p->d.h->root.def_regular)) { /* Create an R_MIPS_REL32 relocation for this entry. Due to the various compatibility problems, it's easier to mock @@ -8873,8 +8882,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf if (! _bfd_generic_verify_endian_match (ibfd, obfd)) { (*_bfd_error_handler) - (_("%s: endianness incompatible with that of the selected emulation"), - bfd_archive_filename (ibfd)); + (_("%B: endianness incompatible with that of the selected emulation"), + ibfd); return FALSE; } @@ -8885,8 +8894,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0) { (*_bfd_error_handler) - (_("%s: ABI is incompatible with that of the selected emulation"), - bfd_archive_filename (ibfd)); + (_("%B: ABI is incompatible with that of the selected emulation"), + ibfd); return FALSE; } @@ -8957,8 +8966,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf != ((old_flags & (EF_MIPS_PIC | EF_MIPS_CPIC)) != 0)) { (*_bfd_error_handler) - (_("%s: warning: linking PIC files with non-PIC files"), - bfd_archive_filename (ibfd)); + (_("%B: warning: linking PIC files with non-PIC files"), + ibfd); ok = TRUE; } @@ -8974,8 +8983,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf if (mips_32bit_flags_p (old_flags) != mips_32bit_flags_p (new_flags)) { (*_bfd_error_handler) - (_("%s: linking 32-bit code with 64-bit code"), - bfd_archive_filename (ibfd)); + (_("%B: linking 32-bit code with 64-bit code"), + ibfd); ok = FALSE; } else if (!mips_mach_extends_p (bfd_get_mach (ibfd), bfd_get_mach (obfd))) @@ -9002,8 +9011,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf { /* The ISAs aren't compatible. */ (*_bfd_error_handler) - (_("%s: linking %s module with previous %s modules"), - bfd_archive_filename (ibfd), + (_("%B: linking %s module with previous %s modules"), + ibfd, bfd_printable_name (ibfd), bfd_printable_name (obfd)); ok = FALSE; @@ -9025,8 +9034,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf != elf_elfheader (obfd)->e_ident[EI_CLASS])) { (*_bfd_error_handler) - (_("%s: ABI mismatch: linking %s module with previous %s modules"), - bfd_archive_filename (ibfd), + (_("%B: ABI mismatch: linking %s module with previous %s modules"), + ibfd, elf_mips_abi_name (ibfd), elf_mips_abi_name (obfd)); ok = FALSE; @@ -9048,8 +9057,8 @@ _bfd_mips_elf_merge_private_bfd_data (bf if (new_flags != old_flags) { (*_bfd_error_handler) - (_("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), - bfd_archive_filename (ibfd), (unsigned long) new_flags, + (_("%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"), + ibfd, (unsigned long) new_flags, (unsigned long) old_flags); ok = FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/elfxx-target.h binutils-2.15.92.0.2/bfd/elfxx-target.h --- binutils-2.15.91.0.2/bfd/elfxx-target.h 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/elfxx-target.h 2004-09-15 12:05:03.000000000 -0700 @@ -34,8 +34,10 @@ #define bfd_elfNN_canonicalize_dynamic_symtab \ _bfd_elf_canonicalize_dynamic_symtab +#ifndef bfd_elfNN_get_synthetic_symtab #define bfd_elfNN_get_synthetic_symtab \ _bfd_elf_get_synthetic_symtab +#endif #ifndef bfd_elfNN_canonicalize_reloc #define bfd_elfNN_canonicalize_reloc _bfd_elf_canonicalize_reloc #endif @@ -277,6 +279,13 @@ #define ELF_MAXPAGESIZE 1 #endif +#ifndef ELF_DYNAMIC_SEC_FLAGS +/* Note that we set the SEC_IN_MEMORY flag for these sections. */ +#define ELF_DYNAMIC_SEC_FLAGS \ + (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS \ + | SEC_IN_MEMORY | SEC_LINKER_CREATED) +#endif + #ifndef elf_backend_collect #define elf_backend_collect FALSE #endif @@ -299,6 +308,9 @@ #ifndef elf_backend_get_symbol_type #define elf_backend_get_symbol_type 0 #endif +#ifndef elf_backend_archive_symbol_lookup +#define elf_backend_archive_symbol_lookup _bfd_elf_archive_symbol_lookup +#endif #ifndef elf_backend_name_local_section_symbols #define elf_backend_name_local_section_symbols 0 #endif @@ -491,6 +503,10 @@ #define elf_backend_sign_extend_vma 0 #endif +#ifndef elf_backend_link_order_error_handler +#define elf_backend_link_order_error_handler _bfd_default_error_handler +#endif + extern const struct elf_size_info _bfd_elfNN_size_info; #ifndef INCLUDED_TARGET_FILE @@ -499,6 +515,7 @@ static const struct elf_backend_data elf ELF_ARCH, /* arch */ ELF_MACHINE_CODE, /* elf_machine_code */ ELF_MAXPAGESIZE, /* maxpagesize */ + ELF_DYNAMIC_SEC_FLAGS, /* dynamic_sec_flags */ elf_info_to_howto, elf_info_to_howto_rel, elf_backend_sym_is_global, @@ -506,6 +523,7 @@ static const struct elf_backend_data elf elf_backend_symbol_processing, elf_backend_symbol_table_processing, elf_backend_get_symbol_type, + elf_backend_archive_symbol_lookup, elf_backend_name_local_section_symbols, elf_backend_section_processing, elf_backend_section_from_shdr, @@ -555,6 +573,7 @@ static const struct elf_backend_data elf elf_backend_ecoff_debug_swap, elf_backend_bfd_from_remote_memory, elf_backend_plt_sym_val, + elf_backend_link_order_error_handler, elf_backend_relplt_name, ELF_MACHINE_ALT1, ELF_MACHINE_ALT2, diff -uprN binutils-2.15.91.0.2/bfd/hpux-core.c binutils-2.15.92.0.2/bfd/hpux-core.c --- binutils-2.15.91.0.2/bfd/hpux-core.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/hpux-core.c 2004-09-15 12:05:03.000000000 -0700 @@ -145,6 +145,17 @@ make_bfd_asection (abfd, name, flags, si return asect; } +/* Return true if the given core file section corresponds to a thread, + based on its name. */ + +static int +thread_section_p (bfd *abfd ATTRIBUTE_UNUSED, + asection *sect, + void *obj ATTRIBUTE_UNUSED) +{ + return (strncmp (bfd_section_name (abfd, sect), ".reg/", 5) == 0); +} + /* this function builds a bfd target if the file is a corefile. It returns null or 0 if it finds out thaat it is not a core file. The way it checks this is by looking for allowed 'type' field values. @@ -207,7 +218,7 @@ hpux_core_core_file_p (abfd) /* However, we also want to create those sections with the file positioned at the start of the record, it seems. */ - if (bfd_seek (abfd, (file_ptr) -core_header.len, SEEK_CUR) != 0) + if (bfd_seek (abfd, -((file_ptr) core_header.len), SEEK_CUR) != 0) break; #if defined(PROC_INFO_HAS_THREAD_ID) @@ -301,6 +312,29 @@ hpux_core_core_file_p (abfd) /* OK, we believe you. You're a core file (sure, sure). */ + /* On HP/UX, we sometimes encounter core files where none of the threads + was found to be the running thread (ie the signal was set to -1 for + all threads). This happens when the program was aborted externally + via a TT_CORE ttrace system call. In that case, we just pick one + thread at random to be the active thread. */ + if (core_kernel_thread_id (abfd) != 0 + && bfd_get_section_by_name (abfd, ".reg") == NULL) + { + asection *asect = bfd_sections_find_if (abfd, thread_section_p, NULL); + asection *reg_sect; + + if (asect != NULL) + { + reg_sect = make_bfd_asection (abfd, ".reg", asect->flags, + asect->size, asect->vma, + asect->alignment_power); + if (reg_sect == NULL) + goto fail; + + reg_sect->filepos = asect->filepos; + } + } + /* Were there sections of unknown type? If so, yet there were at least some complete sections of known type, then, issue a warning. Possibly the core file was generated on a version diff -uprN binutils-2.15.91.0.2/bfd/ieee.c binutils-2.15.92.0.2/bfd/ieee.c --- binutils-2.15.91.0.2/bfd/ieee.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/ieee.c 2004-09-15 12:05:03.000000000 -0700 @@ -935,9 +935,8 @@ ieee_slurp_external_symbols (abfd) break; default: (*_bfd_error_handler) - (_("%s: unimplemented ATI record %u for symbol %u"), - bfd_archive_filename (abfd), symbol_attribute_def, - symbol_name_index); + (_("%B: unimplemented ATI record %u for symbol %u"), + abfd, symbol_attribute_def, symbol_name_index); bfd_set_error (bfd_error_bad_value); return FALSE; break; @@ -960,8 +959,8 @@ ieee_slurp_external_symbols (abfd) if (value != 0x3f) { (*_bfd_error_handler) - (_("%s: unexpected ATN type %d in external part"), - bfd_archive_filename (abfd), (int) value); + (_("%B: unexpected ATN type %d in external part"), + abfd, (int) value); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -982,8 +981,7 @@ ieee_slurp_external_symbols (abfd) default: (*_bfd_error_handler) - (_("%s: unexpected type after ATN"), - bfd_archive_filename (abfd)); + (_("%B: unexpected type after ATN"), abfd); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/ihex.c binutils-2.15.92.0.2/bfd/ihex.c --- binutils-2.15.91.0.2/bfd/ihex.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/ihex.c 2004-09-15 12:05:03.000000000 -0700 @@ -261,8 +261,8 @@ ihex_bad_byte (abfd, lineno, c, error) buf[1] = '\0'; } (*_bfd_error_handler) - (_("%s:%d: unexpected character `%s' in Intel Hex file\n"), - bfd_archive_filename (abfd), lineno, buf); + (_("%B:%d: unexpected character `%s' in Intel Hex file"), + abfd, lineno, buf); bfd_set_error (bfd_error_bad_value); } } @@ -369,8 +369,8 @@ ihex_scan (abfd) if (((- chksum) & 0xff) != (unsigned int) HEX2 (buf + 2 * i)) { (*_bfd_error_handler) - (_("%s:%u: bad checksum in Intel Hex file (expected %u, found %u)"), - bfd_archive_filename (abfd), lineno, + (_("%B:%u: bad checksum in Intel Hex file (expected %u, found %u)"), + abfd, lineno, (- chksum) & 0xff, (unsigned int) HEX2 (buf + 2 * i)); bfd_set_error (bfd_error_bad_value); goto error_return; @@ -423,8 +423,8 @@ ihex_scan (abfd) if (len != 2) { (*_bfd_error_handler) - (_("%s:%u: bad extended address record length in Intel Hex file"), - bfd_archive_filename (abfd), lineno); + (_("%B:%u: bad extended address record length in Intel Hex file"), + abfd, lineno); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -440,8 +440,8 @@ ihex_scan (abfd) if (len != 4) { (*_bfd_error_handler) - (_("%s:%u: bad extended start address length in Intel Hex file"), - bfd_archive_filename (abfd), lineno); + (_("%B:%u: bad extended start address length in Intel Hex file"), + abfd, lineno); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -457,8 +457,8 @@ ihex_scan (abfd) if (len != 2) { (*_bfd_error_handler) - (_("%s:%u: bad extended linear address record length in Intel Hex file"), - bfd_archive_filename (abfd), lineno); + (_("%B:%u: bad extended linear address record length in Intel Hex file"), + abfd, lineno); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -474,8 +474,8 @@ ihex_scan (abfd) if (len != 2 && len != 4) { (*_bfd_error_handler) - (_("%s:%u: bad extended linear start address length in Intel Hex file"), - bfd_archive_filename (abfd), lineno); + (_("%B:%u: bad extended linear start address length in Intel Hex file"), + abfd, lineno); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -491,8 +491,8 @@ ihex_scan (abfd) default: (*_bfd_error_handler) - (_("%s:%u: unrecognized ihex type %u in Intel Hex file\n"), - bfd_archive_filename (abfd), lineno, type); + (_("%B:%u: unrecognized ihex type %u in Intel Hex file"), + abfd, lineno, type); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -616,8 +616,7 @@ ihex_read_section (abfd, section, conten if (type != 0) { (*_bfd_error_handler) - (_("%s: internal error in ihex_read_section"), - bfd_archive_filename (abfd)); + (_("%B: internal error in ihex_read_section"), abfd); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -651,8 +650,7 @@ ihex_read_section (abfd, section, conten if ((bfd_size_type) (p - contents) < section->size) { (*_bfd_error_handler) - (_("%s: bad section length in ihex_read_section"), - bfd_archive_filename (abfd)); + (_("%B: bad section length in ihex_read_section"), abfd); bfd_set_error (bfd_error_bad_value); goto error_return; } diff -uprN binutils-2.15.91.0.2/bfd/libbfd-in.h binutils-2.15.92.0.2/bfd/libbfd-in.h --- binutils-2.15.91.0.2/bfd/libbfd-in.h 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/libbfd-in.h 2004-09-15 12:05:03.000000000 -0700 @@ -91,6 +91,7 @@ extern void *bfd_realloc extern void *bfd_zmalloc (bfd_size_type); +extern void _bfd_default_error_handler (const char *s, ...); extern bfd_error_handler_type _bfd_error_handler; /* These routines allocate and free things on the BFD's objalloc. */ @@ -386,7 +387,7 @@ extern bfd_boolean _bfd_generic_set_sect #define _bfd_nodynamic_canonicalize_dynamic_symtab \ ((long (*) (bfd *, asymbol **)) _bfd_n1) #define _bfd_nodynamic_get_synthetic_symtab \ - ((long (*) (bfd *, asymbol **, asymbol **)) _bfd_n1) + ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1) #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 #define _bfd_nodynamic_canonicalize_dynamic_reloc \ ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1) diff -uprN binutils-2.15.91.0.2/bfd/libbfd.c binutils-2.15.92.0.2/bfd/libbfd.c --- binutils-2.15.91.0.2/bfd/libbfd.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/libbfd.c 2004-09-15 12:05:03.000000000 -0700 @@ -823,11 +823,11 @@ _bfd_generic_verify_endian_match (bfd *i const char *msg; if (bfd_big_endian (ibfd)) - msg = _("%s: compiled for a big endian system and target is little endian"); + msg = _("%B: compiled for a big endian system and target is little endian"); else - msg = _("%s: compiled for a little endian system and target is big endian"); + msg = _("%B: compiled for a little endian system and target is big endian"); - (*_bfd_error_handler) (msg, bfd_archive_filename (ibfd)); + (*_bfd_error_handler) (msg, ibfd); bfd_set_error (bfd_error_wrong_format); return FALSE; diff -uprN binutils-2.15.91.0.2/bfd/libbfd.h binutils-2.15.92.0.2/bfd/libbfd.h --- binutils-2.15.91.0.2/bfd/libbfd.h 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/libbfd.h 2004-09-27 13:46:06.000000000 -0700 @@ -96,6 +96,7 @@ extern void *bfd_realloc extern void *bfd_zmalloc (bfd_size_type); +extern void _bfd_default_error_handler (const char *s, ...); extern bfd_error_handler_type _bfd_error_handler; /* These routines allocate and free things on the BFD's objalloc. */ @@ -391,7 +392,7 @@ extern bfd_boolean _bfd_generic_set_sect #define _bfd_nodynamic_canonicalize_dynamic_symtab \ ((long (*) (bfd *, asymbol **)) _bfd_n1) #define _bfd_nodynamic_get_synthetic_symtab \ - ((long (*) (bfd *, asymbol **, asymbol **)) _bfd_n1) + ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1) #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 #define _bfd_nodynamic_canonicalize_dynamic_reloc \ ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1) @@ -1133,8 +1134,21 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_ARM_RELATIVE", "BFD_RELOC_ARM_GOTOFF", "BFD_RELOC_ARM_GOTPC", + "BFD_RELOC_ARM_TARGET1", + "BFD_RELOC_ARM_ROSEGREL32", + "BFD_RELOC_ARM_SBREL32", + "BFD_RELOC_ARM_TARGET2", + "BFD_RELOC_ARM_PREL31", "BFD_RELOC_SH_PCDISP8BY2", "BFD_RELOC_SH_PCDISP12BY2", + "BFD_RELOC_SH_IMM3", + "BFD_RELOC_SH_IMM3U", + "BFD_RELOC_SH_DISP12", + "BFD_RELOC_SH_DISP12BY2", + "BFD_RELOC_SH_DISP12BY4", + "BFD_RELOC_SH_DISP12BY8", + "BFD_RELOC_SH_DISP20", + "BFD_RELOC_SH_DISP20BY8", "BFD_RELOC_SH_IMM4", "BFD_RELOC_SH_IMM4BY2", "BFD_RELOC_SH_IMM4BY4", @@ -1625,6 +1639,8 @@ static const char *const bfd_reloc_code_ "BFD_RELOC_MSP430_16", "BFD_RELOC_MSP430_16_PCREL_BYTE", "BFD_RELOC_MSP430_16_BYTE", + "BFD_RELOC_MSP430_2X_PCREL", + "BFD_RELOC_MSP430_RL_PCREL", "BFD_RELOC_IQ2000_OFFSET_16", "BFD_RELOC_IQ2000_OFFSET_21", "BFD_RELOC_IQ2000_UHI16", diff -uprN binutils-2.15.91.0.2/bfd/linker.c binutils-2.15.92.0.2/bfd/linker.c --- binutils-2.15.91.0.2/bfd/linker.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/linker.c 2004-09-27 13:46:06.000000000 -0700 @@ -455,7 +455,7 @@ _bfd_link_hash_newfunc (struct bfd_hash_ /* Initialize the local fields. */ h->type = bfd_link_hash_new; - h->und_next = NULL; + h->u.undef.next = NULL; } return entry; @@ -616,9 +616,9 @@ void bfd_link_add_undef (struct bfd_link_hash_table *table, struct bfd_link_hash_entry *h) { - BFD_ASSERT (h->und_next == NULL); + BFD_ASSERT (h->u.undef.next == NULL); if (table->undefs_tail != NULL) - table->undefs_tail->und_next = h; + table->undefs_tail->u.undef.next = h; if (table->undefs == NULL) table->undefs = h; table->undefs_tail = h; @@ -990,9 +990,9 @@ _bfd_generic_link_add_archive_symbols us to lose track of whether the symbol has been referenced). */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->und_next; + *pundef = (*pundef)->u.undef.next; else - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -1015,7 +1015,7 @@ _bfd_generic_link_add_archive_symbols } if (arh == NULL) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } } @@ -1064,7 +1064,7 @@ _bfd_generic_link_add_archive_symbols } } - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; } archive_hash_table_free (&arsym_hash); @@ -1694,8 +1694,8 @@ _bfd_generic_link_add_one_symbol (struct case REF: /* A reference to a defined symbol. */ - if (h->und_next == NULL && info->hash->undefs_tail != h) - h->und_next = h; + if (h->u.undef.next == NULL && info->hash->undefs_tail != h) + h->u.undef.next = h; break; case BIG: @@ -1828,8 +1828,8 @@ _bfd_generic_link_add_one_symbol (struct && inh->u.i.link == h) { (*_bfd_error_handler) - (_("%s: indirect symbol `%s' to `%s' is a loop"), - bfd_archive_filename (abfd), name, string); + (_("%B: indirect symbol `%s' to `%s' is a loop"), + abfd, name, string); bfd_set_error (bfd_error_invalid_operation); return FALSE; } @@ -1881,8 +1881,8 @@ _bfd_generic_link_add_one_symbol (struct case REFC: /* A reference to an indirect symbol. */ - if (h->und_next == NULL && info->hash->undefs_tail != h) - h->und_next = h; + if (h->u.undef.next == NULL && info->hash->undefs_tail != h) + h->u.undef.next = h; h = h->u.i.link; cycle = TRUE; break; @@ -1897,10 +1897,10 @@ _bfd_generic_link_add_one_symbol (struct case CWARN: /* Warn if this symbol has been referenced already, otherwise add a warning. A symbol has been referenced if - the und_next field is not NULL, or it is the tail of the + the u.undef.next field is not NULL, or it is the tail of the undefined symbol list. The REF case above helps to ensure this. */ - if (h->und_next != NULL || info->hash->undefs_tail == h) + if (h->u.undef.next != NULL || info->hash->undefs_tail == h) { if (! (*info->callbacks->warning) (info, string, h->root.string, hash_entry_bfd (h), NULL, 0)) @@ -2992,14 +2992,9 @@ _bfd_generic_section_already_linked (bfd break; case SEC_LINK_DUPLICATES_ONE_ONLY: - if (s_comdat == NULL) - (*_bfd_error_handler) - (_("%s: %s: warning: ignoring duplicate section `%s'\n"), - bfd_archive_filename (abfd), name); - else - (*_bfd_error_handler) - (_("%s: %s: warning: ignoring duplicate `%s' section symbol `%s'\n"), - bfd_archive_filename (abfd), name, s_comdat->name); + (*_bfd_error_handler) + (_("%B: warning: ignoring duplicate section `%A'\n"), + abfd, sec); break; case SEC_LINK_DUPLICATES_SAME_CONTENTS: @@ -3012,8 +3007,8 @@ _bfd_generic_section_already_linked (bfd case SEC_LINK_DUPLICATES_SAME_SIZE: if (sec->size != l->sec->size) (*_bfd_error_handler) - (_("%s: %s: warning: duplicate section `%s' has different size\n"), - bfd_archive_filename (abfd), name); + (_("%B: warning: duplicate section `%A' has different size\n"), + abfd, sec); break; } diff -uprN binutils-2.15.91.0.2/bfd/pdp11.c binutils-2.15.92.0.2/bfd/pdp11.c --- binutils-2.15.91.0.2/bfd/pdp11.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/pdp11.c 2004-09-15 12:05:03.000000000 -0700 @@ -341,11 +341,6 @@ DESCRIPTION #define RELOC_SIZE 2 -struct pdp11_aout_reloc_external -{ - bfd_byte e_reloc_entry[2]; -}; - #define RELFLG 0x0001 /* pc-relative flag */ #define RTYPE 0x000e /* type mask */ #define RIDXMASK 0xfff0 /* index mask */ @@ -368,9 +363,9 @@ static void adjust_z_magic PARAMS ((bfd static void adjust_n_magic PARAMS ((bfd *, struct internal_exec *)); static int pdp11_aout_write_headers PARAMS ((bfd *, struct internal_exec *)); -void pdp11_aout_swap_reloc_out PARAMS ((bfd *, arelent *, struct pdp11_aout_reloc_external *)); +void pdp11_aout_swap_reloc_out PARAMS ((bfd *, arelent *, bfd_byte *)); void pdp11_aout_swap_reloc_in -PARAMS ((bfd *, struct pdp11_aout_reloc_external *, arelent *, +PARAMS ((bfd *, bfd_byte *, arelent *, bfd_size_type, asymbol **, bfd_size_type)); /* @@ -1672,9 +1667,8 @@ translate_to_native_sym_flags (abfd, cac /* This case occurs, e.g., for the *DEBUG* section of a COFF file. */ (*_bfd_error_handler) - ("%s: can not represent section for symbol `%s' in a.out object file format", - bfd_archive_filename (abfd), - cache_ptr->name != NULL ? cache_ptr->name : "*unknown*"); + ("%B: can not represent section for symbol `%s' in a.out object file format", + abfd, cache_ptr->name != NULL ? cache_ptr->name : "*unknown*"); bfd_set_error (bfd_error_nonrepresentable_section); return FALSE; } @@ -1700,8 +1694,8 @@ translate_to_native_sym_flags (abfd, cac else { (*_bfd_error_handler) - ("%s: can not represent section `%s' in a.out object file format", - bfd_archive_filename (abfd), bfd_get_section_name (abfd, sec)); + ("%B: can not represent section `%A' in a.out object file format", + abfd, sec); bfd_set_error (bfd_error_nonrepresentable_section); return FALSE; } @@ -2033,7 +2027,7 @@ void pdp11_aout_swap_reloc_out (abfd, g, natptr) bfd *abfd; arelent *g; - register struct pdp11_aout_reloc_external *natptr; + bfd_byte *natptr; { int r_index; int r_pcrel; @@ -2095,7 +2089,7 @@ pdp11_aout_swap_reloc_out (abfd, g, natp reloc_entry = r_index << 4 | r_type | r_pcrel; - PUT_WORD (abfd, reloc_entry, natptr->e_reloc_entry); + PUT_WORD (abfd, reloc_entry, natptr); } /* BFD deals internally with all things based from the section they're @@ -2148,7 +2142,7 @@ void pdp11_aout_swap_reloc_in (abfd, bytes, cache_ptr, offset, symbols, symcount) bfd *abfd; - struct pdp11_aout_reloc_external *bytes; + bfd_byte *bytes; arelent *cache_ptr; bfd_size_type offset; asymbol **symbols; @@ -2195,7 +2189,7 @@ NAME(aout,slurp_reloc_table) (abfd, asec sec_ptr asect; asymbol **symbols; { - struct pdp11_aout_reloc_external *rptr; + bfd_byte *rptr; bfd_size_type count; bfd_size_type reloc_size; PTR relocs; @@ -2261,16 +2255,14 @@ NAME(aout,slurp_reloc_table) (abfd, asec cache_ptr = reloc_cache; - rptr = (struct pdp11_aout_reloc_external *) relocs; + rptr = relocs; for (counter = 0; counter < count; - counter++, ((char *)rptr) += RELOC_SIZE, cache_ptr++) + counter++, rptr += RELOC_SIZE, cache_ptr++) { while (GET_WORD (abfd, (PTR)rptr) == 0) { - rptr = - (struct pdp11_aout_reloc_external *) - ((char *) rptr + RELOC_SIZE); + rptr += RELOC_SIZE; if ((char *) rptr >= (char *) relocs + reloc_size) goto done; } @@ -2323,10 +2315,9 @@ NAME(aout,squirt_out_relocs) (abfd, sect { while (count > 0) { - struct pdp11_aout_reloc_external *r; + bfd_byte *r; - r = (struct pdp11_aout_reloc_external *) - (native + (*generic)->address); + r = native + (*generic)->address; pdp11_aout_swap_reloc_out (abfd, *generic, r); count--; generic++; @@ -3355,7 +3346,7 @@ static bfd_boolean pdp11_aout_link_input PARAMS ((struct aout_final_link_info *finfo, bfd *input_bfd, asection *input_section, - struct pdp11_aout_reloc_external *relocs, + bfd_byte *relocs, bfd_size_type rel_size, bfd_byte *contents)); @@ -4446,7 +4437,7 @@ aout_link_input_section (finfo, input_bf /* Relocate the section contents. */ if (! pdp11_aout_link_input_section (finfo, input_bfd, input_section, - (struct pdp11_aout_reloc_external *) relocs, + (bfd_byte *) relocs, rel_size, finfo->contents)) return FALSE; @@ -4510,7 +4501,7 @@ pdp11_aout_link_input_section (finfo, in struct aout_final_link_info *finfo; bfd *input_bfd; asection *input_section; - struct pdp11_aout_reloc_external *relocs; + bfd_byte *relocs; bfd_size_type rel_size; bfd_byte *contents; { @@ -4525,8 +4516,8 @@ pdp11_aout_link_input_section (finfo, in struct aout_link_hash_entry **sym_hashes; int *symbol_map; bfd_size_type reloc_count; - register struct pdp11_aout_reloc_external *rel; - struct pdp11_aout_reloc_external *rel_end; + bfd_byte *rel; + bfd_byte *rel_end; output_bfd = finfo->output_bfd; check_dynamic_reloc = aout_backend_info (output_bfd)->check_dynamic_reloc; @@ -4543,8 +4534,8 @@ pdp11_aout_link_input_section (finfo, in reloc_count = rel_size / RELOC_SIZE; rel = relocs; - rel_end = (struct pdp11_aout_reloc_external *)(((char *)rel) + rel_size); - for (; rel < rel_end; ((char *)rel) += RELOC_SIZE) + rel_end = rel + rel_size; + for (; rel < rel_end; rel += RELOC_SIZE) { bfd_vma r_addr; int r_index; @@ -4652,10 +4643,10 @@ pdp11_aout_link_input_section (finfo, in } /* Write out the new r_index value. */ - reloc_entry = GET_WORD (input_bfd, rel->e_reloc_entry); + reloc_entry = GET_WORD (input_bfd, rel); reloc_entry &= RIDXMASK; reloc_entry |= r_index << 4; - PUT_WORD (input_bfd, reloc_entry, rel->e_reloc_entry); + PUT_WORD (input_bfd, reloc_entry, rel); } else { diff -uprN binutils-2.15.91.0.2/bfd/pe-i386.c binutils-2.15.92.0.2/bfd/pe-i386.c --- binutils-2.15.91.0.2/bfd/pe-i386.c 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/pe-i386.c 2004-09-27 13:46:06.000000000 -0700 @@ -34,6 +34,8 @@ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_EXACT_MATCH (".data"), \ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ +{ COFF_SECTION_NAME_EXACT_MATCH (".rdata"), \ + COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_EXACT_MATCH (".text"), \ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \ diff -uprN binutils-2.15.91.0.2/bfd/pe-mips.c binutils-2.15.92.0.2/bfd/pe-mips.c --- binutils-2.15.91.0.2/bfd/pe-mips.c 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/pe-mips.c 2004-09-15 12:05:03.000000000 -0700 @@ -1,6 +1,6 @@ /* BFD back-end for MIPS PE COFF files. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Modified from coff-i386.c by DJ Delorie, dj@cygnus.com This file is part of BFD, the Binary File Descriptor library. @@ -632,9 +632,8 @@ coff_pe_mips_relocate_section (output_bf if (info->relocatable) { - (*_bfd_error_handler) (_("\ -%s: `ld -r' not supported with PE MIPS objects\n"), - bfd_archive_filename (input_bfd)); + (*_bfd_error_handler) + (_("%B: `ld -r' not supported with PE MIPS objects\n"), input_bfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -768,8 +767,8 @@ coff_pe_mips_relocate_section (output_bf val = VMA of what we need to refer to */ -#define UI(x) (*_bfd_error_handler) (_("%s: unimplemented %s\n"), \ - bfd_archive_filename (input_bfd), x); \ +#define UI(x) (*_bfd_error_handler) (_("%B: unimplemented %s\n"), \ + input_bfd, x); \ bfd_set_error (bfd_error_bad_value); switch (rel->r_type) @@ -794,8 +793,7 @@ coff_pe_mips_relocate_section (output_bf targ = val + (tmp&0x03ffffff)*4; if ((src & 0xf0000000) != (targ & 0xf0000000)) { - (*_bfd_error_handler) (_("%s: jump too far away\n"), - bfd_archive_filename (input_bfd)); + (*_bfd_error_handler) (_("%B: jump too far away\n"), input_bfd); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -821,8 +819,8 @@ coff_pe_mips_relocate_section (output_bf targ = val + low + ((tmp & 0xffff) << 16); break; default: - (*_bfd_error_handler) (_("%s: bad pair/reflo after refhi\n"), - bfd_archive_filename (input_bfd)); + (*_bfd_error_handler) (_("%B: bad pair/reflo after refhi\n"), + input_bfd); bfd_set_error (bfd_error_bad_value); return FALSE; } diff -uprN binutils-2.15.91.0.2/bfd/pei-i386.c binutils-2.15.92.0.2/bfd/pei-i386.c --- binutils-2.15.91.0.2/bfd/pei-i386.c 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/pei-i386.c 2004-09-27 13:46:06.000000000 -0700 @@ -35,6 +35,8 @@ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_EXACT_MATCH (".data"), \ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ +{ COFF_SECTION_NAME_EXACT_MATCH (".rdata"), \ + COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_EXACT_MATCH (".text"), \ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \ { COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \ diff -uprN binutils-2.15.91.0.2/bfd/peicode.h binutils-2.15.92.0.2/bfd/peicode.h --- binutils-2.15.91.0.2/bfd/peicode.h 2004-01-14 13:07:43.000000000 -0800 +++ binutils-2.15.92.0.2/bfd/peicode.h 2004-09-15 12:05:03.000000000 -0700 @@ -1,5 +1,5 @@ /* Support for the generic parts of PE/PEI, for BFD. - Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 + Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Cygnus Solutions. @@ -784,13 +784,13 @@ pe_ILF_build_a_bfd (bfd * abfd case IMPORT_CONST: /* XXX code yet to be written. */ - _bfd_error_handler (_("%s: Unhandled import type; %x"), - bfd_archive_filename (abfd), import_type); + _bfd_error_handler (_("%B: Unhandled import type; %x"), + abfd, import_type); return FALSE; default: - _bfd_error_handler (_("%s: Unrecognised import type; %x"), - bfd_archive_filename (abfd), import_type); + _bfd_error_handler (_("%B: Unrecognised import type; %x"), + abfd, import_type); return FALSE; } @@ -803,8 +803,8 @@ pe_ILF_build_a_bfd (bfd * abfd break; default: - _bfd_error_handler (_("%s: Unrecognised import name type; %x"), - bfd_archive_filename (abfd), import_name_type); + _bfd_error_handler (_("%B: Unrecognised import name type; %x"), + abfd, import_name_type); return FALSE; } @@ -1190,9 +1190,9 @@ pe_ILF_object_p (bfd * abfd) /* We no longer support PowerPC. */ default: _bfd_error_handler - ( -_("%s: Unrecognised machine type (0x%x) in Import Library Format archive"), - bfd_archive_filename (abfd), machine); + (_("%B: Unrecognised machine type (0x%x)" + " in Import Library Format archive"), + abfd, machine); bfd_set_error (bfd_error_malformed_archive); return NULL; @@ -1202,9 +1202,9 @@ _("%s: Unrecognised machine type (0x%x) if (magic == 0) { _bfd_error_handler - ( -_("%s: Recognised but unhandled machine type (0x%x) in Import Library Format archive"), - bfd_archive_filename (abfd), machine); + (_("%B: Recognised but unhandled machine type (0x%x)" + " in Import Library Format archive"), + abfd, machine); bfd_set_error (bfd_error_wrong_format); return NULL; @@ -1220,8 +1220,7 @@ _("%s: Recognised but unhandled machine if (size == 0) { _bfd_error_handler - (_("%s: size field is zero in Import Library Format header"), - bfd_archive_filename (abfd)); + (_("%B: size field is zero in Import Library Format header"), abfd); bfd_set_error (bfd_error_malformed_archive); return NULL; @@ -1251,8 +1250,7 @@ _("%s: Recognised but unhandled machine if (ptr[size - 1] != 0 || ((unsigned long) (source_dll - ptr) >= size)) { _bfd_error_handler - (_("%s: string not null terminated in ILF object file."), - bfd_archive_filename (abfd)); + (_("%B: string not null terminated in ILF object file."), abfd); bfd_set_error (bfd_error_malformed_archive); bfd_release (abfd, ptr); return NULL; diff -uprN binutils-2.15.91.0.2/bfd/po/SRC-POTFILES.in binutils-2.15.92.0.2/bfd/po/SRC-POTFILES.in --- binutils-2.15.91.0.2/bfd/po/SRC-POTFILES.in 2004-05-27 11:26:02.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/po/SRC-POTFILES.in 2004-09-27 13:46:07.000000000 -0700 @@ -65,7 +65,9 @@ cpu-alpha.c cpu-arc.c cpu-arm.c cpu-avr.c +cpu-cr16c.c cpu-cris.c +cpu-crx.c cpu-d10v.c cpu-d30v.c cpu-dlx.c @@ -126,7 +128,9 @@ elf32-arc.c elf32-arm.h elf32-avr.c elf32.c +elf32-cr16c.c elf32-cris.c +elf32-crx.c elf32-d10v.c elf32-d30v.c elf32-dlx.c @@ -159,6 +163,7 @@ elf32-s390.c elf32-sh64.c elf32-sh64-com.c elf32-sh.c +elf32-sh-symbian.c elf32-sparc.c elf32-v850.c elf32-vax.c diff -uprN binutils-2.15.91.0.2/bfd/po/bfd.pot binutils-2.15.92.0.2/bfd/po/bfd.pot --- binutils-2.15.91.0.2/bfd/po/bfd.pot 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/po/bfd.pot 2004-09-27 13:46:07.000000000 -0700 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-03-27 15:34+1030\n" +"POT-Creation-Date: 2004-09-17 15:33+0930\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,8 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: aout-adobe.c:204 -#, c-format -msgid "%s: Unknown section type in a.out.adobe file: %x\n" +msgid "%B: Unknown section type in a.out.adobe file: %x\n" msgstr "" #: aout-cris.c:207 @@ -27,143 +26,141 @@ msgid "%s: Invalid relocation type expor msgstr "" #: aout-cris.c:251 -#, c-format -msgid "%s: Invalid relocation type imported: %d" +msgid "%B: Invalid relocation type imported: %d" msgstr "" #: aout-cris.c:262 -#, c-format -msgid "%s: Bad relocation record imported: %d" +msgid "%B: Bad relocation record imported: %d" msgstr "" -#: aoutx.h:1296 aoutx.h:1717 +#: aoutx.h:1299 aoutx.h:1720 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "" -#: aoutx.h:1683 +#: aoutx.h:1686 #, c-format msgid "" "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "" -#: aoutx.h:1685 +#: aoutx.h:1688 msgid "*unknown*" msgstr "" -#: aoutx.h:3777 +#: aoutx.h:3780 #, c-format msgid "%s: relocatable link from %s to %s not supported" msgstr "" -#: archive.c:1751 +#: archive.c:1764 msgid "Warning: writing archive was slow: rewriting timestamp\n" msgstr "" -#: archive.c:2014 +#: archive.c:2027 msgid "Reading archive file mod timestamp" msgstr "" -#: archive.c:2040 +#: archive.c:2053 msgid "Writing updated armap timestamp" msgstr "" -#: bfd.c:280 +#: bfd.c:276 msgid "No error" msgstr "" -#: bfd.c:281 +#: bfd.c:277 msgid "System call error" msgstr "" -#: bfd.c:282 +#: bfd.c:278 msgid "Invalid bfd target" msgstr "" -#: bfd.c:283 +#: bfd.c:279 msgid "File in wrong format" msgstr "" -#: bfd.c:284 +#: bfd.c:280 msgid "Archive object file in wrong format" msgstr "" -#: bfd.c:285 +#: bfd.c:281 msgid "Invalid operation" msgstr "" -#: bfd.c:286 +#: bfd.c:282 msgid "Memory exhausted" msgstr "" -#: bfd.c:287 +#: bfd.c:283 msgid "No symbols" msgstr "" -#: bfd.c:288 +#: bfd.c:284 msgid "Archive has no index; run ranlib to add one" msgstr "" -#: bfd.c:289 +#: bfd.c:285 msgid "No more archived files" msgstr "" -#: bfd.c:290 +#: bfd.c:286 msgid "Malformed archive" msgstr "" -#: bfd.c:291 +#: bfd.c:287 msgid "File format not recognized" msgstr "" -#: bfd.c:292 +#: bfd.c:288 msgid "File format is ambiguous" msgstr "" -#: bfd.c:293 +#: bfd.c:289 msgid "Section has no contents" msgstr "" -#: bfd.c:294 +#: bfd.c:290 msgid "Nonrepresentable section on output" msgstr "" -#: bfd.c:295 +#: bfd.c:291 msgid "Symbol needs debug section which does not exist" msgstr "" -#: bfd.c:296 +#: bfd.c:292 msgid "Bad value" msgstr "" -#: bfd.c:297 +#: bfd.c:293 msgid "File truncated" msgstr "" -#: bfd.c:298 +#: bfd.c:294 msgid "File too big" msgstr "" -#: bfd.c:299 +#: bfd.c:295 msgid "#" msgstr "" -#: bfd.c:687 +#: bfd.c:765 #, c-format msgid "BFD %s assertion fail %s:%d" msgstr "" -#: bfd.c:703 +#: bfd.c:781 #, c-format msgid "BFD %s internal error, aborting at %s line %d in %s\n" msgstr "" -#: bfd.c:707 +#: bfd.c:785 #, c-format msgid "BFD %s internal error, aborting at %s line %d\n" msgstr "" -#: bfd.c:709 +#: bfd.c:787 msgid "Please report this bug.\n" msgstr "" @@ -182,9 +179,8 @@ msgstr "" msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." msgstr "" -#: coff64-rs6000.c:2108 coff-rs6000.c:3615 -#, c-format -msgid "%s: symbol `%s' has unrecognized smclas %d" +#: coff64-rs6000.c:2107 coff-rs6000.c:3614 +msgid "%B: symbol `%s' has unrecognized smclas %d" msgstr "" #: coff-a29k.c:120 @@ -207,196 +203,193 @@ msgstr "" msgid "missing IHIHALF reloc" msgstr "" -#: coff-alpha.c:884 coff-alpha.c:921 coff-alpha.c:1992 coff-mips.c:1397 +#: coff-alpha.c:881 coff-alpha.c:918 coff-alpha.c:1987 coff-mips.c:985 msgid "GP relative relocation used when GP not defined" msgstr "" -#: coff-alpha.c:1488 +#: coff-alpha.c:1483 msgid "using multiple gp values" msgstr "" -#: coff-arm.c:1066 elf32-arm.h:465 -#, c-format -msgid "%s: unable to find THUMB glue '%s' for `%s'" -msgstr "" - -#: coff-arm.c:1096 elf32-arm.h:500 +#: coff-arm.c:1066 elf32-arm.h:420 #, c-format -msgid "%s: unable to find ARM glue '%s' for `%s'" +msgid "%B: unable to find THUMB glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1400 coff-arm.c:1495 elf32-arm.h:1063 elf32-arm.h:1170 +#: coff-arm.c:1096 elf32-arm.h:454 #, c-format -msgid "%s(%s): warning: interworking not enabled." +msgid "%B: unable to find ARM glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1404 elf32-arm.h:1173 +#: coff-arm.c:1400 elf32-arm.h:1114 #, c-format -msgid " first occurrence: %s: arm call to thumb" +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: arm call to thumb" msgstr "" -#: coff-arm.c:1499 elf32-arm.h:1066 +#: coff-arm.c:1490 #, c-format -msgid " first occurrence: %s: thumb call to arm" -msgstr "" - -#: coff-arm.c:1502 -msgid " consider relinking with --support-old-code enabled" +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm\n" +" consider relinking with --support-old-code enabled" msgstr "" -#: coff-arm.c:1797 cofflink.c:2987 coff-tic80.c:687 -#, c-format -msgid "%s: bad reloc address 0x%lx in section `%s'" +#: coff-arm.c:1787 cofflink.c:3008 coff-tic80.c:687 +msgid "%B: bad reloc address 0x%lx in section `%A'" msgstr "" -#: coff-arm.c:2141 -#, c-format -msgid "%s: illegal symbol index in reloc: %d" +#: coff-arm.c:2129 +msgid "%B: illegal symbol index in reloc: %d" msgstr "" -#: coff-arm.c:2274 +#: coff-arm.c:2262 #, c-format -msgid "ERROR: %s is compiled for APCS-%d, whereas %s is compiled for APCS-%d" +msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" msgstr "" -#: coff-arm.c:2289 elf32-arm.h:2482 +#: coff-arm.c:2278 elf32-arm.h:2445 #, c-format msgid "" -"ERROR: %s passes floats in float registers, whereas %s passes them in " +"ERROR: %B passes floats in float registers, whereas %B passes them in " "integer registers" msgstr "" -#: coff-arm.c:2292 elf32-arm.h:2487 +#: coff-arm.c:2281 elf32-arm.h:2449 #, c-format msgid "" -"ERROR: %s passes floats in integer registers, whereas %s passes them in " +"ERROR: %B passes floats in integer registers, whereas %B passes them in " "float registers" msgstr "" -#: coff-arm.c:2307 +#: coff-arm.c:2295 #, c-format msgid "" -"ERROR: %s is compiled as position independent code, whereas target %s is " +"ERROR: %B is compiled as position independent code, whereas target %B is " "absolute position" msgstr "" -#: coff-arm.c:2310 +#: coff-arm.c:2298 #, c-format msgid "" -"ERROR: %s is compiled as absolute position code, whereas target %s is " +"ERROR: %B is compiled as absolute position code, whereas target %B is " "position independent" msgstr "" -#: coff-arm.c:2339 elf32-arm.h:2559 +#: coff-arm.c:2326 elf32-arm.h:2514 #, c-format -msgid "Warning: %s supports interworking, whereas %s does not" +msgid "Warning: %B supports interworking, whereas %B does not" msgstr "" -#: coff-arm.c:2342 elf32-arm.h:2566 +#: coff-arm.c:2329 elf32-arm.h:2520 #, c-format -msgid "Warning: %s does not support interworking, whereas %s does" +msgid "Warning: %B does not support interworking, whereas %B does" msgstr "" -#: coff-arm.c:2369 +#: coff-arm.c:2355 #, c-format msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2377 elf32-arm.h:2621 +#: coff-arm.c:2363 elf32-arm.h:2571 #, c-format msgid " [floats passed in float registers]" msgstr "" -#: coff-arm.c:2379 +#: coff-arm.c:2365 #, c-format msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2382 elf32-arm.h:2624 +#: coff-arm.c:2368 elf32-arm.h:2574 #, c-format msgid " [position independent]" msgstr "" -#: coff-arm.c:2384 +#: coff-arm.c:2370 #, c-format msgid " [absolute position]" msgstr "" -#: coff-arm.c:2388 +#: coff-arm.c:2374 #, c-format msgid " [interworking flag not initialised]" msgstr "" -#: coff-arm.c:2390 +#: coff-arm.c:2376 #, c-format msgid " [interworking supported]" msgstr "" -#: coff-arm.c:2392 +#: coff-arm.c:2378 #, c-format msgid " [interworking not supported]" msgstr "" -#: coff-arm.c:2440 elf32-arm.h:2286 +#: coff-arm.c:2426 elf32-arm.h:2256 #, c-format msgid "" -"Warning: Not setting interworking flag of %s since it has already been " +"Warning: Not setting interworking flag of %B since it has already been " "specified as non-interworking" msgstr "" -#: coff-arm.c:2444 elf32-arm.h:2290 +#: coff-arm.c:2430 elf32-arm.h:2260 #, c-format -msgid "Warning: Clearing the interworking flag of %s due to outside request" +msgid "Warning: Clearing the interworking flag of %B due to outside request" msgstr "" -#: coffcode.h:1112 -#, c-format -msgid "%s (%s): Section flag %s (0x%x) ignored" +#: coffcode.h:859 +msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'" msgstr "" -#: coffcode.h:2224 +#. Generate a warning message rather using the 'unhandled' +#. variable as this will allow some .sys files generate by +#. other toolchains to be processed. See bugzilla issue 196. +#: coffcode.h:1075 +msgid "" +"%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s" +msgstr "" + +#: coffcode.h:1131 +msgid "%B (%s): Section flag %s (0x%x) ignored" +msgstr "" + +#: coffcode.h:2243 #, c-format msgid "Unrecognized TI COFF target id '0x%x'" msgstr "" -#: coffcode.h:4428 -#, c-format -msgid "%s: warning: line number table read failed" +#: coffcode.h:4449 +msgid "%B: warning: line number table read failed" msgstr "" -#: coffcode.h:4461 -#, c-format -msgid "%s: warning: illegal symbol index %ld in line numbers" +#: coffcode.h:4481 +msgid "%B: warning: illegal symbol index %ld in line numbers" msgstr "" -#: coffcode.h:4475 -#, c-format -msgid "%s: warning: duplicate line number information for `%s'" +#: coffcode.h:4495 +msgid "%B: warning: duplicate line number information for `%s'" msgstr "" -#: coffcode.h:4831 -#, c-format -msgid "%s: Unrecognized storage class %d for %s symbol `%s'" +#: coffcode.h:4850 +msgid "%B: Unrecognized storage class %d for %s symbol `%s'" msgstr "" -#: coffcode.h:4964 -#, c-format -msgid "warning: %s: local symbol `%s' has no section" +#: coffcode.h:4983 +msgid "warning: %B: local symbol `%s' has no section" msgstr "" -#: coffcode.h:5071 coff-i860.c:610 coff-tic4x.c:218 coff-tic54x.c:366 -#, c-format -msgid "%s: warning: illegal symbol index %ld in relocs" +#: coffcode.h:5089 coff-i860.c:610 coff-tic54x.c:367 +msgid "%B: warning: illegal symbol index %ld in relocs" msgstr "" -#: coffcode.h:5109 -#, c-format -msgid "%s: illegal relocation type %d at address 0x%lx" +#: coffcode.h:5127 +msgid "%B: illegal relocation type %d at address 0x%lx" msgstr "" #: coffgen.c:1666 -#, c-format -msgid "%s: bad string table size %lu" +msgid "%B: bad string table size %lu" msgstr "" #: coff-h8300.c:1124 @@ -413,44 +406,32 @@ msgstr "" msgid "uncertain calling convention for non-COFF symbol" msgstr "" -#: cofflink.c:506 elflink.c:3665 -#, c-format -msgid "Warning: type of symbol `%s' changed from %d to %d in %s" +#: cofflink.c:507 elflink.c:3711 +msgid "Warning: type of symbol `%s' changed from %d to %d in %B" msgstr "" -#: cofflink.c:2293 -#, c-format -msgid "%s: relocs in section `%s', but it has no contents" +#: cofflink.c:2295 +msgid "%B: relocs in section `%A', but it has no contents" msgstr "" -#: cofflink.c:2629 coffswap.h:890 +#: cofflink.c:2626 coffswap.h:890 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: cofflink.c:2638 coffswap.h:876 +#: cofflink.c:2635 coffswap.h:876 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2145 elf32-mips.c:1405 +#: coff-m68k.c:482 elf32-m68k.c:2129 msgid "unsupported reloc type" msgstr "" -#: coff-mips.c:839 elf32-mips.c:795 elf64-mips.c:1490 elfn32-mips.c:1301 +#: coff-mips.c:686 elf32-mips.c:749 elf64-mips.c:1490 elfn32-mips.c:1301 msgid "GP relative relocation when _gp not defined" msgstr "" -#. No other sections should appear in -membedded-pic -#. code. -#: coff-mips.c:2431 -msgid "reloc against unsupported section" -msgstr "" - -#: coff-mips.c:2439 -msgid "reloc not properly aligned" -msgstr "" - #: coff-rs6000.c:2789 #, c-format msgid "%s: unsupported relocation type 0x%02x" @@ -461,592 +442,582 @@ msgstr "" msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "" -#: coff-tic4x.c:170 coff-tic54x.c:281 coff-tic80.c:450 +#: coff-tic4x.c:170 coff-tic54x.c:282 coff-tic80.c:450 #, c-format msgid "Unrecognized reloc type 0x%x" msgstr "" +#: coff-tic4x.c:218 +#, c-format +msgid "%s: warning: illegal symbol index %ld in relocs" +msgstr "" + #: coff-w65.c:364 #, c-format msgid "ignoring reloc %s\n" msgstr "" -#: cpu-arm.c:196 cpu-arm.c:206 -#, c-format -msgid "ERROR: %s is compiled for the EP9312, whereas %s is compiled for XScale" +#: cpu-arm.c:197 cpu-arm.c:206 +msgid "ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale" msgstr "" -#: cpu-arm.c:344 +#: cpu-arm.c:338 #, c-format msgid "warning: unable to update contents of %s section in %s" msgstr "" -#: dwarf2.c:289 +#: dwarf2.c:290 msgid "Dwarf Error: Can't find .debug_str section." msgstr "" -#: dwarf2.c:306 +#: dwarf2.c:308 #, c-format msgid "" "Dwarf Error: DW_FORM_strp offset (%lu) greater than or equal to .debug_str " "size (%lu)." msgstr "" -#: dwarf2.c:441 +#: dwarf2.c:443 msgid "Dwarf Error: Can't find .debug_abbrev section." msgstr "" -#: dwarf2.c:456 +#: dwarf2.c:458 #, c-format msgid "" "Dwarf Error: Abbrev offset (%lu) greater than or equal to .debug_abbrev size " "(%lu)." msgstr "" -#: dwarf2.c:654 +#: dwarf2.c:656 #, c-format msgid "Dwarf Error: Invalid or unhandled FORM value: %u." msgstr "" -#: dwarf2.c:827 +#: dwarf2.c:828 msgid "Dwarf Error: mangled line number section (bad file number)." msgstr "" -#: dwarf2.c:920 +#: dwarf2.c:921 msgid "Dwarf Error: Can't find .debug_line section." msgstr "" -#: dwarf2.c:937 +#: dwarf2.c:938 #, c-format msgid "" "Dwarf Error: Line offset (%lu) greater than or equal to .debug_line size (%" "lu)." msgstr "" -#: dwarf2.c:1142 +#: dwarf2.c:1143 msgid "Dwarf Error: mangled line number section." msgstr "" -#: dwarf2.c:1352 dwarf2.c:1501 +#: dwarf2.c:1353 dwarf2.c:1502 #, c-format msgid "Dwarf Error: Could not find abbrev number %u." msgstr "" -#: dwarf2.c:1462 +#: dwarf2.c:1463 #, c-format msgid "" "Dwarf Error: found dwarf version '%u', this reader only handles version 2 " "information." msgstr "" -#: dwarf2.c:1469 +#: dwarf2.c:1470 #, c-format msgid "" "Dwarf Error: found address size '%u', this reader can not handle sizes " "greater than '%u'." msgstr "" -#: dwarf2.c:1492 +#: dwarf2.c:1493 #, c-format msgid "Dwarf Error: Bad abbrev number: %u." msgstr "" -#: ecoff.c:1339 +#: ecoff.c:1336 #, c-format msgid "Unknown basic type %d" msgstr "" -#: ecoff.c:1599 +#: ecoff.c:1596 #, c-format msgid "" "\n" " End+1 symbol: %ld" msgstr "" -#: ecoff.c:1606 ecoff.c:1609 +#: ecoff.c:1603 ecoff.c:1606 #, c-format msgid "" "\n" " First symbol: %ld" msgstr "" -#: ecoff.c:1621 +#: ecoff.c:1618 #, c-format msgid "" "\n" " End+1 symbol: %-7ld Type: %s" msgstr "" -#: ecoff.c:1628 +#: ecoff.c:1625 #, c-format msgid "" "\n" " Local symbol: %ld" msgstr "" -#: ecoff.c:1636 +#: ecoff.c:1633 #, c-format msgid "" "\n" " struct; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1641 +#: ecoff.c:1638 #, c-format msgid "" "\n" " union; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1646 +#: ecoff.c:1643 #, c-format msgid "" "\n" " enum; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1652 +#: ecoff.c:1649 #, c-format msgid "" "\n" " Type: %s" msgstr "" -#: elf32-arm.h:1416 -#, c-format -msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'." +#: elf32-arm.h:787 +msgid "%B: BE8 images only valid in big-endian mode." msgstr "" -#: elf32-arm.h:1612 -#, c-format -msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." +#: elf32-arm.h:1009 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm" msgstr "" -#: elf32-arm.h:2080 elf32-sh.c:4808 elf64-sh64.c:1596 -#, c-format -msgid "%s(%s+0x%lx): %s relocation against SEC_MERGE section" +#: elf32-arm.h:1371 +msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf32-arm.h:2172 -#, c-format -msgid "" -"%s: warning: unresolvable relocation %d against symbol `%s' from %s section" +#: elf32-arm.h:1570 +msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." +msgstr "" + +#: elf32-arm.h:2061 elf32-sh.c:4793 elf64-sh64.c:1596 +msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section" +msgstr "" + +#: elf32-arm.h:2145 +msgid "%B(%A): warning: unresolvable relocation %d against symbol `%s'" msgstr "" -#: elf32-arm.h:2224 elf32-avr.c:791 elf32-cris.c:1376 elf32-d10v.c:563 -#: elf32-fr30.c:599 elf32-frv.c:2499 elf32-h8300.c:493 elf32-i860.c:1196 -#: elf32-ip2k.c:1568 elf32-iq2000.c:666 elf32-m32r.c:3191 elf32-m68hc1x.c:1190 -#: elf32-msp430.c:489 elf32-openrisc.c:415 elf32-v850.c:1746 -#: elf32-xstormy16.c:954 elf64-mmix.c:1518 elf-m10200.c:426 elf-m10300.c:1676 +#: elf32-arm.h:2196 elf32-avr.c:791 elf32-cr16c.c:770 elf32-cris.c:1371 +#: elf32-crx.c:884 elf32-d10v.c:563 elf32-fr30.c:599 elf32-frv.c:2557 +#: elf32-h8300.c:493 elf32-i860.c:1196 elf32-ip2k.c:1558 elf32-iq2000.c:666 +#: elf32-m32r.c:3252 elf32-m68hc1x.c:1189 elf32-msp430.c:502 +#: elf32-openrisc.c:415 elf32-v850.c:1745 elf32-xstormy16.c:948 +#: elf64-mmix.c:1517 elf-m10200.c:426 elf-m10300.c:1526 msgid "internal error: out of range error" msgstr "" -#: elf32-arm.h:2228 elf32-avr.c:795 elf32-cris.c:1380 elf32-d10v.c:567 -#: elf32-fr30.c:603 elf32-frv.c:2503 elf32-h8300.c:497 elf32-i860.c:1200 -#: elf32-iq2000.c:670 elf32-m32r.c:3195 elf32-m68hc1x.c:1194 -#: elf32-msp430.c:493 elf32-openrisc.c:419 elf32-v850.c:1750 -#: elf32-xstormy16.c:958 elf64-mmix.c:1522 elf-m10200.c:430 elf-m10300.c:1680 -#: elfxx-mips.c:6459 +#: elf32-arm.h:2200 elf32-avr.c:795 elf32-cr16c.c:774 elf32-cris.c:1375 +#: elf32-crx.c:888 elf32-d10v.c:567 elf32-fr30.c:603 elf32-frv.c:2561 +#: elf32-h8300.c:497 elf32-i860.c:1200 elf32-iq2000.c:670 elf32-m32r.c:3256 +#: elf32-m68hc1x.c:1193 elf32-msp430.c:506 elf32-openrisc.c:419 +#: elf32-v850.c:1749 elf32-xstormy16.c:952 elf64-mmix.c:1521 elf-m10200.c:430 +#: elf-m10300.c:1530 elfxx-mips.c:6405 msgid "internal error: unsupported relocation error" msgstr "" -#: elf32-arm.h:2232 elf32-d10v.c:571 elf32-h8300.c:501 elf32-m32r.c:3199 -#: elf32-m68hc1x.c:1198 elf-m10200.c:434 elf-m10300.c:1684 +#: elf32-arm.h:2204 elf32-cr16c.c:778 elf32-crx.c:892 elf32-d10v.c:571 +#: elf32-h8300.c:501 elf32-m32r.c:3260 elf32-m68hc1x.c:1197 elf-m10200.c:434 +#: elf-m10300.c:1534 msgid "internal error: dangerous error" msgstr "" -#: elf32-arm.h:2236 elf32-avr.c:803 elf32-cris.c:1388 elf32-d10v.c:575 -#: elf32-fr30.c:611 elf32-frv.c:2511 elf32-h8300.c:505 elf32-i860.c:1208 -#: elf32-ip2k.c:1583 elf32-iq2000.c:678 elf32-m32r.c:3203 elf32-m68hc1x.c:1202 -#: elf32-msp430.c:501 elf32-openrisc.c:427 elf32-v850.c:1770 -#: elf32-xstormy16.c:966 elf64-mmix.c:1530 elf-m10200.c:438 elf-m10300.c:1688 +#: elf32-arm.h:2208 elf32-avr.c:803 elf32-cr16c.c:782 elf32-cris.c:1383 +#: elf32-crx.c:896 elf32-d10v.c:575 elf32-fr30.c:611 elf32-frv.c:2569 +#: elf32-h8300.c:505 elf32-i860.c:1208 elf32-ip2k.c:1573 elf32-iq2000.c:678 +#: elf32-m32r.c:3264 elf32-m68hc1x.c:1201 elf32-msp430.c:514 +#: elf32-openrisc.c:427 elf32-v850.c:1769 elf32-xstormy16.c:960 +#: elf64-mmix.c:1529 elf-m10200.c:438 elf-m10300.c:1538 msgid "internal error: unknown error" msgstr "" -#: elf32-arm.h:2338 -#, c-format +#: elf32-arm.h:2306 msgid "" -"Warning: Clearing the interworking flag of %s because non-interworking code " -"in %s has been linked with it" +"Warning: Clearing the interworking flag of %B because non-interworking code " +"in %B has been linked with it" msgstr "" -#: elf32-arm.h:2456 -#, c-format +#: elf32-arm.h:2421 msgid "" -"ERROR: %s is compiled for EABI version %d, whereas %s is compiled for " +"ERROR: %B is compiled for EABI version %d, whereas %B is compiled for " "version %d" msgstr "" -#: elf32-arm.h:2470 -#, c-format -msgid "ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d" +#: elf32-arm.h:2434 +msgid "ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" msgstr "" -#: elf32-arm.h:2498 -#, c-format -msgid "ERROR: %s uses VFP instructions, whereas %s does not" +#: elf32-arm.h:2459 +msgid "ERROR: %B uses VFP instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2503 -#, c-format -msgid "ERROR: %s uses FPA instructions, whereas %s does not" +#: elf32-arm.h:2463 +msgid "ERROR: %B uses FPA instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2514 -#, c-format -msgid "ERROR: %s uses Maverick instructions, whereas %s does not" +#: elf32-arm.h:2473 +msgid "ERROR: %B uses Maverick instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2519 -#, c-format -msgid "ERROR: %s does not use Maverick instructions, whereas %s does" +#: elf32-arm.h:2477 +msgid "ERROR: %B does not use Maverick instructions, whereas %B does" msgstr "" -#: elf32-arm.h:2539 -#, c-format -msgid "ERROR: %s uses software FP, whereas %s uses hardware FP" +#: elf32-arm.h:2496 +msgid "ERROR: %B uses software FP, whereas %B uses hardware FP" msgstr "" -#: elf32-arm.h:2544 -#, c-format -msgid "ERROR: %s uses hardware FP, whereas %s uses software FP" +#: elf32-arm.h:2500 +msgid "ERROR: %B uses hardware FP, whereas %B uses software FP" msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. #. Ignore init flag - it may not be set, despite the flags field containing valid data. -#: elf32-arm.h:2597 elf32-cris.c:2980 elf32-m68hc1x.c:1338 elf32-m68k.c:397 -#: elf32-vax.c:546 elfxx-mips.c:9168 +#: elf32-arm.h:2547 elf32-cris.c:2967 elf32-m68hc1x.c:1333 elf32-m68k.c:397 +#: elf32-vax.c:546 elfxx-mips.c:9099 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.h:2606 +#: elf32-arm.h:2556 #, c-format msgid " [interworking enabled]" msgstr "" -#: elf32-arm.h:2614 +#: elf32-arm.h:2564 #, c-format msgid " [VFP float format]" msgstr "" -#: elf32-arm.h:2616 +#: elf32-arm.h:2566 #, c-format msgid " [Maverick float format]" msgstr "" -#: elf32-arm.h:2618 +#: elf32-arm.h:2568 #, c-format msgid " [FPA float format]" msgstr "" -#: elf32-arm.h:2627 +#: elf32-arm.h:2577 #, c-format msgid " [new ABI]" msgstr "" -#: elf32-arm.h:2630 +#: elf32-arm.h:2580 #, c-format msgid " [old ABI]" msgstr "" -#: elf32-arm.h:2633 +#: elf32-arm.h:2583 #, c-format msgid " [software FP]" msgstr "" -#: elf32-arm.h:2642 +#: elf32-arm.h:2592 #, c-format msgid " [Version1 EABI]" msgstr "" -#: elf32-arm.h:2645 elf32-arm.h:2656 +#: elf32-arm.h:2595 elf32-arm.h:2606 #, c-format msgid " [sorted symbol table]" msgstr "" -#: elf32-arm.h:2647 elf32-arm.h:2658 +#: elf32-arm.h:2597 elf32-arm.h:2608 #, c-format msgid " [unsorted symbol table]" msgstr "" -#: elf32-arm.h:2653 +#: elf32-arm.h:2603 #, c-format msgid " [Version2 EABI]" msgstr "" -#: elf32-arm.h:2661 +#: elf32-arm.h:2611 #, c-format msgid " [dynamic symbols use segment index]" msgstr "" -#: elf32-arm.h:2664 +#: elf32-arm.h:2614 #, c-format msgid " [mapping symbols precede others]" msgstr "" -#: elf32-arm.h:2671 +#: elf32-arm.h:2621 #, c-format msgid " [Version3 EABI]" msgstr "" -#: elf32-arm.h:2674 +#: elf32-arm.h:2624 #, c-format msgid " [BE8]" msgstr "" -#: elf32-arm.h:2677 +#: elf32-arm.h:2627 #, c-format msgid " [LE8]" msgstr "" -#: elf32-arm.h:2683 +#: elf32-arm.h:2633 #, c-format msgid " " msgstr "" -#: elf32-arm.h:2690 +#: elf32-arm.h:2640 #, c-format msgid " [relocatable executable]" msgstr "" -#: elf32-arm.h:2693 +#: elf32-arm.h:2643 #, c-format msgid " [has entry point]" msgstr "" -#: elf32-arm.h:2698 +#: elf32-arm.h:2648 #, c-format msgid "" msgstr "" -#: elf32-avr.c:799 elf32-cris.c:1384 elf32-fr30.c:607 elf32-frv.c:2507 -#: elf32-i860.c:1204 elf32-ip2k.c:1579 elf32-iq2000.c:674 elf32-msp430.c:497 -#: elf32-openrisc.c:423 elf32-v850.c:1754 elf32-xstormy16.c:962 -#: elf64-mmix.c:1526 +#: elf32-avr.c:799 elf32-cris.c:1379 elf32-fr30.c:607 elf32-frv.c:2565 +#: elf32-i860.c:1204 elf32-ip2k.c:1569 elf32-iq2000.c:674 elf32-msp430.c:510 +#: elf32-openrisc.c:423 elf32-v850.c:1753 elf32-xstormy16.c:956 +#: elf64-mmix.c:1525 msgid "internal error: dangerous relocation" msgstr "" -#: elf32-cris.c:921 -#, c-format -msgid "%s: unresolvable relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:920 +msgid "%B(%A): unresolvable relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:978 -#, c-format -msgid "" -"%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:975 +msgid "%B(%A): No PLT nor GOT for relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:980 -#, c-format -msgid "%s: No PLT for relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:977 +msgid "%B(%A): No PLT for relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:984 elf32-cris.c:1117 +#: elf32-cris.c:983 elf32-cris.c:1115 msgid "[whose name is lost]" msgstr "" -#: elf32-cris.c:1106 -#, c-format -msgid "" -"%s: relocation %s with non-zero addend %d against local symbol from %s " -"section" +#: elf32-cris.c:1101 +msgid "%B(%A): relocation %s with non-zero addend %d against local symbol" msgstr "" -#: elf32-cris.c:1113 -#, c-format -msgid "" -"%s: relocation %s with non-zero addend %d against symbol `%s' from %s section" +#: elf32-cris.c:1109 +msgid "%B(%A): relocation %s with non-zero addend %d against symbol `%s'" msgstr "" -#: elf32-cris.c:1138 -#, c-format -msgid "" -"%s: relocation %s is not allowed for global symbol: `%s' from %s section" +#: elf32-cris.c:1135 +msgid "%B(%A): relocation %s is not allowed for global symbol: `%s'" msgstr "" -#: elf32-cris.c:1153 -#, c-format -msgid "%s: relocation %s in section %s with no GOT created" +#: elf32-cris.c:1150 +msgid "%B: relocation %s in section %A with no GOT created" msgstr "" -#: elf32-cris.c:1272 -#, c-format -msgid "%s: Internal inconsistency; no relocation section %s" +#: elf32-cris.c:1268 +msgid "%B: Internal inconsistency; no relocation section %s" msgstr "" -#: elf32-cris.c:2502 -#, c-format +#: elf32-cris.c:2489 msgid "" -"%s, section %s:\n" +"%B, section %A:\n" " relocation %s should not be used in a shared object; recompile with -fPIC" msgstr "" -#: elf32-cris.c:2983 +#: elf32-cris.c:2970 #, c-format msgid " [symbols have a _ prefix]" msgstr "" -#: elf32-cris.c:3022 -#, c-format -msgid "%s: uses _-prefixed symbols, but writing file with non-prefixed symbols" +#: elf32-cris.c:3009 +msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols" msgstr "" -#: elf32-cris.c:3023 -#, c-format -msgid "%s: uses non-prefixed symbols, but writing file with _-prefixed symbols" +#: elf32-cris.c:3010 +msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols" msgstr "" -#: elf32-frv.c:2013 -msgid "Dynamic relocation references symbol with nonzero addend" +#: elf32-frv.c:2045 +msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend" msgstr "" -#: elf32-frv.c:2026 +#: elf32-frv.c:2059 msgid "relocation references symbol not defined in the module" msgstr "" -#: elf32-frv.c:2120 +#: elf32-frv.c:2155 msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend" msgstr "" -#: elf32-frv.c:2158 elf32-frv.c:2257 +#: elf32-frv.c:2194 elf32-frv.c:2307 msgid "cannot emit fixups in read-only section" msgstr "" -#: elf32-frv.c:2181 elf32-frv.c:2294 +#: elf32-frv.c:2220 elf32-frv.c:2347 msgid "cannot emit dynamic relocations in read-only section" msgstr "" -#: elf32-frv.c:2216 +#: elf32-frv.c:2265 msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend" msgstr "" -#: elf32-frv.c:2386 +#: elf32-frv.c:2444 msgid "relocations between different segments are not supported" msgstr "" -#: elf32-frv.c:2387 +#: elf32-frv.c:2445 msgid "warning: relocation references a different segment" msgstr "" -#: elf32-frv.c:4390 +#: elf32-frv.c:4236 +msgid "%B: unsupported relocation type %i" +msgstr "" + +#: elf32-frv.c:4554 #, c-format msgid "" "%s: compiled with %s and linked with modules that use non-pic relocations" msgstr "" -#: elf32-frv.c:4443 elf32-iq2000.c:862 +#: elf32-frv.c:4607 elf32-iq2000.c:862 #, c-format msgid "%s: compiled with %s and linked with modules compiled with %s" msgstr "" -#: elf32-frv.c:4455 +#: elf32-frv.c:4619 #, c-format msgid "" "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%" "lx)" msgstr "" -#: elf32-frv.c:4491 elf32-iq2000.c:900 +#: elf32-frv.c:4640 #, c-format -msgid "private flags = 0x%lx:" +msgid "%s: cannot link non-fdpic object file into fdpic executable" msgstr "" -#: elf32-gen.c:83 elf64-gen.c:83 +#: elf32-frv.c:4644 #, c-format -msgid "%s: Relocations in generic ELF (EM: %d)" +msgid "%s: cannot link fdpic object file into non-fdpic executable" msgstr "" -#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3188 +#: elf32-frv.c:4669 elf32-iq2000.c:900 #, c-format -msgid "%s: cannot create stub entry %s" +msgid "private flags = 0x%lx:" msgstr "" -#: elf32-hppa.c:795 elf32-hppa.c:3315 -#, c-format -msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections" +#: elf32-gen.c:83 elf64-gen.c:83 +msgid "%B: Relocations in generic ELF (EM: %d)" msgstr "" -#: elf32-hppa.c:1167 elf64-x86-64.c:665 elf64-x86-64.c:790 -#, c-format +#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3635 +msgid "%B: cannot create stub entry %s" +msgstr "" + +#: elf32-hppa.c:795 elf32-hppa.c:3317 +msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections" +msgstr "" + +#: elf32-hppa.c:1176 msgid "" -"%s: relocation %s can not be used when making a shared object; recompile " +"%B: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1187 -#, c-format +#: elf32-hppa.c:1196 msgid "" -"%s: relocation %s should not be used when making a shared object; recompile " +"%B: relocation %s should not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1377 +#: elf32-hppa.c:1384 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:2572 -#, c-format -msgid "%s: duplicate export stub %s" +#: elf32-hppa.c:2573 +msgid "%B: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3162 -#, c-format +#: elf32-hppa.c:3164 msgid "" -"%s(%s+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" +"%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" msgstr "" -#: elf32-hppa.c:3192 -#, c-format -msgid "%s(%s+0x%lx): fixing %s" +#: elf32-hppa.c:3194 +msgid "%B(%A+0x%lx): fixing %s" msgstr "" -#: elf32-hppa.c:3810 -#, c-format -msgid "%s(%s+0x%lx): cannot handle %s for %s" +#: elf32-hppa.c:3809 +msgid "%B(%A+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4103 +#: elf32-hppa.c:4102 msgid ".got section not immediately after .plt section" msgstr "" #: elf32-i386.c:326 -#, c-format -msgid "%s: invalid relocation type %d" +msgid "%B: invalid relocation type %d" msgstr "" -#: elf32-i386.c:864 elf32-s390.c:983 elf32-sparc.c:916 elf32-xtensa.c:641 -#: elf64-s390.c:936 elf64-x86-64.c:643 -#, c-format -msgid "%s: bad symbol index: %d" +#: elf32-i386.c:865 elf32-s390.c:984 elf32-sparc.c:916 elf32-xtensa.c:644 +#: elf64-s390.c:937 elf64-x86-64.c:645 +msgid "%B: bad symbol index: %d" msgstr "" -#: elf32-i386.c:972 elf32-s390.c:1161 elf32-sh.c:6590 elf32-sparc.c:1040 -#: elf64-s390.c:1122 -#, c-format -msgid "%s: `%s' accessed both as normal and thread local symbol" +#: elf32-i386.c:973 elf32-s390.c:1161 elf32-sh.c:6568 elf32-sparc.c:1039 +#: elf64-s390.c:1123 +msgid "%B: `%s' accessed both as normal and thread local symbol" msgstr "" -#: elf32-i386.c:1089 elf32-s390.c:1272 elf64-ppc.c:4036 elf64-s390.c:1236 -#: elf64-x86-64.c:879 -#, c-format -msgid "%s: bad relocation section name `%s'" +#: elf32-i386.c:1088 elf32-s390.c:1270 elf64-ppc.c:4616 elf64-s390.c:1235 +#: elf64-x86-64.c:881 +msgid "%B: bad relocation section name `%s'" msgstr "" -#: elf32-i386.c:2889 elf32-m68k.c:1709 elf32-s390.c:2996 elf32-sparc.c:2857 -#: elf32-xtensa.c:2106 elf64-s390.c:2992 elf64-sparc.c:2620 -#: elf64-x86-64.c:2389 -#, c-format -msgid "%s(%s+0x%lx): unresolvable relocation against symbol `%s'" +#: elf32-i386.c:2040 +msgid "%B: unrecognized relocation (0x%x) in section `%A'" msgstr "" -#: elf32-i386.c:2928 elf32-m68k.c:1748 elf32-s390.c:3046 elf64-s390.c:3042 -#: elf64-x86-64.c:2427 -#, c-format -msgid "%s(%s+0x%lx): reloc against `%s': error %d" +#: elf32-i386.c:2912 elf32-m68k.c:1702 elf32-s390.c:2989 elf32-sparc.c:2845 +#: elf32-xtensa.c:2105 elf64-s390.c:2986 elf64-sparc.c:2615 +#: elf64-x86-64.c:2403 +msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" +msgstr "" + +#: elf32-i386.c:2951 elf32-m68k.c:1741 elf32-s390.c:3039 elf64-s390.c:3036 +#: elf64-x86-64.c:2446 +msgid "%B(%A+0x%lx): reloc against `%s': error %d" msgstr "" #: elf32-ip2k.c:565 elf32-ip2k.c:571 elf32-ip2k.c:734 elf32-ip2k.c:740 @@ -1058,155 +1029,151 @@ msgstr "" msgid "ip2k relaxer: switch table header corrupt." msgstr "" -#: elf32-ip2k.c:1395 +#: elf32-ip2k.c:1385 #, c-format msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "" -#: elf32-ip2k.c:1409 +#: elf32-ip2k.c:1399 #, c-format msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "" #. Only if it's not an unresolved symbol. -#: elf32-ip2k.c:1575 +#: elf32-ip2k.c:1565 msgid "unsupported relocation between data/insn address spaces" msgstr "" -#: elf32-iq2000.c:874 elf32-m68hc1x.c:1312 elf32-ppc.c:2293 elf64-sparc.c:3028 -#: elfxx-mips.c:9129 +#: elf32-iq2000.c:874 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-m32r.c:1487 +#: elf32-m32r.c:1532 msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-m32r.c:2564 elf64-alpha.c:4199 elf64-alpha.c:4325 elf32-ia64.c:3921 -#: elf64-ia64.c:3921 -#, c-format -msgid "%s: unknown relocation type %d" +#: elf32-m32r.c:2606 elf64-alpha.c:4179 elf64-alpha.c:4305 elf32-ia64.c:3905 +#: elf64-ia64.c:3905 +msgid "%B: unknown relocation type %d" msgstr "" -#: elf32-m32r.c:2753 elf64-sh64.c:1689 elf-hppa.h:1406 elf-hppa.h:1433 -#: elf-hppa.h:1449 elf-m10300.c:1631 +#: elf32-m32r.c:2791 elf64-sh64.c:1685 elf-m10300.c:1481 #, c-format msgid "" "%s: warning: unresolvable relocation against symbol `%s' from %s section" msgstr "" -#: elf32-m32r.c:3128 -#, c-format -msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)" +#: elf32-m32r.c:3189 +msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" msgstr "" -#: elf32-m32r.c:4211 -#, c-format -msgid "%s: Instruction set mismatch with previous modules" +#: elf32-m32r.c:4256 +msgid "%B: Instruction set mismatch with previous modules" msgstr "" -#: elf32-m32r.c:4234 +#: elf32-m32r.c:4278 #, c-format msgid "private flags = %lx" msgstr "" -#: elf32-m32r.c:4239 +#: elf32-m32r.c:4283 #, c-format msgid ": m32r instructions" msgstr "" -#: elf32-m32r.c:4240 +#: elf32-m32r.c:4284 #, c-format msgid ": m32rx instructions" msgstr "" -#: elf32-m32r.c:4241 +#: elf32-m32r.c:4285 #, c-format msgid ": m32r2 instructions" msgstr "" -#: elf32-m68hc1x.c:1102 +#: elf32-m68hc1x.c:1101 #, c-format msgid "" "Reference to the far symbol `%s' using a wrong relocation may result in " "incorrect execution" msgstr "" -#: elf32-m68hc1x.c:1125 +#: elf32-m68hc1x.c:1124 #, c-format msgid "" "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked " "address [%lx:%04lx] (%lx)" msgstr "" -#: elf32-m68hc1x.c:1144 +#: elf32-m68hc1x.c:1143 #, c-format msgid "" "reference to a banked address [%lx:%04lx] in the normal address space at %" "04lx" msgstr "" -#: elf32-m68hc1x.c:1277 -#, c-format +#: elf32-m68hc1x.c:1276 msgid "" -"%s: linking files compiled for 16-bit integers (-mshort) and others for 32-" +"%B: linking files compiled for 16-bit integers (-mshort) and others for 32-" "bit integers" msgstr "" -#: elf32-m68hc1x.c:1285 -#, c-format +#: elf32-m68hc1x.c:1283 msgid "" -"%s: linking files compiled for 32-bit double (-fshort-double) and others for " +"%B: linking files compiled for 32-bit double (-fshort-double) and others for " "64-bit double" msgstr "" -#: elf32-m68hc1x.c:1295 -#, c-format -msgid "%s: linking files compiled for HCS12 with others compiled for HC12" +#: elf32-m68hc1x.c:1292 +msgid "%B: linking files compiled for HCS12 with others compiled for HC12" msgstr "" -#: elf32-m68hc1x.c:1341 +#: elf32-m68hc1x.c:1308 elf32-ppc.c:2321 elf64-sparc.c:3016 elfxx-mips.c:9060 +msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" +msgstr "" + +#: elf32-m68hc1x.c:1336 #, c-format msgid "[abi=32-bit int, " msgstr "" -#: elf32-m68hc1x.c:1343 +#: elf32-m68hc1x.c:1338 #, c-format msgid "[abi=16-bit int, " msgstr "" -#: elf32-m68hc1x.c:1346 +#: elf32-m68hc1x.c:1341 #, c-format msgid "64-bit double, " msgstr "" -#: elf32-m68hc1x.c:1348 +#: elf32-m68hc1x.c:1343 #, c-format msgid "32-bit double, " msgstr "" -#: elf32-m68hc1x.c:1351 +#: elf32-m68hc1x.c:1346 #, c-format msgid "cpu=HC11]" msgstr "" -#: elf32-m68hc1x.c:1353 +#: elf32-m68hc1x.c:1348 #, c-format msgid "cpu=HCS12]" msgstr "" -#: elf32-m68hc1x.c:1355 +#: elf32-m68hc1x.c:1350 #, c-format msgid "cpu=HC12]" msgstr "" -#: elf32-m68hc1x.c:1358 +#: elf32-m68hc1x.c:1353 #, c-format msgid " [memory=bank-model]" msgstr "" -#: elf32-m68hc1x.c:1360 +#: elf32-m68hc1x.c:1355 #, c-format msgid " [memory=flat]" msgstr "" @@ -1221,320 +1188,299 @@ msgstr "" msgid " [m68000]" msgstr "" -#: elf32-mcore.c:353 elf32-mcore.c:456 -#, c-format -msgid "%s: Relocation %s (%d) is not currently supported.\n" +#: elf32-mcore.c:353 elf32-mcore.c:455 +msgid "%B: Relocation %s (%d) is not currently supported.\n" msgstr "" #: elf32-mcore.c:441 -#, c-format -msgid "%s: Unknown relocation type %d\n" +msgid "%B: Unknown relocation type %d\n" msgstr "" -#: elf32-mips.c:968 elf64-mips.c:1693 elfn32-mips.c:1488 +#: elf32-mips.c:922 elf64-mips.c:1693 elfn32-mips.c:1488 #, c-format msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-ppc.c:2174 +#: elf32-ppc.c:2204 #, c-format msgid "generic linker can't handle %s" msgstr "" -#: elf32-ppc.c:2256 -#, c-format +#: elf32-ppc.c:2286 msgid "" -"%s: compiled with -mrelocatable and linked with modules compiled normally" +"%B: compiled with -mrelocatable and linked with modules compiled normally" msgstr "" -#: elf32-ppc.c:2265 -#, c-format +#: elf32-ppc.c:2294 msgid "" -"%s: compiled normally and linked with modules compiled with -mrelocatable" +"%B: compiled normally and linked with modules compiled with -mrelocatable" msgstr "" -#: elf32-ppc.c:3534 -#, c-format -msgid "%s: relocation %s cannot be used when making a shared object" +#: elf32-ppc.c:3558 +msgid "%B: relocation %s cannot be used when making a shared object" msgstr "" -#: elf32-ppc.c:3740 -#, c-format -msgid "%s(%s+0x%lx): %s reloc against local symbol" +#. It does not make sense to have a procedure linkage +#. table entry for a local symbol. +#: elf32-ppc.c:3763 +msgid "%B(%A+0x%lx): %s reloc against local symbol" msgstr "" -#: elf32-ppc.c:4945 elf64-ppc.c:8022 -#, c-format -msgid "%s: unknown relocation type %d for symbol %s" +#: elf32-ppc.c:4964 elf64-ppc.c:9259 +msgid "%B: unknown relocation type %d for symbol %s" msgstr "" -#: elf32-ppc.c:5196 -#, c-format -msgid "%s(%s+0x%lx): non-zero addend on %s reloc against `%s'" +#: elf32-ppc.c:5213 +msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'" msgstr "" -#: elf32-ppc.c:5507 elf32-ppc.c:5533 elf32-ppc.c:5592 -#, c-format +#: elf32-ppc.c:5524 elf32-ppc.c:5550 elf32-ppc.c:5609 msgid "" -"%s: the target (%s) of a %s relocation is in the wrong output section (%s)" +"%B: the target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "" -#: elf32-ppc.c:5647 -#, c-format -msgid "%s: relocation %s is not yet supported for symbol %s." +#: elf32-ppc.c:5664 +msgid "%B: relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-ppc.c:5702 elf64-ppc.c:8694 -#, c-format -msgid "%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'" +#: elf32-ppc.c:5719 elf64-ppc.c:9898 +msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" msgstr "" -#: elf32-ppc.c:5752 elf64-ppc.c:8740 -#, c-format -msgid "%s(%s+0x%lx): %s reloc against `%s': error %d" +#: elf32-ppc.c:5769 elf64-ppc.c:9944 +msgid "%B(%A+0x%lx): %s reloc against `%s': error %d" msgstr "" -#: elf32-ppc.c:5996 -#, c-format -msgid "corrupt or empty %s section in %s" +#: elf32-ppc.c:6012 +msgid "corrupt or empty %s section in %B" msgstr "" -#: elf32-ppc.c:6003 -#, c-format -msgid "unable to read in %s section from %s" +#: elf32-ppc.c:6019 +msgid "unable to read in %s section from %B" msgstr "" -#: elf32-ppc.c:6009 -#, c-format -msgid "corrupt %s section in %s" +#: elf32-ppc.c:6025 +msgid "corrupt %s section in %B" msgstr "" -#: elf32-ppc.c:6052 -#, c-format -msgid "warning: unable to set size of %s section in %s" +#: elf32-ppc.c:6068 +msgid "warning: unable to set size of %s section in %B" msgstr "" -#: elf32-ppc.c:6102 +#: elf32-ppc.c:6117 msgid "failed to allocate space for new APUinfo section." msgstr "" -#: elf32-ppc.c:6121 +#: elf32-ppc.c:6136 msgid "failed to compute new APUinfo section." msgstr "" -#: elf32-ppc.c:6124 +#: elf32-ppc.c:6139 msgid "failed to install new APUinfo section." msgstr "" -#: elf32-s390.c:2234 elf64-s390.c:2204 -#, c-format -msgid "%s(%s+0x%lx): invalid instruction for TLS relocation %s" +#: elf32-s390.c:2230 elf64-s390.c:2201 +msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s" msgstr "" -#: elf32-sh64.c:215 elf64-sh64.c:2383 +#: elf32-sh64.c:217 elf64-sh64.c:2377 #, c-format msgid "%s: compiled as 32-bit object and %s is 64-bit" msgstr "" -#: elf32-sh64.c:218 elf64-sh64.c:2386 +#: elf32-sh64.c:220 elf64-sh64.c:2380 #, c-format msgid "%s: compiled as 64-bit object and %s is 32-bit" msgstr "" -#: elf32-sh64.c:220 elf64-sh64.c:2388 +#: elf32-sh64.c:222 elf64-sh64.c:2382 #, c-format msgid "%s: object size does not match that of target %s" msgstr "" -#: elf32-sh64.c:442 elf64-sh64.c:2955 +#: elf32-sh64.c:444 elf64-sh64.c:2948 #, c-format msgid "%s: encountered datalabel symbol in input" msgstr "" -#: elf32-sh64.c:519 +#: elf32-sh64.c:521 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" msgstr "" -#: elf32-sh64.c:522 +#: elf32-sh64.c:524 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" msgstr "" -#: elf32-sh64.c:540 +#: elf32-sh64.c:542 #, c-format msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16" msgstr "" -#: elf32-sh64.c:589 elf64-sh64.c:1736 +#: elf32-sh64.c:591 elf64-sh64.c:1732 #, c-format msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n" msgstr "" -#: elf32-sh64.c:670 +#: elf32-sh64.c:667 #, c-format msgid "%s: could not write out added .cranges entries" msgstr "" -#: elf32-sh64.c:732 +#: elf32-sh64.c:727 #, c-format msgid "%s: could not write out sorted .cranges entries" msgstr "" -#: elf32-sh.c:2252 -#, c-format -msgid "%s: 0x%lx: warning: bad R_SH_USES offset" +#: elf32-sh.c:2245 +msgid "%B: 0x%lx: warning: bad R_SH_USES offset" msgstr "" -#: elf32-sh.c:2264 -#, c-format -msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" +#: elf32-sh.c:2257 +msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" msgstr "" -#: elf32-sh.c:2281 -#, c-format -msgid "%s: 0x%lx: warning: bad R_SH_USES load offset" +#: elf32-sh.c:2274 +msgid "%B: 0x%lx: warning: bad R_SH_USES load offset" msgstr "" -#: elf32-sh.c:2296 -#, c-format -msgid "%s: 0x%lx: warning: could not find expected reloc" +#: elf32-sh.c:2289 +msgid "%B: 0x%lx: warning: could not find expected reloc" msgstr "" -#: elf32-sh.c:2324 -#, c-format -msgid "%s: 0x%lx: warning: symbol in unexpected section" +#: elf32-sh.c:2317 +msgid "%B: 0x%lx: warning: symbol in unexpected section" msgstr "" -#: elf32-sh.c:2449 -#, c-format -msgid "%s: 0x%lx: warning: could not find expected COUNT reloc" +#: elf32-sh.c:2442 +msgid "%B: 0x%lx: warning: could not find expected COUNT reloc" msgstr "" -#: elf32-sh.c:2458 -#, c-format -msgid "%s: 0x%lx: warning: bad count" +#: elf32-sh.c:2451 +msgid "%B: 0x%lx: warning: bad count" msgstr "" -#: elf32-sh.c:2858 elf32-sh.c:3227 -#, c-format -msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" +#: elf32-sh.c:2846 elf32-sh.c:3216 +msgid "%B: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" -#: elf32-sh.c:4756 elf64-sh64.c:1568 +#: elf32-sh.c:4741 elf64-sh64.c:1568 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" msgstr "" -#: elf32-sh.c:4913 -#, c-format -msgid "%s: unresolvable relocation against symbol `%s' from %s section" +#: elf32-sh.c:4892 +msgid "%B(%A): unresolvable relocation against symbol `%s'" msgstr "" -#: elf32-sh.c:4984 -#, c-format -msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation" +#: elf32-sh.c:4962 +msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "" -#: elf32-sh.c:5017 elf32-sh.c:5032 -#, c-format -msgid "%s: 0x%lx: fatal: unaligned %s relocation 0x%lx" +#: elf32-sh.c:4995 elf32-sh.c:5010 +msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx" msgstr "" -#: elf32-sh.c:5046 -#, c-format -msgid "%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" +#: elf32-sh.c:5024 +msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" msgstr "" -#: elf32-sh.c:5060 -#, c-format -msgid "%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" +#: elf32-sh.c:5038 +msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" msgstr "" -#: elf32-sh.c:6802 elf64-alpha.c:4744 -#, c-format -msgid "%s: TLS local exec code cannot be linked into shared objects" +#: elf32-sh.c:6779 elf64-alpha.c:4723 +msgid "%B: TLS local exec code cannot be linked into shared objects" msgstr "" -#: elf32-sparc.c:2499 elf64-sparc.c:2270 -#, c-format -msgid "%s: probably compiled without -fPIC?" +#: elf32-sh-symbian.c:128 +msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS" msgstr "" -#: elf32-sparc.c:3325 -#, c-format -msgid "%s: compiled for a 64 bit system and target is 32 bit" +#: elf32-sh-symbian.c:380 +msgid "%B: Unrecognised .directive command: %s" msgstr "" -#: elf32-sparc.c:3339 -#, c-format -msgid "%s: linking little endian files with big endian files" +#: elf32-sh-symbian.c:498 +msgid "%B: Failed to add renamed symbol %s" +msgstr "" + +#: elf32-sparc.c:2487 elf64-sparc.c:2271 +msgid "%B: probably compiled without -fPIC?" msgstr "" -#: elf32-v850.c:753 +#: elf32-sparc.c:3309 +msgid "%B: compiled for a 64 bit system and target is 32 bit" +msgstr "" + +#: elf32-sparc.c:3322 +msgid "%B: linking little endian files with big endian files" +msgstr "" + +#: elf32-v850.c:752 #, c-format msgid "Variable `%s' cannot occupy in multiple small data regions" msgstr "" -#: elf32-v850.c:756 +#: elf32-v850.c:755 #, c-format msgid "" "Variable `%s' can only be in one of the small, zero, and tiny data regions" msgstr "" -#: elf32-v850.c:759 +#: elf32-v850.c:758 #, c-format msgid "" "Variable `%s' cannot be in both small and zero data regions simultaneously" msgstr "" -#: elf32-v850.c:762 +#: elf32-v850.c:761 #, c-format msgid "" "Variable `%s' cannot be in both small and tiny data regions simultaneously" msgstr "" -#: elf32-v850.c:765 +#: elf32-v850.c:764 #, c-format msgid "" "Variable `%s' cannot be in both zero and tiny data regions simultaneously" msgstr "" -#: elf32-v850.c:1144 +#: elf32-v850.c:1143 #, c-format msgid "FAILED to find previous HI16 reloc\n" msgstr "" -#: elf32-v850.c:1758 +#: elf32-v850.c:1757 msgid "could not locate special linker symbol __gp" msgstr "" -#: elf32-v850.c:1762 +#: elf32-v850.c:1761 msgid "could not locate special linker symbol __ep" msgstr "" -#: elf32-v850.c:1766 +#: elf32-v850.c:1765 msgid "could not locate special linker symbol __ctbp" msgstr "" -#: elf32-v850.c:1951 -#, c-format -msgid "%s: Architecture mismatch with previous modules" +#: elf32-v850.c:1950 +msgid "%B: Architecture mismatch with previous modules" msgstr "" -#: elf32-v850.c:1972 +#: elf32-v850.c:1971 #, c-format msgid "private flags = %lx: " msgstr "" -#: elf32-v850.c:1977 +#: elf32-v850.c:1976 #, c-format msgid "v850 architecture" msgstr "" -#: elf32-v850.c:1978 +#: elf32-v850.c:1977 #, c-format msgid "v850e architecture" msgstr "" -#: elf32-v850.c:1979 +#: elf32-v850.c:1978 #, c-format msgid "v850e1 architecture" msgstr "" @@ -1561,83 +1507,75 @@ msgid "" "%ld" msgstr "" -#: elf32-vax.c:1645 +#: elf32-vax.c:1637 #, c-format msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored" msgstr "" -#: elf32-vax.c:1771 +#: elf32-vax.c:1761 #, c-format msgid "%s: warning: %s relocation against symbol `%s' from %s section" msgstr "" -#: elf32-vax.c:1777 +#: elf32-vax.c:1767 #, c-format msgid "%s: warning: %s relocation to 0x%x from %s section" msgstr "" -#: elf32-xstormy16.c:462 elf32-ia64.c:2418 elf64-ia64.c:2418 +#: elf32-xstormy16.c:462 elf32-ia64.c:2389 elf64-ia64.c:2389 msgid "non-zero addend in @fptr reloc" msgstr "" -#: elf32-xtensa.c:2051 +#: elf32-xtensa.c:2050 msgid "dynamic relocation in read-only section" msgstr "" -#: elf64-alpha.c:1067 +#: elf64-alpha.c:1069 msgid "GPDISP relocation did not find ldah and lda instructions" msgstr "" -#: elf64-alpha.c:3565 +#: elf64-alpha.c:3555 #, c-format msgid "Symbol %s has no GOT subsection for offset 0x%x" msgstr "" -#: elf64-alpha.c:3651 -#, c-format -msgid "%s: .got subsegment exceeds 64K (size %d)" +#: elf64-alpha.c:3640 +msgid "%B: .got subsegment exceeds 64K (size %d)" msgstr "" -#: elf64-alpha.c:4498 elf64-alpha.c:4510 -#, c-format -msgid "%s: gp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4477 elf64-alpha.c:4489 +msgid "%B: gp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4536 elf64-alpha.c:4669 -#, c-format -msgid "%s: pc-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4515 elf64-alpha.c:4648 +msgid "%B: pc-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4564 -#, c-format -msgid "%s: change in gp: BRSGP %s" +#: elf64-alpha.c:4543 +msgid "%B: change in gp: BRSGP %s" msgstr "" -#: elf64-alpha.c:4589 +#: elf64-alpha.c:4568 msgid "" msgstr "" -#: elf64-alpha.c:4594 -#, c-format -msgid "%s: !samegp reloc against symbol without .prologue: %s" +#: elf64-alpha.c:4573 +msgid "%B: !samegp reloc against symbol without .prologue: %s" msgstr "" -#: elf64-alpha.c:4645 -#, c-format -msgid "%s: unhandled dynamic relocation against %s" +#: elf64-alpha.c:4624 +msgid "%B: unhandled dynamic relocation against %s" msgstr "" -#: elf64-alpha.c:4728 -#, c-format -msgid "%s: dtp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4707 +msgid "%B: dtp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4751 -#, c-format -msgid "%s: tp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4730 +msgid "%B: tp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-hppa.c:2083 +#: elf64-hppa.c:2084 #, c-format msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "" @@ -1646,7 +1584,7 @@ msgstr "" msgid "32bits gp relative relocation occurs for an external symbol" msgstr "" -#: elf64-mmix.c:1171 +#: elf64-mmix.c:1163 #, c-format msgid "" "%s: Internal inconsistency error for value for\n" @@ -1654,116 +1592,111 @@ msgid "" "08lx\n" msgstr "" -#: elf64-mmix.c:1603 +#: elf64-mmix.c:1602 #, c-format msgid "" "%s: base-plus-offset relocation against register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1608 +#: elf64-mmix.c:1607 #, c-format msgid "%s: base-plus-offset relocation against register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1652 +#: elf64-mmix.c:1651 #, c-format msgid "%s: register relocation against non-register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1657 +#: elf64-mmix.c:1656 #, c-format msgid "%s: register relocation against non-register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1694 +#: elf64-mmix.c:1693 #, c-format msgid "%s: directive LOCAL valid only with a register or absolute value" msgstr "" -#: elf64-mmix.c:1722 +#: elf64-mmix.c:1721 #, c-format msgid "" "%s: LOCAL directive: Register $%ld is not a local register. First global " "register is $%ld." msgstr "" -#: elf64-mmix.c:2202 +#: elf64-mmix.c:2201 #, c-format msgid "" "%s: Error: multiple definition of `%s'; start of %s is set in a earlier " "linked file\n" msgstr "" -#: elf64-mmix.c:2261 +#: elf64-mmix.c:2260 msgid "Register section has contents\n" msgstr "" -#: elf64-mmix.c:2467 +#: elf64-mmix.c:2453 #, c-format msgid "" "Internal inconsistency: remaining %u != max %u.\n" " Please report this bug." msgstr "" -#: elf64-ppc.c:2433 libbfd.c:821 -#, c-format -msgid "%s: compiled for a big endian system and target is little endian" +#: elf64-ppc.c:2487 libbfd.c:826 +msgid "%B: compiled for a big endian system and target is little endian" msgstr "" -#: elf64-ppc.c:2436 libbfd.c:823 -#, c-format -msgid "%s: compiled for a little endian system and target is big endian" +#: elf64-ppc.c:2490 libbfd.c:828 +msgid "%B: compiled for a little endian system and target is big endian" msgstr "" -#: elf64-ppc.c:4656 +#: elf64-ppc.c:5554 #, c-format msgid "" "copy reloc against `%s' requires lazy plt linking; avoid setting " "LD_BIND_NOW=1 or upgrade gcc" msgstr "" -#: elf64-ppc.c:5027 -#, c-format -msgid "%s: .opd is not a regular array of opd entries" +#: elf64-ppc.c:5954 +msgid "%B: .opd is not a regular array of opd entries" msgstr "" -#: elf64-ppc.c:5037 -#, c-format -msgid "%s: unexpected reloc type %u in .opd section" +#: elf64-ppc.c:5963 +msgid "%B: unexpected reloc type %u in .opd section" msgstr "" -#: elf64-ppc.c:5057 -#, c-format -msgid "%s: undefined sym `%s' in .opd section" +#: elf64-ppc.c:5983 +msgid "%B: undefined sym `%s' in .opd section" msgstr "" -#: elf64-ppc.c:6272 +#: elf64-ppc.c:7374 #, c-format msgid "can't find branch stub `%s'" msgstr "" -#: elf64-ppc.c:6311 elf64-ppc.c:6386 +#: elf64-ppc.c:7413 elf64-ppc.c:7489 #, c-format msgid "linkage table error against `%s'" msgstr "" -#: elf64-ppc.c:6503 +#: elf64-ppc.c:7618 #, c-format msgid "can't build branch stub `%s'" msgstr "" -#: elf64-ppc.c:7222 +#: elf64-ppc.c:8385 msgid ".glink and .plt too far apart" msgstr "" -#: elf64-ppc.c:7334 +#: elf64-ppc.c:8498 msgid "stubs don't match calculated size" msgstr "" -#: elf64-ppc.c:7346 +#: elf64-ppc.c:8510 #, c-format msgid "" -"linker stubs in %u groups\n" +"linker stubs in %u group%s\n" " branch %lu\n" " toc adjust %lu\n" " long branch %lu\n" @@ -1771,443 +1704,457 @@ msgid "" " plt call %lu" msgstr "" -#: elf64-ppc.c:7544 -#, c-format -msgid "%s(%s+0x%lx): %s used with TLS symbol %s" +#: elf64-ppc.c:8747 +msgid "%B(%A+0x%lx): %s used with TLS symbol %s" msgstr "" -#: elf64-ppc.c:7545 -#, c-format -msgid "%s(%s+0x%lx): %s used with non-TLS symbol %s" +#: elf64-ppc.c:8748 +msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" msgstr "" -#: elf64-ppc.c:7956 -#, c-format +#: elf64-ppc.c:9148 msgid "" -"%s(%s+0x%lx): automatic multiple TOCs not supported using your crt files; " +"%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; " "recompile with -mminimal-toc or upgrade gcc" msgstr "" -#: elf64-ppc.c:7964 -#, c-format +#: elf64-ppc.c:9156 msgid "" -"%s(%s+0x%lx): sibling call optimization to `%s' does not allow automatic " +"%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic " "multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, " "or make `%s' extern" msgstr "" -#: elf64-ppc.c:8562 -#, c-format -msgid "%s: relocation %s is not supported for symbol %s." +#: elf64-ppc.c:9800 +msgid "%B: relocation %s is not supported for symbol %s." msgstr "" -#: elf64-ppc.c:8641 -#, c-format -msgid "%s: error: relocation %s not a multiple of %d" +#: elf64-ppc.c:9879 +msgid "%B: error: relocation %s not a multiple of %d" msgstr "" #: elf64-sparc.c:1371 -#, c-format -msgid "%s: check_relocs: unhandled reloc type %d" +msgid "%B: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1408 -#, c-format -msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" +#: elf64-sparc.c:1407 +msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1428 -#, c-format -msgid "Register %%g%d used incompatibly: %s in %s, previously %s in %s" +#: elf64-sparc.c:1427 +msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B" msgstr "" -#: elf64-sparc.c:1451 -#, c-format -msgid "Symbol `%s' has differing types: REGISTER in %s, previously %s in %s" +#: elf64-sparc.c:1450 +msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B" msgstr "" -#: elf64-sparc.c:1497 -#, c-format -msgid "Symbol `%s' has differing types: %s in %s, previously REGISTER in %s" +#: elf64-sparc.c:1495 +msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B" msgstr "" -#: elf64-sparc.c:3009 -#, c-format -msgid "%s: linking UltraSPARC specific with HAL specific code" +#: elf64-sparc.c:2997 +msgid "%B: linking UltraSPARC specific with HAL specific code" msgstr "" -#: elf64-x86-64.c:732 -#, c-format -msgid "%s: %s' accessed both as normal and thread local symbol" +#: elf64-x86-64.c:666 elf64-x86-64.c:791 elf64-x86-64.c:1952 +msgid "" +"%B: relocation %s against `%s' can not be used when making a shared object; " +"recompile with -fPIC" +msgstr "" + +#: elf64-x86-64.c:734 +msgid "%B: %s' accessed both as normal and thread local symbol" msgstr "" #: elf.c:295 -#, c-format -msgid "%s: invalid string offset %u >= %lu for section `%s'" +msgid "%B: invalid string offset %u >= %lu for section `%s'" msgstr "" #: elf.c:538 -#, c-format -msgid "%s: invalid SHT_GROUP entry" +msgid "%B: invalid SHT_GROUP entry" msgstr "" -#: elf.c:609 -#, c-format -msgid "%s: no group info for section %s" +#: elf.c:608 +msgid "%B: no group info for section %A" +msgstr "" + +#: elf.c:645 +msgid "%B: unknown [%d] section `%s' in group [%s]" msgstr "" -#: elf.c:952 +#: elf.c:1026 #, c-format msgid "" "\n" "Program Header:\n" msgstr "" -#: elf.c:1003 +#: elf.c:1078 #, c-format msgid "" "\n" "Dynamic Section:\n" msgstr "" -#: elf.c:1131 +#: elf.c:1203 #, c-format msgid "" "\n" "Version definitions:\n" msgstr "" -#: elf.c:1154 +#: elf.c:1226 #, c-format msgid "" "\n" "Version References:\n" msgstr "" -#: elf.c:1159 +#: elf.c:1231 #, c-format msgid " required from %s:\n" msgstr "" -#: elf.c:1826 -#, c-format -msgid "%s: invalid link %lu for reloc section %s (index %u)" +#: elf.c:1896 +msgid "%B: invalid link %lu for reloc section %s (index %u)" +msgstr "" + +#: elf.c:2889 +msgid "%B: warning: sh_link not set for section `%S'" msgstr "" -#: elf.c:3684 +#: elf.c:3869 #, c-format msgid "%s: Not enough room for program headers (allocated %u, need %u)" msgstr "" -#: elf.c:3791 +#: elf.c:3944 +#, c-format +msgid "" +"%s: The first section in the PT_DYNAMIC segment is not the .dynamic section" +msgstr "" + +#: elf.c:3988 #, c-format msgid "%s: Not enough room for program headers, try linking with -N" msgstr "" -#: elf.c:3924 +#: elf.c:4121 #, c-format msgid "" "Error: First section in segment (%s) starts at 0x%x whereas the segment " "starts at 0x%x" msgstr "" -#: elf.c:4243 +#: elf.c:4496 #, c-format msgid "%s: warning: allocated section `%s' not in segment" msgstr "" -#: elf.c:4557 -#, c-format -msgid "%s: symbol `%s' required but not present" +#: elf.c:4810 +msgid "%B: symbol `%s' required but not present" msgstr "" -#: elf.c:4845 -#, c-format -msgid "%s: warning: Empty loadable segment detected, is this intentional ?\n" +#: elf.c:5098 +msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n" msgstr "" -#: elf.c:5479 +#: elf.c:5737 #, c-format msgid "" "Unable to find equivalent output section for symbol '%s' from section '%s'" msgstr "" -#: elf.c:6264 -#, c-format -msgid "%s: unsupported relocation type %s" +#: elf.c:6522 +msgid "%B: unsupported relocation type %s" msgstr "" -#: elfcode.h:1050 +#: elfcode.h:1056 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "" -#: elfcode.h:1276 +#: elfcode.h:1282 #, c-format msgid "%s(%s): relocation %d has invalid symbol index %ld" msgstr "" -#: elflink.c:1350 -#, c-format -msgid "%s: warning: unexpected redefinition of indirect versioned symbol `%s'" +#: elf-hppa.h:1402 elf-hppa.h:1428 elf-hppa.h:1443 +msgid "%B(%A): warning: unresolvable relocation against symbol `%s'" msgstr "" -#: elflink.c:1669 -#, c-format -msgid "%s: undefined versioned symbol name %s" +#: elflink.c:1390 +msgid "%B: unexpected redefinition of indirect versioned symbol `%s'" msgstr "" -#: elflink.c:1818 -#, c-format +#: elflink.c:1707 +msgid "%B: undefined versioned symbol name %s" +msgstr "" + +#: elflink.c:1856 msgid "" -"%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'" +"%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'" msgstr "" -#: elflink.c:2007 -#, c-format -msgid "%s: relocation size mismatch in %s section %s" +#: elflink.c:2046 +msgid "%B: relocation size mismatch in %B section %A" msgstr "" -#: elflink.c:2296 +#: elflink.c:2336 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "" -#: elflink.c:2917 +#: elflink.c:2966 msgid "warning: " msgstr "" -#: elflink.c:3411 -#, c-format -msgid "%s: %s: invalid version %u (max %d)" +#: elflink.c:3461 +msgid "%B: %s: invalid version %u (max %d)" msgstr "" -#: elflink.c:3452 -#, c-format -msgid "%s: %s: invalid needed version %d" +#: elflink.c:3502 +msgid "%B: %s: invalid needed version %d" msgstr "" -#: elflink.c:3627 -#, c-format -msgid "Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s" +#: elflink.c:3675 +msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B" +msgstr "" + +#: elflink.c:3687 +msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B" msgstr "" -#: elflink.c:3641 +#: elflink.c:3846 #, c-format -msgid "Warning: size of symbol `%s' changed from %lu in %s to %lu in %s" +msgid "%s: invalid DSO for symbol `%s' definition" msgstr "" -#: elflink.c:4837 +#: elflink.c:4886 #, c-format msgid "%s: undefined version: %s" msgstr "" -#: elflink.c:4903 -#, c-format -msgid "%s: .preinit_array section is not allowed in DSO" +#: elflink.c:4952 +msgid "%B: .preinit_array section is not allowed in DSO" msgstr "" -#: elflink.c:5594 +#: elflink.c:5643 msgid "Not enough memory to sort relocations" msgstr "" -#: elflink.c:5976 -#, c-format -msgid "%s: %s symbol `%s' in %s is referenced by DSO" +#: elflink.c:6026 +msgid "%B: %s symbol `%s' in %B is referenced by DSO" msgstr "" -#: elflink.c:6057 -#, c-format -msgid "%s: could not find output section %s for input section %s" +#: elflink.c:6106 +msgid "%B: could not find output section %A for input section %A" msgstr "" -#: elflink.c:6156 -#, c-format -msgid "%s: %s symbol `%s' isn't defined" +#: elflink.c:6203 +msgid "%B: %s symbol `%s' isn't defined" +msgstr "" + +#: elflink.c:6712 +msgid "" +"`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %" +"B\n" msgstr "" -#: elflink.c:6575 elflink.c:6616 -msgid "%T: discarded in section `%s' from %s\n" +#: elflink.c:7221 +msgid "%B: warning: sh_link not set for section `%A'" msgstr "" -#: elflink.c:7870 elflink.c:7912 +#: elflink.c:7294 #, c-format -msgid "%s: could not find output section %s" +msgid "%A has both ordered and unordered sections" msgstr "" -#: elflink.c:7876 +#: elflink.c:8123 elflink.c:8164 +msgid "%B: could not find output section %s" +msgstr "" + +#: elflink.c:8128 #, c-format msgid "warning: %s section has zero size" msgstr "" -#: elflink.c:8427 +#: elflink.c:8703 msgid "Warning: gc-sections option ignored" msgstr "" -#: elfxx-mips.c:890 +#: elflink.c:9362 +msgid "%B: ignoring duplicate section `%A'\n" +msgstr "" + +#: elflink.c:9369 elflink.c:9376 +msgid "%B: duplicate section `%A' has different size\n" +msgstr "" + +#: elflink.c:9384 elflink.c:9389 +msgid "%B: warning: could not read contents of section `%A'\n" +msgstr "" + +#: elflink.c:9393 +msgid "%B: warning: duplicate section `%A' has different contents\n" +msgstr "" + +#: elfxx-mips.c:887 msgid "static procedure (no name)" msgstr "" -#: elfxx-mips.c:2028 +#: elfxx-mips.c:1993 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elfxx-mips.c:3775 -#, c-format -msgid "%s: %s+0x%lx: jump to stub routine which is not jal" +#: elfxx-mips.c:3718 +msgid "%B: %A+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elfxx-mips.c:5260 -#, c-format -msgid "%s: Malformed reloc detected for section %s" +#: elfxx-mips.c:5223 +msgid "%B: Malformed reloc detected for section %s" msgstr "" -#: elfxx-mips.c:5334 -#, c-format -msgid "%s: CALL16 reloc at 0x%lx not against global symbol" +#: elfxx-mips.c:5297 +msgid "%B: CALL16 reloc at 0x%lx not against global symbol" msgstr "" -#: elfxx-mips.c:8631 +#: elfxx-mips.c:8562 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elfxx-mips.c:8954 -#, c-format -msgid "%s: endianness incompatible with that of the selected emulation" +#: elfxx-mips.c:8885 +msgid "%B: endianness incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:8966 -#, c-format -msgid "%s: ABI is incompatible with that of the selected emulation" +#: elfxx-mips.c:8897 +msgid "%B: ABI is incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9038 -#, c-format -msgid "%s: warning: linking PIC files with non-PIC files" +#: elfxx-mips.c:8969 +msgid "%B: warning: linking PIC files with non-PIC files" msgstr "" -#: elfxx-mips.c:9055 -#, c-format -msgid "%s: linking 32-bit code with 64-bit code" +#: elfxx-mips.c:8986 +msgid "%B: linking 32-bit code with 64-bit code" msgstr "" -#: elfxx-mips.c:9083 -#, c-format -msgid "%s: linking %s module with previous %s modules" +#: elfxx-mips.c:9014 +msgid "%B: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9106 -#, c-format -msgid "%s: ABI mismatch: linking %s module with previous %s modules" +#: elfxx-mips.c:9037 +msgid "%B: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9171 +#: elfxx-mips.c:9102 #, c-format msgid " [abi=O32]" msgstr "" -#: elfxx-mips.c:9173 +#: elfxx-mips.c:9104 #, c-format msgid " [abi=O64]" msgstr "" -#: elfxx-mips.c:9175 +#: elfxx-mips.c:9106 #, c-format msgid " [abi=EABI32]" msgstr "" -#: elfxx-mips.c:9177 +#: elfxx-mips.c:9108 #, c-format msgid " [abi=EABI64]" msgstr "" -#: elfxx-mips.c:9179 +#: elfxx-mips.c:9110 #, c-format msgid " [abi unknown]" msgstr "" -#: elfxx-mips.c:9181 +#: elfxx-mips.c:9112 #, c-format msgid " [abi=N32]" msgstr "" -#: elfxx-mips.c:9183 +#: elfxx-mips.c:9114 #, c-format msgid " [abi=64]" msgstr "" -#: elfxx-mips.c:9185 +#: elfxx-mips.c:9116 #, c-format msgid " [no abi set]" msgstr "" -#: elfxx-mips.c:9188 +#: elfxx-mips.c:9119 #, c-format msgid " [mips1]" msgstr "" -#: elfxx-mips.c:9190 +#: elfxx-mips.c:9121 #, c-format msgid " [mips2]" msgstr "" -#: elfxx-mips.c:9192 +#: elfxx-mips.c:9123 #, c-format msgid " [mips3]" msgstr "" -#: elfxx-mips.c:9194 +#: elfxx-mips.c:9125 #, c-format msgid " [mips4]" msgstr "" -#: elfxx-mips.c:9196 +#: elfxx-mips.c:9127 #, c-format msgid " [mips5]" msgstr "" -#: elfxx-mips.c:9198 +#: elfxx-mips.c:9129 #, c-format msgid " [mips32]" msgstr "" -#: elfxx-mips.c:9200 +#: elfxx-mips.c:9131 #, c-format msgid " [mips64]" msgstr "" -#: elfxx-mips.c:9202 +#: elfxx-mips.c:9133 #, c-format msgid " [mips32r2]" msgstr "" -#: elfxx-mips.c:9204 +#: elfxx-mips.c:9135 #, c-format msgid " [mips64r2]" msgstr "" -#: elfxx-mips.c:9206 +#: elfxx-mips.c:9137 #, c-format msgid " [unknown ISA]" msgstr "" -#: elfxx-mips.c:9209 +#: elfxx-mips.c:9140 #, c-format msgid " [mdmx]" msgstr "" -#: elfxx-mips.c:9212 +#: elfxx-mips.c:9143 #, c-format msgid " [mips16]" msgstr "" -#: elfxx-mips.c:9215 +#: elfxx-mips.c:9146 #, c-format msgid " [32bitmode]" msgstr "" -#: elfxx-mips.c:9217 +#: elfxx-mips.c:9148 #, c-format msgid " [not 32bitmode]" msgstr "" @@ -2243,83 +2190,70 @@ msgid "%s: unrecognized symbol `%s' flag msgstr "" #: ieee.c:938 -#, c-format -msgid "%s: unimplemented ATI record %u for symbol %u" +msgid "%B: unimplemented ATI record %u for symbol %u" msgstr "" -#: ieee.c:963 -#, c-format -msgid "%s: unexpected ATN type %d in external part" +#: ieee.c:962 +msgid "%B: unexpected ATN type %d in external part" msgstr "" -#: ieee.c:985 -#, c-format -msgid "%s: unexpected type after ATN" +#: ieee.c:984 +msgid "%B: unexpected type after ATN" msgstr "" #: ihex.c:264 -#, c-format -msgid "%s:%d: unexpected character `%s' in Intel Hex file\n" +msgid "%B:%d: unexpected character `%s' in Intel Hex file" msgstr "" #: ihex.c:372 -#, c-format -msgid "%s:%u: bad checksum in Intel Hex file (expected %u, found %u)" +msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)" msgstr "" #: ihex.c:426 -#, c-format -msgid "%s:%u: bad extended address record length in Intel Hex file" +msgid "%B:%u: bad extended address record length in Intel Hex file" msgstr "" #: ihex.c:443 -#, c-format -msgid "%s:%u: bad extended start address length in Intel Hex file" +msgid "%B:%u: bad extended start address length in Intel Hex file" msgstr "" #: ihex.c:460 -#, c-format -msgid "%s:%u: bad extended linear address record length in Intel Hex file" +msgid "%B:%u: bad extended linear address record length in Intel Hex file" msgstr "" #: ihex.c:477 -#, c-format -msgid "%s:%u: bad extended linear start address length in Intel Hex file" +msgid "%B:%u: bad extended linear start address length in Intel Hex file" msgstr "" #: ihex.c:494 -#, c-format -msgid "%s:%u: unrecognized ihex type %u in Intel Hex file\n" +msgid "%B:%u: unrecognized ihex type %u in Intel Hex file" msgstr "" #: ihex.c:619 -#, c-format -msgid "%s: internal error in ihex_read_section" +msgid "%B: internal error in ihex_read_section" msgstr "" -#: ihex.c:654 -#, c-format -msgid "%s: bad section length in ihex_read_section" +#: ihex.c:653 +msgid "%B: bad section length in ihex_read_section" msgstr "" -#: ihex.c:872 +#: ihex.c:870 #, c-format msgid "%s: address 0x%s out of range for Intel Hex file" msgstr "" -#: libbfd.c:851 +#: libbfd.c:856 #, c-format msgid "Deprecated %s called at %s line %d in %s\n" msgstr "" -#: libbfd.c:854 +#: libbfd.c:859 #, c-format msgid "Deprecated %s called\n" msgstr "" #: linker.c:1831 -#, c-format -msgid "%s: indirect symbol `%s' to `%s' is a loop" +msgid "%B: indirect symbol `%s' to `%s' is a loop" msgstr "" #: linker.c:2699 @@ -2327,9 +2261,17 @@ msgstr "" msgid "Attempt to do relocatable link with %s input and %s output" msgstr "" -#: merge.c:797 +#: linker.c:2996 +msgid "%B: warning: ignoring duplicate section `%A'\n" +msgstr "" + +#: linker.c:3010 +msgid "%B: warning: duplicate section `%A' has different size\n" +msgstr "" + +#: merge.c:795 #, c-format -msgid "%s: access beyond end of merged section (%ld + %ld)" +msgid "%s: access beyond end of merged section (%ld)" msgstr "" #: mmo.c:503 @@ -2342,132 +2284,132 @@ msgstr "" msgid "%s: No core to allocate a symbol %d bytes long\n" msgstr "" -#: mmo.c:1287 +#: mmo.c:1286 #, c-format msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n" msgstr "" -#: mmo.c:1433 +#: mmo.c:1432 #, c-format msgid "" "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name " "starting with `%s'\n" msgstr "" -#: mmo.c:1674 +#: mmo.c:1672 #, c-format msgid "%s: invalid mmo file: unsupported lopcode `%d'\n" msgstr "" -#: mmo.c:1684 +#: mmo.c:1682 #, c-format msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n" msgstr "" -#: mmo.c:1720 +#: mmo.c:1718 #, c-format msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n" msgstr "" -#: mmo.c:1766 +#: mmo.c:1764 #, c-format msgid "" "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n" msgstr "" -#: mmo.c:1805 +#: mmo.c:1803 #, c-format msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n" msgstr "" -#: mmo.c:1814 +#: mmo.c:1812 #, c-format msgid "" "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n" msgstr "" -#: mmo.c:1837 +#: mmo.c:1835 #, c-format msgid "" "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d " "for lop_fixrx\n" msgstr "" -#: mmo.c:1860 +#: mmo.c:1858 #, c-format msgid "%s: cannot allocate file name for file number %d, %d bytes\n" msgstr "" -#: mmo.c:1880 +#: mmo.c:1878 #, c-format msgid "" "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n" msgstr "" -#: mmo.c:1893 +#: mmo.c:1891 #, c-format msgid "" "%s: invalid mmo file: file name for number %d was not specified before use\n" msgstr "" -#: mmo.c:1999 +#: mmo.c:1997 #, c-format msgid "" "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n" msgstr "" -#: mmo.c:2035 +#: mmo.c:2033 #, c-format msgid "%s: invalid mmo file: lop_end not last item in file\n" msgstr "" -#: mmo.c:2048 +#: mmo.c:2046 #, c-format msgid "" "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras " "to the preceding lop_stab (%ld)\n" msgstr "" -#: mmo.c:2698 +#: mmo.c:2696 #, c-format msgid "%s: invalid symbol table: duplicate symbol `%s'\n" msgstr "" -#: mmo.c:2949 +#: mmo.c:2947 #, c-format msgid "" "%s: Bad symbol definition: `Main' set to %s rather than the start address %" "s\n" msgstr "" -#: mmo.c:3039 +#: mmo.c:3037 #, c-format msgid "" "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: " "%d. Only `Main' will be emitted.\n" msgstr "" -#: mmo.c:3084 +#: mmo.c:3082 #, c-format msgid "%s: internal error, symbol table changed size from %d to %d words\n" msgstr "" -#: mmo.c:3139 +#: mmo.c:3137 #, c-format msgid "%s: internal error, internal register section %s had contents\n" msgstr "" -#: mmo.c:3191 +#: mmo.c:3189 #, c-format msgid "%s: no initialized registers; section length 0\n" msgstr "" -#: mmo.c:3197 +#: mmo.c:3195 #, c-format msgid "%s: too many initialized registers; section length %ld\n" msgstr "" -#: mmo.c:3202 +#: mmo.c:3200 #, c-format msgid "" "%s: invalid start address for initialized registers of length %ld: 0x%lx%" @@ -2486,45 +2428,37 @@ msgstr "" #. XXX code yet to be written. #: peicode.h:787 -#, c-format -msgid "%s: Unhandled import type; %x" +msgid "%B: Unhandled import type; %x" msgstr "" #: peicode.h:792 -#, c-format -msgid "%s: Unrecognised import type; %x" +msgid "%B: Unrecognised import type; %x" msgstr "" #: peicode.h:806 -#, c-format -msgid "%s: Unrecognised import name type; %x" +msgid "%B: Unrecognised import name type; %x" msgstr "" -#: peicode.h:1194 -#, c-format -msgid "%s: Unrecognised machine type (0x%x) in Import Library Format archive" +#: peicode.h:1193 +msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive" msgstr "" -#: peicode.h:1206 -#, c-format +#: peicode.h:1205 msgid "" -"%s: Recognised but unhandled machine type (0x%x) in Import Library Format " +"%B: Recognised but unhandled machine type (0x%x) in Import Library Format " "archive" msgstr "" #: peicode.h:1223 -#, c-format -msgid "%s: size field is zero in Import Library Format header" +msgid "%B: size field is zero in Import Library Format header" msgstr "" -#: peicode.h:1254 -#, c-format -msgid "%s: string not null terminated in ILF object file." +#: peicode.h:1253 +msgid "%B: string not null terminated in ILF object file." msgstr "" -#: pe-mips.c:659 -#, c-format -msgid "%s: `ld -r' not supported with PE MIPS objects\n" +#: pe-mips.c:636 +msgid "%B: `ld -r' not supported with PE MIPS objects\n" msgstr "" #. OK, at this point the following variables are set up: @@ -2532,19 +2466,16 @@ msgstr "" #. mem = pointer to memory we're fixing up #. val = VMA of what we need to refer to #. -#: pe-mips.c:795 -#, c-format -msgid "%s: unimplemented %s\n" +#: pe-mips.c:770 +msgid "%B: unimplemented %s\n" msgstr "" -#: pe-mips.c:821 -#, c-format -msgid "%s: jump too far away\n" +#: pe-mips.c:796 +msgid "%B: jump too far away\n" msgstr "" -#: pe-mips.c:848 -#, c-format -msgid "%s: bad pair/reflo after refhi\n" +#: pe-mips.c:822 +msgid "%B: bad pair/reflo after refhi\n" msgstr "" #: ppcboot.c:416 @@ -2596,21 +2527,19 @@ msgstr "" msgid "Partition[%d] length = 0x%.8lx (%ld)\n" msgstr "" -#: som.c:5422 +#: som.c:5490 msgid "som_sizeof_headers unimplemented" msgstr "" #: srec.c:302 -#, c-format -msgid "%s:%d: Unexpected character `%s' in S-record file\n" +msgid "%B:%d: Unexpected character `%s' in S-record file\n" msgstr "" -#: stabs.c:326 -#, c-format -msgid "%s(%s+0x%lx): Stabs entry has invalid string index." +#: stabs.c:296 +msgid "%B(%A+0x%lx): Stabs entry has invalid string index." msgstr "" -#: syms.c:1019 +#: syms.c:1027 msgid "Unsupported .stab relocation" msgstr "" @@ -2629,7 +2558,7 @@ msgstr "" msgid "Size mismatch section %s=%lx, %s=%lx" msgstr "" -#: vms-gsd.c:704 +#: vms-gsd.c:702 #, c-format msgid "unknown gsd/egsd subtype %d" msgstr "" @@ -2679,7 +2608,7 @@ msgstr "" msgid "unsupported STA cmd %s" msgstr "" -#: vms-tir.c:401 vms-tir.c:1261 +#: vms-tir.c:401 vms-tir.c:1260 #, c-format msgid "reserved STA cmd %d" msgstr "" @@ -2694,38 +2623,38 @@ msgstr "" #. Redefine symbol to current location. #. Define a literal. #: vms-tir.c:602 vms-tir.c:714 vms-tir.c:824 vms-tir.c:842 vms-tir.c:850 -#: vms-tir.c:859 vms-tir.c:1584 +#: vms-tir.c:859 vms-tir.c:1583 #, c-format msgid "%s: not supported" msgstr "" -#: vms-tir.c:607 vms-tir.c:1439 +#: vms-tir.c:607 vms-tir.c:1438 #, c-format msgid "%s: not implemented" msgstr "" -#: vms-tir.c:611 vms-tir.c:1443 +#: vms-tir.c:611 vms-tir.c:1442 #, c-format msgid "reserved STO cmd %d" msgstr "" -#: vms-tir.c:729 vms-tir.c:1589 +#: vms-tir.c:729 vms-tir.c:1588 #, c-format msgid "reserved OPR cmd %d" msgstr "" -#: vms-tir.c:797 vms-tir.c:1653 +#: vms-tir.c:797 vms-tir.c:1652 #, c-format msgid "reserved CTL cmd %d" msgstr "" #. stack byte from image #. arg: none. -#: vms-tir.c:1169 +#: vms-tir.c:1168 msgid "stack-from-image not implemented" msgstr "" -#: vms-tir.c:1187 +#: vms-tir.c:1186 msgid "stack-entry-mask not fully implemented" msgstr "" @@ -2736,278 +2665,272 @@ msgstr "" #. #. compare argument descriptor with symbol argument (ARG$V_PASSMECH) #. and stack TRUE (args match) or FALSE (args dont match) value. -#: vms-tir.c:1201 +#: vms-tir.c:1200 msgid "PASSMECH not fully implemented" msgstr "" -#: vms-tir.c:1220 +#: vms-tir.c:1219 msgid "stack-local-symbol not fully implemented" msgstr "" -#: vms-tir.c:1233 +#: vms-tir.c:1232 msgid "stack-literal not fully implemented" msgstr "" -#: vms-tir.c:1254 +#: vms-tir.c:1253 msgid "stack-local-symbol-entry-point-mask not fully implemented" msgstr "" -#: vms-tir.c:1531 vms-tir.c:1543 vms-tir.c:1555 vms-tir.c:1567 vms-tir.c:1632 -#: vms-tir.c:1640 vms-tir.c:1648 +#: vms-tir.c:1530 vms-tir.c:1542 vms-tir.c:1554 vms-tir.c:1566 vms-tir.c:1631 +#: vms-tir.c:1639 vms-tir.c:1647 #, c-format msgid "%s: not fully implemented" msgstr "" -#: vms-tir.c:1705 +#: vms-tir.c:1704 #, c-format msgid "obj code %d not found" msgstr "" -#: vms-tir.c:2043 +#: vms-tir.c:2042 #, c-format msgid "SEC_RELOC with no relocs in section %s" msgstr "" -#: vms-tir.c:2331 +#: vms-tir.c:2330 #, c-format msgid "Unhandled relocation %s" msgstr "" -#: xcofflink.c:1244 -#, c-format -msgid "%s: `%s' has line numbers but no enclosing section" +#: xcofflink.c:1243 +msgid "%B: `%s' has line numbers but no enclosing section" msgstr "" -#: xcofflink.c:1297 -#, c-format -msgid "%s: class %d symbol `%s' has no aux entries" +#: xcofflink.c:1296 +msgid "%B: class %d symbol `%s' has no aux entries" msgstr "" -#: xcofflink.c:1320 -#, c-format -msgid "%s: symbol `%s' has unrecognized csect type %d" +#: xcofflink.c:1319 +msgid "%B: symbol `%s' has unrecognized csect type %d" msgstr "" -#: xcofflink.c:1332 -#, c-format -msgid "%s: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" +#: xcofflink.c:1331 +msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" msgstr "" -#: xcofflink.c:1368 -#, c-format -msgid "%s: XMC_TC0 symbol `%s' is class %d scnlen %d" +#: xcofflink.c:1367 +msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d" msgstr "" -#: xcofflink.c:1520 -#, c-format -msgid "%s: csect `%s' not in enclosing section" +#: xcofflink.c:1518 +msgid "%B: csect `%s' not in enclosing section" msgstr "" -#: xcofflink.c:1627 -#, c-format -msgid "%s: misplaced XTY_LD `%s'" +#: xcofflink.c:1625 +msgid "%B: misplaced XTY_LD `%s'" msgstr "" -#: xcofflink.c:1958 -#, c-format -msgid "%s: reloc %s:%d not in csect" +#: xcofflink.c:1956 +msgid "%B: reloc %s:%d not in csect" msgstr "" -#: xcofflink.c:2095 +#: xcofflink.c:2093 #, c-format msgid "%s: XCOFF shared object when not producing XCOFF output" msgstr "" -#: xcofflink.c:2116 +#: xcofflink.c:2114 #, c-format msgid "%s: dynamic object with no .loader section" msgstr "" -#: xcofflink.c:2761 +#: xcofflink.c:2759 #, c-format msgid "%s: no such symbol" msgstr "" -#: xcofflink.c:2894 +#: xcofflink.c:2892 msgid "error: undefined symbol __rtinit" msgstr "" -#: xcofflink.c:3455 +#: xcofflink.c:3449 #, c-format msgid "warning: attempt to export undefined symbol `%s'" msgstr "" -#: xcofflink.c:4448 +#: xcofflink.c:4444 #, c-format msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" msgstr "" -#: xcofflink.c:5288 xcofflink.c:5755 xcofflink.c:5817 xcofflink.c:6119 +#: xcofflink.c:5285 +msgid "%B: loader reloc in unrecognized section `%A'" +msgstr "" + +#: xcofflink.c:5306 +msgid "%B: `%s' in loader reloc but not loader sym" +msgstr "" + +#: xcofflink.c:5321 +msgid "%B: loader reloc in read-only section %A" +msgstr "" + +#: xcofflink.c:5747 xcofflink.c:5809 xcofflink.c:6111 #, c-format msgid "%s: loader reloc in unrecognized section `%s'" msgstr "" -#: xcofflink.c:5310 xcofflink.c:6130 +#: xcofflink.c:6122 #, c-format msgid "%s: `%s' in loader reloc but not loader sym" msgstr "" -#: xcofflink.c:5325 -#, c-format -msgid "%s: loader reloc in read-only section %s" +#: elf32-ia64.c:980 elf64-ia64.c:980 +msgid "" +"%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect " +"branch." msgstr "" -#: elf32-ia64.c:2363 elf64-ia64.c:2363 +#: elf32-ia64.c:2334 elf64-ia64.c:2334 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:3768 elf64-ia64.c:3768 +#: elf32-ia64.c:3752 elf64-ia64.c:3752 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3779 elf64-ia64.c:3779 +#: elf32-ia64.c:3763 elf64-ia64.c:3763 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:4027 elf64-ia64.c:4027 -#, c-format -msgid "%s: non-pic code with imm relocation against dynamic symbol `%s'" +#: elf32-ia64.c:4010 elf64-ia64.c:4010 +msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" msgstr "" -#: elf32-ia64.c:4092 elf64-ia64.c:4092 -#, c-format -msgid "%s: @gprel relocation against dynamic symbol %s" +#: elf32-ia64.c:4075 elf64-ia64.c:4075 +msgid "%B: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4152 elf64-ia64.c:4152 -#, c-format -msgid "%s: linking non-pic code in a position independent executable" +#: elf32-ia64.c:4135 elf64-ia64.c:4135 +msgid "%B: linking non-pic code in a position independent executable" msgstr "" -#: elf32-ia64.c:4289 elf64-ia64.c:4289 -#, c-format -msgid "%s: @internal branch to dynamic symbol %s" +#: elf32-ia64.c:4272 elf64-ia64.c:4272 +msgid "%B: @internal branch to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4291 elf64-ia64.c:4291 -#, c-format -msgid "%s: speculation fixup to dynamic symbol %s" +#: elf32-ia64.c:4274 elf64-ia64.c:4274 +msgid "%B: speculation fixup to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4293 elf64-ia64.c:4293 -#, c-format -msgid "%s: @pcrel relocation against dynamic symbol %s" +#: elf32-ia64.c:4276 elf64-ia64.c:4276 +msgid "%B: @pcrel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4505 elf64-ia64.c:4505 +#: elf32-ia64.c:4484 elf64-ia64.c:4484 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4784 elf64-ia64.c:4784 -#, c-format -msgid "%s: linking trap-on-NULL-dereference with non-trapping files" +#: elf32-ia64.c:4761 elf64-ia64.c:4761 +msgid "%B: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4793 elf64-ia64.c:4793 -#, c-format -msgid "%s: linking big-endian files with little-endian files" +#: elf32-ia64.c:4770 elf64-ia64.c:4770 +msgid "%B: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4802 elf64-ia64.c:4802 -#, c-format -msgid "%s: linking 64-bit files with 32-bit files" +#: elf32-ia64.c:4779 elf64-ia64.c:4779 +msgid "%B: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:4811 elf64-ia64.c:4811 -#, c-format -msgid "%s: linking constant-gp files with non-constant-gp files" +#: elf32-ia64.c:4788 elf64-ia64.c:4788 +msgid "%B: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:4821 elf64-ia64.c:4821 -#, c-format -msgid "%s: linking auto-pic files with non-auto-pic files" +#: elf32-ia64.c:4798 elf64-ia64.c:4798 +msgid "%B: linking auto-pic files with non-auto-pic files" msgstr "" -#: peigen.c:1031 pepigen.c:1031 +#: peigen.c:1033 pepigen.c:1033 #, c-format msgid "%s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1052 pepigen.c:1052 +#: peigen.c:1054 pepigen.c:1054 #, c-format msgid "%s: reloc overflow 1: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1066 pepigen.c:1066 +#: peigen.c:1068 pepigen.c:1068 msgid "Export Directory [.edata (or where ever we found it)]" msgstr "" -#: peigen.c:1067 pepigen.c:1067 +#: peigen.c:1069 pepigen.c:1069 msgid "Import Directory [parts of .idata]" msgstr "" -#: peigen.c:1068 pepigen.c:1068 +#: peigen.c:1070 pepigen.c:1070 msgid "Resource Directory [.rsrc]" msgstr "" -#: peigen.c:1069 pepigen.c:1069 +#: peigen.c:1071 pepigen.c:1071 msgid "Exception Directory [.pdata]" msgstr "" -#: peigen.c:1070 pepigen.c:1070 +#: peigen.c:1072 pepigen.c:1072 msgid "Security Directory" msgstr "" -#: peigen.c:1071 pepigen.c:1071 +#: peigen.c:1073 pepigen.c:1073 msgid "Base Relocation Directory [.reloc]" msgstr "" -#: peigen.c:1072 pepigen.c:1072 +#: peigen.c:1074 pepigen.c:1074 msgid "Debug Directory" msgstr "" -#: peigen.c:1073 pepigen.c:1073 +#: peigen.c:1075 pepigen.c:1075 msgid "Description Directory" msgstr "" -#: peigen.c:1074 pepigen.c:1074 +#: peigen.c:1076 pepigen.c:1076 msgid "Special Directory" msgstr "" -#: peigen.c:1075 pepigen.c:1075 +#: peigen.c:1077 pepigen.c:1077 msgid "Thread Storage Directory [.tls]" msgstr "" -#: peigen.c:1076 pepigen.c:1076 +#: peigen.c:1078 pepigen.c:1078 msgid "Load Configuration Directory" msgstr "" -#: peigen.c:1077 pepigen.c:1077 +#: peigen.c:1079 pepigen.c:1079 msgid "Bound Import Directory" msgstr "" -#: peigen.c:1078 pepigen.c:1078 +#: peigen.c:1080 pepigen.c:1080 msgid "Import Address Table Directory" msgstr "" -#: peigen.c:1079 pepigen.c:1079 +#: peigen.c:1081 pepigen.c:1081 msgid "Delay Import Directory" msgstr "" -#: peigen.c:1080 peigen.c:1081 pepigen.c:1080 pepigen.c:1081 +#: peigen.c:1082 peigen.c:1083 pepigen.c:1082 pepigen.c:1083 msgid "Reserved" msgstr "" -#: peigen.c:1144 pepigen.c:1144 +#: peigen.c:1145 pepigen.c:1145 #, c-format msgid "" "\n" "There is an import table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1149 pepigen.c:1149 +#: peigen.c:1150 pepigen.c:1150 #, c-format msgid "" "\n" @@ -3026,61 +2949,61 @@ msgstr "" msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" msgstr "" -#: peigen.c:1195 pepigen.c:1195 +#: peigen.c:1197 pepigen.c:1197 #, c-format msgid "" "\n" "No reldata section! Function descriptor not decoded.\n" msgstr "" -#: peigen.c:1200 pepigen.c:1200 +#: peigen.c:1202 pepigen.c:1202 #, c-format msgid "" "\n" "The Import Tables (interpreted %s section contents)\n" msgstr "" -#: peigen.c:1203 pepigen.c:1203 +#: peigen.c:1205 pepigen.c:1205 #, c-format msgid "" " vma: Hint Time Forward DLL First\n" " Table Stamp Chain Name Thunk\n" msgstr "" -#: peigen.c:1254 pepigen.c:1254 +#: peigen.c:1255 pepigen.c:1255 #, c-format msgid "" "\n" "\tDLL Name: %s\n" msgstr "" -#: peigen.c:1265 pepigen.c:1265 +#: peigen.c:1266 pepigen.c:1266 #, c-format msgid "\tvma: Hint/Ord Member-Name Bound-To\n" msgstr "" -#: peigen.c:1290 pepigen.c:1290 +#: peigen.c:1291 pepigen.c:1291 #, c-format msgid "" "\n" "There is a first thunk, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1430 pepigen.c:1430 +#: peigen.c:1431 pepigen.c:1431 #, c-format msgid "" "\n" "There is an export table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1435 pepigen.c:1435 +#: peigen.c:1436 pepigen.c:1436 #, c-format msgid "" "\n" "There is an export table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1466 pepigen.c:1466 +#: peigen.c:1467 pepigen.c:1467 #, c-format msgid "" "\n" @@ -3088,128 +3011,128 @@ msgid "" "\n" msgstr "" -#: peigen.c:1470 pepigen.c:1470 +#: peigen.c:1471 pepigen.c:1471 #, c-format msgid "Export Flags \t\t\t%lx\n" msgstr "" -#: peigen.c:1473 pepigen.c:1473 +#: peigen.c:1474 pepigen.c:1474 #, c-format msgid "Time/Date stamp \t\t%lx\n" msgstr "" -#: peigen.c:1476 pepigen.c:1476 +#: peigen.c:1477 pepigen.c:1477 #, c-format msgid "Major/Minor \t\t\t%d/%d\n" msgstr "" -#: peigen.c:1479 pepigen.c:1479 +#: peigen.c:1480 pepigen.c:1480 #, c-format msgid "Name \t\t\t\t" msgstr "" -#: peigen.c:1485 pepigen.c:1485 +#: peigen.c:1486 pepigen.c:1486 #, c-format msgid "Ordinal Base \t\t\t%ld\n" msgstr "" -#: peigen.c:1488 pepigen.c:1488 +#: peigen.c:1489 pepigen.c:1489 #, c-format msgid "Number in:\n" msgstr "" -#: peigen.c:1491 pepigen.c:1491 +#: peigen.c:1492 pepigen.c:1492 #, c-format msgid "\tExport Address Table \t\t%08lx\n" msgstr "" -#: peigen.c:1495 pepigen.c:1495 +#: peigen.c:1496 pepigen.c:1496 #, c-format msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" msgstr "" -#: peigen.c:1498 pepigen.c:1498 +#: peigen.c:1499 pepigen.c:1499 #, c-format msgid "Table Addresses\n" msgstr "" -#: peigen.c:1501 pepigen.c:1501 +#: peigen.c:1502 pepigen.c:1502 #, c-format msgid "\tExport Address Table \t\t" msgstr "" -#: peigen.c:1506 pepigen.c:1506 +#: peigen.c:1507 pepigen.c:1507 #, c-format msgid "\tName Pointer Table \t\t" msgstr "" -#: peigen.c:1511 pepigen.c:1511 +#: peigen.c:1512 pepigen.c:1512 #, c-format msgid "\tOrdinal Table \t\t\t" msgstr "" -#: peigen.c:1526 pepigen.c:1526 +#: peigen.c:1527 pepigen.c:1527 #, c-format msgid "" "\n" "Export Address Table -- Ordinal Base %ld\n" msgstr "" -#: peigen.c:1545 pepigen.c:1545 +#: peigen.c:1546 pepigen.c:1546 msgid "Forwarder RVA" msgstr "" -#: peigen.c:1556 pepigen.c:1556 +#: peigen.c:1557 pepigen.c:1557 msgid "Export RVA" msgstr "" -#: peigen.c:1563 pepigen.c:1563 +#: peigen.c:1564 pepigen.c:1564 #, c-format msgid "" "\n" "[Ordinal/Name Pointer] Table\n" msgstr "" -#: peigen.c:1618 pepigen.c:1618 +#: peigen.c:1619 pepigen.c:1619 #, c-format msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" msgstr "" -#: peigen.c:1622 pepigen.c:1622 +#: peigen.c:1623 pepigen.c:1623 #, c-format msgid "" "\n" "The Function Table (interpreted .pdata section contents)\n" msgstr "" -#: peigen.c:1625 pepigen.c:1625 +#: peigen.c:1626 pepigen.c:1626 #, c-format msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" msgstr "" -#: peigen.c:1627 pepigen.c:1627 +#: peigen.c:1628 pepigen.c:1628 #, c-format msgid "" " vma:\t\tBegin End EH EH PrologEnd Exception\n" " \t\tAddress Address Handler Data Address Mask\n" msgstr "" -#: peigen.c:1697 pepigen.c:1697 +#: peigen.c:1698 pepigen.c:1698 #, c-format msgid " Register save millicode" msgstr "" -#: peigen.c:1700 pepigen.c:1700 +#: peigen.c:1701 pepigen.c:1701 #, c-format msgid " Register restore millicode" msgstr "" -#: peigen.c:1703 pepigen.c:1703 +#: peigen.c:1704 pepigen.c:1704 #, c-format msgid " Glue code sequence" msgstr "" -#: peigen.c:1755 pepigen.c:1755 +#: peigen.c:1756 pepigen.c:1756 #, c-format msgid "" "\n" @@ -3217,14 +3140,14 @@ msgid "" "PE File Base Relocations (interpreted .reloc section contents)\n" msgstr "" -#: peigen.c:1785 pepigen.c:1785 +#: peigen.c:1786 pepigen.c:1786 #, c-format msgid "" "\n" "Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" msgstr "" -#: peigen.c:1798 pepigen.c:1798 +#: peigen.c:1799 pepigen.c:1799 #, c-format msgid "\treloc %4d offset %4x [%4lx] %s" msgstr "" @@ -3232,7 +3155,7 @@ msgstr "" #. The MS dumpbin program reportedly ands with 0xff0f before #. printing the characteristics field. Not sure why. No reason to #. emulate it here. -#: peigen.c:1838 pepigen.c:1838 +#: peigen.c:1839 pepigen.c:1839 #, c-format msgid "" "\n" Binary files binutils-2.15.91.0.2/bfd/po/da.gmo and binutils-2.15.92.0.2/bfd/po/da.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/es.gmo and binutils-2.15.92.0.2/bfd/po/es.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/fr.gmo and binutils-2.15.92.0.2/bfd/po/fr.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/ja.gmo and binutils-2.15.92.0.2/bfd/po/ja.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/ro.gmo and binutils-2.15.92.0.2/bfd/po/ro.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/sv.gmo and binutils-2.15.92.0.2/bfd/po/sv.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/tr.gmo and binutils-2.15.92.0.2/bfd/po/tr.gmo differ Binary files binutils-2.15.91.0.2/bfd/po/zh_CN.gmo and binutils-2.15.92.0.2/bfd/po/zh_CN.gmo differ diff -uprN binutils-2.15.91.0.2/bfd/reloc.c binutils-2.15.92.0.2/bfd/reloc.c --- binutils-2.15.91.0.2/bfd/reloc.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/reloc.c 2004-09-27 13:46:06.000000000 -0700 @@ -2608,12 +2608,51 @@ ENUMX ENUMDOC These relocs are only used within the ARM assembler. They are not (at present) written to any object files. +ENUM + BFD_RELOC_ARM_TARGET1 +ENUMDOC + Pc-relative or absolute relocation depending on target. Used for + entries in .init_array sections. +ENUM + BFD_RELOC_ARM_ROSEGREL32 +ENUMDOC + Read-only segment base relative address. +ENUM + BFD_RELOC_ARM_SBREL32 +ENUMDOC + Data segment base relative address. +ENUM + BFD_RELOC_ARM_TARGET2 +ENUMDOC + This reloc is used for References to RTTI dta from exception handling + tables. The actual definition depends on the target. It may be a + pc-relative or some form of GOT-indirect relocation. +ENUM + BFD_RELOC_ARM_PREL31 +ENUMDOC + 31-bit PC relative address. ENUM BFD_RELOC_SH_PCDISP8BY2 ENUMX BFD_RELOC_SH_PCDISP12BY2 ENUMX + BFD_RELOC_SH_IMM3 +ENUMX + BFD_RELOC_SH_IMM3U +ENUMX + BFD_RELOC_SH_DISP12 +ENUMX + BFD_RELOC_SH_DISP12BY2 +ENUMX + BFD_RELOC_SH_DISP12BY4 +ENUMX + BFD_RELOC_SH_DISP12BY8 +ENUMX + BFD_RELOC_SH_DISP20 +ENUMX + BFD_RELOC_SH_DISP20BY8 +ENUMX BFD_RELOC_SH_IMM4 ENUMX BFD_RELOC_SH_IMM4BY2 @@ -4066,6 +4105,10 @@ ENUMX BFD_RELOC_MSP430_16_PCREL_BYTE ENUMX BFD_RELOC_MSP430_16_BYTE +ENUMX + BFD_RELOC_MSP430_2X_PCREL +ENUMX + BFD_RELOC_MSP430_RL_PCREL ENUMDOC msp430 specific relocation codes diff -uprN binutils-2.15.91.0.2/bfd/section.c binutils-2.15.92.0.2/bfd/section.c --- binutils-2.15.91.0.2/bfd/section.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/section.c 2004-09-15 12:05:03.000000000 -0700 @@ -1123,17 +1123,17 @@ FUNCTION SYNOPSIS asection *bfd_sections_find_if (bfd *abfd, - bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj), + bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj), void *obj); DESCRIPTION - Call the provided function @var{func} for each section + Call the provided function @var{operation} for each section attached to the BFD @var{abfd}, passing @var{obj} as an argument. The function will be called as if by -| func (abfd, the_section, obj); +| operation (abfd, the_section, obj); - It returns the first section for which @var{func} returns true. + It returns the first section for which @var{operation} returns true. */ diff -uprN binutils-2.15.91.0.2/bfd/simple.c binutils-2.15.92.0.2/bfd/simple.c --- binutils-2.15.91.0.2/bfd/simple.c 2004-07-27 21:36:08.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/simple.c 2004-09-27 13:46:06.000000000 -0700 @@ -92,8 +92,12 @@ simple_save_output_info (bfd *abfd ATTRI struct saved_output_info *output_info = ptr; output_info[section->index].offset = section->output_offset; output_info[section->index].section = section->output_section; - section->output_offset = 0; - section->output_section = section; + if ((section->flags & SEC_DEBUGGING) != 0 + || section->output_section == NULL) + { + section->output_offset = 0; + section->output_section = section; + } } static void @@ -117,13 +121,10 @@ SYNOPSIS DESCRIPTION Returns the relocated contents of section @var{sec}. The symbols in @var{symbol_table} will be used, or the symbols from @var{abfd} if - @var{symbol_table} is NULL. The output offsets for all sections will + @var{symbol_table} is NULL. The output offsets for debug sections will be temporarily reset to 0. The result will be stored at @var{outbuf} or allocated with @code{bfd_malloc} if @var{outbuf} is @code{NULL}. - Generally all sections in @var{abfd} should have their - @code{output_section} pointing back to the original section. - Returns @code{NULL} on a fatal error; ignores errors applying particular relocations. */ diff -uprN binutils-2.15.91.0.2/bfd/som.c binutils-2.15.92.0.2/bfd/som.c --- binutils-2.15.91.0.2/bfd/som.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/som.c 2004-09-15 12:05:03.000000000 -0700 @@ -1913,6 +1913,7 @@ setup_sections (abfd, file_hdr, current_ struct som_subspace_dictionary_record subspace, save_subspace; unsigned int subspace_index; asection *space_asect; + bfd_size_type space_size = 0; char *newname; /* Read the space dictionary element. */ @@ -2104,6 +2105,9 @@ setup_sections (abfd, file_hdr, current_ subspace_asect->alignment_power = exact_log2 (subspace.alignment); if (subspace_asect->alignment_power == (unsigned) -1) goto error_return; + + /* Keep track of the accumulated sizes of the sections. */ + space_size += subspace.subspace_length; } /* This can happen for a .o which defines symbols in otherwise @@ -2111,11 +2115,25 @@ setup_sections (abfd, file_hdr, current_ if (!save_subspace.file_loc_init_value) space_asect->size = 0; else - /* Setup the size for the space section based upon the info in the - last subspace of the space. */ - space_asect->size = (save_subspace.subspace_start - - space_asect->vma - + save_subspace.subspace_length); + { + if (file_hdr->a_magic != RELOC_MAGIC) + { + /* Setup the size for the space section based upon the info + in the last subspace of the space. */ + space_asect->size = (save_subspace.subspace_start + - space_asect->vma + + save_subspace.subspace_length); + } + else + { + /* The subspace_start field is not initialised in relocatable + only objects, so it cannot be used for length calculations. + Instead we use the space_size value which we have been + accumulating. This isn't an accurate estimate since it + ignores alignment and ordering issues. */ + space_asect->size = space_size; + } + } } /* Now that we've read in all the subspace records, we need to assign a target index to each subspace. */ diff -uprN binutils-2.15.91.0.2/bfd/srec.c binutils-2.15.92.0.2/bfd/srec.c --- binutils-2.15.91.0.2/bfd/srec.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/srec.c 2004-09-15 12:05:03.000000000 -0700 @@ -299,8 +299,8 @@ srec_bad_byte (abfd, lineno, c, error) buf[1] = '\0'; } (*_bfd_error_handler) - (_("%s:%d: Unexpected character `%s' in S-record file\n"), - bfd_archive_filename (abfd), lineno, buf); + (_("%B:%d: Unexpected character `%s' in S-record file\n"), + abfd, lineno, buf); bfd_set_error (bfd_error_bad_value); } } diff -uprN binutils-2.15.91.0.2/bfd/stabs.c binutils-2.15.92.0.2/bfd/stabs.c --- binutils-2.15.91.0.2/bfd/stabs.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/stabs.c 2004-09-15 12:05:03.000000000 -0700 @@ -293,10 +293,8 @@ _bfd_link_section_stabs (abfd, sinfo, st if (symstroff >= stabstrsec->size) { (*_bfd_error_handler) - (_("%s(%s+0x%lx): Stabs entry has invalid string index."), - bfd_archive_filename (abfd), - bfd_get_section_name (abfd, stabsec), - (long) (sym - stabbuf)); + (_("%B(%A+0x%lx): Stabs entry has invalid string index."), + abfd, stabsec, (long) (sym - stabbuf)); bfd_set_error (bfd_error_bad_value); goto error_return; } diff -uprN binutils-2.15.91.0.2/bfd/targets.c binutils-2.15.92.0.2/bfd/targets.c --- binutils-2.15.91.0.2/bfd/targets.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/targets.c 2004-09-15 12:05:03.000000000 -0700 @@ -475,7 +475,8 @@ BFD_JUMP_TABLE macros. . (bfd *, struct bfd_symbol **); . {* Create synthetized symbols. *} . long (*_bfd_get_synthetic_symtab) -. (bfd *, struct bfd_symbol **, struct bfd_symbol **); +. (bfd *, long, struct bfd_symbol **, long, struct bfd_symbol **, +. struct bfd_symbol **); . {* Get the amount of memory required to hold the dynamic relocs. *} . long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *); . {* Read in the dynamic relocs. *} @@ -534,6 +535,7 @@ extern const bfd_target bfd_elf32_big_ge extern const bfd_target bfd_elf32_bigarc_vec; extern const bfd_target bfd_elf32_bigarm_oabi_vec; extern const bfd_target bfd_elf32_bigarm_vec; +extern const bfd_target bfd_elf32_bigarm_symbian_vec; extern const bfd_target bfd_elf32_bigmips_vec; extern const bfd_target bfd_elf32_cr16c_vec; extern const bfd_target bfd_elf32_cris_vec; @@ -546,6 +548,7 @@ extern const bfd_target bfd_elf32_frv_ve extern const bfd_target bfd_elf32_frvfdpic_vec; extern const bfd_target bfd_elf32_h8300_vec; extern const bfd_target bfd_elf32_hppa_linux_vec; +extern const bfd_target bfd_elf32_hppa_nbsd_vec; extern const bfd_target bfd_elf32_hppa_vec; extern const bfd_target bfd_elf32_i370_vec; extern const bfd_target bfd_elf32_i386_freebsd_vec; @@ -561,6 +564,7 @@ extern const bfd_target bfd_elf32_little extern const bfd_target bfd_elf32_littlearc_vec; extern const bfd_target bfd_elf32_littlearm_oabi_vec; extern const bfd_target bfd_elf32_littlearm_vec; +extern const bfd_target bfd_elf32_littlearm_symbian_vec; extern const bfd_target bfd_elf32_littlemips_vec; extern const bfd_target bfd_elf32_m32r_vec; extern const bfd_target bfd_elf32_m32rle_vec; @@ -829,6 +833,7 @@ static const bfd_target * const _bfd_tar &bfd_elf32_bigarc_vec, &bfd_elf32_bigarm_oabi_vec, &bfd_elf32_bigarm_vec, + &bfd_elf32_bigarm_symbian_vec, &bfd_elf32_bigmips_vec, &bfd_elf32_cr16c_vec, &bfd_elf32_cris_vec, @@ -841,6 +846,7 @@ static const bfd_target * const _bfd_tar &bfd_elf32_frvfdpic_vec, &bfd_elf32_h8300_vec, &bfd_elf32_hppa_linux_vec, + &bfd_elf32_hppa_nbsd_vec, &bfd_elf32_hppa_vec, &bfd_elf32_i370_vec, &bfd_elf32_i386_freebsd_vec, @@ -858,6 +864,7 @@ static const bfd_target * const _bfd_tar &bfd_elf32_littlearc_vec, &bfd_elf32_littlearm_oabi_vec, &bfd_elf32_littlearm_vec, + &bfd_elf32_littlearm_symbian_vec, &bfd_elf32_littlemips_vec, &bfd_elf32_m32r_vec, &bfd_elf32_m32rle_vec, diff -uprN binutils-2.15.91.0.2/bfd/version.h binutils-2.15.92.0.2/bfd/version.h --- binutils-2.15.91.0.2/bfd/version.h 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/version.h 2004-09-27 13:46:06.000000000 -0700 @@ -1,3 +1,3 @@ -#define BFD_VERSION_DATE 20040727 +#define BFD_VERSION_DATE 20040927 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_string@ diff -uprN binutils-2.15.91.0.2/bfd/xcofflink.c binutils-2.15.92.0.2/bfd/xcofflink.c --- binutils-2.15.91.0.2/bfd/xcofflink.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/bfd/xcofflink.c 2004-09-27 13:46:07.000000000 -0700 @@ -1240,8 +1240,8 @@ xcoff_link_add_symbols (abfd, info) if (enclosing == NULL) { (*_bfd_error_handler) - (_("%s: `%s' has line numbers but no enclosing section"), - bfd_archive_filename (abfd), name); + (_("%B: `%s' has line numbers but no enclosing section"), + abfd, name); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1293,8 +1293,8 @@ xcoff_link_add_symbols (abfd, info) if (sym.n_numaux == 0) { (*_bfd_error_handler) - (_("%s: class %d symbol `%s' has no aux entries"), - bfd_archive_filename (abfd), sym.n_sclass, name); + (_("%B: class %d symbol `%s' has no aux entries"), + abfd, sym.n_sclass, name); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1316,8 +1316,8 @@ xcoff_link_add_symbols (abfd, info) { default: (*_bfd_error_handler) - (_("%s: symbol `%s' has unrecognized csect type %d"), - bfd_archive_filename (abfd), name, smtyp); + (_("%B: symbol `%s' has unrecognized csect type %d"), + abfd, name, smtyp); bfd_set_error (bfd_error_bad_value); goto error_return; @@ -1328,8 +1328,8 @@ xcoff_link_add_symbols (abfd, info) || aux.x_csect.x_scnlen.l != 0) { (*_bfd_error_handler) - (_("%s: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"), - bfd_archive_filename (abfd), name, sym.n_sclass, sym.n_scnum, + (_("%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d"), + abfd, name, sym.n_sclass, sym.n_scnum, aux.x_csect.x_scnlen.l); bfd_set_error (bfd_error_bad_value); goto error_return; @@ -1364,9 +1364,8 @@ xcoff_link_add_symbols (abfd, info) || aux.x_csect.x_scnlen.l != 0) { (*_bfd_error_handler) - (_("%s: XMC_TC0 symbol `%s' is class %d scnlen %d"), - bfd_archive_filename (abfd), name, sym.n_sclass, - aux.x_csect.x_scnlen.l); + (_("%B: XMC_TC0 symbol `%s' is class %d scnlen %d"), + abfd, name, sym.n_sclass, aux.x_csect.x_scnlen.l); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1516,8 +1515,8 @@ xcoff_link_add_symbols (abfd, info) > enclosing->vma + enclosing->size))) { (*_bfd_error_handler) - (_("%s: csect `%s' not in enclosing section"), - bfd_archive_filename (abfd), name); + (_("%B: csect `%s' not in enclosing section"), + abfd, name); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1623,8 +1622,8 @@ xcoff_link_add_symbols (abfd, info) if (bad) { (*_bfd_error_handler) - (_("%s: misplaced XTY_LD `%s'"), - bfd_archive_filename (abfd), name); + (_("%B: misplaced XTY_LD `%s'"), + abfd, name); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -1826,7 +1825,7 @@ xcoff_link_add_symbols (abfd, info) section = bfd_und_section_ptr; value = 0; } - else if ((*sym_hash)->root.und_next != NULL + else if ((*sym_hash)->root.u.undef.next != NULL || info->hash->undefs_tail == &(*sym_hash)->root) { /* This symbol has been referenced. In this @@ -1954,8 +1953,8 @@ xcoff_link_add_symbols (abfd, info) if (*rel_csect == NULL) { (*_bfd_error_handler) - (_("%s: reloc %s:%d not in csect"), - bfd_archive_filename (abfd), o->name, i); + (_("%B: reloc %s:%d not in csect"), + abfd, o->name, i); bfd_set_error (bfd_error_bad_value); goto error_return; } @@ -5283,9 +5282,8 @@ xcoff_link_input_bfd (finfo, input_bfd) else { (*_bfd_error_handler) - (_("%s: loader reloc in unrecognized section `%s'"), - bfd_archive_filename (input_bfd), - sec->name); + (_("%B: loader reloc in unrecognized section `%A'"), + input_bfd, sec); bfd_set_error (bfd_error_nonrepresentable_section); return FALSE; } @@ -5305,8 +5303,8 @@ xcoff_link_input_bfd (finfo, input_bfd) if (h->ldindx < 0 && ! quiet) { (*_bfd_error_handler) - (_("%s: `%s' in loader reloc but not loader sym"), - bfd_archive_filename (input_bfd), + (_("%B: `%s' in loader reloc but not loader sym"), + input_bfd, h->root.root.string); bfd_set_error (bfd_error_bad_value); return FALSE; @@ -5320,10 +5318,8 @@ xcoff_link_input_bfd (finfo, input_bfd) && ! quiet) { (*_bfd_error_handler) - (_("%s: loader reloc in read-only section %s"), - bfd_archive_filename (input_bfd), - bfd_get_section_name (finfo->output_bfd, - o->output_section)); + (_("%B: loader reloc in read-only section %A"), + input_bfd, o->output_section); bfd_set_error (bfd_error_invalid_operation); return FALSE; } diff -uprN binutils-2.15.91.0.2/binutils/ChangeLog binutils-2.15.92.0.2/binutils/ChangeLog --- binutils-2.15.91.0.2/binutils/ChangeLog 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/ChangeLog 2004-09-27 13:46:07.000000000 -0700 @@ -1,3 +1,105 @@ +2004-09-22 Alan Modra + + * readelf.c (process_program_headers): Don't include .tbss in non-TLS + segments. + +2004-09-17 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * po/binutils.pot: Regenerate. + +2004-09-12 Alan Modra + + * readelf.c (decode_location_expression): Sign extend value for + DW_OP_const1s, DW_OP_const2s, DW_OP_const4s, DW_OP_bra, DW_OP_skip. + +2004-09-09 Nick Clifton + + PR 363 + * ar.c (replace_members): Do not use get_file_size as + ar_emul_append correctly handles missing files. + +2004-09-07 H.J. Lu + + * configure: Regenerated with autconfig 2.13. + +2004-09-06 Danny Smith + + * doc/binutils.texi (dlltool): Update --add-underscore, --kill-at + documentation. + +2004-09-06 Michael Wardle + + * doc/binutils.texi (objdump): Document that the -x switch includes + the effect of the -p switch. + +2004-09-04 Danny Smith + + * dlltool.c (make_one_lib_file): Test if internal_name was + specified by user before using it. + +2004-09-02 Carlo Wood + + PR binutils/351 + * dlltool.c (make_one_lib_file): For IDATA6 take the name from + exp->internal_name if it is present. + +2004-09-02 Alexandre Oliva + + * MAINTAINERS: Add self as co-maintainer of FR-V. + * readelf.c (get_machine_flags): Print FR-V cpu types. + +2004-08-28 Alan Modra + + * nm.c (show_synthetic): New var. + (long_options): Add "synthetic". + (usage): Here too. + (display_rel_file): Handle show_synthetic. + +2004-08-28 Alan Modra + + * objdump.c (dump_bfd): Pass both symbol tables to + bfd_get_synthetic_symtab. + +2004-08-17 Jakub Jelinek + + * objdump.c (dump_bfd): For relocatable objects, pass syms instead + of dynsyms to bfd_get_synthetic_symtab. + +2004-08-16 Alan Modra + + * readelf.c (debug_apply_rela_addends): New function, extracted from.. + (display_debug_info): ..here. + (display_debug_frames): Call debug_apply_rela_addends. Don't do + DW_EH_PE_pcrel adjustment for ET_REL. + +2004-08-06 Andreas Schwab + + * readelf.c (dump_relocations): Fix typo when calculating + sec_index. + +2004-08-02 Jakub Bogusz + + * dllwrap.c (deduce_name): Fix typos introduced when program_name + was renamed to prog_name. + +2004-07-29 Alexandre Oliva + + * readelf.c (get_machine_flags ): Handle EF_SH2A and + EF_SH2A_NOFPU. + +2004-07-28 Alexandre Oliva + + 2003-07-08 Alexandre Oliva + * readelf.c (get_machine_flags + * readelf.c (get_machine_flags ): Print SH ISA name. + 2004-07-21 H.J. Lu * objcopy.c (filter_symbols): Use bfd_coff_get_comdat_section diff -uprN binutils-2.15.91.0.2/binutils/MAINTAINERS binutils-2.15.92.0.2/binutils/MAINTAINERS --- binutils-2.15.91.0.2/binutils/MAINTAINERS 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/MAINTAINERS 2004-09-15 12:05:03.000000000 -0700 @@ -66,6 +66,7 @@ responsibility among the other maintaine DWARF2 Jason Merrill FR30 Dave Brolley FRV Dave Brolley + FRV Alexandre Oliva HPPA Dave Anglin HPPA elf32 Alan Modra HPPA elf64 Jeff Law [Basic maintainance only] diff -uprN binutils-2.15.91.0.2/binutils/Makefile.am binutils-2.15.92.0.2/binutils/Makefile.am --- binutils-2.15.91.0.2/binutils/Makefile.am 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/Makefile.am 2004-09-27 13:46:07.000000000 -0700 @@ -477,9 +477,9 @@ readelf.o: readelf.c ../bfd/bfd.h $(INCD $(INCDIR)/elf/or32.h $(INCDIR)/elf/pj.h $(INCDIR)/elf/ppc.h \ $(INCDIR)/elf/ppc64.h $(INCDIR)/elf/s390.h $(INCDIR)/elf/sh.h \ $(INCDIR)/elf/sparc.h $(INCDIR)/elf/v850.h $(INCDIR)/elf/vax.h \ - $(INCDIR)/elf/x86-64.h $(INCDIR)/elf/xstormy16.h $(INCDIR)/elf/iq2000.h \ - $(INCDIR)/elf/xtensa.h $(INCDIR)/aout/ar.h bucomm.h \ - config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ + $(INCDIR)/elf/x86-64.h $(INCDIR)/elf/xstormy16.h $(INCDIR)/elf/crx.h \ + $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/xtensa.h $(INCDIR)/aout/ar.h \ + bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ $(INCDIR)/libiberty.h unwind-ia64.h rename.o: rename.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \ diff -uprN binutils-2.15.91.0.2/binutils/Makefile.in binutils-2.15.92.0.2/binutils/Makefile.in --- binutils-2.15.91.0.2/binutils/Makefile.in 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/Makefile.in 2004-09-27 13:46:07.000000000 -0700 @@ -74,6 +74,7 @@ BUILD_WINDRES = @BUILD_WINDRES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CPP = @CPP@ CXX = @CXX@ CXXCPP = @CXXCPP@ DATADIRNAME = @DATADIRNAME@ @@ -87,6 +88,7 @@ GCJ = @GCJ@ GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ +GNATBIND = @GNATBIND@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ HDEFINES = @HDEFINES@ @@ -95,6 +97,7 @@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLOBJS = @INTLOBJS@ LIBTOOL = @LIBTOOL@ +LN = @LN@ LN_S = @LN_S@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -114,7 +117,15 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ bfdincludedir = @bfdincludedir@ bfdlibdir = @bfdlibdir@ +build_noncanonical = @build_noncanonical@ +build_subdir = @build_subdir@ +do_compare = @do_compare@ +host_noncanonical = @host_noncanonical@ +host_subdir = @host_subdir@ l = @l@ +ncn_cv_ = @ncn_cv_@ +target_noncanonical = @target_noncanonical@ +target_subdir = @target_subdir@ INTLLIBS = @INTLLIBS@ @@ -1205,9 +1216,9 @@ readelf.o: readelf.c ../bfd/bfd.h $(INCD $(INCDIR)/elf/or32.h $(INCDIR)/elf/pj.h $(INCDIR)/elf/ppc.h \ $(INCDIR)/elf/ppc64.h $(INCDIR)/elf/s390.h $(INCDIR)/elf/sh.h \ $(INCDIR)/elf/sparc.h $(INCDIR)/elf/v850.h $(INCDIR)/elf/vax.h \ - $(INCDIR)/elf/x86-64.h $(INCDIR)/elf/xstormy16.h $(INCDIR)/elf/iq2000.h \ - $(INCDIR)/elf/xtensa.h $(INCDIR)/aout/ar.h bucomm.h \ - config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ + $(INCDIR)/elf/x86-64.h $(INCDIR)/elf/xstormy16.h $(INCDIR)/elf/crx.h \ + $(INCDIR)/elf/iq2000.h $(INCDIR)/elf/xtensa.h $(INCDIR)/aout/ar.h \ + bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \ $(INCDIR)/libiberty.h unwind-ia64.h rename.o: rename.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \ $(INCDIR)/symcat.h bucomm.h config.h $(INCDIR)/bin-bugs.h \ diff -uprN binutils-2.15.91.0.2/binutils/ar.c binutils-2.15.92.0.2/binutils/ar.c --- binutils-2.15.91.0.2/binutils/ar.c 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.92.0.2/binutils/ar.c 2004-09-15 12:05:03.000000000 -0700 @@ -1268,7 +1268,7 @@ static void replace_members (bfd *arch, char **files_to_move, bfd_boolean quick) { bfd_boolean changed = FALSE; - bfd **after_bfd; /* New entries go after this one */ + bfd **after_bfd; /* New entries go after this one. */ bfd *current; bfd **current_ptr; @@ -1325,8 +1325,7 @@ replace_members (bfd *arch, char **files /* Add to the end of the archive. */ after_bfd = get_pos_bfd (&arch->next, pos_end, NULL); - if (get_file_size (* files_to_move) > 0 - && ar_emul_append (after_bfd, *files_to_move, verbose)) + if (ar_emul_append (after_bfd, *files_to_move, verbose)) changed = TRUE; next_file:; diff -uprN binutils-2.15.91.0.2/binutils/config.in binutils-2.15.92.0.2/binutils/config.in --- binutils-2.15.91.0.2/binutils/config.in 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/config.in 2004-09-27 13:46:07.000000000 -0700 @@ -136,12 +136,6 @@ /* Define if you have the header file. */ #undef HAVE_SYS_PARAM_H -/* Define if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TYPES_H - /* Define if you have the header file. */ #undef HAVE_UNISTD_H diff -uprN binutils-2.15.91.0.2/binutils/configure binutils-2.15.92.0.2/binutils/configure --- binutils-2.15.91.0.2/binutils/configure 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/configure 2004-09-15 12:05:03.000000000 -0700 @@ -1507,7 +1507,7 @@ darwin* | rhapsody*) esac ;; -freebsd* ) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -1575,7 +1575,7 @@ linux-gnu*) lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; -netbsd*) +netbsd* | knetbsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' else diff -uprN binutils-2.15.91.0.2/binutils/dlltool.c binutils-2.15.92.0.2/binutils/dlltool.c --- binutils-2.15.91.0.2/binutils/dlltool.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/dlltool.c 2004-09-15 12:05:03.000000000 -0700 @@ -2517,16 +2517,22 @@ make_one_lib_file (export_type *exp, int why it did that, and it does not match what I see in programs compiled with the MS tools. */ int idx = exp->hint; - si->size = strlen (xlate (exp->name)) + 3; + /* If the user has specified an internal name, use it. + Ignore command line name translation options. */ + char const * internal_name + = exp->internal_name != exp->name + ? exp->internal_name : xlate (exp->name); + + si->size = strlen (internal_name) + 3; si->data = xmalloc (si->size); si->data[0] = idx & 0xff; si->data[1] = idx >> 8; - strcpy (si->data + 2, xlate (exp->name)); + strcpy (si->data + 2, internal_name); } break; case IDATA7: si->size = 4; - si->data =xmalloc (4); + si->data = xmalloc (4); memset (si->data, 0, si->size); rel = xmalloc (sizeof (arelent)); rpp = xmalloc (sizeof (arelent *) * 2); diff -uprN binutils-2.15.91.0.2/binutils/dllwrap.c binutils-2.15.92.0.2/binutils/dllwrap.c --- binutils-2.15.91.0.2/binutils/dllwrap.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/dllwrap.c 2004-09-15 12:05:03.000000000 -0700 @@ -253,7 +253,7 @@ deduce_name (const char * name) dash = NULL; slash = NULL; - for (cp = name; *cp != '\0'; ++cp) + for (cp = prog_name; *cp != '\0'; ++cp) { if (*cp == '-') dash = cp; @@ -272,17 +272,17 @@ deduce_name (const char * name) cmd = NULL; if (dash != NULL) - /* First, try looking for a prefixed PROG_NAME in the - PROGRAM_NAME directory, with the same prefix as PROGRAM_NAME. */ - cmd = look_for_prog (name, name, dash - name + 1); + /* First, try looking for a prefixed NAME in the + PROG_NAME directory, with the same prefix as PROG_NAME. */ + cmd = look_for_prog (name, prog_name, dash - prog_name + 1); if (slash != NULL && cmd == NULL) - /* Next, try looking for a PROG_NAME in the same directory as + /* Next, try looking for a NAME in the same directory as that of this program. */ - cmd = look_for_prog (name, name, slash - name + 1); + cmd = look_for_prog (name, prog_name, slash - prog_name + 1); if (cmd == NULL) - /* Just return PROG_NAME as is. */ + /* Just return NAME as is. */ cmd = xstrdup (name); return cmd; diff -uprN binutils-2.15.91.0.2/binutils/doc/Makefile.in binutils-2.15.92.0.2/binutils/doc/Makefile.in --- binutils-2.15.91.0.2/binutils/doc/Makefile.in 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.92.0.2/binutils/doc/Makefile.in 2004-09-27 13:46:07.000000000 -0700 @@ -75,6 +75,7 @@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CPP = @CPP@ CXX = @CXX@ CXXCPP = @CXXCPP@ DATADIRNAME = @DATADIRNAME@ @@ -89,6 +90,7 @@ GCJ = @GCJ@ GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ +GNATBIND = @GNATBIND@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ HDEFINES = @HDEFINES@ @@ -99,6 +101,7 @@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ LEX = @LEX@ LIBTOOL = @LIBTOOL@ +LN = @LN@ LN_S = @LN_S@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -120,7 +123,15 @@ WARN_CFLAGS = @WARN_CFLAGS@ YACC = @YACC@ bfdincludedir = @bfdincludedir@ bfdlibdir = @bfdlibdir@ +build_noncanonical = @build_noncanonical@ +build_subdir = @build_subdir@ +do_compare = @do_compare@ +host_noncanonical = @host_noncanonical@ +host_subdir = @host_subdir@ l = @l@ +ncn_cv_ = @ncn_cv_@ +target_noncanonical = @target_noncanonical@ +target_subdir = @target_subdir@ AUTOMAKE_OPTIONS = cygnus diff -uprN binutils-2.15.91.0.2/binutils/doc/binutils.texi binutils-2.15.92.0.2/binutils/doc/binutils.texi --- binutils-2.15.91.0.2/binutils/doc/binutils.texi 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/doc/binutils.texi 2004-09-15 12:05:03.000000000 -0700 @@ -1847,7 +1847,7 @@ Print the version number of @command{obj @cindex header information, all Display all available header information, including the symbol table and relocation entries. Using @option{-x} is equivalent to specifying all of -@option{-a -f -h -r -t}. +@option{-a -f -h -p -r -t}. @item -w @itemx --wide @@ -3042,13 +3042,15 @@ means! @itemx --add-underscore Specifies that when @command{dlltool} is creating the exports file it should prepend an underscore to the names of the exported functions. +The option is ignored for symbols with an explicit internal name +specification provided in a .def file. @item -k @itemx --kill-at Specifies that when @command{dlltool} is creating the exports file it -should not append the string @samp{@@ }. These numbers are -called ordinal numbers and they represent another way of accessing the -function in a DLL, other than by name. +should not append the string @samp{@@ } The option is ignored +for symbols with an explicit internal name specification provided in a +.def file. @item -A @itemx --add-stdcall-alias diff -uprN binutils-2.15.91.0.2/binutils/nm.c binutils-2.15.92.0.2/binutils/nm.c --- binutils-2.15.91.0.2/binutils/nm.c 2004-01-14 13:07:44.000000000 -0800 +++ binutils-2.15.92.0.2/binutils/nm.c 2004-09-15 12:05:03.000000000 -0700 @@ -1,6 +1,6 @@ /* nm.c -- Describe symbol table of a rel file. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003 + 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -177,6 +177,7 @@ static int undefined_only = 0; /* Print static int dynamic = 0; /* Print dynamic symbols. */ static int show_version = 0; /* Show the version number. */ static int show_stats = 0; /* Show statistics. */ +static int show_synthetic = 0; /* Display synthesized symbols too. */ static int line_numbers = 0; /* Print line numbers for symbols. */ /* When to print the names of files. Not mutually exclusive in SYSV format. */ @@ -234,6 +235,7 @@ static struct option long_options[] = {"reverse-sort", no_argument, &reverse_sort, 1}, {"size-sort", no_argument, &sort_by_size, 1}, {"stats", no_argument, &show_stats, 1}, + {"synthetic", no_argument, &show_synthetic, 1}, {"target", required_argument, 0, OPTION_TARGET}, {"defined-only", no_argument, &defined_only, 1}, {"undefined-only", no_argument, &undefined_only, 1}, @@ -273,6 +275,7 @@ usage (FILE *stream, int status) -S, --print-size Print size of defined symbols\n\ -s, --print-armap Include index for symbols from archive members\n\ --size-sort Sort symbols by size\n\ + --synthetic Display synthetic symbols as well\n\ -t, --radix=RADIX Use RADIX for printing symbol values\n\ --target=BFDNAME Specify the target object format as BFDNAME\n\ -u, --undefined-only Display only undefined symbols\n\ @@ -958,6 +961,45 @@ display_rel_file (bfd *abfd, bfd *archiv return; } + if (show_synthetic && size == sizeof (asymbol *)) + { + asymbol *synthsyms; + long synth_count; + asymbol **static_syms = NULL; + asymbol **dyn_syms = NULL; + long static_count = 0; + long dyn_count = 0; + + if (dynamic) + { + dyn_count = symcount; + dyn_syms = minisyms; + } + else + { + static_count = symcount; + static_syms = minisyms; + } + synth_count = bfd_get_synthetic_symtab (abfd, static_count, static_syms, + dyn_count, dyn_syms, &synthsyms); + if (synth_count > 0) + { + asymbol **symp; + void *new_mini; + long i; + + new_mini = xmalloc ((symcount + synth_count + 1) * sizeof (*symp)); + symp = new_mini; + memcpy (symp, minisyms, symcount * sizeof (*symp)); + symp += symcount; + for (i = 0; i < synth_count; i++) + *symp++ = synthsyms + i; + *symp = 0; + minisyms = new_mini; + symcount += synth_count; + } + } + /* Discard the symbols we don't want to print. It's OK to do this in place; we'll free the storage anyway (after printing). */ diff -uprN binutils-2.15.91.0.2/binutils/objdump.c binutils-2.15.92.0.2/binutils/objdump.c --- binutils-2.15.91.0.2/binutils/objdump.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/objdump.c 2004-09-15 12:05:03.000000000 -0700 @@ -2565,10 +2565,12 @@ dump_bfd (bfd *abfd) if (dump_dynamic_symtab || dump_dynamic_reloc_info || (disassemble && bfd_get_dynamic_symtab_upper_bound (abfd) > 0)) dynsyms = slurp_dynamic_symtab (abfd); - if (disassemble && dynsymcount > 0) + if (disassemble) { - synthcount = bfd_get_synthetic_symtab (abfd, dynsyms, &synthsyms); - if (synthcount < 0) synthcount = 0; + synthcount = bfd_get_synthetic_symtab (abfd, symcount, syms, + dynsymcount, dynsyms, &synthsyms); + if (synthcount < 0) + synthcount = 0; } if (dump_symtab) diff -uprN binutils-2.15.91.0.2/binutils/po/binutils.pot binutils-2.15.92.0.2/binutils/po/binutils.pot --- binutils-2.15.91.0.2/binutils/po/binutils.pot 2004-04-12 12:56:34.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/po/binutils.pot 2004-09-27 13:46:07.000000000 -0700 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-03-19 15:01+1030\n" +"POT-Creation-Date: 2004-09-12 15:24+0930\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,8 +47,8 @@ msgid "" "\n" msgstr "" -#: addr2line.c:88 ar.c:268 coffdump.c:467 nlmconv.c:1108 objcopy.c:466 -#: objcopy.c:500 readelf.c:2426 size.c:102 srconv.c:1866 strings.c:649 +#: addr2line.c:88 ar.c:268 coffdump.c:467 nlmconv.c:1108 objcopy.c:467 +#: objcopy.c:501 readelf.c:2548 size.c:102 srconv.c:1866 strings.c:650 #: sysdump.c:747 windres.c:668 #, c-format msgid "Report bugs to %s\n" @@ -59,7 +59,7 @@ msgstr "" msgid "%s: can not get addresses from archive" msgstr "" -#: addr2line.c:311 nm.c:393 objdump.c:2752 +#: addr2line.c:311 nm.c:396 objdump.c:2786 #, c-format msgid "unknown demangling style `%s'" msgstr "" @@ -247,7 +247,7 @@ msgstr "" msgid "creating %s" msgstr "" -#: ar.c:820 ar.c:870 ar.c:1302 objcopy.c:1585 +#: ar.c:820 ar.c:870 ar.c:1302 objcopy.c:1588 #, c-format msgid "internal stat error on %s" msgstr "" @@ -285,7 +285,7 @@ msgstr "" msgid "no entry %s in archive %s!" msgstr "" -#: ar.c:1395 +#: ar.c:1394 #, c-format msgid "%s: no archive map to update" msgstr "" @@ -532,593 +532,598 @@ msgstr "" msgid "debug_write_type: illegal type encountered" msgstr "" -#: dlltool.c:767 dlltool.c:791 dlltool.c:816 +#: dlltool.c:768 dlltool.c:792 dlltool.c:821 #, c-format msgid "Internal error: Unknown machine type: %d" msgstr "" -#: dlltool.c:852 +#: dlltool.c:857 #, c-format msgid "Can't open def file: %s" msgstr "" -#: dlltool.c:857 +#: dlltool.c:862 #, c-format msgid "Processing def file: %s" msgstr "" -#: dlltool.c:861 +#: dlltool.c:866 msgid "Processed def file" msgstr "" -#: dlltool.c:886 +#: dlltool.c:891 #, c-format msgid "Syntax error in def file %s:%d" msgstr "" -#: dlltool.c:919 +#: dlltool.c:924 #, c-format msgid "NAME: %s base: %x" msgstr "" -#: dlltool.c:922 dlltool.c:939 +#: dlltool.c:927 dlltool.c:944 msgid "Can't have LIBRARY and NAME" msgstr "" -#: dlltool.c:936 +#: dlltool.c:941 #, c-format msgid "LIBRARY: %s base: %x" msgstr "" -#: dlltool.c:1173 resrc.c:268 +#: dlltool.c:1178 resrc.c:268 #, c-format msgid "wait: %s" msgstr "" -#: dlltool.c:1178 dllwrap.c:421 resrc.c:273 +#: dlltool.c:1183 dllwrap.c:418 resrc.c:273 #, c-format msgid "subprocess got fatal signal %d" msgstr "" -#: dlltool.c:1184 dllwrap.c:428 resrc.c:280 +#: dlltool.c:1189 dllwrap.c:425 resrc.c:280 #, c-format msgid "%s exited with status %d" msgstr "" -#: dlltool.c:1215 +#: dlltool.c:1220 #, c-format msgid "Sucking in info from %s section in %s" msgstr "" -#: dlltool.c:1340 +#: dlltool.c:1345 #, c-format msgid "Excluding symbol: %s" msgstr "" -#: dlltool.c:1429 dlltool.c:1440 nm.c:946 nm.c:957 +#: dlltool.c:1434 dlltool.c:1445 nm.c:949 nm.c:960 #, c-format msgid "%s: no symbols" msgstr "" #. FIXME: we ought to read in and block out the base relocations. -#: dlltool.c:1466 +#: dlltool.c:1471 #, c-format msgid "Done reading %s" msgstr "" -#: dlltool.c:1476 +#: dlltool.c:1481 #, c-format msgid "Unable to open object file: %s" msgstr "" -#: dlltool.c:1479 +#: dlltool.c:1484 #, c-format msgid "Scanning object file %s" msgstr "" -#: dlltool.c:1494 +#: dlltool.c:1499 #, c-format msgid "Cannot produce mcore-elf dll from archive file: %s" msgstr "" -#: dlltool.c:1580 +#: dlltool.c:1585 msgid "Adding exports to output file" msgstr "" -#: dlltool.c:1628 +#: dlltool.c:1633 msgid "Added exports to output file" msgstr "" -#: dlltool.c:1749 +#: dlltool.c:1754 #, c-format msgid "Generating export file: %s" msgstr "" -#: dlltool.c:1754 +#: dlltool.c:1759 #, c-format msgid "Unable to open temporary assembler file: %s" msgstr "" -#: dlltool.c:1757 +#: dlltool.c:1762 #, c-format msgid "Opened temporary file: %s" msgstr "" -#: dlltool.c:1987 +#: dlltool.c:1992 msgid "Generated exports file" msgstr "" -#: dlltool.c:2270 +#: dlltool.c:2275 #, c-format msgid "bfd_open failed open stub file: %s" msgstr "" -#: dlltool.c:2273 +#: dlltool.c:2278 #, c-format msgid "Creating stub file: %s" msgstr "" -#: dlltool.c:2658 +#: dlltool.c:2702 #, c-format msgid "failed to open temporary head file: %s" msgstr "" -#: dlltool.c:2717 +#: dlltool.c:2761 #, c-format msgid "failed to open temporary tail file: %s" msgstr "" -#: dlltool.c:2784 +#: dlltool.c:2828 #, c-format msgid "Can't open .lib file: %s" msgstr "" -#: dlltool.c:2787 +#: dlltool.c:2831 #, c-format msgid "Creating library file: %s" msgstr "" -#: dlltool.c:2850 +#: dlltool.c:2894 #, c-format msgid "cannot delete %s: %s" msgstr "" -#: dlltool.c:2854 +#: dlltool.c:2898 msgid "Created lib file" msgstr "" -#: dlltool.c:2947 +#: dlltool.c:2991 #, c-format msgid "Warning, ignoring duplicate EXPORT %s %d,%d" msgstr "" -#: dlltool.c:2953 +#: dlltool.c:2997 #, c-format msgid "Error, duplicate EXPORT with oridinals: %s" msgstr "" -#: dlltool.c:3069 +#: dlltool.c:3113 msgid "Processing definitions" msgstr "" -#: dlltool.c:3101 +#: dlltool.c:3145 msgid "Processed definitions" msgstr "" #. xgetext:c-format -#: dlltool.c:3108 dllwrap.c:482 +#: dlltool.c:3152 dllwrap.c:479 #, c-format msgid "Usage %s \n" msgstr "" #. xgetext:c-format -#: dlltool.c:3110 +#: dlltool.c:3154 #, c-format msgid "" " -m --machine Create as DLL for . [default: %s]\n" msgstr "" -#: dlltool.c:3111 +#: dlltool.c:3155 #, c-format msgid "" " possible : arm[_interwork], i386, mcore[-elf]{-le|-be}, " "ppc, thumb\n" msgstr "" -#: dlltool.c:3112 +#: dlltool.c:3156 #, c-format msgid " -e --output-exp Generate an export file.\n" msgstr "" -#: dlltool.c:3113 +#: dlltool.c:3157 #, c-format msgid " -l --output-lib Generate an interface library.\n" msgstr "" -#: dlltool.c:3114 +#: dlltool.c:3158 #, c-format msgid " -a --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dlltool.c:3115 +#: dlltool.c:3159 #, c-format msgid "" " -D --dllname Name of input dll to put into interface lib.\n" msgstr "" -#: dlltool.c:3116 +#: dlltool.c:3160 #, c-format msgid " -d --input-def Name of .def file to be read in.\n" msgstr "" -#: dlltool.c:3117 +#: dlltool.c:3161 #, c-format msgid " -z --output-def Name of .def file to be created.\n" msgstr "" -#: dlltool.c:3118 +#: dlltool.c:3162 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dlltool.c:3119 +#: dlltool.c:3163 #, c-format msgid " --no-export-all-symbols Only export listed symbols\n" msgstr "" -#: dlltool.c:3120 +#: dlltool.c:3164 #, c-format msgid " --exclude-symbols Don't export \n" msgstr "" -#: dlltool.c:3121 +#: dlltool.c:3165 #, c-format msgid " --no-default-excludes Clear default exclude symbols\n" msgstr "" -#: dlltool.c:3122 +#: dlltool.c:3166 #, c-format msgid " -b --base-file Read linker generated base file.\n" msgstr "" -#: dlltool.c:3123 +#: dlltool.c:3167 #, c-format msgid " -x --no-idata4 Don't generate idata$4 section.\n" msgstr "" -#: dlltool.c:3124 +#: dlltool.c:3168 #, c-format msgid " -c --no-idata5 Don't generate idata$5 section.\n" msgstr "" -#: dlltool.c:3125 +#: dlltool.c:3169 #, c-format msgid "" " -U --add-underscore Add underscores to symbols in interface " "library.\n" msgstr "" -#: dlltool.c:3126 +#: dlltool.c:3170 #, c-format msgid " -k --kill-at Kill @ from exported names.\n" msgstr "" -#: dlltool.c:3127 +#: dlltool.c:3171 #, c-format msgid " -A --add-stdcall-alias Add aliases without @.\n" msgstr "" -#: dlltool.c:3128 +#: dlltool.c:3172 +#, c-format +msgid " -p --ext-prefix-alias Add aliases with .\n" +msgstr "" + +#: dlltool.c:3173 #, c-format msgid " -S --as Use for assembler.\n" msgstr "" -#: dlltool.c:3129 +#: dlltool.c:3174 #, c-format msgid " -f --as-flags Pass to the assembler.\n" msgstr "" -#: dlltool.c:3130 +#: dlltool.c:3175 #, c-format msgid "" " -C --compat-implib Create backward compatible import library.\n" msgstr "" -#: dlltool.c:3131 +#: dlltool.c:3176 #, c-format msgid "" " -n --no-delete Keep temp files (repeat for extra " "preservation).\n" msgstr "" -#: dlltool.c:3132 +#: dlltool.c:3177 #, c-format msgid "" " -t --temp-prefix Use to construct temp file names.\n" msgstr "" -#: dlltool.c:3133 +#: dlltool.c:3178 #, c-format msgid " -v --verbose Be verbose.\n" msgstr "" -#: dlltool.c:3134 +#: dlltool.c:3179 #, c-format msgid " -V --version Display the program version.\n" msgstr "" -#: dlltool.c:3135 +#: dlltool.c:3180 #, c-format msgid " -h --help Display this information.\n" msgstr "" -#: dlltool.c:3137 +#: dlltool.c:3182 #, c-format msgid "" " -M --mcore-elf Process mcore-elf object files into .\n" msgstr "" -#: dlltool.c:3138 +#: dlltool.c:3183 #, c-format msgid " -L --linker Use as the linker.\n" msgstr "" -#: dlltool.c:3139 +#: dlltool.c:3184 #, c-format msgid " -F --linker-flags Pass to the linker.\n" msgstr "" -#: dlltool.c:3291 +#: dlltool.c:3340 #, c-format msgid "Unable to open base-file: %s" msgstr "" -#: dlltool.c:3323 +#: dlltool.c:3372 #, c-format msgid "Machine '%s' not supported" msgstr "" -#: dlltool.c:3423 dllwrap.c:209 +#: dlltool.c:3472 dllwrap.c:209 #, c-format msgid "Tried file: %s" msgstr "" -#: dlltool.c:3430 dllwrap.c:216 +#: dlltool.c:3479 dllwrap.c:216 #, c-format msgid "Using file: %s" msgstr "" -#: dllwrap.c:302 +#: dllwrap.c:299 #, c-format msgid "Keeping temporary base file %s" msgstr "" -#: dllwrap.c:304 +#: dllwrap.c:301 #, c-format msgid "Deleting temporary base file %s" msgstr "" -#: dllwrap.c:318 +#: dllwrap.c:315 #, c-format msgid "Keeping temporary exp file %s" msgstr "" -#: dllwrap.c:320 +#: dllwrap.c:317 #, c-format msgid "Deleting temporary exp file %s" msgstr "" -#: dllwrap.c:333 +#: dllwrap.c:330 #, c-format msgid "Keeping temporary def file %s" msgstr "" -#: dllwrap.c:335 +#: dllwrap.c:332 #, c-format msgid "Deleting temporary def file %s" msgstr "" -#: dllwrap.c:483 +#: dllwrap.c:480 #, c-format msgid " Generic options:\n" msgstr "" -#: dllwrap.c:484 +#: dllwrap.c:481 #, c-format msgid " --quiet, -q Work quietly\n" msgstr "" -#: dllwrap.c:485 +#: dllwrap.c:482 #, c-format msgid " --verbose, -v Verbose\n" msgstr "" -#: dllwrap.c:486 +#: dllwrap.c:483 #, c-format msgid " --version Print dllwrap version\n" msgstr "" -#: dllwrap.c:487 +#: dllwrap.c:484 #, c-format msgid " --implib Synonym for --output-lib\n" msgstr "" -#: dllwrap.c:488 +#: dllwrap.c:485 #, c-format msgid " Options for %s:\n" msgstr "" -#: dllwrap.c:489 +#: dllwrap.c:486 #, c-format msgid " --driver-name Defaults to \"gcc\"\n" msgstr "" -#: dllwrap.c:490 +#: dllwrap.c:487 #, c-format msgid " --driver-flags Override default ld flags\n" msgstr "" -#: dllwrap.c:491 +#: dllwrap.c:488 #, c-format msgid " --dlltool-name Defaults to \"dlltool\"\n" msgstr "" -#: dllwrap.c:492 +#: dllwrap.c:489 #, c-format msgid " --entry Specify alternate DLL entry point\n" msgstr "" -#: dllwrap.c:493 +#: dllwrap.c:490 #, c-format msgid " --image-base Specify image base address\n" msgstr "" -#: dllwrap.c:494 +#: dllwrap.c:491 #, c-format msgid " --target i386-cygwin32 or i386-mingw32\n" msgstr "" -#: dllwrap.c:495 +#: dllwrap.c:492 #, c-format msgid " --dry-run Show what needs to be run\n" msgstr "" -#: dllwrap.c:496 +#: dllwrap.c:493 #, c-format msgid " --mno-cygwin Create Mingw DLL\n" msgstr "" -#: dllwrap.c:497 +#: dllwrap.c:494 #, c-format msgid " Options passed to DLLTOOL:\n" msgstr "" -#: dllwrap.c:498 +#: dllwrap.c:495 #, c-format msgid " --machine \n" msgstr "" -#: dllwrap.c:499 +#: dllwrap.c:496 #, c-format msgid " --output-exp Generate export file.\n" msgstr "" -#: dllwrap.c:500 +#: dllwrap.c:497 #, c-format msgid " --output-lib Generate input library.\n" msgstr "" -#: dllwrap.c:501 +#: dllwrap.c:498 #, c-format msgid " --add-indirect Add dll indirects to export file.\n" msgstr "" -#: dllwrap.c:502 +#: dllwrap.c:499 #, c-format msgid " --dllname Name of input dll to put into output lib.\n" msgstr "" -#: dllwrap.c:503 +#: dllwrap.c:500 #, c-format msgid " --def Name input .def file\n" msgstr "" -#: dllwrap.c:504 +#: dllwrap.c:501 #, c-format msgid " --output-def Name output .def file\n" msgstr "" -#: dllwrap.c:505 +#: dllwrap.c:502 #, c-format msgid " --export-all-symbols Export all symbols to .def\n" msgstr "" -#: dllwrap.c:506 +#: dllwrap.c:503 #, c-format msgid " --no-export-all-symbols Only export .drectve symbols\n" msgstr "" -#: dllwrap.c:507 +#: dllwrap.c:504 #, c-format msgid " --exclude-symbols Exclude from .def\n" msgstr "" -#: dllwrap.c:508 +#: dllwrap.c:505 #, c-format msgid " --no-default-excludes Zap default exclude symbols\n" msgstr "" -#: dllwrap.c:509 +#: dllwrap.c:506 #, c-format msgid " --base-file Read linker generated base file\n" msgstr "" -#: dllwrap.c:510 +#: dllwrap.c:507 #, c-format msgid " --no-idata4 Don't generate idata$4 section\n" msgstr "" -#: dllwrap.c:511 +#: dllwrap.c:508 #, c-format msgid " --no-idata5 Don't generate idata$5 section\n" msgstr "" -#: dllwrap.c:512 +#: dllwrap.c:509 #, c-format msgid " -U Add underscores to .lib\n" msgstr "" -#: dllwrap.c:513 +#: dllwrap.c:510 #, c-format msgid " -k Kill @ from exported names\n" msgstr "" -#: dllwrap.c:514 +#: dllwrap.c:511 #, c-format msgid " --add-stdcall-alias Add aliases without @\n" msgstr "" -#: dllwrap.c:515 +#: dllwrap.c:512 #, c-format msgid " --as Use for assembler\n" msgstr "" -#: dllwrap.c:516 +#: dllwrap.c:513 #, c-format msgid " --nodelete Keep temp files.\n" msgstr "" -#: dllwrap.c:517 +#: dllwrap.c:514 #, c-format msgid " Rest are passed unmodified to the language driver\n" msgstr "" -#: dllwrap.c:787 +#: dllwrap.c:784 msgid "Must provide at least one of -o or --dllname options" msgstr "" -#: dllwrap.c:815 +#: dllwrap.c:813 msgid "" "no export definition file provided.\n" "Creating one, but that may not be what you want" msgstr "" -#: dllwrap.c:977 +#: dllwrap.c:972 #, c-format msgid "DLLTOOL name : %s\n" msgstr "" -#: dllwrap.c:978 +#: dllwrap.c:973 #, c-format msgid "DLLTOOL options : %s\n" msgstr "" -#: dllwrap.c:979 +#: dllwrap.c:974 #, c-format msgid "DRIVER name : %s\n" msgstr "" -#: dllwrap.c:980 +#: dllwrap.c:975 #, c-format msgid "DRIVER options : %s\n" msgstr "" @@ -1483,7 +1488,7 @@ msgid "%s: read: %s" msgstr "" #: nlmconv.c:926 -msgid "warning: MAP and FULLMAP are not supported; try ld -M" +msgid "warning: FULLMAP is not supported; try ld -M" msgstr "" #: nlmconv.c:1096 @@ -1534,49 +1539,49 @@ msgstr "" msgid "set .nlmsections size" msgstr "" -#: nlmconv.c:1295 nlmconv.c:1303 nlmconv.c:1312 nlmconv.c:1317 +#: nlmconv.c:1291 nlmconv.c:1299 nlmconv.c:1308 nlmconv.c:1313 msgid "set .nlmsection contents" msgstr "" -#: nlmconv.c:1796 +#: nlmconv.c:1792 msgid "stub section sizes" msgstr "" -#: nlmconv.c:1843 +#: nlmconv.c:1839 msgid "writing stub" msgstr "" -#: nlmconv.c:1928 +#: nlmconv.c:1923 #, c-format msgid "unresolved PC relative reloc against %s" msgstr "" -#: nlmconv.c:1992 +#: nlmconv.c:1987 #, c-format msgid "overflow when adjusting relocation against %s" msgstr "" -#: nlmconv.c:2107 +#: nlmconv.c:2114 #, c-format msgid "%s: execution of %s failed: " msgstr "" -#: nlmconv.c:2122 +#: nlmconv.c:2129 #, c-format msgid "Execution of %s failed" msgstr "" -#: nm.c:247 size.c:83 strings.c:633 +#: nm.c:249 size.c:83 strings.c:634 #, c-format msgid "Usage: %s [option(s)] [file(s)]\n" msgstr "" -#: nm.c:248 +#: nm.c:250 #, c-format msgid " List symbols in [file(s)] (a.out by default).\n" msgstr "" -#: nm.c:249 +#: nm.c:251 #, c-format msgid "" " The options are:\n" @@ -1608,6 +1613,7 @@ msgid "" " -S, --print-size Print size of defined symbols\n" " -s, --print-armap Include index for symbols from archive members\n" " --size-sort Sort symbols by size\n" +" --synthetic Display synthetic symbols as well\n" " -t, --radix=RADIX Use RADIX for printing symbol values\n" " --target=BFDNAME Specify the target object format as BFDNAME\n" " -u, --undefined-only Display only undefined symbols\n" @@ -1617,54 +1623,54 @@ msgid "" "\n" msgstr "" -#: nm.c:283 objdump.c:223 +#: nm.c:286 objdump.c:227 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: nm.c:315 +#: nm.c:318 #, c-format msgid "%s: invalid radix" msgstr "" -#: nm.c:339 +#: nm.c:342 #, c-format msgid "%s: invalid output format" msgstr "" -#: nm.c:454 +#: nm.c:457 msgid "Only -X 32_64 is supported" msgstr "" -#: nm.c:474 +#: nm.c:477 msgid "Using the --size-sort and --undefined-only options together" msgstr "" -#: nm.c:475 +#: nm.c:478 msgid "will produce no output, since undefined symbols have no size." msgstr "" -#: nm.c:503 +#: nm.c:506 #, c-format msgid "data size %ld" msgstr "" -#: nm.c:527 readelf.c:5497 readelf.c:5532 +#: nm.c:530 readelf.c:5849 readelf.c:5884 #, c-format msgid ": %d" msgstr "" -#: nm.c:529 readelf.c:5499 readelf.c:5544 +#: nm.c:532 readelf.c:5851 readelf.c:5896 #, c-format msgid ": %d" msgstr "" -#: nm.c:531 readelf.c:5501 readelf.c:5547 +#: nm.c:534 readelf.c:5853 readelf.c:5899 #, c-format msgid ": %d" msgstr "" -#: nm.c:1297 +#: nm.c:1339 #, c-format msgid "" "\n" @@ -1673,7 +1679,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1299 +#: nm.c:1341 #, c-format msgid "" "\n" @@ -1682,7 +1688,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1301 nm.c:1352 +#: nm.c:1343 nm.c:1394 #, c-format msgid "" "Name Value Class Type Size Line " @@ -1690,7 +1696,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1304 nm.c:1355 +#: nm.c:1346 nm.c:1397 #, c-format msgid "" "Name Value Class Type " @@ -1698,7 +1704,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1348 +#: nm.c:1390 #, c-format msgid "" "\n" @@ -1707,7 +1713,7 @@ msgid "" "\n" msgstr "" -#: nm.c:1350 +#: nm.c:1392 #, c-format msgid "" "\n" @@ -1716,29 +1722,29 @@ msgid "" "\n" msgstr "" -#: nm.c:1558 +#: nm.c:1600 #, c-format msgid "" "\n" "Archive index:\n" msgstr "" -#: objcopy.c:390 srconv.c:1856 +#: objcopy.c:391 srconv.c:1856 #, c-format msgid "Usage: %s [option(s)] in-file [out-file]\n" msgstr "" -#: objcopy.c:391 +#: objcopy.c:392 #, c-format msgid " Copies a binary file, possibly transforming it in the process\n" msgstr "" -#: objcopy.c:392 objcopy.c:475 +#: objcopy.c:393 objcopy.c:476 #, c-format msgid " The options are:\n" msgstr "" -#: objcopy.c:393 +#: objcopy.c:394 #, c-format msgid "" " -I --input-target Assume input file is in format \n" @@ -1772,7 +1778,7 @@ msgid "" "weak\n" " --weaken Force all global symbols to be marked as " "weak\n" -" -w --wildcard Permit wildcard in symbol comparasion\n" +" -w --wildcard Permit wildcard in symbol comparison\n" " -x --discard-all Remove all non-global symbols\n" " -X --discard-locals Remove any compiler-generated symbols\n" " -i --interleave Only copy one out of every " @@ -1841,17 +1847,17 @@ msgid "" "supported\n" msgstr "" -#: objcopy.c:473 +#: objcopy.c:474 #, c-format msgid "Usage: %s in-file(s)\n" msgstr "" -#: objcopy.c:474 +#: objcopy.c:475 #, c-format msgid " Removes symbols and sections from files\n" msgstr "" -#: objcopy.c:476 +#: objcopy.c:477 #, c-format msgid "" " -I --input-target= Assume input file is in format \n" @@ -1871,7 +1877,7 @@ msgid "" "information\n" " -N --strip-symbol= Do not copy symbol \n" " -K --keep-symbol= Only copy symbol \n" -" -w --wildcard Permit wildcard in symbol comparasion\n" +" -w --wildcard Permit wildcard in symbol comparison\n" " -x --discard-all Remove all non-global symbols\n" " -X --discard-locals Remove any compiler-generated symbols\n" " -v --verbose List all object files modified\n" @@ -1882,240 +1888,249 @@ msgid "" " -o Place stripped output into \n" msgstr "" -#: objcopy.c:548 +#: objcopy.c:549 #, c-format msgid "unrecognized section flag `%s'" msgstr "" -#: objcopy.c:549 +#: objcopy.c:550 #, c-format msgid "supported flags: %s" msgstr "" -#: objcopy.c:626 +#: objcopy.c:627 #, c-format msgid "cannot open '%s': %s" msgstr "" -#: objcopy.c:629 objcopy.c:2584 +#: objcopy.c:630 objcopy.c:2610 #, c-format msgid "%s: fread failed" msgstr "" -#: objcopy.c:702 +#: objcopy.c:703 #, c-format msgid "Ignoring rubbish found on line %d of %s" msgstr "" -#: objcopy.c:960 +#: objcopy.c:961 #, c-format msgid "%s: Multiple redefinition of symbol \"%s\"" msgstr "" -#: objcopy.c:964 +#: objcopy.c:965 #, c-format msgid "%s: Symbol \"%s\" is target of more than one redefinition" msgstr "" -#: objcopy.c:992 +#: objcopy.c:993 #, c-format msgid "couldn't open symbol redefinition file %s (error: %s)" msgstr "" -#: objcopy.c:1070 +#: objcopy.c:1071 #, c-format msgid "%s: garbage at end of line %d" msgstr "" -#: objcopy.c:1073 +#: objcopy.c:1074 #, c-format msgid "%s: missing new symbol name at line %d" msgstr "" -#: objcopy.c:1083 +#: objcopy.c:1084 #, c-format msgid "%s: premature end of file at line %d" msgstr "" -#: objcopy.c:1108 +#: objcopy.c:1109 msgid "Unable to change endianness of input file(s)" msgstr "" -#: objcopy.c:1117 +#: objcopy.c:1118 #, c-format msgid "copy from %s(%s) to %s(%s)\n" msgstr "" -#: objcopy.c:1154 +#: objcopy.c:1155 #, c-format msgid "Unable to recognise the format of the input file %s" msgstr "" -#: objcopy.c:1158 +#: objcopy.c:1159 #, c-format msgid "Warning: Output file cannot represent architecture %s" msgstr "" -#: objcopy.c:1193 +#: objcopy.c:1196 #, c-format msgid "can't create section `%s': %s" msgstr "" -#: objcopy.c:1259 +#: objcopy.c:1262 msgid "there are no sections to be copied!" msgstr "" -#: objcopy.c:1305 +#: objcopy.c:1308 #, c-format msgid "Can't fill gap after %s: %s" msgstr "" -#: objcopy.c:1330 +#: objcopy.c:1333 #, c-format msgid "Can't add padding to %s: %s" msgstr "" -#: objcopy.c:1496 +#: objcopy.c:1499 #, c-format msgid "%s: error copying private BFD data: %s" msgstr "" -#: objcopy.c:1507 +#: objcopy.c:1510 msgid "unknown alternate machine code, ignored" msgstr "" -#: objcopy.c:1537 objcopy.c:1567 +#: objcopy.c:1540 objcopy.c:1570 #, c-format msgid "cannot mkdir %s for archive copying (error: %s)" msgstr "" -#: objcopy.c:1772 +#: objcopy.c:1775 #, c-format msgid "Multiple renames of section %s" msgstr "" -#: objcopy.c:1859 +#: objcopy.c:1826 +msgid "private header data" +msgstr "" + +#: objcopy.c:1834 +#, c-format +msgid "%s: error in %s: %s" +msgstr "" + +#: objcopy.c:1888 msgid "making" msgstr "" -#: objcopy.c:1868 +#: objcopy.c:1897 msgid "size" msgstr "" -#: objcopy.c:1882 +#: objcopy.c:1911 msgid "vma" msgstr "" -#: objcopy.c:1907 +#: objcopy.c:1936 msgid "alignment" msgstr "" -#: objcopy.c:1922 +#: objcopy.c:1951 msgid "flags" msgstr "" -#: objcopy.c:1944 +#: objcopy.c:1973 msgid "private data" msgstr "" -#: objcopy.c:1952 +#: objcopy.c:1981 #, c-format msgid "%s: section `%s': error in %s: %s" msgstr "" -#: objcopy.c:2233 +#: objcopy.c:2259 #, c-format msgid "%s: can't create debugging section: %s" msgstr "" -#: objcopy.c:2247 +#: objcopy.c:2273 #, c-format msgid "%s: can't set debugging section contents: %s" msgstr "" -#: objcopy.c:2256 +#: objcopy.c:2282 #, c-format msgid "%s: don't know how to write debugging information for %s" msgstr "" -#: objcopy.c:2431 +#: objcopy.c:2457 msgid "byte number must be non-negative" msgstr "" -#: objcopy.c:2441 +#: objcopy.c:2467 msgid "interleave must be positive" msgstr "" -#: objcopy.c:2461 objcopy.c:2469 +#: objcopy.c:2487 objcopy.c:2495 #, c-format msgid "%s both copied and removed" msgstr "" -#: objcopy.c:2558 objcopy.c:2629 objcopy.c:2729 objcopy.c:2760 objcopy.c:2784 -#: objcopy.c:2788 objcopy.c:2808 +#: objcopy.c:2584 objcopy.c:2655 objcopy.c:2755 objcopy.c:2786 objcopy.c:2810 +#: objcopy.c:2814 objcopy.c:2834 #, c-format msgid "bad format for %s" msgstr "" -#: objcopy.c:2579 +#: objcopy.c:2605 #, c-format msgid "cannot open: %s: %s" msgstr "" -#: objcopy.c:2698 +#: objcopy.c:2724 #, c-format msgid "Warning: truncating gap-fill from 0x%s to 0x%x" msgstr "" -#: objcopy.c:2854 +#: objcopy.c:2880 msgid "alternate machine code index must be positive" msgstr "" -#: objcopy.c:2912 +#: objcopy.c:2938 msgid "byte number must be less than interleave" msgstr "" -#: objcopy.c:2942 +#: objcopy.c:2968 #, c-format msgid "architecture %s unknown" msgstr "" -#: objcopy.c:2946 +#: objcopy.c:2972 msgid "" "Warning: input target 'binary' required for binary architecture parameter." msgstr "" -#: objcopy.c:2947 +#: objcopy.c:2973 #, c-format msgid " Argument %s ignored" msgstr "" -#: objcopy.c:2953 +#: objcopy.c:2979 #, c-format msgid "warning: could not locate '%s'. System error message: %s" msgstr "" -#: objcopy.c:2993 objcopy.c:3007 +#: objcopy.c:3019 objcopy.c:3033 #, c-format msgid "%s %s%c0x%s never used" msgstr "" -#: objdump.c:168 +#: objdump.c:172 #, c-format msgid "Usage: %s \n" msgstr "" -#: objdump.c:169 +#: objdump.c:173 #, c-format msgid " Display information from object .\n" msgstr "" -#: objdump.c:170 +#: objdump.c:174 #, c-format msgid " At least one of the following switches must be given:\n" msgstr "" -#: objdump.c:171 +#: objdump.c:175 #, c-format msgid "" " -a, --archive-headers Display archive header information\n" @@ -2143,14 +2158,14 @@ msgid "" " -H, --help Display this information\n" msgstr "" -#: objdump.c:194 +#: objdump.c:198 #, c-format msgid "" "\n" " The following switches are optional:\n" msgstr "" -#: objdump.c:195 +#: objdump.c:199 #, c-format msgid "" " -b, --target=BFDNAME Specify the target object format as " @@ -2186,131 +2201,131 @@ msgid "" "\n" msgstr "" -#: objdump.c:364 +#: objdump.c:369 #, c-format msgid "Sections:\n" msgstr "" -#: objdump.c:367 objdump.c:371 +#: objdump.c:372 objdump.c:376 #, c-format msgid "Idx Name Size VMA LMA File off Algn" msgstr "" -#: objdump.c:373 +#: objdump.c:378 #, c-format msgid "" "Idx Name Size VMA LMA File off " "Algn" msgstr "" -#: objdump.c:377 +#: objdump.c:382 #, c-format msgid " Flags" msgstr "" -#: objdump.c:379 +#: objdump.c:384 #, c-format msgid " Pg" msgstr "" -#: objdump.c:422 +#: objdump.c:427 #, c-format msgid "%s: not a dynamic object" msgstr "" -#: objdump.c:1659 +#: objdump.c:1666 #, c-format msgid "Disassembly of section %s:\n" msgstr "" -#: objdump.c:1809 +#: objdump.c:1825 #, c-format msgid "Can't use supplied machine %s" msgstr "" -#: objdump.c:1828 +#: objdump.c:1844 #, c-format msgid "Can't disassemble for architecture %s\n" msgstr "" -#: objdump.c:1896 +#: objdump.c:1912 #, c-format msgid "" "No %s section present\n" "\n" msgstr "" -#: objdump.c:1905 +#: objdump.c:1921 #, c-format msgid "Reading %s section of %s failed: %s" msgstr "" -#: objdump.c:1949 +#: objdump.c:1965 #, c-format msgid "" "Contents of %s section:\n" "\n" msgstr "" -#: objdump.c:2075 +#: objdump.c:2091 #, c-format msgid "architecture: %s, " msgstr "" -#: objdump.c:2078 +#: objdump.c:2094 #, c-format msgid "flags 0x%08x:\n" msgstr "" -#: objdump.c:2092 +#: objdump.c:2108 #, c-format msgid "" "\n" "start address 0x" msgstr "" -#: objdump.c:2132 +#: objdump.c:2148 #, c-format msgid "Contents of section %s:\n" msgstr "" -#: objdump.c:2257 +#: objdump.c:2273 #, c-format msgid "no symbols\n" msgstr "" -#: objdump.c:2264 +#: objdump.c:2280 #, c-format msgid "no information for the %ld'th symbol" msgstr "" -#: objdump.c:2267 +#: objdump.c:2283 #, c-format msgid "could not determine the type of the %ld'th symbol" msgstr "" -#: objdump.c:2533 +#: objdump.c:2549 #, c-format msgid "" "\n" "%s: file format %s\n" msgstr "" -#: objdump.c:2576 +#: objdump.c:2600 #, c-format msgid "%s: printing debugging information failed" msgstr "" -#: objdump.c:2657 +#: objdump.c:2691 #, c-format msgid "In archive %s:\n" msgstr "" -#: objdump.c:2777 +#: objdump.c:2811 msgid "unrecognized -E option" msgstr "" -#: objdump.c:2788 +#: objdump.c:2822 #, c-format msgid "unrecognized --endian type `%s'" msgstr "" @@ -2350,181 +2365,181 @@ msgstr "" msgid "Last stabs entries before error:\n" msgstr "" -#: readelf.c:245 +#: readelf.c:264 #, c-format msgid "%s: Error: " msgstr "" -#: readelf.c:256 +#: readelf.c:275 #, c-format msgid "%s: Warning: " msgstr "" -#: readelf.c:271 +#: readelf.c:290 #, c-format msgid "Unable to seek to 0x%x for %s\n" msgstr "" -#: readelf.c:283 +#: readelf.c:302 #, c-format msgid "Out of memory allocating 0x%x bytes for %s\n" msgstr "" -#: readelf.c:291 +#: readelf.c:310 #, c-format msgid "Unable to read in 0x%x bytes of %s\n" msgstr "" -#: readelf.c:342 readelf.c:391 readelf.c:569 readelf.c:601 +#: readelf.c:361 readelf.c:410 readelf.c:588 readelf.c:620 #, c-format msgid "Unhandled data length: %d\n" msgstr "" -#: readelf.c:691 +#: readelf.c:711 msgid "Don't know about relocations on this machine architecture\n" msgstr "" -#: readelf.c:711 readelf.c:738 readelf.c:781 readelf.c:808 +#: readelf.c:731 readelf.c:758 readelf.c:801 readelf.c:828 msgid "relocs" msgstr "" -#: readelf.c:721 readelf.c:748 readelf.c:791 readelf.c:818 +#: readelf.c:741 readelf.c:768 readelf.c:811 readelf.c:838 msgid "out of memory parsing relocs" msgstr "" -#: readelf.c:871 +#: readelf.c:891 #, c-format msgid "" " Offset Info Type Sym. Value Symbol's Name + Addend\n" msgstr "" -#: readelf.c:873 +#: readelf.c:893 #, c-format msgid " Offset Info Type Sym.Value Sym. Name + Addend\n" msgstr "" -#: readelf.c:878 +#: readelf.c:898 #, c-format msgid " Offset Info Type Sym. Value Symbol's Name\n" msgstr "" -#: readelf.c:880 +#: readelf.c:900 #, c-format msgid " Offset Info Type Sym.Value Sym. Name\n" msgstr "" -#: readelf.c:888 +#: readelf.c:908 #, c-format msgid "" " Offset Info Type Symbol's Value " "Symbol's Name + Addend\n" msgstr "" -#: readelf.c:890 +#: readelf.c:910 #, c-format msgid "" " Offset Info Type Sym. Value Sym. Name + " "Addend\n" msgstr "" -#: readelf.c:895 +#: readelf.c:915 #, c-format msgid "" " Offset Info Type Symbol's Value " "Symbol's Name\n" msgstr "" -#: readelf.c:897 +#: readelf.c:917 #, c-format msgid "" " Offset Info Type Sym. Value Sym. Name\n" msgstr "" -#: readelf.c:1173 readelf.c:1175 readelf.c:1255 readelf.c:1257 readelf.c:1266 -#: readelf.c:1268 +#: readelf.c:1197 readelf.c:1199 readelf.c:1279 readelf.c:1281 readelf.c:1290 +#: readelf.c:1292 #, c-format msgid "unrecognized: %-7lx" msgstr "" -#: readelf.c:1229 +#: readelf.c:1253 #, c-format msgid "" msgstr "" -#: readelf.c:1500 +#: readelf.c:1524 #, c-format msgid "Processor Specific: %lx" msgstr "" -#: readelf.c:1519 +#: readelf.c:1543 #, c-format msgid "Operating System specific: %lx" msgstr "" -#: readelf.c:1522 readelf.c:2198 +#: readelf.c:1546 readelf.c:2318 #, c-format msgid ": %lx" msgstr "" -#: readelf.c:1535 +#: readelf.c:1559 msgid "NONE (None)" msgstr "" -#: readelf.c:1536 +#: readelf.c:1560 msgid "REL (Relocatable file)" msgstr "" -#: readelf.c:1537 +#: readelf.c:1561 msgid "EXEC (Executable file)" msgstr "" -#: readelf.c:1538 +#: readelf.c:1562 msgid "DYN (Shared object file)" msgstr "" -#: readelf.c:1539 +#: readelf.c:1563 msgid "CORE (Core file)" msgstr "" -#: readelf.c:1543 +#: readelf.c:1567 #, c-format msgid "Processor Specific: (%x)" msgstr "" -#: readelf.c:1545 +#: readelf.c:1569 #, c-format msgid "OS Specific: (%x)" msgstr "" -#: readelf.c:1547 readelf.c:1653 readelf.c:2351 +#: readelf.c:1571 readelf.c:1678 readelf.c:2471 #, c-format msgid ": %x" msgstr "" -#: readelf.c:1559 +#: readelf.c:1583 msgid "None" msgstr "" -#: readelf.c:2058 +#: readelf.c:2177 msgid "Standalone App" msgstr "" -#: readelf.c:2061 readelf.c:2742 readelf.c:2758 +#: readelf.c:2180 readelf.c:2869 readelf.c:2885 #, c-format msgid "" msgstr "" -#: readelf.c:2393 +#: readelf.c:2514 #, c-format msgid "Usage: readelf elf-file(s)\n" msgstr "" -#: readelf.c:2394 +#: readelf.c:2515 #, c-format msgid " Display information about the contents of ELF format files\n" msgstr "" -#: readelf.c:2395 +#: readelf.c:2516 #, c-format msgid "" " Options are:\n" @@ -2534,13 +2549,14 @@ msgid "" " --segments An alias for --program-headers\n" " -S --section-headers Display the sections' header\n" " --sections An alias for --section-headers\n" +" -g --section-groups Display the section groups\n" " -e --headers Equivalent to: -h -l -S\n" " -s --syms Display the symbol table\n" " --symbols An alias for --syms\n" " -n --notes Display the core notes (if present)\n" " -r --relocs Display the relocations (if present)\n" " -u --unwind Display the unwind info (if present)\n" -" -d --dynamic Display the dynamic segment (if present)\n" +" -d --dynamic Display the dynamic section (if present)\n" " -V --version-info Display the version sections (if present)\n" " -A --arch-specific Display architecture specific information (if " "any).\n" @@ -2553,14 +2569,14 @@ msgid "" " Display the contents of DWARF2 debug sections\n" msgstr "" -#: readelf.c:2417 +#: readelf.c:2539 #, c-format msgid "" " -i --instruction-dump=\n" " Disassemble the contents of section \n" msgstr "" -#: readelf.c:2421 +#: readelf.c:2543 #, c-format msgid "" " -I --histogram Display histogram of bucket list lengths\n" @@ -2569,334 +2585,347 @@ msgid "" " -v --version Display the version number of readelf\n" msgstr "" -#: readelf.c:2441 readelf.c:10617 +#: readelf.c:2563 readelf.c:11051 msgid "Out of memory allocating dump request table." msgstr "" -#: readelf.c:2603 readelf.c:2679 +#: readelf.c:2729 readelf.c:2805 #, c-format msgid "Unrecognized debug option '%s'\n" msgstr "" -#: readelf.c:2713 +#: readelf.c:2839 #, c-format msgid "Invalid option '-%c'\n" msgstr "" -#: readelf.c:2726 +#: readelf.c:2853 msgid "Nothing to do.\n" msgstr "" -#: readelf.c:2738 readelf.c:2754 readelf.c:5061 +#: readelf.c:2865 readelf.c:2881 readelf.c:5413 msgid "none" msgstr "" -#: readelf.c:2755 +#: readelf.c:2882 msgid "2's complement, little endian" msgstr "" -#: readelf.c:2756 +#: readelf.c:2883 msgid "2's complement, big endian" msgstr "" -#: readelf.c:2774 +#: readelf.c:2901 msgid "Not an ELF file - it has the wrong magic bytes at the start\n" msgstr "" -#: readelf.c:2782 +#: readelf.c:2909 #, c-format msgid "ELF Header:\n" msgstr "" -#: readelf.c:2783 +#: readelf.c:2910 #, c-format msgid " Magic: " msgstr "" -#: readelf.c:2787 +#: readelf.c:2914 #, c-format msgid " Class: %s\n" msgstr "" -#: readelf.c:2789 +#: readelf.c:2916 #, c-format msgid " Data: %s\n" msgstr "" -#: readelf.c:2791 +#: readelf.c:2918 #, c-format msgid " Version: %d %s\n" msgstr "" -#: readelf.c:2798 +#: readelf.c:2925 #, c-format msgid " OS/ABI: %s\n" msgstr "" -#: readelf.c:2800 +#: readelf.c:2927 #, c-format msgid " ABI Version: %d\n" msgstr "" -#: readelf.c:2802 +#: readelf.c:2929 #, c-format msgid " Type: %s\n" msgstr "" -#: readelf.c:2804 +#: readelf.c:2931 #, c-format msgid " Machine: %s\n" msgstr "" -#: readelf.c:2806 +#: readelf.c:2933 #, c-format msgid " Version: 0x%lx\n" msgstr "" -#: readelf.c:2809 +#: readelf.c:2936 #, c-format msgid " Entry point address: " msgstr "" -#: readelf.c:2811 +#: readelf.c:2938 #, c-format msgid "" "\n" " Start of program headers: " msgstr "" -#: readelf.c:2813 +#: readelf.c:2940 #, c-format msgid "" " (bytes into file)\n" " Start of section headers: " msgstr "" -#: readelf.c:2815 +#: readelf.c:2942 #, c-format msgid " (bytes into file)\n" msgstr "" -#: readelf.c:2817 +#: readelf.c:2944 #, c-format msgid " Flags: 0x%lx%s\n" msgstr "" -#: readelf.c:2820 +#: readelf.c:2947 #, c-format msgid " Size of this header: %ld (bytes)\n" msgstr "" -#: readelf.c:2822 +#: readelf.c:2949 #, c-format msgid " Size of program headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2824 +#: readelf.c:2951 #, c-format msgid " Number of program headers: %ld\n" msgstr "" -#: readelf.c:2826 +#: readelf.c:2953 #, c-format msgid " Size of section headers: %ld (bytes)\n" msgstr "" -#: readelf.c:2828 +#: readelf.c:2955 #, c-format msgid " Number of section headers: %ld" msgstr "" -#: readelf.c:2833 +#: readelf.c:2960 #, c-format msgid " Section header string table index: %ld" msgstr "" -#: readelf.c:2864 readelf.c:2897 +#: readelf.c:2991 readelf.c:3024 msgid "program headers" msgstr "" -#: readelf.c:2935 readelf.c:3204 readelf.c:3245 readelf.c:3304 readelf.c:3367 -#: readelf.c:4404 readelf.c:4445 readelf.c:4644 readelf.c:5604 readelf.c:5618 -#: readelf.c:10065 readelf.c:10405 readelf.c:10472 +#: readelf.c:3062 readelf.c:3364 readelf.c:3405 readelf.c:3464 readelf.c:3527 +#: readelf.c:3881 readelf.c:3896 readelf.c:4752 readelf.c:4796 readelf.c:4995 +#: readelf.c:5956 readelf.c:5970 readelf.c:10475 readelf.c:10839 +#: readelf.c:10906 msgid "Out of memory\n" msgstr "" -#: readelf.c:2962 +#: readelf.c:3089 #, c-format msgid "" "\n" "There are no program headers in this file.\n" msgstr "" -#: readelf.c:2968 +#: readelf.c:3095 #, c-format msgid "" "\n" "Elf file type is %s\n" msgstr "" -#: readelf.c:2969 +#: readelf.c:3096 #, c-format msgid "Entry point " msgstr "" -#: readelf.c:2971 +#: readelf.c:3098 #, c-format msgid "" "\n" "There are %d program headers, starting at offset " msgstr "" -#: readelf.c:2983 readelf.c:2985 +#: readelf.c:3110 readelf.c:3112 #, c-format msgid "" "\n" "Program Headers:\n" msgstr "" -#: readelf.c:2989 +#: readelf.c:3116 #, c-format msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n" msgstr "" -#: readelf.c:2992 +#: readelf.c:3119 #, c-format msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align\n" msgstr "" -#: readelf.c:2996 +#: readelf.c:3123 #, c-format msgid " Type Offset VirtAddr PhysAddr\n" msgstr "" -#: readelf.c:2998 +#: readelf.c:3125 #, c-format msgid " FileSiz MemSiz Flags Align\n" msgstr "" -#: readelf.c:3091 +#: readelf.c:3218 msgid "more than one dynamic segment\n" msgstr "" -#: readelf.c:3100 +#: readelf.c:3235 +msgid "no .dynamic section in the dynamic segment" +msgstr "" + +#: readelf.c:3244 +msgid "the .dynamic section is not contained within the dynamic segment" +msgstr "" + +#: readelf.c:3246 +msgid "the .dynamic section is not the first section in the dynamic segment." +msgstr "" + +#: readelf.c:3260 msgid "Unable to find program interpreter name\n" msgstr "" -#: readelf.c:3107 +#: readelf.c:3267 #, c-format msgid "" "\n" " [Requesting program interpreter: %s]" msgstr "" -#: readelf.c:3119 +#: readelf.c:3279 #, c-format msgid "" "\n" " Section to Segment mapping:\n" msgstr "" -#: readelf.c:3120 +#: readelf.c:3280 #, c-format msgid " Segment Sections...\n" msgstr "" -#: readelf.c:3166 +#: readelf.c:3326 msgid "Cannot interpret virtual addresses without program headers.\n" msgstr "" -#: readelf.c:3182 +#: readelf.c:3342 #, c-format msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n" msgstr "" -#: readelf.c:3196 readelf.c:3237 +#: readelf.c:3356 readelf.c:3397 msgid "section headers" msgstr "" -#: readelf.c:3281 readelf.c:3344 +#: readelf.c:3441 readelf.c:3504 msgid "symbols" msgstr "" -#: readelf.c:3291 readelf.c:3354 +#: readelf.c:3451 readelf.c:3514 msgid "symtab shndx" msgstr "" -#: readelf.c:3454 +#: readelf.c:3614 #, c-format msgid "" "\n" "There are no sections in this file.\n" msgstr "" -#: readelf.c:3460 +#: readelf.c:3620 #, c-format msgid "There are %d section headers, starting at offset 0x%lx:\n" msgstr "" -#: readelf.c:3477 readelf.c:3804 readelf.c:4127 readelf.c:5757 +#: readelf.c:3637 readelf.c:3942 readelf.c:4133 readelf.c:4456 readelf.c:6109 msgid "string table" msgstr "" -#: readelf.c:3502 +#: readelf.c:3662 msgid "File contains multiple dynamic symbol tables\n" msgstr "" -#: readelf.c:3514 +#: readelf.c:3674 msgid "File contains multiple dynamic string tables\n" msgstr "" -#: readelf.c:3519 +#: readelf.c:3679 msgid "dynamic strings" msgstr "" -#: readelf.c:3525 +#: readelf.c:3685 msgid "File contains multiple symtab shndx tables\n" msgstr "" -#: readelf.c:3563 +#: readelf.c:3723 #, c-format msgid "" "\n" "Section Headers:\n" msgstr "" -#: readelf.c:3565 +#: readelf.c:3725 #, c-format msgid "" "\n" "Section Header:\n" msgstr "" -#: readelf.c:3569 +#: readelf.c:3729 #, c-format msgid "" " [Nr] Name Type Addr Off Size ES Flg Lk " "Inf Al\n" msgstr "" -#: readelf.c:3572 +#: readelf.c:3732 #, c-format msgid "" " [Nr] Name Type Address Off Size ES " "Flg Lk Inf Al\n" msgstr "" -#: readelf.c:3575 +#: readelf.c:3735 #, c-format msgid " [Nr] Name Type Address Offset\n" msgstr "" -#: readelf.c:3576 +#: readelf.c:3736 #, c-format msgid " Size EntSize Flags Link Info Align\n" msgstr "" -#: readelf.c:3671 +#: readelf.c:3831 #, c-format msgid "" "Key to Flags:\n" @@ -2905,543 +2934,579 @@ msgid "" " O (extra OS processing required) o (OS specific), p (processor specific)\n" msgstr "" -#: readelf.c:3738 +#: readelf.c:3849 +#, c-format +msgid "[: 0x%x]" +msgstr "" + +#: readelf.c:3865 +#, c-format +msgid "" +"\n" +"There are no section groups in this file.\n" +msgstr "" + +#: readelf.c:3872 +msgid "Section headers are not available!\n" +msgstr "" + +#: readelf.c:3917 +#, c-format +msgid "Bad sh_link in group section `%s'\n" +msgstr "" + +#: readelf.c:3929 +#, c-format +msgid "Bad sh_info in group section `%s'\n" +msgstr "" + +#: readelf.c:3948 readelf.c:6439 +msgid "section data" +msgstr "" + +#: readelf.c:3960 +#, c-format +msgid " [Index] Name\n" +msgstr "" + +#: readelf.c:3975 +#, c-format +msgid "section [%5u] already in group section [%5u]\n" +msgstr "" + +#: readelf.c:4067 #, c-format msgid "" "\n" "'%s' relocation section at offset 0x%lx contains %ld bytes:\n" msgstr "" -#: readelf.c:3750 +#: readelf.c:4079 #, c-format msgid "" "\n" "There are no dynamic relocations in this file.\n" msgstr "" -#: readelf.c:3777 +#: readelf.c:4106 #, c-format msgid "" "\n" "Relocation section " msgstr "" -#: readelf.c:3782 readelf.c:4190 readelf.c:4204 +#: readelf.c:4111 readelf.c:4535 readelf.c:4549 #, c-format msgid "'%s'" msgstr "" -#: readelf.c:3784 readelf.c:4206 +#: readelf.c:4113 readelf.c:4551 #, c-format msgid " at offset 0x%lx contains %lu entries:\n" msgstr "" -#: readelf.c:3821 +#: readelf.c:4150 #, c-format msgid "" "\n" "There are no relocations in this file.\n" msgstr "" -#: readelf.c:3994 +#: readelf.c:4323 msgid "unwind table" msgstr "" -#: readelf.c:4045 readelf.c:4057 readelf.c:8284 readelf.c:8296 +#: readelf.c:4374 readelf.c:4386 readelf.c:8604 readelf.c:8616 #, c-format msgid "Skipping unexpected symbol type %u\n" msgstr "" -#: readelf.c:4065 +#: readelf.c:4394 #, c-format msgid "Skipping unexpected relocation type %s\n" msgstr "" -#: readelf.c:4109 readelf.c:4134 +#: readelf.c:4438 readelf.c:4463 #, c-format msgid "" "\n" "There are no unwind sections in this file.\n" msgstr "" -#: readelf.c:4185 +#: readelf.c:4530 #, c-format msgid "" "\n" "Could not find unwind info section for " msgstr "" -#: readelf.c:4197 +#: readelf.c:4542 msgid "unwind info" msgstr "" -#: readelf.c:4199 +#: readelf.c:4544 #, c-format msgid "" "\n" "Unwind section " msgstr "" -#: readelf.c:4389 readelf.c:4430 -msgid "dynamic segment" +#: readelf.c:4733 readelf.c:4777 +msgid "dynamic section" msgstr "" -#: readelf.c:4505 +#: readelf.c:4856 #, c-format msgid "" "\n" -"There is no dynamic segment in this file.\n" +"There is no dynamic section in this file.\n" msgstr "" -#: readelf.c:4543 +#: readelf.c:4894 msgid "Unable to seek to end of file!" msgstr "" -#: readelf.c:4556 +#: readelf.c:4907 msgid "Unable to determine the number of symbols to load\n" msgstr "" -#: readelf.c:4591 +#: readelf.c:4942 msgid "Unable to seek to end of file\n" msgstr "" -#: readelf.c:4598 +#: readelf.c:4949 msgid "Unable to determine the length of the dynamic string table\n" msgstr "" -#: readelf.c:4603 +#: readelf.c:4954 msgid "dynamic string table" msgstr "" -#: readelf.c:4637 +#: readelf.c:4988 msgid "symbol information" msgstr "" -#: readelf.c:4661 +#: readelf.c:5013 #, c-format msgid "" "\n" -"Dynamic segment at offset 0x%lx contains %ld entries:\n" +"Dynamic section at offset 0x%lx contains %u entries:\n" msgstr "" -#: readelf.c:4664 +#: readelf.c:5016 #, c-format msgid " Tag Type Name/Value\n" msgstr "" -#: readelf.c:4700 +#: readelf.c:5052 #, c-format msgid "Auxiliary library" msgstr "" -#: readelf.c:4704 +#: readelf.c:5056 #, c-format msgid "Filter library" msgstr "" -#: readelf.c:4708 +#: readelf.c:5060 #, c-format msgid "Configuration file" msgstr "" -#: readelf.c:4712 +#: readelf.c:5064 #, c-format msgid "Dependency audit library" msgstr "" -#: readelf.c:4716 +#: readelf.c:5068 #, c-format msgid "Audit library" msgstr "" -#: readelf.c:4734 readelf.c:4762 readelf.c:4790 +#: readelf.c:5086 readelf.c:5114 readelf.c:5142 #, c-format msgid "Flags:" msgstr "" -#: readelf.c:4737 readelf.c:4765 readelf.c:4792 +#: readelf.c:5089 readelf.c:5117 readelf.c:5144 #, c-format msgid " None\n" msgstr "" -#: readelf.c:4913 +#: readelf.c:5265 #, c-format msgid "Shared library: [%s]" msgstr "" -#: readelf.c:4916 +#: readelf.c:5268 #, c-format msgid " program interpreter" msgstr "" -#: readelf.c:4920 +#: readelf.c:5272 #, c-format msgid "Library soname: [%s]" msgstr "" -#: readelf.c:4924 +#: readelf.c:5276 #, c-format msgid "Library rpath: [%s]" msgstr "" -#: readelf.c:4928 +#: readelf.c:5280 #, c-format msgid "Library runpath: [%s]" msgstr "" -#: readelf.c:4992 +#: readelf.c:5344 #, c-format msgid "Not needed object: [%s]\n" msgstr "" -#: readelf.c:5106 +#: readelf.c:5458 #, c-format msgid "" "\n" "Version definition section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:5109 +#: readelf.c:5461 #, c-format msgid " Addr: 0x" msgstr "" -#: readelf.c:5111 readelf.c:5303 +#: readelf.c:5463 readelf.c:5655 #, c-format msgid " Offset: %#08lx Link: %lx (%s)\n" msgstr "" -#: readelf.c:5116 +#: readelf.c:5468 msgid "version definition section" msgstr "" -#: readelf.c:5142 +#: readelf.c:5494 #, c-format msgid " %#06x: Rev: %d Flags: %s" msgstr "" -#: readelf.c:5145 +#: readelf.c:5497 #, c-format msgid " Index: %d Cnt: %d " msgstr "" -#: readelf.c:5156 +#: readelf.c:5508 #, c-format msgid "Name: %s\n" msgstr "" -#: readelf.c:5158 +#: readelf.c:5510 #, c-format msgid "Name index: %ld\n" msgstr "" -#: readelf.c:5173 +#: readelf.c:5525 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr "" -#: readelf.c:5176 +#: readelf.c:5528 #, c-format msgid " %#06x: Parent %d, name index: %ld\n" msgstr "" -#: readelf.c:5195 +#: readelf.c:5547 #, c-format msgid "" "\n" "Version needs section '%s' contains %ld entries:\n" msgstr "" -#: readelf.c:5198 +#: readelf.c:5550 #, c-format msgid " Addr: 0x" msgstr "" -#: readelf.c:5200 +#: readelf.c:5552 #, c-format msgid " Offset: %#08lx Link to section: %ld (%s)\n" msgstr "" -#: readelf.c:5205 +#: readelf.c:5557 msgid "version need section" msgstr "" -#: readelf.c:5227 +#: readelf.c:5579 #, c-format msgid " %#06x: Version: %d" msgstr "" -#: readelf.c:5230 +#: readelf.c:5582 #, c-format msgid " File: %s" msgstr "" -#: readelf.c:5232 +#: readelf.c:5584 #, c-format msgid " File: %lx" msgstr "" -#: readelf.c:5234 +#: readelf.c:5586 #, c-format msgid " Cnt: %d\n" msgstr "" -#: readelf.c:5252 +#: readelf.c:5604 #, c-format msgid " %#06x: Name: %s" msgstr "" -#: readelf.c:5255 +#: readelf.c:5607 #, c-format msgid " %#06x: Name index: %lx" msgstr "" -#: readelf.c:5258 +#: readelf.c:5610 #, c-format msgid " Flags: %s Version: %d\n" msgstr "" -#: readelf.c:5294 +#: readelf.c:5646 msgid "version string table" msgstr "" -#: readelf.c:5298 +#: readelf.c:5650 #, c-format msgid "" "\n" "Version symbols section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:5301 +#: readelf.c:5653 #, c-format msgid " Addr: " msgstr "" -#: readelf.c:5311 +#: readelf.c:5663 msgid "version symbol data" msgstr "" -#: readelf.c:5338 +#: readelf.c:5690 msgid " 0 (*local*) " msgstr "" -#: readelf.c:5342 +#: readelf.c:5694 msgid " 1 (*global*) " msgstr "" -#: readelf.c:5378 readelf.c:5816 +#: readelf.c:5730 readelf.c:6168 msgid "version need" msgstr "" -#: readelf.c:5388 +#: readelf.c:5740 msgid "version need aux (2)" msgstr "" -#: readelf.c:5430 readelf.c:5879 +#: readelf.c:5782 readelf.c:6231 msgid "version def" msgstr "" -#: readelf.c:5449 readelf.c:5894 +#: readelf.c:5801 readelf.c:6246 msgid "version def aux" msgstr "" -#: readelf.c:5480 +#: readelf.c:5832 #, c-format msgid "" "\n" "No version information found in this file.\n" msgstr "" -#: readelf.c:5610 +#: readelf.c:5962 msgid "Unable to read in dynamic data\n" msgstr "" -#: readelf.c:5655 +#: readelf.c:6007 msgid "Unable to seek to start of dynamic information" msgstr "" -#: readelf.c:5661 +#: readelf.c:6013 msgid "Failed to read in number of buckets\n" msgstr "" -#: readelf.c:5667 +#: readelf.c:6019 msgid "Failed to read in number of chains\n" msgstr "" -#: readelf.c:5687 +#: readelf.c:6039 #, c-format msgid "" "\n" "Symbol table for image:\n" msgstr "" -#: readelf.c:5689 +#: readelf.c:6041 #, c-format msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:5691 +#: readelf.c:6043 #, c-format msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:5736 +#: readelf.c:6088 #, c-format msgid "" "\n" "Symbol table '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:5740 +#: readelf.c:6092 #, c-format msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:5742 +#: readelf.c:6094 #, c-format msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: readelf.c:5788 +#: readelf.c:6140 msgid "version data" msgstr "" -#: readelf.c:5829 +#: readelf.c:6181 msgid "version need aux (3)" msgstr "" -#: readelf.c:5854 +#: readelf.c:6206 msgid "bad dynamic symbol" msgstr "" -#: readelf.c:5917 +#: readelf.c:6269 #, c-format msgid "" "\n" "Dynamic symbol information is not available for displaying symbols.\n" msgstr "" -#: readelf.c:5929 +#: readelf.c:6281 #, c-format msgid "" "\n" "Histogram for bucket list length (total of %d buckets):\n" msgstr "" -#: readelf.c:5931 +#: readelf.c:6283 #, c-format msgid " Length Number %% of total Coverage\n" msgstr "" -#: readelf.c:5936 readelf.c:5955 readelf.c:9565 readelf.c:9757 +#: readelf.c:6288 readelf.c:6307 readelf.c:9975 readelf.c:10167 msgid "Out of memory" msgstr "" -#: readelf.c:6003 +#: readelf.c:6355 #, c-format msgid "" "\n" "Dynamic info segment at offset 0x%lx contains %d entries:\n" msgstr "" -#: readelf.c:6006 +#: readelf.c:6358 #, c-format msgid " Num: Name BoundTo Flags\n" msgstr "" -#: readelf.c:6057 +#: readelf.c:6409 #, c-format msgid "" "\n" "Assembly dump of section %s\n" msgstr "" -#: readelf.c:6078 +#: readelf.c:6430 #, c-format msgid "" "\n" "Section '%s' has no data to dump.\n" msgstr "" -#: readelf.c:6083 +#: readelf.c:6435 #, c-format msgid "" "\n" "Hex dump of section '%s':\n" msgstr "" -#: readelf.c:6087 -msgid "section data" -msgstr "" - -#: readelf.c:6229 +#: readelf.c:6581 msgid "badly formed extended line op encountered!\n" msgstr "" -#: readelf.c:6236 +#: readelf.c:6588 #, c-format msgid " Extended opcode %d: " msgstr "" -#: readelf.c:6241 +#: readelf.c:6593 #, c-format msgid "" "End of Sequence\n" "\n" msgstr "" -#: readelf.c:6247 +#: readelf.c:6599 #, c-format msgid "set Address to 0x%lx\n" msgstr "" -#: readelf.c:6252 +#: readelf.c:6604 #, c-format msgid " define new File Table entry\n" msgstr "" -#: readelf.c:6253 readelf.c:6541 +#: readelf.c:6605 readelf.c:6893 #, c-format msgid " Entry\tDir\tTime\tSize\tName\n" msgstr "" -#: readelf.c:6255 +#: readelf.c:6607 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:6258 readelf.c:6260 readelf.c:6262 readelf.c:6553 readelf.c:6555 -#: readelf.c:6557 +#: readelf.c:6610 readelf.c:6612 readelf.c:6614 readelf.c:6905 readelf.c:6907 +#: readelf.c:6909 #, c-format msgid "%lu\t" msgstr "" -#: readelf.c:6263 +#: readelf.c:6615 #, c-format msgid "" "%s\n" "\n" msgstr "" -#: readelf.c:6267 +#: readelf.c:6619 #, c-format msgid "UNKNOWN: length %d\n" msgstr "" -#: readelf.c:6323 +#: readelf.c:6675 msgid "extracting pointer sizes from .debug_info section" msgstr "" -#: readelf.c:6347 +#: readelf.c:6699 msgid "No comp units in .debug_info section ?" msgstr "" -#: readelf.c:6356 +#: readelf.c:6708 #, c-format msgid "Not enough memory for a pointer size array of %u entries" msgstr "" -#: readelf.c:6417 +#: readelf.c:6769 #, c-format msgid "" "\n" @@ -3449,742 +3514,742 @@ msgid "" "\n" msgstr "" -#: readelf.c:6450 +#: readelf.c:6802 msgid "The line info appears to be corrupt - the section is too small\n" msgstr "" -#: readelf.c:6459 +#: readelf.c:6811 msgid "Only DWARF version 2 and 3 line info is currently supported.\n" msgstr "" -#: readelf.c:6484 +#: readelf.c:6836 msgid "Not enough comp units for .debug_lines section\n" msgstr "" -#: readelf.c:6493 +#: readelf.c:6845 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6494 +#: readelf.c:6846 #, c-format msgid " DWARF Version: %d\n" msgstr "" -#: readelf.c:6495 +#: readelf.c:6847 #, c-format msgid " Prologue Length: %d\n" msgstr "" -#: readelf.c:6496 +#: readelf.c:6848 #, c-format msgid " Minimum Instruction Length: %d\n" msgstr "" -#: readelf.c:6497 +#: readelf.c:6849 #, c-format msgid " Initial value of 'is_stmt': %d\n" msgstr "" -#: readelf.c:6498 +#: readelf.c:6850 #, c-format msgid " Line Base: %d\n" msgstr "" -#: readelf.c:6499 +#: readelf.c:6851 #, c-format msgid " Line Range: %d\n" msgstr "" -#: readelf.c:6500 +#: readelf.c:6852 #, c-format msgid " Opcode Base: %d\n" msgstr "" -#: readelf.c:6501 +#: readelf.c:6853 #, c-format msgid " (Pointer size: %u)\n" msgstr "" -#: readelf.c:6510 +#: readelf.c:6862 #, c-format msgid "" "\n" " Opcodes:\n" msgstr "" -#: readelf.c:6513 +#: readelf.c:6865 #, c-format msgid " Opcode %d has %d args\n" msgstr "" -#: readelf.c:6519 +#: readelf.c:6871 #, c-format msgid "" "\n" " The Directory Table is empty.\n" msgstr "" -#: readelf.c:6522 +#: readelf.c:6874 #, c-format msgid "" "\n" " The Directory Table:\n" msgstr "" -#: readelf.c:6526 +#: readelf.c:6878 #, c-format msgid " %s\n" msgstr "" -#: readelf.c:6537 +#: readelf.c:6889 #, c-format msgid "" "\n" " The File Name Table is empty.\n" msgstr "" -#: readelf.c:6540 +#: readelf.c:6892 #, c-format msgid "" "\n" " The File Name Table:\n" msgstr "" -#: readelf.c:6548 +#: readelf.c:6900 #, c-format msgid " %d\t" msgstr "" -#: readelf.c:6559 +#: readelf.c:6911 #, c-format msgid "%s\n" msgstr "" #. Now display the statements. -#: readelf.c:6567 +#: readelf.c:6919 #, c-format msgid "" "\n" " Line Number Statements:\n" msgstr "" -#: readelf.c:6583 +#: readelf.c:6935 #, c-format msgid " Special opcode %d: advance Address by %d to 0x%lx" msgstr "" -#: readelf.c:6587 +#: readelf.c:6939 #, c-format msgid " and Line by %d to %d\n" msgstr "" -#: readelf.c:6598 +#: readelf.c:6950 #, c-format msgid " Copy\n" msgstr "" -#: readelf.c:6605 +#: readelf.c:6957 #, c-format msgid " Advance PC by %d to %lx\n" msgstr "" -#: readelf.c:6613 +#: readelf.c:6965 #, c-format msgid " Advance Line by %d to %d\n" msgstr "" -#: readelf.c:6620 +#: readelf.c:6972 #, c-format msgid " Set File Name to entry %d in the File Name Table\n" msgstr "" -#: readelf.c:6628 +#: readelf.c:6980 #, c-format msgid " Set column to %d\n" msgstr "" -#: readelf.c:6635 +#: readelf.c:6987 #, c-format msgid " Set is_stmt to %d\n" msgstr "" -#: readelf.c:6640 +#: readelf.c:6992 #, c-format msgid " Set basic block\n" msgstr "" -#: readelf.c:6648 +#: readelf.c:7000 #, c-format msgid " Advance PC by constant %d to 0x%lx\n" msgstr "" -#: readelf.c:6656 +#: readelf.c:7008 #, c-format msgid " Advance PC by fixed size amount %d to 0x%lx\n" msgstr "" -#: readelf.c:6661 +#: readelf.c:7013 #, c-format msgid " Set prologue_end to true\n" msgstr "" -#: readelf.c:6665 +#: readelf.c:7017 #, c-format msgid " Set epilogue_begin to true\n" msgstr "" -#: readelf.c:6671 +#: readelf.c:7023 #, c-format msgid " Set ISA to %d\n" msgstr "" -#: readelf.c:6675 +#: readelf.c:7027 #, c-format msgid " Unknown opcode %d with operands: " msgstr "" -#: readelf.c:6705 readelf.c:7174 readelf.c:7245 +#: readelf.c:7057 readelf.c:7526 readelf.c:7597 #, c-format msgid "" "Contents of the %s section:\n" "\n" msgstr "" -#: readelf.c:6745 +#: readelf.c:7097 msgid "Only DWARF 2 and 3 pubnames are currently supported\n" msgstr "" -#: readelf.c:6752 +#: readelf.c:7104 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:6754 +#: readelf.c:7106 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:6756 +#: readelf.c:7108 #, c-format msgid " Offset into .debug_info section: %ld\n" msgstr "" -#: readelf.c:6758 +#: readelf.c:7110 #, c-format msgid " Size of area in .debug_info section: %ld\n" msgstr "" -#: readelf.c:6761 +#: readelf.c:7113 #, c-format msgid "" "\n" " Offset\tName\n" msgstr "" -#: readelf.c:6855 +#: readelf.c:7207 #, c-format msgid "Unknown TAG value: %lx" msgstr "" -#: readelf.c:6968 +#: readelf.c:7320 #, c-format msgid "Unknown AT value: %lx" msgstr "" -#: readelf.c:7004 +#: readelf.c:7356 #, c-format msgid "Unknown FORM value: %lx" msgstr "" -#: readelf.c:7195 +#: readelf.c:7547 #, c-format msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n" msgstr "" -#: readelf.c:7200 +#: readelf.c:7552 #, c-format msgid " DW_MACINFO_end_file\n" msgstr "" -#: readelf.c:7208 +#: readelf.c:7560 #, c-format msgid " DW_MACINFO_define - lineno : %d macro : %s\n" msgstr "" -#: readelf.c:7216 +#: readelf.c:7568 #, c-format msgid " DW_MACINFO_undef - lineno : %d macro : %s\n" msgstr "" -#: readelf.c:7227 +#: readelf.c:7579 #, c-format msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n" msgstr "" -#: readelf.c:7254 +#: readelf.c:7606 #, c-format msgid " Number TAG\n" msgstr "" -#: readelf.c:7260 +#: readelf.c:7612 #, c-format msgid " %ld %s [%s]\n" msgstr "" -#: readelf.c:7263 +#: readelf.c:7615 msgid "has children" msgstr "" -#: readelf.c:7263 +#: readelf.c:7615 msgid "no children" msgstr "" -#: readelf.c:7267 +#: readelf.c:7619 #, c-format msgid " %-18s %s\n" msgstr "" -#: readelf.c:7286 +#: readelf.c:7638 #, c-format msgid " %lu byte block: " msgstr "" -#: readelf.c:7613 +#: readelf.c:7965 #, c-format msgid "(User defined location op)" msgstr "" -#: readelf.c:7615 +#: readelf.c:7967 #, c-format msgid "(Unknown location op)" msgstr "" -#: readelf.c:7646 +#: readelf.c:7998 msgid "debug_loc section data" msgstr "" -#: readelf.c:7677 +#: readelf.c:8029 #, c-format msgid "" "\n" "The .debug_loc section is empty.\n" msgstr "" -#: readelf.c:7684 +#: readelf.c:8036 #, c-format msgid "" "Contents of the .debug_loc section:\n" "\n" msgstr "" -#: readelf.c:7685 +#: readelf.c:8037 #, c-format msgid "" "\n" " Offset Begin End Expression\n" msgstr "" -#: readelf.c:7701 +#: readelf.c:8053 msgid "Not enough comp units for .debug_loc section\n" msgstr "" -#: readelf.c:7761 +#: readelf.c:8113 msgid "debug_str section data" msgstr "" -#: readelf.c:7779 +#: readelf.c:8131 msgid "" msgstr "" -#: readelf.c:7782 +#: readelf.c:8134 msgid "" msgstr "" -#: readelf.c:7800 +#: readelf.c:8152 #, c-format msgid "" "\n" "The .debug_str section is empty.\n" msgstr "" -#: readelf.c:7804 +#: readelf.c:8156 #, c-format msgid "" "Contents of the .debug_str section:\n" "\n" msgstr "" -#: readelf.c:7877 +#: readelf.c:8229 msgid "Internal error: DWARF version is not 2 or 3.\n" msgstr "" -#: readelf.c:7992 +#: readelf.c:8345 #, c-format msgid " (indirect string, offset: 0x%lx): %s" msgstr "" -#: readelf.c:8001 +#: readelf.c:8354 #, c-format msgid "Unrecognized form: %d\n" msgstr "" -#: readelf.c:8015 +#: readelf.c:8368 #, c-format msgid "(not inlined)" msgstr "" -#: readelf.c:8018 +#: readelf.c:8371 #, c-format msgid "(inlined)" msgstr "" -#: readelf.c:8021 +#: readelf.c:8374 #, c-format msgid "(declared as inline but ignored)" msgstr "" -#: readelf.c:8024 +#: readelf.c:8377 #, c-format msgid "(declared as inline and inlined)" msgstr "" -#: readelf.c:8027 +#: readelf.c:8380 #, c-format msgid " (Unknown inline attribute value: %lx)" msgstr "" -#: readelf.c:8205 readelf.c:8424 +#: readelf.c:8640 readelf.c:8798 #, c-format msgid "" "The section %s contains:\n" "\n" msgstr "" -#: readelf.c:8320 +#: readelf.c:8694 #, c-format msgid " Compilation Unit @ %lx:\n" msgstr "" -#: readelf.c:8321 +#: readelf.c:8695 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:8322 +#: readelf.c:8696 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:8323 +#: readelf.c:8697 #, c-format msgid " Abbrev Offset: %ld\n" msgstr "" -#: readelf.c:8324 +#: readelf.c:8698 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:8328 +#: readelf.c:8702 msgid "Only version 2 and 3 DWARF debug information is currently supported.\n" msgstr "" -#: readelf.c:8343 +#: readelf.c:8717 msgid "Unable to locate .debug_abbrev section!\n" msgstr "" -#: readelf.c:8348 +#: readelf.c:8722 msgid "debug_abbrev section data" msgstr "" -#: readelf.c:8385 +#: readelf.c:8759 #, c-format msgid "Unable to locate entry %lu in the abbreviation table\n" msgstr "" -#: readelf.c:8390 +#: readelf.c:8764 #, c-format msgid " <%d><%lx>: Abbrev Number: %lu (%s)\n" msgstr "" -#: readelf.c:8469 +#: readelf.c:8843 msgid "Only DWARF 2 and 3 aranges are currently supported.\n" msgstr "" -#: readelf.c:8473 +#: readelf.c:8847 #, c-format msgid " Length: %ld\n" msgstr "" -#: readelf.c:8474 +#: readelf.c:8848 #, c-format msgid " Version: %d\n" msgstr "" -#: readelf.c:8475 +#: readelf.c:8849 #, c-format msgid " Offset into .debug_info: %lx\n" msgstr "" -#: readelf.c:8476 +#: readelf.c:8850 #, c-format msgid " Pointer Size: %d\n" msgstr "" -#: readelf.c:8477 +#: readelf.c:8851 #, c-format msgid " Segment Size: %d\n" msgstr "" -#: readelf.c:8479 +#: readelf.c:8853 #, c-format msgid "" "\n" " Address Length\n" msgstr "" -#: readelf.c:8665 +#: readelf.c:9039 #, c-format msgid "The section %s contains:\n" msgstr "" -#: readelf.c:9299 +#: readelf.c:9709 #, c-format msgid "Displaying the debug contents of section %s is not yet supported.\n" msgstr "" -#: readelf.c:9343 +#: readelf.c:9753 #, c-format msgid "" "\n" "Section '%s' has no debugging data.\n" msgstr "" -#: readelf.c:9348 +#: readelf.c:9758 msgid "debug section data" msgstr "" -#: readelf.c:9364 +#: readelf.c:9774 #, c-format msgid "Unrecognized debug section: %s\n" msgstr "" -#: readelf.c:9400 +#: readelf.c:9810 msgid "Some sections were not dumped because they do not exist!\n" msgstr "" -#: readelf.c:9474 readelf.c:9831 +#: readelf.c:9884 readelf.c:10241 msgid "liblist" msgstr "" -#: readelf.c:9559 +#: readelf.c:9969 msgid "options" msgstr "" -#: readelf.c:9589 +#: readelf.c:9999 #, c-format msgid "" "\n" "Section '%s' contains %d entries:\n" msgstr "" -#: readelf.c:9750 +#: readelf.c:10160 msgid "conflict list found without a dynamic symbol table" msgstr "" -#: readelf.c:9766 readelf.c:9780 +#: readelf.c:10176 readelf.c:10190 msgid "conflict" msgstr "" -#: readelf.c:9790 +#: readelf.c:10200 #, c-format msgid "" "\n" "Section '.conflict' contains %lu entries:\n" msgstr "" -#: readelf.c:9792 +#: readelf.c:10202 msgid " Num: Index Value Name" msgstr "" -#: readelf.c:9838 +#: readelf.c:10248 msgid "liblist string table" msgstr "" -#: readelf.c:9847 +#: readelf.c:10257 #, c-format msgid "" "\n" "Library list section '%s' contains %lu entries:\n" msgstr "" -#: readelf.c:9895 +#: readelf.c:10305 msgid "NT_AUXV (auxiliary vector)" msgstr "" -#: readelf.c:9896 +#: readelf.c:10306 msgid "NT_PRSTATUS (prstatus structure)" msgstr "" -#: readelf.c:9897 +#: readelf.c:10307 msgid "NT_FPREGSET (floating point registers)" msgstr "" -#: readelf.c:9898 +#: readelf.c:10308 msgid "NT_PRPSINFO (prpsinfo structure)" msgstr "" -#: readelf.c:9899 +#: readelf.c:10309 msgid "NT_TASKSTRUCT (task structure)" msgstr "" -#: readelf.c:9900 +#: readelf.c:10310 msgid "NT_PRXFPREG (user_xfpregs structure)" msgstr "" -#: readelf.c:9901 +#: readelf.c:10311 msgid "NT_PSTATUS (pstatus structure)" msgstr "" -#: readelf.c:9902 +#: readelf.c:10312 msgid "NT_FPREGS (floating point registers)" msgstr "" -#: readelf.c:9903 +#: readelf.c:10313 msgid "NT_PSINFO (psinfo structure)" msgstr "" -#: readelf.c:9904 +#: readelf.c:10314 msgid "NT_LWPSTATUS (lwpstatus_t structure)" msgstr "" -#: readelf.c:9905 +#: readelf.c:10315 msgid "NT_LWPSINFO (lwpsinfo_t structure)" msgstr "" -#: readelf.c:9906 +#: readelf.c:10316 msgid "NT_WIN32PSTATUS (win32_pstatus structure)" msgstr "" -#: readelf.c:9908 readelf.c:9931 +#: readelf.c:10318 readelf.c:10341 #, c-format msgid "Unknown note type: (0x%08x)" msgstr "" #. NetBSD core "procinfo" structure. -#: readelf.c:9921 +#: readelf.c:10331 msgid "NetBSD procinfo structure" msgstr "" -#: readelf.c:9948 readelf.c:9962 +#: readelf.c:10358 readelf.c:10372 msgid "PT_GETREGS (reg structure)" msgstr "" -#: readelf.c:9950 readelf.c:9964 +#: readelf.c:10360 readelf.c:10374 msgid "PT_GETFPREGS (fpreg structure)" msgstr "" -#: readelf.c:9970 +#: readelf.c:10380 #, c-format msgid "PT_FIRSTMACH+%d" msgstr "" -#: readelf.c:10019 +#: readelf.c:10429 msgid "notes" msgstr "" -#: readelf.c:10025 +#: readelf.c:10435 #, c-format msgid "" "\n" "Notes at offset 0x%08lx with length 0x%08lx:\n" msgstr "" -#: readelf.c:10027 +#: readelf.c:10437 #, c-format msgid " Owner\t\tData size\tDescription\n" msgstr "" -#: readelf.c:10046 +#: readelf.c:10456 #, c-format msgid "corrupt note found at offset %x into core notes\n" msgstr "" -#: readelf.c:10048 +#: readelf.c:10458 #, c-format msgid " type: %x, namesize: %08lx, descsize: %08lx\n" msgstr "" -#: readelf.c:10128 +#: readelf.c:10538 #, c-format msgid "No note segments present in the core file.\n" msgstr "" -#: readelf.c:10210 +#: readelf.c:10620 msgid "" "This instance of readelf has been built without support for a\n" "64 bit data type and so it cannot read 64 bit ELF files.\n" msgstr "" -#: readelf.c:10257 readelf.c:10552 +#: readelf.c:10667 readelf.c:10986 #, c-format msgid "%s: Failed to read file header\n" msgstr "" -#: readelf.c:10270 +#: readelf.c:10680 #, c-format msgid "" "\n" "File: %s\n" msgstr "" -#: readelf.c:10369 readelf.c:10390 readelf.c:10427 readelf.c:10507 +#: readelf.c:10803 readelf.c:10824 readelf.c:10861 readelf.c:10941 #, c-format msgid "%s: failed to read archive header\n" msgstr "" -#: readelf.c:10380 +#: readelf.c:10814 #, c-format msgid "%s: failed to skip archive symbol table\n" msgstr "" -#: readelf.c:10412 +#: readelf.c:10846 #, c-format msgid "%s: failed to read string table\n" msgstr "" -#: readelf.c:10448 +#: readelf.c:10882 #, c-format msgid "%s: invalid archive string table offset %lu\n" msgstr "" -#: readelf.c:10464 +#: readelf.c:10898 #, c-format msgid "%s: bad archive file name\n" msgstr "" -#: readelf.c:10496 +#: readelf.c:10930 #, c-format msgid "%s: failed to seek to next archive header\n" msgstr "" -#: readelf.c:10530 +#: readelf.c:10964 #, c-format msgid "'%s': No such file\n" msgstr "" -#: readelf.c:10532 +#: readelf.c:10966 #, c-format msgid "Could not locate '%s'. System error message: %s\n" msgstr "" -#: readelf.c:10539 +#: readelf.c:10973 #, c-format msgid "'%s' is not an ordinary file\n" msgstr "" -#: readelf.c:10546 +#: readelf.c:10980 #, c-format msgid "Input file '%s' is not readable.\n" msgstr "" @@ -4766,17 +4831,17 @@ msgstr "" msgid "invalid number %s" msgstr "" -#: strings.c:625 +#: strings.c:626 #, c-format msgid "invalid integer argument %s" msgstr "" -#: strings.c:634 +#: strings.c:635 #, c-format msgid " Display printable strings in [file(s)] (stdin by default)\n" msgstr "" -#: strings.c:635 +#: strings.c:636 #, c-format msgid "" " The options are:\n" Binary files binutils-2.15.91.0.2/binutils/po/da.gmo and binutils-2.15.92.0.2/binutils/po/da.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/es.gmo and binutils-2.15.92.0.2/binutils/po/es.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/fr.gmo and binutils-2.15.92.0.2/binutils/po/fr.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/ja.gmo and binutils-2.15.92.0.2/binutils/po/ja.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/ru.gmo and binutils-2.15.92.0.2/binutils/po/ru.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/sv.gmo and binutils-2.15.92.0.2/binutils/po/sv.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/tr.gmo and binutils-2.15.92.0.2/binutils/po/tr.gmo differ Binary files binutils-2.15.91.0.2/binutils/po/zh_CN.gmo and binutils-2.15.92.0.2/binutils/po/zh_CN.gmo differ diff -uprN binutils-2.15.91.0.2/binutils/readelf.c binutils-2.15.92.0.2/binutils/readelf.c --- binutils-2.15.91.0.2/binutils/readelf.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/binutils/readelf.c 2004-09-27 13:46:07.000000000 -0700 @@ -1,5 +1,6 @@ /* readelf.c -- display contents of an ELF format file - Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Originally developed by Eric Youngdale Modifications by Nick Clifton @@ -23,7 +24,7 @@ /* The difference between readelf and objdump: - Both programs are capabale of displaying the contents of ELF format files, + Both programs are capable of displaying the contents of ELF format files, so why does the binutils project have two file dumpers ? The reason is that objdump sees an ELF file through a BFD filter of the @@ -1225,7 +1226,7 @@ dump_relocations (FILE *file, if (psym->st_shndx < SHN_LORESERVE) sec_index = psym->st_shndx; - else if (psym->st_shndx > SHN_LORESERVE) + else if (psym->st_shndx > SHN_HIRESERVE) sec_index = psym->st_shndx - (SHN_HIRESERVE + 1 - SHN_LORESERVE); @@ -1872,6 +1873,46 @@ get_machine_flags (unsigned e_flags, uns decode_ARM_machine_flags (e_flags, buf); break; + case EM_CYGNUS_FRV: + switch (e_flags & EF_FRV_CPU_MASK) + { + case EF_FRV_CPU_GENERIC: + break; + + default: + strcat (buf, ", fr???"); + break; + + case EF_FRV_CPU_FR300: + strcat (buf, ", fr300"); + break; + + case EF_FRV_CPU_FR400: + strcat (buf, ", fr400"); + break; + case EF_FRV_CPU_FR405: + strcat (buf, ", fr405"); + break; + + case EF_FRV_CPU_FR450: + strcat (buf, ", fr450"); + break; + + case EF_FRV_CPU_FR500: + strcat (buf, ", fr500"); + break; + case EF_FRV_CPU_FR550: + strcat (buf, ", fr550"); + break; + + case EF_FRV_CPU_SIMPLE: + strcat (buf, ", simple"); + break; + case EF_FRV_CPU_TOMCAT: + strcat (buf, ", tomcat"); + break; + } + case EM_68K: if (e_flags & EF_CPU32) strcat (buf, ", cpu32"); @@ -1995,6 +2036,29 @@ get_machine_flags (unsigned e_flags, uns break; + case EM_SH: + switch ((e_flags & EF_SH_MACH_MASK)) + { + case EF_SH1: strcat (buf, ", sh1"); break; + case EF_SH2: strcat (buf, ", sh2"); break; + case EF_SH3: strcat (buf, ", sh3"); break; + case EF_SH_DSP: strcat (buf, ", sh-dsp"); break; + case EF_SH3_DSP: strcat (buf, ", sh3-dsp"); break; + case EF_SH4AL_DSP: strcat (buf, ", sh4al-dsp"); break; + case EF_SH3E: strcat (buf, ", sh3e"); break; + case EF_SH4: strcat (buf, ", sh4"); break; + case EF_SH5: strcat (buf, ", sh5"); break; + case EF_SH2E: strcat (buf, ", sh2e"); break; + case EF_SH4A: strcat (buf, ", sh4a"); break; + case EF_SH2A: strcat (buf, ", sh2a"); break; + case EF_SH4_NOFPU: strcat (buf, ", sh4-nofpu"); break; + case EF_SH4A_NOFPU: strcat (buf, ", sh4a-nofpu"); break; + case EF_SH2A_NOFPU: strcat (buf, ", sh2a-nofpu"); break; + default: strcat (buf, ", unknown ISA"); break; + } + + break; + case EM_SPARCV9: if (e_flags & EF_SPARC_32PLUS) strcat (buf, ", v8+"); @@ -3238,7 +3302,12 @@ process_program_headers (FILE *file) <= segment->p_vaddr + segment->p_memsz) : ((bfd_vma) section->sh_offset >= segment->p_offset && (section->sh_offset + section->sh_size - <= segment->p_offset + segment->p_filesz)))) + <= segment->p_offset + segment->p_filesz))) + /* .tbss is special. It doesn't contribute memory space + to normal segments. */ + && (!((section->sh_flags & SHF_TLS) != 0 + && section->sh_type == SHT_NOBITS) + || segment->p_type == PT_TLS)) printf ("%s ", SECTION_NAME (section)); } @@ -7607,14 +7676,14 @@ decode_location_expression (unsigned cha printf ("DW_OP_const1u: %lu", (unsigned long) byte_get (data++, 1)); break; case DW_OP_const1s: - printf ("DW_OP_const1s: %ld", (long) byte_get (data++, 1)); + printf ("DW_OP_const1s: %ld", (long) byte_get_signed (data++, 1)); break; case DW_OP_const2u: printf ("DW_OP_const2u: %lu", (unsigned long) byte_get (data, 2)); data += 2; break; case DW_OP_const2s: - printf ("DW_OP_const2s: %ld", (long) byte_get (data, 2)); + printf ("DW_OP_const2s: %ld", (long) byte_get_signed (data, 2)); data += 2; break; case DW_OP_const4u: @@ -7622,7 +7691,7 @@ decode_location_expression (unsigned cha data += 4; break; case DW_OP_const4s: - printf ("DW_OP_const4s: %ld", (long) byte_get (data, 4)); + printf ("DW_OP_const4s: %ld", (long) byte_get_signed (data, 4)); data += 4; break; case DW_OP_const8u: @@ -7712,7 +7781,7 @@ decode_location_expression (unsigned cha printf ("DW_OP_xor"); break; case DW_OP_bra: - printf ("DW_OP_bra: %ld", (long) byte_get (data, 2)); + printf ("DW_OP_bra: %ld", (long) byte_get_signed (data, 2)); data += 2; break; case DW_OP_eq: @@ -7734,7 +7803,7 @@ decode_location_expression (unsigned cha printf ("DW_OP_ne"); break; case DW_OP_skip: - printf ("DW_OP_skip: %ld", (long) byte_get (data, 2)); + printf ("DW_OP_skip: %ld", (long) byte_get_signed (data, 2)); data += 2; break; @@ -8483,6 +8552,88 @@ read_and_display_attr (unsigned long att return data; } +/* Apply addends of RELA relocations. */ + +static int +debug_apply_rela_addends (FILE *file, + Elf_Internal_Shdr *section, + int reloc_size, + unsigned char *sec_data, + unsigned char *start, + unsigned char *end) +{ + Elf_Internal_Shdr *relsec; + + if (end - start < reloc_size) + return 1; + + for (relsec = section_headers; + relsec < section_headers + elf_header.e_shnum; + ++relsec) + { + unsigned long nrelas; + Elf_Internal_Rela *rela, *rp; + Elf_Internal_Shdr *symsec; + Elf_Internal_Sym *symtab; + Elf_Internal_Sym *sym; + + if (relsec->sh_type != SHT_RELA + || SECTION_HEADER (relsec->sh_info) != section + || relsec->sh_size == 0) + continue; + + if (!slurp_rela_relocs (file, relsec->sh_offset, relsec->sh_size, + &rela, &nrelas)) + return 0; + + symsec = SECTION_HEADER (relsec->sh_link); + symtab = GET_ELF_SYMBOLS (file, symsec); + + for (rp = rela; rp < rela + nrelas; ++rp) + { + unsigned char *loc; + + if (rp->r_offset >= (bfd_vma) (start - sec_data) + && rp->r_offset < (bfd_vma) (end - sec_data) - reloc_size) + loc = sec_data + rp->r_offset; + else + continue; + + if (is_32bit_elf) + { + sym = symtab + ELF32_R_SYM (rp->r_info); + + if (ELF32_R_SYM (rp->r_info) != 0 + && ELF32_ST_TYPE (sym->st_info) != STT_SECTION) + { + warn (_("Skipping unexpected symbol type %u\n"), + ELF32_ST_TYPE (sym->st_info)); + continue; + } + } + else + { + sym = symtab + ELF64_R_SYM (rp->r_info); + + if (ELF64_R_SYM (rp->r_info) != 0 + && ELF64_ST_TYPE (sym->st_info) != STT_SECTION) + { + warn (_("Skipping unexpected symbol type %u\n"), + ELF64_ST_TYPE (sym->st_info)); + continue; + } + } + + byte_put (loc, rp->r_addend, reloc_size); + } + + free (symtab); + free (rela); + break; + } + return 1; +} + static int display_debug_info (Elf_Internal_Shdr *section, unsigned char *start, @@ -8499,7 +8650,6 @@ display_debug_info (Elf_Internal_Shdr *s while (start < end) { DWARF2_Internal_CompUnit compunit; - Elf_Internal_Shdr *relsec; unsigned char *hdrptr; unsigned char *cu_abbrev_offset_ptr; unsigned char *tags; @@ -8529,71 +8679,13 @@ display_debug_info (Elf_Internal_Shdr *s compunit.cu_version = byte_get (hdrptr, 2); hdrptr += 2; - /* Apply addends of RELA relocations. */ - for (relsec = section_headers; - relsec < section_headers + elf_header.e_shnum; - ++relsec) - { - unsigned long nrelas; - Elf_Internal_Rela *rela, *rp; - Elf_Internal_Shdr *symsec; - Elf_Internal_Sym *symtab; - Elf_Internal_Sym *sym; - - if (relsec->sh_type != SHT_RELA - || SECTION_HEADER (relsec->sh_info) != section - || relsec->sh_size == 0) - continue; - - if (!slurp_rela_relocs (file, relsec->sh_offset, relsec->sh_size, - & rela, & nrelas)) - return 0; - - symsec = SECTION_HEADER (relsec->sh_link); - symtab = GET_ELF_SYMBOLS (file, symsec); - - for (rp = rela; rp < rela + nrelas; ++rp) - { - unsigned char *loc; - - if (rp->r_offset >= (bfd_vma) (hdrptr - section_begin) - && section->sh_size > (bfd_vma) offset_size - && rp->r_offset <= section->sh_size - offset_size) - loc = section_begin + rp->r_offset; - else - continue; - - if (is_32bit_elf) - { - sym = symtab + ELF32_R_SYM (rp->r_info); - - if (ELF32_R_SYM (rp->r_info) != 0 - && ELF32_ST_TYPE (sym->st_info) != STT_SECTION) - { - warn (_("Skipping unexpected symbol type %u\n"), - ELF32_ST_TYPE (sym->st_info)); - continue; - } - } - else - { - sym = symtab + ELF64_R_SYM (rp->r_info); - - if (ELF64_R_SYM (rp->r_info) != 0 - && ELF64_ST_TYPE (sym->st_info) != STT_SECTION) - { - warn (_("Skipping unexpected symbol type %u\n"), - ELF64_ST_TYPE (sym->st_info)); - continue; - } - } - - byte_put (loc, rp->r_addend, offset_size); - } + cu_offset = start - section_begin; + start += compunit.cu_length + initial_length_size; - free (rela); - break; - } + if (elf_header.e_type == ET_REL + && !debug_apply_rela_addends (file, section, offset_size, + section_begin, hdrptr, start)) + return 0; cu_abbrev_offset_ptr = hdrptr; compunit.cu_abbrev_offset = byte_get (hdrptr, offset_size); @@ -8603,8 +8695,6 @@ display_debug_info (Elf_Internal_Shdr *s hdrptr += 1; tags = hdrptr; - cu_offset = start - section_begin; - start += compunit.cu_length + initial_length_size; printf (_(" Compilation Unit @ %lx:\n"), cu_offset); printf (_(" Length: %ld\n"), compunit.cu_length); @@ -8994,6 +9084,11 @@ display_debug_frames (Elf_Internal_Shdr block_end = saved_start + length + initial_length_size; cie_id = byte_get (start, offset_size); start += offset_size; + if (elf_header.e_type == ET_REL + && !debug_apply_rela_addends (file, section, offset_size, + section_start, start, block_end)) + return 0; + if (is_eh ? (cie_id == 0) : (cie_id == DW_CIE_ID)) { int version; @@ -9158,7 +9253,10 @@ display_debug_frames (Elf_Internal_Shdr encoded_ptr_size = size_of_encoded_value (fc->fde_encoding); fc->pc_begin = get_encoded_value (start, fc->fde_encoding); - if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel) + if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel + /* Don't adjust for ET_REL since there's invariably a pcrel + reloc here, which we haven't applied. */ + && elf_header.e_type != ET_REL) fc->pc_begin += section->sh_addr + (start - section_start); start += encoded_ptr_size; fc->pc_range = byte_get (start, encoded_ptr_size); @@ -9357,7 +9455,8 @@ display_debug_frames (Elf_Internal_Shdr case DW_CFA_set_loc: vma = get_encoded_value (start, fc->fde_encoding); - if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel) + if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel + && elf_header.e_type != ET_REL) vma += section->sh_addr + (start - section_start); start += encoded_ptr_size; if (do_debug_frames_interp) diff -uprN binutils-2.15.91.0.2/binutils.spec binutils-2.15.92.0.2/binutils.spec --- binutils-2.15.91.0.2/binutils.spec 2004-07-27 08:25:22.000000000 -0700 +++ binutils-2.15.92.0.2/binutils.spec 2004-09-27 09:22:46.000000000 -0700 @@ -12,7 +12,7 @@ Summary: A GNU collection of binary utilities. Name: binutils -Version: 2.15.91.0.2 +Version: 2.15.92.0.2 Release: 1 Copyright: GPL Group: Development/Tools diff -uprN binutils-2.15.91.0.2/config/ChangeLog binutils-2.15.92.0.2/config/ChangeLog --- binutils-2.15.91.0.2/config/ChangeLog 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/config/ChangeLog 2004-09-27 13:46:07.000000000 -0700 @@ -1,3 +1,35 @@ +2004-09-24 Zack Weinberg + + * warnings.m4: New file. + +2004-09-23 H.J. Lu + + PR bootstrap/17369 + * gcc-lib-path.m4: New file. + +2004-09-22 Kelley Cook + + * gettext-sister.m4: Renamed from gettext.m4 + * codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4, + inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4, + lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4, + uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources. + +2004-08-31 Robert Bowdidge + + * mh-ppc-darwin: Add file, and override BOOT_CFLAGS. + +2004-08-13 Nathanael Nerode + + * Add ACX_{TARGET,HOST,BUILD}_NONCANONICAL, + which do an automatic AC_SUBST on _GCC_TOPLEV_*_NONCANONICAL. + The intention is that we will migrate to these bit by bit. + +2004-08-01 Robert Millan + + * mt-linux: Rename to ... + * mt-gnu: ... this. + 2004-06-09 Paolo Bonzini * acx.m4 (ACX_PROG_LN): From gcc, modified to diff -uprN binutils-2.15.91.0.2/config/acx.m4 binutils-2.15.92.0.2/config/acx.m4 --- binutils-2.15.91.0.2/config/acx.m4 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/config/acx.m4 2004-09-15 12:05:03.000000000 -0700 @@ -38,6 +38,30 @@ esac ]) []dnl # _GCC_TOPLEV_NONCANONICAL_TARGET dnl #### +dnl # ACX_NONCANONICAL_BUILD +dnl # Like underscored version, but AC_SUBST's. +AC_DEFUN([ACX_NONCANONICAL_BUILD], +[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl +AC_SUBST(build_noncanonical) +]) []dnl # ACX_NONCANONICAL_BUILD + +dnl #### +dnl # ACX_NONCANONICAL_HOST +dnl # Like underscored version, but AC_SUBST's. +AC_DEFUN([ACX_NONCANONICAL_HOST], +[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_HOST]) []dnl +AC_SUBST(host_noncanonical) +]) []dnl # ACX_NONCANONICAL_HOST + +dnl #### +dnl # ACX_NONCANONICAL_TARGET +dnl # Like underscored version, but AC_SUBST's. +AC_DEFUN([ACX_NONCANONICAL_TARGET], +[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_TARGET]) []dnl +AC_SUBST(target_noncanonical) +]) []dnl # ACX_NONCANONICAL_TARGET + +dnl #### dnl # GCC_TOPLEV_SUBDIRS dnl # GCC & friends build 'build', 'host', and 'target' tools. These must dnl # be separated into three well-known subdirectories of the build directory: diff -uprN binutils-2.15.91.0.2/config/codeset.m4 binutils-2.15.92.0.2/config/codeset.m4 --- binutils-2.15.91.0.2/config/codeset.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/codeset.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,23 @@ +# codeset.m4 serial AM1 (gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_LANGINFO_CODESET], +[ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have and nl_langinfo(CODESET).]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/gcc-lib-path.m4 binutils-2.15.92.0.2/config/gcc-lib-path.m4 --- binutils-2.15.91.0.2/config/gcc-lib-path.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/gcc-lib-path.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,15 @@ +AC_DEFUN([TL_AC_GNU_MAKE_GCC_LIB_PATH], +[ +if test x"$SET_GCC_LIB_PATH_CMD" != x; then + # SET_GCC_LIB_PATH_CMD is "XXX=path; export XXX;". It is expanded to + # + # eval "set_gcc_lib_path=XXX=path; export XXX;" + # + eval "set_gcc_lib_path=$SET_GCC_LIB_PATH_CMD" + # It will set set_gcc_lib_path to "export XXX=path" for GNU make. + set_gcc_lib_path="export $set_gcc_lib_path" +else + set_gcc_lib_path= +fi +AC_SUBST(set_gcc_lib_path) +])dnl diff -uprN binutils-2.15.91.0.2/config/gettext-sister.m4 binutils-2.15.92.0.2/config/gettext-sister.m4 --- binutils-2.15.91.0.2/config/gettext-sister.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/gettext-sister.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,66 @@ +# intl sister-directory configuration rules. +# + +# The idea behind this macro is that there's no need to repeat all the +# autoconf probes done by the intl directory - it's already done them +# for us. In fact, there's no need even to look at the cache for the +# answers. All we need to do is nab a few pieces of information. +# The intl directory is set up to make this easy, by generating a +# small file which can be sourced as a shell script; then we produce +# the necessary substitutions and definitions for this directory. + +AC_DEFUN([ZW_GNU_GETTEXT_SISTER_DIR], +[# If we haven't got the data from the intl directory, +# assume NLS is disabled. +USE_NLS=no AC_SUBST(USE_NLS) +LIBINTL= AC_SUBST(LIBINTL) +LIBINTL_DEP= AC_SUBST(LIBINTL_DEP) +INCINTL= AC_SUBST(INCINTL) +XGETTEXT= AC_SUBST(XGETTEXT) +GMSGFMT= AC_SUBST(GMSGFMT) +POSUB= AC_SUBST(POSUB) +if test -f ../intl/config.intl; then + . ../intl/config.intl +fi +AC_MSG_CHECKING([whether NLS is requested]) +if test x"$USE_NLS" != xyes; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the + user's native language is requested.]) + + AC_MSG_CHECKING(for catalogs to be installed) + # Look for .po and .gmo files in the source directory. + CATALOGS= AC_SUBST(CATALOGS) + XLINGUAS= + for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do + # If there aren't any .gmo files the shell will give us the + # literal string "../path/to/srcdir/po/*.gmo" which has to be + # weeded out. + case "$cat" in *\**) + continue;; + esac + # The quadruple backslash is collapsed to a double backslash + # by the backticks, then collapsed again by the double quotes, + # leaving us with one backslash in the sed expression (right + # before the dot that mustn't act as a wildcard). + cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"` + lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"` + # The user is allowed to set LINGUAS to a list of languages to + # install catalogs for. If it's empty that means "all of them." + if test "x$LINGUAS" = x; then + CATALOGS="$CATALOGS $cat" + XLINGUAS="$XLINGUAS $lang" + else + case "$LINGUAS" in *$lang*) + CATALOGS="$CATALOGS $cat" + XLINGUAS="$XLINGUAS $lang" + ;; + esac + fi + done + LINGUAS="$XLINGUAS" + AC_MSG_RESULT($LINGUAS) +fi]) diff -uprN binutils-2.15.91.0.2/config/gettext.m4 binutils-2.15.92.0.2/config/gettext.m4 --- binutils-2.15.91.0.2/config/gettext.m4 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.92.0.2/config/gettext.m4 2004-09-27 13:46:07.000000000 -0700 @@ -1,66 +1,415 @@ -# intl sister-directory configuration rules. -# +# gettext.m4 serial 20 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. -# The idea behind this macro is that there's no need to repeat all the -# autoconf probes done by the intl directory - it's already done them -# for us. In fact, there's no need even to look at the cache for the -# answers. All we need to do is nab a few pieces of information. -# The intl directory is set up to make this easy, by generating a -# small file which can be sourced as a shell script; then we produce -# the necessary substitutions and definitions for this directory. - -AC_DEFUN([ZW_GNU_GETTEXT_SISTER_DIR], -[# If we haven't got the data from the intl directory, -# assume NLS is disabled. -USE_NLS=no AC_SUBST(USE_NLS) -LIBINTL= AC_SUBST(LIBINTL) -LIBINTL_DEP= AC_SUBST(LIBINTL_DEP) -INCINTL= AC_SUBST(INCINTL) -XGETTEXT= AC_SUBST(XGETTEXT) -GMSGFMT= AC_SUBST(GMSGFMT) -POSUB= AC_SUBST(POSUB) -if test -f ../intl/config.intl; then - . ../intl/config.intl -fi -AC_MSG_CHECKING([whether NLS is requested]) -if test x"$USE_NLS" != xyes; then - AC_MSG_RESULT(no) -else - AC_MSG_RESULT(yes) - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the - user's native language is requested.]) - - AC_MSG_CHECKING(for catalogs to be installed) - # Look for .po and .gmo files in the source directory. - CATALOGS= AC_SUBST(CATALOGS) - XLINGUAS= - for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do - # If there aren't any .gmo files the shell will give us the - # literal string "../path/to/srcdir/po/*.gmo" which has to be - # weeded out. - case "$cat" in *\**) - continue;; - esac - # The quadruple backslash is collapsed to a double backslash - # by the backticks, then collapsed again by the double quotes, - # leaving us with one backslash in the sed expression (right - # before the dot that mustn't act as a wildcard). - cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"` - lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"` - # The user is allowed to set LINGUAS to a list of languages to - # install catalogs for. If it's empty that means "all of them." - if test "x$LINGUAS" = x; then - CATALOGS="$CATALOGS $cat" - XLINGUAS="$XLINGUAS $lang" +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Set USE_NLS. + AM_NLS + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + dnl Add a version number to the cache macros. + define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) + + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) + + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +]ifelse([$2], [need-formatstring-macros], +[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +], [])[extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); +return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) else - case "$LINGUAS" in *$lang*) - CATALOGS="$CATALOGS $cat" - XLINGUAS="$XLINGUAS $lang" - ;; - esac + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" fi - done - LINGUAS="$XLINGUAS" - AC_MSG_RESULT($LINGUAS) -fi]) + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for all prerequisites of the intl subdirectory, +dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, +dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. +AC_DEFUN([AM_INTL_SUBDIR], +[ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ +geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ +strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ +__fsetlocking]) + + AM_ICONV + AM_LANGINFO_CODESET + if test $ac_cv_header_locale_h = yes; then + AM_LC_MESSAGES + fi + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) +changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) +changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff -uprN binutils-2.15.91.0.2/config/glibc21.m4 binutils-2.15.92.0.2/config/glibc21.m4 --- binutils-2.15.91.0.2/config/glibc21.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/glibc21.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,32 @@ +# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +# Test for the GNU C Library, version 2.1 or newer. +# From Bruno Haible. + +AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ +#include +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] +) diff -uprN binutils-2.15.91.0.2/config/iconv.m4 binutils-2.15.92.0.2/config/iconv.m4 --- binutils-2.15.91.0.2/config/iconv.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/iconv.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,103 @@ +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/intdiv0.m4 binutils-2.15.92.0.2/config/intdiv0.m4 --- binutils-2.15.91.0.2/config/intdiv0.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/intdiv0.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,72 @@ +# intdiv0.m4 serial 1 (gettext-0.11.3) +dnl Copyright (C) 2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +AC_DEFUN([gt_INTDIV0], +[ + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + AC_TRY_RUN([ +#include +#include + +static void +#ifdef __cplusplus +sigfpe_handler (int sig) +#else +sigfpe_handler (sig) int sig; +#endif +{ + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); +} + +int x = 1; +int y = 0; +int z; +int nan; + +int main () +{ + signal (SIGFPE, sigfpe_handler); +/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ +#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); +#endif +/* Linux/SPARC yields signal SIGILL. */ +#if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); +#endif + + z = x / y; + nan = y / y; + exit (1); +} +], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, + [ + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i[34567]86 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + ]) + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + [Define if integer division by zero raises signal SIGFPE.]) +]) diff -uprN binutils-2.15.91.0.2/config/inttypes-pri.m4 binutils-2.15.92.0.2/config/inttypes-pri.m4 --- binutils-2.15.91.0.2/config/inttypes-pri.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/inttypes-pri.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,32 @@ +# inttypes-pri.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +# Define PRI_MACROS_BROKEN if exists and defines the PRI* +# macros to non-string values. This is the case on AIX 4.3.3. + +AC_DEFUN([gt_INTTYPES_PRI], +[ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include +#ifdef PRId32 +char *p = PRId32; +#endif +], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if exists and defines unusable PRI* macros.]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/inttypes.m4 binutils-2.15.92.0.2/config/inttypes.m4 --- binutils-2.15.91.0.2/config/inttypes.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/inttypes.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,27 @@ +# inttypes.m4 serial 1 (gettext-0.11.4) +dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H if exists and doesn't clash with +# . + +AC_DEFUN([gt_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include +#include ], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if exists and doesn't clash with .]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/inttypes_h.m4 binutils-2.15.92.0.2/config/inttypes_h.m4 --- binutils-2.15.91.0.2/config/inttypes_h.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/inttypes_h.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,28 @@ +# inttypes_h.m4 serial 5 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_INTTYPES_H], +[ + AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_inttypes_h=yes, + jm_ac_cv_header_inttypes_h=no)]) + if test $jm_ac_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/lcmessage.m4 binutils-2.15.92.0.2/config/lcmessage.m4 --- binutils-2.15.91.0.2/config/lcmessage.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/lcmessage.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,32 @@ +# lcmessage.m4 serial 3 (gettext-0.11.3) +dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995. + +# Check whether LC_MESSAGES is available in . + +AC_DEFUN([AM_LC_MESSAGES], +[ + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/lib-ld.m4 binutils-2.15.92.0.2/config/lib-ld.m4 --- binutils-2.15.91.0.2/config/lib-ld.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/lib-ld.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + acl_cv_prog_gnu_ld=yes +else + acl_cv_prog_gnu_ld=no +fi]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-1.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff -uprN binutils-2.15.91.0.2/config/lib-link.m4 binutils-2.15.92.0.2/config/lib-link.m4 --- binutils-2.15.91.0.2/config/lib-link.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/lib-link.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,551 @@ +# lib-link.m4 serial 4 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + found_dir="$additional_libdir" + found_so="$additional_libdir/lib$name.$shlibext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + found_dir="$dir" + found_so="$dir/lib$name.$shlibext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */lib | */lib/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) diff -uprN binutils-2.15.91.0.2/config/lib-prefix.m4 binutils-2.15.92.0.2/config/lib-prefix.m4 --- binutils-2.15.91.0.2/config/lib-prefix.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/lib-prefix.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,155 @@ +# lib-prefix.m4 serial 2 (gettext-0.12) +dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/lib"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) diff -uprN binutils-2.15.91.0.2/config/mh-ppc-darwin binutils-2.15.92.0.2/config/mh-ppc-darwin --- binutils-2.15.91.0.2/config/mh-ppc-darwin 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/mh-ppc-darwin 2004-09-15 12:05:03.000000000 -0700 @@ -0,0 +1,6 @@ +# The -mdynamic-no-pic ensures that the compiler executable is built without +# position-independent-code -- the usual default on Darwin. This fix speeds +# compiles by 3-5%. + +BOOT_CFLAGS=-g -O2 -mdynamic-no-pic + diff -uprN binutils-2.15.91.0.2/config/mh-x86omitfp binutils-2.15.92.0.2/config/mh-x86omitfp --- binutils-2.15.91.0.2/config/mh-x86omitfp 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/mh-x86omitfp 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,2 @@ +# Add -fomit-frame-pointer to the usual BOOT_CFLAGS to speed up the compiler. +BOOT_CFLAGS = -O2 -g -fomit-frame-pointer diff -uprN binutils-2.15.91.0.2/config/mt-gnu binutils-2.15.92.0.2/config/mt-gnu --- binutils-2.15.91.0.2/config/mt-gnu 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/mt-gnu 2004-09-15 12:05:03.000000000 -0700 @@ -0,0 +1 @@ +CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE diff -uprN binutils-2.15.91.0.2/config/mt-linux binutils-2.15.92.0.2/config/mt-linux --- binutils-2.15.91.0.2/config/mt-linux 2002-04-21 01:09:26.000000000 -0700 +++ binutils-2.15.92.0.2/config/mt-linux 1969-12-31 16:00:00.000000000 -0800 @@ -1 +0,0 @@ -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE diff -uprN binutils-2.15.91.0.2/config/nls.m4 binutils-2.15.92.0.2/config/nls.m4 --- binutils-2.15.91.0.2/config/nls.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/nls.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,49 @@ +# nls.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) + +AC_DEFUN([AM_MKINSTALLDIRS], +[ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate it. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + case "$ac_aux_dir" in + /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; + *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; + esac + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) +]) diff -uprN binutils-2.15.91.0.2/config/po.m4 binutils-2.15.92.0.2/config/po.m4 --- binutils-2.15.91.0.2/config/po.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/po.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,197 @@ +# po.m4 serial 1 (gettext-0.12) +dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && + (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && + (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it + # from automake. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) diff -uprN binutils-2.15.91.0.2/config/stdint_h.m4 binutils-2.15.92.0.2/config/stdint_h.m4 --- binutils-2.15.91.0.2/config/stdint_h.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/stdint_h.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,28 @@ +# stdint_h.m4 serial 3 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +# Define HAVE_STDINT_H_WITH_UINTMAX if exists, +# doesn't clash with , and declares uintmax_t. + +AC_DEFUN([jm_AC_HEADER_STDINT_H], +[ + AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include +#include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_stdint_h=yes, + jm_ac_cv_header_stdint_h=no)]) + if test $jm_ac_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/uintmax_t.m4 binutils-2.15.92.0.2/config/uintmax_t.m4 --- binutils-2.15.91.0.2/config/uintmax_t.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/uintmax_t.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,32 @@ +# uintmax_t.m4 serial 7 (gettext-0.12) +dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_PREREQ(2.13) + +# Define uintmax_t to 'unsigned long' or 'unsigned long long' +# if it is not already defined in or . + +AC_DEFUN([jm_AC_TYPE_UINTMAX_T], +[ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in or .]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/ulonglong.m4 binutils-2.15.92.0.2/config/ulonglong.m4 --- binutils-2.15.91.0.2/config/ulonglong.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/ulonglong.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,23 @@ +# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) +dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paul Eggert. + +AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], +[ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the unsigned long long type.]) + fi +]) diff -uprN binutils-2.15.91.0.2/config/warnings.m4 binutils-2.15.92.0.2/config/warnings.m4 --- binutils-2.15.91.0.2/config/warnings.m4 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/config/warnings.m4 2004-09-27 13:46:07.000000000 -0700 @@ -0,0 +1,97 @@ +# Autoconf include file defining macros related to compile-time warnings. + +# Copyright 2004 Free Software Foundation, Inc. + +#This file is part of GCC. + +#GCC 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, or (at your option) any later +#version. + +#GCC 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 GCC; see the file COPYING. If not, write to the Free +#Software Foundation, 59 Temple Place - Suite 330, Boston, MA +#02111-1307, USA. + +# ACX_PROG_CC_WARNING_OPTS([-Wfoo -Wbar -Wbaz]) +# Sets @WARN_CFLAGS@ to the subset of the given options which the +# compiler accepts. +AC_DEFUN([ACX_PROG_CC_WARNING_OPTS], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_SUBST([WARN_CFLAGS])dnl +WARN_CFLAGS= +save_CFLAGS="$CFLAGS" +for option in $1; do + AS_VAR_PUSHDEF([acx_Woption], [acx_cv_prog_cc_warning_$option]) + AC_CACHE_CHECK([whether $CC supports $option], acx_Woption, + [CFLAGS="$option" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_VAR_SET(acx_Woption, yes)], + [AS_VAR_SET(acx_Woption, no)]) + ]) + AS_IF([test AS_VAR_GET(acx_Woption) = yes], + [WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$option"]) + AS_VAR_POPDEF([acx_Woption])dnl +done +CFLAGS="$save_CFLAGS" +])# ACX_PROG_CC_WARNING_OPTS + +# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long ...]) +# Sets WARN_PEDANTIC to "-pedantic" + the argument, if the compiler +# accepts all of those options simultaneously, otherwise to nothing. +AC_DEFUN([ACX_PROG_CC_WARNING_ALMOST_PEDANTIC], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_SUBST([WARN_PEDANTIC])dnl +AS_VAR_PUSHDEF([acx_Pedantic], [acx_cv_prog_cc_pedantic_$1])dnl +WARN_PEDANTIC= +AC_CACHE_CHECK([whether $CC supports -pedantic $1], acx_Pedantic, +[save_CFLAGS="$CFLAGS" +CFLAGS="-pedantic $1" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_VAR_SET(acx_Pedantic, yes)], + [AS_VAR_SET(acx_Pedantic, no)]) +CFLAGS="$save_CFLAGS"]) +AS_IF([test AS_VAR_GET(acx_Pedantic) = yes], + [WARN_PEDANTIC="-pedantic $1"]) +AS_VAR_POPDEF([acx_Pedantic])dnl +])# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC + +# ACX_PROG_CC_WARNINGS_ARE_ERRORS([x.y.z]) +# sets WERROR to "-Werror" if the compiler is GCC >=x.y.z, or if +# --enable-werror-always was given on the command line, otherwise +# to nothing. +# If the argument is the word "manual" instead of a version number, +# then WERROR will be set to -Werror only if --enable-werror-always +# appeared on the configure command line. +AC_DEFUN([ACX_PROG_CC_WARNINGS_ARE_ERRORS], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_SUBST([WERROR])dnl +WERROR= +AC_ARG_ENABLE(werror-always, + AS_HELP_STRING([--enable-werror-always], + [enable -Werror despite compiler version]), +[], [enable_werror_always=no]) +AS_IF([test $enable_werror_always = yes], + [WERROR=-Werror], + m4_if($1, [manual],, + [AS_VAR_PUSHDEF([acx_GCCvers], [acx_cv_prog_cc_gcc_$1_or_newer])dnl + AC_CACHE_CHECK([whether $CC is GCC >=$1], acx_GCCvers, + [set fnord `echo $1 | tr '.' ' '` + shift + AC_PREPROC_IFELSE( +[#if __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ \ + < [$]1 * 10000 + [$]2 * 100 + [$]3 +#error insufficient +#endif], + [AS_VAR_SET(acx_GCCvers, yes)], + [AS_VAR_SET(acx_GCCvers, no)])]) + AS_IF([test AS_VAR_GET(acx_GCCvers) = yes], + [WERROR=-WerrorB]) + AS_VAR_POPDEF([acx_GCCvers])])) +])# ACX_PROG_CC_WARNINGS_ARE_ERRORS diff -uprN binutils-2.15.91.0.2/config.guess binutils-2.15.92.0.2/config.guess --- binutils-2.15.91.0.2/config.guess 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.92.0.2/config.guess 2004-09-27 13:46:05.000000000 -0700 @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -timestamp='2004-02-16' +timestamp='2004-09-07' # 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 @@ -53,7 +53,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -203,15 +203,15 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; cats:OpenBSD:*:*) echo arm-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; @@ -227,21 +227,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - pegasos:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} + echo mips64-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; @@ -255,9 +246,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -295,14 +291,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha*:OpenVMS:*:*) - echo alpha-hp-vms + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? @@ -758,7 +752,7 @@ EOF echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` @@ -781,21 +775,7 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - # GNU/KFreeBSD systems have a "k" prefix to indicate we are using - # FreeBSD's kernel, but not the complete OS. - case ${LIBC} in gnu) kernel_only='k' ;; esac - echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -844,9 +824,18 @@ EOF cris:Linux:*:*) echo cris-axis-linux-gnu exit 0 ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit 0 ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -1087,9 +1076,9 @@ EOF M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit 0 ;; - M68*:*:R3V[567]*:*) + M68*:*:R3V[5678]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -1187,9 +1176,10 @@ EOF echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) - case `uname -p` in + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; + unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; @@ -1251,6 +1241,13 @@ EOF *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff -uprN binutils-2.15.91.0.2/config.sub binutils-2.15.92.0.2/config.sub --- binutils-2.15.91.0.2/config.sub 2004-03-03 12:24:33.000000000 -0800 +++ binutils-2.15.92.0.2/config.sub 2004-09-15 12:05:02.000000000 -0700 @@ -1,9 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -timestamp='2004-02-16' +timestamp='2004-08-29' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -70,7 +70,7 @@ Report bugs and patches to &6 -echo "configure:593: checking host system type" >&5 +echo "configure:595: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -610,7 +612,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)- echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:614: checking target system type" >&5 +echo "configure:616: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -628,7 +630,7 @@ target_os=`echo $target | sed 's/^\([^-] echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:632: checking build system type" >&5 +echo "configure:634: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -683,7 +685,7 @@ test "$program_transform_name" = "" && p # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:687: checking for a BSD compatible install" >&5 +echo "configure:689: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -736,7 +738,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether ln works""... $ac_c" 1>&6 -echo "configure:740: checking whether ln works" >&5 +echo "configure:742: checking whether ln works" >&5 if eval "test \"`echo '$''{'acx_cv_prog_LN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -760,7 +762,7 @@ else fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:764: checking whether ln -s works" >&5 +echo "configure:766: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -883,11 +885,11 @@ fi build_libs="build-libiberty" # these tools are built for the build environment -build_tools="build-texinfo build-byacc build-flex build-bison build-m4" +build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib libbanshee libcpp" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -934,11 +936,7 @@ target_tools="target-examples target-gro ## ${target_configdirs} is directories we build using the target tools. configdirs=`echo ${host_libs} ${host_tools}` target_configdirs=`echo ${target_libraries} ${target_tools}` - -# Only make build modules if build != host. -if test ${host_alias} != ${build_alias} ; then - build_configdirs=`echo ${build_libs} ${build_tools}` -fi +build_configdirs=`echo ${build_libs} ${build_tools}` ################################################################################ @@ -1004,7 +1002,7 @@ fi case ${with_x} in yes | "") ;; # the default value for this tree is that X11 is available no) - skipdirs="${skipdirs} tk tix itcl libgui" + skipdirs="${skipdirs} tk itcl libgui" # We won't be able to build gdbtk without X. enable_gdbtk=no ;; @@ -1055,17 +1053,17 @@ case "${host}" in noconfigdirs="$noconfigdirs byacc" ;; i[3456789]86-*-vsta) - noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext" + noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext" ;; i[3456789]86-*-go32* | i[3456789]86-*-msdosdjgpp*) - noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi" + noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi" ;; i[3456789]86-*-mingw32*) - # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv" + # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv" noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool" ;; i[3456789]86-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb" + noconfigdirs="$noconfigdirs tk itcl libgui gdb" ;; *-*-cygwin*) noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl" @@ -1074,31 +1072,16 @@ case "${host}" in noconfigdirs="$noconfigdirs rcs" ;; ppc*-*-pe) - noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv" + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv" ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline" + noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline" ;; *-*-darwin*) - noconfigdirs="$noconfigdirs tk itcl tix libgui" + noconfigdirs="$noconfigdirs tk itcl libgui" ;; esac -# Check whether --with-libbanshee or --without-libbanshee was given. -if test "${with_libbanshee+set}" = set; then - withval="$with_libbanshee" - : -fi - -case ${with_libbanshee} in - no) - noconfigdirs="$noconfigdirs libbanshee" ;; - yes|"") - with_libbanshee=yes - ;; - *) - { echo "configure: error: --with-libbanshee can only be empty, "yes" or "no" (empty defaults to "yes"." 1>&2; exit 1; } -esac # Check whether --enable-libada or --disable-libada was given. if test "${enable_libada+set}" = set; then @@ -1138,8 +1121,8 @@ no) ;; "") case "${target}" in - *-*-linux*) - # Enable libmudflap by default in GNU/Linux. + *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) + # Enable libmudflap by default in GNU and friends. ;; *-*-freebsd*) # Enable libmudflap by default in FreeBSD. @@ -1158,16 +1141,15 @@ case "${target}" in ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" - noconfigdirs="$noconfigdirs target-libobjc" ;; *-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" - noconfigdirs="$noconfigdirs target-libobjc ${libgcj}" + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - *-*-freebsd* | *-*-kfreebsd*-gnu) + *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \ && test -f /usr/local/include/gmp.h; then @@ -1203,8 +1185,8 @@ case "${target}" in ;; esac ;; - *-*-netware) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-newlib target-libiberty target-libgloss ${libgcj}" + *-*-netware*) + noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" ;; *-*-rtems*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" @@ -1242,7 +1224,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-examples" noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" - noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim" + noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" noconfigdirs="$noconfigdirs expect dejagnu" # the C++ libraries don't build on top of CE's C libraries noconfigdirs="$noconfigdirs target-libstdc++-v3" @@ -1259,9 +1241,12 @@ case "${target}" in arm-*-coff | strongarm-*-coff | xscale-*-coff) noconfigdirs="$noconfigdirs ${libgcj}" ;; - arm-*-elf* | strongarm-*-elf* | xscale-*-elf*) + arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) noconfigdirs="$noconfigdirs target-libffi target-qthreads" ;; + arm*-*-symbianelf*) + noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" + ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; @@ -1340,11 +1325,11 @@ case "${target}" in ;; ia64*-*-elf*) # No gdb support yet. - noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb" + noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb" ;; ia64*-**-hpux*) # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld" + noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld" ;; i[3456789]86-*-coff | i[3456789]86-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" @@ -1375,7 +1360,7 @@ case "${target}" in # Can't build gdb for mingw32 if not native. case "${host}" in i[3456789]86-*-mingw32) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv" ;; esac ;; @@ -1393,7 +1378,7 @@ case "${target}" in # Can't build gdb for Cygwin if not native. case "${host}" in *-*-cygwin*) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv" ;; esac ;; @@ -1449,13 +1434,13 @@ case "${target}" in ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}" ;; powerpc-*-beos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" @@ -1561,7 +1546,7 @@ case "${target}" in ip2k-*-*) noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" ;; - *-*-linux*) + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-lynxos*) @@ -1720,6 +1705,9 @@ case "${host}" in tentative_cc="/usr/cygnus/progressive/bin/gcc" host_makefile_frag="config/mh-lynxrs6k" ;; + powerpc-*-darwin*) + host_makefile_frag="config/mh-ppc-darwin" + ;; *-*-lynxos*) # /bin/cc is less than useful for our purposes. Always use GCC tentative_cc="/bin/gcc" @@ -1727,6 +1715,11 @@ case "${host}" in *-*-sysv4*) host_makefile_frag="config/mh-sysv4" ;; + # This is placed last to prevent interfering with the cases above. + i[3456789]86-*-*) + # Build the stage2 and stage3 compilers with -fomit-frame-pointer. + host_makefile_frag="config/mh-x86omitfp" + ;; esac fi @@ -1762,7 +1755,6 @@ if test "${build}" != "${host}" ; then CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} - BUILD_DIR_PREFIX=${build_subdir} BUILD_PREFIX=${build_alias}- BUILD_PREFIX_1=${build_alias}- @@ -1777,14 +1769,13 @@ else CC_FOR_BUILD="\$(CC)" GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" - BUILD_DIR_PREFIX= BUILD_PREFIX= BUILD_PREFIX_1=loser- # 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 -echo "configure:1788: checking for $ac_word" >&5 +echo "configure:1779: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1814,7 +1805,7 @@ 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 -echo "configure:1818: checking for $ac_word" >&5 +echo "configure:1809: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1865,7 +1856,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1869: checking for $ac_word" >&5 +echo "configure:1860: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1897,7 +1888,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1901: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1892: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1908,12 +1899,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1912 "configure" +#line 1903 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1939,12 +1930,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1943: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1934: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1948: checking whether we are using GNU C" >&5 +echo "configure:1939: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1953,7 +1944,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1948: \"$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 @@ -1972,7 +1963,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1976: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1967: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2039,7 +2030,7 @@ fi # Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args. set dummy ${ac_tool_prefix}gnatbind; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2043: checking for $ac_word" >&5 +echo "configure:2034: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2071,7 +2062,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "gnatbind", so it can be a program name with args. set dummy gnatbind; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2075: checking for $ac_word" >&5 +echo "configure:2066: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2104,7 +2095,7 @@ fi fi echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6 -echo "configure:2108: checking whether compiler driver understands Ada" >&5 +echo "configure:2099: checking whether compiler driver understands Ada" >&5 if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2137,7 +2128,7 @@ else fi echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6 -echo "configure:2141: checking how to compare bootstrapped objects" >&5 +echo "configure:2132: checking how to compare bootstrapped objects" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2167,10 +2158,38 @@ do_compare="$gcc_cv_prog_cmp_skip" -# Check for GMP +# Check for GMP and MPFR gmplibs= gmpinc= have_gmp=yes +# Specify a location for mpfr +# check for this first so it ends up on the link line before gmp. +# Check whether --with-mpfr-dir or --without-mpfr-dir was given. +if test "${with_mpfr_dir+set}" = set; then + withval="$with_mpfr_dir" + : +fi + + +if test "x$with_mpfr_dir" != x; then + gmpinc="-I$with_mpfr_dir/mpfr" + gmplibs="$with_mpfr_dir/libmpfr.a" +else + gmplibs="-lmpfr" +fi + +# Check whether --with-mpfr or --without-mpfr was given. +if test "${with_mpfr+set}" = set; then + withval="$with_mpfr" + : +fi + + +if test "x$with_mpfr" != x; then + gmplibs="-L$with_mpfr/lib $gmplibs" + gmpinc="-I$with_mpfr/include" +fi + # Specify a location for gmp # Check whether --with-gmp-dir or --without-gmp-dir was given. if test "${with_gmp_dir+set}" = set; then @@ -2179,14 +2198,16 @@ if test "${with_gmp_dir+set}" = set; the fi -if test "x$with_gmp_dir" != x && test -f "$with_gmp_dir/gmp.h"; then - gmpinc="-I$with_gmp_dir" +if test "x$with_gmp_dir" != x; then + gmpinc="$gmpinc -I$with_gmp_dir" if test -f "$with_gmp_dir/.libs/libgmp.a"; then - gmplibs="$with_gmp_dir/.libs/libgmp.a" + gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a" elif test -f "$with_gmp_dir/_libs/libgmp.a"; then - gmplibs="$with_gmp_dir/_libs/libgmp.a" + gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a" fi # One of the later tests will catch the error if neither library is present. +else + gmplibs="$gmplibs -lgmp" fi # Check whether --with-gmp or --without-gmp was given. @@ -2196,23 +2217,18 @@ if test "${with_gmp+set}" = set; then fi -if test "x$with_gmp" != x && test -d "$with_gmp"; then - gmplibs="-L$with_gmp/lib -lgmp" - gmpinc="-I$with_gmp/include" -fi - -# Use system gmp if nothing else specified -if test "x$gmplibs" = x; then - gmplibs="-lgmp" +if test "x$with_gmp" != x; then + gmplibs="-L$with_gmp/lib $gmplibs" + gmpinc="-I$with_gmp/include $gmpinc" fi saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $gmpinc" # Check GMP actually works echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6 -echo "configure:2214: checking for correct version of gmp.h" >&5 +echo "configure:2230: checking for correct version of gmp.h" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2235,20 +2251,21 @@ fi rm -f conftest* if test x"$have_gmp" = xyes; then - echo $ac_n "checking for mpf_init in -lgmp""... $ac_c" 1>&6 -echo "configure:2240: checking for mpf_init in -lgmp" >&5 + echo $ac_n "checking for MPFR""... $ac_c" 1>&6 +echo "configure:2256: checking for MPFR" >&5 saved_LIBS="$LIBS" LIBS="$LIBS $gmplibs" cat > conftest.$ac_ext < +#include int main() { -mpf_t n; mpf_init(n); +mpfr_t n; mpfr_init(n); ; return 0; } EOF -if { (eval echo configure:2252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2262,6 +2279,7 @@ rm -f conftest* CFLAGS="$saved_CFLAGS" fi +# Flags needed for both GMP and/or MPFR @@ -2322,6 +2340,7 @@ if test -d ${srcdir}/gcc; then new_enable_languages=c missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` + potential_languages=c for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do case ${lang_frag} in @@ -2337,14 +2356,15 @@ if test -d ${srcdir}/gcc; then lang_dirs= boot_language= build_by_default= - need_gmp= + need_gmp= . ${lang_frag} + potential_languages="${potential_languages},${language}" # This is quite sensitive to the ordering of the case statement arms. case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in *::*:*) echo "${lang_frag} doesn't set \$language." 1>&2 exit 1 - ;; + ;; *:ada:no:*) # Ada was requested with no preexisting GNAT. Disable unconditionally. add_this_lang=no @@ -2355,9 +2375,9 @@ if test -d ${srcdir}/gcc; then ;; *,all,*:*:*:no) # 'all' was selected, but this is not a default language - # so do not include it. + # so do not include it. add_this_lang=no - ;; + ;; *,all,*:*:*:*) # 'all' was selected and this is a default language; include it. add_this_lang=yes @@ -2367,10 +2387,17 @@ if test -d ${srcdir}/gcc; then ;; esac - # Disable language that need GMP if it isn't available. - if test x"$need_gmp" = xyes && test x"$have_gmp" = xno; then - add_this_lang=no - fi + # Disable languages that need GMP if it isn't available. + case ,${enable_languages},:${have_gmp}:${need_gmp} in + *,${language},*:no:yes) + # Specifically requested language; tell them. + { echo "configure: error: GMP with MPFR support is required to build $language" 1>&2; exit 1; } + ;; + *:no:yes) + # Silently disable. + add_this_lang=no + ;; + esac case $add_this_lang in no) @@ -2395,7 +2422,8 @@ if test -d ${srcdir}/gcc; then missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"` if test "x$missing_languages" != x; then { echo "configure: error: -The following requested languages were not found: ${missing_languages}" 1>&2; exit 1; } +The following requested languages were not found: ${missing_languages} +The available languages are: ${potential_languages}" 1>&2; exit 1; } fi if test "x$new_enable_languages" != "x$enable_languages"; then @@ -2595,14 +2623,11 @@ extra_nmflags_for_target= extra_ranlibflags_for_target= target_makefile_frag=/dev/null case "${target}" in - i[3456789]86-*-netware*) + *-*-netware*) target_makefile_frag="config/mt-netware" ;; - powerpc-*-netware*) - target_makefile_frag="config/mt-netware" - ;; - *-*-linux*) - target_makefile_frag="config/mt-linux" + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) + target_makefile_frag="config/mt-gnu" ;; *-*-aix4.[3456789]* | *-*-aix[56789].*) # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm @@ -2683,10 +2708,6 @@ if test x${with_newlib} != xno && echo " extra_host_args="$extra_host_args --with-newlib" fi -if test x${with_libbanshee} = xyes && echo " ${configdirs} " | grep " libbanshee " >/dev/null 2>&1; then - extra_host_args="$extra_host_args --with-libbanshee" -fi - # Default to using --with-stabs for certain targets. if test x${with_stabs} = x ; then case "${target}" in @@ -2721,7 +2742,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2725: checking for $ac_word" >&5 +echo "configure:2746: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_BISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2756,7 +2777,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2760: checking for $ac_word" >&5 +echo "configure:2781: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2791,7 +2812,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2795: checking for $ac_word" >&5 +echo "configure:2816: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_M4'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2826,7 +2847,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2830: checking for $ac_word" >&5 +echo "configure:2851: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_FLEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2861,7 +2882,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2865: checking for $ac_word" >&5 +echo "configure:2886: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2896,7 +2917,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2900: checking for $ac_word" >&5 +echo "configure:2921: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3018,7 +3039,7 @@ build_configdirs=`echo "${build_configdi # leave out the maybe dependencies when enable_gdbtk is false. I'm not # 100% sure that that's safe though. -gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" +gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui" case "$enable_gdbtk" in no) GDB_TK="" ;; @@ -3054,23 +3075,56 @@ if test "${enable_bootstrap+set}" = set; enableval="$enable_bootstrap" : else - enable_bootstrap=no + enable_bootstrap=default fi -if test -d ${srcdir}/gcc; then - case "$host:$target:$enable_bootstrap" in - $build:$build:yes | *:no) ;; - *:yes) { echo "configure: error: cannot bootstrap a cross-compiler" 1>&2; exit 1; } ;; - *) { echo "configure: error: invalid option for --enable-bootstrap" 1>&2; exit 1; } ;; - esac -else - if test $enable_bootstrap = yes; then - { echo "configure: error: cannot bootstrap without a compiler" 1>&2; exit 1; } - fi -fi +# Issue errors and warnings for invalid/strange bootstrap combinations. +case "$configdirs" in + *gcc*) have_compiler=yes ;; + *) have_compiler=no ;; +esac + +case "$have_compiler:$host:$target:$enable_bootstrap" in + *:*:*:no) ;; + + # Default behavior. (We'll) enable bootstrap if we have a compiler + # and we are in a native configuration. + yes:$build:$build:default) + # This will become 'yes' + enable_bootstrap=no ;; + + *:*:*:default) + enable_bootstrap=no ;; + + # We have a compiler and we are in a native configuration, bootstrap is ok + yes:$build:$build:yes | yes:$build:$build:lean) + ;; + + # Other configurations, but we have a compiler. Assume the user knows + # what he's doing. + yes:*:*:yes | yes:*:*:lean) + echo "configure: warning: trying to bootstrap a cross compiler" 1>&2 + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes | no:*:*:lean) + { echo "configure: error: cannot bootstrap without a compiler" 1>&2; exit 1; } ;; + + # Fail if wrong command line + *) + { echo "configure: error: invalid option for --enable-bootstrap" 1>&2; exit 1; } + ;; +esac + +# Adjust the toplevel makefile according to whether bootstrap was selected. case "$enable_bootstrap" in yes) + bootstrap_lean='#' + default_target=bootstrap + bootstrap_suffix=bootstrap ;; + lean) + bootstrap_lean='' default_target=bootstrap bootstrap_suffix=bootstrap ;; no) @@ -3079,6 +3133,7 @@ case "$enable_bootstrap" in esac + for module in ${build_configdirs} ; do if test -z "${no_recursion}" \ && test -f ${build_subdir}/${module}/Makefile; then @@ -3470,7 +3525,6 @@ done - # Build module lists & subconfigure args. @@ -3497,7 +3551,7 @@ test -n "$target_alias" && ncn_target_to # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3501: checking for $ac_word" >&5 +echo "configure:3555: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3530,7 +3584,7 @@ if test -z "$ac_cv_prog_AR" ; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3534: checking for $ac_word" >&5 +echo "configure:3588: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3569,7 +3623,7 @@ fi # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3573: checking for $ac_word" >&5 +echo "configure:3627: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3602,7 +3656,7 @@ if test -z "$ac_cv_prog_AS" ; then # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3606: checking for $ac_word" >&5 +echo "configure:3660: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3641,7 +3695,7 @@ fi # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3645: checking for $ac_word" >&5 +echo "configure:3699: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3674,7 +3728,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3678: checking for $ac_word" >&5 +echo "configure:3732: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3713,7 +3767,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3717: checking for $ac_word" >&5 +echo "configure:3771: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3746,7 +3800,7 @@ if test -z "$ac_cv_prog_LD" ; then # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3750: checking for $ac_word" >&5 +echo "configure:3804: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3785,7 +3839,7 @@ fi # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3789: checking for $ac_word" >&5 +echo "configure:3843: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3818,7 +3872,7 @@ if test -z "$ac_cv_prog_NM" ; then # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3822: checking for $ac_word" >&5 +echo "configure:3876: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3857,7 +3911,7 @@ fi # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3861: checking for $ac_word" >&5 +echo "configure:3915: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3890,7 +3944,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3894: checking for $ac_word" >&5 +echo "configure:3948: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3929,7 +3983,7 @@ fi # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3933: checking for $ac_word" >&5 +echo "configure:3987: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3962,7 +4016,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3966: checking for $ac_word" >&5 +echo "configure:4020: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4001,7 +4055,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args. set dummy ${ncn_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4005: checking for $ac_word" >&5 +echo "configure:4059: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4034,7 +4088,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then # Extract the first word of "objcopy", so it can be a program name with args. set dummy objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4038: checking for $ac_word" >&5 +echo "configure:4092: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4073,7 +4127,7 @@ fi # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args. set dummy ${ncn_tool_prefix}objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4077: checking for $ac_word" >&5 +echo "configure:4131: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4106,7 +4160,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4110: checking for $ac_word" >&5 +echo "configure:4164: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4152,7 +4206,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4156: checking for $ac_word" >&5 +echo "configure:4210: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4185,7 +4239,7 @@ if test -z "$ac_cv_prog_CONFIGURED_AR_FO # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4189: checking for $ac_word" >&5 +echo "configure:4243: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4224,7 +4278,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4228: checking for $ac_word" >&5 +echo "configure:4282: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4257,7 +4311,7 @@ if test -z "$ac_cv_prog_CONFIGURED_AS_FO # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4261: checking for $ac_word" >&5 +echo "configure:4315: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4296,7 +4350,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4300: checking for $ac_word" >&5 +echo "configure:4354: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4329,7 +4383,7 @@ if test -z "$ac_cv_prog_CONFIGURED_DLLTO # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4333: checking for $ac_word" >&5 +echo "configure:4387: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4368,7 +4422,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4372: checking for $ac_word" >&5 +echo "configure:4426: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4401,7 +4455,7 @@ if test -z "$ac_cv_prog_CONFIGURED_LD_FO # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4405: checking for $ac_word" >&5 +echo "configure:4459: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4440,7 +4494,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4444: checking for $ac_word" >&5 +echo "configure:4498: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4473,7 +4527,7 @@ if test -z "$ac_cv_prog_CONFIGURED_NM_FO # Extract the first word of "nm", so it can be a program name with args. set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4477: checking for $ac_word" >&5 +echo "configure:4531: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4512,7 +4566,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4516: checking for $ac_word" >&5 +echo "configure:4570: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4545,7 +4599,7 @@ if test -z "$ac_cv_prog_CONFIGURED_RANLI # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4549: checking for $ac_word" >&5 +echo "configure:4603: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4584,7 +4638,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4588: checking for $ac_word" >&5 +echo "configure:4642: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4617,7 +4671,7 @@ if test -z "$ac_cv_prog_CONFIGURED_WINDR # Extract the first word of "windres", so it can be a program name with args. set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4621: checking for $ac_word" >&5 +echo "configure:4675: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4702,7 +4756,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${ NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target} echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4706: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4760: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -4746,10 +4800,10 @@ esac # It makes debugging easier if we create as symlinks the stage directories -# gcc for stageN-gcc and stage-prev for stage(N-1). In case this is not +# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not # possible, however, we can resort to mv. echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6 -echo "configure:4753: checking if symbolic links between directories work" >&5 +echo "configure:4807: checking if symbolic links between directories work" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4797,6 +4851,26 @@ case ${enable_werror} in esac +# If gcc is built natively with shared library enabled, set +# $RPATH_ENVVAR to make sure the newly built gcc shared librares are +# used. +SET_GCC_LIB_PATH= +if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then + case "${enable_shared}" in + no | "") ;; + *) + eval "d=\$$RPATH_ENVVAR" + if test x"$d" != x; then + d="$pwd/gcc:$d" + else + d="$pwd/gcc" + fi + SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);" + ;; + esac +fi + + trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -4863,15 +4937,34 @@ trap 'rm -f $CONFIG_STATUS conftest*; ex # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. -cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g -s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g -s%\[%\\&%g -s%\]%\\&%g -s%\$%$$%g -EOF -DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` -rm -f conftest.defs +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed # Without the "./", some shells look in PATH for config.status. @@ -4978,6 +5071,7 @@ s%@CONFIGURED_M4@%$CONFIGURED_M4%g s%@CONFIGURED_FLEX@%$CONFIGURED_FLEX%g s%@CONFIGURED_LEX@%$CONFIGURED_LEX%g s%@CONFIGURED_MAKEINFO@%$CONFIGURED_MAKEINFO%g +s%@bootstrap_lean@%$bootstrap_lean%g s%@default_target@%$default_target%g /@serialization_dependencies@/r $serialization_dependencies s%@serialization_dependencies@%%g @@ -4991,7 +5085,6 @@ s%@alphaieee_frag@%%g s%@ospace_frag@%%g s%@SET_LIB_PATH@%$SET_LIB_PATH%g s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g -s%@BUILD_DIR_PREFIX@%$BUILD_DIR_PREFIX%g s%@BUILD_PREFIX@%$BUILD_PREFIX%g s%@BUILD_PREFIX_1@%$BUILD_PREFIX_1%g s%@gcc_version_trigger@%$gcc_version_trigger%g @@ -5066,6 +5159,7 @@ s%@stage1_cflags@%$stage1_cflags%g s%@CREATE_LINK_TO_DIR@%$CREATE_LINK_TO_DIR%g s%@UNDO_LINK_TO_DIR@%$UNDO_LINK_TO_DIR%g s%@stage2_werror_flag@%$stage2_werror_flag%g +s%@SET_GCC_LIB_PATH@%$SET_GCC_LIB_PATH%g CEOF EOF diff -uprN binutils-2.15.91.0.2/configure.in binutils-2.15.92.0.2/configure.in --- binutils-2.15.91.0.2/configure.in 2004-07-27 21:36:06.000000000 -0700 +++ binutils-2.15.92.0.2/configure.in 2004-09-27 13:46:06.000000000 -0700 @@ -132,11 +132,11 @@ fi build_libs="build-libiberty" # these tools are built for the build environment -build_tools="build-texinfo build-byacc build-flex build-bison build-m4" +build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl tix libgui zlib libbanshee libcpp" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -183,11 +183,7 @@ target_tools="target-examples target-gro ## ${target_configdirs} is directories we build using the target tools. configdirs=`echo ${host_libs} ${host_tools}` target_configdirs=`echo ${target_libraries} ${target_tools}` - -# Only make build modules if build != host. -if test ${host_alias} != ${build_alias} ; then - build_configdirs=`echo ${build_libs} ${build_tools}` -fi +build_configdirs=`echo ${build_libs} ${build_tools}` ################################################################################ @@ -232,7 +228,7 @@ fi case ${with_x} in yes | "") ;; # the default value for this tree is that X11 is available no) - skipdirs="${skipdirs} tk tix itcl libgui" + skipdirs="${skipdirs} tk itcl libgui" # We won't be able to build gdbtk without X. enable_gdbtk=no ;; @@ -283,17 +279,17 @@ case "${host}" in noconfigdirs="$noconfigdirs byacc" ;; i[[3456789]]86-*-vsta) - noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext" + noconfigdirs="$noconfigdirs tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl gnuserv gettext" ;; i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*) - noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi" + noconfigdirs="$noconfigdirs tcl tk expect dejagnu send-pr uudecode guile itcl gnuserv libffi" ;; i[[3456789]]86-*-mingw32*) - # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv" + # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl gnuserv" noconfigdirs="$noconfigdirs expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool" ;; i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb" + noconfigdirs="$noconfigdirs tk itcl libgui gdb" ;; *-*-cygwin*) noconfigdirs="$noconfigdirs autoconf automake send-pr rcs guile perl" @@ -302,27 +298,16 @@ case "${host}" in noconfigdirs="$noconfigdirs rcs" ;; ppc*-*-pe) - noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix gnuserv" + noconfigdirs="$noconfigdirs patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl gnuserv" ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline" + noconfigdirs="$noconfigdirs tk itcl libgui gdb dejagnu readline" ;; *-*-darwin*) - noconfigdirs="$noconfigdirs tk itcl tix libgui" + noconfigdirs="$noconfigdirs tk itcl libgui" ;; esac -AC_ARG_WITH(libbanshee, -[ --without-libbanshee Don't build with libbanshee]) -case ${with_libbanshee} in - no) - noconfigdirs="$noconfigdirs libbanshee" ;; - yes|"") - with_libbanshee=yes - ;; - *) - AC_MSG_ERROR([--with-libbanshee can only be empty, "yes" or "no" (empty defaults to "yes".]) -esac AC_ARG_ENABLE(libada, [ --enable-libada Builds libada directory], @@ -358,8 +343,8 @@ no) ;; "") case "${target}" in - *-*-linux*) - # Enable libmudflap by default in GNU/Linux. + *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) + # Enable libmudflap by default in GNU and friends. ;; *-*-freebsd*) # Enable libmudflap by default in FreeBSD. @@ -378,16 +363,15 @@ case "${target}" in ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" - noconfigdirs="$noconfigdirs target-libobjc" ;; *-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" - noconfigdirs="$noconfigdirs target-libobjc ${libgcj}" + noconfigdirs="$noconfigdirs ${libgcj}" ;; *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" ;; - *-*-freebsd* | *-*-kfreebsd*-gnu) + *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \ && test -f /usr/local/include/gmp.h; then @@ -423,8 +407,8 @@ case "${target}" in ;; esac ;; - *-*-netware) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-newlib target-libiberty target-libgloss ${libgcj}" + *-*-netware*) + noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" ;; *-*-rtems*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" @@ -462,7 +446,7 @@ case "${target}" in noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-examples" noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" - noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim" + noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" noconfigdirs="$noconfigdirs expect dejagnu" # the C++ libraries don't build on top of CE's C libraries noconfigdirs="$noconfigdirs target-libstdc++-v3" @@ -479,9 +463,12 @@ case "${target}" in arm-*-coff | strongarm-*-coff | xscale-*-coff) noconfigdirs="$noconfigdirs ${libgcj}" ;; - arm-*-elf* | strongarm-*-elf* | xscale-*-elf*) + arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) noconfigdirs="$noconfigdirs target-libffi target-qthreads" ;; + arm*-*-symbianelf*) + noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" + ;; arm-*-pe*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; @@ -560,11 +547,11 @@ case "${target}" in ;; ia64*-*-elf*) # No gdb support yet. - noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb" + noconfigdirs="$noconfigdirs readline mmalloc libgui itcl gdb" ;; ia64*-**-hpux*) # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui itcl gdb ld" + noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld" ;; i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" @@ -595,7 +582,7 @@ case "${target}" in # Can't build gdb for mingw32 if not native. case "${host}" in i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl gnuserv" ;; esac ;; @@ -613,7 +600,7 @@ case "${target}" in # Can't build gdb for Cygwin if not native. case "${host}" in *-*-cygwin*) ;; # keep gdb tcl tk expect etc. - *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui gnuserv" + *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl libgui gnuserv" ;; esac ;; @@ -669,13 +656,13 @@ case "${target}" in ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}" ;; powerpc-*-beos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" @@ -781,7 +768,7 @@ case "${target}" in ip2k-*-*) noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" ;; - *-*-linux*) + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-lynxos*) @@ -940,6 +927,9 @@ case "${host}" in tentative_cc="/usr/cygnus/progressive/bin/gcc" host_makefile_frag="config/mh-lynxrs6k" ;; + powerpc-*-darwin*) + host_makefile_frag="config/mh-ppc-darwin" + ;; *-*-lynxos*) # /bin/cc is less than useful for our purposes. Always use GCC tentative_cc="/bin/gcc" @@ -947,6 +937,11 @@ case "${host}" in *-*-sysv4*) host_makefile_frag="config/mh-sysv4" ;; + # This is placed last to prevent interfering with the cases above. + i[[3456789]]86-*-*) + # Build the stage2 and stage3 compilers with -fomit-frame-pointer. + host_makefile_frag="config/mh-x86omitfp" + ;; esac fi @@ -982,7 +977,6 @@ if test "${build}" != "${host}" ; then CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++} GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj} GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}} - BUILD_DIR_PREFIX=${build_subdir} BUILD_PREFIX=${build_alias}- BUILD_PREFIX_1=${build_alias}- @@ -997,7 +991,6 @@ else CC_FOR_BUILD="\$(CC)" GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)" - BUILD_DIR_PREFIX= BUILD_PREFIX= BUILD_PREFIX_1=loser- @@ -1030,33 +1023,48 @@ fi ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL -# Check for GMP +# Check for GMP and MPFR gmplibs= gmpinc= have_gmp=yes +# Specify a location for mpfr +# check for this first so it ends up on the link line before gmp. +AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library]) + +if test "x$with_mpfr_dir" != x; then + gmpinc="-I$with_mpfr_dir/mpfr" + gmplibs="$with_mpfr_dir/libmpfr.a" +else + gmplibs="-lmpfr" +fi + +AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library]) + +if test "x$with_mpfr" != x; then + gmplibs="-L$with_mpfr/lib $gmplibs" + gmpinc="-I$with_mpfr/include" +fi + # Specify a location for gmp AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library]) -if test "x$with_gmp_dir" != x && test -f "$with_gmp_dir/gmp.h"; then - gmpinc="-I$with_gmp_dir" +if test "x$with_gmp_dir" != x; then + gmpinc="$gmpinc -I$with_gmp_dir" if test -f "$with_gmp_dir/.libs/libgmp.a"; then - gmplibs="$with_gmp_dir/.libs/libgmp.a" + gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a" elif test -f "$with_gmp_dir/_libs/libgmp.a"; then - gmplibs="$with_gmp_dir/_libs/libgmp.a" + gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a" fi # One of the later tests will catch the error if neither library is present. +else + gmplibs="$gmplibs -lgmp" fi AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library]) -if test "x$with_gmp" != x && test -d "$with_gmp"; then - gmplibs="-L$with_gmp/lib -lgmp" - gmpinc="-I$with_gmp/include" -fi - -# Use system gmp if nothing else specified -if test "x$gmplibs" = x; then - gmplibs="-lgmp" +if test "x$with_gmp" != x; then + gmplibs="-L$with_gmp/lib $gmplibs" + gmpinc="-I$with_gmp/include $gmpinc" fi saved_CFLAGS="$CFLAGS" @@ -1071,16 +1079,18 @@ choke me [AC_MSG_RESULT([no]); have_gmp=no]) if test x"$have_gmp" = xyes; then - AC_MSG_CHECKING([for mpf_init in -lgmp]) + AC_MSG_CHECKING([for MPFR]) saved_LIBS="$LIBS" LIBS="$LIBS $gmplibs" - AC_TRY_LINK([#include ], [mpf_t n; mpf_init(n);], + AC_TRY_LINK([#include +#include ], [mpfr_t n; mpfr_init(n);], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) LIBS="$saved_LIBS" CFLAGS="$saved_CFLAGS" fi +# Flags needed for both GMP and/or MPFR AC_SUBST(gmplibs) AC_SUBST(gmpinc) @@ -1141,6 +1151,7 @@ if test -d ${srcdir}/gcc; then new_enable_languages=c missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` + potential_languages=c for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do case ${lang_frag} in @@ -1156,14 +1167,15 @@ if test -d ${srcdir}/gcc; then lang_dirs= boot_language= build_by_default= - need_gmp= + need_gmp= . ${lang_frag} + potential_languages="${potential_languages},${language}" # This is quite sensitive to the ordering of the case statement arms. case ,${enable_languages},:${language}:${have_gnat}:${build_by_default} in *::*:*) echo "${lang_frag} doesn't set \$language." 1>&2 exit 1 - ;; + ;; *:ada:no:*) # Ada was requested with no preexisting GNAT. Disable unconditionally. add_this_lang=no @@ -1174,9 +1186,9 @@ if test -d ${srcdir}/gcc; then ;; *,all,*:*:*:no) # 'all' was selected, but this is not a default language - # so do not include it. + # so do not include it. add_this_lang=no - ;; + ;; *,all,*:*:*:*) # 'all' was selected and this is a default language; include it. add_this_lang=yes @@ -1186,10 +1198,17 @@ if test -d ${srcdir}/gcc; then ;; esac - # Disable language that need GMP if it isn't available. - if test x"$need_gmp" = xyes && test x"$have_gmp" = xno; then - add_this_lang=no - fi + # Disable languages that need GMP if it isn't available. + case ,${enable_languages},:${have_gmp}:${need_gmp} in + *,${language},*:no:yes) + # Specifically requested language; tell them. + AC_MSG_ERROR([GMP with MPFR support is required to build $language]) + ;; + *:no:yes) + # Silently disable. + add_this_lang=no + ;; + esac case $add_this_lang in no) @@ -1214,7 +1233,8 @@ if test -d ${srcdir}/gcc; then missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"` if test "x$missing_languages" != x; then AC_MSG_ERROR([ -The following requested languages were not found: ${missing_languages}]) +The following requested languages were not found: ${missing_languages} +The available languages are: ${potential_languages}]) fi if test "x$new_enable_languages" != "x$enable_languages"; then @@ -1414,14 +1434,11 @@ extra_nmflags_for_target= extra_ranlibflags_for_target= target_makefile_frag=/dev/null case "${target}" in - i[[3456789]]86-*-netware*) - target_makefile_frag="config/mt-netware" - ;; - powerpc-*-netware*) + *-*-netware*) target_makefile_frag="config/mt-netware" ;; - *-*-linux*) - target_makefile_frag="config/mt-linux" + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) + target_makefile_frag="config/mt-gnu" ;; *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*) # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm @@ -1502,10 +1519,6 @@ if test x${with_newlib} != xno && echo " extra_host_args="$extra_host_args --with-newlib" fi -if test x${with_libbanshee} = xyes && echo " ${configdirs} " | grep " libbanshee " >/dev/null 2>&1; then - extra_host_args="$extra_host_args --with-libbanshee" -fi - # Default to using --with-stabs for certain targets. if test x${with_stabs} = x ; then case "${target}" in @@ -1633,7 +1646,7 @@ build_configdirs=`echo "${build_configdi # leave out the maybe dependencies when enable_gdbtk is false. I'm not # 100% sure that that's safe though. -gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" +gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui" case "$enable_gdbtk" in no) GDB_TK="" ;; @@ -1665,28 +1678,62 @@ esac # not to nest @if/@endif pairs, because configure will not warn you at all. AC_ARG_ENABLE([bootstrap], -[ --enable-bootstrap Enable bootstrapping [no]],, -enable_bootstrap=no) -if test -d ${srcdir}/gcc; then - case "$host:$target:$enable_bootstrap" in - $build:$build:yes | *:no) ;; - *:yes) AC_MSG_ERROR([cannot bootstrap a cross-compiler]) ;; - *) AC_MSG_ERROR([invalid option for --enable-bootstrap]) ;; - esac -else - if test $enable_bootstrap = yes; then - AC_MSG_ERROR([cannot bootstrap without a compiler]) - fi -fi +[ --enable-bootstrap[=lean] Enable bootstrapping [no]],, +enable_bootstrap=default) + +# Issue errors and warnings for invalid/strange bootstrap combinations. +case "$configdirs" in + *gcc*) have_compiler=yes ;; + *) have_compiler=no ;; +esac + +case "$have_compiler:$host:$target:$enable_bootstrap" in + *:*:*:no) ;; + + # Default behavior. (We'll) enable bootstrap if we have a compiler + # and we are in a native configuration. + yes:$build:$build:default) + # This will become 'yes' + enable_bootstrap=no ;; + + *:*:*:default) + enable_bootstrap=no ;; + + # We have a compiler and we are in a native configuration, bootstrap is ok + yes:$build:$build:yes | yes:$build:$build:lean) + ;; + + # Other configurations, but we have a compiler. Assume the user knows + # what he's doing. + yes:*:*:yes | yes:*:*:lean) + AC_MSG_WARN([trying to bootstrap a cross compiler]) + ;; + + # No compiler: if they passed --enable-bootstrap explicitly, fail + no:*:*:yes | no:*:*:lean) + AC_MSG_ERROR([cannot bootstrap without a compiler]) ;; + + # Fail if wrong command line + *) + AC_MSG_ERROR([invalid option for --enable-bootstrap]) + ;; +esac +# Adjust the toplevel makefile according to whether bootstrap was selected. case "$enable_bootstrap" in yes) + bootstrap_lean='#' + default_target=bootstrap + bootstrap_suffix=bootstrap ;; + lean) + bootstrap_lean='' default_target=bootstrap bootstrap_suffix=bootstrap ;; no) default_target=all bootstrap_suffix=no-bootstrap ;; esac +AC_SUBST(bootstrap_lean) AC_SUBST(default_target) for module in ${build_configdirs} ; do @@ -2069,7 +2116,6 @@ AC_SUBST_FILE(ospace_frag) # Miscellanea: directories, flags, etc. AC_SUBST(SET_LIB_PATH) AC_SUBST(RPATH_ENVVAR) -AC_SUBST(BUILD_DIR_PREFIX) AC_SUBST(BUILD_PREFIX) AC_SUBST(BUILD_PREFIX_1) AC_SUBST(gcc_version_trigger) @@ -2211,7 +2257,7 @@ esac AC_SUBST(stage1_cflags) # It makes debugging easier if we create as symlinks the stage directories -# gcc for stageN-gcc and stage-prev for stage(N-1). In case this is not +# gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not # possible, however, we can resort to mv. AC_CACHE_CHECK([if symbolic links between directories work], [gcc_cv_prog_ln_s_dir], @@ -2251,4 +2297,24 @@ case ${enable_werror} in esac AC_SUBST(stage2_werror_flag) +# If gcc is built natively with shared library enabled, set +# $RPATH_ENVVAR to make sure the newly built gcc shared librares are +# used. +SET_GCC_LIB_PATH= +if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then + case "${enable_shared}" in + no | "") ;; + *) + eval "d=\$$RPATH_ENVVAR" + if test x"$d" != x; then + d="$pwd/gcc:$d" + else + d="$pwd/gcc" + fi + SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);" + ;; + esac +fi +AC_SUBST(SET_GCC_LIB_PATH) + AC_OUTPUT(Makefile) diff -uprN binutils-2.15.91.0.2/cpu/ChangeLog binutils-2.15.92.0.2/cpu/ChangeLog --- binutils-2.15.91.0.2/cpu/ChangeLog 2004-05-27 11:26:03.000000000 -0700 +++ binutils-2.15.92.0.2/cpu/ChangeLog 2004-09-15 12:05:03.000000000 -0700 @@ -1,3 +1,7 @@ +2004-08-27 Richard Sandiford + + * frv.cpu (cfmovs): Change UNIT attribute to FMALL. + 2004-05-15 Nick Clifton * iq2000.opc (iq2000_cgen_insn_supported): Make 'insn' argument const. diff -uprN binutils-2.15.91.0.2/cpu/frv.cpu binutils-2.15.92.0.2/cpu/frv.cpu --- binutils-2.15.91.0.2/cpu/frv.cpu 2004-03-03 12:24:34.000000000 -0800 +++ binutils-2.15.92.0.2/cpu/frv.cpu 2004-09-15 12:05:03.000000000 -0700 @@ -7122,7 +7122,7 @@ ((fr500 (unit u-fr2fr))) ) -(conditional-register-transfer cfmovs OP_6C OPE4_0 FRj FRk FM01 +(conditional-register-transfer cfmovs OP_6C OPE4_0 FRj FRk FMALL ((FR500-MAJOR F-1) (FR550-MAJOR F-2) (MACH simple,tomcat,fr500,fr550,frv)) ((fr500 (unit u-fr2fr)) (fr550 (unit u-fr2fr))) diff -uprN binutils-2.15.91.0.2/gas/ChangeLog binutils-2.15.92.0.2/gas/ChangeLog --- binutils-2.15.91.0.2/gas/ChangeLog 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/ChangeLog 2004-09-27 13:46:07.000000000 -0700 @@ -1,3 +1,229 @@ +2004-09-21 James E Wilson + + * config/tc-ia64.c (ENCODED_PSP_OFFSET): New. + (output_rp_psprel, output_pfs_psprel, output_preds_psprel, + output_spill_base, output_unat_psprel, output_lc_psprel, + output_fpsr_psprel, output_priunat_psprel, output_bsp_psprel, + output_bsprestore_psprel, output_rnat_psprel, output_spill_psprel, + output_spill_psprel_p): Use it. + +2004-09-20 Tomer Levi + + * config/tc-crx.c (handle_LoadStor): New function. + Handle load/stor unique instructions before parsing. + +2004-09-17 Paul Brook + + * config/tc-arm.c (s_arm_rel31): New funciton. + (md_pseudo_table): Add .rel31. + (md_apply_fix3): Handle BFD_RELOC_ARM_TARGET2, + BFD_RELOC_32_PCREL and BFD_RELOC_ARM_PREL31. + (tc_gen_reloc): Handle BFD_RELOC_ARM_PREL31 and BFD_RELOC_ARM_TARGET2. + (arm_fix_adjustable): Return 0 for BFD_RELOC_ARM_TARGET2. + (arm_parse_reloc): Add (target2). + +2004-09-17 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * doc/Makefile.in: Regenerate. + * po/POTFILES.in: Regenerate. + * po/gas.pot: Regenerate. + +2004-09-14 Hideki IWAMOTO + + * config/tc-mmix.c [!LLONG_MIN]: Correct #elsif to #elif. + [!LLONG_MAX]: Ditto. + +2004-09-13 Paul Brook + + * config/tc-arm.c: Rename RELABS to TARGET1. + +2004-09-13 Alan Modra + + * messages.c (as_internal_value_out_of_range): Cast values passed + to as_bad_where or as_warn_where to proper type. + +2004-09-11 Theodore A. Roth + + * config/tc-avr.c: Add support for + atmega48, atmega88, atmega168, attiny13, attiny2313, at90can128. + +2004-09-09 Alan Modra + + * dw2gencfi.c (select_cie_for_fde): When separating CIE out + from FDE, treat a CFI_escape as we do a DW_CFA_advance_loc. + +2004-09-08 Paul Brook + + * config/obj-elf.c (obj_elf_section_type): Handle init_array, + fini_array and preinit_array section types. + * config/tc-ia64.c (ia64_elf_section_type): Remove init_array + and fini_array. + * doc/as.texinfo: Document extra section types. + +2004-09-02 Mark Mitchell + + * Makefile.am (TARG_ENV_HFILES): Add te-symbian.h. + * Makefile.in: Regenerated. + * configure.in: Set em for arm*-*-symbianelf*. + * configure: Regenerated. + * config/tc-arm.c (elf32_arm_target_format): Use Symbian target + vectors when appropriate. + * config/te-symbian.h: New file. + +2004-09-03 Tomer Levi + + * config/tc-crx.c (gettrap): Exception vector can be case + insensitive. + (process_label_constant): Fix a 32-bit displacement bug in branch + instructions. + (get_operandtype) : Bug fix, wrong operand was used. + (process_label_constant): Initialize relocation type to + BFD_RELOC_NONE + +2004-09-01 Richard Earnshaw < reanrsha@arm.com> + + * tc-arm.c (arm_cpus, arm_fpus): Allow -s as well as s + for synthesizable cores. + + * doc/c-arm.texi (ARM Options): Document canonical names of CPUs. + +2004-08-25 Dmitry Diky + + * config/tc-msp430.c: Clean-up the code. + (md_relax_table): New relax table. + (mcu_types): Sort MCU types. + (md_pseudo_table): Add .profiler pseudo handler. + (pow2value): New function. + (msp430_profiler): New function. + (msp430_operands): Add new insns handlers. + (msp430_srcoperand): Add register operand handler, allow complex + expressions. + (md_estimate_size_before_relax): Rewritten. + (md_convert_frag): Rewritten. + (msp430_relax_frag): New function. + * config/tc-msp430.h (md_relax_frag): define macro + * doc/c-msp430.texi: Update information. + +2004-08-24 Nick Clifton + + * as.c (std_shortopts): Allow -g to take an optional argument. + (parse_args): Pass any switch starting with -g on to the backend + for parsing. + +2004-08-18 Mark Mitchell + + * configure.in (arm*-*-symbianelf*): New target. + (arm*-*-eabi*): Likewise. + * configure: Regenerated. + +2004-08-18 Thiemo Seufer + * config/tc-mips.c (append_insn): Handle delay slots in branch likely + correctly. + +2004-08-18 Jakub Jelinek + + * config/tc-ia64.c (start_unwind_section): Add linkonce_empty + argument, don't do anything if current section is not + .gnu.linkonce.t.* and linkonce_empty is set. + (generate_unwind_image, dot_endp): Adjust callers, call + start_unwind_section (*, 1) if nothing will be put into the + section. + +2004-08-17 Nick Clifton + + * as.c (MD_DEBUG_FORMAT_SELECTOR): Provide default definition. + (show_usage): Add -g. + (std_longopts): Add --gen-debug. Alpha sort the table. + (parse_args): Print an error message if a switch is not handled. + Handle the -g switch, calling md_debug_format_selector() if + necessary. + * NEWS: Mention new feature. + * doc/as.texinfo: Document new switch. + * doc/internals.texi: Document behaviour of md_parse_option. + + * config/tc-arm.c (md_parse_option): Do not issue an error message + if the switch is not recognised. + * config/tc-m68k.c (md_parse_option): Likewise. + * config/tc-pdp11.c (md_parse_option): Likewise. + * config/tc-v850.c (md_parse_option): Likewise. + + * as.h: Fix up formatting. + * tc.h: Likewise. + +2004-08-16 Nick Clifton + + * macro.c (macro_set_alternate): Use ISO C90 formatting. + + * configure.in: Sort architecture based tables alphabetically. + * configure: Regenerate. + +2004-08-16 Alan Modra + + * config/tc-ppc.c (tc_ppc_regname_to_dw2regnum ): Replace + { "cc", 68 }, with { "cr", 70 }. + +2004-08-13 Jan Beulich + Nick Clifton + + * as.c: Add and handle new --alternate command line option. + * macro.c (macro_set_alternate): New. + * macro.h (macro_set_alternate): Declare. + * read.c: Add and handle new .altmacro and .noaltmacro directives. + * doc/as.texinfo: Document new command line option and pseudo-ops + as well as insert documentation originating from gasp about + alternate macro syntax. + * NEWS: Mention new command line option and pseudo-ops. + +2004-08-10 Mark Mitchell + + * expr.c (operand): Handle the "~", "-", and "!" operators applied + to bignums. + +2004-08-06 Paul Brook + + * config/tc-arm.c (md_apply_fix3, tc_gen_reloc, arm_parse_reloc): + Handle new relocations. + * include/elf/arm.h (elf_arm_reloc_type): Add new EABI relocations. + +2004-08-05 Bob Wilson + + * write.c (relax_segment): Use was_address instead of address when + setting fr_fix field for align frag due to backwards .org. + +2004-07-29 Alexandre Oliva + + Introduce SH2a support. + 2004-02-24 Corinna Vinschen + * config/tc-sh.c (get_specific): Change arch_sh2a_up to + arch_sh2a_nofpu_up. + 2004-02-24 Corinna Vinschen + * config/tc-sh.c (md_parse_option): Add sh2a-nofpu ISA handling. + 2004-02-20 Corinna Vinschen + * config/tc-sh.c (sh_elf_final_processing): Move sh2a recognition + to end of conditional expression. + 2004-02-20 Corinna Vinschen + * config/tc-sh.c: Add sh2a-nofpu support. + 2003-12-29 DJ Delorie + * tc-sh.c: Add sh2a support. + (parse_reg): Add tbr. + (parse_at): Support @@(disp,tbr). + (get_specific): Support sh2a opcodes. + (insert4): New, for 4 byte relocs. + (build_Mytes): Support sh2a opcodes. + (md_apply_fix3_Mytes): Support sh2a opcodes. + 2003-12-02 Michael Snyder + * config/tc-sh.c (md_parse_option): Handle sh2a. + (sh_elf_final_processing): Ditto. + +2004-07-27 Jason Thorpe + + * config/tc-hppa.h (TARGET_FORMAT): Set to "elf32-hppa-netbsd" + for TE_NetBSD. + 2004-07-27 Alan Modra * config/tc-ppc.c (ppc_frob_file_before_adjust): Warn if .toc too big. diff -uprN binutils-2.15.91.0.2/gas/Makefile.am binutils-2.15.92.0.2/gas/Makefile.am --- binutils-2.15.91.0.2/gas/Makefile.am 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/Makefile.am 2004-09-27 13:46:07.000000000 -0700 @@ -402,6 +402,7 @@ TARG_ENV_HFILES = \ config/te-sparcaout.h \ config/te-sun3.h \ config/te-svr4.h \ + config/te-symbian.h \ config/te-sysv32.h \ config/te-tmips.h @@ -1023,7 +1024,8 @@ DEPTC_arc_elf = $(INCDIR)/symcat.h $(src $(INCDIR)/elf/arc.h $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h DEPTC_arm_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-arm.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/arm.h + $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/arm.h DEPTC_arm_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-arm.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/arm.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -1033,8 +1035,8 @@ DEPTC_arm_elf = $(INCDIR)/symcat.h $(src $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h \ - $(INCDIR)/opcode/arm.h + $(INCDIR)/opcode/arm.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_avr_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-avr.h $(INCDIR)/coff/internal.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ @@ -1053,11 +1055,16 @@ DEPTC_cris_elf = $(INCDIR)/symcat.h $(sr $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ $(INCDIR)/opcode/cris.h dwarf2dbg.h +DEPTC_crx_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-crx.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ + dwarf2dbg.h $(INCDIR)/opcode/crx.h $(INCDIR)/elf/crx.h \ + $(INCDIR)/elf/reloc-macros.h DEPTC_crx_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h \ - $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/crx.h dwarf2dbg.h + $(INCDIR)/safe-ctype.h dwarf2dbg.h $(INCDIR)/opcode/crx.h \ + $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h DEPTC_d10v_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-d10v.h $(INCDIR)/coff/internal.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ @@ -1272,13 +1279,6 @@ DEPTC_mcore_elf = $(INCDIR)/symcat.h $(s $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h \ subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/mcore-opc.h \ $(INCDIR)/safe-ctype.h $(INCDIR)/elf/mcore.h $(INCDIR)/elf/reloc-macros.h -DEPTC_mips_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-mips.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ - $(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h $(srcdir)/config/obj-elf.h \ - $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ - ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h DEPTC_mips_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-mips.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -1639,6 +1639,15 @@ DEPOBJ_cris_elf = $(INCDIR)/symcat.h $(s $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h +DEPOBJ_crx_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-crx.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h +DEPOBJ_crx_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h \ + $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ + struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h DEPOBJ_d10v_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-d10v.h $(INCDIR)/coff/internal.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ @@ -1823,9 +1832,6 @@ DEPOBJ_mcore_elf = $(INCDIR)/symcat.h $( $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h -DEPOBJ_mips_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-mips.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h DEPOBJ_mips_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-mips.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -2129,6 +2135,12 @@ DEP_cris_aout = $(srcdir)/config/obj-aou DEP_cris_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h +DEP_crx_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-crx.h \ + $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \ + $(INCDIR)/bfdlink.h +DEP_crx_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h DEP_d10v_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-d10v.h \ $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h @@ -2251,8 +2263,6 @@ DEP_mcore_coff = $(srcdir)/config/obj-co DEP_mcore_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h -DEP_mips_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-mips.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h DEP_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h \ $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h @@ -2437,7 +2447,8 @@ bignum-copy.o: bignum-copy.c $(INCDIR)/s cond.o: cond.c $(INCDIR)/symcat.h macro.h sb.h $(INCDIR)/obstack.h depend.o: depend.c $(INCDIR)/symcat.h dwarf2dbg.o: dwarf2dbg.c $(INCDIR)/symcat.h dwarf2dbg.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/elf/dwarf2.h + $(INCDIR)/filenames.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/elf/dwarf2.h dw2gencfi.o: dw2gencfi.c $(INCDIR)/symcat.h dw2gencfi.h \ $(INCDIR)/elf/dwarf2.h ecoff.o: ecoff.c $(INCDIR)/symcat.h ecoff.h diff -uprN binutils-2.15.91.0.2/gas/Makefile.in binutils-2.15.92.0.2/gas/Makefile.in --- binutils-2.15.91.0.2/gas/Makefile.in 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/Makefile.in 2004-09-27 13:46:07.000000000 -0700 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.8.5 from Makefile.am. +# Makefile.in generated by automake 1.9.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -103,8 +103,6 @@ LTYACCCOMPILE = $(LIBTOOL) --mode=compil YLWRAP = $(top_srcdir)/../ylwrap SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) \ $(itbl_test_SOURCES) -DIST_SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) \ - $(itbl_test_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ @@ -202,6 +200,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ atof = @atof@ bindir = @bindir@ build = @build@ @@ -629,6 +629,7 @@ TARG_ENV_HFILES = \ config/te-sparcaout.h \ config/te-sun3.h \ config/te-svr4.h \ + config/te-symbian.h \ config/te-sysv32.h \ config/te-tmips.h @@ -810,7 +811,8 @@ DEPTC_arc_elf = $(INCDIR)/symcat.h $(src DEPTC_arm_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-arm.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/arm.h + $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/opcode/arm.h DEPTC_arm_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-arm.h $(INCDIR)/coff/internal.h \ @@ -822,8 +824,8 @@ DEPTC_arm_elf = $(INCDIR)/symcat.h $(src $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h \ $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h \ - $(INCDIR)/opcode/arm.h + $(INCDIR)/opcode/arm.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_avr_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-avr.h $(INCDIR)/coff/internal.h \ @@ -847,11 +849,17 @@ DEPTC_cris_elf = $(INCDIR)/symcat.h $(sr $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ $(INCDIR)/opcode/cris.h dwarf2dbg.h +DEPTC_crx_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-crx.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/safe-ctype.h \ + dwarf2dbg.h $(INCDIR)/opcode/crx.h $(INCDIR)/elf/crx.h \ + $(INCDIR)/elf/reloc-macros.h + DEPTC_crx_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h \ - $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/crx.h dwarf2dbg.h + $(INCDIR)/safe-ctype.h dwarf2dbg.h $(INCDIR)/opcode/crx.h \ + $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h DEPTC_d10v_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-d10v.h $(INCDIR)/coff/internal.h \ @@ -1108,14 +1116,6 @@ DEPTC_mcore_elf = $(INCDIR)/symcat.h $(s subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/mcore-opc.h \ $(INCDIR)/safe-ctype.h $(INCDIR)/elf/mcore.h $(INCDIR)/elf/reloc-macros.h -DEPTC_mips_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-mips.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/safe-ctype.h \ - $(INCDIR)/opcode/mips.h itbl-ops.h dwarf2dbg.h $(srcdir)/config/obj-elf.h \ - $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ - $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/elf/reloc-macros.h \ - ecoff.h $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h - DEPTC_mips_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-mips.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -1552,6 +1552,17 @@ DEPOBJ_cris_elf = $(INCDIR)/symcat.h $(s $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h +DEPOBJ_crx_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ + $(srcdir)/config/tc-crx.h $(INCDIR)/coff/internal.h \ + $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ + subsegs.h + +DEPOBJ_crx_elf = $(INCDIR)/symcat.h $(srcdir)/config/obj-elf.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h \ + $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ + struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h + DEPOBJ_d10v_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-d10v.h $(INCDIR)/coff/internal.h \ $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ @@ -1777,10 +1788,6 @@ DEPOBJ_mcore_elf = $(INCDIR)/symcat.h $( $(INCDIR)/safe-ctype.h subsegs.h $(INCDIR)/obstack.h \ struc-symbol.h dwarf2dbg.h $(INCDIR)/aout/aout64.h -DEPOBJ_mips_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ - $(srcdir)/config/tc-mips.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/aout/aout64.h $(INCDIR)/obstack.h - DEPOBJ_mips_coff = $(INCDIR)/symcat.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-mips.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/mipspe.h $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h \ @@ -2159,6 +2166,14 @@ DEP_cris_elf = $(srcdir)/config/obj-elf. $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h +DEP_crx_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-crx.h \ + $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \ + $(INCDIR)/bfdlink.h + +DEP_crx_elf = $(srcdir)/config/obj-elf.h $(INCDIR)/symcat.h \ + $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-crx.h + DEP_d10v_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-d10v.h \ $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h @@ -2321,9 +2336,6 @@ DEP_mcore_elf = $(srcdir)/config/obj-elf $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(srcdir)/config/tc-mcore.h -DEP_mips_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-mips.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h - DEP_mips_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-mips.h \ $(INCDIR)/symcat.h $(INCDIR)/coff/internal.h $(INCDIR)/coff/mipspe.h \ $(INCDIR)/coff/external.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h @@ -2836,7 +2848,7 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -3355,7 +3367,8 @@ bignum-copy.o: bignum-copy.c $(INCDIR)/s cond.o: cond.c $(INCDIR)/symcat.h macro.h sb.h $(INCDIR)/obstack.h depend.o: depend.c $(INCDIR)/symcat.h dwarf2dbg.o: dwarf2dbg.c $(INCDIR)/symcat.h dwarf2dbg.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/elf/dwarf2.h + $(INCDIR)/filenames.h subsegs.h $(INCDIR)/obstack.h \ + $(INCDIR)/elf/dwarf2.h dw2gencfi.o: dw2gencfi.c $(INCDIR)/symcat.h dw2gencfi.h \ $(INCDIR)/elf/dwarf2.h ecoff.o: ecoff.c $(INCDIR)/symcat.h ecoff.h diff -uprN binutils-2.15.91.0.2/gas/NEWS binutils-2.15.92.0.2/gas/NEWS --- binutils-2.15.91.0.2/gas/NEWS 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/NEWS 2004-09-15 12:05:03.000000000 -0700 @@ -1,5 +1,8 @@ -*- text -*- +* Add a -g command line option to generate debug information in the target's + preferred debug format. + * Support for the crx-elf target added. * Support for the sh-symbianelf target added. @@ -12,6 +15,9 @@ * Support for ColdFire EMAC instructions added and Motorola syntax for MAC/EMAC instrucitons. +* New command line option --alternate and pseudo-ops .altmacro and .noaltmacro + added to enter (and leave) alternate macro syntax mode. + Changes in 2.15: * The MIPS -membedded-pic option (Embedded-PIC code generation) is diff -uprN binutils-2.15.91.0.2/gas/aclocal.m4 binutils-2.15.92.0.2/gas/aclocal.m4 --- binutils-2.15.91.0.2/gas/aclocal.m4 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/aclocal.m4 2004-09-27 13:46:07.000000000 -0700 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.8.5 -*- Autoconf -*- +# generated automatically by aclocal 1.9.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. @@ -33,14 +33,14 @@ # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.8.5])]) + [AM_AUTOMAKE_VERSION([1.9.1])]) # AM_AUX_DIR_EXPAND @@ -108,7 +108,7 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -145,8 +145,8 @@ else fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]) + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) fi])]) # serial 7 -*- Autoconf -*- @@ -319,7 +319,8 @@ AC_SUBST([AMDEPBACKSLASH]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -355,27 +356,21 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS else continue fi - grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue @@ -430,7 +425,7 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_ # This macro actually does too much some checks are only needed if # your package does certain things. But this isn't really a big deal. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -506,7 +501,6 @@ AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_MISSING_PROG(AMTAR, tar) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl @@ -515,7 +509,9 @@ AC_REQUIRE([AM_PROG_MKDIR_P])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl - +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], @@ -831,13 +827,21 @@ fi # this.) AC_DEFUN([AM_PROG_MKDIR_P], [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # Keeping the `.' argument allows $(mkdir_p) to be used without - # argument. Indeed, we sometimes output rules like + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. - # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more - # expensive solution, as it forces Make to start a sub-shell.) - mkdir_p='mkdir -p -- .' + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as @@ -1003,4 +1007,112 @@ fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, 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. + +# serial 1 + + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + m4_include([acinclude.m4]) diff -uprN binutils-2.15.91.0.2/gas/as.c binutils-2.15.92.0.2/gas/as.c --- binutils-2.15.91.0.2/gas/as.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.92.0.2/gas/as.c 2004-09-15 12:05:03.000000000 -0700 @@ -89,6 +89,11 @@ int listing; enum debug_info_type debug_type = DEBUG_UNSPECIFIED; int use_gnu_debug_info_extensions = 0; +#ifndef MD_DEBUG_FORMAT_SELECTOR +#define MD_DEBUG_FORMAT_SELECTOR NULL +#endif +static enum debug_info_type (*md_debug_format_selector) (int *) = MD_DEBUG_FORMAT_SELECTOR; + /* Maximum level of macro nesting. */ int max_macro_nest = 100; @@ -123,6 +128,8 @@ static struct itbl_file_list *itbl_files static long start_time; +static int flag_macro_alternate; + #ifdef USE_EMULATIONS #define EMULATION_ENVIRON "AS_EMULATION" @@ -245,6 +252,8 @@ Options:\n\ =FILE list to FILE (must be last sub-option)\n")); fprintf (stream, _("\ + --alternate initially turn on alternate macro syntax\n")); + fprintf (stream, _("\ -D produce assembler debugging messages\n")); fprintf (stream, _("\ --defsym SYM=VAL define symbol SYM to given value\n")); @@ -275,11 +284,13 @@ Options:\n\ fprintf (stream, _("\ -f skip whitespace and comment preprocessing\n")); fprintf (stream, _("\ - --gstabs generate stabs debugging information\n")); + -g --gen-debug generate debugging information\n")); + fprintf (stream, _("\ + --gstabs generate STABS debugging information\n")); fprintf (stream, _("\ - --gstabs+ generate stabs debug info with GNU extensions\n")); + --gstabs+ generate STABS debug info with GNU extensions\n")); fprintf (stream, _("\ - --gdwarf2 generate DWARF2 debugging information\n")); + --gdwarf-2 generate DWARF2 debugging information\n")); fprintf (stream, _("\ --help show this message and exit\n")); fprintf (stream, _("\ @@ -374,7 +385,7 @@ parse_args (int * pargc, char *** pargv) /* -K is not meaningful if .word is not being hacked. */ 'K', #endif - 'L', 'M', 'R', 'W', 'Z', 'a', ':', ':', 'D', 'f', 'I', ':', 'o', ':', + 'L', 'M', 'R', 'W', 'Z', 'a', ':', ':', 'D', 'f', 'g', ':',':', 'I', ':', 'o', ':', #ifndef VMS /* -v takes an argument on VMS, so we don't make it a generic option. */ @@ -407,59 +418,68 @@ parse_args (int * pargc, char *** pargv) OPTION_DEPFILE, OPTION_GSTABS, OPTION_GSTABS_PLUS, + OPTION_GDWARF2, OPTION_STRIP_LOCAL_ABSOLUTE, OPTION_TRADITIONAL_FORMAT, - OPTION_GDWARF2, OPTION_WARN, OPTION_TARGET_HELP, OPTION_EXECSTACK, OPTION_NOEXECSTACK, + OPTION_ALTERNATE, OPTION_WARN_FATAL + /* When you add options here, check that they do + not collide with OPTION_MD_BASE. See as.h. */ }; static const struct option std_longopts[] = { - {"help", no_argument, NULL, OPTION_HELP}, - /* getopt allows abbreviations, so we do this to stop it from - treating -k as an abbreviation for --keep-locals. Some - ports use -k to enable PIC assembly. */ - {"keep-locals", no_argument, NULL, 'L'}, - {"keep-locals", no_argument, NULL, 'L'}, - {"mri", no_argument, NULL, 'M'}, - {"nocpp", no_argument, NULL, OPTION_NOCPP}, - {"statistics", no_argument, NULL, OPTION_STATISTICS}, - {"version", no_argument, NULL, OPTION_VERSION}, - {"dump-config", no_argument, NULL, OPTION_DUMPCONFIG}, - {"verbose", no_argument, NULL, OPTION_VERBOSE}, - {"emulation", required_argument, NULL, OPTION_EMULATION}, - {"defsym", required_argument, NULL, OPTION_DEFSYM}, + /* Note: commas are placed at the start of the line rather than + the end of the preceeding line so that it is simpler to + selectively add and remove lines from this list. */ + {"alternate", no_argument, NULL, OPTION_ALTERNATE} + ,{"defsym", required_argument, NULL, OPTION_DEFSYM} + ,{"dump-config", no_argument, NULL, OPTION_DUMPCONFIG} + ,{"emulation", required_argument, NULL, OPTION_EMULATION} +#if defined BFD_ASSEMBLER && (defined OBJ_ELF || defined OBJ_MAYBE_ELF) + ,{"execstack", no_argument, NULL, OPTION_EXECSTACK} + ,{"noexecstack", no_argument, NULL, OPTION_NOEXECSTACK} +#endif + ,{"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL} + ,{"gdwarf-2", no_argument, NULL, OPTION_GDWARF2} + /* GCC uses --gdwarf-2 but GAS uses to use --gdwarf2, + so we keep it here for backwards compatibility. */ + ,{"gdwarf2", no_argument, NULL, OPTION_GDWARF2} + ,{"gen-debug", no_argument, NULL, 'g'} + ,{"gstabs", no_argument, NULL, OPTION_GSTABS} + ,{"gstabs+", no_argument, NULL, OPTION_GSTABS_PLUS} + ,{"help", no_argument, NULL, OPTION_HELP} /* New option for extending instruction set (see also -t above). The "-t file" or "--itbl file" option extends the basic set of valid instructions by reading "file", a text file containing a list of instruction formats. The additional opcodes and their formats are added to the built-in set of instructions, and mnemonics for new registers may also be defined. */ - {"itbl", required_argument, NULL, OPTION_INSTTBL}, - {"listing-lhs-width", required_argument, NULL, OPTION_LISTING_LHS_WIDTH}, - {"listing-lhs-width2", required_argument, NULL, OPTION_LISTING_LHS_WIDTH2}, - {"listing-rhs-width", required_argument, NULL, OPTION_LISTING_RHS_WIDTH}, - {"listing-cont-lines", required_argument, NULL, OPTION_LISTING_CONT_LINES}, - {"MD", required_argument, NULL, OPTION_DEPFILE}, - {"gstabs", no_argument, NULL, OPTION_GSTABS}, - {"gstabs+", no_argument, NULL, OPTION_GSTABS_PLUS}, - {"strip-local-absolute", no_argument, NULL, OPTION_STRIP_LOCAL_ABSOLUTE}, - {"traditional-format", no_argument, NULL, OPTION_TRADITIONAL_FORMAT}, - {"gdwarf2", no_argument, NULL, OPTION_GDWARF2}, - {"no-warn", no_argument, NULL, 'W'}, - {"warn", no_argument, NULL, OPTION_WARN}, - {"target-help", no_argument, NULL, OPTION_TARGET_HELP}, -#if defined BFD_ASSEMBLER && (defined OBJ_ELF || defined OBJ_MAYBE_ELF) - {"execstack", no_argument, NULL, OPTION_EXECSTACK}, - {"noexecstack", no_argument, NULL, OPTION_NOEXECSTACK}, -#endif - {"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL} - /* When you add options here, check that they do not collide with - OPTION_MD_BASE. See as.h. */ + ,{"itbl", required_argument, NULL, OPTION_INSTTBL} + /* getopt allows abbreviations, so we do this to stop it from + treating -k as an abbreviation for --keep-locals. Some + ports use -k to enable PIC assembly. */ + ,{"keep-locals", no_argument, NULL, 'L'} + ,{"keep-locals", no_argument, NULL, 'L'} + ,{"listing-lhs-width", required_argument, NULL, OPTION_LISTING_LHS_WIDTH} + ,{"listing-lhs-width2", required_argument, NULL, OPTION_LISTING_LHS_WIDTH2} + ,{"listing-rhs-width", required_argument, NULL, OPTION_LISTING_RHS_WIDTH} + ,{"listing-cont-lines", required_argument, NULL, OPTION_LISTING_CONT_LINES} + ,{"MD", required_argument, NULL, OPTION_DEPFILE} + ,{"mri", no_argument, NULL, 'M'} + ,{"nocpp", no_argument, NULL, OPTION_NOCPP} + ,{"no-warn", no_argument, NULL, 'W'} + ,{"statistics", no_argument, NULL, OPTION_STATISTICS} + ,{"strip-local-absolute", no_argument, NULL, OPTION_STRIP_LOCAL_ABSOLUTE} + ,{"version", no_argument, NULL, OPTION_VERSION} + ,{"verbose", no_argument, NULL, OPTION_VERBOSE} + ,{"target-help", no_argument, NULL, OPTION_TARGET_HELP} + ,{"traditional-format", no_argument, NULL, OPTION_TRADITIONAL_FORMAT} + ,{"warn", no_argument, NULL, OPTION_WARN} }; /* Construct the option lists from the standard list and the target @@ -520,6 +540,8 @@ parse_args (int * pargc, char *** pargv) verbose = 1; break; } + else + as_bad (_("unrecognized option -%c%s"), optc, optarg ? optarg : ""); /* Fall through. */ case '?': @@ -648,6 +670,22 @@ the GNU General Public License. This pr start_dependencies (optarg); break; + case 'g': + /* Some backends, eg Alpha and Mips, use the -g switch for their + own purposes. So we check here for an explicit -g and allow + the backend to decide if it wants to process it. */ + if ( old_argv[optind - 1][1] == 'g' + && md_parse_option (optc, optarg)) + continue; + + if (md_debug_format_selector) + debug_type = md_debug_format_selector (& use_gnu_debug_info_extensions); + else if (IS_ELF) + debug_type = DEBUG_DWARF2; + else + debug_type = DEBUG_STABS; + break; + case OPTION_GSTABS_PLUS: use_gnu_debug_info_extensions = 1; /* Fall through. */ @@ -680,6 +718,7 @@ the GNU General Public License. This pr case OPTION_LISTING_LHS_WIDTH2: { int tmp = atoi (optarg); + if (tmp > listing_lhs_width) listing_lhs_width_second = tmp; } @@ -731,6 +770,19 @@ the GNU General Public License. This pr flag_always_generate_output = 1; break; + case OPTION_ALTERNATE: + optarg = old_argv [optind - 1]; + while (* optarg == '-') + optarg ++; + + if (strcmp (optarg, "alternate") == 0) + { + flag_macro_alternate = 1; + break; + } + optarg ++; + /* Fall through. */ + case 'a': if (optarg) { @@ -790,6 +842,7 @@ the GNU General Public License. This pr case 'I': { /* Include file directory. */ char *temp = xstrdup (optarg); + add_include_dir (temp); break; } @@ -981,7 +1034,6 @@ perform_an_assembly_pass (int argc, char int main (int argc, char ** argv) { - int macro_alternate; int macro_strip_at; int keep_it; @@ -1036,7 +1088,6 @@ main (int argc, char ** argv) if (flag_print_statistics) xatexit (dump_statistics); - macro_alternate = 0; macro_strip_at = 0; #ifdef TC_I960 macro_strip_at = flag_mri; @@ -1044,11 +1095,11 @@ main (int argc, char ** argv) #ifdef TC_A29K /* For compatibility with the AMD 29K family macro assembler specification. */ - macro_alternate = 1; + flag_macro_alternate = 1; macro_strip_at = 1; #endif - macro_init (macro_alternate, flag_mri, macro_strip_at, macro_expr); + macro_init (flag_macro_alternate, flag_mri, macro_strip_at, macro_expr); PROGRESS (1); @@ -1162,4 +1213,3 @@ main (int argc, char ** argv) xexit (EXIT_SUCCESS); } - diff -uprN binutils-2.15.91.0.2/gas/as.h binutils-2.15.92.0.2/gas/as.h --- binutils-2.15.91.0.2/gas/as.h 2004-05-27 11:26:03.000000000 -0700 +++ binutils-2.15.92.0.2/gas/as.h 2004-09-15 12:05:03.000000000 -0700 @@ -23,19 +23,18 @@ #ifndef GAS #define GAS 1 /* I think this stuff is largely out of date. xoxorich. - * - * CAPITALISED names are #defined. - * "lowercaseH" is #defined if "lowercase.h" has been #include-d. - * "lowercaseT" is a typedef of "lowercase" objects. - * "lowercaseP" is type "pointer to object of type 'lowercase'". - * "lowercaseS" is typedef struct ... lowercaseS. - * - * #define DEBUG to enable all the "know" assertion tests. - * #define SUSPECT when debugging hash code. - * #define COMMON as "extern" for all modules except one, where you #define - * COMMON as "". - * If TEST is #defined, then we are testing a module: #define COMMON as "". - */ + + CAPITALISED names are #defined. + "lowercaseH" is #defined if "lowercase.h" has been #include-d. + "lowercaseT" is a typedef of "lowercase" objects. + "lowercaseP" is type "pointer to object of type 'lowercase'". + "lowercaseS" is typedef struct ... lowercaseS. + + #define DEBUG to enable all the "know" assertion tests. + #define SUSPECT when debugging hash code. + #define COMMON as "extern" for all modules except one, where you #define + COMMON as "". + If TEST is #defined, then we are testing a module: #define COMMON as "". */ #include "config.h" #include "bin-bugs.h" @@ -137,7 +136,7 @@ extern void *alloca (); #include "progress.h" /* This doesn't get taken care of anywhere. */ -#ifndef __MWERKS__ /* Metrowerks C chokes on the "defined (inline)" */ +#ifndef __MWERKS__ /* Metrowerks C chokes on the "defined (inline)" */ #if !defined (__GNUC__) && !defined (inline) #define inline #endif @@ -235,19 +234,19 @@ typedef addressT valueT; #ifndef COMMON #ifdef TEST -#define COMMON /* declare our COMMONs storage here. */ +#define COMMON /* Declare our COMMONs storage here. */ #else -#define COMMON extern /* our commons live elsewhere */ +#define COMMON extern /* Our commons live elsewhere. */ #endif #endif /* COMMON now defined */ #ifdef DEBUG #ifndef know -#define know(p) assert(p) /* Verify our assumptions! */ +#define know(p) assert(p) /* Verify our assumptions! */ #endif /* not yet defined */ #else -#define know(p) /* know() checks are no-op.ed */ +#define know(p) /* know() checks are no-op.ed */ #endif /* input_scrub.c */ @@ -277,31 +276,32 @@ typedef addressT valueT; #define SEG_LIST SEG_TEXT,SEG_DATA,SEG_BSS #endif -typedef enum _segT { +typedef enum _segT +{ SEG_ABSOLUTE = 0, SEG_LIST, SEG_UNKNOWN, SEG_GOOF, /* Only happens if AS has a logic error. */ - /* Invented so we don't crash printing */ - /* error message involving weird segment. */ + /* Invented so we don't crash printing + error message involving weird segment. */ SEG_EXPR, /* Intermediate expression values. */ SEG_DEBUG, /* Debug segment */ - SEG_NTV, /* Transfert vector preload segment */ - SEG_PTV, /* Transfert vector postload segment */ - SEG_REGISTER /* Mythical: a register-valued expression */ + SEG_NTV, /* Transfert vector preload segment. */ + SEG_PTV, /* Transfert vector postload segment. */ + SEG_REGISTER /* Mythical: a register-valued expression. */ } segT; #define SEG_MAXIMUM_ORDINAL (SEG_REGISTER) #else typedef asection *segT; -#define SEG_NORMAL(SEG) ((SEG) != absolute_section \ +#define SEG_NORMAL(SEG) ( (SEG) != absolute_section \ && (SEG) != undefined_section \ && (SEG) != reg_section \ && (SEG) != expr_section) #endif typedef int subsegT; -/* What subseg we are accessing now? */ +/* What subseg we are accessing now? */ COMMON subsegT now_subseg; /* Segment our instructions emit to. */ @@ -334,9 +334,9 @@ extern segT text_section, data_section, #define undefined_section SEG_UNKNOWN #endif -/* relax() */ -enum _relax_state { +enum _relax_state +{ /* Variable chars to be repeated fr_offset times. Fr_symbol unused. Used with fr_offset == 0 for a constant length frag. */ @@ -368,7 +368,7 @@ enum _relax_state { rs_broken_word, #endif - /* machine-specific relaxable (or similarly alterable) instruction */ + /* Machine specific relaxable (or similarly alterable) instruction. */ rs_machine_dependent, /* .space directive with expression operand that needs to be computed @@ -398,7 +398,7 @@ typedef unsigned int relax_substateT; Could be a problem, cross-assembling for 64-bit machines. */ typedef addressT relax_addressT; -/* main program "as.c" (command arguments etc) */ +/* main program "as.c" (command arguments etc). */ COMMON unsigned char flag_no_comments; /* -f */ COMMON unsigned char flag_debug; /* -D */ @@ -466,7 +466,8 @@ extern int listing; This is especially relevant to DWARF2, since the compiler may emit line number directives that the assembler resolves. */ -enum debug_info_type { +enum debug_info_type +{ DEBUG_UNSPECIFIED, DEBUG_NONE, DEBUG_STABS, @@ -488,7 +489,8 @@ extern int verbose; increase malloc calls for monitoring memory allocation. */ extern int chunksize; -struct _pseudo_type { +struct _pseudo_type +{ /* assembler mnemonic, lower case, no '.' */ const char *poc_name; /* Do the work */ @@ -553,57 +555,52 @@ PRINTF_LIKE (as_warn); PRINTF_WHERE_LIKE (as_bad_where); PRINTF_WHERE_LIKE (as_warn_where); -void as_assert (const char *, int, const char *); -void as_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; - -void fprint_value (FILE *file, addressT value); -void sprint_value (char *buf, addressT value); - -int had_errors (void); -int had_warnings (void); - -void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned); -void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned); - -void print_version_id (void); -char *app_push (void); -char *atof_ieee (char *str, int what_kind, LITTLENUM_TYPE * words); -char *input_scrub_include_file (char *filename, char *position); -extern void input_scrub_insert_line (const char *line); -extern void input_scrub_insert_file (char *path); -char *input_scrub_new_file (char *filename); -char *input_scrub_next_buffer (char **bufp); -int do_scrub_chars (int (*get) (char *, int), char *to, int tolen); -int gen_to_words (LITTLENUM_TYPE * words, int precision, - long exponent_bits); -int had_err (void); -int ignore_input (void); -void cond_finish_check (int); -void cond_exit_macro (int); -int seen_at_least_1_file (void); -void app_pop (char *arg); -void as_howmuch (FILE * stream); -void as_perror (const char *gripe, const char *filename); -void as_where (char **namep, unsigned int *linep); -void bump_line_counters (void); -void do_scrub_begin (int); -void input_scrub_begin (void); -void input_scrub_close (void); -void input_scrub_end (void); -int new_logical_line (char *fname, int line_number); -void subsegs_begin (void); -void subseg_change (segT seg, int subseg); -segT subseg_new (const char *name, subsegT subseg); -segT subseg_force_new (const char *name, subsegT subseg); -void subseg_set (segT seg, subsegT subseg); +void as_assert (const char *, int, const char *); +void as_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; +void fprint_value (FILE *, addressT); +void sprint_value (char *, addressT); +int had_errors (void); +int had_warnings (void); +void as_warn_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned); +void as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, unsigned); +void print_version_id (void); +char * app_push (void); +char * atof_ieee (char *, int, LITTLENUM_TYPE *); +char * input_scrub_include_file (char *, char *); +void input_scrub_insert_line (const char *); +void input_scrub_insert_file (char *); +char * input_scrub_new_file (char *); +char * input_scrub_next_buffer (char **bufp); +int do_scrub_chars (int (*get) (char *, int), char *, int); +int gen_to_words (LITTLENUM_TYPE *, int, long); +int had_err (void); +int ignore_input (void); +void cond_finish_check (int); +void cond_exit_macro (int); +int seen_at_least_1_file (void); +void app_pop (char *); +void as_howmuch (FILE *); +void as_perror (const char *, const char *); +void as_where (char **, unsigned int *); +void bump_line_counters (void); +void do_scrub_begin (int); +void input_scrub_begin (void); +void input_scrub_close (void); +void input_scrub_end (void); +int new_logical_line (char *, int); +void subsegs_begin (void); +void subseg_change (segT, int); +segT subseg_new (const char *, subsegT); +segT subseg_force_new (const char *, subsegT); +void subseg_set (segT, subsegT); +int subseg_text_p (segT); +void start_dependencies (char *); +void register_dependency (char *); +void print_dependencies (void); #ifdef BFD_ASSEMBLER -segT subseg_get (const char *, int); +segT subseg_get (const char *, int); #endif -int subseg_text_p (segT); -void start_dependencies (char *); -void register_dependency (char *); -void print_dependencies (void); struct expressionS; struct fix; @@ -620,12 +617,11 @@ int check_eh_frame (struct expressionS * int eh_frame_estimate_size_before_relax (fragS *); int eh_frame_relax_frag (fragS *); void eh_frame_convert_frag (fragS *); - int generic_force_reloc (struct fix *); #include "expr.h" /* Before targ-*.h */ -/* this one starts the chain of target dependant headers */ +/* This one starts the chain of target dependant headers. */ #include "targ-env.h" #ifdef OBJ_MAYBE_ELF @@ -660,9 +656,9 @@ COMMON int flag_m68k_mri; #endif #ifdef WARN_COMMENTS -COMMON int warn_comment; -COMMON unsigned int found_comment; -COMMON char *found_comment_file; +COMMON int warn_comment; +COMMON unsigned int found_comment; +COMMON char * found_comment_file; #endif #ifndef NUMBERS_WITH_SUFFIX diff -uprN binutils-2.15.91.0.2/gas/config/obj-elf.c binutils-2.15.92.0.2/gas/config/obj-elf.c --- binutils-2.15.91.0.2/gas/config/obj-elf.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/obj-elf.c 2004-09-15 12:05:03.000000000 -0700 @@ -771,6 +771,12 @@ obj_elf_section_type (char *str, size_t return SHT_NOBITS; if (len == 4 && strncmp (str, "note", 4) == 0) return SHT_NOTE; + if (len == 10 && strncmp (str, "init_array", 10) == 0) + return SHT_INIT_ARRAY; + if (len == 10 && strncmp (str, "fini_array", 10) == 0) + return SHT_FINI_ARRAY; + if (len == 13 && strncmp (str, "preinit_array", 13) == 0) + return SHT_PREINIT_ARRAY; #ifdef md_elf_section_type { diff -uprN binutils-2.15.91.0.2/gas/config/tc-arm.c binutils-2.15.92.0.2/gas/config/tc-arm.c --- binutils-2.15.91.0.2/gas/config/tc-arm.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-arm.c 2004-09-27 13:46:07.000000000 -0700 @@ -2445,6 +2445,7 @@ static void s_thumb_func PARAMS ((int)); static void s_thumb_set PARAMS ((int)); #ifdef OBJ_ELF static void s_arm_elf_cons PARAMS ((int)); +static void s_arm_rel31 (int nbytes); #endif static int my_get_expression PARAMS ((expressionS *, char **)); @@ -2468,6 +2469,7 @@ const pseudo_typeS md_pseudo_table[] = #ifdef OBJ_ELF { "word", s_arm_elf_cons, 4 }, { "long", s_arm_elf_cons, 4 }, + { "rel31", s_arm_rel31, 0 }, #else { "word", cons, 4}, #endif @@ -12481,12 +12483,17 @@ md_apply_fix3 (fixP, valP, seg) #ifdef OBJ_ELF case BFD_RELOC_ARM_GOT32: case BFD_RELOC_ARM_GOTOFF: + case BFD_RELOC_ARM_TARGET2: md_number_to_chars (buf, 0, 4); break; #endif case BFD_RELOC_RVA: case BFD_RELOC_32: + case BFD_RELOC_ARM_TARGET1: + case BFD_RELOC_ARM_ROSEGREL32: + case BFD_RELOC_ARM_SBREL32: + case BFD_RELOC_32_PCREL: if (fixP->fx_done || fixP->fx_pcrel) md_number_to_chars (buf, value, 4); #ifdef OBJ_ELF @@ -12499,6 +12506,20 @@ md_apply_fix3 (fixP, valP, seg) break; #ifdef OBJ_ELF + case BFD_RELOC_ARM_PREL31: + if (fixP->fx_done || fixP->fx_pcrel) + { + newval = md_chars_to_number (buf, 4) & 0x80000000; + if ((value ^ (value >> 1)) & 0x40000000) + { + as_bad_where (fixP->fx_file, fixP->fx_line, + _("rel31 relocation overflow")); + } + newval |= value & 0x7fffffff; + md_number_to_chars (buf, newval, 4); + } + break; + case BFD_RELOC_ARM_PLT32: /* It appears the instruction is fully prepared at this point. */ break; @@ -12774,6 +12795,11 @@ tc_gen_reloc (section, fixp) case BFD_RELOC_ARM_GOT32: case BFD_RELOC_ARM_GOTOFF: case BFD_RELOC_ARM_PLT32: + case BFD_RELOC_ARM_TARGET1: + case BFD_RELOC_ARM_ROSEGREL32: + case BFD_RELOC_ARM_SBREL32: + case BFD_RELOC_ARM_PREL31: + case BFD_RELOC_ARM_TARGET2: code = fixp->fx_r_type; break; #endif @@ -13274,6 +13300,7 @@ static struct arm_cpu_option_table arm_c {"arm7500fe", ARM_ARCH_V3, FPU_ARCH_FPA}, {"arm7t", ARM_ARCH_V4T, FPU_ARCH_FPA}, {"arm7tdmi", ARM_ARCH_V4T, FPU_ARCH_FPA}, + {"arm7tdmi-s", ARM_ARCH_V4T, FPU_ARCH_FPA}, {"arm8", ARM_ARCH_V4, FPU_ARCH_FPA}, {"arm810", ARM_ARCH_V4, FPU_ARCH_FPA}, {"strongarm", ARM_ARCH_V4, FPU_ARCH_FPA}, @@ -13293,6 +13320,7 @@ static struct arm_cpu_option_table arm_c {"arm9e", ARM_ARCH_V5TE, FPU_ARCH_VFP_V2}, {"arm926ej", ARM_ARCH_V5TEJ, FPU_ARCH_VFP_V2}, {"arm926ejs", ARM_ARCH_V5TEJ, FPU_ARCH_VFP_V2}, + {"arm926ej-s", ARM_ARCH_V5TEJ, FPU_ARCH_VFP_V2}, {"arm946e-r0", ARM_ARCH_V5TExP, FPU_ARCH_VFP_V2}, {"arm946e", ARM_ARCH_V5TE, FPU_ARCH_VFP_V2}, {"arm966e-r0", ARM_ARCH_V5TExP, FPU_ARCH_VFP_V2}, @@ -13303,8 +13331,11 @@ static struct arm_cpu_option_table arm_c {"arm1020t", ARM_ARCH_V5T, FPU_ARCH_VFP_V1}, {"arm1020e", ARM_ARCH_V5TE, FPU_ARCH_VFP_V2}, {"arm1026ejs", ARM_ARCH_V5TE, FPU_ARCH_VFP_V2}, + {"arm1026ej-s", ARM_ARCH_V5TE, FPU_ARCH_VFP_V2}, {"arm1136js", ARM_ARCH_V6, FPU_NONE}, + {"arm1136j-s", ARM_ARCH_V6, FPU_NONE}, {"arm1136jfs", ARM_ARCH_V6, FPU_ARCH_VFP_V2}, + {"arm1136jf-s", ARM_ARCH_V6, FPU_ARCH_VFP_V2}, /* ??? XSCALE is really an architecture. */ {"xscale", ARM_ARCH_XSCALE, FPU_ARCH_VFP_V2}, /* ??? iwmmxt is not a processor. */ @@ -13393,6 +13424,7 @@ static struct arm_fpu_option_table arm_f {"arm1020t", FPU_ARCH_VFP_V1}, {"arm1020e", FPU_ARCH_VFP_V2}, {"arm1136jfs", FPU_ARCH_VFP_V2}, + {"arm1136jf-s", FPU_ARCH_VFP_V2}, {"maverick", FPU_ARCH_MAVERICK}, {NULL, 0} }; @@ -13693,7 +13725,6 @@ md_parse_option (c, arg) } } - as_bad (_("unrecognized option `-%c%s'"), c, arg ? arg : ""); return 0; } @@ -14079,7 +14110,8 @@ arm_fix_adjustable (fixP) /* Don't allow symbols to be discarded on GOT related relocs. */ if (fixP->fx_r_type == BFD_RELOC_ARM_PLT32 || fixP->fx_r_type == BFD_RELOC_ARM_GOT32 - || fixP->fx_r_type == BFD_RELOC_ARM_GOTOFF) + || fixP->fx_r_type == BFD_RELOC_ARM_GOTOFF + || fixP->fx_r_type == BFD_RELOC_ARM_TARGET2) return 0; return 1; @@ -14088,6 +14120,11 @@ arm_fix_adjustable (fixP) const char * elf32_arm_target_format () { +#ifdef TE_SYMBIAN + return (target_big_endian + ? "elf32-bigarm-symbian" + : "elf32-littlearm-symbian"); +#else if (target_big_endian) { if (target_oabi) @@ -14102,6 +14139,7 @@ elf32_arm_target_format () else return "elf32-littlearm"; } +#endif } void @@ -14132,6 +14170,9 @@ arm_parse_reloc () /* ScottB: Jan 30, 1998 - Added support for parsing "var(PLT)" branch instructions generated by GCC for PLT relocs. */ MAP ("(plt)", BFD_RELOC_ARM_PLT32), + MAP ("(target1)", BFD_RELOC_ARM_TARGET1), + MAP ("(sbrel)", BFD_RELOC_ARM_SBREL32), + MAP ("(target2)", BFD_RELOC_ARM_TARGET2), { NULL, 0, BFD_RELOC_UNUSED } #undef MAP }; @@ -14206,6 +14247,50 @@ s_arm_elf_cons (nbytes) demand_empty_rest_of_line (); } + +/* Parse a .rel31 directive. */ + +static void +s_arm_rel31 (int ignored ATTRIBUTE_UNUSED) +{ + expressionS exp; + char *p; + valueT highbit; + + SKIP_WHITESPACE (); + + highbit = 0; + if (*input_line_pointer == '1') + highbit = 0x80000000; + else if (*input_line_pointer != '0') + as_bad (_("expected 0 or 1")); + + input_line_pointer++; + SKIP_WHITESPACE (); + if (*input_line_pointer != ',') + as_bad (_("missing comma")); + input_line_pointer++; + +#ifdef md_flush_pending_output + md_flush_pending_output (); +#endif + +#ifdef md_cons_align + md_cons_align (4); +#endif + + mapping_state (MAP_DATA); + + expression (&exp); + + p = frag_more (4); + md_number_to_chars (p, highbit, 4); + fix_new_arm (frag_now, p - frag_now->fr_literal, 4, &exp, 1, + BFD_RELOC_ARM_PREL31); + + demand_empty_rest_of_line (); +} + #endif /* OBJ_ELF */ /* This is called from HANDLE_ALIGN in write.c. Fill in the contents diff -uprN binutils-2.15.91.0.2/gas/config/tc-avr.c binutils-2.15.92.0.2/gas/config/tc-avr.c --- binutils-2.15.91.0.2/gas/config/tc-avr.c 2002-12-16 12:22:52.000000000 -0800 +++ binutils-2.15.92.0.2/gas/config/tc-avr.c 2004-09-15 12:05:03.000000000 -0700 @@ -90,20 +90,26 @@ static struct mcu_type_s mcu_types[] = {"at43usb320",AVR_ISA_M103, bfd_mach_avr3}, {"at43usb355",AVR_ISA_M603, bfd_mach_avr3}, {"at76c711", AVR_ISA_M603, bfd_mach_avr3}, + {"atmega48", AVR_ISA_M8, bfd_mach_avr4}, {"atmega8", AVR_ISA_M8, bfd_mach_avr4}, {"atmega83", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8535 */ {"atmega85", AVR_ISA_M8, bfd_mach_avr4}, /* XXX -> m8 */ + {"atmega88", AVR_ISA_M8, bfd_mach_avr4}, {"atmega8515",AVR_ISA_M8, bfd_mach_avr4}, {"atmega8535",AVR_ISA_M8, bfd_mach_avr4}, + {"attiny13", AVR_ISA_TINY2, bfd_mach_avr4}, + {"attiny2313",AVR_ISA_TINY2, bfd_mach_avr4}, {"atmega16", AVR_ISA_M323, bfd_mach_avr5}, {"atmega161", AVR_ISA_M161, bfd_mach_avr5}, {"atmega162", AVR_ISA_M323, bfd_mach_avr5}, {"atmega163", AVR_ISA_M161, bfd_mach_avr5}, + {"atmega168", AVR_ISA_M323, bfd_mach_avr5}, {"atmega169", AVR_ISA_M323, bfd_mach_avr5}, {"atmega32", AVR_ISA_M323, bfd_mach_avr5}, {"atmega323", AVR_ISA_M323, bfd_mach_avr5}, {"atmega64", AVR_ISA_M323, bfd_mach_avr5}, {"atmega128", AVR_ISA_M128, bfd_mach_avr5}, + {"at90can128",AVR_ISA_M128, bfd_mach_avr5}, {"at94k", AVR_ISA_94K, bfd_mach_avr5}, {NULL, 0, 0} }; @@ -531,7 +537,8 @@ avr_operands (opcode, line) /* Warn if the previous opcode was cpse/sbic/sbis/sbrc/sbrs (AVR core bug, fixed in the newer devices). */ - if (!(avr_opt.no_skip_bug || (avr_mcu->isa & AVR_ISA_MUL)) + if (!(avr_opt.no_skip_bug || + (avr_mcu->isa & (AVR_ISA_MUL | AVR_ISA_MOVW))) && AVR_SKIP_P (prev)) as_warn (_("skipping two-word instruction")); diff -uprN binutils-2.15.91.0.2/gas/config/tc-crx.c binutils-2.15.92.0.2/gas/config/tc-crx.c --- binutils-2.15.91.0.2/gas/config/tc-crx.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-crx.c 2004-09-27 13:46:07.000000000 -0700 @@ -28,7 +28,6 @@ #include "opcode/crx.h" #include "elf/crx.h" -/* Include do define ULONG_MAX, LONG_MAX, LONG_MIN. */ #include /* Word is considered here as a 16-bit unsigned short int. */ @@ -123,7 +122,8 @@ const char FLT_CHARS[] = "f'"; /* Target-specific multicharacter options, not const-declared at usage. */ const char *md_shortopts = ""; -struct option md_longopts[] = { +struct option md_longopts[] = +{ {NULL, no_argument, NULL, 0} }; size_t md_longopts_size = sizeof (md_longopts); @@ -166,7 +166,7 @@ static int getbits (operand static int get_number_of_operands (void); static void get_operandtype (char *, int, ins *); static int gettrap (char *); -static void handle_pi_insn (char *); +static void handle_LoadStor (char *); static int get_cinv_parameters (char *); static unsigned long getconstant (unsigned long, int); static int getreg_image (reg); @@ -282,7 +282,7 @@ reset_vars (char *op, ins *crx_ins) processing_arg_number = relocatable = size_was_set = signflag = post_inc_mode = cst4flag = 0; - memset (&output_opcode, '\0', sizeof (output_opcode)); + memset (& output_opcode, '\0', sizeof (output_opcode)); /* Memset the 'signflag' field in every argument. */ for (i = 0; i < MAX_OPERANDS; i++) @@ -328,7 +328,7 @@ tc_gen_reloc (asection *section ATTRIBUT arelent * reloc; reloc = xmalloc (sizeof (arelent)); - reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); + reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy); reloc->address = fixP->fx_frag->fr_address + fixP->fx_where; reloc->addend = fixP->fx_offset; @@ -340,7 +340,7 @@ tc_gen_reloc (asection *section ATTRIBUT /* Keep the current difference in the addend. */ reloc->addend = (S_GET_VALUE (fixP->fx_addsy) - S_GET_VALUE (fixP->fx_subsy) + fixP->fx_offset); - + switch (fixP->fx_r_type) { case BFD_RELOC_CRX_NUM8: @@ -879,17 +879,25 @@ process_label_constant (char *str, ins * switch (crx_ins->exp.X_op) { + case O_big: + case O_absent: + /* Missing or bad expr becomes absolute 0. */ + as_bad (_("missing or invalid displacement expression `%s' taken as 0"), + str); + crx_ins->exp.X_op = O_constant; + crx_ins->exp.X_add_number = 0; + crx_ins->exp.X_add_symbol = (symbolS *) 0; + crx_ins->exp.X_op_symbol = (symbolS *) 0; + break; + case O_constant: crx_ins->arg[number].constant = crx_ins->exp.X_add_number; constant_val = crx_ins->exp.X_add_number; if ((IS_INSN_TYPE (CMPBR_INS) || IS_INSN_TYPE (COP_BRANCH_INS)) && number == 2) { - /* This variable causes a warning (is to be handles by string - type implementation). */ LONGLONG temp64 = 0; - - char ptr[20]; + char ptr; char temp_str[30]; unsigned int jump_value = 0; int BR_MASK = 0, BR_SIZE = 0; @@ -900,27 +908,7 @@ process_label_constant (char *str, ins * temp_str[1] = '\0'; } strncat (temp_str, str, strlen (str)); - temp64 = strtol (temp_str, (char **) &ptr,0); - /* This is not accurate : - Actually overflow is allowed here (see comment below). - Originally the call was to 'strtoll', which isn't - identified by MSVC. */ - if ((temp64 == LONG_MAX) || (temp64 == LONG_MIN)) - as_bad (_("Overflow in displacement in Instruction `%s'"), - ins_parse); - - /* If br *+x - It will be returned as '0' padded with 'x' uptill 64 bits - If br *-x - It will be returned as sign extended form - - Then search for validity of representation - Check whether upper 38 bits are all zeroes or all ones - If not report error. */ - if (!(((temp64 & UPPER31_MASK) == UPPER31_MASK) - || ((temp64 & UPPER31_MASK) == 0x0))) - as_bad (_("Overflow in displacement in Instruction `%s'"), - ins_parse); + temp64 = strtoll (temp_str, (char **) &ptr,0); if (temp64 % 2 != 0) as_bad (_("Odd Offset in displacement in Instruction `%s'"), @@ -955,7 +943,7 @@ process_label_constant (char *str, ins * || IS_INSN_TYPE (DCR_BRANCH_INS)) { LONGLONG temp64 = 0; - char ptr[20]; + char ptr; char temp_str[30]; unsigned int jump_value = 0; int BR_MASK = 0, BR_SIZE = 0; @@ -967,27 +955,7 @@ process_label_constant (char *str, ins * temp_str[1] = '\0'; } strncat (temp_str, str, strlen (str)); - temp64 = strtol (temp_str, (char **) &ptr,0); - /* This is not accurate : - Actually overflow is allowed here (see comment below). - Originally the call was to 'strtoll', which isn't - identified by MSVC. */ - if ((temp64 == LONG_MAX) || (temp64 == LONG_MIN)) - as_bad (_("Overflow in displacement in Instruction `%s'"), - ins_parse); - - /* If br *+x - It will be returned as '0' padded with 'x' uptill 64 bits - If br *-x - It will be returned as sign extended form - - Then search for validity of representation - Check whether upper 31 bits are all zeroes or all ones - If not report error. */ - if (!(((temp64 & UPPER31_MASK) == UPPER31_MASK) - || ((temp64 & UPPER31_MASK) == 0x0))) - as_bad (_("Overflow in displacement in Instruction `%s'"), - ins_parse); + temp64 = strtoll (temp_str, (char **) &ptr,0); if (temp64 % 2 != 0) as_bad (_("Odd Offset in displacement in Instruction `%s'"), @@ -1002,9 +970,8 @@ process_label_constant (char *str, ins * BR_MASK = 0xFF; BR_SIZE = 8; } - else - if (((jump_value & 0xFFFF0000) == 0xFFFF0000) - || ((jump_value & 0xFFFF0000) == 0x0)) + else if (((jump_value & 0xFFFF0000) == 0xFFFF0000) + || ((jump_value & 0xFFFF0000) == 0x0)) { BR_MASK = 0xFFFF; BR_SIZE = 16; @@ -1069,28 +1036,24 @@ process_label_constant (char *str, ins * ~(crx_ins->arg[number].constant) + 1; if (IS_INSN_TYPE (ARITH_INS) || IS_INSN_TYPE (ARITH_BYTE_INS)) { - char ptr[30]; + char ptr; LONGLONG temp64; - /* Tomer - Originally the call was to 'strtoull', which isn't - identified by MSVC. Instead we check for overflow. */ - temp64 = strtoul (str, (char **) &ptr, 0); + temp64 = strtoull (str, (char **) &ptr, 0); if (cnt < 4) crx_ins->arg[number].size = 5; if (IS_INSN_TYPE (ARITH_INS)) { if (crx_ins->arg[number].size > 32 - /* Tomer - check for overflow. */ - || (temp64 == ULONG_MAX)) + || (temp64 > ULONG_MAX)) { if (crx_ins->arg[number].size > 32) as_bad (_("In Instruction `%s': Immediate size is \ %lu bits cannot be accomodated"), ins_parse, cnt + 1); - /* Tomer - check for overflow. */ - if (temp64 == ULONG_MAX) + if (temp64 > ULONG_MAX) as_bad (_("Value given more than 32 bits in \ Instruction `%s'"), ins_parse); } @@ -1191,6 +1154,7 @@ process_label_constant (char *str, ins * case O_symbol: case O_subtract: crx_ins->arg[number].constant = 0; + crx_ins->rtype = BFD_RELOC_NONE; relocatable = 1; switch (crx_ins->arg[number].type) @@ -1536,7 +1500,7 @@ get_operandtype (char *operand, int numb { crx_ins->arg[number].type = arg_cr; crx_ins->arg[number].constant = 0; - set_cons_rparams (operand, crx_ins, number); + set_cons_rparams (temp_operand, crx_ins, number); get_number_of_bits (crx_ins, number); if ((! strneq (instruction->mnemonic, "load", 4)) && (! strneq (instruction->mnemonic, "stor", 4))) @@ -1696,22 +1660,33 @@ gettrap (char *s) const trap_entry *trap; for (trap = crx_traps; trap < (crx_traps + NUMTRAPS); trap++) - if (streq (trap->name, s)) + if (strcasecmp (trap->name, s) == 0) return trap->entry; as_bad (_("Unknown exception: `%s'"), s); return 0; } -/* Post-Increment instructions are a sub-group within load/stor instruction - groups. Therefore, when parsing a Post-Increment insn, we have to advance - the instruction pointer to the start of that sub-group. */ +/* Post-Increment instructions, as well as Store-Immediate instructions, are a + sub-group within load/stor instruction groups. + Therefore, when parsing a Post-Increment/Store-Immediate insn, we have to + advance the instruction pointer to the start of that sub-group (that is, up + to the first instruction of that type). + Otherwise, the insn will be mistakenly identified as of type LD_STOR_INS. */ static void -handle_pi_insn (char *operands) +handle_LoadStor (char *operands) { + /* Assuming Store-Immediate insn has the following format : + 'MNEMONIC $DISP, ...' (e.g. 'storb $1, 12(r5)'). + STOR_IMM_INS are the only store insns containing a dollar sign ($). */ + if (strstr (operands, "$") != NULL) + while (! IS_INSN_TYPE (STOR_IMM_INS)) + instruction++; + /* Assuming Post-Increment insn has the following format : - 'MNEMONIC DISP(REG)+, REG' (e.g. 'loadw 12(r5)+, r6'). */ + 'MNEMONIC DISP(REG)+, REG' (e.g. 'loadw 12(r5)+, r6'). + LD_STOR_INS_INC are the only store insns containing a plus sign (+). */ if (strstr (operands, ")+") != NULL) while (! IS_INSN_TYPE (LD_STOR_INS_INC)) instruction++; @@ -1736,8 +1711,8 @@ parse_insn (ins *insn, char *operands) } /* Handle load/stor post-increment instructions. */ - if (IS_INSN_TYPE (LD_STOR_INS) || IS_INSN_TYPE (STOR_IMM_INS)) - handle_pi_insn (operands); + if (IS_INSN_TYPE (LD_STOR_INS)) + handle_LoadStor (operands); if (operands != NULL) parse_operands (insn, operands); diff -uprN binutils-2.15.91.0.2/gas/config/tc-hppa.h binutils-2.15.92.0.2/gas/config/tc-hppa.h --- binutils-2.15.91.0.2/gas/config/tc-hppa.h 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.92.0.2/gas/config/tc-hppa.h 2004-09-15 12:05:03.000000000 -0700 @@ -55,13 +55,17 @@ #endif #else /* TARGET_ARCH_SIZE == 32 */ #include "bfd/elf32-hppa.h" -#if defined (TE_LINUX) || defined (TE_NetBSD) +#if defined (TE_LINUX) #define TARGET_FORMAT "elf32-hppa-linux" #else +#if defined (TE_NetBSD) +#define TARGET_FORMAT "elf32-hppa-netbsd" +#else #define TARGET_FORMAT "elf32-hppa" #endif #endif #endif +#endif #ifdef OBJ_SOM #include "bfd/som.h" diff -uprN binutils-2.15.91.0.2/gas/config/tc-ia64.c binutils-2.15.92.0.2/gas/config/tc-ia64.c --- binutils-2.15.91.0.2/gas/config/tc-ia64.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-ia64.c 2004-09-27 13:46:07.000000000 -0700 @@ -1,5 +1,6 @@ /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture. - Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of GAS, the GNU Assembler. @@ -697,6 +698,12 @@ static struct struct label_prologue_count * saved_prologue_counts; } unwind; +/* The input value is a negated offset from psp, and specifies an address + psp - offset. The encoded value is psp + 16 - (4 * offset). Thus we + must add 16 and divide by 4 to get the encoded value. */ + +#define ENCODED_PSP_OFFSET(OFFSET) (((OFFSET) + 16) / 4) + typedef void (*vbyte_func) PARAMS ((int, char *, char *)); /* Forward declarations: */ @@ -995,12 +1002,6 @@ ia64_elf_section_type (str, len) if (STREQ ("unwind")) return SHT_IA_64_UNWIND; - if (STREQ ("init_array")) - return SHT_INIT_ARRAY; - - if (STREQ ("fini_array")) - return SHT_FINI_ARRAY; - return -1; #undef STREQ } @@ -1815,7 +1816,7 @@ output_rp_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (rp_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -1849,7 +1850,7 @@ output_pfs_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (pfs_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -1883,7 +1884,7 @@ output_preds_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (preds_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -1960,7 +1961,7 @@ output_spill_base (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (spill_base); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -1985,7 +1986,7 @@ output_unat_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (unat_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2019,7 +2020,7 @@ output_lc_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (lc_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2053,7 +2054,7 @@ output_fpsr_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (fpsr_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2094,7 +2095,7 @@ output_priunat_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (priunat_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2128,7 +2129,7 @@ output_bsp_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (bsp_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2162,7 +2163,7 @@ output_bspstore_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (bspstore_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2196,7 +2197,7 @@ output_rnat_psprel (offset) unsigned int offset; { unw_rec_list *ptr = alloc_record (rnat_psprel); - ptr->r.record.p.pspoff = offset / 4; + ptr->r.record.p.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2253,7 +2254,7 @@ output_spill_psprel (ab, reg, offset) unw_rec_list *ptr = alloc_record (spill_psprel); ptr->r.record.x.ab = ab; ptr->r.record.x.reg = reg; - ptr->r.record.x.pspoff = offset / 4; + ptr->r.record.x.pspoff = ENCODED_PSP_OFFSET (offset); return ptr; } @@ -2280,7 +2281,7 @@ output_spill_psprel_p (ab, reg, offset, unw_rec_list *ptr = alloc_record (spill_psprel_p); ptr->r.record.x.ab = ab; ptr->r.record.x.reg = reg; - ptr->r.record.x.pspoff = offset / 4; + ptr->r.record.x.pspoff = ENCODED_PSP_OFFSET (offset); ptr->r.record.x.qp = predicate; return ptr; } @@ -3297,7 +3298,7 @@ static char *special_linkonce_name[] = }; static void -start_unwind_section (const segT text_seg, int sec_index) +start_unwind_section (const segT text_seg, int sec_index, int linkonce_empty) { /* Use a slightly ugly scheme to derive the unwind section names from @@ -3359,6 +3360,8 @@ start_unwind_section (const segT text_se prefix = special_linkonce_name [sec_index - SPECIAL_SECTION_UNWIND]; suffix += sizeof (".gnu.linkonce.t.") - 1; } + else if (linkonce_empty) + return; prefix_len = strlen (prefix); suffix_len = strlen (suffix); @@ -3444,7 +3447,7 @@ generate_unwind_image (const segT text_s expressionS exp; bfd_reloc_code_real_type reloc; - start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO); + start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 0); /* Make sure the section has 4 byte alignment for ILP32 and 8 byte alignment for LP64. */ @@ -3485,6 +3488,8 @@ generate_unwind_image (const segT text_s unwind.personality_routine = 0; } } + else + start_unwind_section (text_seg, SPECIAL_SECTION_UNWIND_INFO, 1); free_saved_prologue_counts (); unwind.list = unwind.tail = unwind.current_entry = NULL; @@ -4164,7 +4169,7 @@ dot_endp (dummy) subseg_set (md.last_text_seg, 0); unwind.proc_end = expr_build_dot (); - start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND); + start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 0); /* Make sure that section has 4 byte alignment for ILP32 and 8 byte alignment for LP64. */ @@ -4204,6 +4209,9 @@ dot_endp (dummy) bytes_per_address); } + else + start_unwind_section (saved_seg, SPECIAL_SECTION_UNWIND, 1); + subseg_set (saved_seg, saved_subseg); /* Parse names of main and alternate entry points and set symbol sizes. */ diff -uprN binutils-2.15.91.0.2/gas/config/tc-m68k.c binutils-2.15.92.0.2/gas/config/tc-m68k.c --- binutils-2.15.91.0.2/gas/config/tc-m68k.c 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-m68k.c 2004-09-15 12:05:03.000000000 -0700 @@ -7095,18 +7095,15 @@ md_parse_option (int c, char *arg) if (!strcmp (arg, archs[i].name)) break; if (i == n_archs) - { - unknown: - as_bad (_("unrecognized option `%s'"), oarg); - return 0; - } + return 0; + arch = archs[i].arch; if (arch == m68881) no_68881 = 1; else if (arch == m68851) no_68851 = 1; else - goto unknown; + return 0; } else { @@ -7119,6 +7116,7 @@ md_parse_option (int c, char *arg) if (!strcmp (arg, archs[i].name)) { unsigned long arch = archs[i].arch; + if (cpu_of_arch (arch)) /* It's a cpu spec. */ { diff -uprN binutils-2.15.91.0.2/gas/config/tc-mips.c binutils-2.15.92.0.2/gas/config/tc-mips.c --- binutils-2.15.91.0.2/gas/config/tc-mips.c 2004-07-27 21:36:10.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-mips.c 2004-09-15 12:05:03.000000000 -0700 @@ -2711,6 +2711,7 @@ append_insn (struct mips_cl_insn *ip, ex prev_insn_reloc_type[1] = BFD_RELOC_UNUSED; prev_insn_reloc_type[2] = BFD_RELOC_UNUSED; prev_insn_extended = 0; + prev_insn_is_delay_slot = 1; } else { diff -uprN binutils-2.15.91.0.2/gas/config/tc-mmix.c binutils-2.15.92.0.2/gas/config/tc-mmix.c --- binutils-2.15.91.0.2/gas/config/tc-mmix.c 2004-01-14 13:07:45.000000000 -0800 +++ binutils-2.15.92.0.2/gas/config/tc-mmix.c 2004-09-15 12:05:03.000000000 -0700 @@ -1,5 +1,5 @@ /* tc-mmix.c -- Assembler for Don Knuth's MMIX. - Copyright (C) 2001, 2002, 2003 Free Software Foundation. + Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation. This file is part of GAS, the GNU Assembler. @@ -305,14 +305,14 @@ struct obstack mmix_sym_obstack; long long is 64 bits on the host). */ #ifdef LLONG_MIN #define PUSHJSTUB_MIN LLONG_MIN -#elsif defined (LONG_LONG_MIN) +#elif defined (LONG_LONG_MIN) #define PUSHJSTUB_MIN LONG_LONG_MIN #else #define PUSHJSTUB_MIN LONG_MIN #endif #ifdef LLONG_MAX #define PUSHJSTUB_MAX LLONG_MAX -#elsif defined (LONG_LONG_MAX) +#elif defined (LONG_LONG_MAX) #define PUSHJSTUB_MAX LONG_LONG_MAX #else #define PUSHJSTUB_MAX LONG_MAX diff -uprN binutils-2.15.91.0.2/gas/config/tc-msp430.c binutils-2.15.92.0.2/gas/config/tc-msp430.c --- binutils-2.15.91.0.2/gas/config/tc-msp430.c 2004-07-27 21:36:10.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-msp430.c 2004-09-15 12:05:03.000000000 -0700 @@ -42,30 +42,67 @@ extern LITTLENUM_TYPE generic_bignum[]; static struct hash_control *msp430_hash; -static unsigned int msp430_operands - PARAMS ((struct msp430_opcode_s *, char *)); -static int msp430_srcoperand - PARAMS ((struct msp430_operand_s *, char *, int, int *)); -static int msp430_dstoperand - PARAMS ((struct msp430_operand_s *, char *, int)); -static char *parse_exp - PARAMS ((char *, expressionS *)); -static inline char *skip_space - PARAMS ((char *)); -static int check_reg - PARAMS ((char *)); -static void msp430_set_arch - PARAMS ((int)); -static void show_mcu_list - PARAMS ((FILE *)); -static void del_spaces - PARAMS ((char *)); +/* Relaxations. */ +#define STATE_UNCOND_BRANCH 1 /* jump */ +#define STATE_NOOV_BRANCH 3 /* bltn */ +#define STATE_SIMPLE_BRANCH 2 /* bne, beq, etc... */ +#define STATE_EMUL_BRANCH 4 + +#define CNRL 2 +#define CUBL 4 +#define CNOL 8 +#define CSBL 6 +#define CEBL 4 + +/* Length. */ +#define STATE_BITS10 1 /* wild guess. short jump */ +#define STATE_WORD 2 /* 2 bytes pc rel. addr. more */ +#define STATE_UNDEF 3 /* cannot handle this yet. convert to word mode */ + +#define ENCODE_RELAX(what,length) (((what) << 2) + (length)) +#define RELAX_STATE(s) ((s) & 3) +#define RELAX_LEN(s) ((s) >> 2) +#define RELAX_NEXT(a,b) ENCODE_RELAX (a, b + 1) + +relax_typeS md_relax_table[] = +{ + /* Unused. */ + {1, 1, 0, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + {1, 1, 0, 0}, + + /* Unconditional jump. */ + {1, 1, 8, 5}, + {1024, -1024, CNRL, RELAX_NEXT (STATE_UNCOND_BRANCH, STATE_BITS10)}, /* state 10 bits displ */ + {0, 0, CUBL, RELAX_NEXT (STATE_UNCOND_BRANCH, STATE_WORD)}, /* state word */ + {1, 1, CUBL, 0}, /* state undef */ + + /* Simple branches. */ + {0, 0, 8, 9}, + {1024, -1024, CNRL, RELAX_NEXT (STATE_SIMPLE_BRANCH, STATE_BITS10)}, /* state 10 bits displ */ + {0, 0, CSBL, RELAX_NEXT (STATE_SIMPLE_BRANCH, STATE_WORD)}, /* state word */ + {1, 1, CSBL, 0}, + + /* blt no overflow branch. */ + {1, 1, 8, 13}, + {1024, -1024, CNRL, RELAX_NEXT (STATE_NOOV_BRANCH, STATE_BITS10)}, /* state 10 bits displ */ + {0, 0, CNOL, RELAX_NEXT (STATE_NOOV_BRANCH, STATE_WORD)}, /* state word */ + {1, 1, CNOL, 0}, + + /* Emulated branches. */ + {1, 1, 8, 17}, + {1020, -1020, CEBL, RELAX_NEXT (STATE_EMUL_BRANCH, STATE_BITS10)}, /* state 10 bits displ */ + {0, 0, CNOL, RELAX_NEXT (STATE_EMUL_BRANCH, STATE_WORD)}, /* state word */ + {1, 1, CNOL, 0} +}; + #define MAX_OP_LEN 256 struct mcu_type_s { - char *name; + char * name; int isa; int mach; }; @@ -90,53 +127,53 @@ struct mcu_type_s static struct mcu_type_s mcu_types[] = { - {"msp1", MSP430_ISA_11, bfd_mach_msp11}, - {"msp2", MSP430_ISA_14, bfd_mach_msp14}, - {"msp430x110", MSP430_ISA_11, bfd_mach_msp11}, - {"msp430x112", MSP430_ISA_11, bfd_mach_msp11}, - {"msp430x1101",MSP430_ISA_110, bfd_mach_msp110}, - {"msp430x1111",MSP430_ISA_110, bfd_mach_msp110}, - {"msp430x1121",MSP430_ISA_110, bfd_mach_msp110}, - {"msp430x1122",MSP430_ISA_11, bfd_mach_msp110}, - {"msp430x1132",MSP430_ISA_11, bfd_mach_msp110}, - - {"msp430x122", MSP430_ISA_12, bfd_mach_msp12}, - {"msp430x123", MSP430_ISA_12, bfd_mach_msp12}, - {"msp430x1222",MSP430_ISA_12, bfd_mach_msp12}, - {"msp430x1232",MSP430_ISA_12, bfd_mach_msp12}, - - {"msp430x133", MSP430_ISA_13, bfd_mach_msp13}, - {"msp430x135", MSP430_ISA_13, bfd_mach_msp13}, - {"msp430x1331",MSP430_ISA_13, bfd_mach_msp13}, - {"msp430x1351",MSP430_ISA_13, bfd_mach_msp13}, - {"msp430x147", MSP430_ISA_14, bfd_mach_msp14}, - {"msp430x148", MSP430_ISA_14, bfd_mach_msp14}, - {"msp430x149", MSP430_ISA_14, bfd_mach_msp14}, - - {"msp430x155", MSP430_ISA_15, bfd_mach_msp15}, - {"msp430x156", MSP430_ISA_15, bfd_mach_msp15}, - {"msp430x157", MSP430_ISA_15, bfd_mach_msp15}, - {"msp430x167", MSP430_ISA_16, bfd_mach_msp16}, - {"msp430x168", MSP430_ISA_16, bfd_mach_msp16}, - {"msp430x169", MSP430_ISA_16, bfd_mach_msp16}, + {"msp1", MSP430_ISA_11, bfd_mach_msp11}, + {"msp2", MSP430_ISA_14, bfd_mach_msp14}, + {"msp430x110", MSP430_ISA_11, bfd_mach_msp11}, + {"msp430x112", MSP430_ISA_11, bfd_mach_msp11}, + {"msp430x1101", MSP430_ISA_110, bfd_mach_msp110}, + {"msp430x1111", MSP430_ISA_110, bfd_mach_msp110}, + {"msp430x1121", MSP430_ISA_110, bfd_mach_msp110}, + {"msp430x1122", MSP430_ISA_11, bfd_mach_msp110}, + {"msp430x1132", MSP430_ISA_11, bfd_mach_msp110}, + + {"msp430x122", MSP430_ISA_12, bfd_mach_msp12}, + {"msp430x123", MSP430_ISA_12, bfd_mach_msp12}, + {"msp430x1222", MSP430_ISA_12, bfd_mach_msp12}, + {"msp430x1232", MSP430_ISA_12, bfd_mach_msp12}, + + {"msp430x133", MSP430_ISA_13, bfd_mach_msp13}, + {"msp430x135", MSP430_ISA_13, bfd_mach_msp13}, + {"msp430x1331", MSP430_ISA_13, bfd_mach_msp13}, + {"msp430x1351", MSP430_ISA_13, bfd_mach_msp13}, + {"msp430x147", MSP430_ISA_14, bfd_mach_msp14}, + {"msp430x148", MSP430_ISA_14, bfd_mach_msp14}, + {"msp430x149", MSP430_ISA_14, bfd_mach_msp14}, + + {"msp430x155", MSP430_ISA_15, bfd_mach_msp15}, + {"msp430x156", MSP430_ISA_15, bfd_mach_msp15}, + {"msp430x157", MSP430_ISA_15, bfd_mach_msp15}, + {"msp430x167", MSP430_ISA_16, bfd_mach_msp16}, + {"msp430x168", MSP430_ISA_16, bfd_mach_msp16}, + {"msp430x169", MSP430_ISA_16, bfd_mach_msp16}, {"msp430x1610", MSP430_ISA_16, bfd_mach_msp16}, {"msp430x1611", MSP430_ISA_16, bfd_mach_msp16}, {"msp430x1612", MSP430_ISA_16, bfd_mach_msp16}, - {"msp430x311", MSP430_ISA_31, bfd_mach_msp31}, - {"msp430x312", MSP430_ISA_31, bfd_mach_msp31}, - {"msp430x313", MSP430_ISA_31, bfd_mach_msp31}, - {"msp430x314", MSP430_ISA_31, bfd_mach_msp31}, - {"msp430x315", MSP430_ISA_31, bfd_mach_msp31}, - {"msp430x323", MSP430_ISA_32, bfd_mach_msp32}, - {"msp430x325", MSP430_ISA_32, bfd_mach_msp32}, - {"msp430x336", MSP430_ISA_33, bfd_mach_msp33}, - {"msp430x337", MSP430_ISA_33, bfd_mach_msp33}, - - {"msp430x412", MSP430_ISA_41, bfd_mach_msp41}, - {"msp430x413", MSP430_ISA_41, bfd_mach_msp41}, - {"msp430x415", MSP430_ISA_41, bfd_mach_msp41}, - {"msp430x417", MSP430_ISA_41, bfd_mach_msp41}, + {"msp430x311", MSP430_ISA_31, bfd_mach_msp31}, + {"msp430x312", MSP430_ISA_31, bfd_mach_msp31}, + {"msp430x313", MSP430_ISA_31, bfd_mach_msp31}, + {"msp430x314", MSP430_ISA_31, bfd_mach_msp31}, + {"msp430x315", MSP430_ISA_31, bfd_mach_msp31}, + {"msp430x323", MSP430_ISA_32, bfd_mach_msp32}, + {"msp430x325", MSP430_ISA_32, bfd_mach_msp32}, + {"msp430x336", MSP430_ISA_33, bfd_mach_msp33}, + {"msp430x337", MSP430_ISA_33, bfd_mach_msp33}, + + {"msp430x412", MSP430_ISA_41, bfd_mach_msp41}, + {"msp430x413", MSP430_ISA_41, bfd_mach_msp41}, + {"msp430x415", MSP430_ISA_41, bfd_mach_msp41}, + {"msp430x417", MSP430_ISA_41, bfd_mach_msp41}, {"msp430xE423", MSP430_ISA_42, bfd_mach_msp42}, {"msp430xE425", MSP430_ISA_42, bfd_mach_msp42}, @@ -150,12 +187,12 @@ static struct mcu_type_s mcu_types[] = {"msp430xG438", MSP430_ISA_43, bfd_mach_msp43}, {"msp430xG439", MSP430_ISA_43, bfd_mach_msp43}, - {"msp430x435", MSP430_ISA_43, bfd_mach_msp43}, - {"msp430x436", MSP430_ISA_43, bfd_mach_msp43}, - {"msp430x437", MSP430_ISA_43, bfd_mach_msp43}, - {"msp430x447", MSP430_ISA_44, bfd_mach_msp44}, - {"msp430x448", MSP430_ISA_44, bfd_mach_msp44}, - {"msp430x449", MSP430_ISA_44, bfd_mach_msp44}, + {"msp430x435", MSP430_ISA_43, bfd_mach_msp43}, + {"msp430x436", MSP430_ISA_43, bfd_mach_msp43}, + {"msp430x437", MSP430_ISA_43, bfd_mach_msp43}, + {"msp430x447", MSP430_ISA_44, bfd_mach_msp44}, + {"msp430x448", MSP430_ISA_44, bfd_mach_msp44}, + {"msp430x449", MSP430_ISA_44, bfd_mach_msp44}, {NULL, 0, 0} }; @@ -164,72 +201,346 @@ static struct mcu_type_s mcu_types[] = static struct mcu_type_s default_mcu = { "msp430x11", MSP430_ISA_11, bfd_mach_msp11 }; -static struct mcu_type_s *msp430_mcu = &default_mcu; +static struct mcu_type_s * msp430_mcu = & default_mcu; -const pseudo_typeS md_pseudo_table[] = +/* Profiling capability: + It is a performance hit to use gcc's profiling approach for this tiny target. + Even more -- jtag hardware facility does not perform any profiling functions. + However we've got gdb's built-in simulator where we can do anything. + Therefore my suggestion is: + + We define new section ".profiler" which holds all profiling information. + We define new pseudo operation .profiler which will instruct assembler to + add new profile entry to the object file. Profile should take place at the + present address. + + Pseudo-op format: + + .profiler flags,function_to_profile [, cycle_corrector, extra] + + where 'flags' is a combination of the following chars: + s - function Start + x - function eXit + i - function is in Init section + f - function is in Fini section + l - Library call + c - libC standard call + d - stack value Demand (saved at run-time in simulator) + I - Interrupt service routine + P - Prologue start + p - Prologue end + E - Epilogue start + e - Epilogue end + j - long Jump/ sjlj unwind + a - an Arbitrary code fragment + t - exTra parameter saved (constant value like frame size) + '""' optional: "sil" == sil + + function_to_profile - function's address + cycle_corrector - a value which should be added to the cycle + counter, zero if omitted + extra - some extra parameter, zero if omitted. + + For example: + ------------------------------ + .global fxx + .type fxx,@function + fxx: + .LFrameOffset_fxx=0x08 + .profiler "scdP", fxx ; function entry. + ; we also demand stack value to be displayed + push r11 + push r10 + push r9 + push r8 + .profiler "cdp",fxx,0, .LFrameOffset_fxx ; check stack value at this point + ; (this is a prologue end) + ; note, that spare var filled with the farme size + mov r15,r8 + .... + .profiler cdE,fxx ; check stack + pop r8 + pop r9 + pop r10 + pop r11 + .profiler xcde,fxx,3 ; exit adds 3 to the cycle counter + ret ; cause 'ret' insn takes 3 cycles + ------------------------------- + + This profiling approach does not produce any overhead and + absolutely harmless. + So, even profiled code can be uploaded to the MCU. */ +#define MSP430_PROFILER_FLAG_ENTRY 1 /* s */ +#define MSP430_PROFILER_FLAG_EXIT 2 /* x */ +#define MSP430_PROFILER_FLAG_INITSECT 4 /* i */ +#define MSP430_PROFILER_FLAG_FINISECT 8 /* f */ +#define MSP430_PROFILER_FLAG_LIBCALL 0x10 /* l */ +#define MSP430_PROFILER_FLAG_STDCALL 0x20 /* c */ +#define MSP430_PROFILER_FLAG_STACKDMD 0x40 /* d */ +#define MSP430_PROFILER_FLAG_ISR 0x80 /* I */ +#define MSP430_PROFILER_FLAG_PROLSTART 0x100 /* P */ +#define MSP430_PROFILER_FLAG_PROLEND 0x200 /* p */ +#define MSP430_PROFILER_FLAG_EPISTART 0x400 /* E */ +#define MSP430_PROFILER_FLAG_EPIEND 0x800 /* e */ +#define MSP430_PROFILER_FLAG_JUMP 0x1000 /* j */ +#define MSP430_PROFILER_FLAG_FRAGMENT 0x2000 /* a */ +#define MSP430_PROFILER_FLAG_EXTRA 0x4000 /* t */ +#define MSP430_PROFILER_FLAG_notyet 0x8000 /* ? */ + +static int +pow2value (int y) { - {"arch", msp430_set_arch, 0}, - {NULL, NULL, 0} -}; + int n = 0; + unsigned int x; -#define OPTION_MMCU 'm' + x = y; -const char *md_shortopts = "m:"; + if (!x) + return 1; -struct option md_longopts[] = + for (; x; x = x >> 1) + if (x & 1) + n++; + + return n == 1; +} + +/* Parse ordinary expression. */ + +static char * +parse_exp (char * s, expressionS * op) { - {"mmcu", required_argument, NULL, OPTION_MMCU}, - {NULL, no_argument, NULL, 0} -}; + input_line_pointer = s; + expression (op); + if (op->X_op == O_absent) + as_bad (_("missing operand")); + return input_line_pointer; +} -size_t md_longopts_size = sizeof (md_longopts); + +/* Delete spaces from s: X ( r 1 2) => X(r12). */ static void -show_mcu_list (stream) - FILE *stream; +del_spaces (char * s) { - int i; + while (*s) + { + if (ISSPACE (*s)) + { + char *m = s + 1; - fprintf (stream, _("Known MCU names:\n")); + while (ISSPACE (*m) && *m) + m++; + memmove (s, m, strlen (m) + 1); + } + else + s++; + } +} - for (i = 0; mcu_types[i].name; i++) - fprintf (stream, _("\t %s\n"), mcu_types[i].name); +static inline char * +skip_space (char * s) +{ + while (ISSPACE (*s)) + ++s; + return s; +} - fprintf (stream, "\n"); +/* Extract one word from FROM and copy it to TO. Delimeters are ",;\n" */ + +static char * +extract_operand (char * from, char * to, int limit) +{ + int size = 0; + + /* Drop leading whitespace. */ + from = skip_space (from); + + while (size < limit && *from) + { + *(to + size) = *from; + if (*from == ',' || *from == ';' || *from == '\n') + break; + from++; + size++; + } + + *(to + size) = 0; + del_spaces (to); + + from++; + + return from; } -void -md_show_usage (FILE *stream) +static void +msp430_profiler (int dummy ATTRIBUTE_UNUSED) { - fprintf (stream, - _("MSP430 options:\n" - " -mmcu=[msp430-name] select microcontroller type\n" - " msp430x110 msp430x112\n" - " msp430x1101 msp430x1111\n" - " msp430x1121 msp430x1122 msp430x1132\n" - " msp430x122 msp430x123\n" - " msp430x1222 msp430x1232\n" - " msp430x133 msp430x135\n" - " msp430x1331 msp430x1351\n" - " msp430x147 msp430x148 msp430x149\n" - " msp430x155 msp430x156 msp430x157\n" - " msp430x167 msp430x168 msp430x169\n" - " msp430x1610 msp430x1611 msp430x1612\n" - " msp430x311 msp430x312 msp430x313 msp430x314 msp430x315\n" - " msp430x323 msp430x325\n" - " msp430x336 msp430x337\n" - " msp430x412 msp430x413 msp430x415 msp430x417\n" - " msp430xE423 msp430xE425 msp430E427\n" - " msp430xW423 msp430xW425 msp430W427\n" - " msp430xG437 msp430xG438 msp430G439\n" - " msp430x435 msp430x436 msp430x437\n" - " msp430x447 msp430x448 msp430x449\n")); + char buffer[1024]; + char f[32]; + char * str = buffer; + char * flags = f; + int p_flags = 0; + char * halt; + int ops = 0; + int left; + char * s; + segT seg; + int subseg; + char * end = 0; + expressionS exp; + expressionS exp1; + + s = input_line_pointer; + end = input_line_pointer; + + while (*end && *end != '\n') + end++; + + while (*s && *s != '\n') + { + if (*s == ',') + ops++; + s++; + } - show_mcu_list (stream); + left = 3 - ops; + + if (ops < 1) + { + as_bad (_(".profiler pseudo requires at least two operands.")); + input_line_pointer = end; + return; + } + + input_line_pointer = extract_operand (input_line_pointer, flags, 32); + + while (*flags) + { + switch (*flags) + { + case '"': + break; + case 'a': + p_flags |= MSP430_PROFILER_FLAG_FRAGMENT; + break; + case 'j': + p_flags |= MSP430_PROFILER_FLAG_JUMP; + break; + case 'P': + p_flags |= MSP430_PROFILER_FLAG_PROLSTART; + break; + case 'p': + p_flags |= MSP430_PROFILER_FLAG_PROLEND; + break; + case 'E': + p_flags |= MSP430_PROFILER_FLAG_EPISTART; + break; + case 'e': + p_flags |= MSP430_PROFILER_FLAG_EPIEND; + break; + case 's': + p_flags |= MSP430_PROFILER_FLAG_ENTRY; + break; + case 'x': + p_flags |= MSP430_PROFILER_FLAG_EXIT; + break; + case 'i': + p_flags |= MSP430_PROFILER_FLAG_INITSECT; + break; + case 'f': + p_flags |= MSP430_PROFILER_FLAG_FINISECT; + break; + case 'l': + p_flags |= MSP430_PROFILER_FLAG_LIBCALL; + break; + case 'c': + p_flags |= MSP430_PROFILER_FLAG_STDCALL; + break; + case 'd': + p_flags |= MSP430_PROFILER_FLAG_STACKDMD; + break; + case 'I': + p_flags |= MSP430_PROFILER_FLAG_ISR; + break; + case 't': + p_flags |= MSP430_PROFILER_FLAG_EXTRA; + break; + default: + as_warn (_("unknown profiling flag - ignored.")); + break; + } + flags++; + } + + if (p_flags + && ( ! pow2value (p_flags & ( MSP430_PROFILER_FLAG_ENTRY + | MSP430_PROFILER_FLAG_EXIT)) + || ! pow2value (p_flags & ( MSP430_PROFILER_FLAG_PROLSTART + | MSP430_PROFILER_FLAG_PROLEND + | MSP430_PROFILER_FLAG_EPISTART + | MSP430_PROFILER_FLAG_EPIEND)) + || ! pow2value (p_flags & ( MSP430_PROFILER_FLAG_INITSECT + | MSP430_PROFILER_FLAG_FINISECT)))) + { + as_bad (_("ambigious flags combination - '.profiler' directive ignored.")); + input_line_pointer = end; + return; + } + + /* Generate temp symbol which denotes current location. */ + if (now_seg == absolute_section) /* Paranoja ? */ + { + exp1.X_op = O_constant; + exp1.X_add_number = abs_section_offset; + as_warn (_("profiling in absolute section? Hm...")); + } + else + { + exp1.X_op = O_symbol; + exp1.X_add_symbol = symbol_temp_new_now (); + exp1.X_add_number = 0; + } + + /* Generate a symbol which holds flags value. */ + exp.X_op = O_constant; + exp.X_add_number = p_flags; + + /* Save current section. */ + seg = now_seg; + subseg = now_subseg; + + /* Now go to .profiler section. */ + obj_elf_change_section (".profiler", SHT_PROGBITS, 0, 0, 0, 0, 0); + + /* Save flags. */ + emit_expr (& exp, 2); + + /* Save label value. */ + emit_expr (& exp1, 2); + + while (ops--) + { + /* Now get profiling info. */ + halt = extract_operand (input_line_pointer, str, 1024); + /* Process like ".word xxx" directive. */ + parse_exp (str, & exp); + emit_expr (& exp, 2); + input_line_pointer = halt; + } + + /* Fill the rest with zeros. */ + exp.X_op = O_constant; + exp.X_add_number = 0; + while (left--) + emit_expr (& exp, 2); + + /* Return to current section. */ + subseg_set (seg, subseg); } static char * -extract_word (char *from, char *to, int limit) +extract_word (char * from, char * to, int limit) { char *op_start; char *op_end; @@ -251,9 +562,10 @@ extract_word (char *from, char *to, int return op_end; } +#define OPTION_MMCU 'm' + static void -msp430_set_arch (dummy) - int dummy ATTRIBUTE_UNUSED; +msp430_set_arch (int dummy ATTRIBUTE_UNUSED) { char *str = (char *) alloca (32); /* 32 for good measure. */ @@ -263,10 +575,21 @@ msp430_set_arch (dummy) bfd_set_arch_mach (stdoutput, TARGET_ARCH, msp430_mcu->mach); } +static void +show_mcu_list (FILE * stream) +{ + int i; + + fprintf (stream, _("Known MCU names:\n")); + + for (i = 0; mcu_types[i].name; i++) + fprintf (stream, _("\t %s\n"), mcu_types[i].name); + + fprintf (stream, "\n"); +} + int -md_parse_option (c, arg) - int c; - char *arg; +md_parse_option (int c, char * arg) { int i; @@ -294,72 +617,62 @@ md_parse_option (c, arg) return 0; } -symbolS * -md_undefined_symbol (name) - char *name ATTRIBUTE_UNUSED; -{ - return 0; -} -static inline char * -skip_space (s) - char *s; +const pseudo_typeS md_pseudo_table[] = { - while (ISSPACE (*s)) - ++s; - return s; -} + {"arch", msp430_set_arch, 0}, + {"profiler", msp430_profiler, 0}, + {NULL, NULL, 0} +}; -/* Delete spaces from s: X ( r 1 2) => X(r12). */ +const char *md_shortopts = "m:"; -static void -del_spaces (s) - char *s; +struct option md_longopts[] = { - while (*s) - { - if (ISSPACE (*s)) - { - char *m = s + 1; - - while (ISSPACE (*m) && *m) - m++; - memmove (s, m, strlen (m) + 1); - } - else - s++; - } -} + {"mmcu", required_argument, NULL, OPTION_MMCU}, + {NULL, no_argument, NULL, 0} +}; -/* Extract one word from FROM and copy it to TO. Delimeters are ",;\n" */ +size_t md_longopts_size = sizeof (md_longopts); -static char * -extract_operand (char *from, char *to, int limit) +void +md_show_usage (FILE * stream) { - int size = 0; - - /* Drop leading whitespace. */ - from = skip_space (from); - - while (size < limit && *from) - { - *(to + size) = *from; - if (*from == ',' || *from == ';' || *from == '\n') - break; - from++; - size++; - } - - *(to + size) = 0; - del_spaces (to); + fprintf (stream, + _("MSP430 options:\n" + " -mmcu=[msp430-name] select microcontroller type\n" + " msp430x110 msp430x112\n" + " msp430x1101 msp430x1111\n" + " msp430x1121 msp430x1122 msp430x1132\n" + " msp430x122 msp430x123\n" + " msp430x1222 msp430x1232\n" + " msp430x133 msp430x135\n" + " msp430x1331 msp430x1351\n" + " msp430x147 msp430x148 msp430x149\n" + " msp430x155 msp430x156 msp430x157\n" + " msp430x167 msp430x168 msp430x169\n" + " msp430x1610 msp430x1611 msp430x1612\n" + " msp430x311 msp430x312 msp430x313 msp430x314 msp430x315\n" + " msp430x323 msp430x325\n" + " msp430x336 msp430x337\n" + " msp430x412 msp430x413 msp430x415 msp430x417\n" + " msp430xE423 msp430xE425 msp430E427\n" + " msp430xW423 msp430xW425 msp430W427\n" + " msp430xG437 msp430xG438 msp430G439\n" + " msp430x435 msp430x436 msp430x437\n" + " msp430x447 msp430x448 msp430x449\n")); - from++; + show_mcu_list (stream); +} - return from; +symbolS * +md_undefined_symbol (char * name ATTRIBUTE_UNUSED) +{ + return 0; } static char * -extract_cmd (char *from, char *to, int limit) +extract_cmd (char * from, char * to, int limit) { int size = 0; @@ -381,10 +694,7 @@ extract_cmd (char *from, char *to, int l returned, or NULL on OK. */ char * -md_atof (type, litP, sizeP) - int type; - char *litP; - int *sizeP; +md_atof (int type, char * litP, int * sizeP) { int prec; LITTLENUM_TYPE words[4]; @@ -421,18 +731,9 @@ md_atof (type, litP, sizeP) } void -md_convert_frag (abfd, sec, fragP) - bfd *abfd ATTRIBUTE_UNUSED; - asection *sec ATTRIBUTE_UNUSED; - fragS *fragP ATTRIBUTE_UNUSED; -{ - abort (); -} - -void -md_begin () +md_begin (void) { - struct msp430_opcode_s *opcode; + struct msp430_opcode_s * opcode; msp430_hash = hash_new (); for (opcode = msp430_opcodes; opcode->name; opcode++) @@ -441,391 +742,506 @@ md_begin () bfd_set_arch_mach (stdoutput, TARGET_ARCH, msp430_mcu->mach); } -void -md_assemble (str) - char *str; +static int +check_reg (char * t) { - struct msp430_opcode_s *opcode; - char cmd[32]; - unsigned int i = 0; - - str = skip_space (str); /* Skip leading spaces. */ - str = extract_cmd (str, cmd, sizeof (cmd)); + /* If this is a reg numb, str 't' must be a number from 0 - 15. */ - while (cmd[i] && i < sizeof (cmd)) - { - char a = TOLOWER (cmd[i]); - cmd[i] = a; - i++; - } + if (strlen (t) > 2 && *(t + 2) != '+') + return 1; - if (!cmd[0]) + while (*t) { - as_bad (_("can't find opcode ")); - return; + if ((*t < '0' || *t > '9') && *t != '+') + break; + t++; } - opcode = (struct msp430_opcode_s *) hash_find (msp430_hash, cmd); - - if (opcode == NULL) - { - as_bad (_("unknown opcode `%s'"), cmd); - return; - } + if (*t) + return 1; - { - char *__t = input_line_pointer; - msp430_operands (opcode, str); - input_line_pointer = __t; - } + return 0; } -/* Parse instruction operands. - Return binary opcode. */ -static unsigned int -msp430_operands (opcode, line) - struct msp430_opcode_s *opcode; - char *line; +static int +msp430_srcoperand (struct msp430_operand_s * op, + char * l, int bin, int * imm_op) { - int bin = opcode->bin_opcode; /* opcode mask. */ - int __is; - char l1[MAX_OP_LEN], l2[MAX_OP_LEN]; - char *frag; - int where; - struct msp430_operand_s op1, op2; - int res = 0; - static short ZEROS = 0; - int byte_op, imm_op; - - /* opcode is the one from opcodes table - line contains something like - [.w] @r2+, 5(R1) - or - .b @r2+, 5(R1). */ + char *__tl = l; - /* Check if byte or word operation. */ - if (*line == '.' && TOLOWER (*(line + 1)) == 'b') + /* Check if an immediate #VALUE. The hash sign should be only at the beginning! */ + if (*l == '#') { - bin |= BYTE_OPERATION; - byte_op = 1; - } - else - byte_op = 0; + char *h = l; + int vshift = -1; + int rval = 0; - /* skip .[bwBW]. */ - while (! ISSPACE (*line) && *line) - line++; + /* Check if there is: + llo(x) - least significant 16 bits, x &= 0xffff + lhi(x) - x = (x >> 16) & 0xffff, + hlo(x) - x = (x >> 32) & 0xffff, + hhi(x) - x = (x >> 48) & 0xffff + The value _MUST_ be constant expression: #hlo(1231231231). */ - if (opcode->insn_opnumb && (!*line || *line == '\n')) - { - as_bad (_("instruction %s requires %d operand(s)"), - opcode->name, opcode->insn_opnumb); - return 0; - } + *imm_op = 1; - memset (l1, 0, sizeof (l1)); - memset (l2, 0, sizeof (l2)); - memset (&op1, 0, sizeof (op1)); - memset (&op2, 0, sizeof (op2)); + if (strncasecmp (h, "#llo(", 5) == 0) + { + vshift = 0; + rval = 3; + } + else if (strncasecmp (h, "#lhi(", 5) == 0) + { + vshift = 1; + rval = 3; + } + else if (strncasecmp (h, "#hlo(", 5) == 0) + { + vshift = 2; + rval = 3; + } + else if (strncasecmp (h, "#hhi(", 5) == 0) + { + vshift = 3; + rval = 3; + } + else if (strncasecmp (h, "#lo(", 4) == 0) + { + vshift = 0; + rval = 2; + } + else if (strncasecmp (h, "#hi(", 4) == 0) + { + vshift = 1; + rval = 2; + } - imm_op = 0; + op->reg = 0; /* Reg PC. */ + op->am = 3; + op->ol = 1; /* Immediate will follow an instruction. */ + __tl = h + 1 + rval; + op->mode = OP_EXP; - switch (opcode->fmt) - { - case 0: /* Emulated. */ - switch (opcode->insn_opnumb) + parse_exp (__tl, &(op->exp)); + if (op->exp.X_op == O_constant) { - case 0: - /* Set/clear bits instructions. */ - __is = 2; - frag = frag_more (__is); - bfd_putl16 ((bfd_vma) bin, frag); - break; - case 1: - /* Something which works with destination operand. */ - line = extract_operand (line, l1, sizeof (l1)); - res = msp430_dstoperand (&op1, l1, opcode->bin_opcode); - if (res) - break; - - bin |= (op1.reg | (op1.am << 7)); - __is = 1 + op1.ol; - frag = frag_more (2 * __is); - where = frag - frag_now->fr_literal; - bfd_putl16 ((bfd_vma) bin, frag); + int x = op->exp.X_add_number; - if (op1.mode == OP_EXP) + if (vshift == 0) { - where += 2; - bfd_putl16 ((bfd_vma) ZEROS, frag + 2); - - if (op1.reg) - fix_new_exp (frag_now, where, 2, - &(op1.exp), FALSE, CHECK_RELOC_MSP430); + x = x & 0xffff; + op->exp.X_add_number = x; + } + else if (vshift == 1) + { + x = (x >> 16) & 0xffff; + op->exp.X_add_number = x; + } + else if (vshift > 1) + { + if (x < 0) + op->exp.X_add_number = -1; else - fix_new_exp (frag_now, where, 2, - &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + op->exp.X_add_number = 0; /* Nothing left. */ + x = op->exp.X_add_number; } - break; - - case 2: - { - /* Shift instruction. */ - line = extract_operand (line, l1, sizeof (l1)); - strncpy (l2, l1, sizeof (l2)); - l2[sizeof (l2) - 1] = '\0'; - res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); - res += msp430_dstoperand (&op2, l2, opcode->bin_opcode); - - if (res) - break; /* An error occurred. All warnings were done before. */ - - bin |= (op2.reg | (op1.reg << 8) | (op1.am << 4) | (op2.am << 7)); - - __is = 1 + op1.ol + op2.ol; /* insn size in words. */ - frag = frag_more (2 * __is); - where = frag - frag_now->fr_literal; - bfd_putl16 ((bfd_vma) bin, frag); - if (op1.mode == OP_EXP) - { - where += 2; /* Advance 'where' as we do not know _where_. */ - bfd_putl16 ((bfd_vma) ZEROS, frag + 2); - - if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ - fix_new_exp (frag_now, where, 2, - &(op1.exp), FALSE, CHECK_RELOC_MSP430); - else - fix_new_exp (frag_now, where, 2, - &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); - } - - if (op2.mode == OP_EXP) - { - imm_op = 0; - bfd_putl16 ((bfd_vma) ZEROS, frag + 2 + ((__is == 3) ? 2 : 0)); - - if (op2.reg) /* Not PC relative. */ - fix_new_exp (frag_now, where + 2, 2, - &(op2.exp), FALSE, CHECK_RELOC_MSP430); - else - fix_new_exp (frag_now, where + 2, 2, - &(op2.exp), TRUE, CHECK_RELOC_MSP430_PCREL); - } - break; - } - case 3: - /* Branch instruction => mov dst, r0. */ - line = extract_operand (line, l1, sizeof (l1)); - - res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); - if (res) - break; + if (op->exp.X_add_number > 65535 || op->exp.X_add_number < -32768) + { + as_bad (_("value %d out of range. Use #lo() or #hi()"), x); + return 1; + } - byte_op = 0; - imm_op = 0; + /* Now check constants. */ + /* Substitute register mode with a constant generator if applicable. */ - bin |= ((op1.reg << 8) | (op1.am << 4)); - __is = 1 + op1.ol; - frag = frag_more (2 * __is); - where = frag - frag_now->fr_literal; - bfd_putl16 ((bfd_vma) bin, frag); + x = (short) x; /* Extend sign. */ - if (op1.mode == OP_EXP) + if (x == 0) { - where += 2; - bfd_putl16 ((bfd_vma) ZEROS, frag + 2); - - if (op1.reg || (op1.reg == 0 && op1.am == 3)) - fix_new_exp (frag_now, where, 2, - &(op1.exp), FALSE, CHECK_RELOC_MSP430); - else - fix_new_exp (frag_now, where, 2, - &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + op->reg = 3; + op->am = 0; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 1) + { + op->reg = 3; + op->am = 1; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 2) + { + op->reg = 3; + op->am = 2; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == -1) + { + op->reg = 3; + op->am = 3; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 4) + { +#ifdef PUSH_1X_WORKAROUND + if (bin == 0x1200) + { + /* Remove warning as confusing. + as_warn(_("Hardware push bug workaround")); */ + } + else +#endif + { + op->reg = 2; + op->am = 2; + op->ol = 0; + op->mode = OP_REG; + } + } + else if (x == 8) + { +#ifdef PUSH_1X_WORKAROUND + if (bin == 0x1200) + { + /* Remove warning as confusing. + as_warn(_("Hardware push bug workaround")); */ + } + else +#endif + { + op->reg = 2; + op->am = 3; + op->ol = 0; + op->mode = OP_REG; + } } - break; } - break; - - case 1: /* Format 1, double operand. */ - line = extract_operand (line, l1, sizeof (l1)); - line = extract_operand (line, l2, sizeof (l2)); - res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); - res += msp430_dstoperand (&op2, l2, opcode->bin_opcode); + else if (op->exp.X_op == O_symbol) + { + op->mode = OP_EXP; + } + else if (op->exp.X_op == O_big) + { + short x; + if (vshift != -1) + { + op->exp.X_op = O_constant; + op->exp.X_add_number = 0xffff & generic_bignum[vshift]; + x = op->exp.X_add_number; + } + else + { + as_bad (_ + ("unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() "), + l); + return 1; + } - if (res) - break; /* Error occurred. All warnings were done before. */ + if (x == 0) + { + op->reg = 3; + op->am = 0; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 1) + { + op->reg = 3; + op->am = 1; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 2) + { + op->reg = 3; + op->am = 2; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == -1) + { + op->reg = 3; + op->am = 3; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 4) + { + op->reg = 2; + op->am = 2; + op->ol = 0; + op->mode = OP_REG; + } + else if (x == 8) + { + op->reg = 2; + op->am = 3; + op->ol = 0; + op->mode = OP_REG; + } + } + /* Redudant (yet) check. */ + else if (op->exp.X_op == O_register) + as_bad + (_("Registers cannot be used within immediate expression [%s]"), l); + else + as_bad (_("unknown operand %s"), l); - bin |= (op2.reg | (op1.reg << 8) | (op1.am << 4) | (op2.am << 7)); + return 0; + } - __is = 1 + op1.ol + op2.ol; /* insn size in words. */ - frag = frag_more (2 * __is); - where = frag - frag_now->fr_literal; - bfd_putl16 ((bfd_vma) bin, frag); + /* Check if absolute &VALUE (assume that we can construct something like ((a&b)<<7 + 25). */ + if (*l == '&') + { + char *h = l; - if (op1.mode == OP_EXP) + op->reg = 2; /* reg 2 in absolute addr mode. */ + op->am = 1; /* mode As == 01 bin. */ + op->ol = 1; /* Immediate value followed by instruction. */ + __tl = h + 1; + parse_exp (__tl, &(op->exp)); + op->mode = OP_EXP; + if (op->exp.X_op == O_constant) { - where += 2; /* Advance where as we do not know _where_. */ - bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + int x = op->exp.X_add_number; - if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ - fix_new_exp (frag_now, where, 2, - &(op1.exp), FALSE, CHECK_RELOC_MSP430); - else - fix_new_exp (frag_now, where, 2, - &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + if (x > 65535 || x < -32768) + { + as_bad (_("value out of range: %d"), x); + return 1; + } } - - if (op2.mode == OP_EXP) + else if (op->exp.X_op == O_symbol) + ; + else { - imm_op = 0; - bfd_putl16 ((bfd_vma) ZEROS, frag + 2 + ((__is == 3) ? 2 : 0)); - - if (op2.reg) /* Not PC relative. */ - fix_new_exp (frag_now, where + 2, 2, - &(op2.exp), FALSE, CHECK_RELOC_MSP430); + /* Redudant (yet) check. */ + if (op->exp.X_op == O_register) + as_bad + (_("Registers cannot be used within absolute expression [%s]"), l); else - fix_new_exp (frag_now, where + 2, 2, - &(op2.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + as_bad (_("unknown expression in operand %s"), l); + return 1; } - break; + return 0; + } - case 2: /* Single-operand mostly instr. */ - if (opcode->insn_opnumb == 0) + /* Check if indirect register mode @Rn / postincrement @Rn+. */ + if (*l == '@') + { + char *t = l; + char *m = strchr (l, '+'); + + if (t != l) { - /* reti instruction. */ - frag = frag_more (2); - bfd_putl16 ((bfd_vma) bin, frag); - break; + as_bad (_("unknown addressing mode %s"), l); + return 1; } - line = extract_operand (line, l1, sizeof (l1)); - res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); - if (res) - break; /* Error in operand. */ + t++; + if (*t != 'r' && *t != 'R') + { + as_bad (_("unknown addressing mode %s"), l); + return 1; + } - bin |= op1.reg | (op1.am << 4); - __is = 1 + op1.ol; - frag = frag_more (2 * __is); - where = frag - frag_now->fr_literal; - bfd_putl16 ((bfd_vma) bin, frag); + t++; /* Points to the reg value. */ - if (op1.mode == OP_EXP) + if (check_reg (t)) { - bfd_putl16 ((bfd_vma) ZEROS, frag + 2); - - if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ - fix_new_exp (frag_now, where + 2, 2, - &(op1.exp), FALSE, CHECK_RELOC_MSP430); - else - fix_new_exp (frag_now, where + 2, 2, - &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + as_bad (_("Bad register name r%s"), t); + return 1; } - break; - case 3: /* Conditional jumps instructions. */ - line = extract_operand (line, l1, sizeof (l1)); - /* l1 is a label. */ - if (l1[0]) + op->mode = OP_REG; + op->am = m ? 3 : 2; + op->ol = 0; + if (m) + *m = 0; /* strip '+' */ + op->reg = atoi (t); + if (op->reg < 0 || op->reg > 15) { - char *m = l1; - expressionS exp; + as_bad (_("MSP430 does not have %d registers"), op->reg); + return 1; + } - if (*m == '$') - m++; + return 0; + } - parse_exp (m, &exp); - frag = frag_more (2); /* Instr size is 1 word. */ + /* Check if register indexed X(Rn). */ + do + { + char *h = strrchr (l, '('); + char *m = strrchr (l, ')'); + char *t; - /* In order to handle something like: + *imm_op = 1; - and #0x8000, r5 - tst r5 - jz 4 ; skip next 4 bytes - inv r5 - inc r5 - nop ; will jump here if r5 positive or zero - - jCOND -n ;assumes jump n bytes backward: + if (!h) + break; + if (!m) + { + as_bad (_("')' required")); + return 1; + } - mov r5,r6 - jmp -2 + t = h; + op->am = 1; + op->ol = 1; + /* Extract a register. */ + t++; /* Advance pointer. */ - is equal to: - lab: - mov r5,r6 - jmp lab + if (*t != 'r' && *t != 'R') + { + as_bad (_ + ("unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"), + l); + return 1; + } + t++; - jCOND $n ; jump from PC in either direction. */ + op->reg = *t - '0'; + if (op->reg > 9 || op->reg < 0) + { + as_bad (_("unknown operator (r%s substituded as a register name"), + t); + return 1; + } + t++; + if (*t != ')') + { + op->reg = op->reg * 10; + op->reg += *t - '0'; - if (exp.X_op == O_constant) + if (op->reg > 15) { - int x = exp.X_add_number; - - if (x & 1) - { - as_warn (_("Even number required. Rounded to %d"), x + 1); - x++; - } - - if ((*l1 == '$' && x > 0) || x < 0) - x -= 2; - - x >>= 1; - - if (x > 512 || x < -511) - { - as_bad (_("Wrong displacement %d"), x << 1); - break; - } - - bin |= x & 0x3ff; - bfd_putl16 ((bfd_vma) bin, frag); + as_bad (_("unknown operator %s"), l); + return 1; } - else if (exp.X_op == O_symbol && *l1 != '$') + if (op->reg == 2) { - where = frag - frag_now->fr_literal; - fix_new_exp (frag_now, where, 2, - &exp, TRUE, BFD_RELOC_MSP430_10_PCREL); + as_bad (_("r2 should not be used in indexed addressing mode")); + return 1; + } - bfd_putl16 ((bfd_vma) bin, frag); + if (*(t + 1) != ')') + { + as_bad (_("unknown operator %s"), l); + return 1; } - else if (*l1 == '$') + } + + /* Extract constant. */ + __tl = l; + *h = 0; + op->mode = OP_EXP; + parse_exp (__tl, &(op->exp)); + if (op->exp.X_op == O_constant) + { + int x = op->exp.X_add_number; + + if (x > 65535 || x < -32768) { - as_bad (_("instruction requires label sans '$'")); - break; + as_bad (_("value out of range: %d"), x); + return 1; } - else + + if (x == 0) { - as_bad (_ - ("instruction requires label or value in range -511:512")); - break; + op->mode = OP_REG; + op->am = 2; + op->ol = 0; + return 0; } } + else if (op->exp.X_op == O_symbol) + ; else { - as_bad (_("instruction requires label")); - break; + /* Redudant (yet) check. */ + if (op->exp.X_op == O_register) + as_bad + (_("Registers cannot be used as a prefix of indexed expression [%s]"), l); + else + as_bad (_("unknown expression in operand %s"), l); + return 1; } - break; - default: - as_bad (_("Ilegal instruction or not implmented opcode.")); + return 0; } + while (0); - input_line_pointer = line; - return 0; + /* Register mode 'mov r1,r2'. */ + do + { + char *t = l; + + /* Operand should be a register. */ + if (*t == 'r' || *t == 'R') + { + int x = atoi (t + 1); + + if (check_reg (t + 1)) + break; + + if (x < 0 || x > 15) + break; /* Symbolic mode. */ + + op->mode = OP_REG; + op->am = 0; + op->ol = 0; + op->reg = x; + return 0; + } + } + while (0); + + /* Symbolic mode 'mov a, b' == 'mov x(pc), y(pc)'. */ + do + { +#if 0 /* Allow expression in operand like 'a+123*(1|2)'. */ + char *t = l; + + __tl = l; + + while (*t) + { + /* alpha/number underline dot for labels. */ + if (! ISALNUM (*t) && *t != '_' && *t != '.') + { + as_bad (_("unknown operand %s"), l); + return 1; + } + t++; + } +#endif + op->mode = OP_EXP; + op->reg = 0; /* PC relative... be careful. */ + op->am = 1; + op->ol = 1; + __tl = l; + parse_exp (__tl, &(op->exp)); + return 0; + } + while (0); + + /* Unreachable. */ + as_bad (_("unknown addressing mode for operand %s"), l); + return 1; } + static int -msp430_dstoperand (op, l, bin) - struct msp430_operand_s *op; - char *l; - int bin; +msp430_dstoperand (struct msp430_operand_s * op, char * l, int bin) { int dummy; - int ret = msp430_srcoperand (op, l, bin, &dummy); + int ret = msp430_srcoperand (op, l, bin, & dummy); + if (ret) return ret; @@ -837,6 +1253,7 @@ msp430_dstoperand (op, l, bin) op->am = 1; op->ol = 1; parse_exp (__tl, &(op->exp)); + if (op->exp.X_op != O_constant || op->exp.X_add_number != 0) { as_bad (_("Internal bug. Try to use 0(r%d) instead of @r%d"), @@ -856,497 +1273,449 @@ msp430_dstoperand (op, l, bin) } -static int -check_reg (t) - char *t; +/* Parse instruction operands. + Return binary opcode. */ + +static unsigned int +msp430_operands (struct msp430_opcode_s * opcode, char * line) { - /* If this is a reg numb, str 't' must be a number from 0 - 15. */ + int bin = opcode->bin_opcode; /* Opcode mask. */ + int __is; + char l1[MAX_OP_LEN], l2[MAX_OP_LEN]; + char *frag; + int where; + struct msp430_operand_s op1, op2; + int res = 0; + static short ZEROS = 0; + int byte_op, imm_op; - if (strlen (t) > 2 && *(t + 2) != '+') - return 1; + /* Opcode is the one from opcodes table + line contains something like + [.w] @r2+, 5(R1) + or + .b @r2+, 5(R1). */ - while (*t) + /* Check if byte or word operation. */ + if (*line == '.' && TOLOWER (*(line + 1)) == 'b') { - if ((*t < '0' || *t > '9') && *t != '+') - break; - t++; + bin |= BYTE_OPERATION; + byte_op = 1; } + else + byte_op = 0; - if (*t) - return 1; - - return 0; -} - - -static int -msp430_srcoperand (op, l, bin, imm_op) - struct msp430_operand_s *op; - char *l; - int bin; - int *imm_op; -{ - char *__tl = l; + /* skip .[bwBW]. */ + while (! ISSPACE (*line) && *line) + line++; - /* Check if an immediate #VALUE. The hash sign should be only at the beginning! */ - if (*l == '#') + if (opcode->insn_opnumb && (!*line || *line == '\n')) { - char *h = l; - int vshift = -1; - int rval = 0; - - /* Check if there is: - llo(x) - least significant 16 bits, x &= 0xffff - lhi(x) - x = (x >> 16) & 0xffff, - hlo(x) - x = (x >> 32) & 0xffff, - hhi(x) - x = (x >> 48) & 0xffff - The value _MUST_ be constant expression: #hlo(1231231231). */ - - *imm_op = 1; - - if (strncasecmp (h, "#llo(", 5) == 0) - { - vshift = 0; - rval = 3; - } - else if (strncasecmp (h, "#lhi(", 5) == 0) - { - vshift = 1; - rval = 3; - } - else if (strncasecmp (h, "#hlo(", 5) == 0) - { - vshift = 2; - rval = 3; - } - else if (strncasecmp (h, "#hhi(", 5) == 0) - { - vshift = 3; - rval = 3; - } - else if (strncasecmp (h, "#lo(", 4) == 0) - { - vshift = 0; - rval = 2; - } - else if (strncasecmp (h, "#hi(", 4) == 0) - { - vshift = 1; - rval = 2; - } - - op->reg = 0; /* Reg PC. */ - op->am = 3; - op->ol = 1; /* Immediate will follow an instruction. */ - __tl = h + 1 + rval; - op->mode = OP_EXP; - parse_exp (__tl, &(op->exp)); - if (op->exp.X_op == O_constant) - { - int x = op->exp.X_add_number; - - if (vshift == 0) - { - x = x & 0xffff; - op->exp.X_add_number = x; - } - else if (vshift == 1) - { - x = (x >> 16) & 0xffff; - op->exp.X_add_number = x; - } - else if (vshift > 1) - { - if (x < 0) - op->exp.X_add_number = -1; - else - op->exp.X_add_number = 0; /* Nothing left. */ - x = op->exp.X_add_number; - } - - if (op->exp.X_add_number > 65535 || op->exp.X_add_number < -32768) - { - as_bad (_("value %ld out of range. Use #lo() or #hi()"), x); - return 1; - } + as_bad (_("instruction %s requires %d operand(s)"), + opcode->name, opcode->insn_opnumb); + return 0; + } - /* Now check constants. */ - /* Substitute register mode with a constant generator if applicable. */ + memset (l1, 0, sizeof (l1)); + memset (l2, 0, sizeof (l2)); + memset (&op1, 0, sizeof (op1)); + memset (&op2, 0, sizeof (op2)); - x = (short) x; /* Extend sign. */ + imm_op = 0; - if (x == 0) - { - op->reg = 3; - op->am = 0; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 1) - { - op->reg = 3; - op->am = 1; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 2) - { - op->reg = 3; - op->am = 2; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == -1) - { - op->reg = 3; - op->am = 3; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 4) - { -#ifdef PUSH_1X_WORKAROUND - if (bin == 0x1200) - { - /* Remove warning as confusing. - as_warn(_("Hardware push bug workaround")); */ - } - else -#endif - { - op->reg = 2; - op->am = 2; - op->ol = 0; - op->mode = OP_REG; - } - } - else if (x == 8) - { -#ifdef PUSH_1X_WORKAROUND - if (bin == 0x1200) - { - /* Remove warning as confusing. - as_warn(_("Hardware push bug workaround")); */ - } - else -#endif - { - op->reg = 2; - op->am = 3; - op->ol = 0; - op->mode = OP_REG; - } - } - } - else if (op->exp.X_op == O_symbol) - { - op->mode = OP_EXP; - } - else if (op->exp.X_op == O_big) + switch (opcode->fmt) + { + case 0: /* Emulated. */ + switch (opcode->insn_opnumb) { - short x; - if (vshift != -1) - { - op->exp.X_op = O_constant; - op->exp.X_add_number = 0xffff & generic_bignum[vshift]; - x = op->exp.X_add_number; - } - else - { - as_bad (_ - ("unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() "), - l); - return 1; - } + case 0: + /* Set/clear bits instructions. */ + __is = 2; + frag = frag_more (__is); + bfd_putl16 ((bfd_vma) bin, frag); + break; + case 1: + /* Something which works with destination operand. */ + line = extract_operand (line, l1, sizeof (l1)); + res = msp430_dstoperand (&op1, l1, opcode->bin_opcode); + if (res) + break; - if (x == 0) - { - op->reg = 3; - op->am = 0; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 1) - { - op->reg = 3; - op->am = 1; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 2) - { - op->reg = 3; - op->am = 2; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == -1) - { - op->reg = 3; - op->am = 3; - op->ol = 0; - op->mode = OP_REG; - } - else if (x == 4) + bin |= (op1.reg | (op1.am << 7)); + __is = 1 + op1.ol; + frag = frag_more (2 * __is); + where = frag - frag_now->fr_literal; + bfd_putl16 ((bfd_vma) bin, frag); + + if (op1.mode == OP_EXP) { - op->reg = 2; - op->am = 2; - op->ol = 0; - op->mode = OP_REG; + where += 2; + bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + + if (op1.reg) + fix_new_exp (frag_now, where, 2, + &(op1.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where, 2, + &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); } - else if (x == 8) + break; + + case 2: + { + /* Shift instruction. */ + line = extract_operand (line, l1, sizeof (l1)); + strncpy (l2, l1, sizeof (l2)); + l2[sizeof (l2) - 1] = '\0'; + res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); + res += msp430_dstoperand (&op2, l2, opcode->bin_opcode); + + if (res) + break; /* An error occurred. All warnings were done before. */ + + bin |= (op2.reg | (op1.reg << 8) | (op1.am << 4) | (op2.am << 7)); + + __is = 1 + op1.ol + op2.ol; /* insn size in words. */ + frag = frag_more (2 * __is); + where = frag - frag_now->fr_literal; + bfd_putl16 ((bfd_vma) bin, frag); + + if (op1.mode == OP_EXP) + { + where += 2; /* Advance 'where' as we do not know _where_. */ + bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + + if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ + fix_new_exp (frag_now, where, 2, + &(op1.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where, 2, + &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + } + + if (op2.mode == OP_EXP) + { + imm_op = 0; + bfd_putl16 ((bfd_vma) ZEROS, frag + 2 + ((__is == 3) ? 2 : 0)); + + if (op2.reg) /* Not PC relative. */ + fix_new_exp (frag_now, where + 2, 2, + &(op2.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where + 2, 2, + &(op2.exp), TRUE, CHECK_RELOC_MSP430_PCREL); + } + break; + } + case 3: + /* Branch instruction => mov dst, r0. */ + line = extract_operand (line, l1, sizeof (l1)); + + res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); + if (res) + break; + + byte_op = 0; + imm_op = 0; + + bin |= ((op1.reg << 8) | (op1.am << 4)); + __is = 1 + op1.ol; + frag = frag_more (2 * __is); + where = frag - frag_now->fr_literal; + bfd_putl16 ((bfd_vma) bin, frag); + + if (op1.mode == OP_EXP) { - op->reg = 2; - op->am = 3; - op->ol = 0; - op->mode = OP_REG; + where += 2; + bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + + if (op1.reg || (op1.reg == 0 && op1.am == 3)) + fix_new_exp (frag_now, where, 2, + &(op1.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where, 2, + &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); } + break; } - else - { - as_bad (_("unknown operand %s"), l); - } - return 0; - } + break; - /* Check if absolute &VALUE (assume that we can construct something like ((a&b)<<7 + 25). */ - if (*l == '&') - { - char *h = l; + case 1: /* Format 1, double operand. */ + line = extract_operand (line, l1, sizeof (l1)); + line = extract_operand (line, l2, sizeof (l2)); + res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); + res += msp430_dstoperand (&op2, l2, opcode->bin_opcode); - op->reg = 2; /* reg 2 in absolute addr mode. */ - op->am = 1; /* mode As == 01 bin. */ - op->ol = 1; /* Immediate value followed by instruction. */ - __tl = h + 1; - parse_exp (__tl, &(op->exp)); - op->mode = OP_EXP; - if (op->exp.X_op == O_constant) + if (res) + break; /* Error occurred. All warnings were done before. */ + + bin |= (op2.reg | (op1.reg << 8) | (op1.am << 4) | (op2.am << 7)); + + __is = 1 + op1.ol + op2.ol; /* insn size in words. */ + frag = frag_more (2 * __is); + where = frag - frag_now->fr_literal; + bfd_putl16 ((bfd_vma) bin, frag); + + if (op1.mode == OP_EXP) { - int x = op->exp.X_add_number; - if (x > 65535 || x < -32768) - { - as_bad (_("value out of range: %d"), x); - return 1; - } + where += 2; /* Advance where as we do not know _where_. */ + bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + + if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ + fix_new_exp (frag_now, where, 2, + &(op1.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where, 2, + &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); } - else if (op->exp.X_op == O_symbol) + + if (op2.mode == OP_EXP) { + imm_op = 0; + bfd_putl16 ((bfd_vma) ZEROS, frag + 2 + ((__is == 3) ? 2 : 0)); + + if (op2.reg) /* Not PC relative. */ + fix_new_exp (frag_now, where + 2, 2, + &(op2.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where + 2, 2, + &(op2.exp), TRUE, CHECK_RELOC_MSP430_PCREL); } - else + break; + + case 2: /* Single-operand mostly instr. */ + if (opcode->insn_opnumb == 0) { - as_bad (_("unknown expression in operand %s"), l); - return 1; + /* reti instruction. */ + frag = frag_more (2); + bfd_putl16 ((bfd_vma) bin, frag); + break; } - return 0; - } - /* Check if indirect register mode @Rn / postincrement @Rn+. */ - if (*l == '@') - { - char *t = l; - char *m = strchr (l, '+'); + line = extract_operand (line, l1, sizeof (l1)); + res = msp430_srcoperand (&op1, l1, opcode->bin_opcode, &imm_op); + if (res) + break; /* Error in operand. */ - if (t != l) + bin |= op1.reg | (op1.am << 4); + __is = 1 + op1.ol; + frag = frag_more (2 * __is); + where = frag - frag_now->fr_literal; + bfd_putl16 ((bfd_vma) bin, frag); + + if (op1.mode == OP_EXP) { - as_bad (_("unknown addressing mode %s"), l); - return 1; + bfd_putl16 ((bfd_vma) ZEROS, frag + 2); + + if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative. */ + fix_new_exp (frag_now, where + 2, 2, + &(op1.exp), FALSE, CHECK_RELOC_MSP430); + else + fix_new_exp (frag_now, where + 2, 2, + &(op1.exp), TRUE, CHECK_RELOC_MSP430_PCREL); } + break; - t++; - if (*t != 'r' && *t != 'R') + case 3: /* Conditional jumps instructions. */ + line = extract_operand (line, l1, sizeof (l1)); + /* l1 is a label. */ + if (l1[0]) { - as_bad (_("unknown addressing mode %s"), l); - return 1; - } + char *m = l1; + expressionS exp; - t++; /* Points to the reg value. */ + if (*m == '$') + m++; - if (check_reg (t)) - { - as_bad (_("Bad register name r%s"), t); - return 1; - } + parse_exp (m, &exp); + frag = frag_more (2); /* Instr size is 1 word. */ - op->mode = OP_REG; - op->am = m ? 3 : 2; - op->ol = 0; - if (m) - *m = 0; /* strip '+' */ - op->reg = atoi (t); - if (op->reg < 0 || op->reg > 15) - { - as_bad (_("MSP430 does not have %d registers"), op->reg); - return 1; - } + /* In order to handle something like: - return 0; - } + and #0x8000, r5 + tst r5 + jz 4 ; skip next 4 bytes + inv r5 + inc r5 + nop ; will jump here if r5 positive or zero - /* Check if register indexed X(Rn). */ - do - { - char *h = strrchr (l, '('); - char *m = strrchr (l, ')'); - char *t; + jCOND -n ;assumes jump n bytes backward: - *imm_op = 1; + mov r5,r6 + jmp -2 + + is equal to: + lab: + mov r5,r6 + jmp lab + + jCOND $n ; jump from PC in either direction. */ + + if (exp.X_op == O_constant) + { + int x = exp.X_add_number; - if (!h) - break; - if (!m) - { - as_bad (_("')' required")); - return 1; - } + if (x & 1) + { + as_warn (_("Even number required. Rounded to %d"), x + 1); + x++; + } - t = h; - op->am = 1; - op->ol = 1; - /* Extract a register. */ - t++; /* Advance pointer. */ + if ((*l1 == '$' && x > 0) || x < 0) + x -= 2; - if (*t != 'r' && *t != 'R') - { - as_bad (_ - ("unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"), - l); - return 1; - } - t++; + x >>= 1; - op->reg = *t - '0'; - if (op->reg > 9 || op->reg < 0) - { - as_bad (_("unknown operator (r%s substituded as a register name"), - t); - return 1; - } - t++; - if (*t != ')') - { - op->reg = op->reg * 10; - op->reg += *t - '0'; + if (x > 512 || x < -511) + { + as_bad (_("Wrong displacement %d"), x << 1); + break; + } - if (op->reg > 15) + bin |= x & 0x3ff; + bfd_putl16 ((bfd_vma) bin, frag); + } + else if (exp.X_op == O_symbol && *l1 != '$') { - as_bad (_("unknown operator %s"), l); - return 1; + where = frag - frag_now->fr_literal; + fix_new_exp (frag_now, where, 2, + &exp, TRUE, BFD_RELOC_MSP430_10_PCREL); + + bfd_putl16 ((bfd_vma) bin, frag); } - if (op->reg == 2) + else if (*l1 == '$') { - as_bad (_("r2 should not be used in indexed addressing mode")); - return 1; + as_bad (_("instruction requires label sans '$'")); + break; } - - if (*(t + 1) != ')') + else { - as_bad (_("unknown operator %s"), l); - return 1; + as_bad (_ + ("instruction requires label or value in range -511:512")); + break; } } + else + { + as_bad (_("instruction requires label")); + break; + } + break; - /* Extract constant. */ - __tl = l; - *h = 0; - op->mode = OP_EXP; - parse_exp (__tl, &(op->exp)); - if (op->exp.X_op == O_constant) + case 4: /* Extended jumps. */ + line = extract_operand (line, l1, sizeof (l1)); + if (l1[0]) { - int x = op->exp.X_add_number; + char *m = l1; + expressionS exp; - if (x > 65535 || x < -32768) - { - as_bad (_("value out of range: %d"), x); - return 1; - } + /* Ignore absolute addressing. make it PC relative anyway. */ + if (*m == '#' || *m == '$') + m++; - if (x == 0) + parse_exp (m, & exp); + if (exp.X_op == O_symbol) { - op->mode = OP_REG; - op->am = 2; - op->ol = 0; - return 0; + /* Relaxation required. */ + struct rcodes_s rc = msp430_rcodes[opcode->insn_opnumb]; + + frag = frag_more (8); + bfd_putl16 ((bfd_vma) rc.sop, frag); + frag = frag_variant (rs_machine_dependent, 8, 2, + ENCODE_RELAX (rc.lpos, STATE_BITS10), /* Wild guess. */ + exp.X_add_symbol, + 0, /* Offset is zero if jump dist less than 1K. */ + (char *) frag); + break; } } - else if (op->exp.X_op == O_symbol) - { - } - else - { - as_bad (_("unknown expression in operand %s"), l); - return 1; - } - - return 0; - } - while (0); - /* Register mode 'mov r1,r2'. */ - do - { - char *t = l; + as_bad (_("instruction requires label")); + break; - /* Operand should be a register. */ - if (*t == 'r' || *t == 'R') + case 5: /* Emulated extended branches. */ + line = extract_operand (line, l1, sizeof (l1)); + if (l1[0]) { - int x = atoi (t + 1); + char * m = l1; + expressionS exp; - if (check_reg (t + 1)) - break; + /* Ignore absolute addressing. make it PC relative anyway. */ + if (*m == '#' || *m == '$') + m++; - if (x < 0 || x > 15) - break; /* Symbolic mode. */ + parse_exp (m, & exp); + if (exp.X_op == O_symbol) + { + /* Relaxation required. */ + struct hcodes_s hc = msp430_hcodes[opcode->insn_opnumb]; - op->mode = OP_REG; - op->am = 0; - op->ol = 0; - op->reg = x; - return 0; + frag = frag_more (8); + bfd_putl16 ((bfd_vma) hc.op0, frag); + bfd_putl16 ((bfd_vma) hc.op1, frag+2); + frag = frag_variant (rs_machine_dependent, 8, 2, + ENCODE_RELAX (STATE_EMUL_BRANCH, STATE_BITS10), /* Wild guess. */ + exp.X_add_symbol, + 0, /* Offset is zero if jump dist less than 1K. */ + (char *) frag); + break; + } } + + as_bad (_("instruction requires label")); + break; + + default: + as_bad (_("Ilegal instruction or not implmented opcode.")); } - while (0); - /* Symbolic mode 'mov a, b' == 'mov x(pc), y(pc)'. */ - do + input_line_pointer = line; + return 0; +} + +void +md_assemble (char * str) +{ + struct msp430_opcode_s * opcode; + char cmd[32]; + unsigned int i = 0; + + str = skip_space (str); /* Skip leading spaces. */ + str = extract_cmd (str, cmd, sizeof (cmd)); + + while (cmd[i] && i < sizeof (cmd)) { - char *t = l; + char a = TOLOWER (cmd[i]); + cmd[i] = a; + i++; + } - __tl = l; + if (!cmd[0]) + { + as_bad (_("can't find opcode ")); + return; + } - while (*t) - { - /* alpha/number underline dot for labels. */ - if (! ISALNUM (*t) && *t != '_' && *t != '.') - { - as_bad (_("unknown operand %s"), l); - return 1; - } - t++; - } + opcode = (struct msp430_opcode_s *) hash_find (msp430_hash, cmd); - op->mode = OP_EXP; - op->reg = 0; /* PC relative... be careful. */ - op->am = 1; - op->ol = 1; - __tl = l; - parse_exp (__tl, &(op->exp)); - return 0; + if (opcode == NULL) + { + as_bad (_("unknown opcode `%s'"), cmd); + return; } - while (0); - /* Unreachable. */ - as_bad (_("unknown addressing mode for operand %s"), l); - return 1; -} + { + char *__t = input_line_pointer; + msp430_operands (opcode, str); + input_line_pointer = __t; + } +} /* GAS will call this function for each section at the end of the assembly, to permit the CPU backend to adjust the alignment of a section. */ valueT -md_section_align (seg, addr) - asection *seg; - valueT addr; +md_section_align (asection * seg, valueT addr) { int align = bfd_get_section_alignment (stdoutput, seg); @@ -1360,9 +1729,7 @@ md_section_align (seg, addr) macro would return the length of an instruction. */ long -md_pcrel_from_section (fixp, sec) - fixS *fixp; - segT sec; +md_pcrel_from_section (fixS * fixp, segT sec) { if (fixp->fx_addsy != (symbolS *) NULL && (!S_IS_DEFINED (fixp->fx_addsy) @@ -1376,12 +1743,9 @@ md_pcrel_from_section (fixp, sec) value in the object file. */ void -md_apply_fix3 (fixp, valuep, seg) - fixS *fixp; - valueT *valuep; - segT seg; +md_apply_fix3 (fixS * fixp, valueT * valuep, segT seg) { - unsigned char *where; + unsigned char * where; unsigned long insn; long value; @@ -1459,6 +1823,7 @@ md_apply_fix3 (fixp, valuep, seg) bfd_putl16 ((bfd_vma) (value | insn), where); break; + case BFD_RELOC_MSP430_RL_PCREL: case BFD_RELOC_MSP430_16_PCREL: if (value & 1) as_bad_where (fixp->fx_file, fixp->fx_line, @@ -1517,15 +1882,13 @@ md_apply_fix3 (fixp, valuep, seg) then it is done here. */ arelent * -tc_gen_reloc (seg, fixp) - asection *seg ATTRIBUTE_UNUSED; - fixS *fixp; +tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp) { - arelent *reloc; + arelent * reloc; - reloc = (arelent *) xmalloc (sizeof (arelent)); + reloc = xmalloc (sizeof (arelent)); - reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); + reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; @@ -1547,26 +1910,223 @@ tc_gen_reloc (seg, fixp) return reloc; } -/* Parse ordinary expression. */ +int +md_estimate_size_before_relax (fragS * fragP ATTRIBUTE_UNUSED, + asection * segment_type ATTRIBUTE_UNUSED) +{ + if (fragP->fr_symbol && S_GET_SEGMENT (fragP->fr_symbol) == segment_type) + { + /* This is a jump -> pcrel mode. Nothing to do much here. + Return value == 2. */ + fragP->fr_subtype = + ENCODE_RELAX (RELAX_LEN (fragP->fr_subtype), STATE_BITS10); + } + else if (fragP->fr_symbol) + { + /* Its got a segment, but its not ours. Even if fr_symbol is in + an absolute segment, we dont know a displacement until we link + object files. So it will always be long. This also applies to + labels in a subsegment of current. Liker may relax it to short + jump later. Return value == 8. */ + fragP->fr_subtype = + ENCODE_RELAX (RELAX_LEN (fragP->fr_subtype), STATE_WORD); + } + else + { + /* We know the abs value. may be it is a jump to fixed address. + Impossible in our case, cause all constants already handeled. */ + fragP->fr_subtype = + ENCODE_RELAX (RELAX_LEN (fragP->fr_subtype), STATE_UNDEF); + } -static char * -parse_exp (s, op) - char *s; - expressionS *op; + return md_relax_table[fragP->fr_subtype].rlx_length; +} + +void +md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED, + asection * sec ATTRIBUTE_UNUSED, + fragS * fragP) { - input_line_pointer = s; - expression (op); - if (op->X_op == O_absent) - as_bad (_("missing operand")); - return input_line_pointer; + char * where = 0; + int rela = -1; + int i; + struct rcodes_s * cc = NULL; + struct hcodes_s * hc = NULL; + + switch (fragP->fr_subtype) + { + case ENCODE_RELAX (STATE_UNCOND_BRANCH, STATE_BITS10): + case ENCODE_RELAX (STATE_SIMPLE_BRANCH, STATE_BITS10): + case ENCODE_RELAX (STATE_NOOV_BRANCH, STATE_BITS10): + /* We do not have to convert anything here. + Just apply a fix. */ + rela = BFD_RELOC_MSP430_10_PCREL; + break; + + case ENCODE_RELAX (STATE_UNCOND_BRANCH, STATE_WORD): + case ENCODE_RELAX (STATE_UNCOND_BRANCH, STATE_UNDEF): + /* Convert uncond branch jmp lab -> br lab. */ + cc = & msp430_rcodes[7]; + where = fragP->fr_literal + fragP->fr_fix; + bfd_putl16 (cc->lop0, where); + rela = BFD_RELOC_MSP430_RL_PCREL; + fragP->fr_fix += 2; + break; + + case ENCODE_RELAX (STATE_SIMPLE_BRANCH, STATE_WORD): + case ENCODE_RELAX (STATE_SIMPLE_BRANCH, STATE_UNDEF): + { + /* Other simple branches. */ + int insn = bfd_getl16 (fragP->fr_opcode); + + insn &= 0xffff; + /* Find actual instruction. */ + for (i = 0; i < 7 && !cc; i++) + if (msp430_rcodes[i].sop == insn) + cc = & msp430_rcodes[i]; + if (!cc || !cc->name) + as_fatal (_("internal inconsistency problem in %s: insn %04lx"), + __FUNCTION__, (long) insn); + where = fragP->fr_literal + fragP->fr_fix; + bfd_putl16 (cc->lop0, where); + bfd_putl16 (cc->lop1, where + 2); + rela = BFD_RELOC_MSP430_RL_PCREL; + fragP->fr_fix += 4; + } + break; + + case ENCODE_RELAX (STATE_NOOV_BRANCH, STATE_WORD): + case ENCODE_RELAX (STATE_NOOV_BRANCH, STATE_UNDEF): + cc = & msp430_rcodes[6]; + where = fragP->fr_literal + fragP->fr_fix; + bfd_putl16 (cc->lop0, where); + bfd_putl16 (cc->lop1, where + 2); + bfd_putl16 (cc->lop2, where + 4); + rela = BFD_RELOC_MSP430_RL_PCREL; + fragP->fr_fix += 6; + break; + + case ENCODE_RELAX (STATE_EMUL_BRANCH, STATE_BITS10): + { + int insn = bfd_getl16 (fragP->fr_opcode + 2); + + insn &= 0xffff; + for (i = 0; i < 4 && !hc; i++) + if (msp430_hcodes[i].op1 == insn) + hc = &msp430_hcodes[i]; + if (!hc || !hc->name) + as_fatal (_("internal inconsistency problem in %s: ext. insn %04lx"), + __FUNCTION__, (long) insn); + rela = BFD_RELOC_MSP430_10_PCREL; + /* Apply a fix for a first label if necessary. + another fix will be applied to the next word of insn anyway. */ + if (hc->tlab == 2) + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, TRUE, rela); + fragP->fr_fix += 2; + } + + break; + + case ENCODE_RELAX (STATE_EMUL_BRANCH, STATE_WORD): + case ENCODE_RELAX (STATE_EMUL_BRANCH, STATE_UNDEF): + { + int insn = bfd_getl16 (fragP->fr_opcode + 2); + + insn &= 0xffff; + for (i = 0; i < 4 && !hc; i++) + if (msp430_hcodes[i].op1 == insn) + hc = & msp430_hcodes[i]; + if (!hc || !hc->name) + as_fatal (_("internal inconsistency problem in %s: ext. insn %04lx"), + __FUNCTION__, (long) insn); + rela = BFD_RELOC_MSP430_RL_PCREL; + where = fragP->fr_literal + fragP->fr_fix; + bfd_putl16 (hc->lop0, where); + bfd_putl16 (hc->lop1, where + 2); + bfd_putl16 (hc->lop2, where + 4); + fragP->fr_fix += 6; + } + break; + + default: + as_fatal (_("internal inconsistency problem in %s: %lx"), + __FUNCTION__, (long) fragP->fr_subtype); + break; + } + + /* Now apply fix. */ + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, TRUE, rela); + /* Just fixed 2 bytes. */ + fragP->fr_fix += 2; } +/* Relax fragment. Mostly stolen from hc11 and mcore + which arches I think I know. */ -int -md_estimate_size_before_relax (fragp, seg) - fragS *fragp ATTRIBUTE_UNUSED; - asection *seg ATTRIBUTE_UNUSED; +long +msp430_relax_frag (segT seg ATTRIBUTE_UNUSED, fragS * fragP, + long stretch ATTRIBUTE_UNUSED) { - abort (); - return 0; + long growth; + offsetT aim = 0; + symbolS *symbolP; + const relax_typeS *this_type; + const relax_typeS *start_type; + relax_substateT next_state; + relax_substateT this_state; + const relax_typeS *table = md_relax_table; + + /* Nothing to be done if the frag has already max size. */ + if (RELAX_STATE (fragP->fr_subtype) == STATE_UNDEF + || RELAX_STATE (fragP->fr_subtype) == STATE_WORD) + return 0; + + if (RELAX_STATE (fragP->fr_subtype) == STATE_BITS10) + { + symbolP = fragP->fr_symbol; + if (symbol_resolved_p (symbolP)) + as_fatal (_("internal inconsistency problem in %s: resolved symbol"), + __FUNCTION__); + /* We know the offset. calculate a distance. */ + aim = S_GET_VALUE (symbolP) - fragP->fr_address - fragP->fr_fix; + } + + this_state = fragP->fr_subtype; + start_type = this_type = table + this_state; + + if (aim < 0) + { + /* Look backwards. */ + for (next_state = this_type->rlx_more; next_state;) + if (aim >= this_type->rlx_backward) + next_state = 0; + else + { + /* Grow to next state. */ + this_state = next_state; + this_type = table + this_state; + next_state = this_type->rlx_more; + } + } + else + { + /* Look forwards. */ + for (next_state = this_type->rlx_more; next_state;) + if (aim <= this_type->rlx_forward) + next_state = 0; + else + { + /* Grow to next state. */ + this_state = next_state; + this_type = table + this_state; + next_state = this_type->rlx_more; + } + } + + growth = this_type->rlx_length - start_type->rlx_length; + if (growth != 0) + fragP->fr_subtype = this_state; + return growth; } diff -uprN binutils-2.15.91.0.2/gas/config/tc-msp430.h binutils-2.15.92.0.2/gas/config/tc-msp430.h --- binutils-2.15.91.0.2/gas/config/tc-msp430.h 2003-01-21 10:21:33.000000000 -0800 +++ binutils-2.15.92.0.2/gas/config/tc-msp430.h 2004-09-15 12:05:03.000000000 -0700 @@ -1,5 +1,5 @@ /* This file is tc-msp430.h - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2004 Free Software Foundation, Inc. Contributed by Dmitry Diky @@ -93,7 +93,7 @@ of a PC relative instruction is the next instruction, so this macro would return the length of an instruction. */ -extern long md_pcrel_from_section PARAMS ((struct fix *, segT)); +extern long md_pcrel_from_section (struct fix *, segT); #define LISTING_WORD_SIZE 2 /* The number of bytes to put into a word in a listing. This affects @@ -112,3 +112,7 @@ extern long md_pcrel_from_section PARAMS should do nothing. Some targets define a `.bss' directive that is also affected by this macro. The default definition will set P2VAR to the truncated power of two of sizes up to eight bytes. */ + +#define md_relax_frag(SEG, FRAGP, STRETCH) \ + msp430_relax_frag (SEG, FRAGP, STRETCH) +extern long msp430_relax_frag (segT, fragS *, long); diff -uprN binutils-2.15.91.0.2/gas/config/tc-pdp11.c binutils-2.15.92.0.2/gas/config/tc-pdp11.c --- binutils-2.15.91.0.2/gas/config/tc-pdp11.c 2002-06-08 20:44:53.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-pdp11.c 2004-09-15 12:05:03.000000000 -0700 @@ -1347,8 +1347,6 @@ md_parse_option (c, arg) break; } - as_bad ("unrecognized option `-%c%s'", c, arg ? arg : ""); - return 0; } diff -uprN binutils-2.15.91.0.2/gas/config/tc-ppc.c binutils-2.15.92.0.2/gas/config/tc-ppc.c --- binutils-2.15.91.0.2/gas/config/tc-ppc.c 2004-07-27 21:36:10.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-ppc.c 2004-09-15 12:05:03.000000000 -0700 @@ -6038,7 +6038,7 @@ tc_ppc_regname_to_dw2regnum (const char { { "sp", 1 }, { "r.sp", 1 }, { "rtoc", 2 }, { "r.toc", 2 }, { "mq", 64 }, { "lr", 65 }, { "ctr", 66 }, { "ap", 67 }, - { "cc", 68 }, { "xer", 76 }, { "vrsave", 109 }, { "vscr", 110 }, + { "cr", 70 }, { "xer", 76 }, { "vrsave", 109 }, { "vscr", 110 }, { "spe_acc", 111 }, { "spefscr", 112 } }; diff -uprN binutils-2.15.91.0.2/gas/config/tc-sh.c binutils-2.15.92.0.2/gas/config/tc-sh.c --- binutils-2.15.91.0.2/gas/config/tc-sh.c 2004-07-27 21:36:10.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-sh.c 2004-09-15 12:05:03.000000000 -0700 @@ -1098,6 +1098,12 @@ parse_reg (char *src, int *mode, int *re return 3; } + if (l0 == 't' && l1 == 'b' && TOLOWER (src[2]) == 'r' + && ! IDENT_CHAR ((unsigned char) src[3])) + { + *mode = A_TBR; + return 3; + } if (l0 == 'm' && l1 == 'a' && TOLOWER (src[2]) == 'c' && ! IDENT_CHAR ((unsigned char) src[4])) { @@ -1268,7 +1274,15 @@ parse_at (char *src, sh_operand_info *op int len; int mode; src++; - if (src[0] == '-') + if (src[0] == '@') + { + src = parse_at (src, op); + if (op->type == A_DISP_TBR) + op->type = A_DISP2_TBR; + else + as_bad (_("illegal double indirection")); + } + else if (src[0] == '-') { /* Must be predecrement. */ src++; @@ -1341,6 +1355,10 @@ parse_at (char *src, sh_operand_info *op { op->type = A_DISP_GBR; } + else if (mode == A_TBR) + { + op->type = A_DISP_TBR; + } else if (mode == A_PC) { /* We want @(expr, pc) to uniformly address . + expr, @@ -1542,6 +1560,36 @@ get_specific (sh_opcode_info *opcode, sh sh_operand_info *user = operands + n; sh_arg_type arg = this_try->arg[n]; + if (SH_MERGE_ARCH_SET_VALID (valid_arch, arch_sh2a_nofpu_up) + && ( arg == A_DISP_REG_M + || arg == A_DISP_REG_N)) + { + /* Check a few key IMM* fields for overflow. */ + int opf; + long val = user->immediate.X_add_number; + + for (opf = 0; opf < 4; opf ++) + switch (this_try->nibbles[opf]) + { + case IMM0_4: + case IMM1_4: + if (val < 0 || val > 15) + goto fail; + break; + case IMM0_4BY2: + case IMM1_4BY2: + if (val < 0 || val > 15 * 2) + goto fail; + break; + case IMM0_4BY4: + case IMM1_4BY4: + if (val < 0 || val > 15 * 4) + goto fail; + break; + default: + break; + } + } switch (arg) { case A_DISP_PC: @@ -1552,6 +1600,7 @@ get_specific (sh_opcode_info *opcode, sh case A_BDISP12: case A_BDISP8: case A_DISP_GBR: + case A_DISP2_TBR: case A_MACH: case A_PR: case A_MACL: @@ -1596,6 +1645,7 @@ get_specific (sh_opcode_info *opcode, sh reg_n = user->reg; break; case A_GBR: + case A_TBR: case A_SR: case A_VBR: case A_DSR: @@ -1616,6 +1666,22 @@ get_specific (sh_opcode_info *opcode, sh reg_b = user->reg; break; + case A_INC_R15: + if (user->type != A_INC_N) + goto fail; + if (user->reg != 15) + goto fail; + reg_n = user->reg; + break; + + case A_DEC_R15: + if (user->type != A_DEC_N) + goto fail; + if (user->reg != 15) + goto fail; + reg_n = user->reg; + break; + case A_REG_M: case A_INC_M: case A_DEC_M: @@ -2041,6 +2107,16 @@ insert (char *where, int how, int pcrel, } static void +insert4 (char * where, int how, int pcrel, sh_operand_info * op) +{ + fix_new_exp (frag_now, + where - frag_now->fr_literal, + 4, + & op->immediate, + pcrel, + how); +} +static void build_relax (sh_opcode_info *opcode, sh_operand_info *op) { int high_byte = target_big_endian ? 0 : 1; @@ -2126,16 +2202,31 @@ static unsigned int build_Mytes (sh_opcode_info *opcode, sh_operand_info *operand) { int index; - char nbuf[4]; - char *output = frag_more (2); + char nbuf[8]; + char *output; unsigned int size = 2; int low_byte = target_big_endian ? 1 : 0; + int max_index = 4; + nbuf[0] = 0; nbuf[1] = 0; nbuf[2] = 0; nbuf[3] = 0; + nbuf[4] = 0; + nbuf[5] = 0; + nbuf[6] = 0; + nbuf[7] = 0; + + if (SH_MERGE_ARCH_SET (opcode->arch, arch_op32)) + { + output = frag_more (4); + size = 4; + max_index = 8; + } + else + output = frag_more (2); - for (index = 0; index < 4; index++) + for (index = 0; index < max_index; index++) { sh_nibble_type i = opcode->nibbles[index]; if (i < 16) @@ -2167,6 +2258,48 @@ build_Mytes (sh_opcode_info *opcode, sh_ case REG_N_B01: nbuf[index] = reg_n | 0x01; break; + case IMM0_3s: + nbuf[index] |= 0x08; + case IMM0_3c: + insert (output + low_byte, BFD_RELOC_SH_IMM3, 0, operand); + break; + case IMM0_3Us: + nbuf[index] |= 0x80; + case IMM0_3Uc: + insert (output + low_byte, BFD_RELOC_SH_IMM3U, 0, operand); + break; + case DISP0_12: + insert (output + 2, BFD_RELOC_SH_DISP12, 0, operand); + break; + case DISP0_12BY2: + insert (output + 2, BFD_RELOC_SH_DISP12BY2, 0, operand); + break; + case DISP0_12BY4: + insert (output + 2, BFD_RELOC_SH_DISP12BY4, 0, operand); + break; + case DISP0_12BY8: + insert (output + 2, BFD_RELOC_SH_DISP12BY8, 0, operand); + break; + case DISP1_12: + insert (output + 2, BFD_RELOC_SH_DISP12, 0, operand+1); + break; + case DISP1_12BY2: + insert (output + 2, BFD_RELOC_SH_DISP12BY2, 0, operand+1); + break; + case DISP1_12BY4: + insert (output + 2, BFD_RELOC_SH_DISP12BY4, 0, operand+1); + break; + case DISP1_12BY8: + insert (output + 2, BFD_RELOC_SH_DISP12BY8, 0, operand+1); + break; + case IMM0_20_4: + break; + case IMM0_20: + insert4 (output, BFD_RELOC_SH_DISP20, 0, operand); + break; + case IMM0_20BY8: + insert4 (output, BFD_RELOC_SH_DISP20BY8, 0, operand); + break; case IMM0_4BY4: insert (output + low_byte, BFD_RELOC_SH_IMM4BY4, 0, operand); break; @@ -2231,6 +2364,19 @@ build_Mytes (sh_opcode_info *opcode, sh_ output[0] = (nbuf[0] << 4) | (nbuf[1]); output[1] = (nbuf[2] << 4) | (nbuf[3]); } + if (SH_MERGE_ARCH_SET (opcode->arch, arch_op32)) + { + if (!target_big_endian) + { + output[3] = (nbuf[4] << 4) | (nbuf[5]); + output[2] = (nbuf[6] << 4) | (nbuf[7]); + } + else + { + output[2] = (nbuf[4] << 4) | (nbuf[5]); + output[3] = (nbuf[6] << 4) | (nbuf[7]); + } + } return size; } @@ -3722,6 +3868,57 @@ md_apply_fix3 (fixS *fixP, valueT *valP, shift = 0; switch (fixP->fx_r_type) { + case BFD_RELOC_SH_IMM3: + max = 0x7; + * buf = (* buf & 0xf8) | (val & 0x7); + break; + case BFD_RELOC_SH_IMM3U: + max = 0x7; + * buf = (* buf & 0x8f) | ((val & 0x7) << 4); + break; + case BFD_RELOC_SH_DISP12: + max = 0xfff; + buf[lowbyte] = val & 0xff; + buf[highbyte] |= (val >> 8) & 0x0f; + break; + case BFD_RELOC_SH_DISP12BY2: + max = 0xfff; + shift = 1; + buf[lowbyte] = (val >> 1) & 0xff; + buf[highbyte] |= (val >> 9) & 0x0f; + break; + case BFD_RELOC_SH_DISP12BY4: + max = 0xfff; + shift = 2; + buf[lowbyte] = (val >> 2) & 0xff; + buf[highbyte] |= (val >> 10) & 0x0f; + break; + case BFD_RELOC_SH_DISP12BY8: + max = 0xfff; + shift = 3; + buf[lowbyte] = (val >> 3) & 0xff; + buf[highbyte] |= (val >> 11) & 0x0f; + break; + case BFD_RELOC_SH_DISP20: + if (! target_big_endian) + abort(); + max = 0x7ffff; + min = -0x80000; + buf[1] = (buf[1] & 0x0f) | (val >> 12) & 0xf0; + buf[2] = (val >> 8) & 0xff; + buf[3] = val & 0xff; + break; + case BFD_RELOC_SH_DISP20BY8: + if (!target_big_endian) + abort(); + max = 0x7ffff; + min = -0x80000; + shift = 8; + buf[1] = (buf[1] & 0x0f) | (val >> 20) & 0xf0; + buf[2] = (val >> 16) & 0xff; + buf[3] = (val >> 8) & 0xff; + break; + case BFD_RELOC_SH_IMM4: max = 0xf; *buf = (*buf & 0xf0) | (val & 0xf); diff -uprN binutils-2.15.91.0.2/gas/config/tc-v850.c binutils-2.15.92.0.2/gas/config/tc-v850.c --- binutils-2.15.91.0.2/gas/config/tc-v850.c 2004-05-27 11:26:03.000000000 -0700 +++ binutils-2.15.92.0.2/gas/config/tc-v850.c 2004-09-15 12:05:03.000000000 -0700 @@ -1169,21 +1169,14 @@ md_parse_option (c, arg) char *arg; { if (c != 'm') - { - if (c != 'a') - /* xgettext:c-format */ - fprintf (stderr, _("unknown command line option: -%c%s\n"), c, arg); - return 0; - } + return 0; if (strcmp (arg, "warn-signed-overflow") == 0) - { - warn_signed_overflows = TRUE; - } + warn_signed_overflows = TRUE; + else if (strcmp (arg, "warn-unsigned-overflow") == 0) - { - warn_unsigned_overflows = TRUE; - } + warn_unsigned_overflows = TRUE; + else if (strcmp (arg, "v850") == 0) { machine = 0; @@ -1211,11 +1204,7 @@ md_parse_option (c, arg) else if (strcmp (arg, "relax") == 0) v850_relax = 1; else - { - /* xgettext:c-format */ - fprintf (stderr, _("unknown command line option: -%c%s\n"), c, arg); - return 0; - } + return 0; return 1; } diff -uprN binutils-2.15.91.0.2/gas/config/te-symbian.h binutils-2.15.92.0.2/gas/config/te-symbian.h --- binutils-2.15.91.0.2/gas/config/te-symbian.h 1969-12-31 16:00:00.000000000 -0800 +++ binutils-2.15.92.0.2/gas/config/te-symbian.h 2004-09-15 12:05:03.000000000 -0700 @@ -0,0 +1,3 @@ +#define TE_SYMBIAN 1 +#include "obj-elf.h" + diff -uprN binutils-2.15.91.0.2/gas/configure binutils-2.15.92.0.2/gas/configure --- binutils-2.15.91.0.2/gas/configure 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/configure 2004-09-27 13:46:07.000000000 -0700 @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S RANLIB ac_ct_RANLIB LIBTOOL WARN_CFLAGS GDBINIT cgen_cpu_prefix extra_objects target_cpu_type obj_format te_file install_tooldir atof BFDLIB OPCODES_LIB BFDVER_H ALL_OBJ_DEPS YACC LEX LEXLIB LEX_OUTPUT_ROOT CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBM LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S RANLIB ac_ct_RANLIB LIBTOOL WARN_CFLAGS GDBINIT cgen_cpu_prefix extra_objects target_cpu_type obj_format te_file install_tooldir atof BFDLIB OPCODES_LIB BFDVER_H ALL_OBJ_DEPS YACC LEX LEXLIB LEX_OUTPUT_ROOT CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBM LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -2485,7 +2485,7 @@ fi BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` -am__api_version="1.8" +am__api_version="1.9" # 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: @@ -2637,13 +2637,21 @@ echo "$as_me: WARNING: \`missing' script fi if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # Keeping the `.' argument allows $(mkdir_p) to be used without - # argument. Indeed, we sometimes output rules like + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. - # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more - # expensive solution, as it forces Make to start a sub-shell.) - mkdir_p='mkdir -p -- .' + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as @@ -2852,9 +2860,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_ru MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -AMTAR=${AMTAR-"${am_missing_run}tar"} - install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user @@ -2947,6 +2952,13 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(inst # We need awk for the "check" target. The system "awk" is bad on # some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + depcc="$CC" am_compiler_list= @@ -3340,7 +3352,7 @@ darwin* | rhapsody*) esac ;; -freebsd* ) +freebsd* | kfreebsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) @@ -3408,7 +3420,7 @@ linux-gnu*) lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` ;; -netbsd*) +netbsd* | knetbsd*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' else @@ -3799,7 +3811,7 @@ test x"$pic_mode" = xno && libtool_flags case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 3802 "configure"' > conftest.$ac_ext + echo '#line 3814 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4159,7 +4171,8 @@ for this_target in $target $canon_target eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` - # check for architecture variants + # Check for architecture variants. + # Note: This table is alpha-sorted, please try to keep it that way. arch= endian= case ${cpu} in @@ -4169,12 +4182,14 @@ for this_target in $target $canon_target arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;; arm*|xscale*|strongarm*) cpu_type=arm endian=little ;; c4x*) cpu_type=tic4x ;; + crx*) cpu_type=crx endian=little ;; hppa*) cpu_type=hppa ;; i[3-7]86) cpu_type=i386 arch=i386;; - x86_64) cpu_type=i386 arch=x86_64;; ia64) cpu_type=ia64 ;; ip2k) cpu_type=ip2k endian=big ;; iq2000) cpu_type=iq2000 endian=big ;; + m32r) cpu_type=m32r target_cpu=m32r endian=big ;; + m32rle) cpu_type=m32r target_cpu=m32r endian=little ;; m6811|m6812|m68hc12) cpu_type=m68hc11 ;; m680[012346]0) cpu_type=m68k ;; m68008) cpu_type=m68k ;; @@ -4203,10 +4218,8 @@ for this_target in $target $canon_target sparc86x*) cpu_type=sparc arch=sparc86x ;; sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c. v850*) cpu_type=v850 ;; - crx*) cpu_type=crx endian=little ;; + x86_64) cpu_type=i386 arch=x86_64;; xtensa*) cpu_type=xtensa arch=xtensa ;; - m32r) cpu_type=m32r target_cpu=m32r endian=big ;; - m32rle) cpu_type=m32r target_cpu=m32r endian=little ;; *) cpu_type=${cpu} ;; esac @@ -4221,7 +4234,8 @@ for this_target in $target $canon_target bfd_gas=no em=generic - # assign object format + # Assign object format. + # Note: This table is alpha-sorted, please try to keep it that way. case ${generic_target} in a29k-*-coff) fmt=coff ;; a29k-amd-udi) fmt=coff ;; @@ -4237,15 +4251,14 @@ for this_target in $target $canon_target alpha*-*-netbsd*) fmt=elf em=nbsd ;; alpha*-*-openbsd*) fmt=elf em=obsd ;; - # cpu_type for am33_2.0 is set to mn10300 - mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;; - arc-*-elf*) fmt=elf ;; arm-*-aout) fmt=aout ;; arm-*-coff | thumb-*-coff) fmt=coff ;; arm-*-rtems* | thumb-*-rtems*) fmt=elf ;; arm-*-elf | thumb-*-elf) fmt=elf ;; + arm*-*-eabi*) fmt=elf ;; + arm*-*-symbianelf*) fmt=elf em=symbian ;; arm-*-kaos*) fmt=elf ;; arm*-*-conix*) fmt=elf ;; arm-*-linux*aout*) fmt=aout em=linux ;; @@ -4449,12 +4462,22 @@ echo "$as_me: error: Unknown vendor for mmix-*-*) fmt=elf ;; mn10200-*-*) fmt=elf ;; + # cpu_type for am33_2.0 is set to mn10300 + mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;; mn10300-*-*) fmt=elf ;; + msp430-*-*) fmt=elf ;; + + ns32k-pc532-mach*) fmt=aout em=pc532mach ;; + ns32k-pc532-ux*) fmt=aout em=pc532mach ;; + ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; + ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; + openrisc-*-*) fmt=elf ;; or32-*-rtems*) fmt=elf ;; or32-*-coff) fmt=coff ;; or32-*-elf) fmt=elf ;; + pj*) fmt=elf ;; ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;; @@ -4525,11 +4548,6 @@ _ACEOF shle*-*-kaos*) fmt=elf ;; sh64-*-elf*) fmt=elf ;; - ns32k-pc532-mach*) fmt=aout em=pc532mach ;; - ns32k-pc532-ux*) fmt=aout em=pc532mach ;; - ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; - ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; - sparc-*-rtemsaout*) fmt=aout ;; sparc-*-rtemself*) fmt=elf ;; sparc-*-rtems*) fmt=elf ;; @@ -4551,8 +4569,6 @@ _ACEOF strongarm-*-coff) fmt=coff ;; strongarm-*-elf) fmt=elf ;; strongarm-*-kaos*) fmt=elf ;; - xscale-*-coff) fmt=coff ;; - xscale-*-elf) fmt=elf ;; tic30-*-*aout*) fmt=aout bfd_gas=yes ;; tic30-*-*coff*) fmt=coff bfd_gas=yes ;; @@ -4572,6 +4588,9 @@ _ACEOF w65-*-*) fmt=coff ;; + xscale-*-coff) fmt=coff ;; + xscale-*-elf) fmt=elf ;; + xstormy16-*-*) fmt=elf ;; xtensa-*-*) fmt=elf ;; @@ -11627,7 +11646,6 @@ s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t -s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t @@ -11636,6 +11654,9 @@ s,@mkdir_p@,$mkdir_p,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t @@ -12317,27 +12338,21 @@ echo X"$mf" | else continue fi - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue diff -uprN binutils-2.15.91.0.2/gas/configure.in binutils-2.15.92.0.2/gas/configure.in --- binutils-2.15.91.0.2/gas/configure.in 2004-07-27 21:36:09.000000000 -0700 +++ binutils-2.15.92.0.2/gas/configure.in 2004-09-15 12:05:03.000000000 -0700 @@ -118,7 +118,8 @@ changequote(,)dnl eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` changequote([,])dnl - # check for architecture variants + # Check for architecture variants. + # Note: This table is alpha-sorted, please try to keep it that way. arch= endian= case ${cpu} in @@ -128,13 +129,15 @@ changequote([,])dnl arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;; arm*|xscale*|strongarm*) cpu_type=arm endian=little ;; c4x*) cpu_type=tic4x ;; + crx*) cpu_type=crx endian=little ;; hppa*) cpu_type=hppa ;; changequote(,)dnl i[3-7]86) cpu_type=i386 arch=i386;; - x86_64) cpu_type=i386 arch=x86_64;; ia64) cpu_type=ia64 ;; ip2k) cpu_type=ip2k endian=big ;; iq2000) cpu_type=iq2000 endian=big ;; + m32r) cpu_type=m32r target_cpu=m32r endian=big ;; + m32rle) cpu_type=m32r target_cpu=m32r endian=little ;; m6811|m6812|m68hc12) cpu_type=m68hc11 ;; m680[012346]0) cpu_type=m68k ;; changequote([,])dnl @@ -164,10 +167,8 @@ changequote([,])dnl sparc86x*) cpu_type=sparc arch=sparc86x ;; sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c. v850*) cpu_type=v850 ;; - crx*) cpu_type=crx endian=little ;; + x86_64) cpu_type=i386 arch=x86_64;; xtensa*) cpu_type=xtensa arch=xtensa ;; - m32r) cpu_type=m32r target_cpu=m32r endian=big ;; - m32rle) cpu_type=m32r target_cpu=m32r endian=little ;; *) cpu_type=${cpu} ;; esac @@ -182,7 +183,8 @@ changequote([,])dnl bfd_gas=no em=generic - # assign object format + # Assign object format. + # Note: This table is alpha-sorted, please try to keep it that way. case ${generic_target} in a29k-*-coff) fmt=coff ;; a29k-amd-udi) fmt=coff ;; @@ -198,15 +200,14 @@ changequote([,])dnl alpha*-*-netbsd*) fmt=elf em=nbsd ;; alpha*-*-openbsd*) fmt=elf em=obsd ;; - # cpu_type for am33_2.0 is set to mn10300 - mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;; - arc-*-elf*) fmt=elf ;; arm-*-aout) fmt=aout ;; arm-*-coff | thumb-*-coff) fmt=coff ;; arm-*-rtems* | thumb-*-rtems*) fmt=elf ;; arm-*-elf | thumb-*-elf) fmt=elf ;; + arm*-*-eabi*) fmt=elf ;; + arm*-*-symbianelf*) fmt=elf em=symbian ;; arm-*-kaos*) fmt=elf ;; arm*-*-conix*) fmt=elf ;; arm-*-linux*aout*) fmt=aout em=linux ;; @@ -401,12 +402,22 @@ changequote([,])dnl mmix-*-*) fmt=elf ;; mn10200-*-*) fmt=elf ;; + # cpu_type for am33_2.0 is set to mn10300 + mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;; mn10300-*-*) fmt=elf ;; + msp430-*-*) fmt=elf ;; + + ns32k-pc532-mach*) fmt=aout em=pc532mach ;; + ns32k-pc532-ux*) fmt=aout em=pc532mach ;; + ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; + ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; + openrisc-*-*) fmt=elf ;; or32-*-rtems*) fmt=elf ;; or32-*-coff) fmt=coff ;; or32-*-elf) fmt=elf ;; + pj*) fmt=elf ;; ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;; @@ -465,11 +476,6 @@ changequote([,])dnl shle*-*-kaos*) fmt=elf ;; sh64-*-elf*) fmt=elf ;; - ns32k-pc532-mach*) fmt=aout em=pc532mach ;; - ns32k-pc532-ux*) fmt=aout em=pc532mach ;; - ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; - ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; - sparc-*-rtemsaout*) fmt=aout ;; sparc-*-rtemself*) fmt=elf ;; sparc-*-rtems*) fmt=elf ;; @@ -491,8 +497,6 @@ changequote([,])dnl strongarm-*-coff) fmt=coff ;; strongarm-*-elf) fmt=elf ;; strongarm-*-kaos*) fmt=elf ;; - xscale-*-coff) fmt=coff ;; - xscale-*-elf) fmt=elf ;; tic30-*-*aout*) fmt=aout bfd_gas=yes ;; tic30-*-*coff*) fmt=coff bfd_gas=yes ;; @@ -512,6 +516,9 @@ changequote([,])dnl w65-*-*) fmt=coff ;; + xscale-*-coff) fmt=coff ;; + xscale-*-elf) fmt=elf ;; + xstormy16-*-*) fmt=elf ;; xtensa-*-*) fmt=elf ;; diff -uprN binutils-2.15.91.0.2/gas/doc/Makefile.in binutils-2.15.92.0.2/gas/doc/Makefile.in --- binutils-2.15.91.0.2/gas/doc/Makefile.in 2004-07-27 21:36:10.000000000 -0700 +++ binutils-2.15.92.0.2/gas/doc/Makefile.in 2004-09-27 13:46:07.000000000 -0700 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.8.5 from Makefile.am. +# Makefile.in generated by automake 1.9.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -50,7 +50,6 @@ CONFIG_CLEAN_FILES = depcomp = am__depfiles_maybe = SOURCES = -DIST_SOURCES = INFO_DEPS = $(srcdir)/as.info TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo @@ -159,6 +158,8 @@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ atof = @atof@ bindir = @bindir@ build = @build@ @@ -299,15 +300,11 @@ distclean-libtool: -rm -f libtool .texinfo.info: - restore=: && \ - backupdir="$(am__leading_dot)am$$$$" && \ + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then \ - mv $$f $$backupdir; \ - restore=mv; \ - fi; \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ done; \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ @@ -320,8 +317,7 @@ distclean-libtool: cd $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ - rm -rf $$backupdir; \ - exit $$rc + rm -rf $$backupdir; exit $$rc .texinfo.dvi: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ @@ -334,10 +330,18 @@ distclean-libtool: $(TEXI2PDF) $< .texinfo.html: - $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ $< - if test ! -d $@ && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else :; fi + rm -rf $(@:.html=.htp) + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $(@:.html=.htp) $<; \ + then \ + rm -rf $@; \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + else \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ + exit 1; \ + fi $(srcdir)/as.info: as.texinfo as.pdf: as.texinfo as.html: as.texinfo @@ -470,7 +474,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: diff -uprN binutils-2.15.91.0.2/gas/doc/as.info binutils-2.15.92.0.2/gas/doc/as.info --- binutils-2.15.91.0.2/gas/doc/as.info 2004-09-24 10:17:53.000000000 -0700 +++ binutils-2.15.92.0.2/gas/doc/as.info 1969-12-31 16:00:00.000000000 -0800 @@ -1,17107 +0,0 @@ -This is -/net/gnu/export/linux/release/binutils-2.15.91.0.2/gas/doc/as.info, -produced by makeinfo version 4.7 from -/net/gnu/export/linux/release/binutils-2.15.91.0.2/gas/doc/as.texinfo. - -START-INFO-DIR-ENTRY -* As: (as). The GNU assembler. -* Gas: (as). The GNU assembler. -END-INFO-DIR-ENTRY - - This file documents the GNU Assembler "as". - - Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 -Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". - - -File: as.info, Node: Top, Next: Overview, Up: (dir) - -Using as -******** - -This file is a user guide to the GNU assembler `as' version 2.15.91.0.2. - - This document is distributed under the terms of the GNU Free -Documentation License. A copy of the license is included in the -section entitled "GNU Free Documentation License". - -* Menu: - -* Overview:: Overview -* Invoking:: Command-Line Options -* Syntax:: Syntax -* Sections:: Sections and Relocation -* Symbols:: Symbols -* Expressions:: Expressions -* Pseudo Ops:: Assembler Directives -* Machine Dependencies:: Machine Dependent Features -* Reporting Bugs:: Reporting Bugs -* Acknowledgements:: Who Did What -* GNU Free Documentation License:: GNU Free Documentation License -* Index:: Index - - -File: as.info, Node: Overview, Next: Invoking, Prev: Top, Up: Top - -1 Overview -********** - -Here is a brief summary of how to invoke `as'. For details, *note -Command-Line Options: Invoking. - - as [-a[cdhlns][=FILE]] [-D] [-defsym SYM=VAL] - [-f] [-gstabs] [-gstabs+] [-gdwarf2] [-help] - [-I DIR] [-J] [-K] [-L] - [-listing-lhs-width=NUM] [-listing-lhs-width2=NUM] - [-listing-rhs-width=NUM] [-listing-cont-lines=NUM] - [-keep-locals] [-o OBJFILE] [-R] [-statistics] [-v] - [-version] [-version] [-W] [-warn] [-fatal-warnings] - [-w] [-x] [-Z] [-target-help] [TARGET-OPTIONS] - [-|FILES ...] - - _Target Alpha options:_ - [-mCPU] - [-mdebug | -no-mdebug] - [-relax] [-g] [-GSIZE] - [-F] [-32addr] - - _Target ARC options:_ - [-marc[5|6|7|8]] - [-EB|-EL] - - _Target ARM options:_ - [-mcpu=PROCESSOR[+EXTENSION...]] - [-march=ARCHITECTURE[+EXTENSION...]] - [-mfpu=FLOATING-POINT-FORMAT] - [-mfloat-abi=ABI] - [-meabi=VER] - [-mthumb] - [-EB|-EL] - [-mapcs-32|-mapcs-26|-mapcs-float| - -mapcs-reentrant] - [-mthumb-interwork] [-moabi] [-k] - - _Target CRIS options:_ - [-underscore | -no-underscore] - [-pic] [-N] - [-emulation=criself | -emulation=crisaout] - - _Target D10V options:_ - [-O] - - _Target D30V options:_ - [-O|-n|-N] - - _Target i386 options:_ - [-32|-64] [-n] - - _Target i960 options:_ - [-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB| - -AKC|-AMC] - [-b] [-no-relax] - - _Target IP2K options:_ - [-mip2022|-mip2022ext] - - _Target M32R options:_ - [-m32rx|-[no-]warn-explicit-parallel-conflicts| - -W[n]p] - - _Target M680X0 options:_ - [-l] [-m68000|-m68010|-m68020|...] - - _Target M68HC11 options:_ - [-m68hc11|-m68hc12|-m68hcs12] - [-mshort|-mlong] - [-mshort-double|-mlong-double] - [-force-long-branchs] [-short-branchs] - [-strict-direct-mode] [-print-insn-syntax] - [-print-opcodes] [-generate-example] - - _Target MCORE options:_ - [-jsri2bsr] [-sifilter] [-relax] - [-mcpu=[210|340]] - - _Target MIPS options:_ - [-nocpp] [-EL] [-EB] [-O[OPTIMIZATION LEVEL]] - [-g[DEBUG LEVEL]] [-G NUM] [-KPIC] [-call_shared] - [-non_shared] [-xgot] - [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] - [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] - [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] - [-mips64] [-mips64r2] - [-construct-floats] [-no-construct-floats] - [-trap] [-no-break] [-break] [-no-trap] - [-mfix7000] [-mno-fix7000] - [-mips16] [-no-mips16] - [-mips3d] [-no-mips3d] - [-mdmx] [-no-mdmx] - [-mdebug] [-no-mdebug] - [-mpdr] [-mno-pdr] - - _Target MMIX options:_ - [-fixed-special-register-names] [-globalize-symbols] - [-gnu-syntax] [-relax] [-no-predefined-symbols] - [-no-expand] [-no-merge-gregs] [-x] - [-linker-allocated-gregs] - - _Target PDP11 options:_ - [-mpic|-mno-pic] [-mall] [-mno-extensions] - [-mEXTENSION|-mno-EXTENSION] - [-mCPU] [-mMACHINE] - - _Target picoJava options:_ - [-mb|-me] - - _Target PowerPC options:_ - [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604| - -m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke| - -mbooke32|-mbooke64] - [-mcom|-many|-maltivec] [-memb] - [-mregnames|-mno-regnames] - [-mrelocatable|-mrelocatable-lib] - [-mlittle|-mlittle-endian|-mbig|-mbig-endian] - [-msolaris|-mno-solaris] - - _Target SPARC options:_ - [-Av6|-Av7|-Av8|-Asparclet|-Asparclite - -Av8plus|-Av8plusa|-Av9|-Av9a] - [-xarch=v8plus|-xarch=v8plusa] [-bump] - [-32|-64] - - _Target TIC54X options:_ - [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] - [-merrors-to-file |-me ] - - _Target Xtensa options:_ - [-[no-]density] [-[no-]relax] [-[no-]generics] - [-[no-]text-section-literals] - [-[no-]target-align] [-[no-]longcalls] - -`-a[cdhlmns]' - Turn on listings, in any of a variety of ways: - - `-ac' - omit false conditionals - - `-ad' - omit debugging directives - - `-ah' - include high-level source - - `-al' - include assembly - - `-am' - include macro expansions - - `-an' - omit forms processing - - `-as' - include symbols - - `=file' - set the name of the listing file - - You may combine these options; for example, use `-aln' for assembly - listing without forms processing. The `=file' option, if used, - must be the last one. By itself, `-a' defaults to `-ahls'. - -`-D' - Ignored. This option is accepted for script compatibility with - calls to other assemblers. - -`--defsym SYM=VALUE' - Define the symbol SYM to be VALUE before assembling the input file. - VALUE must be an integer constant. As in C, a leading `0x' - indicates a hexadecimal value, and a leading `0' indicates an - octal value. - -`-f' - "fast"--skip whitespace and comment preprocessing (assume source is - compiler output). - -`--gstabs' - Generate stabs debugging information for each assembler line. This - may help debugging assembler code, if the debugger can handle it. - -`--gstabs+' - Generate stabs debugging information for each assembler line, with - GNU extensions that probably only gdb can handle, and that could - make other debuggers crash or refuse to read your program. This - may help debugging assembler code. Currently the only GNU - extension is the location of the current working directory at - assembling time. - -`--gdwarf2' - Generate DWARF2 debugging information for each assembler line. - This may help debugging assembler code, if the debugger can handle - it. Note--this option is only supported by some targets, not all - of them. - -`--help' - Print a summary of the command line options and exit. - -`--target-help' - Print a summary of all target specific options and exit. - -`-I DIR' - Add directory DIR to the search list for `.include' directives. - -`-J' - Don't warn about signed overflow. - -`-K' - Issue warnings when difference tables altered for long - displacements. - -`-L' -`--keep-locals' - Keep (in the symbol table) local symbols. On traditional a.out - systems these start with `L', but different systems have different - local label prefixes. - -`--listing-lhs-width=NUMBER' - Set the maximum width, in words, of the output data column for an - assembler listing to NUMBER. - -`--listing-lhs-width2=NUMBER' - Set the maximum width, in words, of the output data column for - continuation lines in an assembler listing to NUMBER. - -`--listing-rhs-width=NUMBER' - Set the maximum width of an input source line, as displayed in a - listing, to NUMBER bytes. - -`--listing-cont-lines=NUMBER' - Set the maximum number of lines printed in a listing for a single - line of input to NUMBER + 1. - -`-o OBJFILE' - Name the object-file output from `as' OBJFILE. - -`-R' - Fold the data section into the text section. - -`--statistics' - Print the maximum space (in bytes) and total time (in seconds) - used by assembly. - -`--strip-local-absolute' - Remove local absolute symbols from the outgoing symbol table. - -`-v' -`-version' - Print the `as' version. - -`--version' - Print the `as' version and exit. - -`-W' -`--no-warn' - Suppress warning messages. - -`--fatal-warnings' - Treat warnings as errors. - -`--warn' - Don't suppress warning messages or treat them as errors. - -`-w' - Ignored. - -`-x' - Ignored. - -`-Z' - Generate an object file even after errors. - -`-- | FILES ...' - Standard input, or source files to assemble. - - - The following options are available when as is configured for an ARC -processor. - -`-marc[5|6|7|8]' - This option selects the core processor variant. - -`-EB | -EL' - Select either big-endian (-EB) or little-endian (-EL) output. - - The following options are available when as is configured for the ARM -processor family. - -`-mcpu=PROCESSOR[+EXTENSION...]' - Specify which ARM processor variant is the target. - -`-march=ARCHITECTURE[+EXTENSION...]' - Specify which ARM architecture variant is used by the target. - -`-mfpu=FLOATING-POINT-FORMAT' - Select which Floating Point architecture is the target. - -`-mfloat-abi=ABI' - Select which floating point ABI is in use. - -`-mthumb' - Enable Thumb only instruction decoding. - -`-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi' - Select which procedure calling convention is in use. - -`-EB | -EL' - Select either big-endian (-EB) or little-endian (-EL) output. - -`-mthumb-interwork' - Specify that the code has been generated with interworking between - Thumb and ARM code in mind. - -`-k' - Specify that PIC code has been generated. - - See the info pages for documentation of the CRIS-specific options. - - The following options are available when as is configured for a D10V -processor. -`-O' - Optimize output by parallelizing instructions. - - The following options are available when as is configured for a D30V -processor. -`-O' - Optimize output by parallelizing instructions. - -`-n' - Warn when nops are generated. - -`-N' - Warn when a nop after a 32-bit multiply instruction is generated. - - The following options are available when as is configured for the -Intel 80960 processor. - -`-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC' - Specify which variant of the 960 architecture is the target. - -`-b' - Add code to collect statistics about branches taken. - -`-no-relax' - Do not alter compare-and-branch instructions for long - displacements; error if necessary. - - - The following options are available when as is configured for the -Ubicom IP2K series. - -`-mip2022ext' - Specifies that the extended IP2022 instructions are allowed. - -`-mip2022' - Restores the default behaviour, which restricts the permitted - instructions to just the basic IP2022 ones. - - - The following options are available when as is configured for the -Renesas M32R (formerly Mitsubishi M32R) series. - -`--m32rx' - Specify which processor in the M32R family is the target. The - default is normally the M32R, but this option changes it to the - M32RX. - -`--warn-explicit-parallel-conflicts or --Wp' - Produce warning messages when questionable parallel constructs are - encountered. - -`--no-warn-explicit-parallel-conflicts or --Wnp' - Do not produce warning messages when questionable parallel - constructs are encountered. - - - The following options are available when as is configured for the -Motorola 68000 series. - -`-l' - Shorten references to undefined symbols, to one word instead of - two. - -`-m68000 | -m68008 | -m68010 | -m68020 | -m68030' -`| -m68040 | -m68060 | -m68302 | -m68331 | -m68332' -`| -m68333 | -m68340 | -mcpu32 | -m5200' - Specify what processor in the 68000 family is the target. The - default is normally the 68020, but this can be changed at - configuration time. - -`-m68881 | -m68882 | -mno-68881 | -mno-68882' - The target machine does (or does not) have a floating-point - coprocessor. The default is to assume a coprocessor for 68020, - 68030, and cpu32. Although the basic 68000 is not compatible with - the 68881, a combination of the two can be specified, since it's - possible to do emulation of the coprocessor instructions with the - main processor. - -`-m68851 | -mno-68851' - The target machine does (or does not) have a memory-management - unit coprocessor. The default is to assume an MMU for 68020 and - up. - - - For details about the PDP-11 machine dependent features options, see -*Note PDP-11-Options::. - -`-mpic | -mno-pic' - Generate position-independent (or position-dependent) code. The - default is `-mpic'. - -`-mall' -`-mall-extensions' - Enable all instruction set extensions. This is the default. - -`-mno-extensions' - Disable all instruction set extensions. - -`-mEXTENSION | -mno-EXTENSION' - Enable (or disable) a particular instruction set extension. - -`-mCPU' - Enable the instruction set extensions supported by a particular - CPU, and disable all other extensions. - -`-mMACHINE' - Enable the instruction set extensions supported by a particular - machine model, and disable all other extensions. - - The following options are available when as is configured for a -picoJava processor. - -`-mb' - Generate "big endian" format output. - -`-ml' - Generate "little endian" format output. - - - The following options are available when as is configured for the -Motorola 68HC11 or 68HC12 series. - -`-m68hc11 | -m68hc12 | -m68hcs12' - Specify what processor is the target. The default is defined by - the configuration option when building the assembler. - -`-mshort' - Specify to use the 16-bit integer ABI. - -`-mlong' - Specify to use the 32-bit integer ABI. - -`-mshort-double' - Specify to use the 32-bit double ABI. - -`-mlong-double' - Specify to use the 64-bit double ABI. - -`--force-long-branchs' - Relative branches are turned into absolute ones. This concerns - conditional branches, unconditional branches and branches to a sub - routine. - -`-S | --short-branchs' - Do not turn relative branchs into absolute ones when the offset is - out of range. - -`--strict-direct-mode' - Do not turn the direct addressing mode into extended addressing - mode when the instruction does not support direct addressing mode. - -`--print-insn-syntax' - Print the syntax of instruction in case of error. - -`--print-opcodes' - print the list of instructions with syntax and then exit. - -`--generate-example' - print an example of instruction for each possible instruction and - then exit. This option is only useful for testing `as'. - - - The following options are available when `as' is configured for the -SPARC architecture: - -`-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite' -`-Av8plus | -Av8plusa | -Av9 | -Av9a' - Explicitly select a variant of the SPARC architecture. - - `-Av8plus' and `-Av8plusa' select a 32 bit environment. `-Av9' - and `-Av9a' select a 64 bit environment. - - `-Av8plusa' and `-Av9a' enable the SPARC V9 instruction set with - UltraSPARC extensions. - -`-xarch=v8plus | -xarch=v8plusa' - For compatibility with the Solaris v9 assembler. These options are - equivalent to -Av8plus and -Av8plusa, respectively. - -`-bump' - Warn when the assembler switches to another architecture. - - The following options are available when as is configured for the -'c54x architecture. - -`-mfar-mode' - Enable extended addressing mode. All addresses and relocations - will assume extended addressing (usually 23 bits). - -`-mcpu=CPU_VERSION' - Sets the CPU version being compiled for. - -`-merrors-to-file FILENAME' - Redirect error output to a file, for broken systems which don't - support such behaviour in the shell. - - The following options are available when as is configured for a MIPS -processor. - -`-G NUM' - This option sets the largest size of an object that can be - referenced implicitly with the `gp' register. It is only accepted - for targets that use ECOFF format, such as a DECstation running - Ultrix. The default value is 8. - -`-EB' - Generate "big endian" format output. - -`-EL' - Generate "little endian" format output. - -`-mips1' -`-mips2' -`-mips3' -`-mips4' -`-mips5' -`-mips32' -`-mips32r2' -`-mips64' -`-mips64r2' - Generate code for a particular MIPS Instruction Set Architecture - level. `-mips1' is an alias for `-march=r3000', `-mips2' is an - alias for `-march=r6000', `-mips3' is an alias for `-march=r4000' - and `-mips4' is an alias for `-march=r8000'. `-mips5', `-mips32', - `-mips32r2', `-mips64', and `-mips64r2' correspond to generic - `MIPS V', `MIPS32', `MIPS32 Release 2', `MIPS64', and `MIPS64 - Release 2' ISA processors, respectively. - -`-march=CPU' - Generate code for a particular MIPS cpu. - -`-mtune=CPU' - Schedule and tune for a particular MIPS cpu. - -`-mfix7000' -`-mno-fix7000' - Cause nops to be inserted if the read of the destination register - of an mfhi or mflo instruction occurs in the following two - instructions. - -`-mdebug' -`-no-mdebug' - Cause stabs-style debugging output to go into an ECOFF-style - .mdebug section instead of the standard ELF .stabs sections. - -`-mpdr' -`-mno-pdr' - Control generation of `.pdr' sections. - -`-mgp32' -`-mfp32' - The register sizes are normally inferred from the ISA and ABI, but - these flags force a certain group of registers to be treated as 32 - bits wide at all times. `-mgp32' controls the size of - general-purpose registers and `-mfp32' controls the size of - floating-point registers. - -`-mips16' -`-no-mips16' - Generate code for the MIPS 16 processor. This is equivalent to - putting `.set mips16' at the start of the assembly file. - `-no-mips16' turns off this option. - -`-mips3d' -`-no-mips3d' - Generate code for the MIPS-3D Application Specific Extension. - This tells the assembler to accept MIPS-3D instructions. - `-no-mips3d' turns off this option. - -`-mdmx' -`-no-mdmx' - Generate code for the MDMX Application Specific Extension. This - tells the assembler to accept MDMX instructions. `-no-mdmx' turns - off this option. - -`--construct-floats' -`--no-construct-floats' - The `--no-construct-floats' option disables the construction of - double width floating point constants by loading the two halves of - the value into the two single width floating point registers that - make up the double width register. By default - `--construct-floats' is selected, allowing construction of these - floating point constants. - -`--emulation=NAME' - This option causes `as' to emulate `as' configured for some other - target, in all respects, including output format (choosing between - ELF and ECOFF only), handling of pseudo-opcodes which may generate - debugging information or store symbol table information, and - default endianness. The available configuration names are: - `mipsecoff', `mipself', `mipslecoff', `mipsbecoff', `mipslelf', - `mipsbelf'. The first two do not alter the default endianness - from that of the primary target for which the assembler was - configured; the others change the default to little- or big-endian - as indicated by the `b' or `l' in the name. Using `-EB' or `-EL' - will override the endianness selection in any case. - - This option is currently supported only when the primary target - `as' is configured for is a MIPS ELF or ECOFF target. - Furthermore, the primary target or others specified with - `--enable-targets=...' at configuration time must include support - for the other format, if both are to be available. For example, - the Irix 5 configuration includes support for both. - - Eventually, this option will support more configurations, with more - fine-grained control over the assembler's behavior, and will be - supported for more processors. - -`-nocpp' - `as' ignores this option. It is accepted for compatibility with - the native tools. - -`--trap' -`--no-trap' -`--break' -`--no-break' - Control how to deal with multiplication overflow and division by - zero. `--trap' or `--no-break' (which are synonyms) take a trap - exception (and only work for Instruction Set Architecture level 2 - and higher); `--break' or `--no-trap' (also synonyms, and the - default) take a break exception. - -`-n' - When this option is used, `as' will issue a warning every time it - generates a nop instruction from a macro. - - The following options are available when as is configured for an -MCore processor. - -`-jsri2bsr' -`-nojsri2bsr' - Enable or disable the JSRI to BSR transformation. By default this - is enabled. The command line option `-nojsri2bsr' can be used to - disable it. - -`-sifilter' -`-nosifilter' - Enable or disable the silicon filter behaviour. By default this - is disabled. The default can be overridden by the `-sifilter' - command line option. - -`-relax' - Alter jump instructions for long displacements. - -`-mcpu=[210|340]' - Select the cpu type on the target hardware. This controls which - instructions can be assembled. - -`-EB' - Assemble for a big endian target. - -`-EL' - Assemble for a little endian target. - - - See the info pages for documentation of the MMIX-specific options. - - The following options are available when as is configured for an -Xtensa processor. - -`--density | --no-density' - Enable or disable use of instructions from the Xtensa code density - option. This is enabled by default when the Xtensa processor - supports the code density option. - -`--relax | --no-relax' - Enable or disable instruction relaxation. This is enabled by - default. Note: In the current implementation, these options also - control whether assembler optimizations are performed, making - these options equivalent to `--generics' and `--no-generics'. - -`--generics | --no-generics' - Enable or disable all assembler transformations of Xtensa - instructions. The default is `--generics'; `--no-generics' should - be used only in the rare cases when the instructions must be - exactly as specified in the assembly source. - -`--text-section-literals | --no-text-section-literals' - With `--text-section-literals', literal pools are interspersed in - the text section. The default is `--no-text-section-literals', - which places literals in a separate section in the output file. - -`--target-align | --no-target-align' - Enable or disable automatic alignment to reduce branch penalties - at the expense of some code density. The default is - `--target-align'. - -`--longcalls | --no-longcalls' - Enable or disable transformation of call instructions to allow - calls across a greater range of addresses. The default is - `--no-longcalls'. - -* Menu: - -* Manual:: Structure of this Manual -* GNU Assembler:: The GNU Assembler -* Object Formats:: Object File Formats -* Command Line:: Command Line -* Input Files:: Input Files -* Object:: Output (Object) File -* Errors:: Error and Warning Messages - - -File: as.info, Node: Manual, Next: GNU Assembler, Up: Overview - -1.1 Structure of this Manual -============================ - -This manual is intended to describe what you need to know to use GNU -`as'. We cover the syntax expected in source files, including notation -for symbols, constants, and expressions; the directives that `as' -understands; and of course how to invoke `as'. - - This manual also describes some of the machine-dependent features of -various flavors of the assembler. - - On the other hand, this manual is _not_ intended as an introduction -to programming in assembly language--let alone programming in general! -In a similar vein, we make no attempt to introduce the machine -architecture; we do _not_ describe the instruction set, standard -mnemonics, registers or addressing modes that are standard to a -particular architecture. You may want to consult the manufacturer's -machine architecture manual for this information. - - -File: as.info, Node: GNU Assembler, Next: Object Formats, Prev: Manual, Up: Overview - -1.2 The GNU Assembler -===================== - -GNU `as' is really a family of assemblers. If you use (or have used) -the GNU assembler on one architecture, you should find a fairly similar -environment when you use it on another architecture. Each version has -much in common with the others, including object file formats, most -assembler directives (often called "pseudo-ops") and assembler syntax. - - `as' is primarily intended to assemble the output of the GNU C -compiler `gcc' for use by the linker `ld'. Nevertheless, we've tried -to make `as' assemble correctly everything that other assemblers for -the same machine would assemble. Any exceptions are documented -explicitly (*note Machine Dependencies::). This doesn't mean `as' -always uses the same syntax as another assembler for the same -architecture; for example, we know of several incompatible versions of -680x0 assembly language syntax. - - Unlike older assemblers, `as' is designed to assemble a source -program in one pass of the source file. This has a subtle impact on the -`.org' directive (*note `.org': Org.). - - -File: as.info, Node: Object Formats, Next: Command Line, Prev: GNU Assembler, Up: Overview - -1.3 Object File Formats -======================= - -The GNU assembler can be configured to produce several alternative -object file formats. For the most part, this does not affect how you -write assembly language programs; but directives for debugging symbols -are typically different in different file formats. *Note Symbol -Attributes: Symbol Attributes. - - -File: as.info, Node: Command Line, Next: Input Files, Prev: Object Formats, Up: Overview - -1.4 Command Line -================ - -After the program name `as', the command line may contain options and -file names. Options may appear in any order, and may be before, after, -or between file names. The order of file names is significant. - - `--' (two hyphens) by itself names the standard input file -explicitly, as one of the files for `as' to assemble. - - Except for `--' any command line argument that begins with a hyphen -(`-') is an option. Each option changes the behavior of `as'. No -option changes the way another option works. An option is a `-' -followed by one or more letters; the case of the letter is important. -All options are optional. - - Some options expect exactly one file name to follow them. The file -name may either immediately follow the option's letter (compatible with -older assemblers) or it may be the next command argument (GNU -standard). These two command lines are equivalent: - - as -o my-object-file.o mumble.s - as -omy-object-file.o mumble.s - - -File: as.info, Node: Input Files, Next: Object, Prev: Command Line, Up: Overview - -1.5 Input Files -=============== - -We use the phrase "source program", abbreviated "source", to describe -the program input to one run of `as'. The program may be in one or -more files; how the source is partitioned into files doesn't change the -meaning of the source. - - The source program is a concatenation of the text in all the files, -in the order specified. - - Each time you run `as' it assembles exactly one source program. The -source program is made up of one or more files. (The standard input is -also a file.) - - You give `as' a command line that has zero or more input file names. -The input files are read (from left file name to right). A command -line argument (in any position) that has no special meaning is taken to -be an input file name. - - If you give `as' no file names it attempts to read one input file -from the `as' standard input, which is normally your terminal. You may -have to type to tell `as' there is no more program to assemble. - - Use `--' if you need to explicitly name the standard input file in -your command line. - - If the source is empty, `as' produces a small, empty object file. - -Filenames and Line-numbers --------------------------- - -There are two ways of locating a line in the input file (or files) and -either may be used in reporting error messages. One way refers to a -line number in a physical file; the other refers to a line number in a -"logical" file. *Note Error and Warning Messages: Errors. - - "Physical files" are those files named in the command line given to -`as'. - - "Logical files" are simply names declared explicitly by assembler -directives; they bear no relation to physical files. Logical file -names help error messages reflect the original source file, when `as' -source is itself synthesized from other files. `as' understands the -`#' directives emitted by the `gcc' preprocessor. See also *Note -`.file': File. - - -File: as.info, Node: Object, Next: Errors, Prev: Input Files, Up: Overview - -1.6 Output (Object) File -======================== - -Every time you run `as' it produces an output file, which is your -assembly language program translated into numbers. This file is the -object file. Its default name is `a.out', or `b.out' when `as' is -configured for the Intel 80960. You can give it another name by using -the `-o' option. Conventionally, object file names end with `.o'. The -default name is used for historical reasons: older assemblers were -capable of assembling self-contained programs directly into a runnable -program. (For some formats, this isn't currently possible, but it can -be done for the `a.out' format.) - - The object file is meant for input to the linker `ld'. It contains -assembled program code, information to help `ld' integrate the -assembled program into a runnable file, and (optionally) symbolic -information for the debugger. - - -File: as.info, Node: Errors, Prev: Object, Up: Overview - -1.7 Error and Warning Messages -============================== - -`as' may write warnings and error messages to the standard error file -(usually your terminal). This should not happen when a compiler runs -`as' automatically. Warnings report an assumption made so that `as' -could keep assembling a flawed program; errors report a grave problem -that stops the assembly. - - Warning messages have the format - - file_name:NNN:Warning Message Text - -(where NNN is a line number). If a logical file name has been given -(*note `.file': File.) it is used for the filename, otherwise the name -of the current input file is used. If a logical line number was given -(*note `.line': Line.) then it is used to calculate the number printed, -otherwise the actual line in the current source file is printed. The -message text is intended to be self explanatory (in the grand Unix -tradition). - - Error messages have the format - file_name:NNN:FATAL:Error Message Text - The file name and line number are derived as for warning messages. -The actual message text may be rather less explanatory because many of -them aren't supposed to happen. - - -File: as.info, Node: Invoking, Next: Syntax, Prev: Overview, Up: Top - -2 Command-Line Options -********************** - -This chapter describes command-line options available in _all_ versions -of the GNU assembler; *note Machine Dependencies::, for options specific -to particular machine architectures. - - If you are invoking `as' via the GNU C compiler, you can use the -`-Wa' option to pass arguments through to the assembler. The assembler -arguments must be separated from each other (and the `-Wa') by commas. -For example: - - gcc -c -g -O -Wa,-alh,-L file.c - -This passes two options to the assembler: `-alh' (emit a listing to -standard output with high-level and assembly source) and `-L' (retain -local symbols in the symbol table). - - Usually you do not need to use this `-Wa' mechanism, since many -compiler command-line options are automatically passed to the assembler -by the compiler. (You can call the GNU compiler driver with the `-v' -option to see precisely what options it passes to each compilation -pass, including the assembler.) - -* Menu: - -* a:: -a[cdhlns] enable listings -* D:: -D for compatibility -* f:: -f to work faster -* I:: -I for .include search path - -* K:: -K for difference tables - -* L:: -L to retain local labels -* listing:: --listing-XXX to configure listing output -* M:: -M or --mri to assemble in MRI compatibility mode -* MD:: --MD for dependency tracking -* o:: -o to name the object file -* R:: -R to join data and text sections -* statistics:: --statistics to see statistics about assembly -* traditional-format:: --traditional-format for compatible output -* v:: -v to announce version -* W:: -W, --no-warn, --warn, --fatal-warnings to control warnings -* Z:: -Z to make object file even after errors - - -File: as.info, Node: a, Next: D, Up: Invoking - -2.1 Enable Listings: `-a[cdhlns]' -================================= - -These options enable listing output from the assembler. By itself, -`-a' requests high-level, assembly, and symbols listing. You can use -other letters to select specific options for the list: `-ah' requests a -high-level language listing, `-al' requests an output-program assembly -listing, and `-as' requests a symbol table listing. High-level -listings require that a compiler debugging option like `-g' be used, -and that assembly listings (`-al') be requested also. - - Use the `-ac' option to omit false conditionals from a listing. Any -lines which are not assembled because of a false `.if' (or `.ifdef', or -any other conditional), or a true `.if' followed by an `.else', will be -omitted from the listing. - - Use the `-ad' option to omit debugging directives from the listing. - - Once you have specified one of these options, you can further control -listing output and its appearance using the directives `.list', -`.nolist', `.psize', `.eject', `.title', and `.sbttl'. The `-an' -option turns off all forms processing. If you do not request listing -output with one of the `-a' options, the listing-control directives -have no effect. - - The letters after `-a' may be combined into one option, _e.g._, -`-aln'. - - Note if the assembler source is coming from the standard input (eg -because it is being created by `gcc' and the `-pipe' command line switch -is being used) then the listing will not contain any comments or -preprocessor directives. This is because the listing code buffers -input source lines from stdin only after they have been preprocessed by -the assembler. This reduces memory usage and makes the code more -efficient. - - -File: as.info, Node: D, Next: f, Prev: a, Up: Invoking - -2.2 `-D' -======== - -This option has no effect whatsoever, but it is accepted to make it more -likely that scripts written for other assemblers also work with `as'. - - -File: as.info, Node: f, Next: I, Prev: D, Up: Invoking - -2.3 Work Faster: `-f' -===================== - -`-f' should only be used when assembling programs written by a -(trusted) compiler. `-f' stops the assembler from doing whitespace and -comment preprocessing on the input file(s) before assembling them. -*Note Preprocessing: Preprocessing. - - _Warning:_ if you use `-f' when the files actually need to be - preprocessed (if they contain comments, for example), `as' does - not work correctly. - - -File: as.info, Node: I, Next: K, Prev: f, Up: Invoking - -2.4 `.include' Search Path: `-I' PATH -===================================== - -Use this option to add a PATH to the list of directories `as' searches -for files specified in `.include' directives (*note `.include': -Include.). You may use `-I' as many times as necessary to include a -variety of paths. The current working directory is always searched -first; after that, `as' searches any `-I' directories in the same order -as they were specified (left to right) on the command line. - - -File: as.info, Node: K, Next: L, Prev: I, Up: Invoking - -2.5 Difference Tables: `-K' -=========================== - -`as' sometimes alters the code emitted for directives of the form -`.word SYM1-SYM2'; *note `.word': Word. You can use the `-K' option if -you want a warning issued when this is done. - - -File: as.info, Node: L, Next: listing, Prev: K, Up: Invoking - -2.6 Include Local Labels: `-L' -============================== - -Labels beginning with `L' (upper case only) are called "local labels". -*Note Symbol Names::. Normally you do not see such labels when -debugging, because they are intended for the use of programs (like -compilers) that compose assembler programs, not for your notice. -Normally both `as' and `ld' discard such labels, so you do not normally -debug with them. - - This option tells `as' to retain those `L...' symbols in the object -file. Usually if you do this you also tell the linker `ld' to preserve -symbols whose names begin with `L'. - - By default, a local label is any label beginning with `L', but each -target is allowed to redefine the local label prefix. On the HPPA -local labels begin with `L$'. - - -File: as.info, Node: listing, Next: M, Prev: L, Up: Invoking - -2.7 Configuring listing output: `--listing' -=========================================== - -The listing feature of the assembler can be enabled via the command -line switch `-a' (*note a::). This feature combines the input source -file(s) with a hex dump of the corresponding locations in the output -object file, and displays them as a listing file. The format of this -listing can be controlled by pseudo ops inside the assembler source -(*note List:: *note Title:: *note Sbttl:: *note Psize:: *note Eject::) -and also by the following switches: - -`--listing-lhs-width=`number'' - Sets the maximum width, in words, of the first line of the hex - byte dump. This dump appears on the left hand side of the listing - output. - -`--listing-lhs-width2=`number'' - Sets the maximum width, in words, of any further lines of the hex - byte dump for a given input source line. If this value is not - specified, it defaults to being the same as the value specified - for `--listing-lhs-width'. If neither switch is used the default - is to one. - -`--listing-rhs-width=`number'' - Sets the maximum width, in characters, of the source line that is - displayed alongside the hex dump. The default value for this - parameter is 100. The source line is displayed on the right hand - side of the listing output. - -`--listing-cont-lines=`number'' - Sets the maximum number of continuation lines of hex dump that - will be displayed for a given single line of source input. The - default value is 4. - - -File: as.info, Node: M, Next: MD, Prev: listing, Up: Invoking - -2.8 Assemble in MRI Compatibility Mode: `-M' -============================================ - -The `-M' or `--mri' option selects MRI compatibility mode. This -changes the syntax and pseudo-op handling of `as' to make it compatible -with the `ASM68K' or the `ASM960' (depending upon the configured -target) assembler from Microtec Research. The exact nature of the MRI -syntax will not be documented here; see the MRI manuals for more -information. Note in particular that the handling of macros and macro -arguments is somewhat different. The purpose of this option is to -permit assembling existing MRI assembler code using `as'. - - The MRI compatibility is not complete. Certain operations of the -MRI assembler depend upon its object file format, and can not be -supported using other object file formats. Supporting these would -require enhancing each object file format individually. These are: - - * global symbols in common section - - The m68k MRI assembler supports common sections which are merged - by the linker. Other object file formats do not support this. - `as' handles common sections by treating them as a single common - symbol. It permits local symbols to be defined within a common - section, but it can not support global symbols, since it has no - way to describe them. - - * complex relocations - - The MRI assemblers support relocations against a negated section - address, and relocations which combine the start addresses of two - or more sections. These are not support by other object file - formats. - - * `END' pseudo-op specifying start address - - The MRI `END' pseudo-op permits the specification of a start - address. This is not supported by other object file formats. The - start address may instead be specified using the `-e' option to - the linker, or in a linker script. - - * `IDNT', `.ident' and `NAME' pseudo-ops - - The MRI `IDNT', `.ident' and `NAME' pseudo-ops assign a module - name to the output file. This is not supported by other object - file formats. - - * `ORG' pseudo-op - - The m68k MRI `ORG' pseudo-op begins an absolute section at a given - address. This differs from the usual `as' `.org' pseudo-op, which - changes the location within the current section. Absolute - sections are not supported by other object file formats. The - address of a section may be assigned within a linker script. - - There are some other features of the MRI assembler which are not -supported by `as', typically either because they are difficult or -because they seem of little consequence. Some of these may be -supported in future releases. - - * EBCDIC strings - - EBCDIC strings are not supported. - - * packed binary coded decimal - - Packed binary coded decimal is not supported. This means that the - `DC.P' and `DCB.P' pseudo-ops are not supported. - - * `FEQU' pseudo-op - - The m68k `FEQU' pseudo-op is not supported. - - * `NOOBJ' pseudo-op - - The m68k `NOOBJ' pseudo-op is not supported. - - * `OPT' branch control options - - The m68k `OPT' branch control options--`B', `BRS', `BRB', `BRL', - and `BRW'--are ignored. `as' automatically relaxes all branches, - whether forward or backward, to an appropriate size, so these - options serve no purpose. - - * `OPT' list control options - - The following m68k `OPT' list control options are ignored: `C', - `CEX', `CL', `CRE', `E', `G', `I', `M', `MEX', `MC', `MD', `X'. - - * other `OPT' options - - The following m68k `OPT' options are ignored: `NEST', `O', `OLD', - `OP', `P', `PCO', `PCR', `PCS', `R'. - - * `OPT' `D' option is default - - The m68k `OPT' `D' option is the default, unlike the MRI assembler. - `OPT NOD' may be used to turn it off. - - * `XREF' pseudo-op. - - The m68k `XREF' pseudo-op is ignored. - - * `.debug' pseudo-op - - The i960 `.debug' pseudo-op is not supported. - - * `.extended' pseudo-op - - The i960 `.extended' pseudo-op is not supported. - - * `.list' pseudo-op. - - The various options of the i960 `.list' pseudo-op are not - supported. - - * `.optimize' pseudo-op - - The i960 `.optimize' pseudo-op is not supported. - - * `.output' pseudo-op - - The i960 `.output' pseudo-op is not supported. - - * `.setreal' pseudo-op - - The i960 `.setreal' pseudo-op is not supported. - - - -File: as.info, Node: MD, Next: o, Prev: M, Up: Invoking - -2.9 Dependency Tracking: `--MD' -=============================== - -`as' can generate a dependency file for the file it creates. This file -consists of a single rule suitable for `make' describing the -dependencies of the main source file. - - The rule is written to the file named in its argument. - - This feature is used in the automatic updating of makefiles. - - -File: as.info, Node: o, Next: R, Prev: MD, Up: Invoking - -2.10 Name the Object File: `-o' -=============================== - -There is always one object file output when you run `as'. By default -it has the name `a.out' (or `b.out', for Intel 960 targets only). You -use this option (which takes exactly one filename) to give the object -file a different name. - - Whatever the object file is called, `as' overwrites any existing -file of the same name. - - -File: as.info, Node: R, Next: statistics, Prev: o, Up: Invoking - -2.11 Join Data and Text Sections: `-R' -====================================== - -`-R' tells `as' to write the object file as if all data-section data -lives in the text section. This is only done at the very last moment: -your binary data are the same, but data section parts are relocated -differently. The data section part of your object file is zero bytes -long because all its bytes are appended to the text section. (*Note -Sections and Relocation: Sections.) - - When you specify `-R' it would be possible to generate shorter -address displacements (because we do not have to cross between text and -data section). We refrain from doing this simply for compatibility with -older versions of `as'. In future, `-R' may work this way. - - When `as' is configured for COFF or ELF output, this option is only -useful if you use sections named `.text' and `.data'. - - `-R' is not supported for any of the HPPA targets. Using `-R' -generates a warning from `as'. - - -File: as.info, Node: statistics, Next: traditional-format, Prev: R, Up: Invoking - -2.12 Display Assembly Statistics: `--statistics' -================================================ - -Use `--statistics' to display two statistics about the resources used by -`as': the maximum amount of space allocated during the assembly (in -bytes), and the total execution time taken for the assembly (in CPU -seconds). - - -File: as.info, Node: traditional-format, Next: v, Prev: statistics, Up: Invoking - -2.13 Compatible Output: `--traditional-format' -============================================== - -For some targets, the output of `as' is different in some ways from the -output of some existing assembler. This switch requests `as' to use -the traditional format instead. - - For example, it disables the exception frame optimizations which -`as' normally does by default on `gcc' output. - - -File: as.info, Node: v, Next: W, Prev: traditional-format, Up: Invoking - -2.14 Announce Version: `-v' -=========================== - -You can find out what version of as is running by including the option -`-v' (which you can also spell as `-version') on the command line. - - -File: as.info, Node: W, Next: Z, Prev: v, Up: Invoking - -2.15 Control Warnings: `-W', `--warn', `--no-warn', `--fatal-warnings' -====================================================================== - -`as' should never give a warning or error message when assembling -compiler output. But programs written by people often cause `as' to -give a warning that a particular assumption was made. All such -warnings are directed to the standard error file. - - If you use the `-W' and `--no-warn' options, no warnings are issued. -This only affects the warning messages: it does not change any -particular of how `as' assembles your file. Errors, which stop the -assembly, are still reported. - - If you use the `--fatal-warnings' option, `as' considers files that -generate warnings to be in error. - - You can switch these options off again by specifying `--warn', which -causes warnings to be output as usual. - - -File: as.info, Node: Z, Prev: W, Up: Invoking - -2.16 Generate Object File in Spite of Errors: `-Z' -================================================== - -After an error message, `as' normally produces no output. If for some -reason you are interested in object file output even after `as' gives -an error message on your program, use the `-Z' option. If there are -any errors, `as' continues anyways, and writes an object file after a -final warning message of the form `N errors, M warnings, generating bad -object file.' - - -File: as.info, Node: Syntax, Next: Sections, Prev: Invoking, Up: Top - -3 Syntax -******** - -This chapter describes the machine-independent syntax allowed in a -source file. `as' syntax is similar to what many other assemblers use; -it is inspired by the BSD 4.2 assembler, except that `as' does not -assemble Vax bit-fields. - -* Menu: - -* Preprocessing:: Preprocessing -* Whitespace:: Whitespace -* Comments:: Comments -* Symbol Intro:: Symbols -* Statements:: Statements -* Constants:: Constants - - -File: as.info, Node: Preprocessing, Next: Whitespace, Up: Syntax - -3.1 Preprocessing -================= - -The `as' internal preprocessor: - * adjusts and removes extra whitespace. It leaves one space or tab - before the keywords on a line, and turns any other whitespace on - the line into a single space. - - * removes all comments, replacing them with a single space, or an - appropriate number of newlines. - - * converts character constants into the appropriate numeric values. - - It does not do macro processing, include file handling, or anything -else you may get from your C compiler's preprocessor. You can do -include file processing with the `.include' directive (*note -`.include': Include.). You can use the GNU C compiler driver to get -other "CPP" style preprocessing by giving the input file a `.S' suffix. -*Note Options Controlling the Kind of Output: (gcc.info)Overall -Options. - - Excess whitespace, comments, and character constants cannot be used -in the portions of the input text that are not preprocessed. - - If the first line of an input file is `#NO_APP' or if you use the -`-f' option, whitespace and comments are not removed from the input -file. Within an input file, you can ask for whitespace and comment -removal in specific portions of the by putting a line that says `#APP' -before the text that may contain whitespace or comments, and putting a -line that says `#NO_APP' after this text. This feature is mainly -intend to support `asm' statements in compilers whose output is -otherwise free of comments and whitespace. - - -File: as.info, Node: Whitespace, Next: Comments, Prev: Preprocessing, Up: Syntax - -3.2 Whitespace -============== - -"Whitespace" is one or more blanks or tabs, in any order. Whitespace -is used to separate symbols, and to make programs neater for people to -read. Unless within character constants (*note Character Constants: -Characters.), any whitespace means the same as exactly one space. - - -File: as.info, Node: Comments, Next: Symbol Intro, Prev: Whitespace, Up: Syntax - -3.3 Comments -============ - -There are two ways of rendering comments to `as'. In both cases the -comment is equivalent to one space. - - Anything from `/*' through the next `*/' is a comment. This means -you may not nest these comments. - - /* - The only way to include a newline ('\n') in a comment - is to use this sort of comment. - */ - - /* This sort of comment does not nest. */ - - Anything from the "line comment" character to the next newline is -considered a comment and is ignored. The line comment character is `;' -for the AMD 29K family; `;' on the ARC; `@' on the ARM; `;' for the -H8/300 family; `!' for the H8/500 family; `;' for the HPPA; `#' on the -i386 and x86-64; `#' on the i960; `;' for the PDP-11; `;' for picoJava; -`#' for Motorola PowerPC; `!' for the Renesas / SuperH SH; `!' on the -SPARC; `#' on the ip2k; `#' on the m32r; `|' on the 680x0; `#' on the -68HC11 and 68HC12; `;' on the M880x0; `#' on the Vax; `!' for the Z8000; -`#' on the V850; `#' for Xtensa systems; see *Note Machine -Dependencies::. - - On some machines there are two different line comment characters. -One character only begins a comment if it is the first non-whitespace -character on a line, while the other always begins a comment. - - The V850 assembler also supports a double dash as starting a comment -that extends to the end of the line. - - `--'; - - To be compatible with past assemblers, lines that begin with `#' -have a special interpretation. Following the `#' should be an absolute -expression (*note Expressions::): the logical line number of the _next_ -line. Then a string (*note Strings: Strings.) is allowed: if present -it is a new logical file name. The rest of the line, if any, should be -whitespace. - - If the first non-whitespace characters on the line are not numeric, -the line is ignored. (Just like a comment.) - - # This is an ordinary comment. - # 42-6 "new_file_name" # New logical file name - # This is logical line # 36. - This feature is deprecated, and may disappear from future versions -of `as'. - - -File: as.info, Node: Symbol Intro, Next: Statements, Prev: Comments, Up: Syntax - -3.4 Symbols -=========== - -A "symbol" is one or more characters chosen from the set of all letters -(both upper and lower case), digits and the three characters `_.$'. On -most machines, you can also use `$' in symbol names; exceptions are -noted in *Note Machine Dependencies::. No symbol may begin with a -digit. Case is significant. There is no length limit: all characters -are significant. Symbols are delimited by characters not in that set, -or by the beginning of a file (since the source program must end with a -newline, the end of a file is not a possible symbol delimiter). *Note -Symbols::. - - -File: as.info, Node: Statements, Next: Constants, Prev: Symbol Intro, Up: Syntax - -3.5 Statements -============== - -A "statement" ends at a newline character (`\n') or line separator -character. (The line separator is usually `;', unless this conflicts -with the comment character; *note Machine Dependencies::.) The newline -or separator character is considered part of the preceding statement. -Newlines and separators within character constants are an exception: -they do not end statements. - -It is an error to end any statement with end-of-file: the last -character of any input file should be a newline. - - An empty statement is allowed, and may include whitespace. It is -ignored. - - A statement begins with zero or more labels, optionally followed by a -key symbol which determines what kind of statement it is. The key -symbol determines the syntax of the rest of the statement. If the -symbol begins with a dot `.' then the statement is an assembler -directive: typically valid for any computer. If the symbol begins with -a letter the statement is an assembly language "instruction": it -assembles into a machine language instruction. Different versions of -`as' for different computers recognize different instructions. In -fact, the same symbol may represent a different instruction in a -different computer's assembly language. - - A label is a symbol immediately followed by a colon (`:'). -Whitespace before a label or after a colon is permitted, but you may not -have whitespace between a label's symbol and its colon. *Note Labels::. - - For HPPA targets, labels need not be immediately followed by a -colon, but the definition of a label must begin in column zero. This -also implies that only one label may be defined on each line. - - label: .directive followed by something - another_label: # This is an empty statement. - instruction operand_1, operand_2, ... - - -File: as.info, Node: Constants, Prev: Statements, Up: Syntax - -3.6 Constants -============= - -A constant is a number, written so that its value is known by -inspection, without knowing any context. Like this: - .byte 74, 0112, 092, 0x4A, 0X4a, 'J, '\J # All the same value. - .ascii "Ring the bell\7" # A string constant. - .octa 0x123456789abcdef0123456789ABCDEF0 # A bignum. - .float 0f-314159265358979323846264338327\ - 95028841971.693993751E-40 # - pi, a flonum. - -* Menu: - -* Characters:: Character Constants -* Numbers:: Number Constants - - -File: as.info, Node: Characters, Next: Numbers, Up: Constants - -3.6.1 Character Constants -------------------------- - -There are two kinds of character constants. A "character" stands for -one character in one byte and its value may be used in numeric -expressions. String constants (properly called string _literals_) are -potentially many bytes and their values may not be used in arithmetic -expressions. - -* Menu: - -* Strings:: Strings -* Chars:: Characters - - -File: as.info, Node: Strings, Next: Chars, Up: Characters - -3.6.1.1 Strings -............... - -A "string" is written between double-quotes. It may contain -double-quotes or null characters. The way to get special characters -into a string is to "escape" these characters: precede them with a -backslash `\' character. For example `\\' represents one backslash: -the first `\' is an escape which tells `as' to interpret the second -character literally as a backslash (which prevents `as' from -recognizing the second `\' as an escape character). The complete list -of escapes follows. - -`\b' - Mnemonic for backspace; for ASCII this is octal code 010. - -`\f' - Mnemonic for FormFeed; for ASCII this is octal code 014. - -`\n' - Mnemonic for newline; for ASCII this is octal code 012. - -`\r' - Mnemonic for carriage-Return; for ASCII this is octal code 015. - -`\t' - Mnemonic for horizontal Tab; for ASCII this is octal code 011. - -`\ DIGIT DIGIT DIGIT' - An octal character code. The numeric code is 3 octal digits. For - compatibility with other Unix systems, 8 and 9 are accepted as - digits: for example, `\008' has the value 010, and `\009' the - value 011. - -`\`x' HEX-DIGITS...' - A hex character code. All trailing hex digits are combined. - Either upper or lower case `x' works. - -`\\' - Represents one `\' character. - -`\"' - Represents one `"' character. Needed in strings to represent this - character, because an unescaped `"' would end the string. - -`\ ANYTHING-ELSE' - Any other character when escaped by `\' gives a warning, but - assembles as if the `\' was not present. The idea is that if you - used an escape sequence you clearly didn't want the literal - interpretation of the following character. However `as' has no - other interpretation, so `as' knows it is giving you the wrong - code and warns you of the fact. - - Which characters are escapable, and what those escapes represent, -varies widely among assemblers. The current set is what we think the -BSD 4.2 assembler recognizes, and is a subset of what most C compilers -recognize. If you are in doubt, do not use an escape sequence. - - -File: as.info, Node: Chars, Prev: Strings, Up: Characters - -3.6.1.2 Characters -.................. - -A single character may be written as a single quote immediately -followed by that character. The same escapes apply to characters as to -strings. So if you want to write the character backslash, you must -write `'\\' where the first `\' escapes the second `\'. As you can -see, the quote is an acute accent, not a grave accent. A newline -immediately following an acute accent is taken as a literal character -and does not count as the end of a statement. The value of a character -constant in a numeric expression is the machine's byte-wide code for -that character. `as' assumes your character code is ASCII: `'A' means -65, `'B' means 66, and so on. - - -File: as.info, Node: Numbers, Prev: Characters, Up: Constants - -3.6.2 Number Constants ----------------------- - -`as' distinguishes three kinds of numbers according to how they are -stored in the target machine. _Integers_ are numbers that would fit -into an `int' in the C language. _Bignums_ are integers, but they are -stored in more than 32 bits. _Flonums_ are floating point numbers, -described below. - -* Menu: - -* Integers:: Integers -* Bignums:: Bignums -* Flonums:: Flonums - - -File: as.info, Node: Integers, Next: Bignums, Up: Numbers - -3.6.2.1 Integers -................ - -A binary integer is `0b' or `0B' followed by zero or more of the binary -digits `01'. - - An octal integer is `0' followed by zero or more of the octal digits -(`01234567'). - - A decimal integer starts with a non-zero digit followed by zero or -more digits (`0123456789'). - - A hexadecimal integer is `0x' or `0X' followed by one or more -hexadecimal digits chosen from `0123456789abcdefABCDEF'. - - Integers have the usual values. To denote a negative integer, use -the prefix operator `-' discussed under expressions (*note Prefix -Operators: Prefix Ops.). - - -File: as.info, Node: Bignums, Next: Flonums, Prev: Integers, Up: Numbers - -3.6.2.2 Bignums -............... - -A "bignum" has the same syntax and semantics as an integer except that -the number (or its negative) takes more than 32 bits to represent in -binary. The distinction is made because in some places integers are -permitted while bignums are not. - - -File: as.info, Node: Flonums, Prev: Bignums, Up: Numbers - -3.6.2.3 Flonums -............... - -A "flonum" represents a floating point number. The translation is -indirect: a decimal floating point number from the text is converted by -`as' to a generic binary floating point number of more than sufficient -precision. This generic floating point number is converted to a -particular computer's floating point format (or formats) by a portion -of `as' specialized to that computer. - - A flonum is written by writing (in order) - * The digit `0'. (`0' is optional on the HPPA.) - - * A letter, to tell `as' the rest of the number is a flonum. `e' is - recommended. Case is not important. - - On the H8/300, H8/500, Renesas / SuperH SH, and AMD 29K - architectures, the letter must be one of the letters `DFPRSX' (in - upper or lower case). - - On the ARC, the letter must be one of the letters `DFRS' (in upper - or lower case). - - On the Intel 960 architecture, the letter must be one of the - letters `DFT' (in upper or lower case). - - On the HPPA architecture, the letter must be `E' (upper case only). - - * An optional sign: either `+' or `-'. - - * An optional "integer part": zero or more decimal digits. - - * An optional "fractional part": `.' followed by zero or more - decimal digits. - - * An optional exponent, consisting of: - - * An `E' or `e'. - - * Optional sign: either `+' or `-'. - - * One or more decimal digits. - - - At least one of the integer part or the fractional part must be -present. The floating point number has the usual base-10 value. - - `as' does all processing using integers. Flonums are computed -independently of any floating point hardware in the computer running -`as'. - - -File: as.info, Node: Sections, Next: Symbols, Prev: Syntax, Up: Top - -4 Sections and Relocation -************************* - -* Menu: - -* Secs Background:: Background -* Ld Sections:: Linker Sections -* As Sections:: Assembler Internal Sections -* Sub-Sections:: Sub-Sections -* bss:: bss Section - - -File: as.info, Node: Secs Background, Next: Ld Sections, Up: Sections - -4.1 Background -============== - -Roughly, a section is a range of addresses, with no gaps; all data "in" -those addresses is treated the same for some particular purpose. For -example there may be a "read only" section. - - The linker `ld' reads many object files (partial programs) and -combines their contents to form a runnable program. When `as' emits an -object file, the partial program is assumed to start at address 0. -`ld' assigns the final addresses for the partial program, so that -different partial programs do not overlap. This is actually an -oversimplification, but it suffices to explain how `as' uses sections. - - `ld' moves blocks of bytes of your program to their run-time -addresses. These blocks slide to their run-time addresses as rigid -units; their length does not change and neither does the order of bytes -within them. Such a rigid unit is called a _section_. Assigning -run-time addresses to sections is called "relocation". It includes the -task of adjusting mentions of object-file addresses so they refer to -the proper run-time addresses. For the H8/300 and H8/500, and for the -Renesas / SuperH SH, `as' pads sections if needed to ensure they end on -a word (sixteen bit) boundary. - - An object file written by `as' has at least three sections, any of -which may be empty. These are named "text", "data" and "bss" sections. - - When it generates COFF or ELF output, `as' can also generate -whatever other named sections you specify using the `.section' -directive (*note `.section': Section.). If you do not use any -directives that place output in the `.text' or `.data' sections, these -sections still exist, but are empty. - - When `as' generates SOM or ELF output for the HPPA, `as' can also -generate whatever other named sections you specify using the `.space' -and `.subspace' directives. See `HP9000 Series 800 Assembly Language -Reference Manual' (HP 92432-90001) for details on the `.space' and -`.subspace' assembler directives. - - Additionally, `as' uses different names for the standard text, data, -and bss sections when generating SOM output. Program text is placed -into the `$CODE$' section, data into `$DATA$', and BSS into `$BSS$'. - - Within the object file, the text section starts at address `0', the -data section follows, and the bss section follows the data section. - - When generating either SOM or ELF output files on the HPPA, the text -section starts at address `0', the data section at address `0x4000000', -and the bss section follows the data section. - - To let `ld' know which data changes when the sections are relocated, -and how to change that data, `as' also writes to the object file -details of the relocation needed. To perform relocation `ld' must -know, each time an address in the object file is mentioned: - * Where in the object file is the beginning of this reference to an - address? - - * How long (in bytes) is this reference? - - * Which section does the address refer to? What is the numeric - value of - (ADDRESS) - (START-ADDRESS OF SECTION)? - - * Is the reference to an address "Program-Counter relative"? - - In fact, every address `as' ever uses is expressed as - (SECTION) + (OFFSET INTO SECTION) - Further, most expressions `as' computes have this section-relative -nature. (For some object formats, such as SOM for the HPPA, some -expressions are symbol-relative instead.) - - In this manual we use the notation {SECNAME N} to mean "offset N -into section SECNAME." - - Apart from text, data and bss sections you need to know about the -"absolute" section. When `ld' mixes partial programs, addresses in the -absolute section remain unchanged. For example, address `{absolute 0}' -is "relocated" to run-time address 0 by `ld'. Although the linker -never arranges two partial programs' data sections with overlapping -addresses after linking, _by definition_ their absolute sections must -overlap. Address `{absolute 239}' in one part of a program is always -the same address when the program is running as address `{absolute -239}' in any other part of the program. - - The idea of sections is extended to the "undefined" section. Any -address whose section is unknown at assembly time is by definition -rendered {undefined U}--where U is filled in later. Since numbers are -always defined, the only way to generate an undefined address is to -mention an undefined symbol. A reference to a named common block would -be such a symbol: its value is unknown at assembly time so it has -section _undefined_. - - By analogy the word _section_ is used to describe groups of sections -in the linked program. `ld' puts all partial programs' text sections -in contiguous addresses in the linked program. It is customary to -refer to the _text section_ of a program, meaning all the addresses of -all partial programs' text sections. Likewise for data and bss -sections. - - Some sections are manipulated by `ld'; others are invented for use -of `as' and have no meaning except during assembly. - - -File: as.info, Node: Ld Sections, Next: As Sections, Prev: Secs Background, Up: Sections - -4.2 Linker Sections -=================== - -`ld' deals with just four kinds of sections, summarized below. - -*named sections* -*text section* -*data section* - These sections hold your program. `as' and `ld' treat them as - separate but equal sections. Anything you can say of one section - is true of another. When the program is running, however, it is - customary for the text section to be unalterable. The text - section is often shared among processes: it contains instructions, - constants and the like. The data section of a running program is - usually alterable: for example, C variables would be stored in the - data section. - -*bss section* - This section contains zeroed bytes when your program begins - running. It is used to hold uninitialized variables or common - storage. The length of each partial program's bss section is - important, but because it starts out containing zeroed bytes there - is no need to store explicit zero bytes in the object file. The - bss section was invented to eliminate those explicit zeros from - object files. - -*absolute section* - Address 0 of this section is always "relocated" to runtime address - 0. This is useful if you want to refer to an address that `ld' - must not change when relocating. In this sense we speak of - absolute addresses being "unrelocatable": they do not change - during relocation. - -*undefined section* - This "section" is a catch-all for address references to objects - not in the preceding sections. - - An idealized example of three relocatable sections follows. The -example uses the traditional section names `.text' and `.data'. Memory -addresses are on the horizontal axis. - - +-----+----+--+ - partial program # 1: |ttttt|dddd|00| - +-----+----+--+ - - text data bss - seg. seg. seg. - - +---+---+---+ - partial program # 2: |TTT|DDD|000| - +---+---+---+ - - +--+---+-----+--+----+---+-----+~~ - linked program: | |TTT|ttttt| |dddd|DDD|00000| - +--+---+-----+--+----+---+-----+~~ - - addresses: 0 ... - - -File: as.info, Node: As Sections, Next: Sub-Sections, Prev: Ld Sections, Up: Sections - -4.3 Assembler Internal Sections -=============================== - -These sections are meant only for the internal use of `as'. They have -no meaning at run-time. You do not really need to know about these -sections for most purposes; but they can be mentioned in `as' warning -messages, so it might be helpful to have an idea of their meanings to -`as'. These sections are used to permit the value of every expression -in your assembly language program to be a section-relative address. - -ASSEMBLER-INTERNAL-LOGIC-ERROR! - An internal assembler logic error has been found. This means - there is a bug in the assembler. - -expr section - The assembler stores complex expression internally as combinations - of symbols. When it needs to represent an expression as a symbol, - it puts it in the expr section. - - -File: as.info, Node: Sub-Sections, Next: bss, Prev: As Sections, Up: Sections - -4.4 Sub-Sections -================ - -Assembled bytes conventionally fall into two sections: text and data. -You may have separate groups of data in named sections that you want to -end up near to each other in the object file, even though they are not -contiguous in the assembler source. `as' allows you to use -"subsections" for this purpose. Within each section, there can be -numbered subsections with values from 0 to 8192. Objects assembled -into the same subsection go into the object file together with other -objects in the same subsection. For example, a compiler might want to -store constants in the text section, but might not want to have them -interspersed with the program being assembled. In this case, the -compiler could issue a `.text 0' before each section of code being -output, and a `.text 1' before each group of constants being output. - -Subsections are optional. If you do not use subsections, everything -goes in subsection number zero. - - Each subsection is zero-padded up to a multiple of four bytes. -(Subsections may be padded a different amount on different flavors of -`as'.) - - Subsections appear in your object file in numeric order, lowest -numbered to highest. (All this to be compatible with other people's -assemblers.) The object file contains no representation of -subsections; `ld' and other programs that manipulate object files see -no trace of them. They just see all your text subsections as a text -section, and all your data subsections as a data section. - - To specify which subsection you want subsequent statements assembled -into, use a numeric argument to specify it, in a `.text EXPRESSION' or -a `.data EXPRESSION' statement. When generating COFF output, you can -also use an extra subsection argument with arbitrary named sections: -`.section NAME, EXPRESSION'. When generating ELF output, you can also -use the `.subsection' directive (*note SubSection::) to specify a -subsection: `.subsection EXPRESSION'. EXPRESSION should be an absolute -expression. (*Note Expressions::.) If you just say `.text' then -`.text 0' is assumed. Likewise `.data' means `.data 0'. Assembly -begins in `text 0'. For instance: - .text 0 # The default subsection is text 0 anyway. - .ascii "This lives in the first text subsection. *" - .text 1 - .ascii "But this lives in the second text subsection." - .data 0 - .ascii "This lives in the data section," - .ascii "in the first data subsection." - .text 0 - .ascii "This lives in the first text section," - .ascii "immediately following the asterisk (*)." - - Each section has a "location counter" incremented by one for every -byte assembled into that section. Because subsections are merely a -convenience restricted to `as' there is no concept of a subsection -location counter. There is no way to directly manipulate a location -counter--but the `.align' directive changes it, and any label -definition captures its current value. The location counter of the -section where statements are being assembled is said to be the "active" -location counter. - - -File: as.info, Node: bss, Prev: Sub-Sections, Up: Sections - -4.5 bss Section -=============== - -The bss section is used for local common variable storage. You may -allocate address space in the bss section, but you may not dictate data -to load into it before your program executes. When your program starts -running, all the contents of the bss section are zeroed bytes. - - The `.lcomm' pseudo-op defines a symbol in the bss section; see -*Note `.lcomm': Lcomm. - - The `.comm' pseudo-op may be used to declare a common symbol, which -is another form of uninitialized symbol; see *Note `.comm': Comm. - - When assembling for a target which supports multiple sections, such -as ELF or COFF, you may switch into the `.bss' section and define -symbols as usual; see *Note `.section': Section. You may only assemble -zero values into the section. Typically the section will only contain -symbol definitions and `.skip' directives (*note `.skip': Skip.). - - -File: as.info, Node: Symbols, Next: Expressions, Prev: Sections, Up: Top - -5 Symbols -********* - -Symbols are a central concept: the programmer uses symbols to name -things, the linker uses symbols to link, and the debugger uses symbols -to debug. - - _Warning:_ `as' does not place symbols in the object file in the - same order they were declared. This may break some debuggers. - -* Menu: - -* Labels:: Labels -* Setting Symbols:: Giving Symbols Other Values -* Symbol Names:: Symbol Names -* Dot:: The Special Dot Symbol -* Symbol Attributes:: Symbol Attributes - - -File: as.info, Node: Labels, Next: Setting Symbols, Up: Symbols - -5.1 Labels -========== - -A "label" is written as a symbol immediately followed by a colon `:'. -The symbol then represents the current value of the active location -counter, and is, for example, a suitable instruction operand. You are -warned if you use the same symbol to represent two different locations: -the first definition overrides any other definitions. - - On the HPPA, the usual form for a label need not be immediately -followed by a colon, but instead must start in column zero. Only one -label may be defined on a single line. To work around this, the HPPA -version of `as' also provides a special directive `.label' for defining -labels more flexibly. - - -File: as.info, Node: Setting Symbols, Next: Symbol Names, Prev: Labels, Up: Symbols - -5.2 Giving Symbols Other Values -=============================== - -A symbol can be given an arbitrary value by writing a symbol, followed -by an equals sign `=', followed by an expression (*note Expressions::). -This is equivalent to using the `.set' directive. *Note `.set': Set. - - -File: as.info, Node: Symbol Names, Next: Dot, Prev: Setting Symbols, Up: Symbols - -5.3 Symbol Names -================ - -Symbol names begin with a letter or with one of `._'. On most -machines, you can also use `$' in symbol names; exceptions are noted in -*Note Machine Dependencies::. That character may be followed by any -string of digits, letters, dollar signs (unless otherwise noted in -*Note Machine Dependencies::), and underscores. For the AMD 29K -family, `?' is also allowed in the body of a symbol name, though not at -its beginning. - -Case of letters is significant: `foo' is a different symbol name than -`Foo'. - - Each symbol has exactly one name. Each name in an assembly language -program refers to exactly one symbol. You may use that symbol name any -number of times in a program. - -Local Symbol Names ------------------- - -Local symbols help compilers and programmers use names temporarily. -They create symbols which are guaranteed to be unique over the entire -scope of the input source code and which can be referred to by a simple -notation. To define a local symbol, write a label of the form `N:' -(where N represents any positive integer). To refer to the most recent -previous definition of that symbol write `Nb', using the same number as -when you defined the label. To refer to the next definition of a local -label, write `Nf'-- The `b' stands for"backwards" and the `f' stands -for "forwards". - - There is no restriction on how you can use these labels, and you can -reuse them too. So that it is possible to repeatedly define the same -local label (using the same number `N'), although you can only refer to -the most recently defined local label of that number (for a backwards -reference) or the next definition of a specific local label for a -forward reference. It is also worth noting that the first 10 local -labels (`0:'...`9:') are implemented in a slightly more efficient -manner than the others. - - Here is an example: - - 1: branch 1f - 2: branch 1b - 1: branch 2f - 2: branch 1b - - Which is the equivalent of: - - label_1: branch label_3 - label_2: branch label_1 - label_3: branch label_4 - label_4: branch label_3 - - Local symbol names are only a notational device. They are -immediately transformed into more conventional symbol names before the -assembler uses them. The symbol names stored in the symbol table, -appearing in error messages and optionally emitted to the object file. -The names are constructed using these parts: - -`L' - All local labels begin with `L'. Normally both `as' and `ld' - forget symbols that start with `L'. These labels are used for - symbols you are never intended to see. If you use the `-L' option - then `as' retains these symbols in the object file. If you also - instruct `ld' to retain these symbols, you may use them in - debugging. - -`NUMBER' - This is the number that was used in the local label definition. - So if the label is written `55:' then the number is `55'. - -`C-B' - This unusual character is included so you do not accidentally - invent a symbol of the same name. The character has ASCII value - of `\002' (control-B). - -`_ordinal number_' - This is a serial number to keep the labels distinct. The first - definition of `0:' gets the number `1'. The 15th definition of - `0:' gets the number `15', and so on. Likewise the first - definition of `1:' gets the number `1' and its 15th defintion gets - `15' as well. - - So for example, the first `1:' is named `L1C-B1', the 44th `3:' is -named `L3C-B44'. - -Dollar Local Labels -------------------- - -`as' also supports an even more local form of local labels called -dollar labels. These labels go out of scope (ie they become undefined) -as soon as a non-local label is defined. Thus they remain valid for -only a small region of the input source code. Normal local labels, by -contrast, remain in scope for the entire file, or until they are -redefined by another occurrence of the same local label. - - Dollar labels are defined in exactly the same way as ordinary local -labels, except that instead of being terminated by a colon, they are -terminated by a dollar sign. eg `55$'. - - They can also be distinguished from ordinary local labels by their -transformed name which uses ASCII character `\001' (control-A) as the -magic character to distinguish them from ordinary labels. Thus the 5th -defintion of `6$' is named `L6C-A5'. - - -File: as.info, Node: Dot, Next: Symbol Attributes, Prev: Symbol Names, Up: Symbols - -5.4 The Special Dot Symbol -========================== - -The special symbol `.' refers to the current address that `as' is -assembling into. Thus, the expression `melvin: .long .' defines -`melvin' to contain its own address. Assigning a value to `.' is -treated the same as a `.org' directive. Thus, the expression `.=.+4' -is the same as saying `.space 4'. - - -File: as.info, Node: Symbol Attributes, Prev: Dot, Up: Symbols - -5.5 Symbol Attributes -===================== - -Every symbol has, as well as its name, the attributes "Value" and -"Type". Depending on output format, symbols can also have auxiliary -attributes. - - If you use a symbol without defining it, `as' assumes zero for all -these attributes, and probably won't warn you. This makes the symbol -an externally defined symbol, which is generally what you would want. - -* Menu: - -* Symbol Value:: Value -* Symbol Type:: Type - - -* a.out Symbols:: Symbol Attributes: `a.out' - -* COFF Symbols:: Symbol Attributes for COFF - -* SOM Symbols:: Symbol Attributes for SOM - - -File: as.info, Node: Symbol Value, Next: Symbol Type, Up: Symbol Attributes - -5.5.1 Value ------------ - -The value of a symbol is (usually) 32 bits. For a symbol which labels a -location in the text, data, bss or absolute sections the value is the -number of addresses from the start of that section to the label. -Naturally for text, data and bss sections the value of a symbol changes -as `ld' changes section base addresses during linking. Absolute -symbols' values do not change during linking: that is why they are -called absolute. - - The value of an undefined symbol is treated in a special way. If it -is 0 then the symbol is not defined in this assembler source file, and -`ld' tries to determine its value from other files linked into the same -program. You make this kind of symbol simply by mentioning a symbol -name without defining it. A non-zero value represents a `.comm' common -declaration. The value is how much common storage to reserve, in bytes -(addresses). The symbol refers to the first address of the allocated -storage. - - -File: as.info, Node: Symbol Type, Next: a.out Symbols, Prev: Symbol Value, Up: Symbol Attributes - -5.5.2 Type ----------- - -The type attribute of a symbol contains relocation (section) -information, any flag settings indicating that a symbol is external, and -(optionally), other information for linkers and debuggers. The exact -format depends on the object-code output format in use. - - -File: as.info, Node: a.out Symbols, Next: COFF Symbols, Prev: Symbol Type, Up: Symbol Attributes - -5.5.3 Symbol Attributes: `a.out' --------------------------------- - -* Menu: - -* Symbol Desc:: Descriptor -* Symbol Other:: Other - - -File: as.info, Node: Symbol Desc, Next: Symbol Other, Up: a.out Symbols - -5.5.3.1 Descriptor -.................. - -This is an arbitrary 16-bit value. You may establish a symbol's -descriptor value by using a `.desc' statement (*note `.desc': Desc.). -A descriptor value means nothing to `as'. - - -File: as.info, Node: Symbol Other, Prev: Symbol Desc, Up: a.out Symbols - -5.5.3.2 Other -............. - -This is an arbitrary 8-bit value. It means nothing to `as'. - - -File: as.info, Node: COFF Symbols, Next: SOM Symbols, Prev: a.out Symbols, Up: Symbol Attributes - -5.5.4 Symbol Attributes for COFF --------------------------------- - -The COFF format supports a multitude of auxiliary symbol attributes; -like the primary symbol attributes, they are set between `.def' and -`.endef' directives. - -5.5.4.1 Primary Attributes -.......................... - -The symbol name is set with `.def'; the value and type, respectively, -with `.val' and `.type'. - -5.5.4.2 Auxiliary Attributes -............................ - -The `as' directives `.dim', `.line', `.scl', `.size', `.tag', and -`.weak' can generate auxiliary symbol table information for COFF. - - -File: as.info, Node: SOM Symbols, Prev: COFF Symbols, Up: Symbol Attributes - -5.5.5 Symbol Attributes for SOM -------------------------------- - -The SOM format for the HPPA supports a multitude of symbol attributes -set with the `.EXPORT' and `.IMPORT' directives. - - The attributes are described in `HP9000 Series 800 Assembly Language -Reference Manual' (HP 92432-90001) under the `IMPORT' and `EXPORT' -assembler directive documentation. - - -File: as.info, Node: Expressions, Next: Pseudo Ops, Prev: Symbols, Up: Top - -6 Expressions -************* - -An "expression" specifies an address or numeric value. Whitespace may -precede and/or follow an expression. - - The result of an expression must be an absolute number, or else an -offset into a particular section. If an expression is not absolute, -and there is not enough information when `as' sees the expression to -know its section, a second pass over the source program might be -necessary to interpret the expression--but the second pass is currently -not implemented. `as' aborts with an error message in this situation. - -* Menu: - -* Empty Exprs:: Empty Expressions -* Integer Exprs:: Integer Expressions - - -File: as.info, Node: Empty Exprs, Next: Integer Exprs, Up: Expressions - -6.1 Empty Expressions -===================== - -An empty expression has no value: it is just whitespace or null. -Wherever an absolute expression is required, you may omit the -expression, and `as' assumes a value of (absolute) 0. This is -compatible with other assemblers. - - -File: as.info, Node: Integer Exprs, Prev: Empty Exprs, Up: Expressions - -6.2 Integer Expressions -======================= - -An "integer expression" is one or more _arguments_ delimited by -_operators_. - -* Menu: - -* Arguments:: Arguments -* Operators:: Operators -* Prefix Ops:: Prefix Operators -* Infix Ops:: Infix Operators - - -File: as.info, Node: Arguments, Next: Operators, Up: Integer Exprs - -6.2.1 Arguments ---------------- - -"Arguments" are symbols, numbers or subexpressions. In other contexts -arguments are sometimes called "arithmetic operands". In this manual, -to avoid confusing them with the "instruction operands" of the machine -language, we use the term "argument" to refer to parts of expressions -only, reserving the word "operand" to refer only to machine instruction -operands. - - Symbols are evaluated to yield {SECTION NNN} where SECTION is one of -text, data, bss, absolute, or undefined. NNN is a signed, 2's -complement 32 bit integer. - - Numbers are usually integers. - - A number can be a flonum or bignum. In this case, you are warned -that only the low order 32 bits are used, and `as' pretends these 32 -bits are an integer. You may write integer-manipulating instructions -that act on exotic constants, compatible with other assemblers. - - Subexpressions are a left parenthesis `(' followed by an integer -expression, followed by a right parenthesis `)'; or a prefix operator -followed by an argument. - - -File: as.info, Node: Operators, Next: Prefix Ops, Prev: Arguments, Up: Integer Exprs - -6.2.2 Operators ---------------- - -"Operators" are arithmetic functions, like `+' or `%'. Prefix -operators are followed by an argument. Infix operators appear between -their arguments. Operators may be preceded and/or followed by -whitespace. - - -File: as.info, Node: Prefix Ops, Next: Infix Ops, Prev: Operators, Up: Integer Exprs - -6.2.3 Prefix Operator ---------------------- - -`as' has the following "prefix operators". They each take one -argument, which must be absolute. - -`-' - "Negation". Two's complement negation. - -`~' - "Complementation". Bitwise not. - - -File: as.info, Node: Infix Ops, Prev: Prefix Ops, Up: Integer Exprs - -6.2.4 Infix Operators ---------------------- - -"Infix operators" take two arguments, one on either side. Operators -have precedence, but operations with equal precedence are performed left -to right. Apart from `+' or `-', both arguments must be absolute, and -the result is absolute. - - 1. Highest Precedence - - `*' - "Multiplication". - - `/' - "Division". Truncation is the same as the C operator `/' - - `%' - "Remainder". - - `<' - `<<' - "Shift Left". Same as the C operator `<<'. - - `>' - `>>' - "Shift Right". Same as the C operator `>>'. - - 2. Intermediate precedence - - `|' - "Bitwise Inclusive Or". - - `&' - "Bitwise And". - - `^' - "Bitwise Exclusive Or". - - `!' - "Bitwise Or Not". - - 3. Low Precedence - - `+' - "Addition". If either argument is absolute, the result has - the section of the other argument. You may not add together - arguments from different sections. - - `-' - "Subtraction". If the right argument is absolute, the result - has the section of the left argument. If both arguments are - in the same section, the result is absolute. You may not - subtract arguments from different sections. - - `==' - "Is Equal To" - - `<>' - "Is Not Equal To" - - `<' - "Is Less Than" - - `>' - "Is Greater Than" - - `>=' - "Is Greater Than Or Equal To" - - `<=' - "Is Less Than Or Equal To" - - The comparison operators can be used as infix operators. A - true results has a value of -1 whereas a false result has a - value of 0. Note, these operators perform signed - comparisons. - - 4. Lowest Precedence - - `&&' - "Logical And". - - `||' - "Logical Or". - - These two logical operations can be used to combine the - results of sub expressions. Note, unlike the comparison - operators a true result returns a value of 1 but a false - results does still return 0. Also note that the logical or - operator has a slightly lower precedence than logical and. - - - In short, it's only meaningful to add or subtract the _offsets_ in an -address; you can only have a defined section in one of the two -arguments. - - -File: as.info, Node: Pseudo Ops, Next: Machine Dependencies, Prev: Expressions, Up: Top - -7 Assembler Directives -********************** - -All assembler directives have names that begin with a period (`.'). -The rest of the name is letters, usually in lower case. - - This chapter discusses directives that are available regardless of -the target machine configuration for the GNU assembler. Some machine -configurations provide additional directives. *Note Machine -Dependencies::. - -* Menu: - -* Abort:: `.abort' - -* ABORT:: `.ABORT' - -* Align:: `.align ABS-EXPR , ABS-EXPR' -* Ascii:: `.ascii "STRING"'... -* Asciz:: `.asciz "STRING"'... -* Balign:: `.balign ABS-EXPR , ABS-EXPR' -* Byte:: `.byte EXPRESSIONS' -* Comm:: `.comm SYMBOL , LENGTH ' - -* CFI directives:: `.cfi_startproc', `.cfi_endproc', etc. - -* Data:: `.data SUBSECTION' - -* Def:: `.def NAME' - -* Desc:: `.desc SYMBOL, ABS-EXPRESSION' - -* Dim:: `.dim' - -* Double:: `.double FLONUMS' -* Eject:: `.eject' -* Else:: `.else' -* Elseif:: `.elseif' -* End:: `.end' - -* Endef:: `.endef' - -* Endfunc:: `.endfunc' -* Endif:: `.endif' -* Equ:: `.equ SYMBOL, EXPRESSION' -* Equiv:: `.equiv SYMBOL, EXPRESSION' -* Err:: `.err' -* Exitm:: `.exitm' -* Extern:: `.extern' -* Fail:: `.fail' - -* File:: `.file STRING' - -* Fill:: `.fill REPEAT , SIZE , VALUE' -* Float:: `.float FLONUMS' -* Func:: `.func' -* Global:: `.global SYMBOL', `.globl SYMBOL' - -* Hidden:: `.hidden NAMES' - -* hword:: `.hword EXPRESSIONS' -* Ident:: `.ident' -* If:: `.if ABSOLUTE EXPRESSION' -* Incbin:: `.incbin "FILE"[,SKIP[,COUNT]]' -* Include:: `.include "FILE"' -* Int:: `.int EXPRESSIONS' - -* Internal:: `.internal NAMES' - -* Irp:: `.irp SYMBOL,VALUES'... -* Irpc:: `.irpc SYMBOL,VALUES'... -* Lcomm:: `.lcomm SYMBOL , LENGTH' -* Lflags:: `.lflags' - -* Line:: `.line LINE-NUMBER' - -* Ln:: `.ln LINE-NUMBER' -* Linkonce:: `.linkonce [TYPE]' -* List:: `.list' -* Long:: `.long EXPRESSIONS' - -* Macro:: `.macro NAME ARGS'... -* MRI:: `.mri VAL' -* Nolist:: `.nolist' -* Octa:: `.octa BIGNUMS' -* Org:: `.org NEW-LC , FILL' -* P2align:: `.p2align ABS-EXPR , ABS-EXPR' - -* PopSection:: `.popsection' -* Previous:: `.previous' - -* Print:: `.print STRING' - -* Protected:: `.protected NAMES' - -* Psize:: `.psize LINES, COLUMNS' -* Purgem:: `.purgem NAME' - -* PushSection:: `.pushsection NAME' - -* Quad:: `.quad BIGNUMS' -* Rept:: `.rept COUNT' -* Sbttl:: `.sbttl "SUBHEADING"' - -* Scl:: `.scl CLASS' - -* Section:: `.section NAME' - -* Set:: `.set SYMBOL, EXPRESSION' -* Short:: `.short EXPRESSIONS' -* Single:: `.single FLONUMS' - -* Size:: `.size [NAME , EXPRESSION]' - -* Skip:: `.skip SIZE , FILL' -* Sleb128:: `.sleb128 EXPRESSIONS' -* Space:: `.space SIZE , FILL' - -* Stab:: `.stabd, .stabn, .stabs' - -* String:: `.string "STR"' -* Struct:: `.struct EXPRESSION' - -* SubSection:: `.subsection' -* Symver:: `.symver NAME,NAME2@NODENAME' - - -* Tag:: `.tag STRUCTNAME' - -* Text:: `.text SUBSECTION' -* Title:: `.title "HEADING"' - -* Type:: `.type ' - -* Uleb128:: `.uleb128 EXPRESSIONS' - -* Val:: `.val ADDR' - - -* Version:: `.version "STRING"' -* VTableEntry:: `.vtable_entry TABLE, OFFSET' -* VTableInherit:: `.vtable_inherit CHILD, PARENT' - -* Weak:: `.weak NAMES' -* Word:: `.word EXPRESSIONS' -* Deprecated:: Deprecated Directives - - -File: as.info, Node: Abort, Next: ABORT, Up: Pseudo Ops - -7.1 `.abort' -============ - -This directive stops the assembly immediately. It is for compatibility -with other assemblers. The original idea was that the assembly -language source would be piped into the assembler. If the sender of -the source quit, it could use this directive tells `as' to quit also. -One day `.abort' will not be supported. - - -File: as.info, Node: ABORT, Next: Align, Prev: Abort, Up: Pseudo Ops - -7.2 `.ABORT' -============ - -When producing COFF output, `as' accepts this directive as a synonym -for `.abort'. - - When producing `b.out' output, `as' accepts this directive, but -ignores it. - - -File: as.info, Node: Align, Next: Ascii, Prev: ABORT, Up: Pseudo Ops - -7.3 `.align ABS-EXPR, ABS-EXPR, ABS-EXPR' -========================================= - -Pad the location counter (in the current subsection) to a particular -storage boundary. The first expression (which must be absolute) is the -alignment required, as described below. - - The second expression (also absolute) gives the fill value to be -stored in the padding bytes. It (and the comma) may be omitted. If it -is omitted, the padding bytes are normally zero. However, on some -systems, if the section is marked as containing code and the fill value -is omitted, the space is filled with no-op instructions. - - The third expression is also absolute, and is also optional. If it -is present, it is the maximum number of bytes that should be skipped by -this alignment directive. If doing the alignment would require -skipping more bytes than the specified maximum, then the alignment is -not done at all. You can omit the fill value (the second argument) -entirely by simply using two commas after the required alignment; this -can be useful if you want the alignment to be filled with no-op -instructions when appropriate. - - The way the required alignment is specified varies from system to -system. For the a29k, arc, hppa, i386 using ELF, i860, iq2000, m68k, -m88k, or32, s390, sparc, tic4x, tic80 and xtensa, the first expression -is the alignment request in bytes. For example `.align 8' advances the -location counter until it is a multiple of 8. If the location counter -is already a multiple of 8, no change is needed. For the tic54x, the -first expression is the alignment request in words. - - For other systems, including the i386 using a.out format, and the -arm and strongarm, it is the number of low-order zero bits the location -counter must have after advancement. For example `.align 3' advances -the location counter until it a multiple of 8. If the location counter -is already a multiple of 8, no change is needed. - - This inconsistency is due to the different behaviors of the various -native assemblers for these systems which GAS must emulate. GAS also -provides `.balign' and `.p2align' directives, described later, which -have a consistent behavior across all architectures (but are specific -to GAS). - - -File: as.info, Node: Ascii, Next: Asciz, Prev: Align, Up: Pseudo Ops - -7.4 `.ascii "STRING"'... -======================== - -`.ascii' expects zero or more string literals (*note Strings::) -separated by commas. It assembles each string (with no automatic -trailing zero byte) into consecutive addresses. - - -File: as.info, Node: Asciz, Next: Balign, Prev: Ascii, Up: Pseudo Ops - -7.5 `.asciz "STRING"'... -======================== - -`.asciz' is just like `.ascii', but each string is followed by a zero -byte. The "z" in `.asciz' stands for "zero". - - -File: as.info, Node: Balign, Next: Byte, Prev: Asciz, Up: Pseudo Ops - -7.6 `.balign[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR' -============================================== - -Pad the location counter (in the current subsection) to a particular -storage boundary. The first expression (which must be absolute) is the -alignment request in bytes. For example `.balign 8' advances the -location counter until it is a multiple of 8. If the location counter -is already a multiple of 8, no change is needed. - - The second expression (also absolute) gives the fill value to be -stored in the padding bytes. It (and the comma) may be omitted. If it -is omitted, the padding bytes are normally zero. However, on some -systems, if the section is marked as containing code and the fill value -is omitted, the space is filled with no-op instructions. - - The third expression is also absolute, and is also optional. If it -is present, it is the maximum number of bytes that should be skipped by -this alignment directive. If doing the alignment would require -skipping more bytes than the specified maximum, then the alignment is -not done at all. You can omit the fill value (the second argument) -entirely by simply using two commas after the required alignment; this -can be useful if you want the alignment to be filled with no-op -instructions when appropriate. - - The `.balignw' and `.balignl' directives are variants of the -`.balign' directive. The `.balignw' directive treats the fill pattern -as a two byte word value. The `.balignl' directives treats the fill -pattern as a four byte longword value. For example, `.balignw -4,0x368d' will align to a multiple of 4. If it skips two bytes, they -will be filled in with the value 0x368d (the exact placement of the -bytes depends upon the endianness of the processor). If it skips 1 or -3 bytes, the fill value is undefined. - - -File: as.info, Node: Byte, Next: Comm, Prev: Balign, Up: Pseudo Ops - -7.7 `.byte EXPRESSIONS' -======================= - -`.byte' expects zero or more expressions, separated by commas. Each -expression is assembled into the next byte. - - -File: as.info, Node: Comm, Next: CFI directives, Prev: Byte, Up: Pseudo Ops - -7.8 `.comm SYMBOL , LENGTH ' -============================ - -`.comm' declares a common symbol named SYMBOL. When linking, a common -symbol in one object file may be merged with a defined or common symbol -of the same name in another object file. If `ld' does not see a -definition for the symbol-just one or more common symbols-then it will -allocate LENGTH bytes of uninitialized memory. LENGTH must be an -absolute expression. If `ld' sees multiple common symbols with the -same name, and they do not all have the same size, it will allocate -space using the largest size. - - When using ELF, the `.comm' directive takes an optional third -argument. This is the desired alignment of the symbol, specified as a -byte boundary (for example, an alignment of 16 means that the least -significant 4 bits of the address should be zero). The alignment must -be an absolute expression, and it must be a power of two. If `ld' -allocates uninitialized memory for the common symbol, it will use the -alignment when placing the symbol. If no alignment is specified, `as' -will set the alignment to the largest power of two less than or equal -to the size of the symbol, up to a maximum of 16. - - The syntax for `.comm' differs slightly on the HPPA. The syntax is -`SYMBOL .comm, LENGTH'; SYMBOL is optional. - - -File: as.info, Node: CFI directives, Next: Data, Prev: Comm, Up: Pseudo Ops - -7.9 `.cfi_startproc' -==================== - -`.cfi_startproc' is used at the beginning of each function that should -have an entry in `.eh_frame'. It initializes some internal data -structures and emits architecture dependent initial CFI instructions. -Don't forget to close the function by `.cfi_endproc'. - -7.10 `.cfi_endproc' -=================== - -`.cfi_endproc' is used at the end of a function where it closes its -unwind entry previously opened by `.cfi_startproc'. and emits it to -`.eh_frame'. - -7.11 `.cfi_def_cfa REGISTER, OFFSET' -==================================== - -`.cfi_def_cfa' defines a rule for computing CFA as: take address from -REGISTER and add OFFSET to it. - -7.12 `.cfi_def_cfa_register REGISTER' -===================================== - -`.cfi_def_cfa_register' modifies a rule for computing CFA. From now on -REGISTER will be used instead of the old one. Offset remains the same. - -7.13 `.cfi_def_cfa_offset OFFSET' -================================= - -`.cfi_def_cfa_offset' modifies a rule for computing CFA. Register -remains the same, but OFFSET is new. Note that it is the absolute -offset that will be added to a defined register to compute CFA address. - -7.14 `.cfi_adjust_cfa_offset OFFSET' -==================================== - -Same as `.cfi_def_cfa_offset' but OFFSET is a relative value that is -added/substracted from the previous offset. - -7.15 `.cfi_offset REGISTER, OFFSET' -=================================== - -Previous value of REGISTER is saved at offset OFFSET from CFA. - -7.16 `.cfi_rel_offset REGISTER, OFFSET' -======================================= - -Previous value of REGISTER is saved at offset OFFSET from the current -CFA register. This is transformed to `.cfi_offset' using the known -displacement of the CFA register from the CFA. This is often easier to -use, because the number will match the code it's annotating. - -7.17 `.cfi_window_save' -======================= - -SPARC register window has been saved. - -7.18 `.cfi_escape' EXPRESSION[, ...] -==================================== - -Allows the user to add arbitrary bytes to the unwind info. One might -use this to add OS-specific CFI opcodes, or generic CFI opcodes that -GAS does not yet support. - - -File: as.info, Node: Data, Next: Def, Prev: CFI directives, Up: Pseudo Ops - -7.19 `.data SUBSECTION' -======================= - -`.data' tells `as' to assemble the following statements onto the end of -the data subsection numbered SUBSECTION (which is an absolute -expression). If SUBSECTION is omitted, it defaults to zero. - - -File: as.info, Node: Def, Next: Desc, Prev: Data, Up: Pseudo Ops - -7.20 `.def NAME' -================ - -Begin defining debugging information for a symbol NAME; the definition -extends until the `.endef' directive is encountered. - - This directive is only observed when `as' is configured for COFF -format output; when producing `b.out', `.def' is recognized, but -ignored. - - -File: as.info, Node: Desc, Next: Dim, Prev: Def, Up: Pseudo Ops - -7.21 `.desc SYMBOL, ABS-EXPRESSION' -=================================== - -This directive sets the descriptor of the symbol (*note Symbol -Attributes::) to the low 16 bits of an absolute expression. - - The `.desc' directive is not available when `as' is configured for -COFF output; it is only for `a.out' or `b.out' object format. For the -sake of compatibility, `as' accepts it, but produces no output, when -configured for COFF. - - -File: as.info, Node: Dim, Next: Double, Prev: Desc, Up: Pseudo Ops - -7.22 `.dim' -=========== - -This directive is generated by compilers to include auxiliary debugging -information in the symbol table. It is only permitted inside -`.def'/`.endef' pairs. - - `.dim' is only meaningful when generating COFF format output; when -`as' is generating `b.out', it accepts this directive but ignores it. - - -File: as.info, Node: Double, Next: Eject, Prev: Dim, Up: Pseudo Ops - -7.23 `.double FLONUMS' -====================== - -`.double' expects zero or more flonums, separated by commas. It -assembles floating point numbers. The exact kind of floating point -numbers emitted depends on how `as' is configured. *Note Machine -Dependencies::. - - -File: as.info, Node: Eject, Next: Else, Prev: Double, Up: Pseudo Ops - -7.24 `.eject' -============= - -Force a page break at this point, when generating assembly listings. - - -File: as.info, Node: Else, Next: Elseif, Prev: Eject, Up: Pseudo Ops - -7.25 `.else' -============ - -`.else' is part of the `as' support for conditional assembly; *note -`.if': If. It marks the beginning of a section of code to be assembled -if the condition for the preceding `.if' was false. - - -File: as.info, Node: Elseif, Next: End, Prev: Else, Up: Pseudo Ops - -7.26 `.elseif' -============== - -`.elseif' is part of the `as' support for conditional assembly; *note -`.if': If. It is shorthand for beginning a new `.if' block that would -otherwise fill the entire `.else' section. - - -File: as.info, Node: End, Next: Endef, Prev: Elseif, Up: Pseudo Ops - -7.27 `.end' -=========== - -`.end' marks the end of the assembly file. `as' does not process -anything in the file past the `.end' directive. - - -File: as.info, Node: Endef, Next: Endfunc, Prev: End, Up: Pseudo Ops - -7.28 `.endef' -============= - -This directive flags the end of a symbol definition begun with `.def'. - - `.endef' is only meaningful when generating COFF format output; if -`as' is configured to generate `b.out', it accepts this directive but -ignores it. - - -File: as.info, Node: Endfunc, Next: Endif, Prev: Endef, Up: Pseudo Ops - -7.29 `.endfunc' -=============== - -`.endfunc' marks the end of a function specified with `.func'. - - -File: as.info, Node: Endif, Next: Equ, Prev: Endfunc, Up: Pseudo Ops - -7.30 `.endif' -============= - -`.endif' is part of the `as' support for conditional assembly; it marks -the end of a block of code that is only assembled conditionally. *Note -`.if': If. - - -File: as.info, Node: Equ, Next: Equiv, Prev: Endif, Up: Pseudo Ops - -7.31 `.equ SYMBOL, EXPRESSION' -============================== - -This directive sets the value of SYMBOL to EXPRESSION. It is -synonymous with `.set'; *note `.set': Set. - - The syntax for `equ' on the HPPA is `SYMBOL .equ EXPRESSION'. - - -File: as.info, Node: Equiv, Next: Err, Prev: Equ, Up: Pseudo Ops - -7.32 `.equiv SYMBOL, EXPRESSION' -================================ - -The `.equiv' directive is like `.equ' and `.set', except that the -assembler will signal an error if SYMBOL is already defined. Note a -symbol which has been referenced but not actually defined is considered -to be undefined. - - Except for the contents of the error message, this is roughly -equivalent to - .ifdef SYM - .err - .endif - .equ SYM,VAL - - -File: as.info, Node: Err, Next: Exitm, Prev: Equiv, Up: Pseudo Ops - -7.33 `.err' -=========== - -If `as' assembles a `.err' directive, it will print an error message -and, unless the `-Z' option was used, it will not generate an object -file. This can be used to signal error an conditionally compiled code. - - -File: as.info, Node: Exitm, Next: Extern, Prev: Err, Up: Pseudo Ops - -7.34 `.exitm' -============= - -Exit early from the current macro definition. *Note Macro::. - - -File: as.info, Node: Extern, Next: Fail, Prev: Exitm, Up: Pseudo Ops - -7.35 `.extern' -============== - -`.extern' is accepted in the source program--for compatibility with -other assemblers--but it is ignored. `as' treats all undefined symbols -as external. - - -File: as.info, Node: Fail, Next: File, Prev: Extern, Up: Pseudo Ops - -7.36 `.fail EXPRESSION' -======================= - -Generates an error or a warning. If the value of the EXPRESSION is 500 -or more, `as' will print a warning message. If the value is less than -500, `as' will print an error message. The message will include the -value of EXPRESSION. This can occasionally be useful inside complex -nested macros or conditional assembly. - - -File: as.info, Node: File, Next: Fill, Prev: Fail, Up: Pseudo Ops - -7.37 `.file STRING' -=================== - -`.file' tells `as' that we are about to start a new logical file. -STRING is the new file name. In general, the filename is recognized -whether or not it is surrounded by quotes `"'; but if you wish to -specify an empty file name, you must give the quotes-`""'. This -statement may go away in future: it is only recognized to be compatible -with old `as' programs. In some configurations of `as', `.file' has -already been removed to avoid conflicts with other assemblers. *Note -Machine Dependencies::. - - -File: as.info, Node: Fill, Next: Float, Prev: File, Up: Pseudo Ops - -7.38 `.fill REPEAT , SIZE , VALUE' -================================== - -REPEAT, SIZE and VALUE are absolute expressions. This emits REPEAT -copies of SIZE bytes. REPEAT may be zero or more. SIZE may be zero or -more, but if it is more than 8, then it is deemed to have the value 8, -compatible with other people's assemblers. The contents of each REPEAT -bytes is taken from an 8-byte number. The highest order 4 bytes are -zero. The lowest order 4 bytes are VALUE rendered in the byte-order of -an integer on the computer `as' is assembling for. Each SIZE bytes in -a repetition is taken from the lowest order SIZE bytes of this number. -Again, this bizarre behavior is compatible with other people's -assemblers. - - SIZE and VALUE are optional. If the second comma and VALUE are -absent, VALUE is assumed zero. If the first comma and following tokens -are absent, SIZE is assumed to be 1. - - -File: as.info, Node: Float, Next: Func, Prev: Fill, Up: Pseudo Ops - -7.39 `.float FLONUMS' -===================== - -This directive assembles zero or more flonums, separated by commas. It -has the same effect as `.single'. The exact kind of floating point -numbers emitted depends on how `as' is configured. *Note Machine -Dependencies::. - - -File: as.info, Node: Func, Next: Global, Prev: Float, Up: Pseudo Ops - -7.40 `.func NAME[,LABEL]' -========================= - -`.func' emits debugging information to denote function NAME, and is -ignored unless the file is assembled with debugging enabled. Only -`--gstabs[+]' is currently supported. LABEL is the entry point of the -function and if omitted NAME prepended with the `leading char' is used. -`leading char' is usually `_' or nothing, depending on the target. All -functions are currently defined to have `void' return type. The -function must be terminated with `.endfunc'. - - -File: as.info, Node: Global, Next: Hidden, Prev: Func, Up: Pseudo Ops - -7.41 `.global SYMBOL', `.globl SYMBOL' -====================================== - -`.global' makes the symbol visible to `ld'. If you define SYMBOL in -your partial program, its value is made available to other partial -programs that are linked with it. Otherwise, SYMBOL takes its -attributes from a symbol of the same name from another file linked into -the same program. - - Both spellings (`.globl' and `.global') are accepted, for -compatibility with other assemblers. - - On the HPPA, `.global' is not always enough to make it accessible to -other partial programs. You may need the HPPA-only `.EXPORT' directive -as well. *Note HPPA Assembler Directives: HPPA Directives. - - -File: as.info, Node: Hidden, Next: hword, Prev: Global, Up: Pseudo Ops - -7.42 `.hidden NAMES' -==================== - -This is one of the ELF visibility directives. The other two are -`.internal' (*note `.internal': Internal.) and `.protected' (*note -`.protected': Protected.). - - This directive overrides the named symbols default visibility (which -is set by their binding: local, global or weak). The directive sets -the visibility to `hidden' which means that the symbols are not visible -to other components. Such symbols are always considered to be -`protected' as well. - - -File: as.info, Node: hword, Next: Ident, Prev: Hidden, Up: Pseudo Ops - -7.43 `.hword EXPRESSIONS' -========================= - -This expects zero or more EXPRESSIONS, and emits a 16 bit number for -each. - - This directive is a synonym for `.short'; depending on the target -architecture, it may also be a synonym for `.word'. - - -File: as.info, Node: Ident, Next: If, Prev: hword, Up: Pseudo Ops - -7.44 `.ident' -============= - -This directive is used by some assemblers to place tags in object files. -`as' simply accepts the directive for source-file compatibility with -such assemblers, but does not actually emit anything for it. - - -File: as.info, Node: If, Next: Incbin, Prev: Ident, Up: Pseudo Ops - -7.45 `.if ABSOLUTE EXPRESSION' -============================== - -`.if' marks the beginning of a section of code which is only considered -part of the source program being assembled if the argument (which must -be an ABSOLUTE EXPRESSION) is non-zero. The end of the conditional -section of code must be marked by `.endif' (*note `.endif': Endif.); -optionally, you may include code for the alternative condition, flagged -by `.else' (*note `.else': Else.). If you have several conditions to -check, `.elseif' may be used to avoid nesting blocks if/else within -each subsequent `.else' block. - - The following variants of `.if' are also supported: -`.ifdef SYMBOL' - Assembles the following section of code if the specified SYMBOL - has been defined. Note a symbol which has been referenced but not - yet defined is considered to be undefined. - -`.ifc STRING1,STRING2' - Assembles the following section of code if the two strings are the - same. The strings may be optionally quoted with single quotes. - If they are not quoted, the first string stops at the first comma, - and the second string stops at the end of the line. Strings which - contain whitespace should be quoted. The string comparison is - case sensitive. - -`.ifeq ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is zero. - -`.ifeqs STRING1,STRING2' - Another form of `.ifc'. The strings must be quoted using double - quotes. - -`.ifge ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is greater - than or equal to zero. - -`.ifgt ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is greater - than zero. - -`.ifle ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is less - than or equal to zero. - -`.iflt ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is less - than zero. - -`.ifnc STRING1,STRING2.' - Like `.ifc', but the sense of the test is reversed: this assembles - the following section of code if the two strings are not the same. - -`.ifndef SYMBOL' -`.ifnotdef SYMBOL' - Assembles the following section of code if the specified SYMBOL - has not been defined. Both spelling variants are equivalent. - Note a symbol which has been referenced but not yet defined is - considered to be undefined. - -`.ifne ABSOLUTE EXPRESSION' - Assembles the following section of code if the argument is not - equal to zero (in other words, this is equivalent to `.if'). - -`.ifnes STRING1,STRING2' - Like `.ifeqs', but the sense of the test is reversed: this - assembles the following section of code if the two strings are not - the same. - - -File: as.info, Node: Incbin, Next: Include, Prev: If, Up: Pseudo Ops - -7.46 `.incbin "FILE"[,SKIP[,COUNT]]' -==================================== - -The `incbin' directive includes FILE verbatim at the current location. -You can control the search paths used with the `-I' command-line option -(*note Command-Line Options: Invoking.). Quotation marks are required -around FILE. - - The SKIP argument skips a number of bytes from the start of the -FILE. The COUNT argument indicates the maximum number of bytes to -read. Note that the data is not aligned in any way, so it is the user's -responsibility to make sure that proper alignment is provided both -before and after the `incbin' directive. - - -File: as.info, Node: Include, Next: Int, Prev: Incbin, Up: Pseudo Ops - -7.47 `.include "FILE"' -====================== - -This directive provides a way to include supporting files at specified -points in your source program. The code from FILE is assembled as if -it followed the point of the `.include'; when the end of the included -file is reached, assembly of the original file continues. You can -control the search paths used with the `-I' command-line option (*note -Command-Line Options: Invoking.). Quotation marks are required around -FILE. - - -File: as.info, Node: Int, Next: Internal, Prev: Include, Up: Pseudo Ops - -7.48 `.int EXPRESSIONS' -======================= - -Expect zero or more EXPRESSIONS, of any section, separated by commas. -For each expression, emit a number that, at run time, is the value of -that expression. The byte order and bit size of the number depends on -what kind of target the assembly is for. - - -File: as.info, Node: Internal, Next: Irp, Prev: Int, Up: Pseudo Ops - -7.49 `.internal NAMES' -====================== - -This is one of the ELF visibility directives. The other two are -`.hidden' (*note `.hidden': Hidden.) and `.protected' (*note -`.protected': Protected.). - - This directive overrides the named symbols default visibility (which -is set by their binding: local, global or weak). The directive sets -the visibility to `internal' which means that the symbols are -considered to be `hidden' (i.e., not visible to other components), and -that some extra, processor specific processing must also be performed -upon the symbols as well. - - -File: as.info, Node: Irp, Next: Irpc, Prev: Internal, Up: Pseudo Ops - -7.50 `.irp SYMBOL,VALUES'... -============================ - -Evaluate a sequence of statements assigning different values to SYMBOL. -The sequence of statements starts at the `.irp' directive, and is -terminated by an `.endr' directive. For each VALUE, SYMBOL is set to -VALUE, and the sequence of statements is assembled. If no VALUE is -listed, the sequence of statements is assembled once, with SYMBOL set -to the null string. To refer to SYMBOL within the sequence of -statements, use \SYMBOL. - - For example, assembling - - .irp param,1,2,3 - move d\param,sp@- - .endr - - is equivalent to assembling - - move d1,sp@- - move d2,sp@- - move d3,sp@- - - -File: as.info, Node: Irpc, Next: Lcomm, Prev: Irp, Up: Pseudo Ops - -7.51 `.irpc SYMBOL,VALUES'... -============================= - -Evaluate a sequence of statements assigning different values to SYMBOL. -The sequence of statements starts at the `.irpc' directive, and is -terminated by an `.endr' directive. For each character in VALUE, -SYMBOL is set to the character, and the sequence of statements is -assembled. If no VALUE is listed, the sequence of statements is -assembled once, with SYMBOL set to the null string. To refer to SYMBOL -within the sequence of statements, use \SYMBOL. - - For example, assembling - - .irpc param,123 - move d\param,sp@- - .endr - - is equivalent to assembling - - move d1,sp@- - move d2,sp@- - move d3,sp@- - - -File: as.info, Node: Lcomm, Next: Lflags, Prev: Irpc, Up: Pseudo Ops - -7.52 `.lcomm SYMBOL , LENGTH' -============================= - -Reserve LENGTH (an absolute expression) bytes for a local common -denoted by SYMBOL. The section and value of SYMBOL are those of the -new local common. The addresses are allocated in the bss section, so -that at run-time the bytes start off zeroed. SYMBOL is not declared -global (*note `.global': Global.), so is normally not visible to `ld'. - - Some targets permit a third argument to be used with `.lcomm'. This -argument specifies the desired alignment of the symbol in the bss -section. - - The syntax for `.lcomm' differs slightly on the HPPA. The syntax is -`SYMBOL .lcomm, LENGTH'; SYMBOL is optional. - - -File: as.info, Node: Lflags, Next: Line, Prev: Lcomm, Up: Pseudo Ops - -7.53 `.lflags' -============== - -`as' accepts this directive, for compatibility with other assemblers, -but ignores it. - - -File: as.info, Node: Line, Next: Ln, Prev: Lflags, Up: Pseudo Ops - -7.54 `.line LINE-NUMBER' -======================== - - Change the logical line number. LINE-NUMBER must be an absolute -expression. The next line has that logical line number. Therefore any -other statements on the current line (after a statement separator -character) are reported as on logical line number LINE-NUMBER - 1. One -day `as' will no longer support this directive: it is recognized only -for compatibility with existing assembler programs. - - _Warning:_ In the AMD29K configuration of as, this command is not -available; use the synonym `.ln' in that context. - - Even though this is a directive associated with the `a.out' or -`b.out' object-code formats, `as' still recognizes it when producing -COFF output, and treats `.line' as though it were the COFF `.ln' _if_ -it is found outside a `.def'/`.endef' pair. - - Inside a `.def', `.line' is, instead, one of the directives used by -compilers to generate auxiliary symbol information for debugging. - - -File: as.info, Node: Linkonce, Next: List, Prev: Ln, Up: Pseudo Ops - -7.55 `.linkonce [TYPE]' -======================= - -Mark the current section so that the linker only includes a single copy -of it. This may be used to include the same section in several -different object files, but ensure that the linker will only include it -once in the final output file. The `.linkonce' pseudo-op must be used -for each instance of the section. Duplicate sections are detected -based on the section name, so it should be unique. - - This directive is only supported by a few object file formats; as of -this writing, the only object file format which supports it is the -Portable Executable format used on Windows NT. - - The TYPE argument is optional. If specified, it must be one of the -following strings. For example: - .linkonce same_size - Not all types may be supported on all object file formats. - -`discard' - Silently discard duplicate sections. This is the default. - -`one_only' - Warn if there are duplicate sections, but still keep only one copy. - -`same_size' - Warn if any of the duplicates have different sizes. - -`same_contents' - Warn if any of the duplicates do not have exactly the same - contents. - - -File: as.info, Node: Ln, Next: Linkonce, Prev: Line, Up: Pseudo Ops - -7.56 `.ln LINE-NUMBER' -====================== - -`.ln' is a synonym for `.line'. - - -File: as.info, Node: MRI, Next: Nolist, Prev: Macro, Up: Pseudo Ops - -7.57 `.mri VAL' -=============== - -If VAL is non-zero, this tells `as' to enter MRI mode. If VAL is zero, -this tells `as' to exit MRI mode. This change affects code assembled -until the next `.mri' directive, or until the end of the file. *Note -MRI mode: M. - - -File: as.info, Node: List, Next: Long, Prev: Linkonce, Up: Pseudo Ops - -7.58 `.list' -============ - -Control (in conjunction with the `.nolist' directive) whether or not -assembly listings are generated. These two directives maintain an -internal counter (which is zero initially). `.list' increments the -counter, and `.nolist' decrements it. Assembly listings are generated -whenever the counter is greater than zero. - - By default, listings are disabled. When you enable them (with the -`-a' command line option; *note Command-Line Options: Invoking.), the -initial value of the listing counter is one. - - -File: as.info, Node: Long, Next: Macro, Prev: List, Up: Pseudo Ops - -7.59 `.long EXPRESSIONS' -======================== - -`.long' is the same as `.int', *note `.int': Int. - - -File: as.info, Node: Macro, Next: MRI, Prev: Long, Up: Pseudo Ops - -7.60 `.macro' -============= - -The commands `.macro' and `.endm' allow you to define macros that -generate assembly output. For example, this definition specifies a -macro `sum' that puts a sequence of numbers into memory: - - .macro sum from=0, to=5 - .long \from - .if \to-\from - sum "(\from+1)",\to - .endif - .endm - -With that definition, `SUM 0,5' is equivalent to this assembly input: - - .long 0 - .long 1 - .long 2 - .long 3 - .long 4 - .long 5 - -`.macro MACNAME' -`.macro MACNAME MACARGS ...' - Begin the definition of a macro called MACNAME. If your macro - definition requires arguments, specify their names after the macro - name, separated by commas or spaces. You can supply a default - value for any macro argument by following the name with `=DEFLT'. - For example, these are all valid `.macro' statements: - - `.macro comm' - Begin the definition of a macro called `comm', which takes no - arguments. - - `.macro plus1 p, p1' - `.macro plus1 p p1' - Either statement begins the definition of a macro called - `plus1', which takes two arguments; within the macro - definition, write `\p' or `\p1' to evaluate the arguments. - - `.macro reserve_str p1=0 p2' - Begin the definition of a macro called `reserve_str', with two - arguments. The first argument has a default value, but not - the second. After the definition is complete, you can call - the macro either as `reserve_str A,B' (with `\p1' evaluating - to A and `\p2' evaluating to B), or as `reserve_str ,B' (with - `\p1' evaluating as the default, in this case `0', and `\p2' - evaluating to B). - - When you call a macro, you can specify the argument values either - by position, or by keyword. For example, `sum 9,17' is equivalent - to `sum to=17, from=9'. - -`.endm' - Mark the end of a macro definition. - -`.exitm' - Exit early from the current macro definition. - -`\@' - `as' maintains a counter of how many macros it has executed in - this pseudo-variable; you can copy that number to your output with - `\@', but _only within a macro definition_. - - - -File: as.info, Node: Nolist, Next: Octa, Prev: MRI, Up: Pseudo Ops - -7.61 `.nolist' -============== - -Control (in conjunction with the `.list' directive) whether or not -assembly listings are generated. These two directives maintain an -internal counter (which is zero initially). `.list' increments the -counter, and `.nolist' decrements it. Assembly listings are generated -whenever the counter is greater than zero. - - -File: as.info, Node: Octa, Next: Org, Prev: Nolist, Up: Pseudo Ops - -7.62 `.octa BIGNUMS' -==================== - -This directive expects zero or more bignums, separated by commas. For -each bignum, it emits a 16-byte integer. - - The term "octa" comes from contexts in which a "word" is two bytes; -hence _octa_-word for 16 bytes. - - -File: as.info, Node: Org, Next: P2align, Prev: Octa, Up: Pseudo Ops - -7.63 `.org NEW-LC , FILL' -========================= - -Advance the location counter of the current section to NEW-LC. NEW-LC -is either an absolute expression or an expression with the same section -as the current subsection. That is, you can't use `.org' to cross -sections: if NEW-LC has the wrong section, the `.org' directive is -ignored. To be compatible with former assemblers, if the section of -NEW-LC is absolute, `as' issues a warning, then pretends the section of -NEW-LC is the same as the current subsection. - - `.org' may only increase the location counter, or leave it -unchanged; you cannot use `.org' to move the location counter backwards. - - Because `as' tries to assemble programs in one pass, NEW-LC may not -be undefined. If you really detest this restriction we eagerly await a -chance to share your improved assembler. - - Beware that the origin is relative to the start of the section, not -to the start of the subsection. This is compatible with other people's -assemblers. - - When the location counter (of the current subsection) is advanced, -the intervening bytes are filled with FILL which should be an absolute -expression. If the comma and FILL are omitted, FILL defaults to zero. - - -File: as.info, Node: P2align, Next: PopSection, Prev: Org, Up: Pseudo Ops - -7.64 `.p2align[wl] ABS-EXPR, ABS-EXPR, ABS-EXPR' -================================================ - -Pad the location counter (in the current subsection) to a particular -storage boundary. The first expression (which must be absolute) is the -number of low-order zero bits the location counter must have after -advancement. For example `.p2align 3' advances the location counter -until it a multiple of 8. If the location counter is already a -multiple of 8, no change is needed. - - The second expression (also absolute) gives the fill value to be -stored in the padding bytes. It (and the comma) may be omitted. If it -is omitted, the padding bytes are normally zero. However, on some -systems, if the section is marked as containing code and the fill value -is omitted, the space is filled with no-op instructions. - - The third expression is also absolute, and is also optional. If it -is present, it is the maximum number of bytes that should be skipped by -this alignment directive. If doing the alignment would require -skipping more bytes than the specified maximum, then the alignment is -not done at all. You can omit the fill value (the second argument) -entirely by simply using two commas after the required alignment; this -can be useful if you want the alignment to be filled with no-op -instructions when appropriate. - - The `.p2alignw' and `.p2alignl' directives are variants of the -`.p2align' directive. The `.p2alignw' directive treats the fill -pattern as a two byte word value. The `.p2alignl' directives treats the -fill pattern as a four byte longword value. For example, `.p2alignw -2,0x368d' will align to a multiple of 4. If it skips two bytes, they -will be filled in with the value 0x368d (the exact placement of the -bytes depends upon the endianness of the processor). If it skips 1 or -3 bytes, the fill value is undefined. - - -File: as.info, Node: Previous, Next: Print, Prev: PopSection, Up: Pseudo Ops - -7.65 `.previous' -================ - -This is one of the ELF section stack manipulation directives. The -others are `.section' (*note Section::), `.subsection' (*note -SubSection::), `.pushsection' (*note PushSection::), and `.popsection' -(*note PopSection::). - - This directive swaps the current section (and subsection) with most -recently referenced section (and subsection) prior to this one. -Multiple `.previous' directives in a row will flip between two sections -(and their subsections). - - In terms of the section stack, this directive swaps the current -section with the top section on the section stack. - - -File: as.info, Node: PopSection, Next: Previous, Prev: P2align, Up: Pseudo Ops - -7.66 `.popsection' -================== - -This is one of the ELF section stack manipulation directives. The -others are `.section' (*note Section::), `.subsection' (*note -SubSection::), `.pushsection' (*note PushSection::), and `.previous' -(*note Previous::). - - This directive replaces the current section (and subsection) with -the top section (and subsection) on the section stack. This section is -popped off the stack. - - -File: as.info, Node: Print, Next: Protected, Prev: Previous, Up: Pseudo Ops - -7.67 `.print STRING' -==================== - -`as' will print STRING on the standard output during assembly. You -must put STRING in double quotes. - - -File: as.info, Node: Protected, Next: Psize, Prev: Print, Up: Pseudo Ops - -7.68 `.protected NAMES' -======================= - -This is one of the ELF visibility directives. The other two are -`.hidden' (*note Hidden::) and `.internal' (*note Internal::). - - This directive overrides the named symbols default visibility (which -is set by their binding: local, global or weak). The directive sets -the visibility to `protected' which means that any references to the -symbols from within the components that defines them must be resolved -to the definition in that component, even if a definition in another -component would normally preempt this. - - -File: as.info, Node: Psize, Next: Purgem, Prev: Protected, Up: Pseudo Ops - -7.69 `.psize LINES , COLUMNS' -============================= - -Use this directive to declare the number of lines--and, optionally, the -number of columns--to use for each page, when generating listings. - - If you do not use `.psize', listings use a default line-count of 60. -You may omit the comma and COLUMNS specification; the default width is -200 columns. - - `as' generates formfeeds whenever the specified number of lines is -exceeded (or whenever you explicitly request one, using `.eject'). - - If you specify LINES as `0', no formfeeds are generated save those -explicitly specified with `.eject'. - - -File: as.info, Node: Purgem, Next: PushSection, Prev: Psize, Up: Pseudo Ops - -7.70 `.purgem NAME' -=================== - -Undefine the macro NAME, so that later uses of the string will not be -expanded. *Note Macro::. - - -File: as.info, Node: PushSection, Next: Quad, Prev: Purgem, Up: Pseudo Ops - -7.71 `.pushsection NAME , SUBSECTION' -===================================== - -This is one of the ELF section stack manipulation directives. The -others are `.section' (*note Section::), `.subsection' (*note -SubSection::), `.popsection' (*note PopSection::), and `.previous' -(*note Previous::). - - This directive pushes the current section (and subsection) onto the -top of the section stack, and then replaces the current section and -subsection with `name' and `subsection'. - - -File: as.info, Node: Quad, Next: Rept, Prev: PushSection, Up: Pseudo Ops - -7.72 `.quad BIGNUMS' -==================== - -`.quad' expects zero or more bignums, separated by commas. For each -bignum, it emits an 8-byte integer. If the bignum won't fit in 8 -bytes, it prints a warning message; and just takes the lowest order 8 -bytes of the bignum. - - The term "quad" comes from contexts in which a "word" is two bytes; -hence _quad_-word for 8 bytes. - - -File: as.info, Node: Rept, Next: Sbttl, Prev: Quad, Up: Pseudo Ops - -7.73 `.rept COUNT' -================== - -Repeat the sequence of lines between the `.rept' directive and the next -`.endr' directive COUNT times. - - For example, assembling - - .rept 3 - .long 0 - .endr - - is equivalent to assembling - - .long 0 - .long 0 - .long 0 - - -File: as.info, Node: Sbttl, Next: Scl, Prev: Rept, Up: Pseudo Ops - -7.74 `.sbttl "SUBHEADING"' -========================== - -Use SUBHEADING as the title (third line, immediately after the title -line) when generating assembly listings. - - This directive affects subsequent pages, as well as the current page -if it appears within ten lines of the top of a page. - - -File: as.info, Node: Scl, Next: Section, Prev: Sbttl, Up: Pseudo Ops - -7.75 `.scl CLASS' -================= - -Set the storage-class value for a symbol. This directive may only be -used inside a `.def'/`.endef' pair. Storage class may flag whether a -symbol is static or external, or it may record further symbolic -debugging information. - - The `.scl' directive is primarily associated with COFF output; when -configured to generate `b.out' output format, `as' accepts this -directive but ignores it. - - -File: as.info, Node: Section, Next: Set, Prev: Scl, Up: Pseudo Ops - -7.76 `.section NAME' -==================== - -Use the `.section' directive to assemble the following code into a -section named NAME. - - This directive is only supported for targets that actually support -arbitrarily named sections; on `a.out' targets, for example, it is not -accepted, even with a standard `a.out' section name. - -COFF Version ------------- - - For COFF targets, the `.section' directive is used in one of the -following ways: - - .section NAME[, "FLAGS"] - .section NAME[, SUBSEGMENT] - - If the optional argument is quoted, it is taken as flags to use for -the section. Each flag is a single character. The following flags are -recognized: -`b' - bss section (uninitialized data) - -`n' - section is not loaded - -`w' - writable section - -`d' - data section - -`r' - read-only section - -`x' - executable section - -`s' - shared section (meaningful for PE targets) - -`a' - ignored. (For compatibility with the ELF version) - - If no flags are specified, the default flags depend upon the section -name. If the section name is not recognized, the default will be for -the section to be loaded and writable. Note the `n' and `w' flags -remove attributes from the section, rather than adding them, so if they -are used on their own it will be as if no flags had been specified at -all. - - If the optional argument to the `.section' directive is not quoted, -it is taken as a subsegment number (*note Sub-Sections::). - -ELF Version ------------ - - This is one of the ELF section stack manipulation directives. The -others are `.subsection' (*note SubSection::), `.pushsection' (*note -PushSection::), `.popsection' (*note PopSection::), and `.previous' -(*note Previous::). - - For ELF targets, the `.section' directive is used like this: - - .section NAME [, "FLAGS"[, @TYPE[,FLAG_SPECIFIC_ARGUMENTS]] - - The optional FLAGS argument is a quoted string which may contain any -combination of the following characters: -`a' - section is allocatable - -`w' - section is writable - -`x' - section is executable - -`M' - section is mergeable - -`S' - section contains zero terminated strings - -`G' - section is a member of a section group - -`T' - section is used for thread-local-storage - - The optional TYPE argument may contain one of the following -constants: -`@progbits' - section contains data - -`@nobits' - section does not contain data (i.e., section only occupies space) - -`@note' - section contains data which is used by things other than the - program - - Note on targets where the `@' character is the start of a comment (eg -ARM) then another character is used instead. For example the ARM port -uses the `%' character. - - If FLAGS contains the `M' symbol then the TYPE argument must be -specified as well as an extra argument - ENTSIZE - like this: - - .section NAME , "FLAGS"M, @TYPE, ENTSIZE - - Sections with the `M' flag but not `S' flag must contain fixed size -constants, each ENTSIZE octets long. Sections with both `M' and `S' -must contain zero terminated strings where each character is ENTSIZE -bytes long. The linker may remove duplicates within sections with the -same name, same entity size and same flags. ENTSIZE must be an -absolute expression. - - If FLAGS contains the `G' symbol then the TYPE argument must be -present along with an additional field like this: - - .section NAME , "FLAGS"G, @TYPE, GROUPNAME[, LINKAGE] - - The GROUPNAME field specifies the name of the section group to which -this particular section belongs. The optional linkage field can -contain: -`comdat' - indicates that only one copy of this section should be retained - -`.gnu.linkonce' - an alias for comdat - - Note - if both the M and G flags are present then the fields for the -Merge flag should come first, like this: - - .section NAME , "FLAGS"MG, @TYPE, ENTSIZE, GROUPNAME[, LINKAGE] - - If no flags are specified, the default flags depend upon the section -name. If the section name is not recognized, the default will be for -the section to have none of the above flags: it will not be allocated -in memory, nor writable, nor executable. The section will contain data. - - For ELF targets, the assembler supports another type of `.section' -directive for compatibility with the Solaris assembler: - - .section "NAME"[, FLAGS...] - - Note that the section name is quoted. There may be a sequence of -comma separated flags: -`#alloc' - section is allocatable - -`#write' - section is writable - -`#execinstr' - section is executable - -`#tls' - section is used for thread local storage - - This directive replaces the current section and subsection. See the -contents of the gas testsuite directory `gas/testsuite/gas/elf' for -some examples of how this directive and the other section stack -directives work. - - -File: as.info, Node: Set, Next: Short, Prev: Section, Up: Pseudo Ops - -7.77 `.set SYMBOL, EXPRESSION' -============================== - -Set the value of SYMBOL to EXPRESSION. This changes SYMBOL's value and -type to conform to EXPRESSION. If SYMBOL was flagged as external, it -remains flagged (*note Symbol Attributes::). - - You may `.set' a symbol many times in the same assembly. - - If you `.set' a global symbol, the value stored in the object file -is the last value stored into it. - - The syntax for `set' on the HPPA is `SYMBOL .set EXPRESSION'. - - -File: as.info, Node: Short, Next: Single, Prev: Set, Up: Pseudo Ops - -7.78 `.short EXPRESSIONS' -========================= - -`.short' is normally the same as `.word'. *Note `.word': Word. - - In some configurations, however, `.short' and `.word' generate -numbers of different lengths; *note Machine Dependencies::. - - -File: as.info, Node: Single, Next: Size, Prev: Short, Up: Pseudo Ops - -7.79 `.single FLONUMS' -====================== - -This directive assembles zero or more flonums, separated by commas. It -has the same effect as `.float'. The exact kind of floating point -numbers emitted depends on how `as' is configured. *Note Machine -Dependencies::. - - -File: as.info, Node: Size, Next: Skip, Prev: Single, Up: Pseudo Ops - -7.80 `.size' -============ - -This directive is used to set the size associated with a symbol. - -COFF Version ------------- - - For COFF targets, the `.size' directive is only permitted inside -`.def'/`.endef' pairs. It is used like this: - - .size EXPRESSION - - `.size' is only meaningful when generating COFF format output; when -`as' is generating `b.out', it accepts this directive but ignores it. - -ELF Version ------------ - - For ELF targets, the `.size' directive is used like this: - - .size NAME , EXPRESSION - - This directive sets the size associated with a symbol NAME. The -size in bytes is computed from EXPRESSION which can make use of label -arithmetic. This directive is typically used to set the size of -function symbols. - - -File: as.info, Node: Sleb128, Next: Space, Prev: Skip, Up: Pseudo Ops - -7.81 `.sleb128 EXPRESSIONS' -=========================== - -SLEB128 stands for "signed little endian base 128." This is a compact, -variable length representation of numbers used by the DWARF symbolic -debugging format. *Note `.uleb128': Uleb128. - - -File: as.info, Node: Skip, Next: Sleb128, Prev: Size, Up: Pseudo Ops - -7.82 `.skip SIZE , FILL' -======================== - -This directive emits SIZE bytes, each of value FILL. Both SIZE and -FILL are absolute expressions. If the comma and FILL are omitted, FILL -is assumed to be zero. This is the same as `.space'. - - -File: as.info, Node: Space, Next: Stab, Prev: Sleb128, Up: Pseudo Ops - -7.83 `.space SIZE , FILL' -========================= - -This directive emits SIZE bytes, each of value FILL. Both SIZE and -FILL are absolute expressions. If the comma and FILL are omitted, FILL -is assumed to be zero. This is the same as `.skip'. - - _Warning:_ `.space' has a completely different meaning for HPPA - targets; use `.block' as a substitute. See `HP9000 Series 800 - Assembly Language Reference Manual' (HP 92432-90001) for the - meaning of the `.space' directive. *Note HPPA Assembler - Directives: HPPA Directives, for a summary. - - On the AMD 29K, this directive is ignored; it is accepted for -compatibility with other AMD 29K assemblers. - - _Warning:_ In most versions of the GNU assembler, the directive - `.space' has the effect of `.block' *Note Machine Dependencies::. - - -File: as.info, Node: Stab, Next: String, Prev: Space, Up: Pseudo Ops - -7.84 `.stabd, .stabn, .stabs' -============================= - -There are three directives that begin `.stab'. All emit symbols (*note -Symbols::), for use by symbolic debuggers. The symbols are not entered -in the `as' hash table: they cannot be referenced elsewhere in the -source file. Up to five fields are required: - -STRING - This is the symbol's name. It may contain any character except - `\000', so is more general than ordinary symbol names. Some - debuggers used to code arbitrarily complex structures into symbol - names using this field. - -TYPE - An absolute expression. The symbol's type is set to the low 8 - bits of this expression. Any bit pattern is permitted, but `ld' - and debuggers choke on silly bit patterns. - -OTHER - An absolute expression. The symbol's "other" attribute is set to - the low 8 bits of this expression. - -DESC - An absolute expression. The symbol's descriptor is set to the low - 16 bits of this expression. - -VALUE - An absolute expression which becomes the symbol's value. - - If a warning is detected while reading a `.stabd', `.stabn', or -`.stabs' statement, the symbol has probably already been created; you -get a half-formed symbol in your object file. This is compatible with -earlier assemblers! - -`.stabd TYPE , OTHER , DESC' - The "name" of the symbol generated is not even an empty string. - It is a null pointer, for compatibility. Older assemblers used a - null pointer so they didn't waste space in object files with empty - strings. - - The symbol's value is set to the location counter, relocatably. - When your program is linked, the value of this symbol is the - address of the location counter when the `.stabd' was assembled. - -`.stabn TYPE , OTHER , DESC , VALUE' - The name of the symbol is set to the empty string `""'. - -`.stabs STRING , TYPE , OTHER , DESC , VALUE' - All five fields are specified. - - -File: as.info, Node: String, Next: Struct, Prev: Stab, Up: Pseudo Ops - -7.85 `.string' "STR" -==================== - -Copy the characters in STR to the object file. You may specify more -than one string to copy, separated by commas. Unless otherwise -specified for a particular machine, the assembler marks the end of each -string with a 0 byte. You can use any of the escape sequences -described in *Note Strings: Strings. - - -File: as.info, Node: Struct, Next: SubSection, Prev: String, Up: Pseudo Ops - -7.86 `.struct EXPRESSION' -========================= - -Switch to the absolute section, and set the section offset to -EXPRESSION, which must be an absolute expression. You might use this -as follows: - .struct 0 - field1: - .struct field1 + 4 - field2: - .struct field2 + 4 - field3: - This would define the symbol `field1' to have the value 0, the symbol -`field2' to have the value 4, and the symbol `field3' to have the value -8. Assembly would be left in the absolute section, and you would need -to use a `.section' directive of some sort to change to some other -section before further assembly. - - -File: as.info, Node: SubSection, Next: Symver, Prev: Struct, Up: Pseudo Ops - -7.87 `.subsection NAME' -======================= - -This is one of the ELF section stack manipulation directives. The -others are `.section' (*note Section::), `.pushsection' (*note -PushSection::), `.popsection' (*note PopSection::), and `.previous' -(*note Previous::). - - This directive replaces the current subsection with `name'. The -current section is not changed. The replaced subsection is put onto -the section stack in place of the then current top of stack subsection. - - -File: as.info, Node: Symver, Next: Tag, Prev: SubSection, Up: Pseudo Ops - -7.88 `.symver' -============== - -Use the `.symver' directive to bind symbols to specific version nodes -within a source file. This is only supported on ELF platforms, and is -typically used when assembling files to be linked into a shared library. -There are cases where it may make sense to use this in objects to be -bound into an application itself so as to override a versioned symbol -from a shared library. - - For ELF targets, the `.symver' directive can be used like this: - .symver NAME, NAME2@NODENAME - If the symbol NAME is defined within the file being assembled, the -`.symver' directive effectively creates a symbol alias with the name -NAME2@NODENAME, and in fact the main reason that we just don't try and -create a regular alias is that the @ character isn't permitted in -symbol names. The NAME2 part of the name is the actual name of the -symbol by which it will be externally referenced. The name NAME itself -is merely a name of convenience that is used so that it is possible to -have definitions for multiple versions of a function within a single -source file, and so that the compiler can unambiguously know which -version of a function is being mentioned. The NODENAME portion of the -alias should be the name of a node specified in the version script -supplied to the linker when building a shared library. If you are -attempting to override a versioned symbol from a shared library, then -NODENAME should correspond to the nodename of the symbol you are trying -to override. - - If the symbol NAME is not defined within the file being assembled, -all references to NAME will be changed to NAME2@NODENAME. If no -reference to NAME is made, NAME2@NODENAME will be removed from the -symbol table. - - Another usage of the `.symver' directive is: - .symver NAME, NAME2@@NODENAME - In this case, the symbol NAME must exist and be defined within the -file being assembled. It is similar to NAME2@NODENAME. The difference -is NAME2@@NODENAME will also be used to resolve references to NAME2 by -the linker. - - The third usage of the `.symver' directive is: - .symver NAME, NAME2@@@NODENAME - When NAME is not defined within the file being assembled, it is -treated as NAME2@NODENAME. When NAME is defined within the file being -assembled, the symbol name, NAME, will be changed to NAME2@@NODENAME. - - -File: as.info, Node: Tag, Next: Text, Prev: Symver, Up: Pseudo Ops - -7.89 `.tag STRUCTNAME' -====================== - -This directive is generated by compilers to include auxiliary debugging -information in the symbol table. It is only permitted inside -`.def'/`.endef' pairs. Tags are used to link structure definitions in -the symbol table with instances of those structures. - - `.tag' is only used when generating COFF format output; when `as' is -generating `b.out', it accepts this directive but ignores it. - - -File: as.info, Node: Text, Next: Title, Prev: Tag, Up: Pseudo Ops - -7.90 `.text SUBSECTION' -======================= - -Tells `as' to assemble the following statements onto the end of the -text subsection numbered SUBSECTION, which is an absolute expression. -If SUBSECTION is omitted, subsection number zero is used. - - -File: as.info, Node: Title, Next: Type, Prev: Text, Up: Pseudo Ops - -7.91 `.title "HEADING"' -======================= - -Use HEADING as the title (second line, immediately after the source -file name and pagenumber) when generating assembly listings. - - This directive affects subsequent pages, as well as the current page -if it appears within ten lines of the top of a page. - - -File: as.info, Node: Type, Next: Uleb128, Prev: Title, Up: Pseudo Ops - -7.92 `.type' -============ - -This directive is used to set the type of a symbol. - -COFF Version ------------- - - For COFF targets, this directive is permitted only within -`.def'/`.endef' pairs. It is used like this: - - .type INT - - This records the integer INT as the type attribute of a symbol table -entry. - - `.type' is associated only with COFF format output; when `as' is -configured for `b.out' output, it accepts this directive but ignores it. - -ELF Version ------------ - - For ELF targets, the `.type' directive is used like this: - - .type NAME , TYPE DESCRIPTION - - This sets the type of symbol NAME to be either a function symbol or -an object symbol. There are five different syntaxes supported for the -TYPE DESCRIPTION field, in order to provide compatibility with various -other assemblers. The syntaxes supported are: - - .type ,#function - .type ,#object - - .type ,@function - .type ,@object - - .type ,%function - .type ,%object - - .type ,"function" - .type ,"object" - - .type STT_FUNCTION - .type STT_OBJECT - - -File: as.info, Node: Uleb128, Next: Val, Prev: Type, Up: Pseudo Ops - -7.93 `.uleb128 EXPRESSIONS' -=========================== - -ULEB128 stands for "unsigned little endian base 128." This is a -compact, variable length representation of numbers used by the DWARF -symbolic debugging format. *Note `.sleb128': Sleb128. - - -File: as.info, Node: Val, Next: Version, Prev: Uleb128, Up: Pseudo Ops - -7.94 `.val ADDR' -================ - -This directive, permitted only within `.def'/`.endef' pairs, records -the address ADDR as the value attribute of a symbol table entry. - - `.val' is used only for COFF output; when `as' is configured for -`b.out', it accepts this directive but ignores it. - - -File: as.info, Node: Version, Next: VTableEntry, Prev: Val, Up: Pseudo Ops - -7.95 `.version "STRING"' -======================== - -This directive creates a `.note' section and places into it an ELF -formatted note of type NT_VERSION. The note's name is set to `string'. - - -File: as.info, Node: VTableEntry, Next: VTableInherit, Prev: Version, Up: Pseudo Ops - -7.96 `.vtable_entry TABLE, OFFSET' -================================== - -This directive finds or creates a symbol `table' and creates a -`VTABLE_ENTRY' relocation for it with an addend of `offset'. - - -File: as.info, Node: VTableInherit, Next: Weak, Prev: VTableEntry, Up: Pseudo Ops - -7.97 `.vtable_inherit CHILD, PARENT' -==================================== - -This directive finds the symbol `child' and finds or creates the symbol -`parent' and then creates a `VTABLE_INHERIT' relocation for the parent -whose addend is the value of the child symbol. As a special case the -parent name of `0' is treated as refering the `*ABS*' section. - - -File: as.info, Node: Weak, Next: Word, Prev: VTableInherit, Up: Pseudo Ops - -7.98 `.weak NAMES' -================== - -This directive sets the weak attribute on the comma separated list of -symbol `names'. If the symbols do not already exist, they will be -created. - - Weak symbols are supported in COFF as a GNU extension. This -directive sets the weak attribute on the comma separated list of symbol -`names'. If the symbols do not already exist, they will be created. - - `.weak NAME [ < = | == > ALTERNATE] [, ...]' - - On the PE target, weak aliases are supported natively. Weak aliases -(usually called "weak externals" in PE) are created when an alternate -name is specified. When a weak symbol is linked and the symbol is not -defined, the weak symbol becomes an alias for the alternate symbol. If -one equal sign is used, the linker searches for defined symbols within -other objects and libraries. This is the usual mode, historically -called "lazy externals." Otherwise, when two equal signs are used, the -linker searches for defined symbols only within other objects. - - Non-alias weak symbols are supported on PE as a GNU extension. - - -File: as.info, Node: Word, Next: Deprecated, Prev: Weak, Up: Pseudo Ops - -7.99 `.word EXPRESSIONS' -======================== - -This directive expects zero or more EXPRESSIONS, of any section, -separated by commas. - - The size of the number emitted, and its byte order, depend on what -target computer the assembly is for. - - _Warning: Special Treatment to support Compilers_ - - Machines with a 32-bit address space, but that do less than 32-bit -addressing, require the following special treatment. If the machine of -interest to you does 32-bit addressing (or doesn't require it; *note -Machine Dependencies::), you can ignore this issue. - - In order to assemble compiler output into something that works, `as' -occasionally does strange things to `.word' directives. Directives of -the form `.word sym1-sym2' are often emitted by compilers as part of -jump tables. Therefore, when `as' assembles a directive of the form -`.word sym1-sym2', and the difference between `sym1' and `sym2' does -not fit in 16 bits, `as' creates a "secondary jump table", immediately -before the next label. This secondary jump table is preceded by a -short-jump to the first byte after the secondary table. This -short-jump prevents the flow of control from accidentally falling into -the new table. Inside the table is a long-jump to `sym2'. The -original `.word' contains `sym1' minus the address of the long-jump to -`sym2'. - - If there were several occurrences of `.word sym1-sym2' before the -secondary jump table, all of them are adjusted. If there was a `.word -sym3-sym4', that also did not fit in sixteen bits, a long-jump to -`sym4' is included in the secondary jump table, and the `.word' -directives are adjusted to contain `sym3' minus the address of the -long-jump to `sym4'; and so on, for as many entries in the original -jump table as necessary. - - -File: as.info, Node: Deprecated, Prev: Word, Up: Pseudo Ops - -7.100 Deprecated Directives -=========================== - -One day these directives won't work. They are included for -compatibility with older assemblers. -.abort - -.line - - -File: as.info, Node: Machine Dependencies, Next: Reporting Bugs, Prev: Pseudo Ops, Up: Top - -8 Machine Dependent Features -**************************** - -The machine instruction sets are (almost by definition) different on -each machine where `as' runs. Floating point representations vary as -well, and `as' often supports a few additional directives or -command-line options for compatibility with other assemblers on a -particular platform. Finally, some versions of `as' support special -pseudo-instructions for branch optimization. - - This chapter discusses most of these differences, though it does not -include details on any machine's instruction set. For details on that -subject, see the hardware manufacturer's manual. - -* Menu: - - -* AMD29K-Dependent:: AMD 29K Dependent Features - -* Alpha-Dependent:: Alpha Dependent Features - -* ARC-Dependent:: ARC Dependent Features - -* ARM-Dependent:: ARM Dependent Features - -* CRIS-Dependent:: CRIS Dependent Features - -* D10V-Dependent:: D10V Dependent Features - -* D30V-Dependent:: D30V Dependent Features - -* H8/300-Dependent:: Renesas H8/300 Dependent Features - -* H8/500-Dependent:: Renesas H8/500 Dependent Features - -* HPPA-Dependent:: HPPA Dependent Features - -* ESA/390-Dependent:: IBM ESA/390 Dependent Features - -* i386-Dependent:: Intel 80386 and AMD x86-64 Dependent Features - -* i860-Dependent:: Intel 80860 Dependent Features - -* i960-Dependent:: Intel 80960 Dependent Features - -* IP2K-Dependent:: IP2K Dependent Features - -* M32R-Dependent:: M32R Dependent Features - -* M68K-Dependent:: M680x0 Dependent Features - -* M68HC11-Dependent:: M68HC11 and 68HC12 Dependent Features - -* M88K-Dependent:: M880x0 Dependent Features - -* MIPS-Dependent:: MIPS Dependent Features - -* MMIX-Dependent:: MMIX Dependent Features - -* MSP430-Dependent:: MSP430 Dependent Features - -* SH-Dependent:: Renesas / SuperH SH Dependent Features -* SH64-Dependent:: SuperH SH64 Dependent Features - -* PDP-11-Dependent:: PDP-11 Dependent Features - -* PJ-Dependent:: picoJava Dependent Features - -* PPC-Dependent:: PowerPC Dependent Features - -* Sparc-Dependent:: SPARC Dependent Features - -* TIC54X-Dependent:: TI TMS320C54x Dependent Features - -* V850-Dependent:: V850 Dependent Features - -* Xtensa-Dependent:: Xtensa Dependent Features - -* Z8000-Dependent:: Z8000 Dependent Features - -* Vax-Dependent:: VAX Dependent Features - - -File: as.info, Node: AMD29K-Dependent, Next: Alpha-Dependent, Up: Machine Dependencies - -8.1 AMD 29K Dependent Features -============================== - -* Menu: - -* AMD29K Options:: Options -* AMD29K Syntax:: Syntax -* AMD29K Floating Point:: Floating Point -* AMD29K Directives:: AMD 29K Machine Directives -* AMD29K Opcodes:: Opcodes - - -File: as.info, Node: AMD29K Options, Next: AMD29K Syntax, Up: AMD29K-Dependent - -8.1.1 Options -------------- - -`as' has no additional command-line options for the AMD 29K family. - - -File: as.info, Node: AMD29K Syntax, Next: AMD29K Floating Point, Prev: AMD29K Options, Up: AMD29K-Dependent - -8.1.2 Syntax ------------- - -* Menu: - -* AMD29K-Macros:: Macros -* AMD29K-Chars:: Special Characters -* AMD29K-Regs:: Register Names - - -File: as.info, Node: AMD29K-Macros, Next: AMD29K-Chars, Up: AMD29K Syntax - -8.1.2.1 Macros -.............. - -The macro syntax used on the AMD 29K is like that described in the AMD -29K Family Macro Assembler Specification. Normal `as' macros should -still work. - - -File: as.info, Node: AMD29K-Chars, Next: AMD29K-Regs, Prev: AMD29K-Macros, Up: AMD29K Syntax - -8.1.2.2 Special Characters -.......................... - -`;' is the line comment character. - - The character `?' is permitted in identifiers (but may not begin an -identifier). - - -File: as.info, Node: AMD29K-Regs, Prev: AMD29K-Chars, Up: AMD29K Syntax - -8.1.2.3 Register Names -...................... - -General-purpose registers are represented by predefined symbols of the -form `GRNNN' (for global registers) or `LRNNN' (for local registers), -where NNN represents a number between `0' and `127', written with no -leading zeros. The leading letters may be in either upper or lower -case; for example, `gr13' and `LR7' are both valid register names. - - You may also refer to general-purpose registers by specifying the -register number as the result of an expression (prefixed with `%%' to -flag the expression as a register number): - %%EXPRESSION - --where EXPRESSION must be an absolute expression evaluating to a -number between `0' and `255'. The range [0, 127] refers to global -registers, and the range [128, 255] to local registers. - - In addition, `as' understands the following protected -special-purpose register names for the AMD 29K family: - - vab chd pc0 - ops chc pc1 - cps rbp pc2 - cfg tmc mmu - cha tmr lru - - These unprotected special-purpose register names are also recognized: - ipc alu fpe - ipa bp inte - ipb fc fps - q cr exop - - -File: as.info, Node: AMD29K Floating Point, Next: AMD29K Directives, Prev: AMD29K Syntax, Up: AMD29K-Dependent - -8.1.3 Floating Point --------------------- - -The AMD 29K family uses IEEE floating-point numbers. - - -File: as.info, Node: AMD29K Directives, Next: AMD29K Opcodes, Prev: AMD29K Floating Point, Up: AMD29K-Dependent - -8.1.4 AMD 29K Machine Directives --------------------------------- - -`.block SIZE , FILL' - This directive emits SIZE bytes, each of value FILL. Both SIZE - and FILL are absolute expressions. If the comma and FILL are - omitted, FILL is assumed to be zero. - - In other versions of the GNU assembler, this directive is called - `.space'. - -`.cputype' - This directive is ignored; it is accepted for compatibility with - other AMD 29K assemblers. - -`.file' - This directive is ignored; it is accepted for compatibility with - other AMD 29K assemblers. - - _Warning:_ in other versions of the GNU assembler, `.file' is - used for the directive called `.app-file' in the AMD 29K - support. - -`.line' - This directive is ignored; it is accepted for compatibility with - other AMD 29K assemblers. - -`.sect' - This directive is ignored; it is accepted for compatibility with - other AMD 29K assemblers. - -`.use SECTION NAME' - Establishes the section and subsection for the following code; - SECTION NAME may be one of `.text', `.data', `.data1', or `.lit'. - With one of the first three SECTION NAME options, `.use' is - equivalent to the machine directive SECTION NAME; the remaining - case, `.use .lit', is the same as `.data 200'. - - -File: as.info, Node: AMD29K Opcodes, Prev: AMD29K Directives, Up: AMD29K-Dependent - -8.1.5 Opcodes -------------- - -`as' implements all the standard AMD 29K opcodes. No additional -pseudo-instructions are needed on this family. - - For information on the 29K machine instruction set, see `Am29000 -User's Manual', Advanced Micro Devices, Inc. - - -File: as.info, Node: Alpha-Dependent, Next: ARC-Dependent, Prev: AMD29K-Dependent, Up: Machine Dependencies - -8.2 Alpha Dependent Features -============================ - -* Menu: - -* Alpha Notes:: Notes -* Alpha Options:: Options -* Alpha Syntax:: Syntax -* Alpha Floating Point:: Floating Point -* Alpha Directives:: Alpha Machine Directives -* Alpha Opcodes:: Opcodes - - -File: as.info, Node: Alpha Notes, Next: Alpha Options, Up: Alpha-Dependent - -8.2.1 Notes ------------ - -The documentation here is primarily for the ELF object format. `as' -also supports the ECOFF and EVAX formats, but features specific to -these formats are not yet documented. - - -File: as.info, Node: Alpha Options, Next: Alpha Syntax, Prev: Alpha Notes, Up: Alpha-Dependent - -8.2.2 Options -------------- - -`-mCPU' - This option specifies the target processor. If an attempt is made - to assemble an instruction which will not execute on the target - processor, the assembler may either expand the instruction as a - macro or issue an error message. This option is equivalent to the - `.arch' directive. - - The following processor names are recognized: `21064', `21064a', - `21066', `21068', `21164', `21164a', `21164pc', `21264', `21264a', - `21264b', `ev4', `ev5', `lca45', `ev5', `ev56', `pca56', `ev6', - `ev67', `ev68'. The special name `all' may be used to allow the - assembler to accept instructions valid for any Alpha processor. - - In order to support existing practice in OSF/1 with respect to - `.arch', and existing practice within `MILO' (the Linux ARC - bootloader), the numbered processor names (e.g. 21064) enable the - processor-specific PALcode instructions, while the - "electro-vlasic" names (e.g. `ev4') do not. - -`-mdebug' -`-no-mdebug' - Enables or disables the generation of `.mdebug' encapsulation for - stabs directives and procedure descriptors. The default is to - automatically enable `.mdebug' when the first stabs directive is - seen. - -`-relax' - This option forces all relocations to be put into the object file, - instead of saving space and resolving some relocations at assembly - time. Note that this option does not propagate all symbol - arithmetic into the object file, because not all symbol arithmetic - can be represented. However, the option can still be useful in - specific applications. - -`-g' - This option is used when the compiler generates debug information. - When `gcc' is using `mips-tfile' to generate debug information - for ECOFF, local labels must be passed through to the object file. - Otherwise this option has no effect. - -`-GSIZE' - A local common symbol larger than SIZE is placed in `.bss', while - smaller symbols are placed in `.sbss'. - -`-F' -`-32addr' - These options are ignored for backward compatibility. - - -File: as.info, Node: Alpha Syntax, Next: Alpha Floating Point, Prev: Alpha Options, Up: Alpha-Dependent - -8.2.3 Syntax ------------- - -The assembler syntax closely follow the Alpha Reference Manual; -assembler directives and general syntax closely follow the OSF/1 and -OpenVMS syntax, with a few differences for ELF. - -* Menu: - -* Alpha-Chars:: Special Characters -* Alpha-Regs:: Register Names -* Alpha-Relocs:: Relocations - - -File: as.info, Node: Alpha-Chars, Next: Alpha-Regs, Up: Alpha Syntax - -8.2.3.1 Special Characters -.......................... - -`#' is the line comment character. - - `;' can be used instead of a newline to separate statements. - - -File: as.info, Node: Alpha-Regs, Next: Alpha-Relocs, Prev: Alpha-Chars, Up: Alpha Syntax - -8.2.3.2 Register Names -...................... - -The 32 integer registers are referred to as `$N' or `$rN'. In -addition, registers 15, 28, 29, and 30 may be referred to by the -symbols `$fp', `$at', `$gp', and `$sp' respectively. - - The 32 floating-point registers are referred to as `$fN'. - - -File: as.info, Node: Alpha-Relocs, Prev: Alpha-Regs, Up: Alpha Syntax - -8.2.3.3 Relocations -................... - -Some of these relocations are available for ECOFF, but mostly only for -ELF. They are modeled after the relocation format introduced in -Digital Unix 4.0, but there are additions. - - The format is `!TAG' or `!TAG!NUMBER' where TAG is the name of the -relocation. In some cases NUMBER is used to relate specific -instructions. - - The relocation is placed at the end of the instruction like so: - - ldah $0,a($29) !gprelhigh - lda $0,a($0) !gprellow - ldq $1,b($29) !literal!100 - ldl $2,0($1) !lituse_base!100 - -`!literal' -`!literal!N' - Used with an `ldq' instruction to load the address of a symbol - from the GOT. - - A sequence number N is optional, and if present is used to pair - `lituse' relocations with this `literal' relocation. The `lituse' - relocations are used by the linker to optimize the code based on - the final location of the symbol. - - Note that these optimizations are dependent on the data flow of the - program. Therefore, if _any_ `lituse' is paired with a `literal' - relocation, then _all_ uses of the register set by the `literal' - instruction must also be marked with `lituse' relocations. This - is because the original `literal' instruction may be deleted or - transformed into another instruction. - - Also note that there may be a one-to-many relationship between - `literal' and `lituse', but not a many-to-one. That is, if there - are two code paths that load up the same address and feed the - value to a single use, then the use may not use a `lituse' - relocation. - -`!lituse_base!N' - Used with any memory format instruction (e.g. `ldl') to indicate - that the literal is used for an address load. The offset field of - the instruction must be zero. During relaxation, the code may be - altered to use a gp-relative load. - -`!lituse_jsr!N' - Used with a register branch format instruction (e.g. `jsr') to - indicate that the literal is used for a call. During relaxation, - the code may be altered to use a direct branch (e.g. `bsr'). - -`!lituse_bytoff!N' - Used with a byte mask instruction (e.g. `extbl') to indicate that - only the low 3 bits of the address are relevant. During - relaxation, the code may be altered to use an immediate instead of - a register shift. - -`!lituse_addr!N' - Used with any other instruction to indicate that the original - address is in fact used, and the original `ldq' instruction may - not be altered or deleted. This is useful in conjunction with - `lituse_jsr' to test whether a weak symbol is defined. - - ldq $27,foo($29) !literal!1 - beq $27,is_undef !lituse_addr!1 - jsr $26,($27),foo !lituse_jsr!1 - -`!lituse_tlsgd!N' - Used with a register branch format instruction to indicate that the - literal is the call to `__tls_get_addr' used to compute the - address of the thread-local storage variable whose descriptor was - loaded with `!tlsgd!N'. - -`!lituse_tlsldm!N' - Used with a register branch format instruction to indicate that the - literal is the call to `__tls_get_addr' used to compute the - address of the base of the thread-local storage block for the - current module. The descriptor for the module must have been - loaded with `!tlsldm!N'. - -`!gpdisp!N' - Used with `ldah' and `lda' to load the GP from the current - address, a-la the `ldgp' macro. The source register for the - `ldah' instruction must contain the address of the `ldah' - instruction. There must be exactly one `lda' instruction paired - with the `ldah' instruction, though it may appear anywhere in the - instruction stream. The immediate operands must be zero. - - bsr $26,foo - ldah $29,0($26) !gpdisp!1 - lda $29,0($29) !gpdisp!1 - -`!gprelhigh' - Used with an `ldah' instruction to add the high 16 bits of a - 32-bit displacement from the GP. - -`!gprellow' - Used with any memory format instruction to add the low 16 bits of a - 32-bit displacement from the GP. - -`!gprel' - Used with any memory format instruction to add a 16-bit - displacement from the GP. - -`!samegp' - Used with any branch format instruction to skip the GP load at the - target address. The referenced symbol must have the same GP as the - source object file, and it must be declared to either not use `$27' - or perform a standard GP load in the first two instructions via the - `.prologue' directive. - -`!tlsgd' -`!tlsgd!N' - Used with an `lda' instruction to load the address of a TLS - descriptor for a symbol in the GOT. - - The sequence number N is optional, and if present it used to pair - the descriptor load with both the `literal' loading the address of - the `__tls_get_addr' function and the `lituse_tlsgd' marking the - call to that function. - - For proper relaxation, both the `tlsgd', `literal' and `lituse' - relocations must be in the same extended basic block. That is, - the relocation with the lowest address must be executed first at - runtime. - -`!tlsldm' -`!tlsldm!N' - Used with an `lda' instruction to load the address of a TLS - descriptor for the current module in the GOT. - - Similar in other respects to `tlsgd'. - -`!gotdtprel' - Used with an `ldq' instruction to load the offset of the TLS - symbol within its module's thread-local storage block. Also known - as the dynamic thread pointer offset or dtp-relative offset. - -`!dtprelhi' -`!dtprello' -`!dtprel' - Like `gprel' relocations except they compute dtp-relative offsets. - -`!gottprel' - Used with an `ldq' instruction to load the offset of the TLS - symbol from the thread pointer. Also known as the tp-relative - offset. - -`!tprelhi' -`!tprello' -`!tprel' - Like `gprel' relocations except they compute tp-relative offsets. - - -File: as.info, Node: Alpha Floating Point, Next: Alpha Directives, Prev: Alpha Syntax, Up: Alpha-Dependent - -8.2.4 Floating Point --------------------- - -The Alpha family uses both IEEE and VAX floating-point numbers. - - -File: as.info, Node: Alpha Directives, Next: Alpha Opcodes, Prev: Alpha Floating Point, Up: Alpha-Dependent - -8.2.5 Alpha Assembler Directives --------------------------------- - -`as' for the Alpha supports many additional directives for -compatibility with the native assembler. This section describes them -only briefly. - - These are the additional directives in `as' for the Alpha: - -`.arch CPU' - Specifies the target processor. This is equivalent to the `-mCPU' - command-line option. *Note Options: Alpha Options, for a list of - values for CPU. - -`.ent FUNCTION[, N]' - Mark the beginning of FUNCTION. An optional number may follow for - compatibility with the OSF/1 assembler, but is ignored. When - generating `.mdebug' information, this will create a procedure - descriptor for the function. In ELF, it will mark the symbol as a - function a-la the generic `.type' directive. - -`.end FUNCTION' - Mark the end of FUNCTION. In ELF, it will set the size of the - symbol a-la the generic `.size' directive. - -`.mask MASK, OFFSET' - Indicate which of the integer registers are saved in the current - function's stack frame. MASK is interpreted a bit mask in which - bit N set indicates that register N is saved. The registers are - saved in a block located OFFSET bytes from the "canonical frame - address" (CFA) which is the value of the stack pointer on entry to - the function. The registers are saved sequentially, except that - the return address register (normally `$26') is saved first. - - This and the other directives that describe the stack frame are - currently only used when generating `.mdebug' information. They - may in the future be used to generate DWARF2 `.debug_frame' unwind - information for hand written assembly. - -`.fmask MASK, OFFSET' - Indicate which of the floating-point registers are saved in the - current stack frame. The MASK and OFFSET parameters are - interpreted as with `.mask'. - -`.frame FRAMEREG, FRAMEOFFSET, RETREG[, ARGOFFSET]' - Describes the shape of the stack frame. The frame pointer in use - is FRAMEREG; normally this is either `$fp' or `$sp'. The frame - pointer is FRAMEOFFSET bytes below the CFA. The return address is - initially located in RETREG until it is saved as indicated in - `.mask'. For compatibility with OSF/1 an optional ARGOFFSET - parameter is accepted and ignored. It is believed to indicate the - offset from the CFA to the saved argument registers. - -`.prologue N' - Indicate that the stack frame is set up and all registers have been - spilled. The argument N indicates whether and how the function - uses the incoming "procedure vector" (the address of the called - function) in `$27'. 0 indicates that `$27' is not used; 1 - indicates that the first two instructions of the function use `$27' - to perform a load of the GP register; 2 indicates that `$27' is - used in some non-standard way and so the linker cannot elide the - load of the procedure vector during relaxation. - -`.usepv FUNCTION, WHICH' - Used to indicate the use of the `$27' register, similar to - `.prologue', but without the other semantics of needing to be - inside an open `.ent'/`.end' block. - - The WHICH argument should be either `no', indicating that `$27' is - not used, or `std', indicating that the first two instructions of - the function perform a GP load. - - One might use this directive instead of `.prologue' if you are - also using dwarf2 CFI directives. - -`.gprel32 EXPRESSION' - Computes the difference between the address in EXPRESSION and the - GP for the current object file, and stores it in 4 bytes. In - addition to being smaller than a full 8 byte address, this also - does not require a dynamic relocation when used in a shared - library. - -`.t_floating EXPRESSION' - Stores EXPRESSION as an IEEE double precision value. - -`.s_floating EXPRESSION' - Stores EXPRESSION as an IEEE single precision value. - -`.f_floating EXPRESSION' - Stores EXPRESSION as a VAX F format value. - -`.g_floating EXPRESSION' - Stores EXPRESSION as a VAX G format value. - -`.d_floating EXPRESSION' - Stores EXPRESSION as a VAX D format value. - -`.set FEATURE' - Enables or disables various assembler features. Using the positive - name of the feature enables while using `noFEATURE' disables. - - `at' - Indicates that macro expansions may clobber the "assembler - temporary" (`$at' or `$28') register. Some macros may not be - expanded without this and will generate an error message if - `noat' is in effect. When `at' is in effect, a warning will - be generated if `$at' is used by the programmer. - - `macro' - Enables the expansion of macro instructions. Note that - variants of real instructions, such as `br label' vs `br - $31,label' are considered alternate forms and not macros. - - `move' - `reorder' - `volatile' - These control whether and how the assembler may re-order - instructions. Accepted for compatibility with the OSF/1 - assembler, but `as' does not do instruction scheduling, so - these features are ignored. - - The following directives are recognized for compatibility with the -OSF/1 assembler but are ignored. - - .proc .aproc - .reguse .livereg - .option .aent - .ugen .eflag - .alias .noalias - - -File: as.info, Node: Alpha Opcodes, Prev: Alpha Directives, Up: Alpha-Dependent - -8.2.6 Opcodes -------------- - -For detailed information on the Alpha machine instruction set, see the -Alpha Architecture Handbook -(ftp://ftp.digital.com/pub/Digital/info/semiconductor/literature/alphaahb.pdf). - - -File: as.info, Node: ARC-Dependent, Next: ARM-Dependent, Prev: Alpha-Dependent, Up: Machine Dependencies - -8.3 ARC Dependent Features -========================== - -* Menu: - -* ARC Options:: Options -* ARC Syntax:: Syntax -* ARC Floating Point:: Floating Point -* ARC Directives:: ARC Machine Directives -* ARC Opcodes:: Opcodes - - -File: as.info, Node: ARC Options, Next: ARC Syntax, Up: ARC-Dependent - -8.3.1 Options -------------- - -`-marc[5|6|7|8]' - This option selects the core processor variant. Using `-marc' is - the same as `-marc6', which is also the default. - - `arc5' - Base instruction set. - - `arc6' - Jump-and-link (jl) instruction. No requirement of an - instruction between setting flags and conditional jump. For - example: - - mov.f r0,r1 - beq foo - - `arc7' - Break (brk) and sleep (sleep) instructions. - - `arc8' - Software interrupt (swi) instruction. - - - Note: the `.option' directive can to be used to select a core - variant from within assembly code. - -`-EB' - This option specifies that the output generated by the assembler - should be marked as being encoded for a big-endian processor. - -`-EL' - This option specifies that the output generated by the assembler - should be marked as being encoded for a little-endian processor - - this is the default. - - - -File: as.info, Node: ARC Syntax, Next: ARC Floating Point, Prev: ARC Options, Up: ARC-Dependent - -8.3.2 Syntax ------------- - -* Menu: - -* ARC-Chars:: Special Characters -* ARC-Regs:: Register Names - - -File: as.info, Node: ARC-Chars, Next: ARC-Regs, Up: ARC Syntax - -8.3.2.1 Special Characters -.......................... - -*TODO* - - -File: as.info, Node: ARC-Regs, Prev: ARC-Chars, Up: ARC Syntax - -8.3.2.2 Register Names -...................... - -*TODO* - - -File: as.info, Node: ARC Floating Point, Next: ARC Directives, Prev: ARC Syntax, Up: ARC-Dependent - -8.3.3 Floating Point --------------------- - -The ARC core does not currently have hardware floating point support. -Software floating point support is provided by `GCC' and uses IEEE -floating-point numbers. - - -File: as.info, Node: ARC Directives, Next: ARC Opcodes, Prev: ARC Floating Point, Up: ARC-Dependent - -8.3.4 ARC Machine Directives ----------------------------- - -The ARC version of `as' supports the following additional machine -directives: - -`.2byte EXPRESSIONS' - *TODO* - -`.3byte EXPRESSIONS' - *TODO* - -`.4byte EXPRESSIONS' - *TODO* - -`.extAuxRegister NAME,ADDRESS,MODE' - *TODO* - - .extAuxRegister mulhi,0x12,w - -`.extCondCode SUFFIX,VALUE' - *TODO* - - .extCondCode is_busy,0x14 - -`.extCoreRegister NAME,REGNUM,MODE,SHORTCUT' - *TODO* - - .extCoreRegister mlo,57,r,can_shortcut - -`.extInstruction NAME,OPCODE,SUBOPCODE,SUFFIXCLASS,SYNTAXCLASS' - *TODO* - - .extInstruction mul64,0x14,0x0,SUFFIX_COND,SYNTAX_3OP|OP1_MUST_BE_IMM - -`.half EXPRESSIONS' - *TODO* - -`.long EXPRESSIONS' - *TODO* - -`.option ARC|ARC5|ARC6|ARC7|ARC8' - The `.option' directive must be followed by the desired core - version. Again `arc' is an alias for `arc6'. - - Note: the `.option' directive overrides the command line option - `-marc'; a warning is emitted when the version is not consistent - between the two - even for the implicit default core version - (arc6). - -`.short EXPRESSIONS' - *TODO* - -`.word EXPRESSIONS' - *TODO* - - - -File: as.info, Node: ARC Opcodes, Prev: ARC Directives, Up: ARC-Dependent - -8.3.5 Opcodes -------------- - -For information on the ARC instruction set, see `ARC Programmers -Reference Manual', ARC Cores Ltd. - - -File: as.info, Node: ARM-Dependent, Next: CRIS-Dependent, Prev: ARC-Dependent, Up: Machine Dependencies - -8.4 ARM Dependent Features -========================== - -* Menu: - -* ARM Options:: Options -* ARM Syntax:: Syntax -* ARM Floating Point:: Floating Point -* ARM Directives:: ARM Machine Directives -* ARM Opcodes:: Opcodes -* ARM Mapping Symbols:: Mapping Symbols - - -File: as.info, Node: ARM Options, Next: ARM Syntax, Up: ARM-Dependent - -8.4.1 Options -------------- - -`-mcpu=PROCESSOR[+EXTENSION...]' - This option specifies the target processor. The assembler will - issue an error message if an attempt is made to assemble an - instruction which will not execute on the target processor. The - following processor names are recognized: `arm1', `arm2', `arm250', - `arm3', `arm6', `arm60', `arm600', `arm610', `arm620', `arm7', - `arm7m', `arm7d', `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700', - `arm700i', `arm710', `arm710t', `arm720', `arm720t', `arm740t', - `arm710c', `arm7100', `arm7500', `arm7500fe', `arm7t', `arm7tdmi', - `arm8', `arm810', `strongarm', `strongarm1', `strongarm110', - `strongarm1100', `strongarm1110', `arm9', `arm920', `arm920t', - `arm922t', `arm940t', `arm9tdmi', `arm9e', `arm926e', `arm926ejs', - `arm946e-r0', `arm946e', `arm966e-r0', `arm966e', `arm10t', - `arm10e', `arm1020', `arm1020t', `arm1020e', `arm1026ejs', - `arm1136js', `arm1136jfs', `ep9312' (ARM920 with Cirrus Maverick - coprocessor), `i80200' (Intel XScale processor) `iwmmxt' (Intel(r) - XScale processor with Wireless MMX(tm) technology coprocessor) and - `xscale'. The special name `all' may be used to allow the - assembler to accept instructions valid for any ARM processor. - - In addition to the basic instruction set, the assembler can be - told to accept various extension mnemonics that extend the - processor using the co-processor instruction space. For example, - `-mcpu=arm920+maverick' is equivalent to specifying - `-mcpu=ep9312'. The following extensions are currently supported: - `+maverick' `+iwmmxt' and `+xscale'. - -`-march=ARCHITECTURE[+EXTENSION...]' - This option specifies the target architecture. The assembler will - issue an error message if an attempt is made to assemble an - instruction which will not execute on the target architecture. - The following architecture names are recognized: `armv1', `armv2', - `armv2a', `armv2s', `armv3', `armv3m', `armv4', `armv4xm', - `armv4t', `armv4txm', `armv5', `armv5t', `armv5txm', `armv5te', - `armv5texp', `armv6', `armv6j', `iwmmxt' and `xscale'. If both - `-mcpu' and `-march' are specified, the assembler will use the - setting for `-mcpu'. - - The architecture option can be extended with the same instruction - set extension options as the `-mcpu' option. - -`-mfpu=FLOATING-POINT-FORMAT' - This option specifies the floating point format to assemble for. - The assembler will issue an error message if an attempt is made to - assemble an instruction which will not execute on the target - floating point unit. The following format options are recognized: - `softfpa', `fpe', `fpe2', `fpe3', `fpa', `fpa10', `fpa11', - `arm7500fe', `softvfp', `softvfp+vfp', `vfp', `vfp10', `vfp10-r0', - `vfp9', `vfpxd', `arm1020t', `arm1020e', `arm1136jfs' and - `maverick'. - - In addition to determining which instructions are assembled, this - option also affects the way in which the `.double' assembler - directive behaves when assembling little-endian code. - - The default is dependent on the processor selected. For - Architecture 5 or later, the default is to assembler for VFP - instructions; for earlier architectures the default is to assemble - for FPA instructions. - -`-mthumb' - This option specifies that the assembler should start assembling - Thumb instructions; that is, it should behave as though the file - starts with a `.code 16' directive. - -`-mthumb-interwork' - This option specifies that the output generated by the assembler - should be marked as supporting interworking. - -`-mapcs `[26|32]'' - This option specifies that the output generated by the assembler - should be marked as supporting the indicated version of the Arm - Procedure. Calling Standard. - -`-matpcs' - This option specifies that the output generated by the assembler - should be marked as supporting the Arm/Thumb Procedure Calling - Standard. If enabled this option will cause the assembler to - create an empty debugging section in the object file called - .arm.atpcs. Debuggers can use this to determine the ABI being - used by. - -`-mapcs-float' - This indicates the floating point variant of the APCS should be - used. In this variant floating point arguments are passed in FP - registers rather than integer registers. - -`-mapcs-reentrant' - This indicates that the reentrant variant of the APCS should be - used. This variant supports position independent code. - -`-mfloat-abi=ABI' - This option specifies that the output generated by the assembler - should be marked as using specified floating point ABI. The - following values are recognized: `soft', `softfp' and `hard'. - -`-meabi=VER' - This option specifies which EABI version the produced object files - should conform to. The following values are recognised: `gnu' and - `3'. - -`-EB' - This option specifies that the output generated by the assembler - should be marked as being encoded for a big-endian processor. - -`-EL' - This option specifies that the output generated by the assembler - should be marked as being encoded for a little-endian processor. - -`-k' - This option specifies that the output of the assembler should be - marked as position-independent code (PIC). - -`-moabi' - This indicates that the code should be assembled using the old ARM - ELF conventions, based on a beta release release of the ARM-ELF - specifications, rather than the default conventions which are - based on the final release of the ARM-ELF specifications. - - - -File: as.info, Node: ARM Syntax, Next: ARM Floating Point, Prev: ARM Options, Up: ARM-Dependent - -8.4.2 Syntax ------------- - -* Menu: - -* ARM-Chars:: Special Characters -* ARM-Regs:: Register Names - - -File: as.info, Node: ARM-Chars, Next: ARM-Regs, Up: ARM Syntax - -8.4.2.1 Special Characters -.......................... - -The presence of a `@' on a line indicates the start of a comment that -extends to the end of the current line. If a `#' appears as the first -character of a line, the whole line is treated as a comment. - - The `;' character can be used instead of a newline to separate -statements. - - Either `#' or `$' can be used to indicate immediate operands. - - *TODO* Explain about /data modifier on symbols. - - -File: as.info, Node: ARM-Regs, Prev: ARM-Chars, Up: ARM Syntax - -8.4.2.2 Register Names -...................... - -*TODO* Explain about ARM register naming, and the predefined names. - - -File: as.info, Node: ARM Floating Point, Next: ARM Directives, Prev: ARM Syntax, Up: ARM-Dependent - -8.4.3 Floating Point --------------------- - -The ARM family uses IEEE floating-point numbers. - - -File: as.info, Node: ARM Directives, Next: ARM Opcodes, Prev: ARM Floating Point, Up: ARM-Dependent - -8.4.4 ARM Machine Directives ----------------------------- - -`.align EXPRESSION [, EXPRESSION]' - This is the generic .ALIGN directive. For the ARM however if the - first argument is zero (ie no alignment is needed) the assembler - will behave as if the argument had been 2 (ie pad to the next four - byte boundary). This is for compatibility with ARM's own - assembler. - -`NAME .req REGISTER NAME' - This creates an alias for REGISTER NAME called NAME. For example: - - foo .req r0 - -`.unreq ALIAS-NAME' - This undefines a register alias which was previously defined using - the `req' directive. For example: - - foo .req r0 - .unreq foo - - An error occurs if the name is undefined. Note - this pseudo op - can be used to delete builtin in register name aliases (eg 'r0'). - This should only be done if it is really necessary. - -`.code `[16|32]'' - This directive selects the instruction set being generated. The - value 16 selects Thumb, with the value 32 selecting ARM. - -`.thumb' - This performs the same action as .CODE 16. - -`.arm' - This performs the same action as .CODE 32. - -`.force_thumb' - This directive forces the selection of Thumb instructions, even if - the target processor does not support those instructions - -`.thumb_func' - This directive specifies that the following symbol is the name of a - Thumb encoded function. This information is necessary in order to - allow the assembler and linker to generate correct code for - interworking between Arm and Thumb instructions and should be used - even if interworking is not going to be performed. The presence - of this directive also implies `.thumb' - -`.thumb_set' - This performs the equivalent of a `.set' directive in that it - creates a symbol which is an alias for another symbol (possibly - not yet defined). This directive also has the added property in - that it marks the aliased symbol as being a thumb function entry - point, in the same way that the `.thumb_func' directive does. - -`.ltorg' - This directive causes the current contents of the literal pool to - be dumped into the current section (which is assumed to be the - .text section) at the current location (aligned to a word - boundary). `GAS' maintains a separate literal pool for each - section and each sub-section. The `.ltorg' directive will only - affect the literal pool of the current section and sub-section. - At the end of assembly all remaining, un-empty literal pools will - automatically be dumped. - - Note - older versions of `GAS' would dump the current literal pool - any time a section change occurred. This is no longer done, since - it prevents accurate control of the placement of literal pools. - -`.pool' - This is a synonym for .ltorg. - - - -File: as.info, Node: ARM Opcodes, Next: ARM Mapping Symbols, Prev: ARM Directives, Up: ARM-Dependent - -8.4.5 Opcodes -------------- - -`as' implements all the standard ARM opcodes. It also implements -several pseudo opcodes, including several synthetic load instructions. - -`NOP' - nop - - This pseudo op will always evaluate to a legal ARM instruction - that does nothing. Currently it will evaluate to MOV r0, r0. - -`LDR' - ldr , = - - If expression evaluates to a numeric constant then a MOV or MVN - instruction will be used in place of the LDR instruction, if the - constant can be generated by either of these instructions. - Otherwise the constant will be placed into the nearest literal - pool (if it not already there) and a PC relative LDR instruction - will be generated. - -`ADR' - adr