diff options
author | obrien <obrien@FreeBSD.org> | 2002-02-22 04:18:42 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-02-22 04:18:42 +0000 |
commit | 670387a18a22cf299c750186efe8ca24cebb7e05 (patch) | |
tree | 70c0d6a941b83c97839ec1237622c20ea8beb870 /contrib/binutils/ld | |
parent | fc89183cdc6be5afa8deb7250fd15a20832ab528 (diff) | |
download | FreeBSD-src-670387a18a22cf299c750186efe8ca24cebb7e05.zip FreeBSD-src-670387a18a22cf299c750186efe8ca24cebb7e05.tar.gz |
Import of Binutils from the FSF 2.12 branch (pre-.0 release).
These bits are taken from the FSF anoncvs repo on 21-Feburary-2002 20:15 PST.
Diffstat (limited to 'contrib/binutils/ld')
29 files changed, 2050 insertions, 505 deletions
diff --git a/contrib/binutils/ld/ChangeLog b/contrib/binutils/ld/ChangeLog index de96a89..6719281 100644 --- a/contrib/binutils/ld/ChangeLog +++ b/contrib/binutils/ld/ChangeLog @@ -1,3 +1,259 @@ +2002-02-20 Andreas Schwab <schwab@suse.de> + + * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold + .IA64_unwind* in a relocatable link. + +2002-02-19 David O'Brien <obrien@FreeBSD.org> + + * Makefile.am: Add new files earmelf_fbsd, eelf32ppc_fbsd, + eelf_i386_fbsd, eelf64_ia64_fbsd, eelf_x86_64_fbsd, eelf64_sparc_fbsd, + and eelf64alpha_fbsd. + * Makefile.in: Regenerate. + * configure.tgt(sparc64-*-freebsd, ia64-*-freebsd, i[3456]86-*-freebsd, + x86_64-*-freebsd, arm-*-freebsd, alpha*-*-freebsd, powerpc-*-freebsd): + use a FreeBSD-specific emulation rather than the psABI one. + * emulparams/elf_fbsd.sh (ELF_INTERPRETER_NAME): Set appropriate value + for all FreeBSD ELF systems. + * emulparams/armelf_fbsd.sh: Bridge elf_fbsd.sh and the "native" psABI + emulation. + * emulparams/elf32ppc_fbsd.sh: Likewise. + * emulparams/elf64_ia64_fbsd.sh: Likewise. + * emulparams/elf64_sparc_fbsd.sh: Likewise. + * emulparams/elf64alpha_fbsd.sh: Likewise. + * emulparams/elf_i386_fbsd.sh: Likewise. + * emulparams/elf_x86_64_fbsd.sh: Likewise. + +2002-02-15 Richard Henderson <rth@redhat.com> + + * emulparams/elf64alpha.sh (NOP): Adjust for little-endian definition. + +2002-02-15 Hans-Peter Nilsson <hp@bitrange.com> + + * NEWS: Mention support for MMIX. + +2002-02-14 Phil Edwards <pme@gcc.gnu.org> + + * ld.texinfo (VERSION scripts): Symbol names are globbing patterns. + * ldgram.y (lang_new_vers_regex): Rename to lang_new_vers_pattern; + the pattern in question is not a regexp. + * ldlang.c: Likewise. + * ldlang.h: Likewise. + * ldlex.l (V_IDENTIFIER): Allow '[', ']', '-', '!', and '^' also. + +2002-02-10 Daniel Jacobowitz <drow@mvista.com> + + * lexsup.c: Remove strtoul declaration. + +2002-02-11 Alan Modra <amodra@bigpond.net.au> + + * ldlang.c (entry_section): New initialised variable. + (lang_finish): Use it. + * ldlang.h (entry_section): Declare. + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Set + entry_section to ".opd". + +2002-02-10 Daniel Jacobowitz <drow@mvista.com> + + * ldmain.c: Add prototype for main (). + * lexsup.c: Guard declaration of strtoul with HAVE_STDLIB_H. + * emultempl/lnk960.em (lnk960_choose_target): Function should + take two arguments. + +2002-02-09 Chris Demetriou <cgd@broadcom.com> + + * ld.texinfo (Options): Add back in -nostdlib documentation, + which had been inadvertently removed. + +2002-02-09 Hans-Peter Nilsson <hp@bitrange.com> + + * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Adjust + register section vma to a sane value after emitting error. Make + fatal conditions cause program exit when emitting message. + +2002-02-08 Ivan Guzvinec <ivang@opencores.org> + + * configure.tgt: Add or32-*-rtems target. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2002-01-24 Alexandre Oliva <aoliva@redhat.com> + * emulparams/shelf32.sh (STACK_ADDR): Define as formerly defined + in OTHER_RELOCATABLE_SECTIONS. + 2002-01-18 Alexandre Oliva <aoliva@redhat.com> + * emulparams/shelf32.sh (STACK_ADDR): Define. + (OTHER_RELOCATABLE_SECTIONS): Renamed to... + (OTHER_SECTIONS): this. Removed stack settings. + * emulparams/shelf64.sh (OTHER_RELOCATABLE_SECTIONS): Do not set. + (OTHER_SECTIONS): Reset after sourcing shelf32.sh. + 2001-03-12 DJ Delorie <dj@redhat.com> + * emultempl/sh64elf.em (sh64_elf_$_before_allocation): Disable + relaxing if any shmedia or mixed sections are found. + 2001-03-07 DJ Delorie <dj@redhat.com> + * emultempl/sh64elf.em (sh64_elf_before_allocation): Pass f to + einfo. Gracefully decline to output to non-elf formats. + 2001-03-06 Hans-Peter Nilsson <hpn@redhat.com> + * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS) <.stack>: + Default to _end aligned to next multiple of 0x40000, plus 0x40000. + * emulparams/shelf32.sh: Ditto. + 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com> + * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Tweak + comment. + 2001-01-10 Ben Elliston <bje@redhat.com> + * emulparams/shelf32.sh (OTHER_RELOCATING_SECTIONS): Avoid + non-portable shell constructs. From Hans-Peter Nilsson. + 2001-01-09 Hans-Peter Nilsson <hpn@cygnus.com> + * emulparams/shelf64.sh (EXTRA_EM_FILE): Define empty. + * Makefile.am (eshelf64.c, eshlelf64.c, eshlelf32.c): Adjust + dependencies to the shell script include chain. + * Makefile.in: Regenerate. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + * emultempl/sh64elf.em: Update and tweak comments. + (sh64_elf_${EMULATION_NAME}_after_allocation): Always allocate and + make a .cranges section SEC_IN_MEMORY. + 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> + * emultempl/sh64elf.em + (sh64_elf_${EMULATION_NAME}_before_allocation): Don't stop when + .cranges section found to be necessary; continue and set stored + section contents flags for sections with non-mixed contents. + Use a struct sh64_section_data container and sh64_elf_section_data + to store contents-type flags. + Remove unused update of "isec". + (sh64_elf_${EMULATION_NAME}_after_allocation): Only process + sections marked SHF_SH5_ISA32_MIXED. Use sh64_elf_section_data to + access contents-type flags. Assert that the associated container + is initialized. Use that container, not elf_gp_size, to hold size + of linker-generated cranges contents. + 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> + * emultempl/sh64elf.em + (sh64_elf_${EMULATION_NAME}_before_allocation): Exit early if + there's already a .cranges section. When section flag difference + is found, don't NULL-check cranges a second time. Tweak comments. + (sh64_elf_${EMULATION_NAME}_after_allocation): Use size after + merging, not max size, as size of ld-generated .cranges contents. + Don't set ELF section flags in output section. When checking for + needed .cranges descriptors, don't use a variable; compare + incoming ELF section flags directly to SHF_SH5_ISA32_MIXED. Tweak + comments. + 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> + * emultempl/sh64elf.em: New file. + * Makefile.am (eshelf32.c, eshlelf32.c): Adjust dependencies. + * Makefile.in: Regenerate. + * emulparams/shelf32.sh (OUTPUT_FORMAT): Only set if not set. + (OTHER_RELOCATING_SECTIONS): Ditto. + (EXTRA_EM_FILE): New, set to sh64elf if not set. + * emulparams/shlelf32.sh: Stub out all settings except + OUTPUT_FORMAT. Source shelf32.sh. + * emulparams/shelf64.sh: Similar, but also keep ELF_SIZE and + OTHER_RELOCATING_SECTIONS. + (OTHER_RELOCATING_SECTIONS): Remove .cranges. + * emulparams/shlelf64.sh: Stub out all settings except + OUTPUT_FORMAT. Source shelf64.sh. + 2000-12-15 Hans-Peter Nilsson <hpn@cygnus.com> + * emulparams/shelf64.sh (OTHER_RELOCATING_SECTIONS): Include + .cranges section. + (DATA_START_SYMBOLS): Define, provide ___data. + (OTHER_READONLY_SYMBOLS): Define, provide ___rodata and align to 8 + for consecutive .data section. + (OTHER_GOT_SECTIONS): Define, align to 8 for consecutive .bss + section after .data section. + * emulparams/shlelf64.sh: Ditto. + * emulparams/shelf32.sh: Ditto. + (ALIGNMENT): Define to 8. + * emulparams/shelf32.sh: Ditto. + 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> + * configure.tgt (sh64-*-elf*): Assign targ_extra_libpath to get + built-in linker scripts. + 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com> + * emulparams/shlelf64.sh: New. + * emulparams/shelf64.sh: New. + * configure.tgt (sh64-*-elf*): Add shelf64 and shlelf64 to + targ_extra_emuls. + * Makefile.am: Add support for shlelf64 and shelf64. + * Makefile.in: Regenerate. + 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com> + * configure.tgt (sh64-*-elf*): Add shelf as default. + Add shlelf to targ_extra_emuls. + 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com> + * emulparams/shelf32.sh: New file. + * emulparams/shlelf32.sh: New file. + * Makefile.am: Add support for shlelf32 and shelf32. + * configure.tgt: Map sh64-*-elf* to shlelf32 and shelf32. + * Makefile.in: Regenerate. + +2002-02-05 Hans-Peter Nilsson <hp@axis.com> + + * ldlang.c (lang_reset_memory_regions): Rename from + reset_memory_regions. Change all callers. Make public. + * ldlang.h (lang_reset_memory_regions): Prototype. + * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Call + lang_reset_memory_regions before lang_size_sections. + * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise. + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Likewise. + +2002-02-04 Hans-Peter Nilsson <hp@bitrange.com> + + * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Use signed + arithmetic when checking for too many global registers. + +2002-02-02 Jason Thorpe <thorpej@wasabisystems.com> + + * Makefile.am (ALL_EMULATIONS): Add ehppanbsd.o. + (ehppanbsd.c): New rule. + * Makefile.in: Regenerate. + * configure.tgt (hppa*-*-netbsd*): New target. + * emulparams/hppalinux.sh: Add comment to check other files + that source this file it is modified, and list which + files that do. + * emulparams/hppanbsd.sh: New file. + +2002-02-01 Geoffrey Keating <geoffk@redhat.com> + + * scripttempl/xstormy16.sc: Don't allocate extra space for the + stack. + +2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> + + Support on-demand global register allocation from + R_MMIX_BASE_PLUS_OFFSET relocs. + * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Rename from + mmix_set_reg_section_vma. Call + _bfd_mmix_finalize_linker_allocated_gregs. + (mmix_before_allocation): New function. + (LDEMUL_AFTER_ALLOCATION): Set to mmix_after_allocation. + (LDEMUL_BEFORE_ALLOCATION): Define to mmix_before_allocation. + * scripttempl/mmo.sc (.text): Mark .init, .fini as KEEP. + (.MMIX.reg_contents): Add .MMIX.reg_contents.linker_allocated + before .MMIX.reg_contents. + * emultempl/mmo.em (gldmmo_before_allocation): Define to default. + (mmo_after_open): New function. + (LDEMUL_AFTER_OPEN): Define to mmo_after_open. + * emulparams/elf64mmix.sh (OTHER_SECTIONS): Tweak formatting. Add + .MMIX.reg_contents.linker_allocated before .MMIX.reg_contents. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * emulparams/or32.sh: New file. + * emulparams/or32elf.sh: New file. + * scripttempl/or32.sc: New file. + * configure.tgt : Add support for or32. + * configure: Regenerate + * Makefile.am: Add support for or32. + * Makefile.in: Regenerate. + * NEWS: Mention support for or32. + * po/ld.pot: Regenerate. + +2002-01-29 Chris Demetriou <cgd@broadcom.com> + Mitch Lichtenberg <mpl@broadcom.com> + + * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Define to be mipself. + * emultempl/mipself.em: New file to handle MIPS ELF embedded + reloc creation (ld --embedded-relocs). + +2002-01-27 Daniel Jacobowitz <drow@mvista.com> + + * configure: Regenerated. + 2002-01-26 Hans-Peter Nilsson <hp@bitrange.com> * Makefile.am (install): Depend on install-info. @@ -468,7 +724,7 @@ * emultempl/elf32.em (gld${EMULATION_NAME}_finish): New. (struct ld_emulation_xfer_struct): Use it. -Tue Nov 13 11:27:14 2001 Ross Alexander <ross.alexander@uk.neceur.com> +2001-11-13 Ross Alexander <ross.alexander@uk.neceur.com> * emulparams/elf64hppa.sh (OTHER_BSS_END_SYMBOLS): Add additional symbols referenced by newer crt0.o files from HP. @@ -821,7 +1077,7 @@ Tue Nov 13 11:27:14 2001 Ross Alexander <ross.alexander@uk.neceur.com> * scripttempl/v850.sc: Add gcc_except_table sections. -Fri Sep 7 11:34:24 2001 Jeffrey A Law (law@cygnus.com) +2001-09-11 Jeffrey A Law (law@cygnus.com) * emulparams/h8300helf.sh: Move stack to a much higher memory address. * emulparams/h8300self.sh: Similarly. @@ -877,7 +1133,7 @@ Fri Sep 7 11:34:24 2001 Jeffrey A Law (law@cygnus.com) ARCH specification. * emulparams/h8300self.sh: Similarly. -Wed Aug 28 13:37:20 2001 J"orn Rennecke <amylaar@redhat.com> +2001-08-28 J"orn Rennecke <amylaar@redhat.com> * Makefile.am (ALL_EMULATIONS): Add eh8300elf.o, eh8300elf.o and eh8300self.o . @@ -1978,7 +2234,7 @@ Wed Aug 28 13:37:20 2001 J"orn Rennecke <amylaar@redhat.com> * emulparams/elf32ppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. * emulparams/elf32lppcsim.sh (OTHER_READWRITE_SECTIONS): Likewise. -Mon Dec 11 14:50:33 MET 2000 Jan Hubicka <jh@suse.cz> +2000-12-11 Jan Hubicka <jh@suse.cz> * NEWS: Add note about x86_64 architecture. @@ -2047,7 +2303,7 @@ Mon Dec 11 14:50:33 MET 2000 Jan Hubicka <jh@suse.cz> * scripttempl/h8300h.sc: Likewise. * scripttempl/h8300s.sc: Likewise. -Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru> +2000-11-14 Denis Chertykov <denisc@overta.ru> * scripttempl/elf32avr.sc: Fix bug in .eeprom segment. @@ -3006,7 +3262,7 @@ Tue Nov 14 00:59:19 2000 Denis Chertykov <denisc@overta.ru> * lexsup.c (parse_args): `i' == `r', not `q'. -Thu May 18 10:47:57 2000 Jeffrey A Law (law@cygnus.com) +2000-05-18 Jeffrey A Law (law@cygnus.com) * configure.tgt (hppa*64*-*-*): Enable PA64 target. @@ -3047,7 +3303,7 @@ Thu May 18 10:47:57 2000 Jeffrey A Law (law@cygnus.com) * lexsup.c (set_section_start): Use bfd_scan_vma rather than strtoul. -Mon May 1 17:34:34 2000 Jim Wilson <wilson@cygnus.com> +2000-05-01 Jim Wilson <wilson@cygnus.com> * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}. @@ -3058,7 +3314,7 @@ Mon May 1 17:34:34 2000 Jim Wilson <wilson@cygnus.com> * ld.h: Correctly check GCC version. -Tue Apr 25 11:20:43 2000 Jeffrey A Law (law@cygnus.com) +2000-04-25 Jeffrey A Law (law@cygnus.com) * Makefile.am: Add PA64 support. Add missing dependencies for PA32 elf support. @@ -3097,8 +3353,8 @@ Tue Apr 25 11:20:43 2000 Jeffrey A Law (law@cygnus.com) * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support. -Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> - David Mosberger <davidm@hpl.hp.com> +2000-04-21 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o. (eelf64_ia64.c): New rule. @@ -3177,7 +3433,7 @@ Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> * ld.texinfo (Simple Example): Remove extraneous paragraph. -Fri Apr 7 15:56:57 2000 Andrew Cagney <cagney@b1.cygnus.com> +2000-04-07 Andrew Cagney <cagney@b1.cygnus.com> * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add --enable-build-warnings option. @@ -3446,7 +3702,7 @@ Fri Apr 7 15:56:57 2000 Andrew Cagney <cagney@b1.cygnus.com> being invoked by a comnpiler driver program. Fix description of the behaviour of the -n command line switch. -Wed Jan 5 08:02:12 2000 Catherine Moore <clm@cygnus.com> +2000-01-05 Catherine Moore <clm@cygnus.com> * ld.h (wildcard_spec): Change exclude_name to exclude_name_list. (name_list): New. diff --git a/contrib/binutils/ld/Makefile.am b/contrib/binutils/ld/Makefile.am index 1d59e83..bff2045 100644 --- a/contrib/binutils/ld/Makefile.am +++ b/contrib/binutils/ld/Makefile.am @@ -117,6 +117,7 @@ ALL_EMULATIONS = \ earmaoutl.o \ earmcoff.o \ earmelf.o \ + earmelf_fbsd.o \ earmelf_linux.o \ earmelf_nbsd.o \ earmelf_oabi.o \ @@ -159,12 +160,14 @@ ALL_EMULATIONS = \ eelf32mcore.o \ eelf32openrisc.o \ eelf32ppc.o \ + eelf32ppc_fbsd.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ eelf32xstormy16.o \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ + eelf_i386_fbsd.o \ eelf_i386_ldso.o \ eelf_s390.o \ egld960.o \ @@ -184,6 +187,7 @@ ALL_EMULATIONS = \ ehp3hpux.o \ ehppaelf.o \ ehppalinux.o \ + ehppanbsd.o \ ei386aout.o \ ei386beos.o \ ei386bsd.o \ @@ -224,6 +228,8 @@ ALL_EMULATIONS = \ emipspe.o \ enews.o \ ens32knbsd.o \ + eor32.o \ + eor32elf.o \ epc532macha.o \ epdp11.o \ epjelf.o \ @@ -234,6 +240,8 @@ ALL_EMULATIONS = \ eriscix.o \ esa29200.o \ esh.o \ + eshelf32.o \ + eshlelf32.o \ eshelf.o \ eshelf_linux.o \ eshlelf_linux.o \ @@ -263,10 +271,16 @@ ALL_EMULATIONS = \ ALL_64_EMULATIONS = \ eelf64_aix.o \ eelf64_ia64.o \ + eelf64_ia64_fbsd.o \ + eshelf64.o \ + eshlelf64.o \ eelf_x86_64.o \ + eelf_x86_64_fbsd.o \ eelf64_s390.o \ eelf64_sparc.o \ + eelf64_sparc_fbsd.o \ eelf64alpha.o \ + eelf64alpha_fbsd.o \ eelf64alpha_nbsd.o \ eelf64bmip.o \ eelf64btsmip.o \ @@ -358,6 +372,11 @@ earmelf.c: $(srcdir)/emulparams/armelf.sh \ earmelf_oabi.c: $(srcdir)/emulparams/armelf_oabi.sh \ $(srcdir)/emultempl/armelf_oabi.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} armelf_oabi "$(tdir_armelf)" +earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)" earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -525,6 +544,10 @@ eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \ eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)" +eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \ + $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)" eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \ $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -546,6 +569,10 @@ eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)" +eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \ + $(srcdir)/emulparams/elf64alpha.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)" eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \ $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -561,12 +588,21 @@ eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)" +eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \ + $(srcdir)/emulparams/elf64_ia64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)" eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)" eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)" +eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \ + $(srcdir)/emulparams/elf64_sparc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)" eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \ $(srcdir)/emulparams/elf32bmipn32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -593,12 +629,20 @@ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)" +eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)" eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)" eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)" +eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)" eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" @@ -660,6 +704,11 @@ ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} hppalinux "$(tdir_hppalinux)" +ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \ + $(srcdir)/emulparams/hppaelf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} hppanbsd "$(tdir_hppanbsd)" ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)" @@ -793,6 +842,12 @@ enews.c: $(srcdir)/emulparams/news.sh \ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} ns32knbsd "$(tdir_ns32knbsd)" +eor32.c: $(srcdir)/emulparams/or32.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS} + ${GENSCRIPTS} or32 "$(tdir_or32)" +eor32elf.c: $(srcdir)/emulparams/or32elf.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} or32elf "$(tdir_or32elf)" epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} pc532macha "$(tdir_pc532macha)" @@ -826,6 +881,14 @@ esh.c: $(srcdir)/emulparams/sh.sh \ eshelf.c: $(srcdir)/emulparams/shelf.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf "$(tdir_shelf)" +eshelf32.c: $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf32 "$(tdir_shelf32)" +eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf64 "$(tdir_shelf64)" eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \ $(srcdir)/emulparams/shlelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -846,6 +909,15 @@ eshlelf.c: $(srcdir)/emulparams/shlelf.sh \ $(srcdir)/emulparams/shelf.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf "$(tdir_shlelf)" +eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)" +eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \ + $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)" eshl.c: $(srcdir)/emulparams/shl.sh \ $(srcdir)/emulparams/sh.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} @@ -1066,6 +1138,10 @@ install-data-local: $(INSTALL_DATA) $$f $(scriptdir)/$$f ; \ done +# We want install to imply install-info as per GNU standards, despite the +# cygnus option. +install: install-info + # Stuff that should be included in a distribution. The diststuff # target is run by the taz target in ../Makefile.in. EXTRA_DIST = ldgram.c ldgram.h ldlex.c $(man_MANS) diff --git a/contrib/binutils/ld/Makefile.in b/contrib/binutils/ld/Makefile.in index 1518e3f..b778681 100644 --- a/contrib/binutils/ld/Makefile.in +++ b/contrib/binutils/ld/Makefile.in @@ -226,6 +226,7 @@ ALL_EMULATIONS = \ earmaoutl.o \ earmcoff.o \ earmelf.o \ + earmelf_fbsd.o \ earmelf_linux.o \ earmelf_nbsd.o \ earmelf_oabi.o \ @@ -268,12 +269,14 @@ ALL_EMULATIONS = \ eelf32mcore.o \ eelf32openrisc.o \ eelf32ppc.o \ + eelf32ppc_fbsd.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ eelf32xstormy16.o \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ + eelf_i386_fbsd.o \ eelf_i386_ldso.o \ eelf_s390.o \ egld960.o \ @@ -293,6 +296,7 @@ ALL_EMULATIONS = \ ehp3hpux.o \ ehppaelf.o \ ehppalinux.o \ + ehppanbsd.o \ ei386aout.o \ ei386beos.o \ ei386bsd.o \ @@ -333,6 +337,8 @@ ALL_EMULATIONS = \ emipspe.o \ enews.o \ ens32knbsd.o \ + eor32.o \ + eor32elf.o \ epc532macha.o \ epdp11.o \ epjelf.o \ @@ -343,6 +349,8 @@ ALL_EMULATIONS = \ eriscix.o \ esa29200.o \ esh.o \ + eshelf32.o \ + eshlelf32.o \ eshelf.o \ eshelf_linux.o \ eshlelf_linux.o \ @@ -373,10 +381,16 @@ ALL_EMULATIONS = \ ALL_64_EMULATIONS = \ eelf64_aix.o \ eelf64_ia64.o \ + eelf64_ia64_fbsd.o \ + eshelf64.o \ + eshlelf64.o \ eelf_x86_64.o \ + eelf_x86_64_fbsd.o \ eelf64_s390.o \ eelf64_sparc.o \ + eelf64_sparc_fbsd.o \ eelf64alpha.o \ + eelf64alpha_fbsd.o \ eelf64alpha_nbsd.o \ eelf64bmip.o \ eelf64btsmip.o \ @@ -493,7 +507,7 @@ deffilep.c ldgram.c ldlex.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES) OBJECTS = $(ld_new_OBJECTS) @@ -1079,6 +1093,11 @@ earmelf.c: $(srcdir)/emulparams/armelf.sh \ earmelf_oabi.c: $(srcdir)/emulparams/armelf_oabi.sh \ $(srcdir)/emultempl/armelf_oabi.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} armelf_oabi "$(tdir_armelf)" +earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \ + $(srcdir)/emulparams/armelf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)" earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1246,6 +1265,10 @@ eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \ eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppc "$(tdir_elf32ppc)" +eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \ + $(srcdir)/emulparams/elf32ppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)" eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \ $(srcdir)/emulparams/elf32ppc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1267,6 +1290,10 @@ eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)" +eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \ + $(srcdir)/emulparams/elf64alpha.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)" eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \ $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1282,12 +1309,21 @@ eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)" +eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \ + $(srcdir)/emulparams/elf64_ia64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)" eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)" eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)" +eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \ + $(srcdir)/emulparams/elf64_sparc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)" eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \ $(srcdir)/emulparams/elf32bmipn32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1314,12 +1350,20 @@ eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \ eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)" +eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \ + $(srcdir)/emulparams/elf_x86_64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)" eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)" eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_chaos "$(tdir_elf_i386_chaos)" +eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \ + $(srcdir)/emulparams/elf_i386.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)" eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)" @@ -1381,6 +1425,11 @@ ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} hppalinux "$(tdir_hppalinux)" +ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \ + $(srcdir)/emulparams/hppaelf.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/hppaelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} hppanbsd "$(tdir_hppanbsd)" ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)" @@ -1514,6 +1563,12 @@ enews.c: $(srcdir)/emulparams/news.sh \ ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} ns32knbsd "$(tdir_ns32knbsd)" +eor32.c: $(srcdir)/emulparams/or32.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS} + ${GENSCRIPTS} or32 "$(tdir_or32)" +eor32elf.c: $(srcdir)/emulparams/or32elf.sh \ + $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} or32elf "$(tdir_or32elf)" epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS} ${GENSCRIPTS} pc532macha "$(tdir_pc532macha)" @@ -1547,6 +1602,14 @@ esh.c: $(srcdir)/emulparams/sh.sh \ eshelf.c: $(srcdir)/emulparams/shelf.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf "$(tdir_shelf)" +eshelf32.c: $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf32 "$(tdir_shelf32)" +eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf64 "$(tdir_shelf64)" eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \ $(srcdir)/emulparams/shlelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1567,6 +1630,15 @@ eshlelf.c: $(srcdir)/emulparams/shlelf.sh \ $(srcdir)/emulparams/shelf.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf "$(tdir_shlelf)" +eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)" +eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \ + $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)" eshl.c: $(srcdir)/emulparams/shl.sh \ $(srcdir)/emulparams/sh.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} @@ -1766,6 +1838,10 @@ install-data-local: for f in ldscripts/*; do \ $(INSTALL_DATA) $$f $(scriptdir)/$$f ; \ done + +# We want install to imply install-info as per GNU standards, despite the +# cygnus option. +install: install-info diststuff: info $(EXTRA_DIST) distclean-local: rm -rf ldscripts diff --git a/contrib/binutils/ld/NEWS b/contrib/binutils/ld/NEWS index 70997ef..bb873e5 100644 --- a/contrib/binutils/ld/NEWS +++ b/contrib/binutils/ld/NEWS @@ -1,4 +1,8 @@ -*- text -*- +* Support for Don Knuth's MMIX, by Hans-Peter Nilsson. + +* Support for the OpenRISC 32-bit embedded processor by OpenCores. + * Support for -z nocopyreloc in the x86 ELF linker, which disables production of copy relocs. Warning: using this option may result in non-sharable applications. diff --git a/contrib/binutils/ld/config.in b/contrib/binutils/ld/config.in index c6c80ee..87c5fe6 100644 --- a/contrib/binutils/ld/config.in +++ b/contrib/binutils/ld/config.in @@ -1,175 +1,171 @@ /* config.in. Generated automatically from configure.in by autoheader. */ -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define if using `alloca.c'. */ +/* Define if using alloca.c. */ #undef C_ALLOCA -/* Define to 1 if NLS is requested */ -#undef ENABLE_NLS +/* Define to empty if the keyword does not work. */ +#undef const -/* Additional extension a shared object might have. */ -#undef EXTRA_SHLIB_EXTENSION +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +#undef CRAY_STACKSEG_END -/* Define if you have `alloca', as a function or macro. */ +/* Define if you have alloca, as a function or macro. */ #undef HAVE_ALLOCA -/* Define if you have <alloca.h> and it should be used (not on Ultrix). */ +/* Define if you have <alloca.h> and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H -/* Define if you have the <argz.h> header file. */ -#undef HAVE_ARGZ_H +/* Define if you have a working `mmap' system call. */ +#undef HAVE_MMAP -/* Define if you have the `dcgettext' function. */ -#undef HAVE_DCGETTEXT +/* Define as __inline if that's what the C compiler calls it. */ +#undef inline -/* Define if you have the <dirent.h> header file, and it defines `DIR'. */ -#undef HAVE_DIRENT_H +/* Define to `long' if <sys/types.h> doesn't define. */ +#undef off_t -/* Define if you have the `getcwd' function. */ -#undef HAVE_GETCWD +/* Define to `unsigned' if <sys/types.h> doesn't define. */ +#undef size_t -/* Define if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE +/* 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 as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT +/* Define if you have the ANSI C header files. */ +#undef STDC_HEADERS -/* Define if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#undef YYTEXT_POINTER -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES +/* Define if you have the __argz_count function. */ +#undef HAVE___ARGZ_COUNT -/* Define if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H +/* Define if you have the __argz_next function. */ +#undef HAVE___ARGZ_NEXT -/* Define if you have the <locale.h> header file. */ -#undef HAVE_LOCALE_H +/* Define if you have the __argz_stringify function. */ +#undef HAVE___ARGZ_STRINGIFY -/* Define if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H +/* Define if you have the dcgettext function. */ +#undef HAVE_DCGETTEXT -/* Define if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H +/* Define if you have the getcwd function. */ +#undef HAVE_GETCWD -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP +/* Define if you have the getpagesize function. */ +#undef HAVE_GETPAGESIZE -/* Define if you have the `munmap' function. */ +/* Define if you have the munmap function. */ #undef HAVE_MUNMAP -/* Define if you have the <ndir.h> header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define if you have the <nl_types.h> header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the `putenv' function. */ +/* Define if you have the putenv function. */ #undef HAVE_PUTENV -/* Define if you have the `sbrk' function. */ +/* Define if you have the sbrk function. */ #undef HAVE_SBRK -/* Define if you have the `setenv' function. */ +/* Define if you have the setenv function. */ #undef HAVE_SETENV -/* Define if you have the `setlocale' function. */ +/* Define if you have the setlocale function. */ #undef HAVE_SETLOCALE -/* Define if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the stpcpy function */ +/* Define if you have the stpcpy function. */ #undef HAVE_STPCPY -/* Define if you have the `strcasecmp' function. */ +/* Define if you have the strcasecmp function. */ #undef HAVE_STRCASECMP -/* Define if you have the `strchr' function. */ +/* Define if you have the strchr function. */ #undef HAVE_STRCHR -/* Define if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H +/* Define if you have the <argz.h> header file. */ +#undef HAVE_ARGZ_H -/* Define if you have the <string.h> header file. */ -#undef HAVE_STRING_H +/* Define if you have the <dirent.h> header file. */ +#undef HAVE_DIRENT_H -/* Define if you have the <sys/dir.h> header file, and it defines `DIR'. */ -#undef HAVE_SYS_DIR_H +/* Define if you have the <limits.h> header file. */ +#undef HAVE_LIMITS_H -/* Define if you have the <sys/ndir.h> header file, and it defines `DIR'. */ -#undef HAVE_SYS_NDIR_H +/* Define if you have the <locale.h> header file. */ +#undef HAVE_LOCALE_H -/* Define if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H +/* Define if you have the <malloc.h> header file. */ +#undef HAVE_MALLOC_H -/* Define if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H +/* Define if you have the <ndir.h> header file. */ +#undef HAVE_NDIR_H -/* Define if you have the <values.h> header file. */ -#undef HAVE_VALUES_H +/* Define if you have the <nl_types.h> header file. */ +#undef HAVE_NL_TYPES_H -/* Define if you have the `__argz_count' function. */ -#undef HAVE___ARGZ_COUNT +/* Define if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H -/* Define if you have the `__argz_next' function. */ -#undef HAVE___ARGZ_NEXT +/* Define if you have the <string.h> header file. */ +#undef HAVE_STRING_H -/* Define if you have the `__argz_stringify' function. */ -#undef HAVE___ARGZ_STRINGIFY +/* Define if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H -/* Define if environ is not declared in system header files. */ -#undef NEED_DECLARATION_ENVIRON +/* Define if you have the <sys/dir.h> header file. */ +#undef HAVE_SYS_DIR_H -/* Define if free is not declared in system header files. */ -#undef NEED_DECLARATION_FREE +/* Define if you have the <sys/ndir.h> header file. */ +#undef HAVE_SYS_NDIR_H -/* Define if getenv is not declared in system header files. */ -#undef NEED_DECLARATION_GETENV +/* Define if you have the <sys/param.h> header file. */ +#undef HAVE_SYS_PARAM_H -/* Define if sbrk is not declared in system header files. */ -#undef NEED_DECLARATION_SBRK +/* Define if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H -/* Define if strstr is not declared in system header files. */ -#undef NEED_DECLARATION_STRSTR +/* Define if you have the <values.h> header file. */ +#undef HAVE_VALUES_H /* Name of package */ #undef PACKAGE -/* 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 +/* Version number of package */ +#undef VERSION -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS +/* 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 /* Use b modifier when opening binary files? */ #undef USE_BINARY_FOPEN -/* Version number of package */ -#undef VERSION +/* Define if strstr is not declared in system header files. */ +#undef NEED_DECLARATION_STRSTR -/* Define if `lex' declares `yytext' as a `char *' by default, not a `char[]'. - */ -#undef YYTEXT_POINTER +/* Define if free is not declared in system header files. */ +#undef NEED_DECLARATION_FREE -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const +/* Define if sbrk is not declared in system header files. */ +#undef NEED_DECLARATION_SBRK -/* Define as `__inline' if that's what the C compiler calls it, or to nothing - if it is not supported. */ -#undef inline +/* Define if getenv is not declared in system header files. */ +#undef NEED_DECLARATION_GETENV -/* Define to `long' if <sys/types.h> does not define. */ -#undef off_t +/* Define if environ is not declared in system header files. */ +#undef NEED_DECLARATION_ENVIRON + +/* Additional extension a shared object might have. */ +#undef EXTRA_SHLIB_EXTENSION -/* Define to `unsigned' if <sys/types.h> does not define. */ -#undef size_t diff --git a/contrib/binutils/ld/configure b/contrib/binutils/ld/configure index 4003cf8..c310a0d 100755 --- a/contrib/binutils/ld/configure +++ b/contrib/binutils/ld/configure @@ -53,6 +53,7 @@ program_suffix=NONE program_transform_name=s,x,x, silent= site= +sitefile= srcdir= target=NONE verbose= @@ -167,6 +168,7 @@ Configuration: --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages + --site-file=FILE use FILE as the site file --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX @@ -337,6 +339,11 @@ EOF -site=* | --site=* | --sit=*) site="$ac_optarg" ;; + -site-file | --site-file | --site-fil | --site-fi | --site-f) + ac_prev=sitefile ;; + -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) + sitefile="$ac_optarg" ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) @@ -502,12 +509,16 @@ fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +if test -z "$sitefile"; then + if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi fi +else + CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then @@ -546,12 +557,12 @@ else fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:550: checking for Cygwin environment" >&5 +echo "configure:561: 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 <<EOF -#line 555 "configure" +#line 566 "configure" #include "confdefs.h" int main() { @@ -562,7 +573,7 @@ int main() { return __CYGWIN__; ; return 0; } EOF -if { (eval echo configure:566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -579,19 +590,19 @@ 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:583: checking for mingw32 environment" >&5 +echo "configure:594: 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 <<EOF -#line 588 "configure" +#line 599 "configure" #include "confdefs.h" int main() { return __MINGW32__; ; return 0; } EOF -if { (eval echo configure:595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -656,7 +667,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:660: checking host system type" >&5 +echo "configure:671: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -677,7 +688,7 @@ 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:681: checking target system type" >&5 +echo "configure:692: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -695,7 +706,7 @@ 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:699: checking build system type" >&5 +echo "configure:710: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -719,7 +730,7 @@ test "$host_alias" != "$target_alias" && echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:723: checking for strerror in -lcposix" >&5 +echo "configure:734: 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 @@ -727,7 +738,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 731 "configure" +#line 742 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -738,7 +749,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:753: \"$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 @@ -774,7 +785,7 @@ BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/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:778: checking for a BSD compatible install" >&5 +echo "configure:789: 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 @@ -827,7 +838,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:831: checking whether build environment is sane" >&5 +echo "configure:842: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -884,7 +895,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:888: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:899: 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 @@ -930,7 +941,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:934: checking for working aclocal" >&5 +echo "configure:945: checking for working aclocal" >&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. @@ -943,7 +954,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:947: checking for working autoconf" >&5 +echo "configure:958: 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. @@ -956,7 +967,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:960: checking for working automake" >&5 +echo "configure:971: checking for working automake" >&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. @@ -969,7 +980,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:973: checking for working autoheader" >&5 +echo "configure:984: 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. @@ -982,7 +993,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:986: checking for working makeinfo" >&5 +echo "configure:997: 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. @@ -1068,7 +1079,7 @@ 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:1072: checking for $ac_word" >&5 +echo "configure:1083: 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 @@ -1098,7 +1109,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:1102: checking for $ac_word" >&5 +echo "configure:1113: 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 @@ -1149,7 +1160,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:1153: checking for $ac_word" >&5 +echo "configure:1164: 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 @@ -1181,7 +1192,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1185: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1196: 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. @@ -1192,12 +1203,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1196 "configure" +#line 1207 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1212: \"$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 @@ -1223,12 +1234,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:1227: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1238: 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:1232: checking whether we are using GNU C" >&5 +echo "configure:1243: 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 @@ -1237,7 +1248,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1241: \"$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:1252: \"$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 @@ -1256,7 +1267,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:1260: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1271: 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 @@ -1299,7 +1310,7 @@ 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:1303: checking for ld used by GCC" >&5 +echo "configure:1314: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1329,10 +1340,10 @@ echo "configure:1303: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1333: checking for GNU ld" >&5 +echo "configure:1344: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1336: checking for non-GNU ld" >&5 +echo "configure:1347: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1367,7 +1378,7 @@ else 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:1371: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1382: 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 else @@ -1384,7 +1395,7 @@ 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:1388: checking for $LD option to reload object files" >&5 +echo "configure:1399: 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 else @@ -1396,7 +1407,7 @@ 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:1400: checking for BSD-compatible nm" >&5 +echo "configure:1411: 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 else @@ -1434,7 +1445,7 @@ 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:1438: checking whether ln -s works" >&5 +echo "configure:1449: 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 @@ -1455,7 +1466,7 @@ else fi echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1459: checking how to recognise dependant libraries" >&5 +echo "configure:1470: 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 else @@ -1527,9 +1538,18 @@ gnu*) ;; hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl + case $host_cpu in + hppa*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + esac ;; irix5* | irix6*) @@ -1619,13 +1639,13 @@ 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:1623: checking for object suffix" >&5 +echo "configure:1643: 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:1629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1645,7 +1665,7 @@ ac_objext=$ac_cv_objext echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1649: checking for executable suffix" >&5 +echo "configure:1669: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1655,10 +1675,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj) ;; + *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -1688,7 +1708,7 @@ 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:1692: checking for ${ac_tool_prefix}file" >&5 +echo "configure:1712: 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 else @@ -1750,7 +1770,7 @@ 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:1754: checking for file" >&5 +echo "configure:1774: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1821,7 +1841,7 @@ esac # 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:1825: checking for $ac_word" >&5 +echo "configure:1845: 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 @@ -1853,7 +1873,7 @@ if test -n "$ac_tool_prefix"; 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:1857: checking for $ac_word" >&5 +echo "configure:1877: 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 @@ -1888,7 +1908,7 @@ fi # 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:1892: checking for $ac_word" >&5 +echo "configure:1912: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1920,7 +1940,7 @@ if test -n "$ac_tool_prefix"; then # 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:1924: checking for $ac_word" >&5 +echo "configure:1944: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1987,8 +2007,8 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1991 "configure"' > conftest.$ac_ext - if { (eval echo configure:1992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 2011 "configure"' > conftest.$ac_ext + if { (eval echo configure:2012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -2004,12 +2024,28 @@ case $host in rm -rf conftest* ;; +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo configure:2031: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + case "`/usr/bin/file conftest.o`" in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; + *-*-sco3.2v5*) # 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:2013: checking whether the C compiler needs -belf" >&5 +echo "configure:2049: 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 else @@ -2022,14 +2058,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 2026 "configure" +#line 2062 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:2033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2206,7 +2242,7 @@ 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:2210: checking for $ac_word" >&5 +echo "configure:2246: 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 @@ -2236,7 +2272,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:2240: checking for $ac_word" >&5 +echo "configure:2276: 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 @@ -2287,7 +2323,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:2291: checking for $ac_word" >&5 +echo "configure:2327: 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 @@ -2319,7 +2355,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2323: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2359: 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. @@ -2330,12 +2366,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 2334 "configure" +#line 2370 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2375: \"$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 @@ -2361,12 +2397,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:2365: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2401: 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:2370: checking whether we are using GNU C" >&5 +echo "configure:2406: 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 @@ -2375,7 +2411,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2379: \"$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:2415: \"$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 @@ -2394,7 +2430,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:2398: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2434: 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 @@ -2437,7 +2473,7 @@ fi # 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:2441: checking for a BSD compatible install" >&5 +echo "configure:2477: 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 @@ -2492,7 +2528,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ALL_LINGUAS="fr sv tr es" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2496: checking how to run the C preprocessor" >&5 +echo "configure:2532: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2507,13 +2543,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 2511 "configure" +#line 2547 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2553: \"$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 : @@ -2524,13 +2560,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 2528 "configure" +#line 2564 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2534: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2570: \"$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 : @@ -2541,13 +2577,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 2545 "configure" +#line 2581 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2587: \"$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 : @@ -2574,7 +2610,7 @@ echo "$ac_t""$CPP" 1>&6 # 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:2578: checking for $ac_word" >&5 +echo "configure:2614: 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 @@ -2602,12 +2638,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2606: checking for ANSI C header files" >&5 +echo "configure:2642: 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 else cat > conftest.$ac_ext <<EOF -#line 2611 "configure" +#line 2647 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2615,7 +2651,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2655: \"$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* @@ -2632,7 +2668,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 2636 "configure" +#line 2672 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2650,7 +2686,7 @@ 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 <<EOF -#line 2654 "configure" +#line 2690 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2671,7 +2707,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 2675 "configure" +#line 2711 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2682,7 +2718,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2706,12 +2742,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2710: checking for working const" >&5 +echo "configure:2746: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2715 "configure" +#line 2751 "configure" #include "confdefs.h" int main() { @@ -2760,7 +2796,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:2764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2781,21 +2817,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2785: checking for inline" >&5 +echo "configure:2821: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 2792 "configure" +#line 2828 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:2799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2821,12 +2857,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2825: checking for off_t" >&5 +echo "configure:2861: 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 <<EOF -#line 2830 "configure" +#line 2866 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2854,12 +2890,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2858: checking for size_t" >&5 +echo "configure:2894: 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 <<EOF -#line 2863 "configure" +#line 2899 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2889,19 +2925,19 @@ 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:2893: checking for working alloca.h" >&5 +echo "configure:2929: 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 <<EOF -#line 2898 "configure" +#line 2934 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2941: \"$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 @@ -2922,12 +2958,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2926: checking for alloca" >&5 +echo "configure:2962: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2931 "configure" +#line 2967 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -2955,7 +2991,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:2959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2987,12 +3023,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2991: checking whether alloca needs Cray hooks" >&5 +echo "configure:3027: 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 <<EOF -#line 2996 "configure" +#line 3032 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -3017,12 +3053,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3021: checking for $ac_func" >&5 +echo "configure:3057: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3026 "configure" +#line 3062 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3045,7 +3081,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3085: \"$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 @@ -3072,7 +3108,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:3076: checking stack direction for C alloca" >&5 +echo "configure:3112: 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 else @@ -3080,7 +3116,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 3084 "configure" +#line 3120 "configure" #include "confdefs.h" find_stack_direction () { @@ -3099,7 +3135,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:3103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -3120,21 +3156,21 @@ EOF fi -for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h +for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3128: checking for $ac_hdr" >&5 +echo "configure:3164: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3133 "configure" +#line 3169 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3138: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3174: \"$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* @@ -3163,12 +3199,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3167: checking for $ac_func" >&5 +echo "configure:3203: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3172 "configure" +#line 3208 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3191,7 +3227,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3231: \"$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 @@ -3216,7 +3252,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:3220: checking for working mmap" >&5 +echo "configure:3256: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3224,7 +3260,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 3228 "configure" +#line 3264 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -3252,24 +3288,11 @@ else #include <fcntl.h> #include <sys/mman.h> -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif - -#if HAVE_STDLIB_H -# include <stdlib.h> -#endif - -#if HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif - -#if HAVE_UNISTD_H -# include <unistd.h> -#endif - /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE +# ifdef HAVE_UNISTD_H +# include <unistd.h> +# endif /* Assume that all systems that can run configure have sys/param.h. */ # ifndef HAVE_SYS_PARAM_H @@ -3377,7 +3400,7 @@ main() } EOF -if { (eval echo configure:3381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -3405,17 +3428,17 @@ 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:3409: checking for $ac_hdr" >&5 +echo "configure:3432: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3414 "configure" +#line 3437 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3442: \"$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* @@ -3445,12 +3468,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3449: checking for $ac_func" >&5 +echo "configure:3472: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3454 "configure" +#line 3477 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3473,7 +3496,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3500: \"$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 @@ -3502,12 +3525,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3506: checking for $ac_func" >&5 +echo "configure:3529: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3511 "configure" +#line 3534 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3530,7 +3553,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3557: \"$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 @@ -3564,19 +3587,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3568: checking for LC_MESSAGES" >&5 +echo "configure:3591: 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 <<EOF -#line 3573 "configure" +#line 3596 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3597,7 +3620,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3601: checking whether NLS is requested" >&5 +echo "configure:3624: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3617,7 +3640,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3621: checking whether included gettext is requested" >&5 +echo "configure:3644: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3636,17 +3659,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:3640: checking for libintl.h" >&5 +echo "configure:3663: 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 <<EOF -#line 3645 "configure" +#line 3668 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3673: \"$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* @@ -3663,19 +3686,19 @@ 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:3667: checking for gettext in libc" >&5 +echo "configure:3690: 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 else cat > conftest.$ac_ext <<EOF -#line 3672 "configure" +#line 3695 "configure" #include "confdefs.h" #include <libintl.h> int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -3691,7 +3714,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:3695: checking for bindtextdomain in -lintl" >&5 +echo "configure:3718: 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 @@ -3699,7 +3722,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3703 "configure" +#line 3726 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3710,7 +3733,7 @@ int main() { bindtextdomain() ; return 0; } EOF -if { (eval echo configure:3714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3737: \"$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 @@ -3726,19 +3749,19 @@ 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:3730: checking for gettext in libintl" >&5 +echo "configure:3753: 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 <<EOF -#line 3735 "configure" +#line 3758 "configure" #include "confdefs.h" int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:3742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -3766,7 +3789,7 @@ EOF # 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:3770: checking for $ac_word" >&5 +echo "configure:3793: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3800,12 +3823,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3804: checking for $ac_func" >&5 +echo "configure:3827: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3809 "configure" +#line 3832 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3828,7 +3851,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:3832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3855: \"$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 @@ -3855,7 +3878,7 @@ 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:3859: checking for $ac_word" >&5 +echo "configure:3882: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3891,7 +3914,7 @@ 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:3895: checking for $ac_word" >&5 +echo "configure:3918: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3923,7 +3946,7 @@ else fi cat > conftest.$ac_ext <<EOF -#line 3927 "configure" +#line 3950 "configure" #include "confdefs.h" int main() { @@ -3931,7 +3954,7 @@ extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:3935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -3963,7 +3986,7 @@ fi # 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:3967: checking for $ac_word" >&5 +echo "configure:3990: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3997,7 +4020,7 @@ 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:4001: checking for $ac_word" >&5 +echo "configure:4024: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4033,7 +4056,7 @@ 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:4037: checking for $ac_word" >&5 +echo "configure:4060: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4123,7 +4146,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:4127: checking for catalogs to be installed" >&5 +echo "configure:4150: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -4151,17 +4174,17 @@ echo "configure:4127: checking for catalogs to be installed" >&5 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:4155: checking for linux/version.h" >&5 +echo "configure:4178: 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 <<EOF -#line 4160 "configure" +#line 4183 "configure" #include "confdefs.h" #include <linux/version.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4188: \"$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* @@ -4226,7 +4249,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:4230: checking for executable suffix" >&5 +echo "configure:4253: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4236,10 +4259,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:4240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:4263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj) ;; + *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -4262,7 +4285,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:4266: checking for $ac_word" >&5 +echo "configure:4289: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4298,7 +4321,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:4302: checking for $ac_word" >&5 +echo "configure:4325: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4331,7 +4354,7 @@ test -n "$LEX" || LEX=""$missing_dir/missing flex"" # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4335: checking for $ac_word" >&5 +echo "configure:4358: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4365,7 +4388,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:4369: checking for yywrap in -l$ac_lib" >&5 +echo "configure:4392: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4373,7 +4396,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <<EOF -#line 4377 "configure" +#line 4400 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4384,7 +4407,7 @@ int main() { yywrap() ; return 0; } EOF -if { (eval echo configure:4388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4411: \"$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 @@ -4407,7 +4430,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:4411: checking lex output file root" >&5 +echo "configure:4434: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4428,7 +4451,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:4432: checking whether yytext is a pointer" >&5 +echo "configure:4455: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4440,14 +4463,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <<EOF -#line 4444 "configure" +#line 4467 "configure" #include "confdefs.h" `cat $LEX_OUTPUT_ROOT.c` int main() { ; return 0; } EOF -if { (eval echo configure:4451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -4470,7 +4493,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:4474: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:4497: 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" @@ -4504,17 +4527,17 @@ for ac_hdr in string.h strings.h 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:4508: checking for $ac_hdr" >&5 +echo "configure:4531: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4513 "configure" +#line 4536 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4541: \"$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* @@ -4543,12 +4566,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4547: checking for $ac_func" >&5 +echo "configure:4570: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4552 "configure" +#line 4575 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4571,7 +4594,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4598: \"$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 @@ -4600,12 +4623,12 @@ 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:4604: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4627: 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 <<EOF -#line 4609 "configure" +#line 4632 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -4613,7 +4636,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4638,7 +4661,7 @@ 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:4642: checking for opendir in -ldir" >&5 +echo "configure:4665: 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 @@ -4646,7 +4669,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <<EOF -#line 4650 "configure" +#line 4673 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4657,7 +4680,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:4661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4684: \"$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 @@ -4679,7 +4702,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4683: checking for opendir in -lx" >&5 +echo "configure:4706: 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 @@ -4687,7 +4710,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <<EOF -#line 4691 "configure" +#line 4714 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4698,7 +4721,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:4702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4725: \"$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 @@ -4731,12 +4754,12 @@ EOF esac echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:4735: checking whether strstr must be declared" >&5 +echo "configure:4758: 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 <<EOF -#line 4740 "configure" +#line 4763 "configure" #include "confdefs.h" #include <stdio.h> @@ -4757,7 +4780,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:4761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -4778,12 +4801,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:4782: checking whether free must be declared" >&5 +echo "configure:4805: 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 else cat > conftest.$ac_ext <<EOF -#line 4787 "configure" +#line 4810 "configure" #include "confdefs.h" #include <stdio.h> @@ -4804,7 +4827,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:4808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4831: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -4825,12 +4848,12 @@ EOF fi echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6 -echo "configure:4829: checking whether sbrk must be declared" >&5 +echo "configure:4852: checking whether sbrk must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_sbrk'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4834 "configure" +#line 4857 "configure" #include "confdefs.h" #include <stdio.h> @@ -4851,7 +4874,7 @@ int main() { char *(*pfn) = (char *(*)) sbrk ; return 0; } EOF -if { (eval echo configure:4855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_sbrk=no else @@ -4872,12 +4895,12 @@ EOF fi echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6 -echo "configure:4876: checking whether getenv must be declared" >&5 +echo "configure:4899: 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 else cat > conftest.$ac_ext <<EOF -#line 4881 "configure" +#line 4904 "configure" #include "confdefs.h" #include <stdio.h> @@ -4898,7 +4921,7 @@ int main() { char *(*pfn) = (char *(*)) getenv ; return 0; } EOF -if { (eval echo configure:4902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_getenv=no else @@ -4919,12 +4942,12 @@ EOF fi echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6 -echo "configure:4923: checking whether environ must be declared" >&5 +echo "configure:4946: checking whether environ must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_environ'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4928 "configure" +#line 4951 "configure" #include "confdefs.h" #include <stdio.h> @@ -4945,7 +4968,7 @@ int main() { char *(*pfn) = (char *(*)) environ ; return 0; } EOF -if { (eval echo configure:4949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_environ=no else @@ -4973,19 +4996,19 @@ fi # constants, while still supporting pre-ANSI compilers which do not # support string concatenation. echo $ac_n "checking whether ANSI C string concatenation works""... $ac_c" 1>&6 -echo "configure:4977: checking whether ANSI C string concatenation works" >&5 +echo "configure:5000: checking whether ANSI C string concatenation works" >&5 if eval "test \"`echo '$''{'ld_cv_string_concatenation'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4982 "configure" +#line 5005 "configure" #include "confdefs.h" int main() { char *a = "a" "a"; ; return 0; } EOF -if { (eval echo configure:4989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ld_cv_string_concatenation=yes else diff --git a/contrib/binutils/ld/configure.tgt b/contrib/binutils/ld/configure.tgt index deca323..7828832 100644 --- a/contrib/binutils/ld/configure.tgt +++ b/contrib/binutils/ld/configure.tgt @@ -44,8 +44,8 @@ sparc*-*-coff) targ_emul=coff_sparc ;; sparc*-*-elf) targ_emul=elf32_sparc ;; sparc*-*-sysv4*) targ_emul=elf32_sparc ;; sparc64-*-freebsd* | sparcv9-*-freebsd*) - targ_emul=elf64_sparc - targ_extra_emuls="elf32_sparc" + targ_emul=elf64_sparc_fbsd + targ_extra_emuls="elf64_sparc elf32_sparc" targ_extra_libpath=$targ_extra_emuls tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; @@ -102,7 +102,8 @@ i960-intel-nindy) targ_emul=gld960 ;; i960-*-rtems*) targ_emul=gld960coff ;; i960-*-elf*) targ_emul=elf32_i960 ;; ia64-*-elf*) targ_emul=elf64_ia64 ;; -ia64-*-freebsd*) targ_emul=elf64_ia64 ;; +ia64-*-freebsd*) targ_emul=elf64_ia64_fbsd + targ_extra_emuls="elf64_ia64" ;; ia64-*-netbsd*) targ_emul=elf64_ia64 ;; ia64-*-linux*) targ_emul=elf64_ia64 ;; ia64-*-aix*) targ_emul=elf64_aix ;; @@ -176,10 +177,12 @@ i[3456]86-*-netware) targ_emul=i386nw ;; i[3456]86-*-elf*) targ_emul=elf_i386 ;; i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | i[3456]86-*-freebsd[12]) targ_emul=i386bsd ;; -i[3456]86-*-freebsd*) targ_emul=elf_i386 ;; -x86_64-*-freebsd*) targ_emul=elf_x86_64 - targ_extra_emuls=elf_i386 - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` +i[3456]86-*-freebsd*) targ_emul=elf_i386_fbsd + targ_extra_emuls="elf_i386 i386bsd" ;; +x86_64-*-freebsd*) targ_emul=elf_x86_64_fbsd + targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386" + tdir_elf_i386=`echo ${targ_alias} \ + | sed -e 's/x86_64/i386/'` ;; i[3456]86-*-sysv*) targ_emul=i386coff ;; i[3456]86-*-ptx*) targ_emul=i386coff ;; @@ -210,7 +213,8 @@ arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; armeb-*-aout) targ_emul=armaoutb ;; arm-*-coff) targ_emul=armcoff ;; arm-*-vxworks) targ_emul=armcoff ;; -arm-*-freebsd*) targ_emul=armelf ;; +arm-*-freebsd*) targ_emul=armelf_fbsd + targ_extra_emuls="armelf" ;; arm-*-netbsdelf*) targ_emul=armelf_nbsd; targ_extra_emuls="armelf armnbsd" ;; arm-*-netbsd*) targ_emul=armnbsd; @@ -272,6 +276,11 @@ sh-*-elf* | sh-*-rtemself*) sh-*-pe) targ_emul=shpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; sh-*-*|sh-*-rtems*) targ_emul=sh; targ_extra_emuls=shl ;; +sh64-*-elf*) + targ_emul=shelf + targ_extra_emuls="shlelf shelf32 shlelf32 shelf64 shlelf64" + targ_extra_libpath=$targ_extra_emuls + ;; m68k-sony-*) targ_emul=news ;; m68k-hp-bsd*) targ_emul=hp300bsd ;; m68*-motorola-sysv*) targ_emul=delta68 ;; @@ -304,6 +313,7 @@ hppa*64*-*) targ_emul=elf64hppa ;; hppa*-*-linux-gnu*) targ_emul=hppalinux ;; hppa*-*-*elf*) targ_emul=hppaelf ;; hppa*-*-lites*) targ_emul=hppaelf ;; +hppa*-*-netbsd*) targ_emul=hppanbsd ;; hppa*-*-rtems*) targ_emul=hppaelf ;; vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; mips*-*-pe) targ_emul=mipspe ; @@ -350,8 +360,8 @@ mmix-*-*) targ_emul=mmo ;; mn10200-*-*) targ_emul=mn10200 ;; mn10300-*-*) targ_emul=mn10300 ;; -alpha*-*-freebsd*) targ_emul=elf64alpha - targ_extra_emuls=alpha +alpha*-*-freebsd*) targ_emul=elf64alpha_fbsd + targ_extra_emuls="elf64alpha alpha" tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;; alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha @@ -368,11 +378,14 @@ z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; openrisc-*-*) targ_emul=elf32openrisc ;; +or32-*-coff) targ_emul=or32 ;; +or32-*-elf) targ_emul=or32elf ;; +or32-*-rtems) targ_emul=or32 ;; pdp11-*-*) targ_emul=pdp11 ;; pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; pj*-*-*) targ_emul=pjelf ;; -powerpc-*-freebsd*) targ_emul=elf32ppc; - targ_extra_emuls=elf32ppcsim; +powerpc-*-freebsd*) targ_emul=elf32ppc_fbsd; + targ_extra_emuls="elf32ppc elf32ppcsim"; targ_extra_libpath=elf32ppc; tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; diff --git a/contrib/binutils/ld/emulparams/armelf_fbsd.sh b/contrib/binutils/ld/emulparams/armelf_fbsd.sh new file mode 100644 index 0000000..52da345 --- /dev/null +++ b/contrib/binutils/ld/emulparams/armelf_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/armelf.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh b/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh new file mode 100644 index 0000000..2bac85c --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf32ppc_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf32ppc.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf64_ia64.sh b/contrib/binutils/ld/emulparams/elf64_ia64.sh index 0699d3d..b659a7c 100644 --- a/contrib/binutils/ld/emulparams/elf64_ia64.sh +++ b/contrib/binutils/ld/emulparams/elf64_ia64.sh @@ -17,5 +17,5 @@ OTHER_PLT_RELOC_SECTIONS=" .rela.IA_64.pltoff ${RELOCATING-0} : { *(.rela.IA_64.pltoff) }" OTHER_READONLY_SECTIONS=" .opd ${RELOCATING-0} : { *(.opd) } - .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info*${RELOCATING+ .gnu.linkonce.ia64unwi.*}) } - .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind*${RELOCATING+ .gnu.linkonce.ia64unw.*}) }" + .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*}) } + .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind${RELOCATING+* .gnu.linkonce.ia64unw.*}) }" diff --git a/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh b/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh new file mode 100644 index 0000000..d9c9600 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf64_ia64.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf64_sparc_fbsd.sh b/contrib/binutils/ld/emulparams/elf64_sparc_fbsd.sh new file mode 100644 index 0000000..232a321 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf64_sparc_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf64_sparc.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf64alpha.sh b/contrib/binutils/ld/emulparams/elf64alpha.sh index 39247ea..9f42fd9 100644 --- a/contrib/binutils/ld/emulparams/elf64alpha.sh +++ b/contrib/binutils/ld/emulparams/elf64alpha.sh @@ -10,7 +10,8 @@ ARCH=alpha MACHINE= GENERATE_SHLIB_SCRIPT=yes DATA_PLT= -NOP=0x2ffe0000 # unop +# Note that the string of digits is little-endian. +NOP=0x0000fe2f # unop OTHER_READONLY_SECTIONS=" .reginfo ${RELOCATING-0} : { *(.reginfo) }" diff --git a/contrib/binutils/ld/emulparams/elf64alpha_fbsd.sh b/contrib/binutils/ld/emulparams/elf64alpha_fbsd.sh new file mode 100644 index 0000000..37fbfa2 --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf64alpha_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf64alpha.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf_fbsd.sh b/contrib/binutils/ld/emulparams/elf_fbsd.sh new file mode 100644 index 0000000..2ea646e --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf_fbsd.sh @@ -0,0 +1 @@ +ELF_INTERPRETER_NAME=\"/usr/libexec/ld-elf.so.1\" diff --git a/contrib/binutils/ld/emulparams/elf_i386_fbsd.sh b/contrib/binutils/ld/emulparams/elf_i386_fbsd.sh new file mode 100644 index 0000000..237145a --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf_i386_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf_i386.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/elf_x86_64_fbsd.sh b/contrib/binutils/ld/emulparams/elf_x86_64_fbsd.sh new file mode 100644 index 0000000..34258cb --- /dev/null +++ b/contrib/binutils/ld/emulparams/elf_x86_64_fbsd.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/elf_x86_64.sh +. ${srcdir}/emulparams/elf_fbsd.sh diff --git a/contrib/binutils/ld/emulparams/sun4.sh b/contrib/binutils/ld/emulparams/sun4.sh new file mode 100644 index 0000000..bd42775 --- /dev/null +++ b/contrib/binutils/ld/emulparams/sun4.sh @@ -0,0 +1,8 @@ +SCRIPT_NAME=aout +OUTPUT_FORMAT="a.out-sunos-big" +TEXT_START_ADDR=0x2020 +TARGET_PAGE_SIZE=0x2000 +NONPAGED_TEXT_START_ADDR=0x2000 +ALIGNMENT=8 +ARCH=sparc +TEMPLATE_NAME=sunos diff --git a/contrib/binutils/ld/emultempl/elf32.em b/contrib/binutils/ld/emultempl/elf32.em index b2fd969..c62727d 100644 --- a/contrib/binutils/ld/emultempl/elf32.em +++ b/contrib/binutils/ld/emultempl/elf32.em @@ -12,8 +12,8 @@ cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ /* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME} - Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 - Free Software Foundation, Inc. + Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002 Free Software Foundation, Inc. Written by Steve Chamberlain <sac@cygnus.com> ELF support by Ian Lance Taylor <ian@cygnus.com> @@ -1330,6 +1330,8 @@ gld${EMULATION_NAME}_finish () { if (bfd_elf${ELFSIZE}_discard_info (output_bfd, &link_info)) { + lang_reset_memory_regions (); + /* Resize the sections. */ lang_size_sections (stat_ptr->head, abs_output_section, &stat_ptr->head, 0, (bfd_vma) 0, NULL); diff --git a/contrib/binutils/ld/emultempl/ppc64elf.em b/contrib/binutils/ld/emultempl/ppc64elf.em index 655ddea..27b20ce 100644 --- a/contrib/binutils/ld/emultempl/ppc64elf.em +++ b/contrib/binutils/ld/emultempl/ppc64elf.em @@ -47,6 +47,11 @@ gld${EMULATION_NAME}_after_allocation () static void gld${EMULATION_NAME}_finish () { + /* e_entry on PowerPC64 points to the function descriptor for + _start. If _start is missing, default to the first function + descriptor in the .opd section. */ + entry_section = ".opd"; + /* If generating a relocatable output file, then we don't have any stubs. */ if (link_info.relocateable) @@ -76,6 +81,8 @@ gld${EMULATION_NAME}_finish () need to adjust the stub size again. */ need_laying_out = 0; + lang_reset_memory_regions (); + /* Resize the sections. */ lang_size_sections (stat_ptr->head, abs_output_section, &stat_ptr->head, 0, (bfd_vma) 0, NULL); diff --git a/contrib/binutils/ld/emultempl/sunos.em b/contrib/binutils/ld/emultempl/sunos.em new file mode 100644 index 0000000..17cd407 --- /dev/null +++ b/contrib/binutils/ld/emultempl/sunos.em @@ -0,0 +1,1055 @@ +# This shell script emits a C file. -*- C -*- +# It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi +cat >e${EMULATION_NAME}.c <<EOF +/* This file is is generated by a shell script. DO NOT EDIT! */ + +/* SunOS emulation code for ${EMULATION_NAME} + Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 + Free Software Foundation, Inc. + Written by Steve Chamberlain <sac@cygnus.com> + SunOS shared library support by Ian Lance Taylor <ian@cygnus.com> + +This file is part of GLD, the Gnu Linker. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define TARGET_IS_${EMULATION_NAME} + +#include "bfd.h" +#include "sysdep.h" +#include "bfdlink.h" +#include "libiberty.h" +#include "safe-ctype.h" + +#include "ld.h" +#include "ldmain.h" +#include "ldmisc.h" +#include "ldexp.h" +#include "ldlang.h" +#include "ldfile.h" +#include "ldemul.h" + +#ifdef HAVE_DIRENT_H +# include <dirent.h> +#else +# define dirent direct +# ifdef HAVE_SYS_NDIR_H +# include <sys/ndir.h> +# endif +# ifdef HAVE_SYS_DIR_H +# include <sys/dir.h> +# endif +# ifdef HAVE_NDIR_H +# include <ndir.h> +# endif +#endif + +static void gld${EMULATION_NAME}_before_parse PARAMS ((void)); +static void gld${EMULATION_NAME}_set_symbols PARAMS ((void)); +static void gld${EMULATION_NAME}_create_output_section_statements + PARAMS ((void)); +static void gld${EMULATION_NAME}_find_so + PARAMS ((lang_input_statement_type *)); +static char *gld${EMULATION_NAME}_search_dir + PARAMS ((const char *, const char *, boolean *)); +static void gld${EMULATION_NAME}_after_open PARAMS ((void)); +static void gld${EMULATION_NAME}_check_needed + PARAMS ((lang_input_statement_type *)); +static boolean gld${EMULATION_NAME}_search_needed + PARAMS ((const char *, const char *)); +static boolean gld${EMULATION_NAME}_try_needed + PARAMS ((const char *, const char *)); +static void gld${EMULATION_NAME}_before_allocation PARAMS ((void)); +static void gld${EMULATION_NAME}_find_assignment + PARAMS ((lang_statement_union_type *)); +static void gld${EMULATION_NAME}_find_exp_assignment PARAMS ((etree_type *)); +static void gld${EMULATION_NAME}_count_need + PARAMS ((lang_input_statement_type *)); +static void gld${EMULATION_NAME}_set_need + PARAMS ((lang_input_statement_type *)); +static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile)); + +static void +gld${EMULATION_NAME}_before_parse() +{ + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; + config.dynamic_link = true; + config.has_shared = true; +} + +/* This is called after the command line arguments have been parsed, + but before the linker script has been read. If this is a native + linker, we add the directories in LD_LIBRARY_PATH to the search + list. */ + +static void +gld${EMULATION_NAME}_set_symbols () +{ +EOF +if [ "x${host}" = "x${target}" ] ; then + case " ${EMULATION_LIBPATH} " in + *" ${EMULATION_NAME} "*) +cat >>e${EMULATION_NAME}.c <<EOF + const char *env; + + env = (const char *) getenv ("LD_LIBRARY_PATH"); + if (env != NULL) + { + char *l; + + l = xstrdup (env); + while (1) + { + char *c; + + c = strchr (l, ':'); + if (c != NULL) + *c++ = '\0'; + if (*l != '\0') + ldfile_add_library_path (l, false); + if (c == NULL) + break; + l = c; + } + } +EOF + ;; + esac +fi +cat >>e${EMULATION_NAME}.c <<EOF +} + +/* Despite the name, we use this routine to search for dynamic + libraries. On SunOS this requires a directory search. We need to + find the .so file with the highest version number. The user may + restrict the major version by saying, e.g., -lc.1. Also, if we + find a .so file, we need to look for a the same file after + replacing .so with .sa; if it exists, it will be an archive which + provide some initializations for data symbols, and we need to + search it after including the .so file. */ + +static void +gld${EMULATION_NAME}_create_output_section_statements () +{ + lang_for_each_input_file (gld${EMULATION_NAME}_find_so); +} + +/* Search the directory for a .so file for each library search. */ + +static void +gld${EMULATION_NAME}_find_so (inp) + lang_input_statement_type *inp; +{ + search_dirs_type *search; + char *found = NULL; + char *alc; + struct stat st; + + if (! inp->search_dirs_flag + || ! inp->is_archive + || ! inp->dynamic) + return; + + ASSERT (strncmp (inp->local_sym_name, "-l", 2) == 0); + + for (search = search_head; search != NULL; search = search->next) + { + boolean found_static; + + found = gld${EMULATION_NAME}_search_dir (search->name, inp->filename, + &found_static); + if (found != NULL || found_static) + break; + } + + if (found == NULL) + { + /* We did not find a matching .so file. This isn't an error, + since there might still be a matching .a file, which will be + found by the usual search. */ + return; + } + + /* Replace the filename with the one we have found. */ + alc = (char *) xmalloc (strlen (search->name) + strlen (found) + 2); + sprintf (alc, "%s/%s", search->name, found); + inp->filename = alc; + + /* Turn off the search_dirs_flag to prevent ldfile_open_file from + searching for this file again. */ + inp->search_dirs_flag = false; + + free (found); + + /* Now look for the same file name, but with .sa instead of .so. If + found, add it to the list of input files. */ + alc = (char *) xmalloc (strlen (inp->filename) + 1); + strcpy (alc, inp->filename); + strstr (alc + strlen (search->name), ".so")[2] = 'a'; + if (stat (alc, &st) != 0) + free (alc); + else + { + lang_input_statement_type *sa; + + /* Add the .sa file to the statement list just before the .so + file. This is really a hack. */ + sa = ((lang_input_statement_type *) + xmalloc (sizeof (lang_input_statement_type))); + *sa = *inp; + + inp->filename = alc; + inp->local_sym_name = alc; + + inp->header.next = (lang_statement_union_type *) sa; + inp->next_real_file = (lang_statement_union_type *) sa; + } +} + +/* Search a directory for a .so file. */ + +static char * +gld${EMULATION_NAME}_search_dir (dirname, filename, found_static) + const char *dirname; + const char *filename; + boolean *found_static; +{ + int force_maj, force_min; + const char *dot; + unsigned int len; + char *alc; + char *found; + int max_maj, max_min; + DIR *dir; + struct dirent *entry; + unsigned int dirnamelen; + char *full_path; + int statval; + struct stat st; + + *found_static = false; + + force_maj = -1; + force_min = -1; + dot = strchr (filename, '.'); + if (dot == NULL) + { + len = strlen (filename); + alc = NULL; + } + else + { + force_maj = atoi (dot + 1); + + len = dot - filename; + alc = (char *) xmalloc (len + 1); + strncpy (alc, filename, len); + alc[len] = '\0'; + filename = alc; + + dot = strchr (dot + 1, '.'); + if (dot != NULL) + force_min = atoi (dot + 1); + } + + found = NULL; + max_maj = max_min = 0; + + dir = opendir (dirname); + if (dir == NULL) + return NULL; + dirnamelen = strlen (dirname); + + while ((entry = readdir (dir)) != NULL) + { + const char *s; + int found_maj, found_min; + + if (strncmp (entry->d_name, "lib", 3) != 0 + || strncmp (entry->d_name + 3, filename, len) != 0) + continue; + + if (dot == NULL + && strcmp (entry->d_name + 3 + len, ".a") == 0) + { + *found_static = true; + continue; + } + + /* We accept libfoo.so without a version number, even though the + native linker does not. This is more convenient for packages + which just generate .so files for shared libraries, as on ELF + systems. */ + if (strncmp (entry->d_name + 3 + len, ".so", 3) != 0) + continue; + if (entry->d_name[6 + len] == '\0') + ; + else if (entry->d_name[6 + len] == '.' + && ISDIGIT (entry->d_name[7 + len])) + ; + else + continue; + + for (s = entry->d_name + 6 + len; *s != '\0'; s++) + if (*s != '.' && ! ISDIGIT (*s)) + break; + if (*s != '\0') + continue; + + /* We've found a .so file. Work out the major and minor + version numbers. */ + found_maj = 0; + found_min = 0; + sscanf (entry->d_name + 3 + len, ".so.%d.%d", + &found_maj, &found_min); + + if ((force_maj != -1 && force_maj != found_maj) + || (force_min != -1 && force_min != found_min)) + continue; + + /* Make sure the file really exists (ignore broken symlinks). */ + full_path = xmalloc (dirnamelen + 1 + strlen (entry->d_name) + 1); + sprintf (full_path, "%s/%s", dirname, entry->d_name); + statval = stat (full_path, &st); + free (full_path); + if (statval != 0) + continue; + + /* We've found a match for the name we are searching for. See + if this is the version we should use. If the major and minor + versions match, we use the last entry in alphabetical order; + I don't know if this is how SunOS distinguishes libc.so.1.8 + from libc.so.1.8.1, but it ought to suffice. */ + if (found == NULL + || (found_maj > max_maj) + || (found_maj == max_maj + && (found_min > max_min + || (found_min == max_min + && strcmp (entry->d_name, found) > 0)))) + { + if (found != NULL) + free (found); + found = (char *) xmalloc (strlen (entry->d_name) + 1); + strcpy (found, entry->d_name); + max_maj = found_maj; + max_min = found_min; + } + } + + closedir (dir); + + if (alc != NULL) + free (alc); + + return found; +} + +/* These variables are required to pass information back and forth + between after_open and check_needed. */ + +static struct bfd_link_needed_list *global_needed; +static boolean global_found; + +/* This is called after all the input files have been opened. */ + +static void +gld${EMULATION_NAME}_after_open () +{ + struct bfd_link_needed_list *needed, *l; + + /* We only need to worry about this when doing a final link. */ + if (link_info.relocateable || link_info.shared) + return; + + /* Get the list of files which appear in ld_need entries in dynamic + objects included in the link. For each such file, we want to + track down the corresponding library, and include the symbol + table in the link. This is what the runtime dynamic linker will + do. Tracking the files down here permits one dynamic object to + include another without requiring special action by the person + doing the link. Note that the needed list can actually grow + while we are stepping through this loop. */ + needed = bfd_sunos_get_needed_list (output_bfd, &link_info); + for (l = needed; l != NULL; l = l->next) + { + struct bfd_link_needed_list *ll; + const char *lname; + search_dirs_type *search; + + lname = l->name; + + /* If we've already seen this file, skip it. */ + for (ll = needed; ll != l; ll = ll->next) + if (strcmp (ll->name, lname) == 0) + break; + if (ll != l) + continue; + + /* See if this file was included in the link explicitly. */ + global_needed = l; + global_found = false; + lang_for_each_input_file (gld${EMULATION_NAME}_check_needed); + if (global_found) + continue; + + if (strncmp (lname, "-l", 2) != 0) + { + bfd *abfd; + + abfd = bfd_openr (lname, bfd_get_target (output_bfd)); + if (abfd != NULL) + { + if (! bfd_check_format (abfd, bfd_object)) + { + (void) bfd_close (abfd); + abfd = NULL; + } + } + if (abfd != NULL) + { + if ((bfd_get_file_flags (abfd) & DYNAMIC) == 0) + { + (void) bfd_close (abfd); + abfd = NULL; + } + } + if (abfd != NULL) + { + /* We've found the needed dynamic object. */ + if (! bfd_link_add_symbols (abfd, &link_info)) + einfo ("%F%B: could not read symbols: %E\n", abfd); + } + else + { + einfo ("%P: warning: %s, needed by %B, not found\n", + lname, l->by); + } + + continue; + } + + lname += 2; + + /* We want to search for the file in the same way that the + dynamic linker will search. That means that we want to use + rpath_link, rpath or -L, then the environment variable + LD_LIBRARY_PATH (native only), then (if rpath was used) the + linker script LIB_SEARCH_DIRS. */ + if (gld${EMULATION_NAME}_search_needed (command_line.rpath_link, + lname)) + continue; + if (command_line.rpath != NULL) + { + if (gld${EMULATION_NAME}_search_needed (command_line.rpath, lname)) + continue; + } + else + { + for (search = search_head; search != NULL; search = search->next) + if (gld${EMULATION_NAME}_try_needed (search->name, lname)) + break; + if (search != NULL) + continue; + } +EOF +if [ "x${host}" = "x${target}" ] ; then + case " ${EMULATION_LIBPATH} " in + *" ${EMULATION_NAME} "*) +cat >>e${EMULATION_NAME}.c <<EOF + { + const char *lib_path; + + lib_path = (const char *) getenv ("LD_LIBRARY_PATH"); + if (gld${EMULATION_NAME}_search_needed (lib_path, lname)) + continue; + } +EOF + ;; + esac +fi +cat >>e${EMULATION_NAME}.c <<EOF + if (command_line.rpath != NULL) + { + for (search = search_head; search != NULL; search = search->next) + { + if (search->cmdline) + continue; + if (gld${EMULATION_NAME}_try_needed (search->name, lname)) + break; + } + if (search != NULL) + continue; + } + + einfo ("%P: warning: %s, needed by %B, not found\n", + l->name, l->by); + } +} + +/* Search for a needed file in a path. */ + +static boolean +gld${EMULATION_NAME}_search_needed (path, name) + const char *path; + const char *name; +{ + const char *s; + + if (path == NULL || *path == '\0') + return false; + while (1) + { + const char *dir; + char *dircopy; + + s = strchr (path, ':'); + if (s == NULL) + { + dircopy = NULL; + dir = path; + } + else + { + dircopy = (char *) xmalloc (s - path + 1); + memcpy (dircopy, path, s - path); + dircopy[s - path] = '\0'; + dir = dircopy; + } + + if (gld${EMULATION_NAME}_try_needed (dir, name)) + return true; + + if (dircopy != NULL) + free (dircopy); + + if (s == NULL) + break; + path = s + 1; + } + + return false; +} + +/* This function is called for each possible directory for a needed + dynamic object. */ + +static boolean +gld${EMULATION_NAME}_try_needed (dir, name) + const char *dir; + const char *name; +{ + char *file; + char *alc; + boolean ignore; + bfd *abfd; + + file = gld${EMULATION_NAME}_search_dir (dir, name, &ignore); + if (file == NULL) + return false; + + alc = (char *) xmalloc (strlen (dir) + strlen (file) + 2); + sprintf (alc, "%s/%s", dir, file); + free (file); + abfd = bfd_openr (alc, bfd_get_target (output_bfd)); + if (abfd == NULL) + return false; + if (! bfd_check_format (abfd, bfd_object)) + { + (void) bfd_close (abfd); + return false; + } + if ((bfd_get_file_flags (abfd) & DYNAMIC) == 0) + { + (void) bfd_close (abfd); + return false; + } + + /* We've found the needed dynamic object. */ + + /* Add this file into the symbol table. */ + if (! bfd_link_add_symbols (abfd, &link_info)) + einfo ("%F%B: could not read symbols: %E\n", abfd); + + return true; +} + +/* See if we have already included a needed object in the link. This + does not have to be precise, as it does no harm to include a + dynamic object more than once. */ + +static void +gld${EMULATION_NAME}_check_needed (s) + lang_input_statement_type *s; +{ + if (s->filename == NULL) + return; + if (strncmp (global_needed->name, "-l", 2) != 0) + { + if (strcmp (s->filename, global_needed->name) == 0) + global_found = true; + } + else + { + const char *sname, *lname; + const char *sdot, *ldot; + int lmaj, lmin, smaj, smin; + + lname = global_needed->name + 2; + + sname = strrchr (s->filename, '/'); + if (sname == NULL) + sname = s->filename; + else + ++sname; + + if (strncmp (sname, "lib", 3) != 0) + return; + sname += 3; + + ldot = strchr (lname, '.'); + if (ldot == NULL) + ldot = lname + strlen (lname); + + sdot = strstr (sname, ".so."); + if (sdot == NULL) + return; + + if (sdot - sname != ldot - lname + || strncmp (lname, sname, sdot - sname) != 0) + return; + + lmaj = lmin = -1; + sscanf (ldot, ".%d.%d", &lmaj, &lmin); + smaj = smin = -1; + sscanf (sdot, ".so.%d.%d", &smaj, &smin); + if ((smaj != lmaj && smaj != -1 && lmaj != -1) + || (smin != lmin && smin != -1 && lmin != -1)) + return; + + global_found = true; + } +} + +/* We need to use static variables to pass information around the call + to lang_for_each_statement. Ick. */ + +static const char *find_assign; +static boolean found_assign; + +/* We need to use static variables to pass information around the call + to lang_for_each_input_file. Ick. */ + +static bfd_size_type need_size; +static bfd_size_type need_entries; +static bfd_byte *need_contents; +static bfd_byte *need_pinfo; +static bfd_byte *need_pnames; + +/* The size of one entry in the .need section, not including the file + name. */ + +#define NEED_ENTRY_SIZE (16) + +/* This is called after the sections have been attached to output + sections, but before any sizes or addresses have been set. */ + +static void +gld${EMULATION_NAME}_before_allocation () +{ + struct bfd_link_hash_entry *hdyn = NULL; + asection *sneed; + asection *srules; + asection *sdyn; + + /* The SunOS native linker creates a shared library whenever there + are any undefined symbols in a link, unless -e is used. This is + pretty weird, but we are compatible. */ + if (! link_info.shared && ! link_info.relocateable && ! entry_from_cmdline) + { + struct bfd_link_hash_entry *h; + + for (h = link_info.hash->undefs; h != NULL; h = h->next) + { + if (h->type == bfd_link_hash_undefined + && h->u.undef.abfd != NULL + && (h->u.undef.abfd->flags & DYNAMIC) == 0 + && strcmp (h->root.string, "__DYNAMIC") != 0 + && strcmp (h->root.string, "__GLOBAL_OFFSET_TABLE_") != 0) + { + find_assign = h->root.string; + found_assign = false; + lang_for_each_statement (gld${EMULATION_NAME}_find_assignment); + if (! found_assign) + { + link_info.shared = true; + break; + } + } + } + } + + if (link_info.shared) + { + lang_output_section_statement_type *os; + + /* Set the .text section to start at 0x20, not 0x2020. FIXME: + This is too magical. */ + os = lang_output_section_statement_lookup (".text"); + if (os->addr_tree == NULL) + os->addr_tree = exp_intop (0x20); + } + + /* We need to create a __DYNAMIC symbol. We don't do this in the + linker script because we want to set the value to the start of + the dynamic section if there is one, or to zero if there isn't + one. We need to create the symbol before calling + size_dynamic_sections, although we can't set the value until + afterward. */ + if (! link_info.relocateable) + { + hdyn = bfd_link_hash_lookup (link_info.hash, "__DYNAMIC", true, false, + false); + if (hdyn == NULL) + einfo ("%P%F: bfd_link_hash_lookup: %E\n"); + if (! bfd_sunos_record_link_assignment (output_bfd, &link_info, + "__DYNAMIC")) + einfo ("%P%F: failed to record assignment to __DYNAMIC: %E\n"); + } + + /* If we are going to make any variable assignments, we need to let + the backend linker know about them in case the variables are + referred to by dynamic objects. */ + lang_for_each_statement (gld${EMULATION_NAME}_find_assignment); + + /* Let the backend linker work out the sizes of any sections + required by dynamic linking. */ + if (! bfd_sunos_size_dynamic_sections (output_bfd, &link_info, &sdyn, + &sneed, &srules)) + einfo ("%P%F: failed to set dynamic section sizes: %E\n"); + + if (sneed != NULL) + { + /* Set up the .need section. See the description of the ld_need + field in include/aout/sun4.h. */ + + need_entries = 0; + need_size = 0; + + lang_for_each_input_file (gld${EMULATION_NAME}_count_need); + + /* We should only have a .need section if we have at least one + dynamic object. */ + ASSERT (need_entries != 0); + + sneed->_raw_size = need_size; + sneed->contents = (bfd_byte *) xmalloc (need_size); + + need_contents = sneed->contents; + need_pinfo = sneed->contents; + need_pnames = sneed->contents + need_entries * 16; + + lang_for_each_input_file (gld${EMULATION_NAME}_set_need); + + ASSERT ((bfd_size_type) (need_pnames - sneed->contents) == need_size); + } + + if (srules != NULL) + { + /* Set up the .rules section. This is just a PATH like string + of the -L arguments given on the command line. We permit the + user to specify the directories using the -rpath command line + option. */ + if (command_line.rpath) + { + srules->_raw_size = strlen (command_line.rpath); + srules->contents = (bfd_byte *) command_line.rpath; + } + else + { + unsigned int size; + search_dirs_type *search; + + size = 0; + for (search = search_head; search != NULL; search = search->next) + if (search->cmdline) + size += strlen (search->name) + 1; + srules->_raw_size = size; + if (size > 0) + { + char *p; + + srules->contents = (bfd_byte *) xmalloc (size); + p = (char *) srules->contents; + *p = '\0'; + for (search = search_head; search != NULL; search = search->next) + { + if (search->cmdline) + { + if (p != (char *) srules->contents) + *p++ = ':'; + strcpy (p, search->name); + p += strlen (p); + } + } + } + } + } + + /* We must assign a value to __DYNAMIC. It should be zero if we are + not doing a dynamic link, or the start of the .dynamic section if + we are doing one. */ + if (! link_info.relocateable) + { + hdyn->type = bfd_link_hash_defined; + hdyn->u.def.value = 0; + if (sdyn != NULL) + hdyn->u.def.section = sdyn; + else + hdyn->u.def.section = bfd_abs_section_ptr; + } +} + +/* This is called by the before_allocation routine via + lang_for_each_statement. It does one of two things: if the + variable find_assign is set, it sets found_assign if it finds an + assignment to that variable; otherwise it tells the backend linker + about all assignment statements, in case they are assignments to + symbols which are referred to by dynamic objects. */ + +static void +gld${EMULATION_NAME}_find_assignment (s) + lang_statement_union_type *s; +{ + if (s->header.type == lang_assignment_statement_enum + && (find_assign == NULL || ! found_assign)) + gld${EMULATION_NAME}_find_exp_assignment (s->assignment_statement.exp); +} + +/* Look through an expression for an assignment statement. */ + +static void +gld${EMULATION_NAME}_find_exp_assignment (exp) + etree_type *exp; +{ + switch (exp->type.node_class) + { + case etree_assign: + if (find_assign != NULL) + { + if (strcmp (find_assign, exp->assign.dst) == 0) + found_assign = true; + return; + } + + if (strcmp (exp->assign.dst, ".") != 0) + { + if (! bfd_sunos_record_link_assignment (output_bfd, &link_info, + exp->assign.dst)) + einfo ("%P%F: failed to record assignment to %s: %E\n", + exp->assign.dst); + } + gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src); + break; + + case etree_binary: + gld${EMULATION_NAME}_find_exp_assignment (exp->binary.lhs); + gld${EMULATION_NAME}_find_exp_assignment (exp->binary.rhs); + break; + + case etree_trinary: + gld${EMULATION_NAME}_find_exp_assignment (exp->trinary.cond); + gld${EMULATION_NAME}_find_exp_assignment (exp->trinary.lhs); + gld${EMULATION_NAME}_find_exp_assignment (exp->trinary.rhs); + break; + + case etree_unary: + gld${EMULATION_NAME}_find_exp_assignment (exp->unary.child); + break; + + default: + break; + } +} + +/* Work out the size of the .need section, and the number of entries. + The backend will set the ld_need field of the dynamic linking + information to point to the .need section. See include/aout/sun4.h + for more information. */ + +static void +gld${EMULATION_NAME}_count_need (inp) + lang_input_statement_type *inp; +{ + if (inp->the_bfd != NULL + && (inp->the_bfd->flags & DYNAMIC) != 0) + { + ++need_entries; + need_size += NEED_ENTRY_SIZE; + if (! inp->is_archive) + need_size += strlen (inp->filename) + 1; + else + { + ASSERT (inp->local_sym_name[0] == '-' + && inp->local_sym_name[1] == 'l'); + need_size += strlen (inp->local_sym_name + 2) + 1; + } + } +} + +/* Fill in the contents of the .need section. */ + +static void +gld${EMULATION_NAME}_set_need (inp) + lang_input_statement_type *inp; +{ + if (inp->the_bfd != NULL + && (inp->the_bfd->flags & DYNAMIC) != 0) + { + bfd_size_type c; + + /* To really fill in the .need section contents, we need to know + the final file position of the section, but we don't. + Instead, we use offsets, and rely on the BFD backend to + finish the section up correctly. FIXME: Talk about lack of + referential locality. */ + bfd_put_32 (output_bfd, need_pnames - need_contents, need_pinfo); + if (! inp->is_archive) + { + bfd_put_32 (output_bfd, (bfd_vma) 0, need_pinfo + 4); + bfd_put_16 (output_bfd, (bfd_vma) 0, need_pinfo + 8); + bfd_put_16 (output_bfd, (bfd_vma) 0, need_pinfo + 10); + strcpy (need_pnames, inp->filename); + } + else + { + char *verstr; + int maj, min; + + bfd_put_32 (output_bfd, (bfd_vma) 0x80000000, need_pinfo + 4); + maj = 0; + min = 0; + verstr = strstr (inp->filename, ".so."); + if (verstr != NULL) + sscanf (verstr, ".so.%d.%d", &maj, &min); + bfd_put_16 (output_bfd, (bfd_vma) maj, need_pinfo + 8); + bfd_put_16 (output_bfd, (bfd_vma) min, need_pinfo + 10); + strcpy (need_pnames, inp->local_sym_name + 2); + } + + c = (need_pinfo - need_contents) / NEED_ENTRY_SIZE; + if (c + 1 >= need_entries) + bfd_put_32 (output_bfd, (bfd_vma) 0, need_pinfo + 12); + else + bfd_put_32 (output_bfd, (bfd_vma) (c + 1) * NEED_ENTRY_SIZE, + need_pinfo + 12); + + need_pinfo += NEED_ENTRY_SIZE; + need_pnames += strlen (need_pnames) + 1; + } +} + +static char * +gld${EMULATION_NAME}_get_script(isfile) + int *isfile; +EOF + +if test -n "$COMPILE_IN" +then +# Scripts compiled in. + +# sed commands to quote an ld script as a C string. +sc="-f stringify.sed" + +cat >>e${EMULATION_NAME}.c <<EOF +{ + *isfile = 0; + + if (link_info.relocateable == true && config.build_constructors == true) + return +EOF +sed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.c +echo ' ; else if (link_info.relocateable == true) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c +echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c +echo ' ; else if (!config.magic_demand_paged) return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.xn >> e${EMULATION_NAME}.c +echo ' ; else return' >> e${EMULATION_NAME}.c +sed $sc ldscripts/${EMULATION_NAME}.x >> e${EMULATION_NAME}.c +echo '; }' >> e${EMULATION_NAME}.c + +else +# Scripts read from the filesystem. + +cat >>e${EMULATION_NAME}.c <<EOF +{ + *isfile = 1; + + if (link_info.relocateable == true && config.build_constructors == true) + return "ldscripts/${EMULATION_NAME}.xu"; + else if (link_info.relocateable == true) + return "ldscripts/${EMULATION_NAME}.xr"; + else if (!config.text_read_only) + return "ldscripts/${EMULATION_NAME}.xbn"; + else if (!config.magic_demand_paged) + return "ldscripts/${EMULATION_NAME}.xn"; + else + return "ldscripts/${EMULATION_NAME}.x"; +} +EOF + +fi + +cat >>e${EMULATION_NAME}.c <<EOF + +struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation = +{ + gld${EMULATION_NAME}_before_parse, + syslib_default, + hll_default, + after_parse_default, + gld${EMULATION_NAME}_after_open, + after_allocation_default, + set_output_arch_default, + ldemul_default_target, + gld${EMULATION_NAME}_before_allocation, + gld${EMULATION_NAME}_get_script, + "${EMULATION_NAME}", + "${OUTPUT_FORMAT}", + NULL, /* finish */ + gld${EMULATION_NAME}_create_output_section_statements, + NULL, /* open dynamic archive */ + NULL, /* place orphan */ + gld${EMULATION_NAME}_set_symbols, + NULL, /* parse args */ + NULL, /* unrecognized file */ + NULL, /* list options */ + NULL, /* recognized file */ + NULL /* find_potential_libraries */ +}; +EOF diff --git a/contrib/binutils/ld/ld.texinfo b/contrib/binutils/ld/ld.texinfo index 1069d03..8737126 100644 --- a/contrib/binutils/ld/ld.texinfo +++ b/contrib/binutils/ld/ld.texinfo @@ -1,7 +1,7 @@ \input texinfo @setfilename ld.info @c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -@c 2001 Free Software Foundation, Inc. +@c 2001, 2002 Free Software Foundation, Inc. @syncodeindex ky cp @include configdoc.texi @c (configdoc.texi is generated by the Makefile) @@ -58,7 +58,7 @@ END-INFO-DIR-ENTRY This file documents the @sc{gnu} linker LD version @value{VERSION}. Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, -2001 Free Software Foundation, Inc. +2001, 2002 Free Software Foundation, Inc. @ignore @@ -1116,6 +1116,12 @@ Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever. +@kindex -nostdlib +@item -nostdlib +Only search library directories explicitly specified on the +command line. Library directories specified in linker scripts +(including linker scripts specified on the command line) are ignored. + @ifclear SingleFormat @kindex --oformat @item --oformat @var{output-format} @@ -3666,7 +3672,10 @@ This example version script defines three version nodes. The first version node defined is @samp{VERS_1.1}; it has no other dependencies. The script binds the symbol @samp{foo1} to @samp{VERS_1.1}. It reduces a number of symbols to local scope so that they are not visible outside -of the shared library. +of the shared library; this is done using wildcard patterns, so that any +symbol whose name begins with @samp{old}, @samp{original}, or @samp{new} +is matched. The wildcard patterns available are the same as those used +in the shell when matching filenames (also known as ``globbing''). Next, the version script defines node @samp{VERS_1.2}. This node depends upon @samp{VERS_1.1}. The script binds the symbol @samp{foo2} diff --git a/contrib/binutils/ld/ldgram.y b/contrib/binutils/ld/ldgram.y index f1924a0..22dc1a8 100644 --- a/contrib/binutils/ld/ldgram.y +++ b/contrib/binutils/ld/ldgram.y @@ -1112,11 +1112,11 @@ vers_tag: vers_defns: VERS_IDENTIFIER { - $$ = lang_new_vers_regex (NULL, $1, ldgram_vers_current_lang); + $$ = lang_new_vers_pattern (NULL, $1, ldgram_vers_current_lang); } | vers_defns ';' VERS_IDENTIFIER { - $$ = lang_new_vers_regex ($1, $3, ldgram_vers_current_lang); + $$ = lang_new_vers_pattern ($1, $3, ldgram_vers_current_lang); } | EXTERN NAME '{' { diff --git a/contrib/binutils/ld/ldlang.c b/contrib/binutils/ld/ldlang.c index a7b53dd..a5b1dd7 100644 --- a/contrib/binutils/ld/ldlang.c +++ b/contrib/binutils/ld/ldlang.c @@ -132,7 +132,6 @@ static boolean lang_one_common PARAMS ((struct bfd_link_hash_entry *, PTR)); static void lang_place_orphans PARAMS ((void)); static int topower PARAMS ((int)); static void lang_set_startof PARAMS ((void)); -static void reset_memory_regions PARAMS ((void)); static void gc_section_callback PARAMS ((lang_wild_statement_type *, struct wildcard_list *, asection *, lang_input_statement_type *, PTR)); @@ -179,6 +178,7 @@ lang_statement_list_type lang_output_section_statement; lang_statement_list_type *stat_ptr = &statement_list; lang_statement_list_type file_chain = { NULL, NULL }; const char *entry_symbol = NULL; +const char *entry_section = ".text"; boolean entry_from_cmdline; boolean lang_has_input_file = false; boolean had_output_filename = false; @@ -3466,7 +3466,7 @@ lang_finish () /* Can't find the entry symbol, and it's not a number. Use the first address in the text section. */ - ts = bfd_get_section_by_name (output_bfd, ".text"); + ts = bfd_get_section_by_name (output_bfd, entry_section); if (ts != (asection *) NULL) { if (warn) @@ -3972,8 +3972,8 @@ lang_final () /* Reset the current counters in the regions. */ -static void -reset_memory_regions () +void +lang_reset_memory_regions () { lang_memory_region_type *p = lang_memory_region_list; asection *o; @@ -4160,7 +4160,7 @@ lang_process () do { - reset_memory_regions (); + lang_reset_memory_regions (); relax_again = false; @@ -4981,7 +4981,7 @@ lang_vers_match_lang_java (expr, sym) /* This is called for each variable name or match expression. */ struct bfd_elf_version_expr * -lang_new_vers_regex (orig, new, lang) +lang_new_vers_pattern (orig, new, lang) struct bfd_elf_version_expr *orig; const char *new; const char *lang; @@ -5154,7 +5154,7 @@ lang_do_version_exports_section () p = contents; while (p < contents + len) { - greg = lang_new_vers_regex (greg, p, NULL); + greg = lang_new_vers_pattern (greg, p, NULL); p = strchr (p, '\0') + 1; } @@ -5165,7 +5165,7 @@ lang_do_version_exports_section () bfd_get_section_flags (is->the_bfd, sec) | SEC_EXCLUDE); } - lreg = lang_new_vers_regex (NULL, "*", NULL); + lreg = lang_new_vers_pattern (NULL, "*", NULL); lang_register_vers_node (command_line.version_exports_section, lang_new_vers_node (greg, lreg), NULL); } diff --git a/contrib/binutils/ld/ldlang.h b/contrib/binutils/ld/ldlang.h index 983d34c..2089591 100644 --- a/contrib/binutils/ld/ldlang.h +++ b/contrib/binutils/ld/ldlang.h @@ -1,13 +1,13 @@ /* ldlang.h - linker command language support Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001 + 2001, 2002 Free Software Foundation, Inc. This file is part of GLD, the Gnu Linker. GLD 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. GLD is distributed in the hope that it will be useful, @@ -356,6 +356,7 @@ extern lang_statement_list_type *stat_ptr; extern boolean delete_output_file_on_failure; extern const char *entry_symbol; +extern const char *entry_section; extern boolean entry_from_cmdline; extern lang_statement_list_type file_chain; @@ -402,6 +403,7 @@ extern void lang_for_each_input_file PARAMS ((void (*dothis) (lang_input_statement_type *))); extern void lang_for_each_file PARAMS ((void (*dothis) (lang_input_statement_type *))); +extern void lang_reset_memory_regions PARAMS ((void)); extern bfd_vma lang_do_assignments PARAMS ((lang_statement_union_type * s, lang_output_section_statement_type *output_section_statement, @@ -461,7 +463,7 @@ extern void lang_leave_overlay extern struct bfd_elf_version_tree *lang_elf_version_info; -extern struct bfd_elf_version_expr *lang_new_vers_regex +extern struct bfd_elf_version_expr *lang_new_vers_pattern PARAMS ((struct bfd_elf_version_expr *, const char *, const char *)); extern struct bfd_elf_version_tree *lang_new_vers_node PARAMS ((struct bfd_elf_version_expr *, struct bfd_elf_version_expr *)); diff --git a/contrib/binutils/ld/ldlex.l b/contrib/binutils/ld/ldlex.l index 0b15ca2..5b97f13 100644 --- a/contrib/binutils/ld/ldlex.l +++ b/contrib/binutils/ld/ldlex.l @@ -116,7 +116,7 @@ WHITE [ \t\n\r]+ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~] V_TAG [.$_a-zA-Z][._a-zA-Z0-9]* -V_IDENTIFIER [*?.$_a-zA-Z]([*?.$_a-zA-Z0-9]|::)* +V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^]([*?.$_a-zA-Z0-9\[\]\-\!\^]|::)* %s SCRIPT %s EXPRESSION diff --git a/contrib/binutils/ld/ldmain.c b/contrib/binutils/ld/ldmain.c index eac23ae..12e31dd 100644 --- a/contrib/binutils/ld/ldmain.c +++ b/contrib/binutils/ld/ldmain.c @@ -1,5 +1,6 @@ /* Main program of GNU linker. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 + Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002 Free Software Foundation, Inc. Written by Steve Chamberlain steve@cygnus.com @@ -54,6 +55,8 @@ extern PTR sbrk (); #endif #endif +int main PARAMS ((int, char **)); + static char *get_emulation PARAMS ((int, char **)); static void set_scripts_dir PARAMS ((void)); diff --git a/contrib/binutils/ld/lexsup.c b/contrib/binutils/ld/lexsup.c index ca2e9a1..230dd6b 100644 --- a/contrib/binutils/ld/lexsup.c +++ b/contrib/binutils/ld/lexsup.c @@ -1,6 +1,6 @@ /* Parse options for the GNU linker. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001 + 2001, 2002 Free Software Foundation, Inc. This file is part of GLD, the Gnu Linker. @@ -53,10 +53,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) #endif -/* Omit args to avoid the possibility of clashing with a system header - that might disagree about consts. */ -unsigned long strtoul (); - static int is_num PARAMS ((const char *, int, int, int)); static void set_default_dirlist PARAMS ((char *dirlist_ptr)); static void set_section_start PARAMS ((char *sect, char *valstr)); diff --git a/contrib/binutils/ld/po/ld.pot b/contrib/binutils/ld/po/ld.pot index bff203ff..4bb918d 100644 --- a/contrib/binutils/ld/po/ld.pot +++ b/contrib/binutils/ld/po/ld.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2002-01-17 13:58+0000\n" +"POT-Creation-Date: 2002-02-08 04:11-0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -271,8 +271,8 @@ msgstr "" msgid "Errors encountered processing file %s for interworking" msgstr "" -#: emultempl/pe.em:1297 ldlang.c:2050 ldlang.c:4441 ldlang.c:4474 -#: ldmain.c:1067 +#: emultempl/pe.em:1297 ldlang.c:2049 ldlang.c:4440 ldlang.c:4473 +#: ldmain.c:1069 msgid "%P%F: bfd_link_hash_lookup failed: %E\n" msgstr "" @@ -311,11 +311,11 @@ msgstr "" msgid "%B%F: could not read symbols; %E\n" msgstr "" -#: ldcref.c:469 ldmain.c:1133 ldmain.c:1137 +#: ldcref.c:469 ldmain.c:1135 ldmain.c:1139 msgid "%B%F: could not read symbols: %E\n" msgstr "" -#: ldcref.c:537 ldcref.c:544 ldmain.c:1183 ldmain.c:1190 +#: ldcref.c:537 ldcref.c:544 ldmain.c:1185 ldmain.c:1192 msgid "%B%F: could not read relocs: %E\n" msgstr "" @@ -478,206 +478,206 @@ msgstr "" msgid "%P%F: cannot represent machine `%s'\n" msgstr "" -#: ldlang.c:771 +#: ldlang.c:770 msgid "" "\n" "Memory Configuration\n" "\n" msgstr "" -#: ldlang.c:773 +#: ldlang.c:772 msgid "Name" msgstr "" -#: ldlang.c:773 +#: ldlang.c:772 msgid "Origin" msgstr "" -#: ldlang.c:773 +#: ldlang.c:772 msgid "Length" msgstr "" -#: ldlang.c:773 +#: ldlang.c:772 msgid "Attributes" msgstr "" -#: ldlang.c:815 +#: ldlang.c:814 msgid "" "\n" "Linker script and memory map\n" "\n" msgstr "" -#: ldlang.c:832 +#: ldlang.c:831 msgid "%P%F: Illegal use of `%s' section\n" msgstr "" -#: ldlang.c:842 +#: ldlang.c:841 msgid "%P%F: output format %s cannot represent section called %s\n" msgstr "" -#: ldlang.c:1004 +#: ldlang.c:1003 msgid "%P: %B: warning: ignoring duplicate section `%s'\n" msgstr "" -#: ldlang.c:1007 +#: ldlang.c:1006 msgid "%P: %B: warning: ignoring duplicate `%s' section symbol `%s'\n" msgstr "" -#: ldlang.c:1021 +#: ldlang.c:1020 msgid "%P: %B: warning: duplicate section `%s' has different size\n" msgstr "" -#: ldlang.c:1069 +#: ldlang.c:1068 msgid "%P%F: Failed to create hash table\n" msgstr "" -#: ldlang.c:1484 +#: ldlang.c:1483 msgid "%B: file not recognized: %E\n" msgstr "" -#: ldlang.c:1485 +#: ldlang.c:1484 msgid "%B: matching formats:" msgstr "" -#: ldlang.c:1492 +#: ldlang.c:1491 msgid "%F%B: file not recognized: %E\n" msgstr "" -#: ldlang.c:1548 +#: ldlang.c:1547 msgid "%F%B: member %B in archive is not an object\n" msgstr "" -#: ldlang.c:1559 ldlang.c:1573 +#: ldlang.c:1558 ldlang.c:1572 msgid "%F%B: could not read symbols: %E\n" msgstr "" -#: ldlang.c:1834 +#: ldlang.c:1833 msgid "" "%P: warning: could not find any targets that match endianness requirement\n" msgstr "" -#: ldlang.c:1847 +#: ldlang.c:1846 msgid "%P%F: target %s not found\n" msgstr "" -#: ldlang.c:1849 +#: ldlang.c:1848 msgid "%P%F: cannot open output file %s: %E\n" msgstr "" -#: ldlang.c:1859 +#: ldlang.c:1858 msgid "%P%F:%s: can not make object file: %E\n" msgstr "" -#: ldlang.c:1863 +#: ldlang.c:1862 msgid "%P%F:%s: can not set architecture: %E\n" msgstr "" -#: ldlang.c:1867 +#: ldlang.c:1866 msgid "%P%F: can not create link hash table: %E\n" msgstr "" -#: ldlang.c:2169 +#: ldlang.c:2168 msgid " load address 0x%V" msgstr "" -#: ldlang.c:2299 +#: ldlang.c:2298 msgid "%W (size before relaxing)\n" msgstr "" -#: ldlang.c:2381 +#: ldlang.c:2380 #, c-format msgid "Address of section %s set to " msgstr "" -#: ldlang.c:2535 +#: ldlang.c:2534 #, c-format msgid "Fail with %d\n" msgstr "" -#: ldlang.c:2777 +#: ldlang.c:2776 msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n" msgstr "" -#: ldlang.c:2806 +#: ldlang.c:2805 msgid "%X%P: address 0x%v of %B section %s is not within region %s\n" msgstr "" -#: ldlang.c:2814 +#: ldlang.c:2813 msgid "%X%P: region %s is full (%B section %s)\n" msgstr "" -#: ldlang.c:2864 +#: ldlang.c:2863 msgid "%P%X: Internal error on COFF shared library section %s\n" msgstr "" -#: ldlang.c:2906 +#: ldlang.c:2905 msgid "%P: warning: no memory region specified for section `%s'\n" msgstr "" -#: ldlang.c:2921 +#: ldlang.c:2920 msgid "%P: warning: changing start of section %s by %u bytes\n" msgstr "" -#: ldlang.c:2935 +#: ldlang.c:2934 msgid "%F%S: non constant address expression for section %s\n" msgstr "" -#: ldlang.c:2999 +#: ldlang.c:2998 msgid "%X%P: use an absolute load address or a load memory region, not both\n" msgstr "" -#: ldlang.c:3114 +#: ldlang.c:3113 msgid "%P%F: can't relax section: %E\n" msgstr "" -#: ldlang.c:3273 +#: ldlang.c:3272 msgid "%F%P: invalid data statement\n" msgstr "" -#: ldlang.c:3310 +#: ldlang.c:3309 msgid "%F%P: invalid reloc statement\n" msgstr "" -#: ldlang.c:3448 +#: ldlang.c:3447 msgid "%P%F:%s: can't set start address\n" msgstr "" -#: ldlang.c:3461 ldlang.c:3478 +#: ldlang.c:3460 ldlang.c:3477 msgid "%P%F: can't set start address\n" msgstr "" -#: ldlang.c:3473 +#: ldlang.c:3472 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n" msgstr "" -#: ldlang.c:3483 +#: ldlang.c:3482 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n" msgstr "" -#: ldlang.c:3525 +#: ldlang.c:3524 msgid "" "%P: warning: %s architecture of input file `%B' is incompatible with %s " "output\n" msgstr "" -#: ldlang.c:3538 +#: ldlang.c:3537 msgid "" "%P%F: Relocatable linking with relocations from format %s (%B) to format %s " "(%B) is not supported\n" msgstr "" -#: ldlang.c:3558 +#: ldlang.c:3557 msgid "%E%X: failed to merge target specific data of file %B\n" msgstr "" -#: ldlang.c:3647 +#: ldlang.c:3646 msgid "" "\n" "Allocating common symbols\n" msgstr "" -#: ldlang.c:3648 +#: ldlang.c:3647 msgid "" "Common symbol size file\n" "\n" @@ -686,48 +686,48 @@ msgstr "" #. This message happens when using the #. svr3.ifile linker script, so I have #. disabled it. -#: ldlang.c:3730 +#: ldlang.c:3729 msgid "%P: no [COMMON] command, defaulting to .bss\n" msgstr "" -#: ldlang.c:3789 +#: ldlang.c:3788 msgid "%P%F: invalid syntax in flags\n" msgstr "" -#: ldlang.c:4390 +#: ldlang.c:4389 msgid "%P%Fmultiple STARTUP files\n" msgstr "" -#: ldlang.c:4658 +#: ldlang.c:4657 msgid "%F%P: bfd_record_phdr failed: %E\n" msgstr "" -#: ldlang.c:4677 +#: ldlang.c:4676 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n" msgstr "" -#: ldlang.c:5003 +#: ldlang.c:5002 msgid "%X%P: unknown language `%s' in version information\n" msgstr "" -#: ldlang.c:5055 +#: ldlang.c:5054 msgid "" "%X%P: anonymous version tag cannot be combined with other version tags\n" msgstr "" -#: ldlang.c:5062 +#: ldlang.c:5061 msgid "%X%P: duplicate version tag `%s'\n" msgstr "" -#: ldlang.c:5075 ldlang.c:5088 +#: ldlang.c:5074 ldlang.c:5087 msgid "%X%P: duplicate expression `%s' in version information\n" msgstr "" -#: ldlang.c:5130 +#: ldlang.c:5129 msgid "%X%P: unable to find version dependency `%s'\n" msgstr "" -#: ldlang.c:5152 +#: ldlang.c:5151 msgid "%X%P: unable to read .exports section contents\n" msgstr "" @@ -755,222 +755,225 @@ msgstr "" msgid "%P%F: -f may not be used without -shared\n" msgstr "" -#: ldmain.c:334 -#, c-format -msgid "using %s linker script:\n" +#: ldmain.c:335 +msgid "using external linker script:" +msgstr "" + +#: ldmain.c:337 +msgid "using internal linker script:" msgstr "" -#: ldmain.c:369 +#: ldmain.c:371 msgid "%P%F: no input files\n" msgstr "" -#: ldmain.c:374 +#: ldmain.c:376 msgid "%P: mode %s\n" msgstr "" -#: ldmain.c:391 +#: ldmain.c:393 msgid "%P%F: cannot open map file %s: %E\n" msgstr "" -#: ldmain.c:438 +#: ldmain.c:440 msgid "%P: link errors found, deleting executable `%s'\n" msgstr "" -#: ldmain.c:449 +#: ldmain.c:451 msgid "%F%B: final close failed: %E\n" msgstr "" -#: ldmain.c:473 +#: ldmain.c:475 msgid "%X%P: unable to open for source of copy `%s'\n" msgstr "" -#: ldmain.c:475 +#: ldmain.c:477 msgid "%X%P: unable to open for destination of copy `%s'\n" msgstr "" -#: ldmain.c:481 +#: ldmain.c:483 msgid "%P: Error writing file `%s'\n" msgstr "" -#: ldmain.c:487 pe-dll.c:1442 +#: ldmain.c:489 pe-dll.c:1442 #, c-format msgid "%P: Error closing file `%s'\n" msgstr "" -#: ldmain.c:504 +#: ldmain.c:506 #, c-format msgid "%s: total time in link: %ld.%06ld\n" msgstr "" -#: ldmain.c:507 +#: ldmain.c:509 #, c-format msgid "%s: data size %ld\n" msgstr "" -#: ldmain.c:548 +#: ldmain.c:550 msgid "%P%F: missing argument to -m\n" msgstr "" -#: ldmain.c:676 ldmain.c:697 ldmain.c:728 +#: ldmain.c:678 ldmain.c:699 ldmain.c:730 msgid "%P%F: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:681 ldmain.c:700 +#: ldmain.c:683 ldmain.c:702 msgid "%P%F: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:715 +#: ldmain.c:717 msgid "%X%P: error: duplicate retain-symbols-file\n" msgstr "" -#: ldmain.c:759 +#: ldmain.c:761 msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n" msgstr "" -#: ldmain.c:764 +#: ldmain.c:766 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n" msgstr "" -#: ldmain.c:840 +#: ldmain.c:842 msgid "" "Archive member included because of file (symbol)\n" "\n" msgstr "" -#: ldmain.c:911 +#: ldmain.c:913 msgid "%X%C: multiple definition of `%T'\n" msgstr "" -#: ldmain.c:914 +#: ldmain.c:916 msgid "%D: first defined here\n" msgstr "" -#: ldmain.c:918 +#: ldmain.c:920 msgid "%P: Disabling relaxation: it will not work with multiple definitions\n" msgstr "" -#: ldmain.c:949 +#: ldmain.c:951 msgid "%B: warning: definition of `%T' overriding common\n" msgstr "" -#: ldmain.c:952 +#: ldmain.c:954 msgid "%B: warning: common is here\n" msgstr "" -#: ldmain.c:959 +#: ldmain.c:961 msgid "%B: warning: common of `%T' overridden by definition\n" msgstr "" -#: ldmain.c:962 +#: ldmain.c:964 msgid "%B: warning: defined here\n" msgstr "" -#: ldmain.c:969 +#: ldmain.c:971 msgid "%B: warning: common of `%T' overridden by larger common\n" msgstr "" -#: ldmain.c:972 +#: ldmain.c:974 msgid "%B: warning: larger common is here\n" msgstr "" -#: ldmain.c:976 +#: ldmain.c:978 msgid "%B: warning: common of `%T' overriding smaller common\n" msgstr "" -#: ldmain.c:979 +#: ldmain.c:981 msgid "%B: warning: smaller common is here\n" msgstr "" -#: ldmain.c:983 +#: ldmain.c:985 msgid "%B: warning: multiple common of `%T'\n" msgstr "" -#: ldmain.c:985 +#: ldmain.c:987 msgid "%B: warning: previous common is here\n" msgstr "" -#: ldmain.c:1006 ldmain.c:1045 +#: ldmain.c:1008 ldmain.c:1047 msgid "%P: warning: global constructor %s used\n" msgstr "" -#: ldmain.c:1055 +#: ldmain.c:1057 msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n" msgstr "" -#: ldmain.c:1239 +#: ldmain.c:1241 msgid "%F%P: bfd_hash_table_init failed: %E\n" msgstr "" -#: ldmain.c:1246 +#: ldmain.c:1248 msgid "%F%P: bfd_hash_lookup failed: %E\n" msgstr "" -#: ldmain.c:1266 +#: ldmain.c:1268 msgid "%C: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1272 +#: ldmain.c:1274 msgid "%D: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1279 +#: ldmain.c:1281 msgid "%B: undefined reference to `%T'\n" msgstr "" -#: ldmain.c:1285 +#: ldmain.c:1287 msgid "%B: more undefined references to `%T' follow\n" msgstr "" -#: ldmain.c:1305 ldmain.c:1326 ldmain.c:1345 +#: ldmain.c:1307 ldmain.c:1328 ldmain.c:1347 msgid "%P%X: generated" msgstr "" -#: ldmain.c:1308 +#: ldmain.c:1310 msgid " relocation truncated to fit: %s %T" msgstr "" -#: ldmain.c:1329 +#: ldmain.c:1331 #, c-format msgid "dangerous relocation: %s\n" msgstr "" -#: ldmain.c:1348 +#: ldmain.c:1350 msgid " reloc refers to symbol `%T' which is not being output\n" msgstr "" -#: ldmisc.c:176 +#: ldmisc.c:179 msgid "no symbol" msgstr "" -#: ldmisc.c:240 +#: ldmisc.c:243 #, c-format msgid "built in linker script:%u" msgstr "" -#: ldmisc.c:290 ldmisc.c:294 +#: ldmisc.c:293 ldmisc.c:297 msgid "%B%F: could not read symbols\n" msgstr "" #. We use abfd->filename in this initial line, #. in case filename is a .h file or something #. similarly unhelpful. -#: ldmisc.c:330 +#: ldmisc.c:333 msgid "%B: In function `%T':\n" msgstr "" -#: ldmisc.c:439 +#: ldmisc.c:442 msgid "%F%P: internal error %s %d\n" msgstr "" -#: ldmisc.c:489 +#: ldmisc.c:492 msgid "%P: internal error: aborting at %s line %d in %s\n" msgstr "" -#: ldmisc.c:492 +#: ldmisc.c:495 msgid "%P: internal error: aborting at %s line %d\n" msgstr "" -#: ldmisc.c:494 +#: ldmisc.c:497 msgid "%P%F: please report this bug\n" msgstr "" @@ -981,7 +984,7 @@ msgid "GNU ld version %s\n" msgstr "" #: ldver.c:42 -msgid "Copyright 2001 Free Software Foundation, Inc.\n" +msgid "Copyright 2002 Free Software Foundation, Inc.\n" msgstr "" #: ldver.c:43 |