diff options
Diffstat (limited to 'ld/ChangeLog-9197')
-rw-r--r-- | ld/ChangeLog-9197 | 7576 |
1 files changed, 7576 insertions, 0 deletions
diff --git a/ld/ChangeLog-9197 b/ld/ChangeLog-9197 new file mode 100644 index 0000000..a89a4ca --- /dev/null +++ b/ld/ChangeLog-9197 @@ -0,0 +1,7576 @@ +Sun Dec 21 12:51:49 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldexp.c (fold_name): Don't crash if the symbol is defined in a + section with no output section, such as a shared library section. + +Wed Dec 17 12:14:11 1997 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Keep track of where we are in the option + parsing before calling ldemul_parse_args, so that we don't call it + multiple times on the same argument and confuse the getopt + internals. + +Thu Dec 11 09:00:15 1997 Michael Meissner <meissner@cygnus.com> + + * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and + d30velf_o to d30v_o to work in DOS environments. + * Makefile.{am,in}: Ditto. + + * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}. + * emulparams/d30velf_{o,e}: Deleted. + +Wed Dec 10 17:40:08 1997 Nick Clifton <nickc@cygnus.com> + + * scripttempl/armcoff.sc: Add glue sections (code taken from Arm + branch). + + * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff. + + * emultempl/armcoff.em: New file, imported from Arm branch. + +Wed Dec 10 14:10:44 1997 Michael Meissner <meissner@cygnus.com> + + * scripttempl/elfd30v.sc: Add .rel and .rela sections for all + defined sections. Set up __{D,C}TOR_{LIST,END}__. Add onchip and + external memory sections for rodata. Delete .string, .rodata1, + and .data1 sections. + +Tue Dec 9 15:28:17 1997 Michael Meissner <meissner@cygnus.com> + + * Makefile.am: Add Oct 23 changes to Makefile.in here. + + * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o. + + * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o. + + * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o. + (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in + external memory. + (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in + onchip memory. + + * emulparams/d30velf.sh (STACK_START_ADDR): Top of default + stack. + ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas. + ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and + .bss should go in. + + * emulparams/d30velf_{e,o}.sh: New files to be explicit whether + .text, .data, etc go in external memory or onchip memory. + + * configure.tgt (d30v-*-*ext*): New configuration to default + .text, .data, etc. in external memory. + (d30v-*-*onchip*): New configuration to default .text, .data, + etc. in onchip memory. + (d30v-*-*): Add d30velf_{e,o} emulations. + + * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in + either the onchip text/data areas or the external memory area. + (MEMORY): Get sizes from d30velf.sh. + (.e{data,text,bss}): Put sections in the external memory region. + (.stext): Put section in the onchip text region. + (.s{data,bss}): Put sections in the onchip data region. + (__stack): Assign from ${STACK_START_ADDR}. + (.text): Put in ${TEXT_MEMORY} memory region. + (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory + region. + (.bss): Put in ${BSS_MEMORY} memory region. + +Tue Dec 2 10:14:47 1997 Nick Clifton <nickc@cygnus.com> + + * configure.tgt (targ_extra_emuls): Add support for Thumb target. + +Sat Nov 22 15:23:19 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlex.l: Don't define hex_mode. Correct number regexp to not + accept hex digits without a leading $ or 0x. Handle leading $ + correctly. Pass 0 rather than hex_mode to bfd_scan_vma. + * ldlex.h (hex_mode): Don't declare. + +Sun Nov 16 20:16:45 1997 Michael Meissner <meissner@cygnus.com> + + * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start + of internal data area and external memory on chip. + + * scripttempl/elfd30v.sc: Define a MEMORY region that describes + the 3 regions of memory on the chip. Put .text/.init/.fini into + the text memory region, put other segments into the data memory + region. Add more of the standard elf sections. Default __stack + to be 0x20008000, which is 1 byte beyond end of the internal data + region. + +Thu Nov 13 13:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd + variant. + +Sun Nov 2 14:51:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0. Set + HOSTING_LIBS. + +Thu Oct 30 12:25:55 1997 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (args_type): Add warn_mismatch field. + * ldmain.c (main): Initialize warn_mismatch field. + * lexsup.c (parse_args): Handle --no-warn-mismatch option. + * ldlang.c (ignore_bfd_error): New static function. + (lang_check): If warn_mismatch is false, don't warn about + mismatched input files. + * ld.texinfo, ld.1: Document new option. + +Thu Oct 23 14:38:18 1997 Nick Clifton <nickc@cygnus.com> + + * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack' + to avoid conflicts with C code which is defining a variable called + 'stack'. + +Thu Oct 23 00:57:45 1997 Richard Henderson <rth@dot.cygnus.com> + + * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ... + (ALL_64_EMULATIONS): ... here. + (eelf64_sparc.c): Template should be elf32 not generic. + * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition. + +Thu Oct 23 00:44:20 1997 Richard Henderson <rth@dot.cygnus.com> + + * configure.tgt: Add sparc64-*-linux*. + * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New. + +Wed Oct 22 11:29:25 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/pe.sc: Put .eh_frame in .rdata. + +Fri Oct 17 00:00:13 1997 Richard Henderson <rth@cygnus.com> + + * ldlang.c (lang_register_vers_node): Only check globals<=>locals, + since we need to be able to export different versions of the same + symbol. + +Wed Oct 15 14:52:36 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/pe.sc: Put .stab and .stabstr sections at end. + +Wed Oct 8 12:37:05 1997 Richard Henderson <rth@cygnus.com> + + * configure.tgt, configure.host: Change alpha-*-* to alpha*-*-*; + config.guess now recognizes alphaev5 etc. + +Fri Oct 3 14:23:02 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Don't treat + -s and -u as -static and -unix. + +Thu Oct 2 18:40:28 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (wild_doit): Rewrite flag handling for clarity. If we + are not adding the first input section, and SEC_READONLY is clear + on the output section, then don't copy it from the input section. + If SEC_READONLY is not set on the input section, then clear it on + the output section. + + * configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than + elf32bmip. + (mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip + to elf32bsmip. + (mips*-*-linux*): Likewise. + * emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but + setting ENTRY to __start. + * emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but + setting ENTRY to __start. + * scripttempl/elf.sc: Always set ENTRY to _start if it was not + already set. + +Wed Oct 1 16:41:00 1997 Nick Clifton <nickc@cygnus.com> + + * emulparams/v850.sh (ROZDATA_START_ADDR, ROSDATA_START_ADDR): New + Variables. + + * scripttempl/v850.sc: Move read only areas out of zero and small + data sections and into their own sections. + +Wed Sep 24 16:59:15 1997 Joel Sherrill <joel@oarcorp.com> + + * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*. + +Wed Sep 24 11:33:14 1997 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo (Section Options): Improve documentation of NOLOAD + directive. + + * aclocal.m4: Rebuild with new libtool. + * configure: Rebuild. + +Mon Sep 22 17:24:06 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (wild_doit): Revert patch of September 3. + +Wed Sep 17 16:45:34 1997 Nick Clifton <nickc@cygnus.com> + + * Makefile.am, Makefile.in: Add rule for ev850.c + * configure.tgt (targ_extra_emuls): Add v850 target. + +Wed Sep 17 16:43:39 1997 Nick Clifton <nickc@cygnus.com> + + * emulparams/v850.sh (CALL_TABLE_START_ADDR): New entry. + * scripttempl/v850.sc: Add call table data area + +Mon Sep 15 11:29:13 1997 Ken Raeburn <raeburn@cygnus.com> + + Merge change from Martin Hunt: + + * scripttempl/elfd30v.sc: Put .rodata in the .text section. + +Tue Sep 9 07:49:56 1997 Fred Fish <fnf@ninemoons.com> + + * ldlang.c (lang_memory_region_lookup): Remove extraneous + initialization of p. + +Thu Sep 4 09:03:33 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): In + expression produced for -bpT and -bpD options, align to a 32 byte + boundary rather than an 8 byte boundary. + * scripttempl/aix.sc: Put .tocbss at start of .bss section. + + * ldmisc.h, ldmisc.c, ldcref.c: Rename finfo to lfinfo, to avoid + function name conflict with AIX 4.2 unistd.h header file. + +Wed Sep 3 15:12:32 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (wild_doit): Clear SEC_HAS_CONTENTS from a + noload_section. + +Fri Aug 29 00:32:31 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (ld_new_DEPENDENCIES): Remove @LEXLIB@. + * Makefile.in: Rebuild. + +Thu Aug 28 10:12:10 1997 Doug Evans <dje@canuck.cygnus.com> + + * configure.tgt (arc-*-elf*): Recognize. + * Makefile.am (ALL_EMULATIONS): Add earcelf.o. + * Makefile.in: Regenerate. + * emulparams/arcelf.sh: New file. + +Wed Aug 20 11:14:13 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (wildcardp): Don't let a backslash by itself cause a + pattern to be treated as a wildcard pattern. + + * ldgram.y (atype): Accept parentheses with no type. + + * ld.texinfo (Section Definition): Clarify use of whitespace. + (Section Placement): Likewise. + +Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com> + + * configure.tgt (targ_extra_emuls): Add support for v850e target. + +Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com> + + * configure.tgt (targ_extra_emuls): Add support for v850e target. + +Sat Aug 9 00:42:27 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.am (ld.info): Change dependency from + $(BFDDIR)/doc/bfdsumm.texi to bfdsumm.texi. + (ld.dvi): Likewise. + (bfdsumm.texi): New target. + (CLEANFILES): Add bfdsumm.texi. + * Makefile.in: Rebuild. + + * Makefile.am: New file, based on old Makefile.in. + * acinclude.m4: New file, from old aclocal.m4. + * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove + shared library handling; now handled by libtool. Replace + AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC, + AC_PROG_LEX, and AC_DECL_YYTEXT. Call AM_MAINTAINER_MODE, + AM_CYGWIN32, and AM_EXEEXT. Don't call CY_CYGWIN32 or CY_EXEEXT. + * configure.host: Don't set HLDFLAGS, HLDENV, or RPATH_ENVVAR. + * acconfig.h: Mention PACKAGE and VERSION. + * stamp-h.in: New file. + * ldver.c (ld_program_version): Set ld_program_version from + VERSION. + * ldgram.y, ldlex.l: Replace VERSION with VERSIONK. + * Makefile.in: Now built with automake. + * aclocal.m4: Now built with aclocal. + * configure, config.in: Rebuild. + +Mon Jul 28 19:04:50 1997 Rob Savoye <rob@chinadoll.cygnus.com> + + * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for + win32 dependencies. + * configure: Regenerated with autoconf 2.12. + * Makefile.in: Add $(EXEEXT) to executable. + +Tue Jul 22 18:50:38 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> + + * emulparams/i386go32.sh (OUTPUT_FORMAT): Set to "coff-go32". + (SEGMENT_SIZE): Set to 0x200. + * scripttempl/i386go32.sc: Rewrite. + * configure.tgt (i[3456]86-*-msdosdjgpp*): New target. + +Mon Jul 7 12:39:42 1997 Ian Lance Taylor <ian@cygnus.com> + + From Manfred Hollstein <manfred@s-direktnet.de>: + * configure.host (i[3456]86-*-linux*libc1*): Renamed from + i[3456]86-*-linux*. + (i[3456]86-*-linux*): New host. + +Thu Jun 26 13:54:03 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/pe.sc: Put .rsrc after .reloc. Put input .rsrc + sections in the output .rsrc section. + +Wed Jun 25 12:48:41 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.host (m68*-*-linux*libc1*): Renamed from + `m68*-*-linux*'. + (m68*-*-linux*): New configuration for use with GNU libc 2. + +Mon Jun 16 19:18:21 1997 Geoff Keating <geoffk@ozemail.com.au> + + * scripttempl/elfppc.sc: Correct .rela.sdata entries. + + * scripttempl/elfppc.sc: Put the PLT between the small and large + BSS segments. + * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A + program base of 0x02000000 is recommended...' because otherwise + shared libraries are less efficient. We use 0x01800000 because + otherwise it's impossible to branch to location 0, for instance if + you have an undefined weak symbol. + +Mon Jun 16 12:49:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * ldlang.c (lang_place_undefineds): Add \n in einfo call. + (lang_size_sections): Likewise. + * ldlex.l: Likewise. + * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise. + * emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open): + Likewise. + (check_sections): Likewise. + (gld${EMULATION_NAME}_after_allocation): Likewise. + * emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation): + Likewise. + * mpw-eppcmac.c (gldppcmacos_read_file): Likewise. + * mpw-idtmips.c (gldmipsidt_after_open): Likewise. + (check_sections): Likewise. + (gldmipsidt_after_allocation): Likewise. + + * ldemul.c (ldemul_choose_mode): Remove unused einfo argument. + +Fri Jun 6 23:47:42 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of + the import list. + +Thu May 29 13:13:22 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't + crash if an output section has no BFD section. + +Fri May 23 15:23:25 1997 Fred Fish <fnf@cygnus.com> + + * lexsup.c (ld_options): Add entry for the new "task-link" option. + (parse_args): Handle the "task-link" option. + (OPTION_TASK_LINK): Add define. + +Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Correct check of fclose return value when + handling --force-exe-suffix. + +Thu May 15 11:35:29 1997 Nick Clifton <nickc@cygnus.com> + + * ldlang.c (lang_check): Add test of the return value from the + call to bfd_merge_private_bfd_data(). + +Mon May 12 23:22:58 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elfmips.sc: Remove. + * scripttempl/elf.sc: Set ENTRY based on target. Permit + TEXT_DYNAMIC to control .dynamic segment. Permit + SHLIB_TEXT_START_ADDR to set start of shared object. Support + INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put + .gnu.linkonce.t* in .text when relocating. Support + OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as + DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS. + * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf. + (DATA_ADDR): Don't set. + (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS. + (OTHER_TEXT_SECTIONS): Set. + (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS. + (MACHINE): Set to empty string. + * emulparams/elf32l4300.sh: Likewise. + * emulparams/elf32ebmip.sh: Likewise. + * emulparams/elf32elmip.sh: Likewise. + * emulparams/elf32bmip.sh: Likewise. Also: + (TEXT_DYNAMIC): Set. + * emulparams/elf32lmips.sh: Likewise. + * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than + elfmips.sc. + (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise. + +Mon May 12 11:11:06 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * scripttempl/elf.sc: Don't align the data segment on the next 8 + byte boundary, instead let the linker use whatever the individual + sections require. + +Fri May 9 17:45:46 1997 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (i[3456]86-*-gnu*): Don't include Mach support. + +Tue May 6 13:21:19 1997 Ian Lance Taylor <ian@cygnus.com> + + From Sean McNeil <sean@mcneil.com>: + * emultempl/pe.em (sort_by_file_name): Sort by archive name + first. + (sort_sections): Sort all sections, not just sections in the same + archive. + +Mon May 5 18:19:55 1997 Philip Blundell <pjb27@cam.ac.uk> + + * configure.tgt, configure.host: cope with '*-*-linux-gnuaout' + targets. + +Fri May 2 15:54:28 1997 Mike Meissner <meissner@cygnus.com> + + * scripttempl/tic80coff.sc (.text): Add a leading underscore to + __{D,C}TOR_{LIST,END}__ definations. Rearrange the order of items + in the .text section. Move .const, .ctors, .dtors into separate + sections. + +Wed Apr 30 12:23:21 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * scripttempl/m88kbcs.sc (__.initp.end, _etext): Added whitespace + around assignment of current location pointer. + +Thu Apr 17 13:07:18 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldctor.c (ldctor_build_sets): Make sure the set is aligned + appropriately. + +Tue Apr 15 13:19:26 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (INSTALL): Set to @INSTALL@. + (INSTALL_XFORM, INSTALL_XFORM1): Remove. + (install): Depend upon ld.new and installdirs. Use + $(program_transform_name) directly, rather than using + $(INSTALL_XFORM) and $(INSTALL_XFORM1). + (installdirs): New target. + (install-info): Run mkinstalldirs. + +Mon Apr 14 12:06:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (INSTALL): Change install.sh to install-sh. + + From Thomas Graichen <graichen@rzpd.de>: + * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub. + * configure: Rebuild. + +Fri Apr 4 11:42:41 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/pe.em: Include "libiberty.h". + (sort_sections_1): Use xmalloc rather than alloca. + + * ldlex.l: Recognize SQUAD. + * ldgram.y (length): Add SQUAD. + * ldctor.c (ldctor_build_sets): Use SQUAD for a signed 8 byte + reloc. + * ldlang.c (print_data_statement): Handle SQUAD. + (lang_size_sections, lang_do_assignments): Likewise. + * ldexp.c (exp_print_token): Add SQUAD to table. + * ldwrite.c (build_link_order): Handle SQUAD. + * ld.texinfo (Section Data Expressions): Document SQUAD. + +Thu Apr 3 13:19:40 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldver.c (ld_program_version): Set to 2.8.1. + + * Branched binutils 2.8. + +Wed Apr 2 11:55:27 1997 Ian Lance Taylor <ian@cygnus.com> + + * mpw-idtmips.c: Rename from mpw-emipsidt.c. + * mpw-elfmips.c: Rename from mpw-emipself.c. + * mpw-config.in: Update accordingly. + + * ldlang.c (lang_process): Call lang_check immediately after + opening the input files, rather than at the end of the link. + +Mon Mar 31 23:44:00 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/pe.em (init): Fully bracket initializer. + (set_pe_stack_heap): Remove locals begin_commit and end. + (gld_${EMULATION_NAME}_after_open): Remove unused local i. + (gld${EMULATION_NAME}_place_orphan): Remove unused local ptr. + +Mon Mar 31 16:35:51 1997 Joel Sherrill <joel@oarcorp.com> + + * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*. + +Fri Mar 28 15:29:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + Contributed by David S. Miller <davem@caip.rutgers.edu>: + * configure.tgt (sparc*-*-linuxaout*): New target. + (sparc*-*-linux*): New target. + * emulparams/sparclinux.sh: New file. + * Makefile.in (ALL_EMULATIONS): Add esparclinux.o. + (esparclinux.c): New target. + +Fri Mar 28 14:30:12 1997 Ian Lance Taylor <ian@cygnus.com> + + From Ralf Baechle <ralf@gnu.ai.mit.edu>: + * configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and + mips*-*-linux*. Use elf32bmip and elf32lmip, not elf32ebmip and + elf32elmip. + +Thu Mar 27 17:14:32 1997 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Update copyright date in version + message. + +Fri Mar 21 12:28:41 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * emulparams/delta68.sh (OUTPUT_FORMAT): Set to "coff-m68k-sysv". + +Tue Mar 18 11:16:23 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in: Rebuild dependencies. + + * emultempl/aix.em: Include "obstack.h". + +Mon Mar 17 19:26:06 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c: Include "obstack.h". + +Sat Mar 15 23:23:46 1997 Fred Fish <fnf@cygnus.com> + + * configure.tgt (powerpc-*-beos*): Use aixppc for targ_emul. + +Sat Mar 15 18:10:38 1997 H.J. Lu <hjl@lucon.org> + + * ldemul.h (ldemul_list_emulations): Use full prototype. + * ldlang.c (print_one_symbol): Add declaration. + * ldlang.h (dprint_statements): Declare. + * ldmain.c (remove_output): Declare. + * ldmisc.c (vfinfo): Declare. + * ldwrite.c (clone_section): Declare. + (split_sections): Make static. Declare. + * mri.c: Include libiberty.h. + (strdup): Don't declare. + (mri_alias): Use xstrdup rather than strdup. + +Fri Mar 14 21:30:06 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elfmips.sc: Change handling of data area when + generating a shared library to not skip a large block of memory. + From Per Fogelstrom <pefo@cvs.openbsd.org>. + +Wed Mar 12 21:33:09 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (multiple_definition): Only skip the warning if the + output section is absolute when the input section is not + absolute. + + * ldlex.l: Accept whitespace in VERS_START state. Warn about + invalid characters in VERS_* states. + +Tue Mar 11 13:51:31 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Don't let a + trailing space lead us to think that there is a zero address. + +Sun Mar 9 23:06:35 1997 Eric Youngdale <eric@andante.jic.com> + + * ldgram.y (vers_node): Correct typo of '(' for '{'. + +Fri Mar 7 18:40:12 1997 Fred Fish <fnf@cygnus.com> + + * scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start + rather than _start. + (__edata): Define this rather than "edata". + (__end): Define this rather than "end". + +Tue Mar 4 17:18:35 1997 Michael Meissner <meissner@cygnus.com> + + * configure.tgt (tic80-*-*): Allow dropping of -coff. + +Sun Mar 2 22:59:49 1997 Fred Fish <fnf@cygnus.com> + + * Makefile.in (ld.dvi): Set MAKEINFO environment variable as well + as TEXINPUTS. Needed for building in separate build dir. + * ldint.texinfo (SCRIPT_NAME): Fix typo. + * emulparams/tic80coff.sh: Rewrite to include internal documentation + about each shell variable that is set (or not set). + * scripttempl/tic80coff.sc: Complete rewrite. + +Fri Feb 28 17:42:27 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Call bfd_set_default_target. + * Makefile.in (ldmain.o): Define TARGET when compiling. + +Thu Feb 27 11:41:03 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Don't initialize link_info.lprefix or + link_info.lprefix_len. + * emultempl/hppaelf.em (hppaelf_before_parse): Likewise. + + * emultempl/m88kbcs.em: Remove. + * emulparams/m88kbcs.sh (TEMPLATE_NAME): Don't set. + * Makefile.in (em88kbcs.c): Depend upon generic.em rather than + m88kbcs.em. + + * mri.c (mri_draw_tree): Pass noload_section, not SEC_NEVER_LOAD, + to lang_enter_output_section_statement. From Mark Rasin + <mark.rasin@telrad.co.il>. + +Wed Feb 26 11:51:44 1997 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_one_common): Clear SEC_IS_COMMON from common + section. + +Tue Feb 25 20:38:11 1997 Stan Shebs <shebs@andros.cygnus.com> + + * configure.tgt (mips*-*-lnews*): New target. + * Makefile.in (emipslnews.c): New target. + * emulparams/mipslnews.sh: New file. + +Tue Feb 25 16:04:09 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (hold_interp): New static variable. + (gld${EMULATION_NAME}_place_orphan): Put loadable .note sections + after hold_interp. Choose a unique output section name. + (gld${EMULATION_NAME}_place_section): Don't set hold_use if the + SEC_LOAD or SEC_ALLOC flags differ. Set hold_interp. + +Mon Feb 24 18:16:09 1997 Ian Lance Taylor <ian@cygnus.com> + + From Eric Youngdale <eric@andante.jic.com>: + * ldlex.l (V_TAG, V_IDENTIFIER): New macros. + (VERS_START, VERS_SCRIPT, VERS_NODE): New states to parse version + information. + (ldlex_version_script, ldlex_version_file): New functions. + * ldlex.h (enum input_enum): Add input_version_script. + (ldlex_version_script): Declare. + (ldlex_version_file): Declare. + * ldgram.y (%union): Add deflist, versyms, and versnode. + (VERS_TAG, VERS_IDENTIFIER): New terminals. + (GLOBAL, LOCAL, VERSION, INPUT_VERSION_SCRIPT): New terminals. + (file): Accept INPUT_VERSION_SCRIPT. + (ifile_p1): Accept version. + (version_script_file): New nonterminal. + (version, vers_nodes, vers_node): Likewise. + (verdep, vers_tag, ver_defns): Likewise. + * ldlang.c (lang_elf_version_info): New global variable. + (lang_new_vers_regex): New function. + (lang_new_vers_node): New function. + (version_index): New static variable. + (lang_register_vers_node): New function. + (lang_add_vers_depend): New function. + * ldlang.h (lang_elf_version_info): Declare. + (lang_new_vers_regex, lang_new_vers_node): Declare. + (lang_add_vers_depend, lang_register_vers_node): Declare. + * lexsup.c (OPTION_VERSION_SCRIPT): Define. + (ld_options): Add "version-script". + (parse_args): Handle OPTION_VERSION_SCRIPT. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Pass lang_elf_version_info to size_dynamic_sections. + * scripttempl/elf.sc: Add .gnu.version sections. + * ld.texinfo: Document symbol versioning. + +Fri Feb 21 17:37:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * Makefile.in (ed30velf.c): New target. + * configure.tgt (d30v-*-*): New target. + * emulparams/d30velf.sh: New file. + * scripttempl/elfd30v.sc: New file. + +Fri Feb 14 18:28:31 1997 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo (Option Commands): Document the INCLUDE command. + +Thu Feb 13 20:31:37 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * configure.in: Call BFD_NEED_DECLARATION on getenv. + * acconfig.h (NEED_DECLARATION_GETENV): New macro. + * sysdep.h (getenv): Declare if NEED_DECLARATION_GETENV. + * ldemul.c (ld_emul_default_target): Do not cast getenv return + value. + * ldmain.c (get_emulation): Likewise. + * configure, config.in: Rebuild. + +Tue Feb 11 15:34:26 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and + .mips16.call.* in .text. + +Sun Feb 9 18:09:13 1997 Fred Fish <fnf@cygnus.com> + + * emulparams/tic80coff.sh: New (dummy) file for TIc80. + * scripttempl/tic80coff.sc: New (dummy) file for TIc80. + * Makefile.in (etic80coff.c): Add target and rule to build it. + * configure.tgt (tic80-*-coff): Set targ_emul to tic80coff. + +Fri Jan 31 13:16:53 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for + ".so" in the name, not ".so.". + (gld${EMULATION_NAME}_search_dir): Accept a plain .so file. + + * Makefile.in (ld.info): Add -I$(srcdir). From Alan Modra + <alan@spri.levels.unisa.edu.au>. + +Thu Jan 30 11:31:52 1997 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em: Include <ctype.h>. + (gld${EMULATION_NAME}_find_so): Skip the directory name when + searching for ".so.". + (gld${EMULATION_NAME}_search_dir): Make sure that the library name + has a version number, and that only version numbers follow .so. + +Wed Jan 29 18:15:00 1997 Geoffrey Noer <noer@cygnus.com> + + * scripttempl/pe.sc: + * scripttempl/ppcpe.sc: add *(.gcc_except_table) to the text + section so Win32 executables are valid. + +Mon Jan 27 12:28:43 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elf.sc: Put linkonce reloc section in other + appropriate reloc sections. + * scripttempl/elfmips.sc: Add linkonce support. + * scripttempl/elfppc.sc: Likewise. + +Fri Jan 24 10:44:09 1997 Jeffrey A Law (law@cygnus.com) + + * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the + stack up to 0x80000. + * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise. + +Tue Jan 21 12:11:10 1997 Doug Evans <dje@seba.cygnus.com> + + * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Use PROVIDE + to define `_stack'. + +Thu Jan 16 17:07:52 1997 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (args_type): Rename auxiliary_filter_shlib to + auxiliary_filters, and make it char **. + * lexsup.c (parse_args): Handle -f by setting up an array. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use + new name of auxiliary_filters. + + * ld.texinfo (Options): Improve documentation of --filter and + --auxiliary. + +Tue Jan 14 15:44:28 1997 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo (Options): Clarify that the normal usage is -T. + (Commands): Likewise. + +Thu Jan 9 11:26:27 1997 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/armcoff.sc: Correct mask used for .data address. + +Wed Jan 8 15:14:59 1997 Geoffrey Noer <noer@cygnus.com> + + * emultempl/pe.em: make default executable a.exe instead of + a.out + +Fri Jan 3 17:33:34 1997 Richard Henderson <rth@tamu.edu> + + * scripttempl/elf.sc: Move .got closer to .sdata and .sbss by + shifting .plt back. Rumour has it that the NetBSD ld.so depends + on .dynamic being after .got, so we leave that. + +Fri Jan 3 14:04:40 1997 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (clean): Don't remove configdoc.texi. + (maintainer-clean): Do remove configdoc.texi. + + * ld.texinfo (Operators): Remove '@' from @smallexmple in comment + to avoid confusing texi2roff. + +Fri Jan 3 11:27:02 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/v850.sc (.zdata): Add .zcommon section. + (.tdata): Add .tcommon and .tcommon_byte sections. + +Thu Jan 2 18:14:32 1997 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets. + * scripttempl/elfmips.sc: Use __start as the entry address for + mips*-*-linux*. + +Tue Dec 31 14:48:30 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. + + * ld.h (args_type): Add filter_shlib and auxiliary_filter_shlib + fields. + * lexsup.c (parse_args): Recognize --auxiliary/-f and + --filter/-F. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Pass filter_shlib and auxiliary_filter_shlib to + size_dynamic_sections. + * ld.texinfo, ld.1: Document --filter/-F and --auxiliary/-f. + +Mon Dec 30 13:55:57 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/v850.sc (.tdata) Add .tbss and .tbyte sections. + +Wed Dec 18 22:57:35 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Use NewFolderRecursive for installation. + +Fri Dec 13 14:08:50 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/v850.sc: Make sure __{e,g}p start relative to the + {s,t}data sections. Do not emit any linker generated symbols if + -r. Use {TEXT,{Z,S,T}DATA}_START_ADDR variables to initialize + where the different sections go. Change some whitespace. + + * emulparams/v850.sh ({TEXT,{Z,S,T}DATA}_START_ADDR): Define + appropriately. Remove crud not used anymore. + +Fri Dec 13 10:19:57 1996 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (emn10200.c): Add dependencies. + * configure.tgt: Handle mn10200. + * emulparms/mn10200.sh: New file. + +Thu Dec 12 17:04:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/gld960c.em: Include <ctype.h>. + (gld960_set_output_arch): Get the machine type from the -A option + if there is one, rather than always using core. + +Sat Dec 7 10:07:51 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/mn10300.sh: Handle leading underscores. + +Thu Dec 5 13:45:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Only + set hold_rel if SEC_ALLOC is set. + +Tue Dec 3 11:29:20 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (section_already_linked): Set the output_offset as well + as the output_section when only reading symbols from a file. + +Mon Dec 2 11:43:50 1996 Ian Lance Taylor <ian@cygnus.com> + + * emulparams/*.sh: Make sure that each set of parameters which + uses the elf.sc script sets MACHINE. + +Wed Nov 27 03:22:05 1996 Jason Merrill <jason@yorick.cygnus.com> + + * scripttempl/elf{,mips,ppc}.sc: Add the remaining DWARF sections. + * scripttempl/elfd10v.sc: Likewise. + * scripttempl/v850.sc: Likewise. + +Tue Nov 26 16:58:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure: Rebuild with autoconf 2.12. + +Mon Nov 25 12:17:55 1996 Jim Wilson <wilson@cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Add case + for bfd_vma to init loop. + +Mon Nov 25 09:55:07 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/mn10300.sh: Remove bogus '_' prefix for + entry symbol and ctor/dtor stuff. + +Fri Nov 15 13:00:18 1996 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (emn10300.c): Add dependencies. + * configure.tgt: Handle mn10300. + * emulparms/mn10300.sh: New file. + +Tue Nov 5 10:57:50 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * emulparams/d10velf.sh (READONLY_START_ADDR): Changed to 0x2000004. + (EMBEDDED): Define. + +Fri Nov 1 10:01:27 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo: Add section on reporting bugs. + + * scripttempl/m68kcoff.sc: Make sure the etext and __CTOR_LIST__ + symbols are correctly aligned. + +Thu Oct 31 09:28:59 1996 Jeffrey A Law (law@cygnus.com) + + * scriptempl/v850.sc (zdata): Handle reszdata, romzdata and + romzbss too. + +Tue Oct 29 12:33:05 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * emulparams/d10velf.sh: Changes needed for D10V-EVA board. + Set TEXT_START_ADDR to 0x1000000. Set READONLY_START_ADDR to + 0x2000000. + + * scripttempl/elfd10v.sc: Fix calculation of .text. Change + .stack to start at 0x2007ffe. + +Mon Oct 28 15:37:00 1996 Doug Evans <dje@canuck.cygnus.com> + + * configure.tgt (sparclet*-*-aout*): Delete, use sparc*-*-aout*. + +Wed Oct 23 16:17:22 1996 Jeffrey A Law (law@cygnus.com) + + * scriptempl/v850.sc (zdata): Fix typo "zrodata" -> "rozdata". + + * scriptempl/v850.sc (zdata): Make sure this stays + in lo-memory. + +Tue Oct 22 11:36:47 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/v850.sc (__ep): Put it at the start + of the tda section. + + * scriptempl/v850.sc: Move all "normal" sections into + the external memory region (0x100000 - 0x200000). + +Mon Oct 21 17:16:59 1996 Michael Meissner <meissner@wogglebug.tiac.net> + + * scripttempl/elfd10v.sc: Clone from elf.sc, move .text to + 0x10000, so that is more room for data. + + * emulparams/d10velf.sh (TEXT_START_ADDR): Now 0x100000. + (READONLY_START_ADDR): Now 0x0. + (SCRIPT_NAME): Now elfd10v. + + * Makefile.in (ed10velf.c): Depend on elfd10v.sc, not elf.sc. + +Fri Oct 18 22:12:49 1996 Doug Evans <dje@canuck.cygnus.com> + + * emulparams/m32relf.sh (TEXT_START_ADDR): Change from 0 to 0x100. + +Fri Oct 18 15:43:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (ALL_EMULATIONS): Remove eelf64alpha.o. + (ALL_64_EMULATIONS): New variable. + * configure.in: Accept --enable-64-bit-bfd option. If it is set + with --enable-targets=all, include ALL_64_EMULATIONS in + EMULATION_OFILES. + * configure: Rebuild. + +Fri Oct 18 12:58:35 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/v850.sc (__gp, __ep): Define. + +Thu Oct 17 18:14:07 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo: Try to consistently use a single or a double dash + for each option. + +Thu Oct 17 10:17:20 1996 Doug Evans <dje@canuck.cygnus.com> + + * emulparams/m32relf.sh (EMBEDDED): Define. + +Thu Oct 17 10:56:49 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/v850.sc (.zdata): Add this before .text. + (.sdata): Also include .rosdata as part of the .sdata. + (.tdata): Include this just before .sdata. + + * emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf". + * scripttempl/v850.sc: Wrap script with a "cat << EOF". + +Wed Oct 16 23:10:01 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/v850.sc: New linker script for the V850. + * Makefile.in: Use it. + +Thu Oct 10 17:57:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * emulparams/elf32b4300.sh: Define _gp in OTHER_GOT_SYMBOLS, not + OTHER_READWRITE_SECTIONS. + * emulparams/elf32l4300.sh: Likewise. + +Wed Oct 9 14:36:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (ld_config_type): Add warn_section_align field. + * lexsup.c (OPTION_WARN_SECTION_ALIGN): Define. + (ld_options): Add --warn-section-align. + (parse_args): Handle --warn-section-align. + * ldlang.c (lang_size_sections): If warn_section_align, warn if + the start of a section changes due to alignment. + * ld.texinfo, ld.1: Document --warn-section-align. + * ld.texinfo: Change some single dashes to double dashes. + + * emultempl/pe.em (set_pe_subsystem): Record entry symbol for each + subsystem type. Ifdef out os2 type. Recognize a version number. + +Tue Oct 8 12:07:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/pe.em (set_pe_subsystem): When setting the subsystem + to windows, set the entry point. + + * Makefile.in (ldlex.c): Don't pass any options to $(LEX). + +Mon Oct 7 17:29:05 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo (Options): Mention .so extensions for shared + libraries. + +Sun Oct 6 22:35:36 1996 Jason Merrill <jason@yorick.cygnus.com> + + * scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections. + +Fri Oct 4 18:49:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/m68kcoff.sc: Only set the address of .text if + RELOCATING. + +Fri Oct 4 10:59:52 1996 Doug Evans <dje@canuck.cygnus.com> + + * emulparams/sparcaout.sh ({BIG,LITTLE}_OUTPUT_FORMAT): Define. + * scripttempl/aout.sc ({BIG,LITTLE}_OUTPUT_FORMAT): Provide default. + (OUTPUT_FORMAT): Support bi-endian targets. + +Thu Oct 3 13:52:03 1996 Ian Lance Taylor <ian@cygnus.com> + + * fnmatch.h, fnmatch.c: Remove (now in libiberty). + * Makefile.in: Rebuild dependencies. + (CFILES): Remove fnmatch.c. + (HFILES): Remove fnmatch.h. + (OFILES): Remove fnmatch.o. + +Thu Oct 3 15:41:24 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (mostlyclean): Move config.log to distclean. + +Wed Oct 2 23:45:25 1996 Geoffrey Noer <noer@cygnus.com> + + * emultmpl/pe.em: increase size of stack reserve to 0x2000000 + (necessary in order to compile parse.c in gcc sources under NT) + +Wed Oct 2 14:49:10 1996 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (ld_options): Fix typo in --rpath-link description. + * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest + --rpath if a needed library is not found. + +Tue Oct 1 16:17:33 1996 Joel Sherrill <joel@oarcorp.com> + + * configure.tgt (mips*-*-rtems*): New target, like mips*-*-elf*. + +Tue Oct 1 15:50:34 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo (Options): Give more detail on -l option. + + * scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that + elf.sc does, so that glibc works better. + + * ldver.c (ld_program_version): New variable. + (ldversion): Use it. + * ldver.h (ld_program_version): Declare. + * lexsup.c (ld_options): Handle --dll-verbose like --verbose, not + --version. Change --version handling to match current GNU + standards. + (help): Print bug report address. + +Mon Sep 30 12:14:43 1996 Doug Evans <dje@canuck.cygnus.com> + + * Makefile.in (em32relf.c): Add rule for. + * configure.tgt (m32r-*-*): Recognize. + * emulparams/m32relf.sh: New file. + +Thu Sep 26 13:58:47 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit. + * mpw-config.in: Add mips-*-* case as mips-elf, and use more + wildcards in matching. + * mpw-emipself.c: New file, pregenerated mips elf emulation. + +Tue Sep 17 12:18:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldint.texinfo: Rewrote. + + * configure.tgt: Add cases for MIPS 5000 like MIPS 4300. + +Mon Sep 16 17:55:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/armcoff.sc: Only define symbols if RELOCATING. Fix + syntax error on __end__ line. + + * scripttempl/armcoff.sc: For -N or -n, don't align .data. From + Chris Hadley <Christopher.Hadley@cl.cam.ac.uk> + +Sun Sep 15 22:09:56 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS. + +Sun Sep 15 10:38:16 1996 Mark Alexander <marka@cygnus.com> + + * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put + stack at top of simulator memory. + +Fri Sep 13 15:49:45 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlex.l (SYMBOLCHARN): Add $, _, and ~. + +Wed Sep 11 23:30:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al. + +Thu Sep 5 15:24:12 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (section_already_linked): Accept a lang_input_statement + as the PTR argument. If the file is symbols only, discard all + input sections. + (ldlang_add_file): Pass entry to bfd_map_over_sections. + +Wed Sep 4 15:53:43 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (alpha-*-gnu*): New target. From Fila Kolodny + <fila@ibi.com>. + +Tue Sep 3 00:52:54 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/v850.sh: Set OTHER_RELOCATING_SECTIONS + +Sun Sep 1 21:48:58 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/v850.sh: Set EMBEDDED. + +Fri Aug 30 22:30:30 1996 Jeffrey A Law (law@cygnus.com) + + * emulparms/v850.sh: Entry symbol is "_start", tweak + ctor/dtor support. + +Fri Aug 30 18:32:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (sh-*-elf*): New target. + * emulparams/shelf.sh: New file. + * emulparams/shlelf.sh: New file. + * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o. + (eshelf.c, eshlelf.c): New targets. + * scripttempl/elf.sc: If EMBEDDED is defined, then don't add + SIZEOF_HEADERS to TEXT_START_ADDR. Expand CTOR_START and CTOR_END + around .ctors, and DTOR_START and DTOR_END around .dtors. Expand + OTHER_RELOCATING_SECTIONS if RELOCATING. + +Thu Aug 29 16:57:46 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium + pro. + +Mon Aug 26 12:58:11 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (section): Add opt_nocrossrefs; pass value to + lang_enter_overlay. + (opt_nocrossrefs): New nonterminal. + * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode. + * ldlang.c (overlay_nocrossrefs): New static variable. + (lang_enter_overlay): Add nocrossrefs parameter. + (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs + is set. Initialize overlay_nocrossrefs. + * ldlang.h (lang_enter_overlay): Update declaration. + * ld.texinfo (Overlays): Update documentation. + + * ldver.c (ldversion): Print GNU ld in the version message. + +Thu Aug 22 17:10:40 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Set HLDENV. + * configure.in: Substitute HLDENV. + * configure: Rebuild. + * Makefile.in (HLDENV): New variable. + ($(LD_PROG)): Use $(HLDENV). + +Thu Aug 22 16:29:28 1996 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (ev850.c): New target. + * configure.tgt (v850-*-*): New target. + * emulparams/v850.sh: New file. + +Thu Aug 22 11:16:02 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit. + +Wed Aug 21 11:26:37 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elf.sc: Put .gnu.linkonce* sections in appropriate + containing sections. + +Mon Aug 19 13:01:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * fnmatch.c: Include sysdep.h. + +Mon Aug 19 11:28:29 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * genscripts.sh: Undo 8/16 change. + + * emulparams/d10velf.sh (MACHINE): Explicitly set to nothing. + +Fri Aug 16 19:18:08 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * genscripts.sh: Explicitly reset any shell variables set or used + by the various .sc scripts to allow inadvertant use of these + names as normal environment variables by the person running + configure. + + * Makefile.in (ed10velf.c): Use tdir_d10v, not tdir_arcelf. + +Fri Aug 16 14:15:41 1996 James G. Smith <jsmith@cygnus.co.uk> + + * scripttempl/armcoff.sc (__bss_start__, __bss_end__, + __data_start__, __data_end__): Added to keep in sync. with the + default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support. + +Thu Aug 8 14:24:56 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldcref.c (check_reloc_refs): If info->same, look for any symbol + defined in info->defsec, not just the section symbol. + +Wed Aug 7 14:40:48 1996 Philippe De Muyter <phdm@info.ucl.ac.be> + + * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk. + * acconfig.h (NEED_DECLARATION_STRSTR): New macro. + (NEED_DECLARATION_SBRK): New macro. + * configure, config.in: Rebuild. + * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR. + * ldmain.c (sbrk): Declare if HAVE_SBRK and + NEED_DECLARATION_SBRK. + + * ldlang.c (lang_record_phdrs): Cast xmalloc and xrealloc return. + +Mon Aug 5 16:26:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlex.l: Recognize OVERLAY. + * ldgram.y: Add section_phdr field to %union. + (section): Handle phdr_opt result. Add OVERLAY case. + (opt_exp_without_type): New nonterminal. + (phdr_opt): Return list of phdrs. + (overlay_section): New nonterminal. + * ldlang.c: Include <ctype.h>. + (lang_leave_output_section_statement): Add phdrs parameter. + Change all callers. + (lang_section_in_phdr): Remove. + (overlay_vma, overlay_lmn, overlay_max): New static variables. + (struct overlay_list): Define. + (overlay_list): New static variable. + (lang_enter_overlay, lang_enter_overlay_section): New functions. + (lang_leave_overlay_section, lang_leave_overlay): New functions. + * ldlang.h (lang_leave_output_section_statement): Update + declaration for new parameter. + (lang_section_in_phdr): Don't declare. + (lang_enter_overlay, lang_enter_overlay_section): Declare. + (lang_leave_overlay_section, lang_leave_overlay): Declare. + * ld.texinfo (Overlays): New node under SECTIONS, documenting + overlays. + + * ldlex.l: Recognize MAX and MIN. + * ldgram.y (MAX, MIN): New terminals. + (exp): Recognize MAX and MIN. + * ldexp.c (fold_binary): Handle MAX and MIN. + * ld.texinfo (Arithmetic Functions): Document MAX and MIN. + + * ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header + index entries. + + * ldgram.y (SIZEOF, ADDR): Do not specify type. + + * ldcref.c (check_nocrossref): Skip symbols with no output + sections. + +Fri Aug 2 14:57:49 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (LOADADDR): New terminal. + (exp): Handle LOADADDR. + * ldlex.l: Recognize LOADADDR. + * ldexp.c (exp_print_token): Add LOADADDR. + (fold_name): Implement LOADADDR. + * ldlang.c (exp_init_os): Treat LOADADDR like ADDR. + * ld.texinfo (Arithmetic Functions): Document LOADADDR. + +Thu Aug 1 12:52:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (check_nocrossrefs): Declare. + * ldlang.h (struct lang_nocrossref): Define. + (struct lang_nocrossrefs): Define. + (nocrossref_list): Declare. + (lang_add_nocrossref): Declare. + * ldlex.l: Recognize NOCROSSREFS keyword. + * ldgram.y (%union): Add nocrossref field. + (NOCROSSREFS): New terminal. + (ifile_p1): Recognize NOCROSSREFS. + (nocrossref_list): New nonterminal. + * ldlang.c (nocrossref_list): Define. + (lang_add_nocrossref): New function. + * ldmain.c (main): If nocrossref_list is not NULL, call + check_nocrossrefs. + (warning_callback): Free symbols if there is no place to store + them. + (notice): Call add_cref if nocrossref_list is not NULL. + * ldcref.c: Include "ldexp.h" and "ldlang.h". + (check_nocrossrefs): New function. + (check_nocrossref): New static function. + (struct check_refs_info): Define. + (check_refs, check_reloc_refs): New static functions. + * Makefile.in: Rebuild dependencies. + * ld.texinfo (Option Commands): Document NOCROSSREFS. + + * ld.texinfo (Section Placement): Improve the wording of the + wildcard documentation. Mention that wildcards are only searched + for on the command line, not in the file system. + + * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move + definition of lib_path inside condition where it is used. + +Wed Jul 31 13:17:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * emulparams/d10velf.sh: Now works with elf.sc. + +Wed Jul 31 11:52:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla. + +Tue Jul 30 14:46:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_size_sections): Add the section VMA to the result + value when computing the address of a section. + + * ld.h (args_type): Add cref field. + * lexsup.c (parse_args): Set command_line.cref. + * ldmain.c (main): Check command_line.cref rather than + link_info.notice_all. + (notice): Likewise. + + * ldcref.c (output_one_cref): Don't crash if a symbol is defined + in a section without an owner. + +Mon Jul 29 17:23:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * fnmatch.h, fnmatch.c: New files. + * ldlex.l: Remove unused definition of FILENAME. Add definition + of WILDCHAR. In SCRIPT mode, accept any sequence of WILDCHAR as a + NAME. + * ldgram.y (file_NAME_list): Accept '*' and '?' specially. + (input_section_spec): Accept '?' specially. + (statement): Change exp to mustbe_exp in length and FILL cases. + (section): Call ldlex_script before section statements, and call + ldlex_popstate after them. + * ldlang.c: Include "fnmatch.h". + (wildcardp): New static function. + (wild_section): Permit the section name to be a wildcard. + (wild_file): New static function, broken out of wild. + (wild): Call wild_file. Permit the file name to be a wildcard. + (open_input_bfds): Don't call lookup_name for a wildcard pattern. + * Makefile.in: Rebuild dependencies. + (CFILES): Add fnmatch.c. + (HFILES): Add fnmatch.h. + (OFILES): Add fnmatch.o. + * ld.texinfo: Document that file and section names can now be + wildcard patterns. + + * ldlang.c (lang_place_orphans): Correct condition: place a common + section if not relocateable or if common definitions are forced. + +Wed Jul 24 12:16:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf. + +Wed Jul 24 13:38:22 1996 Michael Meissner <meissner@wogglebug.tiac.net> + + * configure.tgt (d10v-*-*): Don't require the -elf, allow plain d10v. + +Tue Jul 23 10:36:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * Makefile.in (ed10velf.c): New target. + * configure.tgt (d10v-*-elf*): New target. + * emulparams/d10velf.sh: New file. + +Thu Jul 18 16:25:39 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (sparc*-*-sysv4*): New target. From Andrew Gierth + <ANDREWG@microlise.co.uk>. + + * configure.host: Change irix5 to irix[56]*. + * configure.tgt: Likewise. + +Wed Jul 17 10:52:46 1996 Kim Knuttila <krk@cygnus.com> + + * emultempl/pe.em (sort_sections): Pay attention to return code. + + * ldmisc.c (demangle): Remove all prefix '.'s from a name. + +Mon Jul 15 11:49:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round + the value of __start_SECNAME to the alignment required by the + section to be placed. + +Tue Jul 9 12:09:02 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (mips*el-*-elf*): Use elf32elmip. + (mips*-*-elf*): Use elf32ebmip. + * emulparams/elf32bmip.sh (EMBEDDED): Don't define. + * emulparams/elf32lmip.sh (EMBEDDED): Don't define. + * emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with + EMBEDDED defined. + * emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with + EMBEDDED defined. + * emulparams/elf32b4300.sh (EMBEDDED): Define. + * emulparams/elf32l4300.sh (EMBEDDED): Define. + * Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o. + (eelf32ebmip.c, eelf32elmip.c): New targets. + +Thu Jul 4 12:01:03 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldver.c (ldversion): Set version to cygnus-2.7.1. + + * Released binutils 2.7. + + * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid + System V file name limitations. + * configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use + pc532macha rather than pc532machaout. + * Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to + epc532macha.o. + (epc532macha.c): Rename target from epc532machaout.c. + +Wed Jul 3 11:40:10 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (print_padding_statement): Use %u, not %x, to print + fill value. + +Sun Jun 30 11:16:43 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-eppcmac.c: Update to reflect May 23 change to aix.em. + +Thu Jun 27 14:03:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Put the .sa + file just before the .so file, rather than just after. + + * configure.host: Use -print-file-name=FILE rather than piping + -print-libgcc-file-name through sed. + (i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and + crtend.o files, in case gcc doesn't use them. + * Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o. + +Wed Jun 26 15:57:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (mips*-dec-osf*): New target. + +Tue Jun 25 22:15:29 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, + INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. + (docdir): Removed. + * configure.in (AC_PREREQ): autoconf 2.5 or higher. + (AC_PROG_INSTALL): Added. + * configure: Rebuilt. + +Mon Jun 24 18:48:16 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc (_GLOBAL_OFFSET_TABLE_): Don't do a + PROVIDE of _GLOBAL_OFFSET_TABLE_, since it needs to be at a + non-fixed location. + +Mon Jun 24 17:55:31 1996 Jouke Numan <jnuman@bazis.nl> + + * ldlang.h (enum section_type): Define. + (lang_output_section_statement_type): Remove loadable field. Add + sectype field. + (lang_enter_output_section_statement): Change flags parameter in + prototype to sectype. + * ldgram.y (typebits): Remove. + (sectype): New static variable. + (opt_at): Use sectype rather than typebits. + (type): Set sectype rather than typebits. + (atype): Likewise. + * ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in + EXPRESSION mode. + * ldlang.c (lang_output_section_statement_lookup): Set sectype + field rather than loadable field. + (wild_doit): Check sectype rather than loadable. + (lang_record_phdrs): Likewise. + (lang_enter_output_section_statement): Rename flags parameter to + sectype. Set sectype field rather than loadable field. Set flags + field based on sectype. + +Mon Jun 24 12:00:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elf.sc: Force .stab* and .comment sections to start + at 0. + + * configure.in: On alpha*-*-osf*, link against libbfd.a if not + using shared libraries. + * configure: Rebuild with autoconf 2.10. + +Fri Jun 21 17:40:56 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil> + + * configure.tgt: Add support for *-*-rtems* configurations. + +Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu> + + * configure.tgt (alpha-*-linuxecoff*): New target. + (alpha-*-linux*): Use elf64alpha. + * emulparams/elf64alpha.sh: New file. + * emultempl/elf32.em: If ELFSIZE is not set, set it to 32. Use + ${ELFSIZE} rather than 32 when calling BFD routines. + (hold_rodata): New static variable. + (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a + readonly section that is not code. + (gld${EMULATION_NAME}_place_section): Set hold_rodata. Don't use + a .rel section unless its bfd_section field is not NULL. + * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o. + (eelf64alpha.c): New target. + +Fri Jun 21 12:45:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldmisc.c (vfinfo): Correct handling of 0 in %W case. + +Thu Jun 20 13:55:28 1996 Ian Lance Taylor <ian@cygnus.com> + + Add enough support to understand the gcc svr3.ifile script: + * ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context. Add + BIND keyword. + * ldgram.y: Add BIND token. + (section): Recognize GROUP. + (opt_ext_with_type): Recognize a couple of cases of BIND. + * ldlang.c (init_os): Don't do anything if section is already + initialized. Call exp_init_os on addr_tree field. + (exp_init_os): New static function. + (map_input_to_output_sections): Call exp_init_os on assignment + expression. + (lang_place_orphans): Check for common sections by name COMMON + rather than by common_section field. Don't warn about absence of + [COMMON] command. + + * ldlang.h (lang_input_statement_type): Remove useless fields + common_section, common_output_section, and complained, as well as + all references to them. + + * ldexp.c: Reindent a lot of code. + (exp_fold_tree): Call FAIL rather than einfo in default case. + +Wed Jun 19 11:40:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host (m88*-*-dgux*): Quote HOSTING_CRT0. From + <randall.hron@medaphis.com>. + +Tue Jun 18 15:53:09 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * scripttempl/h8300s.sc: New file for H8/S. + * emulpararms/h8300s.sh: New file for H8/S. + * Makefile.in (ALL_EMULATIONS): Add H8/S. + (e_h8300s.c): Add dependencies. + * configure.tgt: Add H8/S to targ_extra_emuls. + +Tue Jun 18 17:55:39 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (i[345]86*-*-isc*): New target. From + <uddeborg@carmen.se>. + +Wed Jun 12 12:46:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c: Include "libiberty.h". + (parse_args): Copy the -Y argument into memory. + (set_default_dirlist): Don't put the ':' back into the directory + list. + +Fri Jun 7 11:27:42 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em: Include libiberty.h. + (gld${EMULATION_NAME}_set_symbols): New static function to add + LD_LIBRARY_PATH to the list of search directories. + (ld_${EMULATION_NAME}_emulation): Add new set_symbols routine. + +Thu Jun 6 11:50:31 1996 Ian Lance Taylor <ian@cygnus.com> + + * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16) + rather than . when computing _gp value. From Per Fogelstrom. + * emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise. + + * ldmain.c (main): Don't close and unlink the file on error, since + remove_output will do it anyhow. + * ldlang.c (open_output): Set boolean variable to true, not 1. + +Wed Jun 5 18:34:14 1996 James G. Smith <jsmith@cygnus.co.uk> + + * emulparams/{elf32b4300.sh,elf32l4300.sh} (SCRIPT_NAME): Use + elfmips instead of elf. + +Tue Jun 4 18:43:07 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldcref.c: New file. + * ld.h (add_cref, output_cref): Declare. + * ldmain.c (main): Initialize notice_all field. If it is set at + end of link, call output_cref. + (notice): Rename from notice_ysym. Check notice_all. + * ldmisc.c (finfo): Make globally visible. + * ldmisc.h (finfo): Declare. + * lexsup.c (OPTION_CREF): Define. + (ld_options): Add "cref". + (parse_args): Handle OPTION_CREF. + * Makefile.in: Rebuild dependencies. + (CFILES): Add ldcref.c. + (OFILES): Add ldcref.o. + * ld.texinfo, ld.1: Document --cref. + +Tue Jun 4 12:12:25 1996 Tom Tromey <tromey@csk3.cygnus.com> + + * Makefile.in (install): Make $(tooldir) and $(tooldir)/bin. + +Fri May 31 12:40:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/pe.em (sort_sections): Don't assume that a + wild_statement has a section name. + +Wed May 29 13:13:35 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/elfmips.sc: Quote test -z argument. + + * ld.texinfo: Clarify the CONSTRUCTORS command. + +Thu May 23 16:07:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize + file, not impfile. + +Wed May 22 11:31:30 1996 Doug Evans <dje@seba.cygnus.com> + + * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES} + if final link. + * emultempl/pe.em (sfunc): Renamed to sort_by_file_name. + (sort_by_section_name, sort_sections_1): New functions. + (sort_sections): Only sort by file name sections in .idata. + Add "Grouped Sections" support. + (gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped + Sections. + (gld${EMULATION_NAME}_place_section): Delete. + * scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$). + (.CRT,.rsrc): Rewrite to use Grouped Section support. + +Tue May 21 14:31:48 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-eppcmac.c: Update to reflect changes to aix.em. + +Sun May 19 16:59:44 1996 Doug Evans <dje@seba.cygnus.com> + + * ldlang.c (dprint_statement): Stop printing at end of list. + +Sat May 18 13:12:05 1996 Steve Chamberlain <sac@slash.cygnus.com> + + Support for --force-exe-suffix + * ld.h (args_type): Add force_exe_suffix. + * ld.texinfo: Add documentation. + * ldmain.c (main): Add support for option. + * lexsup.c (OPTION_FORCE_EXE_SUFFIX): New. + (ld_options, parse_args): Add support for option. + +Wed May 15 12:50:25 1996 Jim Wilson <wilson@chestnut.cygnus.com> + + * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call. + +Fri May 10 16:28:44 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc (__stack): Make __stack 0 if it was + referenced but not defined. + +Thu May 9 08:52:23 1996 Rob Savoye <rob@chinadoll.cygnus.com> + + * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}: + Set a new variable to signify if the final target is an embedded + system. + * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to + .text for an embedded system. + +Tue May 7 10:56:11 1996 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function. + (gld${EMULATION_NAME}_place_section): New function. + (hold_{section,use,text,rdata,data}): New static locals. + (ld_${EMULATION_NAME}_emulation): Update orphan field. + * scripttempl/pe.sc: Whitespace cleanup. Semicolon usage cleanup. + (INIT,FINI): Delete, unused. + (.text): Document orphan .text.foo sections. + (.rdata): Document orphan .rdata.foo sections. + (.data): Document orphan .data.foo sections. + +Tue May 7 11:35:46 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/h8300.sc: Place ".tiny" sections right + after ".data" sections. + * scripttempl/h8300h.sc: Place ".tiny" sections into + the "tiny" memory region, 0xff8000 through 0xffff00. + + * scripttempl/h8300.sc: Set the entry point to the value of + "_start" rather than the start of the text segment. + * scripttempl/h8300h.sc: Likewise. + + * scripttempl/h8300.sc: Place .rodata sections before .text + sections in main ram. + * scripttempl/h8300h.sc: Likewise. + +Mon May 6 23:32:30 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the + 8-bit region and 8-bit sections. + +Wed May 1 17:50:06 1996 Doug Evans <dje@canuck.cygnus.com> + + * ldlang.c (section_already_linked): Fix typos. + +Mon Apr 29 20:31:06 1996 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/pe.sc (.endjunk): Define __end__. + +Mon Apr 29 17:05:13 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (longest_section_name): Remove. + (SECTION_NAME_MAP_LENGTH): Define. + (print_size, print_alignment, print_fill, print_section): Remove. + (print_flags): Remove. + (lang_map): Rewrite. + (print_output_section_statement): Rewrite. + (print_assignment): Rewrite. + (print_one_symbol): Rewrite. + (print_input_section): Rewrite. + (print_fill_statement): Rewrite. + (print_data_statement): Rewrite. + (print_address_statement): New static function. + (print_reloc_statement): Rewrite. + (print_padding_statement): Rewrite. + (print_wild_statement): Rewrite. + (print_statement_list): Clean up. + (print_statement): Clean up. Some minor output changes. + (print_statements): Clean up. + (load_symbols): Put another - before -whole-archive. + * ldexp.c (exp_print_tree): Change etree_value and etree_rel to + print 0x and to omit leading zeroes. For etree_rel, use %B to + print the BFD. For etree_assign, remove the space after the + destination name. + * ldwrite.c: Include "libiberty.h". + (clone_section): Call xstrdup, not strdup. + (ldwrite): Don't print any map information. + (print_symbol_table, print_file_stuff, print_symbol): Remove. + * ldmain.c (main): Call lang_map when appropriate. + * ldmisc.c (vfinfo): Add support for %W. + (print_address): Remove. + * ldmisc.h (print_address): Don't declare. + * Makefile.in: Rebuild dependencies. + +Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.host (m68*-*-linux*): Add -dynamic-linker to + HOSTING_CRT0. Search -lgcc both before and after -lc in + HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory + at first. + (i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler + directory at first. + +Fri Apr 26 14:42:27 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldmisc.h (demangle): Declare. + * ldmisc.c: Include "libiberty.h". Include demangle.h with "", + not <>. + (demangle): Make non-static. Remove remove_underscore paramter. + Always return an allocated string. + (vfinfo): Free result of demangle. Add case 'G'. Use %T to print + functionname, rather than calling demangle. Print a colon between + the BFD(section+offset) and the line number. + * ldmain.c (add_archive_element): Improve format of archive + information in map file. + (constructor_callback): Don't print anything to the map file. + * ldlang.c (lang_one_common): Improve format of common symbol + information in map file. + * ldctor.c (ldctor_build_sets): If producing a map file, print set + information. + * ldwrite.c (print_symbol_table): Print a newline before the + header in the map file. + * Makefile.in: Rebuild dependencies. + + * ldmisc.c (vfinfo): Reindent. + +Mon Apr 22 12:07:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_size_sections): If _cooked_size is not 0, then + don't clobber it when not relaxing. + + * ld.h (ld_config_type): Remove traditional_format field. + * ldmain.c (main): Use link_info.traditional_format rather than + config.traditional_format. + * ldlang.c (ldlang_open_output): Likewise. + * lexsup.c (parse_args): Likewise. + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise. + * mpw-eppcmac.c (gldppcmacos_parse_args): Likewise. + + * ldlang.c (wild_doit): Discard debugging sections if we are + stripping debugging information. + + * emulparams/z8002.sh (ARCH): Set to z8002, not z8k. + +Tue Apr 16 16:38:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldexp.c (fold_binary): Correct handling of subtraction with + absolute values. + (fold_name): Permit symbols in lang_allocating_phase_enum. + + * scripttempl/aout.sc: Only PROVIDE __stack when RELOCATING. Undo + accidental changes in last patch. + +Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.tgt (powerpc*-*-{sysv,linux}): Add aliases. + (powerpcle*-*-{sysv,solaris}): Ditto. + +Mon Apr 15 14:50:56 1996 Rob Savoye <rob@chinadoll.cygnus.com> + + * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it + in m68k/crt0.S without things blowing up. + +Fri Apr 12 16:40:56 1996 Rob Savoye <rob@chinadoll.cygnus.com> + + * scripttempl/m68kcoff.sc: Remove default address for .data so + .text, .data, and .bss are all sequential. + +Thu Apr 11 12:05:35 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/m68kcoff.sc: Remove regions and simplify. + +Wed Apr 10 14:41:53 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256 + bytes of the address space. Put data from the ".eight" sections + into the 8-bit area. + * scripttempl/h8300h.sc: Likewise. + +Tue Apr 9 14:10:42 1996 Doug Evans <dje@canuck.cygnus.com> + + * emultempl/generic.em (gld${EMULATION_NAME}_before_parse): + Pass $ARCH to ldfile_set_output_arch instead of setting + ldfile_output_architecture directly. + +Tue Apr 9 14:22:15 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc (.init,.fini): Put .init, .fini section + next to .text. Put _etext after .text, .init, .fini, and + .rodata{,2} sections. + +Tue Apr 9 12:18:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo: Rearrange option documentation. + + * lexsup.c (ld_options): New static array. + (parse_args): Build shortopts and longopts from ld_options array. + (help): New static function. + * ldver.h (help): Don't declare. + * ldver.c (ldversion): Reindent. + (help): Remove. + + * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic. + +Mon Apr 8 11:56:23 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em: When checking for a native emulation, check + that the current emulation is the default emulation. + * emultempl/sunos.em: Likewise. + + * configure.in: Permit --enable-shared to specify a list of + directories. + * configure: Rebuild. + + * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic, + for HP/UX compatibility. + +Fri Apr 5 14:30:14 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New + static function, if ${host} = ${target}. + (gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a + needed shared library if ${host} = $[target}. + + * configure.host (i[345]86-*-linux*): Add -dynamic-linker to + HOSTING_CRT0. Search -lgcc both before and after -lc in + HOSTING_LIBS. + + * configure.tgt: Add i[345]86-*-freebsdelf* target; from John + Polstra <jdp@polstra.com>. + +Fri Apr 5 18:11:25 1996 James G. Smith <jsmith@cygnus.co.uk> + + * emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit + architecture number. + * scripttempl/elf.sc: Use $MACHINE definition if present. + * configure.tgt (targ_extra_emuls): Force 4100 build to use same + template as 4300. + +Mon Apr 1 17:35:40 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_size_sections): Change region check to handle + regions which end at the highest possible address correctly. + From Roland Weber <roweber@ira.uka.de>. + + * ldlang.c (section_already_linked): New static function. + (wild_doit): Discard sections with SEC_EXCLUDE set if not doing a + relocateable link. Don't worry about section being NULL, since it + never should be. Don't call init_os unless the section is going + to be added. + (ldlang_add_file): Call section_already_linked for each section. + * ldmain.c (multiple_definition): Don't warn about multiple + definitions in sections which are being discarded. + +Sun Mar 31 00:30:47 1996 steve chamberlain <sac@slash.cygnus.com> + + * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/. + * emultempl/pe.em (init): Remove special case PPC code. + +Fri Mar 29 00:01:29 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long + so as not to overwrite the magic syscall entry at 0xc4. + * scripttempl/h8300h.sc: Likewise. + +Thu Mar 28 11:05:47 1996 Doug Evans <dje@canuck.cygnus.com> + + * configure.tgt (sparc64-*-solaris2*): Delete. + Stick with sparc-*-solaris2*. + +Wed Mar 27 12:33:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/". + * ldlang.c (init_os): Fail on an attempt to initialize any section + named DISCARD_SECTION_NAME. + (wild_doit): Discard input sections assigned to an output section + named DISCARD_SECTION_NAME. + * ld.texinfo: Document use of /DISCARD/. + + * ldlang.c: Fix some indentation and comments. + +Tue Mar 26 18:14:49 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Call bfd_set_error_program_name. + +Thu Mar 21 13:17:34 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo: Fix a couple of indexing entries. Mention that + --verbose displays builtin linker scripts. + + * ldmisc.c (vfinfo): case 'I': If the file is not in an archive, + and the local symbol name does not match the filename, print the + filename as well. + + Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF: + * lexsup.c (parse_args): -Bshareable is a synonym for -shared. + * emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same + as TEXT_START_ADDR. + +Wed Mar 20 18:18:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * ld.texinfo: Fix typos. Use @pxref only inside parentheses. + +Wed Mar 20 16:56:15 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (add_wrap): New function. + * ldmain.h (add_wrap): Declare. + * lexsup.c (parse_args): Call add_wrap. + +Tue Mar 19 16:44:20 1996 Doug Evans <dje@canuck.cygnus.com> + + * configure.host (sparc*-*-solaris2* host): Accept any sparc variant. + +Wed Mar 13 17:47:31 1996 Jeffrey A Law (law@cygnus.com) + + * scripttempl/h8300.sc: Change name of page zero memory + from "null" to "vectors". Create an output section for + vectors. Add comments on how to explicitly place items + in the vector table. + * scripttempl/h8300h.sc: Likewise. + +Wed Mar 13 12:40:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/lnk960.em (machine_table): Add jx and hx. + + * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't + support it. + +Tue Mar 12 12:43:59 1996 David Mosberger-Tang <davidm@koala.azstarnet.com> + + * ld.h (ld_config_type): Add warn_multiple_gp field. + * lexsup.c (parse_args): Handle --warn-multiple-gp. + * ldmain.c (warning_callback): Suppress multiple gp values warning + if --warn_multiple_gp was not used. + * ld.texinfo, ld.1: Document --warn-multiple-gp. + +Tue Mar 12 12:02:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Handle --wrap. + * ldmain.c (main): Initialize link_info.wrap_hash. + * ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED + and NAME cases. + * ld.texinfo, ld.1: Document --wrap. + + * configure: Rebuild with autoconf 2.8. + + Don't do SunOS style dynamic linking for sparc-aout: + * configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4. + (sparclite*-fujitsu-*, sparc*-*-aout): Likewise. + (sparc*-wrs-vxworks*): Likewise. + * emulparams/sparcaout.sh: New file. + * Makefile.in (ALL_EMULATIONS): Add esparcaout.o. + (esparcaout.c): New target. + +Wed Mar 6 16:06:52 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change + in a different manner to work around differences in shell variable + expansion. + +Wed Mar 6 18:08:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldemul.h (ldemul_unrecognized_file): Declare. + (ldemulation_xfer_type): Add unrecognized_file field. + * ldemul.c (ldemul_unrecognized_file): New function. + * ldlang.c (load_symbols): If a file can not be recognized, call + ldemul_unrecognized_file before trying it as a linker script. + * aix.em (gld${EMULATION_NAME}_unrecognized_file): New static + function. + (gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r". + (ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file. + +Mon Mar 4 14:11:17 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (wild): Handle foo.a(.text) by mapping each included + member of foo.a separately. From Jouke Numan <jnuman@bazis.nl>. + +Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): + Search trinary.cond rather than searching trinary.lhs twice. + +Tue Feb 27 15:08:43 1996 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-make.sed: Edit out shared library support. + (@TDIRS@): Edit out, can't use genscripts. + +Tue Feb 27 15:09:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets. + * emulparams/m68klinux.sh: New file. + * emultempl/linux.em (gld${EMULATION_NAME}_before_allocation): + Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of + bfd_linux_size_dynamic_sections. + * Makefile.in (ALL_EMULATIONS): Add em68klinux.o. + (em68klinux.c): New target. + * configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts. + +Tue Feb 27 12:55:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (ALL_EMULATIONS): Sort into alphabetical order. + Fill in missing entries. + + * lexsup.c (parse_args): Recognize --no-whole-archive. + * ldlang.h (lang_input_statement_type): Add whole_archive field. + * ldlang.c (new_afile): Set whole_archive field. + (load_symbols): Check input file specific whole_archive field + rather than global variable. + * ld.texinfo, ld.1: Document --no-whole-archive. + +Tue Feb 20 16:07:00 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt: Correct gldi960 to gld960. + +Mon Feb 19 11:16:44 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check + the SONAME if it is available. + (gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the + filename, when checking for conflicting library versions. Don't + assume that the suffix is only numbers and dots. + + * ld.texinfo: Mention that -R can be used for -rpath. + +Sun Feb 18 15:05:17 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Check for 'do not mix' from native linker before + trying to use -rpath. + +Thu Feb 15 13:58:06 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Remove explicit substitution of CFLAGS; autoconf + does it anyhow. + * configure: Rebuild. + * Makefile.in (LDFLAGS): Set to @LDFLAGS@. + + * configure.in: Call AC_PROG_CC before configure.host. + * configure: Rebuild. + * configure.host: Remove go32 host, since it should no longer be + necessary. Don't set CC for romp host. + + * scripttempl/elf.sc: Don't skip a page in virtual memory space if + the text segment ends exactly on a page boundary. + + * configure.in: Substitute RPATH_ENVVAR. + * configure: Rebuild. + * configure.host: Set RPATH_ENVVAR. + * Makefile.in (RPATH_ENVVAR): New variable. + (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH. + +Wed Feb 14 18:49:01 1996 Alan Modra <alan@spri.levels.unisa.edu.au> + + * configure.in: Redo emulation handling so that each emulation + searches the correct tool directory, based on the target alias. + For example, "configure --enable-targets=m68k-coff i386-linux" + will search /usr/local/i386-linux/lib for linux and + /usr/local/m68k-coff/lib for m68k-coff. + * configure: Rebuild. + * configure.tgt: Add special tdir settings for Linux. + * Makefile.in: Add @TDIRS@. Pass "$(tdir_EMUL)" to ${GENSCRIPTS} + for each eEMUL.c target. + * genscripts.sh: Accept specific alias as 9th argument, and use it + in LIB_PATH. + +Wed Feb 14 16:38:36 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> + + * ldlang.c (lang_set_startof): Don't do anything for a + relocateable link. + + * ldgram.y (mri_script_file): Call mri_draw_tree. + * mri.c (mri_draw_tree): Make globally visible. Don't bother to + create memory regions. + (mri_load): Don't call mri_draw_tree. + * mri.h (mri_draw_tree): Declare. + + * configure.tgt (m68*-*-psos): New target. + * emulparams/m68kpsos.sh: New file. + * scripttempl/psos.sc: New file. + * Makefile.in (ALL_EMULATIONS): Add em68kpsos.o. + (em68kpsos.c): New target. + +Wed Feb 14 11:09:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.tgt (*-*-ieee*): New target; use vanilla. + + * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip + `:foo' from ${ARCH}. + +Tue Feb 13 15:58:58 1996 Bryan Ford <baford@snake.cs.utah.edu> + + * scripttempl/i386msdos.sc: Don't pad the .text section. Put + .rodata in .data. + +Tue Feb 13 14:04:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. + + * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if + it looks like we might be linking in two different versions of the + same shared library. Based on a patch from H J Lu <hjl@zoom.com>. + +Thu Feb 8 19:25:54 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_size_sections): Increment the section size when a + padding statement is encountered. + +Wed Feb 7 14:01:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Look for --enable-shared. Change the value of + BFDLIB when linking against a shared library on SunOS. + * configure: Rebuild. + * configure.host: If using a shared BFD library, try to pass a + reasonable -rpath option when linking. + * Makefile.in (BFDLIB): Set to @BFDLIB@. + +Tue Feb 6 12:29:14 1996 Doug Evans <dje@charmed.cygnus.com> + + * emulparams/elf64_sparc.sh (ARCH): Change to `sparc:v9'. + * emultempl/generic.em: Strip `:foo' from ${ARCH}. + +Mon Feb 5 16:25:30 1996 Ian Lance Taylor <ian@cygnus.com> + + Support for building bfd and opcodes as shared libraries, based on + patches from Alan Modra <alan@spri.levels.unisa.edu.au>: + * configure.in (HLDFLAGS): New substitution. + * configure: Rebuild. + * configure.host: Set HLDFLAGS on SunOS. + * Makefile.in (HLDFLAGS): New variable. + (BFDDEP): New variable. + (BFDLIB): Change to -L../bfd -lbfd. + ($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB). Use + $(HLDFLAGS) in link. + (check): Set LD_LIBRARY_PATH in the environment. + +Fri Feb 2 19:26:25 1996 Michael Meissner <meissner@wogglebug.tiac.net> + + * scripttempl/elfppc.sc (.sdata2, .sbss2): Put .sdata2 and .sbss + in the read-only section, not read/write unless we are making a + shared library. + (.debug*): Add dwarf debug sections. + (.rela.{sdata*,sbss*}): Add sections. + +Fri Feb 2 16:50:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure: Regenerate. + +Thu Feb 1 10:50:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000, + for SVR4 compatibility. + + * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE. + +Wed Jan 31 17:30:19 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New. + * emultempl/pe.em (definfo init): Make the default stack reserve + of a PPC larger. + +Wed Jan 31 14:34:23 1996 Richard Henderson <rth@tamu.edu> + + * configure.tgt (m68*-apple-aux*): New target. + * emulparams/m68kaux.sh: New file. + * scripttempl/m68kaux.sc: New file. + * Makefile.in (ALL_EMULATIONS): Add em68kaux.o. + (em68kaux.c): New target. + +Tue Jan 30 13:18:56 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore + -bnoentry, since the right thing tends to happen anyhow. + +Mon Jan 29 12:29:26 1996 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo, ld.1: Document -export-dynamic. + +Fri Jan 26 11:11:55 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * emultempl/sunos.em: Check for native compile by comparing + ${target} and ${host}. + +Thu Jan 25 16:46:58 1996 James G. Smith <jsmith@cygnus.co.uk> + + * emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed + TEXT_START_ADDR to allow use on IDT and PMON systems. + +Wed Jan 24 20:59:40 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): + correct spelling. + +Wed Jan 24 16:59:19 1996 Doug Evans <dje@charmed.cygnus.com> + + * configure.tgt (sparc64-*-solaris2*): New configuration. + (sparc64-*-aout*): Renamed from sparc64*. + +Mon Jan 22 13:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@. + * genscripts.sh: Set host, target and target_alias variables. + Check for native compile by comparing ${target} and ${host}. + * emultempl/elf32.em: Likewise. + * scripttempl/elfmips.sc: Test ${target}, not ${target_alias}. + +Mon Jan 22 11:03:23 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc: Refine eabi support to better support + .sdata, .sdata2, .sbss, etc. sections. + +Tue Jan 16 15:16:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (%union): Add phdr field. + (phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at. + (phdr_qualifiers): New nonterminal. Add support for FLAGS. + (opt_hdrs, hdr): Remove. + (phdr_val): New nonterminal. + * ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr + and phdrs parameters. Add flags parameter. + (lang_record_phdrs): Update for changes to lang_phdr. Pass flags + to bfd_record_phdr. + * ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and + phdrs fields. Add flags field. + (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove. + (lang_new_phdr): Update declaration. + * ld.texinfo: Document FLAGS. + +Mon Jan 15 15:07:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): + Don't make a shared library because of an undefined reference to + __GLOBAL_OFFSET_TABLE_. + + Add some Irix 5 support, mostly from Kazumoto Kojima + <kkojima@info.kanagawa-u.ac.jp>: + * emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips. + (SHLIB_TEXT_START_ADDR): Define. + (OTHER_GOT_SYMBOLS): Define. + (OTHER_READWRITE_SECTIONS): Remove initialization of _gp. + (EXECUTABLE_SYMBOLS): Don't define. + (DYNAMIC_LINK): Don't define. + * emulparams/elf32lmip.sh: Same changes as elf32bmip.sh. + * scripttempl/elfmips.sc: New file. + * configure.host (mips*-dec-bsd*): Change mips to mips*. + (mips*-sgi-irix4*): Likewise. + (mips*-sgi-irix5*): New entry. + * Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than + elf.sc. + (eelf32lmip.c): Likewise. + +Sat Jan 13 09:41:43 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc: Remove support for .rel.* sections. Add + .rela.got.neg section. + +Fri Jan 12 14:56:19 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/sh.sc: Only build constructors when CONSTRUCTING. + + * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if + ANSI_PROTOTYPES is defined. Remove special handling of + WINDOWS_NT. Various indendation fixes. + (vfinfo): Change fmt parameter to const char *. + (info_msg): Write <stdarg.h> version. + (einfo, minfo, finfo): Likewise. + (info_assert): Change file parameter to const char *. + * ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is + defined, use a real prototype. + (info_assert): Change first parameter to be const char *. + +Fri Jan 12 13:29:55 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc: Add support for .sdata2/.sbss2, etc. Add + in old support that 2.7.2 needs, but the current compiler does + not. + + * Makefile.in (eelf32{,l}ppc.c): Fix up dependencies to use the + correct Linker script template. + + * emulparams/elf32{,l}ppc.sh (TEXT_START_ADDR): Set to 0x40000, + not 0x400000. + (DATA_ADDR,NONPAGED_TEXT_START_ADDR): Delete. + +Tue Jan 9 15:53:02 1996 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/alpha.sc: Put .rconst right after .rdata. + +Fri Jan 5 14:07:45 1996 Steve Chamberlain <sac@slash.cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): + sort using right pointer. + +Fri Jan 5 12:25:47 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc: Remove support for creating special + labels for eabi section begin/end here. The compiler now uses + crt{i,n}.o to create these symbols. + +Thu Jan 4 17:08:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * configure.host: Change existing Linux HOSTING_CRT0 to be used + for a.out only, and put in appropriate HOSTING_CRT0 and + HOSTING_LIBS values for Linux ELF. + +Thu Jan 4 12:02:05 1996 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/h8300.sc: Use all 64K for ram. + * scripttempl/h8300h.sc: Define 256K ram size. + +Thu Dec 21 15:57:18 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Pass + export_defines as true to bfd_xcoff_size_dynamic_sections if -unix + was used, regardless of whether -bE was used. + +Tue Dec 19 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set + relocateable before calling ldctor_build_sets if the output file + is in an XCOFF format. + +Fri Dec 15 16:34:36 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldwrite.c (build_link_order): When handling a data statement, if + the endianness of the output file is unknown, use the endianness + of the input file. + +Tue Dec 12 13:55:41 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: Recognize mips-*-* as equivalent to + mips-idt-ecoff. + * mpw-eppcmacos.c: Rename to shorter mpw-eppcmac.c. + * mpw-ld.r: Add version resources. + (cfrg): Use symbolic instead of literal name for executable. + +Mon Dec 11 15:13:41 1995 Kim Knuttila <krk@cygnus.com> + + * scripttempl/ppcpe.sc (FINI): Moved the .reloc section. + +Wed Dec 6 14:33:50 1995 Doug Evans <dje@canuck.cygnus.com> + + * ldlang.c (print_statement{,s}): Delete duplicate prototype. + (print_statement_list): Renamed from print_statement. All callers + updated. + (print_statement): New function to print just one statement. + (print_{data,reloc,padding}_statement): Don't crash if + output_section == NULL. + (dprint_statement): New function. + + * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix + call to sort_sections. + +Wed Dec 6 14:59:06 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (unix_ld): New static variable. + (gld${EMULATION_NAME}_parse_args): Handle -unix. + (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass + gc as false and export_defineds as true to size_dynamic_sections. + + * ldexp.c (exp_fold_tree): Permit assignments to dot in the final + phase if the current section is abs_output_section. + + +Tue Dec 5 09:49:39 1995 Doug Evans <dje@canuck.cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix call + to sort_sections. + +Fri Dec 1 16:48:36 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (PHDRS): New token. + (ifile_p1): Accept phdrs. + (section): Accept phdr_opt at the end of the section definition. + (phdr_op): New nonterminal. + (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise. + * ldlex.l: Accept PHDRS. + * ldlang.h (struct lang_output_section_phdr_list): Define. + (lang_output_section_statement_type): Add phdrs field. + (struct lang_phdr): Define. + (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define. + (lang_new_phdr): Declare. + * ldlang.c (lang_phdr_list): New static variable. + (lang_output_section_statement_lookup): Initialize phdrs field. + (lang_process): Call lang_record_phdrs. + (lang_new_phdr): New function. + (lang_section_in_phdr): New function. + (lang_record_phdrs): New static function. + * ld.texinfo: Document PHDRS. + +Thu Nov 30 13:14:30 1995 Kim Knuttila <krk@cygnus.com> + + * scripttempl/ppcpe.sc: Moved .edata into its own section to + expose it. + +Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and + HOSTING_LIBS for testing. + (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for + testing. + +Tue Nov 28 12:14:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Set config.dynamic_link to false for -N + and -n. + +Mon Nov 27 13:12:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure: Rebuild with autoconf 2.7. + +Fri Nov 24 18:35:35 1995 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/pe.sc: Two .junk's is too much junk. + +Tue Nov 21 16:14:32 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Use BFD_NEED_DECLARATION. + * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section. + * configure, config.in: Rebuild with autoconf 2.6. + + * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR + being unsupported if this is not a relocateable link and the input + BFD supports it, since ldctor_build_sets can cope with that case. + +Fri Nov 17 16:23:15 1995 Stan Shebs <shebs@andros.cygnus.com> + + * configure.tgt (powerpc-*-macos*): New target. + * emulparams/ppcmacos.sh: New file, PowerMac emulation. + * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o. + (eppcmacos.c): New target. + * mpw-eppcmacos.c: Update. + * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}. + +Fri Nov 17 10:37:27 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not + $(host_canonical) and $(target_canonical). + (CXX_FOR_TARGET): Likewise. + +Thu Nov 16 11:23:42 1995 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/pe.sc (.endjunk): Move definition of `end' to here + so the malloc heap begins at a sane place. + +Thu Nov 16 03:09:32 1995 Ken Raeburn <raeburn@cygnus.com> + + Version 2.6 released. + * ldver.c (ldversion): Update to 2.6. + + * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not + $(GENERATED_*FILES), since they need to be retained by distclean. + (maintainer-clean, realclean): Delete them here. + +Tue Nov 14 17:08:06 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the + base file with FOPEN_WB, not "w". + + * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the + environment variable LD_RUN_PATH if neither -rpath nor -rpath-link + were used. + (gld${EMULATION_NAME}_before_allocation): Use the environment + variable LD_RUN_PATH if -rpath was not used. + * ld.texinfo, ld.1: Document LD_RUN_PATH. + +Thu Nov 9 13:09:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize + -bl and -bloadmap options. + + * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target, + report a better error. + + * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add + new local variable special_sections, and pass it to + size_dynamic_sections. Look through the results, and move the + sections around in the mapping so that they are defined correctly. + +Wed Nov 8 11:40:59 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldemul.c (ldemul_default_target): Cast getenv return value. + +Tue Nov 7 11:15:36 1995 Kim Knuttila <krk@cygnus.com> + + * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable + Executable support. + * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable + support. + + * configure.tgt (targ_extra_emuls): Added powerpcle-pe target. + * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target. + + * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro + (gld_$_before_allocation): added hooks for toc construction based + on the above macro. + +Tue Nov 7 11:47:23 1995 Ian Lance Taylor <ian@cygnus.com> + + * ld.texinfo: The linker does not use _main as an entry point. + +Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo + 0x2000 not 0x200. + +Mon Nov 6 10:59:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Add test for whether free must be declared. + * sysdep.h: Declare free if necessary. Include "ansidecl.h". + * acconfig.h: Explain NEED_DECLARATION_FREE. + * configure, config.in: Rebuild. + + * lexsup.c (parse_args): Take B:: out of shortopts. + +Sun Nov 5 03:08:28 1995 Ken Raeburn <raeburn@cygnus.com> + + * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0 + for now, as with m68k4kbsd, until shared library support gets + done. + + * configure.host: For i386 BSD variants, crt0.o lives in + /usr/lib. (True for NetBSD at least, unconfirmed for others.) + +Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> + + * Makefile.in (ALL_EMULATIONS): Add edelta68.o. + (edelta68.c): New target. + * configure.tgt (m68*-motorola-sysv*): New target. + * emulparams/delta68.sh: New file. + * scripttempl/delta68.sc: New file. + + * scripttempl/m88kbcs.sc: Handle .init and .fini. Change section + addresses. + +Wed Nov 1 11:41:56 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (mri_script_command): Accept ',' as well as '=' in + ALIGN and ALIGNMOD statements. + + * emultempl/aix.em: Include ldgram.h. + (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on + AIX 4.1. + * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h. + +Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com> + + * configure.host (alpha-*-linux*): New host. + * configure.tgt (alpha-*-linux*): New target. + +Tue Oct 31 12:36:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (export_files): Remove. + (import_files): Make static. + (struct export_symbol_list): Define. + (export_symbols): New static variable. + (gld${EMULATION_NAME}_parse_args): Handle an initial -b option + correctly. Call read_file for an export file. + (gld${EMULATION_NAME}_before_allocation): Call + bfd_xcoff_export_symbol for each export symbol, rather than + calling read_file for each export file. + (gld${EMULATION_NAME}_read_file): For an export file, make the + exported symbols undefined, and store them on the export_symbols + list. + +Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): + Don't hang if last option is unrecognised. + (gld_${EMULATION_NAME}_set_symbols): Insert created + symbols into ABS output section. + +Fri Oct 27 18:03:17 1995 Niklas Hallqvist <niklas@appli.se> + + * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD + m68k4k arch. + (em68k4knbsd.c): New rule. + + * configure.tgt: Added support for the NetBSD m68k4k arch. + + * genscripts.sh, ldint.texinfo, + emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960, + gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s, + hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32, + i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx, + m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd, + pc532machaout,riscix,sa29200,sh,shl,sparclynx,sparcnbsd, + st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed + PAGE_SIZE to TARGET_PAGE_SIZE. + + * emulparams/m68knbsd.h: Ditto. + (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize. + (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time + being. + + * emulparams/m68k4knbsd.sh: New file. + + * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating. + +Fri Oct 27 17:59:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em: Include ldctor.h. + (gld${EMULATION_NAME}_after_open): New static function. + (gld${EMULATION_NAME}_before_allocation): Call find_relocs. + (gld${EMULATION_NAME}_find_relocs): New static function. + (gld${EMULATION_NAME}_find_exp_assignment): New static function. + (ld_${EMULATION_NAME}_emulation): Use new after_open function. + * scripttempl/aix.sc: Use CONSTRUCTORS in .data. + * ldctor.c (struct set_info): Move definition into ldctor.h. + (struct set_element): Likewise. + (sets): Make non-static. + (ldctor_add_set_entry): Add name parameter. Save it in the new + set element. + (ldctor_build_sets): Avoid being called twice. Pass set element + name to lang_add_reloc. + * ldctor.h (struct set_info): Move definition here from ldctor.c. + (struct set_element): Likewise. Add new field name. + (sets): Declare. + (ldctor_add_set_entry): Declare new name parameter. + * ldwrite.c (build_link_order): Don't insist that either name or + section be NULL in a lang_reloc_statement. + * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for + new name parameter. + (constructor_callback): Pass name to ldctor_add_new_set_entry for + new name parameter. + + * ldmisc.c (demangle): Fix indentation. Remove a leading period. + +Thu Oct 26 22:22:49 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-config.in: Add PowerMac target support, generate config.h. + * mac-ld.r: New file, Mac resources. + * mpw-make.sed: New file, edits Makefile.in into MPW syntax. + * mpw-make.in: Remove. + * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script. + +Thu Oct 26 14:11:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat + -static as a synonym for -bnso. + + * scripttempl/aix.sc: Move special symbols inside sections. + Always start .data at 0. + +Wed Oct 25 11:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com> + + * Makefile.in (diststuff): Also make info. + (maintainer-clean realclean): Also delete *.info*. + +Wed Oct 25 11:27:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/aix.em: Add support for various AIX linker options, + for AIX import and export files, and for AIX shared objects. + * scripttempl/aix.sc: Add .pad. Put .ds just before the TOC. + + * ldmain.c (main): Initialize new field link_info.static_link. + + * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls. + (constructor_callback): Likewise. + * ldmisc.c (vfinfo): Likewise. + * ldwrite.c (build_link_order): Likewise. + + * ld.texinfo: The MRI ALIGN directive is supported. + +Mon Oct 23 11:46:43 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> + + * emulparams/elf32vr4300.sh: Deleted. + * emulparams/elf32vr4300el.sh: Deleted. + * emulparams/elf32b4300.sh: Added. + * emulparams/elf32l4300.sh: Added. + * configure.tgt, Makefile.in: Updated the build to use the + new 8.3 unique names. + +Thu Oct 19 17:41:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (entry_symbol): Make non-static. + * ldlang.h (entry_symbol): Declare. + + * ldlex.l: Treat PROVIDE as a keyword in expression state. + +Wed Oct 18 17:34:06 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttempl/pe.sc (.bss): Move to be after .text + +Tue Oct 17 12:22:05 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment): + Search trinary.cond rather than searching trinary.lhs twice. From + linli@ihp.PHys.ethz.CH. + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move + directory searching code into gld${EMULATION_NAME}_search_dir. + (gld${EMULATION_NAME}_search_dir): New static function, extracted + from gld${EMULATION_NAME}_find_so. + (global_needed, global_found): New static variables. + (gld${EMULATION_NAME}_after_open): New static function. + (gld${EMULATION_NAME}_search_needed): New static function. + (gld${EMULATION_NAME}_try_needed): New static function. + (gld${EMULATION_NAME}_check_needed): New static function. + (ld_${EMULATION_NAME}_emulation): Use new after_open function. + * ld.texinfo, ld.1: Mention -rpath-link on SunOS. + + * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em. + (eelf32lppc.c): Likewise. + * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32. + (GENERATE_SHLIB_SCRIPT): Define as yes. + +Mon Oct 16 19:11:13 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named + bfd_link_needed-list; make appropriate changes. + + * configure.tgt (powerpc-*-aix*): New target; use aixppc. + (rs6000-*-aix*): New target; use aixrs6. + * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files. + * emultempl/aix.em: New file. + * scripttempl/aix.sc: New file. + * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o. + (eaixppc.c, eaixrs6.c): New targets. + +Fri Oct 13 14:00:37 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttemp/pe.sc (.reloc): Move to the end. + +Tue Oct 10 17:53:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_finish): Don't try to use an entry_symbol from a + section which was not linked into the final output. + +Tue Oct 10 10:17:22 1995 steve chamberlain <sac@slash.cygnus.com> + + * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix + fatal typos. + +Tue Oct 10 01:01:51 1995 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (args_type): Add rpath_link field. + * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for + required dependencies in rpath_link path. Only search + LD_LIBRARY_PATH when configured native. + * lexsup.c (parse_args): Recognize -rpath-link. + * ld.1, ld.texinfo: Document -rpath-link. + +Sat Oct 7 17:07:17 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't + bother searching for needed libraries unless doing a final link. + +Fri Oct 6 16:26:16 1995 Ken Raeburn <raeburn@cygnus.com> + + Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * ld/ld.1: Fix formatting bugs. + +Wed Oct 4 17:37:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldexp.c (exp_get_abs_int): Return bfd_vma, not int. + * ldexp.h (exp_get_abs_int): Update declaration. + * ldlang.c (print_output_section_statement): Use fprintf_vma to + print return value of exp_get_abs_int. + +Mon Oct 2 13:56:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (global_stat): New file static variable. + (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure + that the file has not already been included under another name. + (gld${EMULATION_NAME}_stat_needed): New static function. + +Fri Sep 29 12:00:18 1995 Doug Evans <dje@deneb.cygnus.com> + + * scripttempl/armcoff.sc: Start .text at 0x8000. + Start .data at 0x40000. + +Fri Sep 29 11:09:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If + command_line.rpath is set, use it, rather than the -L options, to + build the rules section. + * ld.texinfo: Document this use of -rpath. + + * lexsup.c (parse_args): Don't set link_info.shared for -assert + pure-text. Pass true, not 1, to lang_add_entry. + * emultempl/sunos.em (find_assign): New static variable. + (found_assign): New static variable. + (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn. + If not a relocateable link, and no start symbol was specified on + the command line, and there are any undefined symbols, set + link_info.shared. If link_info.shared is set, set the address of + the .text section to 0x20. + (gld${EMULATION_NAME}_find_assignment): Rename from + gld${EMULATION_NAME}_find_statement_assignment. If find_assign is + set, then just set found_assign based on whether an assignment is + found to find_assign. + (gld${EMULATION_NAME}_get_script): Don't use a special script when + producing a shared library. + * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove. + * scripttempl/aout.sc: Remove CREATE_SHLIB tests. + * ldlang.c (entry_from_cmdline): New global variable. + (lang_add_entry): Change cmdline parameter from int to boolean. + Use global entry_from_cmdline rather than function static + from_cmdline. + * ldlang.h (entry_from_cmdline): Declare. + (lang_add_entry): Change declaration of second parameter from int + to boolean. + * ldgram.y: Pass false, not 0, to lang_add_entry. + +Thu Sep 28 12:34:13 1995 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (parsing_defsym): Declare. + * ldlex.h (lex_string): Declare. + * ldlex.l (lex_string): Define. + * lexsup.c (parsing_defsym): Define. + (parse_args): In OPTION_DEFSYM case, set lex_string before calling + lex_redirect, and clear it after calling yyparse. Set + parsing_defsym around call to yyparse. + * ldmain.c (main): Set lex_string before calling lex_redirect, and + clear it after calling yyparse. + * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built + in linker scripts correctly. + + * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other + COFF targets, allowing for the leading underscore used on SPARC + COFF. + + * lexsup.c (parse_args): Handle -assert. + * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define. + * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the + shared library script when appropriate. + * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text + section at SIZEOF_HEADERS. + +Thu Sep 28 01:40:37 1995 Doug Evans <dje@deneb.cygnus.com> + + * Makefile.in (earmcoff.c): Build. + * configure.tgt (arm-*-coff): New target + * emulparms/armcoff.sh: New file. + * scripttempl/armcoff.sc: New file. + +Tue Sep 26 10:59:32 1995 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/i386coff.sc: Remove .data2; no longer needed. + +Fri Sep 22 18:09:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldfile.c (ldfile_set_output_arch): Make arch const. + +Thu Sep 21 17:55:24 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc: Correctly locate __bss_start at the + beginning of the .bss area, not at the end of data. Add + __sbss_{start,end} symbols. + +Wed Sep 20 12:29:36 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name). + (CXX_FOR_TARGET, install): Likewise. + +Mon Sep 18 14:53:22 1995 Ian Lance Taylor <ian@cygnus.com> + + Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>: + * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff. + (CXX_FOR_TARGET): Likewise. + (install): Likewise. + (GENERATED_HFILES): Remove config.h. + (.dep): Depend upon config.h. + +Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no> + + * configure.tgt (mips*-dec-netbsd*): New target. + +Fri Sep 15 20:01:52 1995 Ken Raeburn <raeburn@cygnus.com> + + * configure.host (m88*-*-dgux*): Fix another shell syntax error. + +Fri Sep 15 23:28:05 1995 Andrew Cagney <cagney@highland.com.au> + + * configure.host (i[345]86-*-bsd*): Fix shell syntax error. + +Thu Sep 12 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttemp/pe.sc: Allow both spellings of .ctors/.dtors. + Start .text section on the right boundary. Always align + stabs. + +Tue Sep 12 12:24:17 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (maintainer-clean): New target. + + * ldmain.c (struct warning_callback_info): Define. + (warning_callback): Add new parameter symbol. Call + warning_find_reloc to try to find the section and VMA. + (warning_find_reloc): New static function. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Pass NULL as symbol parameter to warning callback. + + * ld.texinfo: Clarify -L option. + + * ldlang.c (lang_one_common): Add cast to avoid warning. + (topower): Likewise. Also, reindent. + * ldwrite.c (clone_section): Change i to unsigned int. + * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add + cast to avoid warning. + +Fri Sep 8 16:32:43 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (config.status): Depend upon configure.tgt. + + * ldemul.h (ldemul_set_symbols): Declare. + (ldemul_parse_args): Declare. + * ldemul.c (ldemul_parse_args): Fix indentation. + + * configure.in: Call AC_HEADER_DIRENT. + * configure, config.in: Rebuild. + * emultempl/sunos.em: Use autoconf recommend mechanism to define + DIR and struct dirent. + + * configure.tgt (mips*-*-bsd*): New case. + + * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*) + New case. + * configure.tgt (i[345]86-*-ptx*): New case. + +Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com> + + * config.in: Rename from config.h.in. + * configure.in: Call AC_CONFIG_HEADER with config.h:config.in. + Check for config.h:config.in when creating stamp-h. + * configure: Rebuild. + * Makefile.in (stamp-h): Depend upon config.in rather than + config.h.in. Set CONFIG_HEADERS to config.h:config.in when + calling config.status. + + * Makefile.in (distclean): Remove config.h and stamp-h. + + * configure.host (sparc-*-sunos64*): Remove. + * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT. + + * ldexp.c (exp_fold_tree): Don't warn about moving the location + counter backward in the absolute section. + +Wed Sep 6 14:42:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Rewrite to use autoconf. + * configure.host: New file. + * configure.tgt: New file. + * aclocal.m4: New file. + * configure: New file, built by autoconf. + * acconfig.h: New file. + * config.h.in: New file, built by autoheader. + * sysdep.h: New file. + * ld.h: Incorporate old contents of config.h. + * config.h: Remove. + * Makefile.in: Various changes for new configure script. Also: + (CC_FOR_BUILD): Remove. + (ldmain.o): Don't bother to ensure that EMUL is non-empty. + (dep.sed): Use @SRCDIR@, not @srcdir@. + * dep-in.sed: Use @SRCDIR@, not @srcdir@. + * genscripts.sh: Create ldscripts if it does not exist. + * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h". + * mpw-esh.c, emultemp/*.em: Likewise. + * ldmain.c: Likewise. Include <ctype.h>. Don't try to set + HAVE_SBRK here. + * config/*.mt, config/*.mh: Remove. + +Tue Sep 5 14:55:24 1995 Ken Raeburn <raeburn@cygnus.com> + + * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and + ns32k-pc532-lites* like ns32k-pc532-netbsd*. From Ian Dall. + +Fri Sep 1 22:29:52 1995 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors. + +Fri Sep 1 13:13:29 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (warning_callback): Add abfd, section, and address + parameters. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Change call to warning accordingly. + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not + relocateable and not shared, put .gnu.warning.SYMBOL sections into + the .text section. + +Fri Sep 1 08:35:16 1995 James G. Smith <jsmith@beauty.cygnus.com> + + * configure.in: Added mips*vr4300-idt-elf* and + mips*vr4300el-idt-elf* targets. + * Makefile.in: Added eelf32vr4300* targets. + * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added. + * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added. + +Fri Sep 1 10:51:45 1995 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe + <brendan@cygnus.com>. + +Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com> + + * ldemul.c (ldemul_parse_args): New. + * ldemul.h (ld_emulation_xfer_struct): Add parse_args. + * lexsup.c (all pe stuff): Moved into pe.em + (parse_args): Call emulation arg parser. + * emultempl/pe.em (parse_args): handle PE specfic args. + +Thu Aug 31 17:01:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_memory_region_lookup): Don't use the first region + as the default region. Create a new region instead. + +Tue Aug 29 14:21:41 1995 steve chamberlain <sac@slash.cygnus.com> + + * ldemul.c (ldemul_set_symbols): New function. + * ldemul.h (ld_emulation_xfer_struct): Add set_symbols. + * ldmain.c (main): Add call to ldemul_set_symbols. + * lexsup.c (set_pe_value): New args. + (set_pe_name): New. + (parse_args): Cope with new set_pe_value args. + * emultempl/pe.em (set_symbols): New function. + (ld_emulation_xfer_struct): Add set_symbols. + * scripttempl/pe.sc: Use new symbols. + +Thu Aug 24 18:12:18 1995 Ian Lance Taylor (ian@cygnus.com) + + * lexsup.c (parse_args): Don't call set_default_dirlist for -O. + For -Y, ignore a leading `P,', and only call set_default_dirlist + after processing all the other arguments. + +Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttempl/pe.sc: Keep .edata, don't base stabs at 0. + * emulparams/armpe.sh: Run PE script. + +Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com> + + * ldmain.c (main): Remove PE stuff. + * lexsup.c (options): Load more PE options. + (set_pe_value): New function. + +Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com> + + + * emultempl/{armpe.sc, i386pe.sc}: Deleted. + * emultempl/pe.sc: New file performs generic PE support and sorts + archive members. + * emulparams/{armpe.sh,i386pe.sh}: Use new file. + * scripttempl/{armpe.sc, i386pe.sc}: Deleted + * scripttempl/pe.sc: New. + * Makefile.in: Use new files. + +Thu Aug 17 14:46:34 1995 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/h8500s.sc (.rdata): All data must go in data segment. + (.strings,.ctors,.dtors): Likewise. + +Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttempl/armpe.sc: Always start code at 0x401000, even + if -r. + * ldwrite.c (strdup): New extern declaration. + * ldgram.y (atype): New rule to clarify type parsing. + * ldlang.c (init_os): Remove commented out code. + (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits + unless told not to by the link script. + +Wed Aug 16 11:45:11 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_set_startof): New static function. + (lang_process): Call it. + + * ldgram.y: Tweak casesymlist to avoid bison errors. + + * lexsup.c (parse_args): Accept -h as a synonym for --soname, for + Solaris compatibility. + +Tue Aug 15 17:31:16 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldgram.y (YYDEBUG): If not defined, define as 1. + (CASE, EXTERN, START): New tokens. + (mri_script_command): Handle CASE, EXTERN, INCLUDE, START. + (casesymlist): New nonterminal. + (extern_name_list): New nonterminal. + * ldlex.l: Accept lower case trailing base specifiers. Don't + ignore the first digit when the base is a suffix. Accept many + EXPRESSION state tokens in MRI state. Support MRI continuation + lines and MRI semicolon comments. Accept all MRI keywords in + lower case. Add CASE, EXTERN, and START MRI keywords. + +Tue Aug 8 19:14:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc + instead of alloca. + +Tue Aug 8 15:24:05 1995 J.T. Conklin <jtc@rtl.cygnus.com> + + * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use + $r/../gcc/xgcc unless it is present. + +Thu Aug 3 11:56:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text + when CONSTRUCTING. + * scripttempl/m68klynx.sc: Likewise. + * scripttempl/nw.sc: Likewise. + * scripttempl/sa29200.sc: Likewise. + * scripttempl/sparclynx.sc: Likewise. + +Fri Jul 28 12:02:23 1995 steve chamberlain <sac@slash.cygnus.com> + + * emulparams/{z8001.sh, z8002.sh}: Fix typo. + +Thu Jul 27 21:06:21 1995 Ken Raeburn <raeburn@cygnus.com> + + * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*. + +Thu Jul 27 15:26:28 1995 steve chamberlain <sac@slash.cygnus.com> + + * scripttempl/i386pe.sc: Cope with constructors. + * scripttempl/z8ksim.sc: Deleted. + * scripttempl/z8000.sc: Resurrected as this, but + can handle z8001 and z8002 formats. + * emulparams/z8ksim.sh: Deleted. + * emulparams/{z8001.sh, z8002.sh}: New files. + * config/z8ksim.mt: Deleted + * config/z8k-coff.mt: New, generates both emulations. + +Tue Jul 25 14:53:02 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using + %B, in case it is in an archive. + +Mon Jul 24 15:23:39 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_process): Call reset_memory_regions for each + relaxation pass. + +Fri Jul 21 22:49:44 1995 Michael Meissner <meissner@cygnus.com> + + * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and + _SDA_BASE. + +Thu Jul 20 16:26:55 1995 Ken Raeburn <raeburn@cygnus.com> + + * ldmain.c (constructor_callback): Allocate set_name in stack + frame, rather than always calling alloca with a fixed size. + +Wed Jul 19 16:21:43 1995 Doug Evans <dje@canuck.cygnus.com> + + * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little. + (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define. + +Mon Jul 17 13:57:00 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldwrite.c (clone_section): Set the alignment of the clone + section to that of the section being cloned. + + * ldwrite.c (split_sections): Don't split the first input section + into a new output section. + +Sat Jul 15 00:26:35 1995 Michael Meissner <meissner@cygnus.com> + + * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32. + (GENERATE_SHLIB_SCRIPT): Define as yes. + +Fri Jul 14 12:11:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/mipsecoff.em (check_sections): Use %P, not %F. + + * ldver.c (help): Update list of options to match currently + supported list. + +Thu Jul 13 13:52:10 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/lnk960.em (ld_lnk960_emulation): Initialize + after_open field. + + * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type; + it takes a size_t anyhow. + (exp_binop): Likewise. + (exp_trinop): Likewise. + (exp_unop): Likewise. + (exp_nameop): Likewise. + (exp_assop): Likewise. + * ldlang.c (lang_memory_region_lookup): Likewise. + (init_os): Likewise. + (ldlang_add_undef): Likewise. + (insert_pad): Likewise. + * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to + bfd_size_type. + + * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o. + +Wed Jul 12 11:32:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to + declaration. + (ld_emulation_xfer_type): Add search parameter to + open_dynamic_archive entry point. + * ldemul.c (ldemul_open_dynamic_archive): Add search parameter. + * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and + make non-static. Change all callers to use new name. + (ldfile_open_file_search): Make static. If entry is dynamic, call + ldemul_open_dynamic_archive. + (ldfile_open_file): Don't call ldemul_open_dynamic_archive. + * ldfile.h (ldfile_open_file_search): Don't declare. + (ldfile_try_open_bfd): Declare. + * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): + Accept search parameter. Don't search for a library, just look in + a single place. + * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive): + Likewise. + +Tue Jul 11 16:44:21 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (set_scripts_dir): Don't base script directory on + current directory. + +Tue Jul 11 12:29:02 1995 Rick Sladkey <jrs@world.std.com> + + * ldmisc.c (vfinfo): Don't print the line number if it isn't + meaningful. + +Mon Jul 10 13:38:28 1995 Ian Lance Taylor <ian@cygnus.com> + + * ld.h (ld_config_type): Add field warn_constructors. + * ldmain.c (add_to_set): Warn if config.warn_constructors. + (constructor_callback): Likewise. + * lexsup.c (parse_args): Handle -warn-constructors. + * ld.texinfo, ld.1: Document -warn-constructors. + + * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't + get confused by directory names if we searched for the file. + + Based on patches from H.J. Lu <hjl@nynexst.com>: + * ldlang.h (lang_input_statement_type): Add new field dynamic. + * ldlang.c (new_afile): Set dynamic from config.dynamic_link. + * ldfile.c: Include bfdlink.h. + (ldfile_open_file): Check dynamic field of entry, not global + dynamic_link field. Don't do a dynamic search when doing a + relocateable link. + * ldmain.c (main): Don't warn about dynamic_link for a + relocateable link. + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if + dynamic is false. + (gld${EMULATION_NAME}_create_output_section_statements): Always + loop over input files. + * Makefile.in: Rebuild dependencies. + + * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and + -shared. + +Mon Jul 10 13:29:43 1995 Eric Youngdale <eric@aib.com> + + * ldmain.c (main): Set link_info.symbolic to false. + * lexsup.c (parse_args): Handle -Bsymbolic. + +Wed Jul 5 00:12:11 1995 Fred Fish (fnf@cygnus.com) + + * ldmain.c (HAVE_SBRK): Define for everything except + specific systems that are known to not support sbrk. + (main): Use HAVE_SBRK to decide whether or not to use sbrk. + +Tue Jul 4 12:55:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment): + Handle etree_provide. + + * emultempl/elf32.em (global_needed): New static variable. + (global_found): Likewise. + (gld${EMULATION_NAME}_after_open): New static function. + (gld${EMULATION_NAME}_search_needed): Likewise. + (gld${EMULATION_NAME}_try_needed): Likewise. + (gld${EMULATION_NAME}_check_needed): Likewise. + (ld_${EMULATION_NAME}_emulation): Replace after_open_default with + gld${EMULATION_NAME}_after_open. + +Mon Jul 3 14:26:37 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * configure.in (i386-*-win32): New target. + +Mon Jul 3 14:39:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Let -G either set the small data size or + be equivalent to --shared, depending on the next argument. Accept + and ignore -z for Solaris compatibility. + +Sun Jul 2 17:52:34 1995 Ian Lance Taylor <ian@cygnus.com> + + * lexsup.c (parse_args): Cast fopen result to PTR before storing + it in link_info.base_file. Fix indentation. + +Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * ldmain.c (main): Always initialize PE info in link_info. + * lexsup.c (OPTION_BASE_FILE): New option. + (parse_args): Handle new option. + * emulparams/armpe.sh: Output pei. + * emultempl/i386pe.em: Add newline to end. + * scripttempl/armpe.sc: Change output and quote the $s. + * scripttempl/i386pe.sc: Change output and quote the $s. + +Thu Jun 22 19:55:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu> + + * configure.in (i386-*-msdos*, i386-*-moss*): New targets. + * Makefile.in (ALL_EMULATIONS): Added i386msdos.o. + (i386msdos.o): New target. + * config/i386-msdos.mt: Created. + * emulparams/i386msdos.sh: Created. + * scripttempl/i386msdos.sc: Created. + +Thu Jun 22 15:06:35 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section + that contains pointers to be relocated. + +Tue Jun 20 17:47:20 1995 Stan Shebs <shebs@andros.cygnus.com> + + * mpw-esh.c: New file, modified for MPW from esh.c. + * scripttempl/sh.sc: Reformatted to simplify MPWification, + use *() to concat stab sections instead of []. + +Thu Jun 15 08:48:16 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * scripttempl/armpe.sc: Add constructor support. + +Tue Jun 13 09:11:20 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * ldlang.c (lang_size_sections): Any section with a DATA + statement has contents. + +Sun Jun 11 15:20:46 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * emulparams/m68kelf.sh (NOP): Define. + (DYNAMIC_LINK): Don't define. + (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers + will come from the linker script. + +Thu Jun 8 14:17:33 1995 Steve Chamberlain <sac@slash.cygnus.com> + + * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack. + +Mon Jun 5 02:16:24 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + * configure.in (i[345]86-*-gnu*): Use GNU elf config. + +Thu May 25 11:49:28 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + From Andrew Cagney <cagney@highland.com.au> + * Makefile.in: Fixup more gotchas from renaming elf32ppcle to + elf32lppc. + +Wed May 24 11:23:21 1995 Steve Chamberlain <sac@slash.cygnus.com> + + Add support for ARM-PE. + * Makefile.in (ALL_EMULATIONS): Add armpe.o + * configure.in: Recognize armpe. + * config/arm-pe.mt: New file. + * emulparams/armpe.sh: New file. + * scripttempl/armpe.sc: New file. + + +Mon May 22 15:19:26 1995 Doug Evans <dje@chestnut.cygnus.com> + + * configure.in (h8300h-*-hms): Deleted + * config/cf-h8300h.mt: Deleted. + +Thu May 18 04:26:10 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + From David Taylor (dtaylor@armltd.co.uk) + * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o + * configure.in: Recognize arm{,e[lb]-*-aout. + * config/arm[lb]-aout.mt: New files. + * emulparams/armaout[lb].sh: New files. + * scripttempl/armaout.sc: New file. + +Tue May 16 18:27:11 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to + be unique in 8 characters for DOS. + + * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh. + * emulparams/elf32ppcle.sh: Deleted. + +Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com> + Tom Griest <griest@cs.yale.edu> + + Initial support for PE executables (eg NT, win32) + + * Makefile.in (configure.in, ei386pe): Add support. + * ldmain.c (main): Initialize PE argument info. + * ldwrite.c (print_file_stuff): Don't print out .drectve + and .debug section info. + * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP, + OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap): + Handle new arguments. + * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc: + New files + +Wed May 10 18:37:59 1995 Stu Grossman (grossman@andros.cygnus.com) + + * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text + segment. This allows ld -r to preserve unwind sections. + +Tue May 9 17:19:57 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.in: Add little endian PowerPC support. + + * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o. + (eelf32ppcle.c): Support for little endian PowerPC. + + * config/ppcle-elf32.mt: New file for little endian PowerPC. + * emulparams/elf32ppcle.sh: Ditto. + +Wed May 3 12:56:32 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * ldlang.c (print_output_section_statement): Check + subsection_alignment, instead of checking section_alignment twice. + Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>. + +Tue May 2 16:36:07 1995 Jeff Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*. + +Mon Apr 24 19:21:02 1995 Michael Meissner <meissner@cygnus.com> + + * ldwrite.c (ldwrite): Before doing anything, reset the error + code. If bfd_final_link returns an error, but the error code is + unset, don't issue an extra message. Assume a correct error + message was already set. + +Fri Apr 14 16:31:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (ALL_EMULATIONS): Added em68kelf.o. + (em68kelf.o): New target. + * config/m68k-elf.mt, emulparams/m68kelf.sh: New files. + * configure.in: Use them for m68*-*-elf. + +Tue Apr 11 12:02:03 1995 Stan Shebs <shebs@andros.cygnus.com> + + Merge in support for Mac MPW as a host. + (Old change descriptions retained for informational value.) + + * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32. + (i386-unknown-coff): Remove. + (sh-hitachi-hms): New target. + (emulation_ofiles): Set correctly for each target. + (version, TDEFINES): Add to makefile fragment. + * mpw-make.in (BISON): Use byacc instead of bison. + (em_*.c): Replace with e*.c everywhere. + (ldgram.h): Separate action from ldgram.c generation. + (LD_PROG): Depend on Version.r. + (Version.r): generate from version info. + * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c. + + * mpw-config.in (m68k-apple-macos, ppc-apple-macos, + i386-unknown-aout, i386-unknown-coff): New targets. + (m68k-aout, m68k-coff): Remove targets. + (mk.tmp): Add definition of EMUL. + + * mpw-config.in (emulname): Set based on target. + (ldemul-list.h): Construct. + * mpw-make.in (install-only): New target. + (install): Depend on install-only. + + * mpw-make.in (bindir): Fix pathname. + (install): Move here from mpw-build.in. + + * mpw-config.in: New file, MPW configuration fragment. + * mpw-make.in: New file, MPW makefile fragment. + (This file is semi-automatically generated from Makefile.in.) + * ldfile.c (slash): If MPW, set to `:'. + * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to + prevent redefinition errors. + +Tue Apr 4 17:55:18 1995 Steve Chamberlain <sac@bang.hack.com> + + * ldwrite.c (clone_section): Align clone sections on even + boundaries. + +Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com) + + * configure.in: Change linux to default to elf. Using + i[345]86-*-linuxaout will build a linker which defaults to a.out. + * config/i386-laout.mt: Rename from old config/i386-linux.mt. + * config/i386-linux.mt: Rename from old config/i386-lelf.mt. + * config/i386-lelf.mt: Remove. + +Thu Mar 30 13:09:46 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): If opening the map file fails, call + bfd_set_error before calling einfo. + + * ld.texinfo, ld.1: Document the -no-keep-memory option. + +Mon Mar 27 11:10:08 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Revert patch of March 10, since the SVR4 linker + does mark shared libraries as executable. + +Tue Mar 21 15:15:38 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_common): Change power to int. Pass larger values + before smaller values. + (lang_one_common): Treat info as int *. Don't bother to check for + last value, since it is now zero. + +Sat Mar 18 01:49:14 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (load_symbols): An empty archive is OK. + +Fri Mar 17 16:15:31 1995 Stan Shebs <shebs@andros.cygnus.com> + + * ldmain.c (progress.h): Include. + (main): Call START_PROGRESS and END_PROGRESS. + +Thu Mar 16 17:17:33 1995 Michael Meissner <meissner@cygnus.com> + + * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and + .dtors sections, so that these pointers get relocated also. + Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning + and end of the constructors/destructors. + +Thu Mar 16 13:59:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * ldlang.c (load_symbols): If whole_archive is true and ENTRY + describes an archive, call bfd_link_add_symbols on each member. + * ldmain.c (whole_archive): New variable. + (main): Initialize it to false. + * ldmain.h: Declare whole_archive. + * lexsup.c (parse_args): Grok --whole-archive switch. + * ld.texinfo, ld.1: Document --whole-archive. + +Thu Mar 16 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not + using the default emulation. + + * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set + LDEMULATION. + * config/hppaelf.mh (HOSTING_EMU): Likewise. + +Tue Mar 14 12:28:03 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj + for -lc.N. From H.J. Lu <hjl@nynexst.com>. + +Fri Mar 10 14:43:48 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): Don't set EXEC_P if link_info.shared is set. + + * ldlex.l: Return -lFILENAME as the token LNAME. + * ldgram.y: Add token LNAME. + (input_list): Treat LNAME like NAME, but pass it to + lang_add_input_file as lang_input_file_is_l_enum. + * ld.texinfo: Document using -lFILENAME in INPUT. + +Thu Mar 9 12:21:51 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ldlang.c (lang_check): If the architectures are compatible call + bfd_merge_private_bfd_data to let the backend do additional + checks. + +Tue Mar 7 00:53:08 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldemul.c (ldemul_choose_mode): If emulation not recognized, list + all supported emulations. + +Mon Mar 6 14:03:50 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldemul.c (ldemul_list_emulations): New function. + * ldemul.h (ldemul_list_emulations): Declare. + * ldver.c (help): List supported targets and emulations. + +Fri Mar 3 15:40:36 1995 Doug Evans <dje@canuck.cygnus.com> + + * scripttempl/elf.sc (.debug): Relocate to address 0. + (.debug_srcinfo, .debug_aranges, .debug_pubnames, + .debug_sfnames, .line): Likewise. + +Fri Mar 3 17:07:14 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (hold_rel): New static variable. + (gld${EMULATION_NAME}_place_orphan): Place readonly sections with + contents whose names begin with ".rel" after hold_rel. Remove the + assertion which checked for unplaced .rel sections. Don't try to + sort the section into place if place->bfd_section is NULL. + (gld${EMULATION_NAME}_place_section): Set hold_rel to the first + section beginning with ".rel". + +Thu Mar 2 14:34:43 1995 Ian Lance Taylor <ian@cygnus.com> + + Doc note from pierre@phi.la.tce.com (Pierre Willard): + * ld.texinfo: -X and -x work even if -s or -S are not specified. + * ld.1: Similar change. + +Wed Mar 1 13:51:16 1995 Ian Lance Taylor <ian@cygnus.com> + + * emulparams/gld960coff.sh (COFF_CTORS): Define. + * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING. + +Tue Feb 28 12:42:56 1995 Ian Lance Taylor <ian@cygnus.com> + + * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf. + (i[345]86-*-gnuelf*): New target. Use i386-gelf. + * config/i386-lelf.mt: New file. + * config/i386-gelf.mt: New file. + +Tue Feb 28 10:27:54 1995 Rob Savoye <rob@darkstar.cygnus.com> + + * configure.in: Match on mips-ecoff, and default to the IDT + configuration. + +Fri Feb 17 13:06:47 1995 Michael Meissner <meissner@cygnus.com> + + * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections. + Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area + to double the size of the table. + +Thu Feb 9 18:29:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (distclean): Do recursive deletion, since ldscripts + is a directory. + +Thu Feb 9 11:38:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (main): If trace_file_tries is true, and we are using + an internal linker script, print out the script. + * ldfile.c (try_open): Reindent function. Make the messages about + opening script files more informative. + + * lexsup.c (parse_args): For -V, call ldversion with 1, not 0. + * ld.texinfo, ld.1: Update accordingly. + +Wed Feb 8 17:34:45 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldlang.c (lang_one_common): Adjust references to common symbol + information for new structure. + +Mon Feb 6 12:17:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldmain.c (undefined_symbol): Handle section being NULL. + + * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak. + * ldexp.c (fold_name): Likewise. + * ldlang.c (print_one_symbol): Likewise. + (lang_finish): Likewise. + * ldmain.c (multiple_common): Likewise. + * ldwrite.c (print_symbol): Likewise. Also, bfd_link_hash_weak + renamed to bfd_link_hash_undefweak. + + * scripttempl/alpha.sc: Set address of .data section correctly + when -n or -N is used. Patch from Chris G Demetriou + <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>. + * scripttempl/mips.sc: Similar change. + +Tue Jan 31 16:20:52 1995 Doug Evans <dje@canuck.cygnus.com> + + * ldlang.c (lang_size_sections): Clarify error message when user + specified start addr conflicts with region. Fix resetting of + region pointer. + +Tue Jan 31 12:37:09 1995 Ian Lance Taylor <ian@cygnus.com> + + * ldexp.c (fold_name): In case NAME, permit an absolute symbol + in lang_allocating_phase_enum. + +Mon Jan 30 11:33:25 1995 Ian Lance Taylor <ian@cygnus.com> + + * Makefile.in (distclean): Depend upon clean. Don't bother to + remove files which will be removed by clean. From patch by + alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra). + +Fri Jan 27 16:27:34 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For + a MIPS target, clobber the size of all but the first input + .reginfo section to be 0, so that lang_size_sections sets the + correct size for the output .reginfo section. + +Thu Jan 26 19:53:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Remove unused variable is. + +Thu Jan 26 12:33:05 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.in: Add support for powerpc-*-eabi. + + * scripttempl/elfppc.sc: New file for PowerPC embedded ABI + support. + + * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of + elf.sc, which defines some new symbols PowerPC elf needs. + +Tue Jan 24 10:32:15 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldctor.c (ldctor_add_set_entry): Don't dump core if a + constructor entry is in the absolute section. + +Mon Jan 23 13:58:13 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu. + * config/i386-gnu.mt: New file. Include ELF support. + +Thu Jan 19 16:22:11 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If + there are any input sections named .gnu.warning, treat them as + containing a warning message to be printed by the linker, and + clobber the size so that the message is not copied into the output + file. + * scripttempl/elf.sc: Put .gnu.warning sections into the .text + section. + +Sun Jan 15 16:45:00 1995 Steve Chamberlain <sac@splat> + + * configure.in (w65-*-*): New target. + * Makefile.in: Update. + * scripttempl/w65.sc: New. + * config/coff-w65.mt: New. + +Thu Jan 12 01:32:25 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com> + + * ldlang.c (lang_place_orphans): Don't ignore files with + just_syms_flag set. Instead, put all their sections in + bfd_abs_section_ptr, using the section VMA as the output_offset. + +Wed Jan 11 22:59:09 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * ldctor.c (ldctor_build_sets): Don't use `const' with typedef + name `reloc_howto_type', since it's now defined to be const. + * ldlang.c (lang_add_reloc): Ditto. + * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto. + +Wed Jan 11 11:24:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldexp.c (fold_binary): Adding or subtracting an absolute value + to a relative value does not require forcing the relative value to + be absolute. Also, reindent function. + +Wed Dec 28 22:05:52 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ldwrite.c (clone_section): Create a symbol with the + same name as the section. + +Mon Dec 19 14:02:13 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ld.h (split_by_reloc, split_by_file): New flags. + * ldwrite.c (clone_section, split_sections): New functions. + * lexsup.c (parse_args): Understand new split options. + +Fri Dec 9 17:22:55 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to + .data segment. They must be writable when creating a shared + library. From H.J. Lu <hjl@nynexst.com>. + +Fri Dec 2 14:09:00 1994 Ian Lance Taylor <ian@rtl.cygnus.com> + + * emultempl/miposecoff.em: New file. + * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff. + * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise. + * scripttempl/mips.sc: Put .rel.sdata sections in .text, and + provide __runtime_reloc_start and __runtime_reloc_stop if they are + used. Align _fdata to a 16 byte boundary. + * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than + generic.em. + (emipsidtl.c): Likewise. + (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest. + + * ld.h (args_type): Add new field embedded_relocs. + * ldemul.h (ldemul_after_open, after_open_default): Declare. + (ld_emulation_xfer_struct): Add new field after_open. + * ldemul.c (ldemul_after_open): New function. + (after_open_default): New function. + * ldlang.c (lang_process): Call ldemul_after_open. + * lexsup.c (parse_args): Handle --embedded-relocs. + * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize + new after_open field to after_open_default. + * emultempl/generic.em, emultempl/gld960.em: Likewise. + * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise. + * emultempl/linux.em, emultempl/m88kbcs.em: Likewise. + * emultempl/sunos.em, emultempl/vanilla.em: Likewise. + * ld.texinfo, ld.1: Mention -embedded-relocs. + +Wed Nov 23 22:04:47 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * Makefile.in: Add eshl.o. + * config/coff-sh.mt: Add shl emulation. + +Tue Nov 22 11:55:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * scripttempl/elf.sc: Fill .text section with NOPS. From Eric + Youngdale <eric@aib.com>. + +Thu Nov 17 14:39:48 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker). + * config/i386linux.mh: New file; set HOSTING_CRT0. + * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is + /usr/lib, since that is already in LIB_PATH. + +Wed Nov 16 10:03:03 1994 Jeff Law (law@snake.cs.utah.edu) + + * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start + address. + (.data, .bss): If "-N", then place the data/bss just after the end + of the .text section rather than at the default 0x40000000. + + * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the + text segment. + +Sat Nov 12 15:55:56 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Patches from Eric Youngdale <eric@aib.com>: + * ldlang.c (lang_finish): Don't warn if entry symbol not found + when generating a shared library. + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if + attempting to place an orphaned relocation section when generating + a dynamically linked object. + + * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to + _start. + +Fri Nov 11 14:27:23 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ld.h (args_type): Add field export_dynamic. + * lexsup.c (parse_args): Recognize --export-dynamic. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Pass export_dynamic argument to bfd_elf32_size_dynamic_sections. + +Wed Nov 9 12:47:11 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where + we allocate common symbols. + +Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com) + + * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and + .rela.fini to the list of .rel* sections. + +Tue Nov 8 17:47:45 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldlang.c (load_symbols): Add new argument place. Only accept + linker scripts if place is not NULL. Put commands found in an + assumed linker script into place. + (lookup_name): Pass NULL as place argument to load_symbols. + (open_input_bfds): In lang_input_statement_enum case, pass a place + argument to load_symbols, and store any new statements after the + current one. + +Mon Nov 7 15:53:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * ldver.c (ldversion): Bump to 2.5.3. + +Fri Nov 4 15:11:26 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (e*nbsd.c): Fix typo in dependencies. + +Thu Nov 3 19:35:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * Makefile.in (check): Add missing "else true" clause. + + * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out". + + * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default + entry point to "start". Align at end of each section to 0x200. + Start .text section 0x1000 later. Add _etext, _edata, _end + symbols. + +Wed Nov 2 12:17:49 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldctor.c (ldctor_add_set_entry): Don't permit a set to be + composed of different object file formats. + (ldctor_build_sets): If the output format does not support the + reloc, and we are not generating a relocateable link, try getting + the reloc from the input format. + +Tue Nov 1 10:30:19 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o. + (em68knbsd.c): New target. + + * config/m68k-nbsd.mt: New file. + * emulparams/m68knbsd.sh: New file. + * configure.in (m68*-*-netbsd*): Use above configs. + +Mon Oct 31 19:35:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an + appropriately named static library, stop the search at that + directory. + +Wed Oct 26 13:59:12 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o + and esparcnbsd.o; sorted entries. + (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets. + + * config/netbsd532.mt: Removed. + * emulparams/netbsd532.sh: Removed. + + * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files. + * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files. + * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*, + sparc*-*-netbsd*): Use above configs. + +Tue Oct 25 11:47:10 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldmain.c (multiple_common): One of the types may now be + bfd_link_hash_indirect. The old BFD argument may be NULL. + +Thu Oct 20 22:01:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in: Add * at the end of m68k-hp-hpux. + +Tue Oct 18 15:58:39 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to + YY_CHAR *. + +Mon Oct 17 14:53:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com) + + * scripttempl/nw.sc: Gather constructors and destructors and + define __CTOR__LIST__ and __DTOR_LIST__ appropriately. + +Fri Oct 14 14:35:38 1994 J.T. Conklin (jtc@rtl.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o. + (ei386nw.c, eppcnw.c): New targets. + + * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh, + scripttempl/nw.sc: New files, for i386 and powerpc netware. + + * configure.in: Changed netware ld_target name to be {i386,ppc}-nw + instead of {i386,ppc}-elf. + + * configure.in (sparc*-*-netware): Removed. There is no such + thing anymore. + + * ldint.texinfo: Move misplaced `@end iftex'. + +Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com) + + * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and + .rela.dtors to the list of .rel* sections. + +Thu Oct 13 14:16:27 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * ldver.c (ldversion): Update to version 2.5. + * Version 2.5 released. + + * configure.in (all_targets): Handle i386-linux*. + +Thu Oct 13 11:24:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * scripttempl/aout.sc: Set _etext and __etext to ., not + ${DATA_ALIGNMENT}. This is compatible with SunOS, and, with luck, + will not break any other system. From Eric Valette + <ev@chorus.fr>. + +Wed Oct 12 16:22:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * lexsup.c (parse_args): Change -V to be a synonym for -v. Add + --verbose to get the old -V behaviour. + * ld.1, ld.texinfo: Document this change. + +Tue Sep 27 14:56:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove + assertion, since it could fail with a user defined linker script. + + * ldexp.c (fold_name): For DEFINED case, don't try to look up the + name in the hash table during the first phase--the hash table does + not even exist at that point, much less have the right value. + + * Makefile.in (CC): Define. + (CXX): Move definition, change from g++ to gcc. + (EXPECT, RUNTEST): Copy definitions from top level Makefile.in. + (RUNTEST_CC, RUNTEST_CFLAGS): Remove. + (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove. + (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in. + (.cc.o): Comment out. + (testdir): Remove. + (site.exp): Don't create testdir or set tmpdir. + (check): Run checks even if not running native. Use CC_FOR_TARGET + instead of RUNTEST_CC, and likewise for CXX. + (cdtest targets): Comment out. + * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once. + * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove. + * cdtest-main.cc, cdtest.exp: Remove. + +Mon Sep 26 11:40:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS + file naming problems. + * emulparams/elf32lmip.sh: Rename from elf32mipl.sh. + * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to + eelf32bmip.o and eelf32mipl.o to eelf32lmip.o. + (eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh. + (eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh. + * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb. + * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl. + + * genscripts.sh: Always search /usr/local/TARGET/lib. + + * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".". + +Fri Sep 23 15:05:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com> + + * configure.in: Handle i386-bsdi* targets like i386-bsd. + +Fri Sep 23 00:06:59 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * lexsup.c (parse_args): Add support for -a for HP/UX + compatibility. + + * lexsup.c (parse_args): -c takes an argument. + +Tue Sep 20 14:35:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ld.h (args_type): Add new field endian. + * lexsup.c (parse_args): Handle -EB and -EL by setting + command_line.endian. + * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments. + * ldlang.c (lang_add_output_format): Add arguments big and little. + If command_line.endian is set, use it to select big or little + rather than the default. Changed all callers. + * ldlang.h (lang_add_output_format): Update declaration. + * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and + LITTLE_OUTPUT_FORMAT. + * emulparams/elf32mipl.sh: Likewise. + * emulparams/mipsbig.sh: Likewise. + * emulparams/mipsbsd.sh: Likewise. + * emulparams/mipsidt.sh: Likewise. + * emulparams/mipsidtl.sh: Likewise. + * emulparams/mipslit.sh: Likewise. + * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and + LITTLE_OUTPUT_FORMAT if not already defined. Pass them to + OUTPUT_FORMAT. + * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and + LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT. + * scripttempl/mipsbsd.sc: Likewise. + + * Makefile.in (ldgram.h): Make separate target from ldgram.c, + depending upon ldgram.c, so that a parallel make does not try to + build both at once. + + * configure.in (mips*el-elf*): New target. + * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o. + (eelf32mipl.c): New target. + + * config/mipsl-elf32.mt: New file. + * emulparams/elf32mipl.sh: New file. + +Fri Sep 16 12:16:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as + ld -r -S -x. + +Thu Sep 15 13:05:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldmisc.c (vfinfo): Print BFD file name as well as file name + returned by find_nearest_line, in case the file name is something + unhelpful such as a .h file. Handle %u. + +Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ldlang.c (lang_do_assignments): Make sure output statement + has an attached bfd_section before trying to dereference it. + +Wed Sep 14 12:48:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ld.h (ld_config_type): Add new field warn_once. + * ldmain.c (undefined_symbol): Handle -warn-once. + * lexsup.c (parse_args): Recognize -warn-once. + * ld.texinfo (Options): Document -warn-once. + * ld.1: Likewise. + + * ldmisc.c (vfinfo): Handle %D as %C, but never print the function + name. For %C, print the function name on a separate line, to keep + the length of error messages under control. + * ldmain.c (multiple_definition): Use %D for ``first defined + here.'' + (undefined_symbol): Use %D for ``more undefined references + follow''. + + * ldmisc.c (multiple_warn): Remove; no longer used. + * ldmisc.h (multiple_warn): Don't declare. + +Tue Sep 13 20:47:58 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ldlang.c (print_output_section_statement): Print all lines + to the map file. + +Tue Sep 13 16:30:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldlang.c (load_symbols): Check for archive before object. Use + bfd_check_format_matches, and, if ambiguous, print a list of + matching formats. If file format is not recognized, treat file as + a linker script. + * ldgram.y (yyerror): If assuming an object file is a script, + mention that. Tweak the format of the error messages. + * ldlex.l (lex_warn_invalid): If assuming an object is a script, + guess that this is not actually a script, and just report that the + file format was not recognized. + * ld.texinfo (Options): Admit that -( may be used more than once. + Add note that unrecognized object files are now treated as linker + scripts. + + * ldfile.c (ldfile_input_filename): Make const. + (ldfile_assumed_script): New variable. + (try_open): Change arguments types to const. + (ldfile_find_command_file): Likewise. + (ldfile_open_command_file): Likewise. Also, set lineno to 1. + * ldfile.h: Update declarations for ldfile.c changes. + * ldlex.l: Include <ctype.h>. + (file_name_stack): Change to be const char *. + (lineno_stack): New static variable. + (<<EOF>>): Set lineno as well as ldfile_input_filename. + (lex_push_file): Make name argument const. Initialize + lineno_stack entry. + (lex_redirect): Initialize lineno_stack entry. + (lex_warn_invalid): Handle non printable characters nicely. + * ldlex.h (lex_push_file): Declare second argument as const. + + * ldgram.y (ifile_p1): Recognize GROUP. + * ldlex.l: Recognize GROUP. + * ld.texinfo (Option Commands): Document GROUP. + +Mon Sep 12 17:04:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/m68klynx.mh: New file. + +Mon Sep 12 01:50:03 1994 Jeff Law (law@snake.cs.utah.edu) + + * emultempl/hppaelf.em: Add newlines to the error messages. + +Sat Sep 10 16:05:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/i386lynx.mh: New file. + * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text + unless CONSTRUCTING. + +Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32. + (GENERATE_SHLIB_SCRIPT): Define as yes. + (DYNAMIC_LINK): Define as false. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): + Initialize config.dynamic_link to DYNAMIC_LINK if it is defined. + (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end. + * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than + generic.em. + +Thu Sep 8 16:30:37 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * scripttempl/h8500b.sc: Put rdata stuff into own segment. + +Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define; + .got section is now explicitly handled in elf.sc. + +Wed Sep 7 13:08:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * scripttempl/alpha.sc: Redo script to set . outside of sections + and not bother to explicitly specify section addresses. + Explicitly place .sdata section. + +Tue Sep 6 23:51:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/m68kcoff.sc: Put .bss in data segment. + + * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of + 0, and to only be marked as NOLOAD if relocating. + * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise. + * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise. + * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise. + * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise. + * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise. + * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise. + * scripttempl/sparclynx.sc: Likewise. + +Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + + * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX. + * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc: + New files. + +Tue Aug 30 11:48:08 1994 Eric Youngdale (ericy@cais.cais.com) + + * ld.h (args_type): Add field soname. + * lexsup.c (parse_args): Handle -soname argument. + * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections, + pass soname. + * ld.texinfo: Document -soname. + +Mon Aug 29 15:21:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldlang.c (lang_check): Don't try to set the architecture if the + input and output files are incompatible. Just warn. + +Wed Aug 24 12:52:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Change i[34]86 to i[345]86. + +Sun Aug 21 16:17:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0. + +Thu Aug 18 15:37:45 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + Make the ELF linker handle orphaned sections reasonably. Also, + define __start_SECNAME and __stop_SECNAME around sections whose + names can be represented in C, for the benefit of symbol sets in + glibc. + * ldemul.h (ldemul_place_orphan): Declare. + (ld_emulation_xfer_type): Add place_orphan field. + * ldemul.c (ldemul_place_orphan): New function. + * ldlang.h (wild_doit): Declare. + * ldlang.c (wild_doit): Make nonstatic. + (lang_place_orphans): Call ldemul_place_orphan. + * emultempl/elf32.em: Include <ctype.h> and "ldgram.h". + (hold_section, hold_use, hold_text, hold_data, hold_bss): New + static variables. + (gld${EMULATION_NAME}_place_orphan): New static function. + (gld${EMULATION_NAME}_place_section): New static function. + (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field. + +Tue Aug 16 00:17:20 1994 Eric Youngdale (ericy@cais.cais.com) + + * scripttempl/aout.sc: Add .linux-dynamic after .data. + +Tue Aug 16 00:08:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * lexsup.c (parse_args) Treat --dll-verbose as --version, for + Linux compatibility. From hjl@nynexst.com (H.J. Lu). + +Mon Aug 15 17:17:33 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldexp.h (exp_get_abs_int): Declare. + +Sat Aug 6 01:45:39 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ldlang.c (lang_do_assignments): Handle complex AT's better. + * ldexp.c (exp_get_abs_int): New function. + +Fri Aug 5 20:55:55 1994 Jason Molenda (crash@phydeaux.cygnus.com) + + * configure.in: add i960-nindy-coff support. + +Thu Aug 4 14:45:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldlex.l (yy_create_string_buffer): Handle change to internal + interface in flex 2.4.7. + +Tue Aug 2 11:52:06 1994 Eric Youngdale (ericy@cais.cais.com) + + * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement): + New function; add 0x20 to any use of -Ttext. + (gld${EMULATION_NAME}_create_output_section_statements): New + function. + (ld_${EMULATION_NAME}_emulation): Use the new function + gld${EMULATION_NAME}_create_output_section_statements. + +Mon Aug 1 15:50:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * scripttempl/mips.sc: Redo script to set . outside of sections + and not bother to explicitly specify section addresses. + +Tue Jul 26 11:02:35 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * scripttempl/elf.sc: Copy several more relocation sections into + the output. Put .got.plt sections into .got. + +Fri Jul 22 12:15:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end. + + Add a new script operator, PROVIDE, to define a symbol only if it + is needed. + * ldgram.y (PROVIDE): New token. + (assignment): Accept PROVIDE. + * ldlex.l (PROVIDE): New token. + * ldexp.h (node_type): Add etree_provide to node_class enum. + (exp_provide): Declare. + * ldexp.c (exp_fold_tree): Handle etree_provide. + (exp_provide): New function. + (exp_print_tree): Handle etree_provide. + * ld.texinfo: Document PROVIDE. + + * ldlang.c (lang_common): Pass desired alignment to + lang_one_common as power of two. + (lang_one_common): Get common symbol alignment from linker hash + table entry. Treat desired alignment as a power of two. + + * ldlang.c (wild_section): Attach all section with the given name, + not just the first one. If there is no name, attach all sections + even if the SEC_IS_COMMON flag is set. + +Wed Jul 20 15:49:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ld.h (args_type): Add field rpath. + * lexsup.c (S_ISDIR): Define if not already defined. + (parse_args): Add support for -rpath. If -R is used to name a + directory, treat it as -rpath for Solaris compatibility. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): + Pass command_line.rpath to bfd_elf32_size_dynamic_sections. + * ldmain.c (main): Initialize command_line.rpath to NULL. + * ld.texinfo: Document -rpath option. + +Sun Jul 10 00:33:24 1994 Ian Dall (dall@hfrd.dsto.gov.au) + + * emulparams/pc532machaout.sh: New file. Pc532 mach script + parameters. + + * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters. + + * config/pc532mach.mt: New file. Pc532 mach target support. + + * config/pc532mach.mh: New file. Pc532 mach host support. + + * config/netbsd532.mt: New file. Netbsd 532 target support. + + * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support. + + * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c + dependency. + +Fri Jul 8 10:57:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use + bfd_abs_section_ptr, not &bfd_abs_section. + + * lexsup.c (parse_args): Changed "retain-symbols-file" from + no_argument to required_argument. From djm. + +Thu Jul 7 12:29:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * scripttempl/elf.sc: Explicitly mention .stab and .stabstr + sections to force a VMA of 0; needed for ELF backends which have + not been converted to the new linker style. + +Mon Jul 4 19:35:45 1994 Jeff Law (law@snake.cs.utah.edu) + + * scripttempl/hppaelf.sc (__stack_zero): Don't define this name, + it was for the HPUX dynamic loader's use and it creates problems + with ELF GDB. + +Fri Jul 1 12:53:47 1994 Jeff Law (law@snake.cs.utah.edu) + + * ldlang.c (lang_do_assignments): No longer static. Delete decl. + * ldlang.h (lang_do_assignments): Put external decl here. + * emultempl/hppaelf.em: Minor cleanups throughout file. + (hppa_elf_create_output_section_statements): Rewrite. + (hppaelf_finish): Rewrite. + +Wed Jun 29 16:50:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib. + + * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not + accept plain -B. + * ld.texinfo: -Bstatic is not ignored. + +Tue Jun 28 12:13:34 1994 Stan Shebs (shebs@andros.cygnus.com) + + * ldlex.l: Recognize \r the same as \n. + +Thu Jun 23 17:53:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + Preliminary support for generating shared libraries, from Eric + Youngdale <ericy@cais.cais.com>. + * genscripts.sh: If the emulation parameter file sets + GENERATE_SHLIB_SCRIPT, generate a .xs script file with + CREATE_SHLIB defined. + * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If + link_info.shared is set, use the .xs script file. + * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a + .interp section, and don't include TEXT_START_ADDR in the starting + address of the first section. + * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise. + * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define. + +Thu Jun 23 12:52:22 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * configure.in: Change --with-targets to --enable-targets. + +Wed Jun 22 13:42:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * lexsup.c (parse_args): Add support for new options -( -) with + synonyms --start-group --end-group. + * ldlang.h (enum statement_enum): Add lang_group_statement_enum. + (lang_group_statement_type): Define new struct. + (lang_statement_union_type): Add group_statement field. + (lang_enter_group, lang_leave_group): Declare. + * ldlang.c (lang_for_each_statement_worker): Handle + lang_group_statement_enum. + (map_input_to_output_sections, print_statement): Likewise. + (lang_size_sections, lang_do_assignments): Likewise. + (open_input_bfds): Completely rewrite. Now does its own looping, + rather than using lang_for_each_statement. Handle groups. + (lang_process): Update call to open_input_bfds. + (print_group): New static function. + (lang_enter_group, lang_leave_group): New static functions. + * ldfile.c (ldfile_open_file): If the file has already been + opened, just return rather than taking an assertion failure. + * ldver.c (help): Mention new options. + * ld.texinfo: Document new options. + + * ldlang.c (end_of_data_section_statement_list): Don't define. + (lang_leave_output_section_statement): Don't set obsolete variable + end_of_data_section_statement_list. + + * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an + ALIGN. + + * ldlang.c (lang_size_sections): Adjust current region address + even for sections with an explicit address. From + ralphc@pyramid.com (Ralph Campbell). + + * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0. + From jrs@world.std.com (Rick Sladkey). + + * scripttempl/mipsbsd.sc: Let sections align to their natural + boundaries. + +Tue Jun 21 11:27:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not + &bfd_abs_section. + (lang_abs_symbol_at_beginning_of): Likewise. + (lang_abs_symbol_at_end_of): Likewise. + (lang_size_sections): Use bfd_is_abs_section to check for the + absolute section. Don't try to set the VMA or output_offset or + size of the absolute section. + * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the + undefined section. + +Thu Jun 16 22:48:41 1994 Jeff Law (law@snake.cs.utah.edu) + + * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000 + when generating relocatable objects. + +Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com) + + * emultempl/linux.em: New file providing support for linking + against Linux shared libraries. + * config/i386-linux.mt (ei386linux.c): Depend upon linux.em. + * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux. + +Thu Jun 16 12:22:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * lexsup.c (parse_args): Add -shared to longopts, and handle it. + * ldmain.c (main): Initialize link_info.shared to false. Give + error if link_info.relocateable and link_info.shared are both set. + + * configure.in: If EMUL_EXTRA* is defined in a config file, treat + it as naming an emulation to be added to EMULATION_OFILES. + * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386. + + * Makefile.in: Rebuilt dependencies. + (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o, + eelf64_sparc.o. Remove $(OTHER_EMULATIONS). + (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets. + * config/i386-linux.mt (OTHER_EMULATIONS): Don't define. + (ei386linux.c): Remove; now in Makefile.in. + * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define. + * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define. + * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define. + * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define. + (eelf64_sparc.c): Remove; now in Makefile.in. + * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define. + (eelf32_sparc.c): Remove; now in Makefile.in. + + * ldexp.c (exp_print_tree): Don't crash if etree_rel section has + no owner--it might be bfd_abs_section. From Eric Youngdale + <ericy@cais.cais.com>. + + * scripttempl/aout.sc: Let sections align to their natural + boundaries. + +Wed Jun 15 01:54:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldemul.h (ldemul_open_dynamic_archive): Declare. + (ld_emulation_xfer_type): Add new field open_dynamic_archive. + * ldemul.c: Include ldexp.h and ldlang.h. + (ldemul_open_dynamic_archive): New function. + * ldfile.h (ldfile_open_file_search): Declare. + * ldfile.c: Include ldemul.h. + (try_open_bfd): Rename from cache_bfd_openr. Return boolean + argument, not bfd *. Change all callers. + (ldfile_open_file_search): Rename from open_a. Return boolean + argument, not bfd *. Clean up. Change all callers. + (ldfile_open_file): If doing a dynamic link, call + ldemul_open_dynamic_archive rather than assuming the extension of + a dynamic object is ".so". + * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): + New function. + (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive + field. + * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise. + + * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility. + * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility. + Accept -static as a synonym for -non_shared. + + Let the user change the dynamic linker used by ELF code. + * ld.h (args_type): Add new field interpreter. + * lexsup.c (parse_args): Add dynamic-linker to longopts, and + handle it. + * ldmain.c (main): Initialize command_line.interpreter to NULL. + * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get + the ELF backend to return the .interp section. If + command_line.interpreter is not NULL, set the contents of .interp + to it. + * ld.texinfo: Mention -dynamic-linker. + + * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not + generic.em. + + * lexsup.c (parse_args): Sort out the option macros and change the + definitions to make it easier to add a new option. + + * scripttempl/aout.sc: Define __etext and __edata to go along with + _etext and _edata. + + * ld.h (ld_config_type): Add new field traditional_format. + * lexsup.c (parse_args): Add traditional-format to longopts, and + handle it. + * ldmain.c (main): Initialize config.traditional_format to false. + * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD + flags of output_bfd according to config.traditional_format. + * ldver.c (help): Mention -traditional-format. + * ld.texinfo: Document -traditional-format. + +Tue Jun 14 23:10:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldctor.c (ldctor_add_entry): Add entries to a set in the order + they are encountered. + +Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com) + + * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000. + (NONPAGED_TEXT_START_ADDR): Define as 0x20. + +Mon Jun 13 15:46:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of + _FTEXT, _ETEXT and _FDATA. Dont define _END. + + * ldfile.c (open_a): If this is not an archive, try to open it in + the current directory before searching for it. + + * lexsup.c (parse_args): Treat -i as a synonym for -r. + + * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that + BLOCK works in a section address as documented. + + * ldgram.y (YYDEBUG): Don't define. + +Fri Jun 10 16:45:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * emultempl/gld960.em: Pass false for new argument to + ldfile_add_library_path. + * emultempl/gld960c.em, emultempl/lnk960.em: Likewise. + + * emultempl/sunos.em: Only look for .so files if doing a dynamic + link. + +Thu Jun 9 08:35:17 1994 Ian Lance Taylor (ian@cygnus.com) + + * scripttempl/i960.sc: Add CONSTRUCTORS to .data. + +Thu Jun 9 06:52:29 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in (check): Delete ld.new dependency so that a regression + test doesn't trigger a rebuild of the linker. + +Thu Jun 9 00:17:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (map_input_to_output_sections): For lang_address, call + init_os if it hasn't already been called. + +Thu Jun 2 17:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add support for SunOS shared libraries. + * aout.sc: Don't define __DYNAMIC here. Add new sections used by + shared library support code. + * emultempl/sunos.em: New file. + * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos. + * emulparams/sun3.sh (TEMPLATE_NAME): Likewise. + * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em. + (esun3.c): Likewise. + + * ldlang.c: Minor formatting cleanups. + (lang_for_each_input_file): New function. + * ldlang.h (lang_for_each_input_file): Declare. + + * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline + field. + (search_head): Declare. + (ldfile_add_library_path): Add new cmdline argument in prototype. + * ldfile.c (search_head): Make non-static. + (search_dirs_type): Move to ldfile.h. + (ldfile_add_library_path): Accept cmdline argument, and save it. + * lexsup.c (parse_args): Pass true for new cmdline argument of + ldfile_add_library_path. + (set_default_dirlist): Likewise. + * ldmain.c (check_for_scripts_dir): Pass false for new cmdline + argument of ldfile_add_library_path. + * ldgram.y (ifile_p1): Likewise. + +Wed Jun 1 14:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.h (lang_input_statement_type): Remove fields subfiles, + total_size, superfile and chain. + * ldfile.c (open_a): Don't clear search_dirs_flag. + (ldfile_open_file): Don't try to open superfile. Assert that file + has not already been opened. + * ldlang.c (new_afile): Don't initialize superfile. + * ldmain.c (add_archive_element): Don't initialize subfiles or + chain or superfile. Initialize search_dirs_flag to false. + +Fri May 27 12:25:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ldver.c (ldversion): Changed version to "cygnus-2.4.1". + + Changes from binutils-2.4 release: + + * genscripts.sh (RELOCATING, CONSTRUCTING): When setting + variables, use whitespace, so scripts don't break. + + * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted. + + * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}. + + * cdtest-bar.cc: Renamed from cdtest-func.cc. + * Makefile.in: Noted change. + + * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I + don't know where that's supposed to come from, or why it's + necessary. + + Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com) + + * configure.bat: update to latest makefile.in + * emulpara/go32.sh: set to coff-go32 not aout + * emultemp/generic.em: strength-reduce the structure of + this shell script, since the only available shell for + DOS can't handle complex syntax. + * emultemp/stringify.sed: for "sed -f" instead of inline. + * makefile.in: depend on stringify.sed as well as genscripts.sh + * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format + * genscripts.sh: empty variables aren't always considered "set", + so set them to "y" instead. + +Fri May 27 01:08:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (entry_symbol): Make static. + (lang_add_entry): Add cmdline argument. + * ldlang.h (lang_add_entry): Change prototype. + * ldgram.y (statement_anywhere): Change lang_add_entry call. + * lexsup.c (parse_args): Likewise. + +Tue May 24 16:13:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give + .reginfo an address. + (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address. + (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss. + * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script. + +Thu May 19 13:31:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Add support for ELF shared libraries. + * ld.h (ld_config_type): Add field dynamic_link. + * ldmain.c (main): Initialize config.dynamic_link to false. Warn + on attempts to use -r with -relax, -call_shared or -s. + * lexsup.c (longopts): Separate OPTION_CALL_SHARED from + OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values + accordingly. Add "dy" and "non_shared" options. Change "Qy" to + OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and + OPTION_NON_SHARED by setting dynamic_link field accordingly. + Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for + -r and -Ur. + * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try + opening a file with a .so extension first. + * emultempl/elf32.em: New file. + * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000. + (NONPAGED_TEXT_START_ADDR): Likewise. + (TEMPLATE_NAME): Define as elf32. + (DATA_PLT): Define. + * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32. + * scripttempl/elf.sc: Add placement for new dynamic sections. + Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end + outside of any section. Don't use ALIGN(8); just let one section + VMA follow another. Put .dynbss in .bss. Don't mention debugging + sections; they'll be handled correctly anyhow. + * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em. + +Wed May 18 10:15:39 1994 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): Redirect output of ln to /dev/null. + +Mon May 16 13:35:08 1994 Jeff Law (law@snake.cs.utah.edu) + + * emultempl/hppaelf.em: Change all references of + .hppa_linker_stubs to .PARISC.stubs. + * scripttempl/hppaelf.sc: Likewise. + +Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (print_output_section_statement): Change ``no attached + output section'' message slightly. + (lang_do_assignments): Don't recurse down if there is no real + section. + + * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to + match corresponding change in emulation templates. + * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise. + * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise. + +Wed May 11 18:16:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ldver.c (ldversion): Updated version number. + + * cdtest-foo.cc: Use explicit "#pragma implementation". + * cdtest-bar.cc: Renamed from cdtest-func.cc. + * Makefile.in: References to cdtest-func.o changed to + cdtest-bar.o. + +Wed May 11 16:24:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Don't create unnecessary output sections. + * ldlang.c (out_bfd_get_section_by_name): Remove. + (wild_section): Call bfd_get_section_by_name rather than + our_bfd_get_section_by_name. Don't call wild_doit if there is no + section. + (lang_create_output_section_statements): Remove. + (map_input_to_output_sections): For several cases, call init_os if + it has not already been called. + (lang_size_sections): If output section was not created, skip it. + (lang_process): Don't call lan_create_output_section_statements. + (lang_place_orphans): Skip files with just_syms_flags set to true. + * ld.texinfo: Document change. + +Tue May 10 14:31:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (wild_doit): Don't bother initializing the vma and + section size. Don't special case SEC_SHARED_LIBRARY. + (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections + specially. + +Fri May 6 12:24:27 1994 Steve Chamberlain (sac@cygnus.com) + + * config/go32.mh : New file for Xgo32X. + +Fri May 6 15:15:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call + before calling einfo, since we are reporting an fopen failure. + From jrs@world.std.com (Rick Sladkey). + + * configure.in: Use "e" rather than "em_" as prefix for + emulations. + +Fri May 6 01:08:14 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * emultempl/generic.em: Use "e" rather than "em_" as prefix for + filename. + * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em, + emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em: + Ditto. + * Makefile.in: Changed all generated file names. + (ldemul-list.h): Depend on Makefile, not config.status. Changed + sed patterns to handle new filenames. + + * config/mipsl-idt.mt: Renamed from mips-idtl.mt. + * configure.in: Adjusted. + +Thu May 5 15:07:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (install-info): Don't use "$<*", it doesn't always + work. Instead, check build dir and $srcdir explicitly, and use + `echo' to get all the filenames. + + * configure.in (h8300h-*-hms): Changed ld_target name to + cf-h8300h. + * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it + unique in 8.3. + + * config/i960coff.mt: New file. + * emulparams/gld960coff.sh: New file. + * emultempl/gld960c.em: New file. + * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use + i960coff configuration. + * Makefile.in (em_gld960coff.c): Added dependencies, build rule. + + * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the + code isn't included in FSF releases, and it can still be + explicitly selected. + (distclean): Remove site.bak and tmpdir. + (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES). + (mostlyclean): Delete them explicitly here. Also remove tmpdir. + + Patches from Ralph Campbell: + * config/mipsbsd.mh: New file. + * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc. + * scripttempl/mipsbsd.sc: Don't define __DYNAMIC. + * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out' + instead of `aout'. + + * configure.in (i386-*-gnu*): Treat like i386-*-mach*. + +Wed May 4 11:59:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/m68k.mt (EMUL): Set to m68kaout. + * emulparams/m68kaout.sh: New file. + * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o. + (em_m68kaout.c): New target. + + * ldlang.c (lang_size_sections): If dot moves because of an + assignment, don't try to insert a pad into the absolute output + section, just change the address of the default memory region + instead. + + * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur, + cdtest-ur.out, and cdtest-ur.tmp. + +Wed Apr 27 16:03:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/sa29200.sc: Align all sections to four byte + boundaries. + +Wed Apr 27 10:48:03 1994 Steve Chamberlain (sac@cygnus.com) + + * Makefile.in, configure.in: Support for go32 coff. + * config/i386-go32.mt: New file + * emulparams/i386go32.sh: New file + * scripttempl/i386go32.sc: New file + +Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use + Lynx-specific script templates. + * configure.in (sparclite*-*-coff): Use coff-sparc. + * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx. + * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx. + (ENTRY): Set to __main. + * scripttempl/i386lynx.sc: New file, script for I386 Lynx. + * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections. + * scripttempl/sparclynx.sc: New file, script for uSparc Lynx. + +Tue Apr 26 12:41:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16 + byte boundary, in case the global constructors do not take up an + even 16 bytes. + + * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not + exist, get crtbegin based on gcc -print-libgcc-file-name. + (HOSTING_LIBS): Similar change for ../gcc/crtend.o. + +Mon Apr 25 15:27:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (lang_size_sections): When no address is given for a + section, align it according to its requirements. + +Thu Apr 21 17:24:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in (clean, distclean): Remove configdoc.texi. + +Tue Apr 19 12:12:15 1994 Bill Cox (bill@rtl.cygnus.com) + + * configure.in: Add i[34]86-*-bsd386 to the patterns recognized. + +Fri Apr 15 14:35:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (lang_size_sections): When relaxing, adjust the + position of a padding statement, and adjust dot accordingly. + +Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in (EXPECT, RUNTEST): Set these for the check goal. + +Mon Apr 11 12:32:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/i386coff.sc: If relocating, don't put .init and + .fini sections into .text; keep them separate. + * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not + exist, get crtbegin based on gcc -print-libgcc-file-name. + (HOSTING_LIBS): Similar change for ../gcc/crtend.o. + +Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in (check): Set TCL_LIBRARY for runtest. + +Wed Apr 6 00:09:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the + manufacturer. + + * emultempl/hppaelf.em (hppaelf_finish): Only resize sections + if building a final executable. + +Tue Apr 5 12:17:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (main): Check the return value of bfd_close. + +Thu Mar 31 18:07:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/alpha.sc: Clean up section alignment to ensure that + sections never overlap when using -r. + +Wed Mar 30 15:51:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD + changes: get_symtab_upper_bound renamed and returns long, + bfd_canonicalize_symtab returns long, check for error indications. + +Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (print_input_section): For section size, use + _cooked_size if it is non-zero, size otherwise. + (size_input_section): Likewise. + (lang_do_assignments): Likewise (case lang_input_section_enum). + +Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (new_afile): Add new argument add_to_list. Don't set + real to true for lang_input_file_is_marker_enum. Clear the_bfd. + (lang_add_input_file): Pass true to new_afile for add_to_list. + (lookup_name): Remove force_load argument. Changed all callers. + Pass false to new_afile for add_to_list. Split loading of symbols + out into separate function. + (load_symbols): New function split out of lookup_name. Don't load + the symbols if they are already loaded. + (open_input_bfds): For lang_input_statement_enum call load_symbols + rather than lookup_name. + (lang_process): Pass abs_output_section rather than NULL to + lang_size_sections. + (lang_startup): Set real field of first_file to true. + +Wed Mar 23 14:15:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (had_relax): Removed. + (relax_again): New static variable. + (lang_size_sections): Change call to bfd_relax_section to + correspond to BFD changes. Set relax_again appropriately. + (lang_process): Remove #if 0 code. When relaxing, keep calling + lang_do_assignments and lang_size_sections until relax_again + becomes false. + + * emultemp/gld960.em: Include libiberty.h + (gld960_before_parse): Pass NULL as final argument to concat. + +Tue Mar 22 13:08:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/aout.sc: Force _end and __end to be aligned to a + four byte boundary. + + * ldwrite.c (build_link_order): Handle lang_data_statement_enum by + building a bfd_data_link_order, rather than by setting the section + contents immediately. + +Mon Mar 21 18:28:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Changes to make -Ur work again. + * ldmain.c (add_to_set): Now takes reloc argument rather than + bitsize. Check config.build_constructors here. If an new hash + table entry is created, mark it as undefined. + (constructor_callback): No longer takes bitsize argument. Pass + BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the + BFD backend supports it. + (reloc_overflow): Handle a NULL abfd argument. + (reloc_dangerous, unattached_reloc): Likewise. + * ldctor.c: Include ldmain.h. + (struct set_info): Change bitsize field to reloc. + (ldctor_add_set_entry): Now takes reloc argument rather than + bitsize. Don't bother to check config.build_constructors here. + (ldctor_build_sets): Get the size from the reloc howto. If + generating relocateable output, call lang_add_reloc rather than + lang_add_data. + * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc + instead of bitsize. + * ldlang.h (statement_enum): Add lang_reloc_statement_enum. + (lang_reloc_statement_type): New structure. + (lang_statement_union_type): Add reloc_statement field. + (lang_add_reloc): Declare new function. + * ldlang.c (lang_for_each_statement_worker): Handle + lang_reloc_statement_enum. + (map_input_to_output_sections, print_statement): Likewise. + (lang_size_sections, lang_do_assignments): Likewise. + (print_reloc_statement): New function. + (lang_add_reloc): New function. + * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum. + + * Makefile.in (cdtest.out, cdtest-ur.o): New targets. + (cdtest-ur, cdtest-ur.out): New targets. + (check-cdtest): Now also check that -Ur works correctly. + + * scripttemp/alpha.sc: Align all sections to 16 byte boundaries. + +Thu Mar 17 12:45:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (lang_process): Move lang_common call before + map_input_to_output_sections, to ensure that any alignment + constraints set by common symbols are copied over to the output + sections. + +Fri Mar 11 22:17:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define. + (OTHER_READWRITE_SECTIONS): Rename .toc to .got. + * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em. + * emultempl/ppc.em: Remove ugly stub code; turns out not to be + needed for ELF. + +Tue Mar 8 04:22:27 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * config/i386bsd.mh: New file. + +Mon Mar 7 15:23:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be + defined. + * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext. + (DATA_START_SYMBOLS): Define _fdata. + +Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com) + + * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined. + +Sun Feb 27 16:29:38 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * emultempl/hppaelf.em (hppaelf_finish): Update comments. This + works again. Attach some output symbols to the stub file bfd. + + * emultempl/hppaelf.em: Include elf32-hppa.h. + (file_chain): Add decl. + (hppa_look_for_stubs_in_section): Delete decl. + (hppaelf_finish): Reenable code. Do not pass symbols + down to hppa_look_for_stubs_in_section. + +Sat Feb 26 10:58:25 1994 Ian Lance Taylor (ian@cygnus.com) + + * ldmain.c (write_map): Don't define. Removed all references. + Just use map_file or map_filename instead. + (add_archive_element): Use minfo to write map information, not + info_msg. + (constructor_callback): Use fprintf to write map information, not + info_msg. + * ldmain.h (write_map): Don't declare. + * ldgram.y (mri_script_command): Removed reference to write_map. + * ldlang.c (lang_one_common): Likewise. + * lexsup.c (parse_args): Likewise. + +Fri Feb 25 19:12:03 1994 Ian Lance Taylor (ian@cygnus.com) + + * scripttempl/elf.sc: Force all sections to be aligned. + + * ldgram.y (section): Reverse the order of memspec_opt and + fill_opt to avoid an ambiguity when both are used. + * ld.texinfo: Changed accordingly. + + * ldgram.y: Move include of ldlex.h back with other includes. + * ldlex.h (input_type): Don't initialize enum constants to + particular values. + * ldlex.l: Use a switch to return the right token based on + input_type, rather than knowing that input_type has a value based + on a token type. + + * ldgram.y (dirlist_ptr): Removed; not used. + * lexsup.c: Include ldver.h. + * Makefile.in: Rebuilt dependencies. + +Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com) + + * ldlang.c (lookup_name): don't call bfd_set_gp_size. + (ldlang_add_file): call it here instead. + +Fri Feb 25 18:13:46 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * ldgram.y: Include ldlex.h after %token decls, for byacc. + +Fri Feb 25 10:47:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * emultempl/hppaelf.em: First attempt to clean this file up. + Add comments in several functions as to their purpose and + how they function (or my current best guess). Clean up horrible + spacing and indention that never should have been accepted in the + first place. Add FIXMEs for issues which need to be resolved. + Disable linker-stub generation until it gets fixed. This allows + the linker to at least work on simple code for testing purposes. + + * ldlang.c (lang_size_sections): No longer static (PA ELF calls + it via hppaelf_finish). Prototype moved into ldlang.h. + (lang_process): Move problematic extra call to lang_size_sections + into the PA ELF specific code. + * emultempl/hppaelf.em (hppaelf_finish): Extra call to + lang_size_sections moved here. + +Thu Feb 24 16:47:33 1994 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (powerpc-*-elf*): New target; use ppc-elf32. + * config/ppc-elf32.mt: New file. + * emulparams/elf32ppc.sh: New file. + * emultempl/ppc.em: New file. + * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o. + (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc. + (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h. + +Thu Feb 24 12:27:07 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * lexsup.c (parse_args): Use symbolic numbers for long options. + Fix misunderstanding in -Y and -call_shared et al. + + Use getopt instead of lex and yacc to parse the command line. + + * ld.texinfo (Options): Document changes to option syntax. + * Makefile.in: Update dependencies. + * ldver.c (help): Tweak dashes in usage message. + * ldgram.y (%union): Remove unused members. + Remove %tokens for command line options; add ones for input types. + (command_line): Rules removed. + (file): Instead of command line, recognize an + input type indicator, then use the nonterminal for that type. + (defsym_expr): New nonterminal from code formerly in command_line. + * ldlex.h: Declare parser input type enum and variable. + Don't declare parse_line. + * ldlex.l: Remove unused variables. Make some used ones static + and comment them. + (COMMAND): Start state and its rules removed. + At start of yylex, return input state token if at start of input. + (lex_redirect): Don't need to set yyout. + (ldlex_command): Function removed. + * ldmain.c (main): Instead of calling parse_line, set up the + redirections and call yyparse directly. + * ldmisc.c (vfinfo): If there's no input filename, print nothing, not + "command line". + * lexsup.c: Remove #if 0'd code. + (parse_line): Function removed. + (parse_args): Rewrite to use getopt_long_only. + (set_default_dirlist): New function from code formerly in + ldgram.y:command_line. + (set_section_start): New function. + * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em, + emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose + compiled-in link scripts in "{" and "}", as the grammar no longer + wants them to be. + +Thu Feb 24 08:43:26 1994 Ken Raeburn (raeburn@rtl.cygnus.com) + + * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't + require that it be in $(srcdir). + +Tue Feb 22 09:21:18 1994 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (lang_size_sections): Only align section to alignment + required by linker script, not to maximum alignment of input + sections. + + * ldlang.h (largest_section): Don't declare. + * ldlang.c (largest_section): Don't define. + (size_input_section): Don't set largest_section; not used. + +Mon Feb 21 15:15:29 1994 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (new_afile): Pass NULL as last argument to concat. + +Thu Feb 17 15:51:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c, ldmain.c: Include libiberty.h. + + * ldmisc.h (concat): Don't declare. + * ldmisc.c (concat): Don't define; just use the one in libiberty. + + * ld.h (as_output_section_statement): Removed; not used. + +Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and + bfd_set_error and new error names. + +Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ldwrite.c (build_link_order): If the cooked size of the section + has been set, use it, for determining link_order size. + (ldwrite): In the error message displayed if bfd_final_link fails, + indicate that it was in fact the final link step that failed. + + * ldlang.c (lang_size_sections): Clear bfd_error before calling + bfd_relax_section, in case it returns false but doesn't flag an + error. If an error is returned, indicate which one it is in the + error message. + + * Makefile.in (install-info): Depend on ld.info, and use "$<*" so + it'll get picked up from $(srcdir) if appropriate. + +Tue Feb 15 16:32:04 1994 David J. Mackenzie (djm@rtl.cygnus.com) + + * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set. + * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT. + +Fri Feb 11 17:02:49 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldlex.l (comment): Increment line number when newline is read. + +Fri Feb 11 17:36:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (lookup_name): Take new argument, force_load. If true, + reload the file even if it is already loaded. + (wild): Call lookup_name with force_load argument of 0. + (open_input_bfds): Call lookup_name with force_load argument of 1. + (print_symbol): Remove declaration of non-existent function. + (print_one_symbol): Return true rather than falling off end. + +Thu Feb 10 11:52:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (main): Use %ld when printing long values. + + * scripttempl/elf.sc: Move _edata after the .sdata section. + Permit OTHER_BSS_SYMBOLS to be defined. + * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss. + +Mon Feb 7 16:31:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Rename all "hppaosf" files to "hppaelf". + * Change all "osf" references to "elf" in hppaelf files. + * Makefile.in: Likewise. + * configure.in: Likewise. + +Sun Feb 6 20:31:56 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmain.c (main): Call xatexit, not atexit. + Call xmalloc_set_program_name. + + * ldlang.c (lang_size_sections): Check if bfd_relax_section set + bfd_errno. + +Sat Feb 5 03:54:34 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * emultempl/lnk960.em (append), emultempl/hppaosf.em + (hppaosf_finish): Call xmalloc, not ldmalloc. + * ldmain.c (preserve_output): Function removed. + (main): Do it here instead. + +Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused) + GNU C specific macros. + + * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining + call to LANG_FOR_EACH_INPUT_SECTION. + +Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions + deleted; will use libiberty versions instead. + * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c + mri.c Makefile.in: Change callers. + + * ldmisc.c (vfinfo): Remove cleanup code. + * ldmain.c (remove_output): Put it here (new function). + (preserve_output): New function. + (main): Register remove_output and preserve_output with atexit. + * ldmain.c ldgram.y: Call xexit instead of exit. + * ldmisc.h: Declare xexit. + +Fri Feb 4 15:19:01 1994 Steve Chamberlain (sac@cygnus.com) + + * Makefile.in: Lots of new H8/500 memory models. + +Sun Jan 30 14:33:40 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ldlex.l: Removed duplicate rules. + (yywrap): Provide default definition, needed with some versions of + flex. + +Fri Jan 28 09:12:56 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print + the archive filename too. + + * ldlex.l: Add rule to catch invalid input characters instead of + printing them. Include "ldmain.h" for program_name decl. + (lex_warn_invalid): New function. + * Makefile.in: Add dependency. + +Fri Jan 28 12:58:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * Makefile.in (check): Don't bother running any tests of + cross-linker until the test suite no longer assumes native mode. + +Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * ldlang.c (print_one_symbol, print_input_section): Print + global symbols in symbol table again. + +Thu Jan 27 12:35:01 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given, + exit successfully instead of complaining if no input files are + given. + +Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com) + + * Makefile.in: Format variable definitions consistently. + (LD_PROG): Remove unnecessary variables from link command, + change variable LOADLIBES to EXTRALIBS. + + * ldmain.c (main): Compute and display total execution time. + * ld.texinfo (-stats): Document the option. + +Mon Jan 24 12:56:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (reloc_overflow): Added name, reloc_name and addend + arguments. + + * ldlang.c (lookup_name): Set BFD GP size to -G argument value + after opening BFD. + + * ldlang.c (relaxing): Removed global variable. + (lang_size_sections): If the canonical symbols have not already + been read in, read them in before relaxing. + * ldlang.h (relaxing): Removed declaration. + +Fri Jan 21 00:44:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (new_afile): Initialize loaded field to false. + (lookup_name): If file was already loaded, don't call the + add_symbols entry point again. + +Wed Jan 19 13:57:00 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ld.texinfo: Clarify what -T option does. + +Tue Jan 18 16:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's + for a.out. + +Tue Jan 11 13:22:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (add_archive_element): If trace_files or + trace_file_tries, print file name. + * ldlang.c (lookup_name): Likewise. + (ldlang_add_file): Don't put files on input_bfds list in reverse + order. + + * scripttempl/elf.sc: Correct typo. + +Mon Jan 10 19:49:05 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and + their arguments optional, for compatibility with the old GNU ld. + +Fri Jan 7 20:00:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/elf.c: Define __bss_start before the .sbss section. + +Thu Jan 6 00:13:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (add_to_set): Add bitsize argument. + (constructor_callback): New function. + (link_callbacks): Add constructor_callback. + * ldctor.c (struct set_info): Add bitsize field. + (ldctor_add_set_entry): Add bitsize argument. + (ldctor_build_sets): Base the size of the elements of the set on + the bitsize, rather than always using LONG. + * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration. + + * ld.h (QUAD_SIZE): Define. + * ldgram.y (QUAD): New token. + (length): Handle it. + * ldlex.l: Return QUAD. + * lexsup.c (keywords): Add QUAD. + * ldwrite.c (build_link_order): Handle QUAD. + * ldlang.c (print_data_statement): Handle QUAD. + (lang_size_sections): Likewise. + (lang_do_assignments): Likewise. + * ldexp.c (exp_print_token): Add QUAD to table. + * ld.texinfo: Describe QUAD. + + * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections, + since the Alpha doesn't use them. + +Wed Jan 5 17:42:16 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldemul.h (ld_emulation_xfer_struct): Comment the members. + +Sat Jan 1 13:39:31 1994 Rob Savoye (rob@darkstar.cygnus.com) + + * Makefile.in, configure.in: Add support for VSTa micro-kernel. + * config/vsta.mt, emulparams/vsta.sh: New files for VSTa. + +Sat Jan 1 10:53:35 1994 David J. Mackenzie (djm@thepub.cygnus.com) + + * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating; + needed for i386mach. (Should be a no-op on other systems.) + + * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again. + (PAGE_SIZE): Don't define; not used. + +Fri Dec 31 16:12:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldgram.y (yyerror): Make argument const char *, and actually + print it out rather than assuming it is a syntax error. + * ldmisc.h: Change declaration of yyerror. + * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate. + +Fri Dec 31 11:37:28 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include + exec header offset, since the exec header isn't loaded. + (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c. + +Thu Dec 30 13:01:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + A major rewrite to move the bulk of the linker into BFD so that + more efficient backend code can be written for specific object + files. + * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h, + ldwarn.c, ldwarn.h, relax.c, relax.h: Removed. + * ldctor.c, ldctor.h: Complete rewrite. + * ldwrite.c, ldwrite.h: Complete rewrite. + * ld.h (strip_symbols_type, strip_symbols): Removed. Use + link_info.strip instead. Changed all uses. + (discard_locals_type, discard_locals): Removed. Use + link_info.discard instead. Changed all uses. + (ld_config_type): Removed relocateable_output field; use + link_info.relocateable instead; changed all uses. Added stats + field. + (set_asymbol_chain, get_asymbol_chain, get_loader_symbol, + set_loader_symbol): Removed. + * ldexp.h (node_class): Added etree_rel. + (etree_type): Added rel field. + * ldexp.c (exp_print_token): Bracketed table initialization. + (exp_relop): New function. + (fold_name): Use linker hash table rather than ldsym functions. + (exp_fold_tree): Likewise. Also, handle etree_rel case. + (exp_print_tree): Handle etree_rel. + * ldgram.y (strip_symbols, discard_locals): Removed. + (OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them. + (REL): New token. Does not appear in grammar, but needed for + expression code. + (file): Don't call lang_final; it's called by main anyhow. + * ldlex.l: Accept -stats and -no-keep-memory options. + * ldlang.h (fill_type): Make unsigned int, not unsigned short. + * ldlang.c: Consistently use fill_type for fill argument. + (lang_init_script_file, script_file): Removed. + (create_object_symbols): Removed. Use + link_info.create_object_symbols_section instead. Changed all + uses. + (lang_add_keepsyms_file): Removed. + (lookup_name): Call bfd_link_add_symbols instead of + ldmain_open_file_read_symbol. + (wild): Don't iterate over script_file. + (open_output): Create link hash table. + (lang_place_undefineds): Rewrote. + (lang_size_sections): Handle relaxing (doesn't work yet). + (lang_relocate_globals): Removed. + (lang_finish): Use link hash table rather than ldsym functions. + (lang_common): Rewrote. + (lang_one_common): New function. + (ldlang_add_file): Add file to link_info.input_bfds list. Set + usrdata. + (create_symbol): Removed. + (lang_process): Don't call lang_init_script_file. Call + ldctor_build_sets rather than find_constructors. Don't call + lang_relocate_globals. + (lang_abs_symbol_at_beginning_of): Rewrote. + (lang_abs_symbol_at_end_of): Rewrote. + * ldmain.c (had_y): Removed. + (lprefix, lprefix_len): Removed; use link_info fields instead. + Changed all uses. + (multiple_def_count, commons_pending, undefined_global_sym_count, + total_symbols_seen, total_files_seen): Removed. + (link_callbacks, link_info): New variables. + (main): Initialize link_info. Don't call init_bfd_error_vector or + ldsym_init. Don't set now unused variables. Handle -stats. + (get_emulation): Removed obsolete and nonfunctional GNU960 code. + (add_ysym): Rewrote. + (read_entry_symbols, refize, enter_global_ref, enter_file_symbols, + search_library, gnu960_check_format, decode_library_subfile, + linear_library, symdef_library, clear_syms, subfile_wanted_p): + Removed. + (add_keepsyms_file, add_archive_element, multiple_definition, + multiple_common, add_to_set, warning_callback, undefined_symbol, + reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym): + New functions. + * ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't + require symbols for %C; look them up instead. + * emultempl/hppaosf.em: Pass link_info to + hppa_look_for_stubs_in_section. + * Makefile.in: Rebuilt dependencies. + (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and + relax.c. + (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and + relax.h. + (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h, + ldlang.h and ldctor.h. + + * Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove + declarations of free and malloc from flex output. Change malloc + to ldmalloc in flex output. + +Thu Dec 16 21:19:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * ldmain.c (lprefix): Change default from a char to a string + with only one character. + (lprefix_len): Set default to one. + + * ldmain.h (lprefix_len): Declare. + + * ldsym.c (write_file_locals): Use strncmp rather than a character + comparison for lprefix. + + * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len + correctly. + + * emultmpl/hppaosf.em: Include ldexp.h. + (before_parse): Set lprefix and lprefix_len correctly. + +Tue Dec 14 17:19:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlex.h: Don't declare yywrap if it is a macro. + * ldlex.l: Include sysdep.h. + * ldlang.c (lang_for_each_statement_worker, + lang_for_each_statement): Forgot to use PARAMS. + +Mon Dec 13 14:30:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in: Added .PHONY targets where appropriate. Added some + comments. Also: + (gcclibdir, version): Removed unused variables. + (DEP): New variable, set to mkdep. + (ALL_CFLAGS): New variable. Used in .c.o target. + (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New + variables. + (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES, + GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed + mostly obsolete variables. Adjusted remaining uses. + (DEF_EMUL): Removed variable. + (ldmain.o): Handle undefined EMUL error correctly. + (ldemul-list.h): Depend on config.status rather than Makefile. + Create via temporary file. + (ver960.c, roll, make): Removed obsolete targets. + (.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild + dependencies. + * dep-in.sed: New file, used when rebuilding dependencies. + +Sat Dec 11 14:43:44 1993 Ian Lance Taylor (ian@deneb.cygnus.com) + + Made many changes to eliminate gcc warnings. Made various + cosmetic changes, declared various things in header files, removed + various extern declarations from .c files. No substantive + changes. + + * ldlang.c (lang_process): Ifdef out final call to + lang_size_sections again (reverting change of Nove 2), since it + breaks the Sun4 linker. + +Thu Dec 2 16:31:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (alpha-*-netware*): New target; use alpha. + +Wed Dec 1 14:04:20 1993 Ken Raeburn (raeburn@cygnus.com) + + * configure.in: Group targets by CPU. Merge some m68k target + entries with different CPU specs that use the same ld_target + values. + + * configure.in: Add sparc*-*-coff. + * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files. + * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o. + (em_coff_sparc.c): Add dependencies and build rules. + + * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare. + +Wed Dec 1 12:19:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval): + New tokens. + (command_line_option): Accept and ignore them (for now). + * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On + where n is a number. + +Mon Nov 22 14:14:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (subfile_wanted_p): If merging a common symbol which is + not in bfd_com_section, create the section in the BFD so that it + can be placed in the right output section. + +Fri Nov 19 14:12:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32. + * emulparams/elf32mipsb.sh (DATA_ADDR): Define. + (OTHER_READONLY_SECTIONS): Define for .reginfo. + (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK. + * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating. + Move OTHER_READONLY_SECTIONS after all the other readonly + sections. Don't use DATA_ADDR twice. + + * ldmain.c (enter_file_symbols): Removed duplicate tests of p. If + p is in a common section, make sure the BFD has a section of that + name. + + * ldlang.c (lang_common): Add newline to error message. + +Thu Nov 11 15:54:41 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a + Lynx-specific script instead of m68kcoff. + (OUTPUT_FORMAT): Define as "coff-m68k-lynx". + (ENTRY): Define as __main. + (TEXT_START_ADDR): Define as 0. + (PAGE_SIZE): Define as 0x1000. + * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment. + * scripttempl/m68klynx.sc: New file. + +Mon Nov 8 12:00:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3 + arguments rather than treating them as emulation names. + +Fri Nov 5 09:02:52 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com) + + * configure.in: Support x86 unixware and netware plus generic netware. + +Fri Nov 5 21:47:55 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): + Correct values (?). + +Wed Nov 3 15:10:15 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * Makefile.in (distclean): Don't delete dvi or info files. + (ld.info): Update dependency list. + (ld.dvi): Ditto. Extend TEXINPUTS to get bfdsumm.texi. + +Wed Nov 3 12:07:39 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT. + Set output_filename instead of creating a new node. + (open_output): Don't set output_filename. + (lang_final): Create the new node here. + * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT. + +Tue Nov 2 15:45:51 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + From Pete Hoogenboom (hoogen@cs.utah.edu): + + * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext, + edata, _edata, end): Add definitions of these symbols. + (__end): Remove definition of this symbol. + (__data_start): Move definition of this symbol. + + * emultempl/hppaosf.em: Various fixes and support for linker stub + generation. + (hppaosf_finish, hppaosf_search_for_padding_statements, + hppaosf_create_output_section_statements): New functions in + support of linker stub generation. + (ld_hppaosf_emulation): Redefine to include new + emulation-specific routines. + + * ldlang.c (lang_process): Re-enable last call lang_size_sections. + Pass abs_output_section rather than NULL to avoid invalidating + absolute symbols. + +Thu Oct 28 21:16:42 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o. + (em_i386mach.c): New rule. + * configure.in (i[34]86-*-mach*): New case. + * config/i386-mach.mt: New file. + * emulparams/i386mach.sh: New file. + +Fri Oct 29 14:55:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ld.h (flag_is_*): Removed macros. + * ldmain.c (enter_global_ref), ldsym.c (write_file_locals): + Consistently check the BFD symbol flags directly, rather than + using file_is_* macros. + +Thu Oct 28 19:08:42 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in (sparc*-*-lynxos*): New target. + * Makefile.in: Add rule for em_sparclynx.c. + (ALL_EMULATIONS): Add Lynx emulations. + * config/sparc-lynx.mt: New file. + * emulparams/sparclynx.sh: New file. + * scripttempl/sparccoff.sc: New file. + +Thu Oct 28 13:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * Makefile.in: Add dependency for $(EMULATION_OFILES). + +Mon Oct 25 16:09:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * relax.c (write_relax): Check return value of bfd_seclet_link. + +Mon Oct 25 09:31:21 1993 Ken Raeburn (raeburn@cygnus.com) + + * ldlang.c (delete_output_file_on_failure): New variable. + (open_output): Set it after bfd open succeeds. + * ldmisc.c (vfinfo): Test it. + + Changes from Peter Hoogenboom, hoogen@cs.utah.edu: + + * ldsym.c (write_file_locals): Set the BSF_FILE flag for object + symbols. + + * ldemul.c: Support was added to allow emulation-specific + processing to occur. This support was added primarily for linker + stub generation in the elf32-hppa gld. + (ldemul_finish, ldemul_create_output_section_statements): New + functions. + * ldemul.h: Support was added to allow emulation-specific + processing to occur. (As described above.) Added finish and + create_output_section_statements fields to + ld_emulation_xfer_struct structure. + * ldlang.c: Add calls to emulation-specific routines. + (lang_process): Add call to + ldemul_create_output_section_statements function. + (lang_process): Add call to a emulation-specific routine (and + some processing after the call). + +Fri Oct 22 20:54:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: mips*- instead of mips-, mips*el changes + +Tue Oct 19 15:46:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (alpha-*-osf*): New target; use alpha.mt. + * Makefile.in (ALL_EMULATIONS): Added em_alpha.o. + (em_alpha.c): New target; use alpha.sh and alpha.sc. + * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define. + * config/alpha.mt: New file. + * emulparams/alpha.sh: New file. + * scripttempl/alpha.sc: New file. + +Fri Oct 15 02:20:04 1993 Doug Evans (dje@canuck.cygnus.com) + + * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle + types of different sizes (eg: 64 and 32 bits), so coerce. + * ld.h (ALIGN_N): Add warning about usage. + +Wed Oct 13 16:02:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldmain.c (enter_global_ref): Just ignore any weak symbol for + which we already have a definition, rather than checking in + several different places whether the symbol is weak. + +Tue Oct 12 17:30:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * configure.in (mips-*-elf*): New target; use mipsb-elf32. + * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and + OTHER_READWRITE_SECTIONS if relocating. Shell variables are not + expanded within them. + * config/mipsb-elf32.mt: New file. + * emulparams/elf32mipb.sh: New file. + * Makefile.in (em_elf32mipb.c): New target. + +Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com) + + * ldgram.y: In input_list, change lang_input_file_is_file_enum to + lang_input_file_is_search_file_enum so objects brought in using + INPUT() do a path lookup. + +Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx + instead of {i386,m68k}-coff. + * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets. + * config/i386-lynx.mt: New file. + * config/m68k-lynx.mt: New file. + * emulparams/i386lynx.sh: New file. + * emulparams/m68klynx.sh: New file. + + * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY}, + but defaulting to _start. + + * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h, + ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with + LynxOS libc. + +Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/solaris2.mh: New file. Define HOSTING_CRT0 and + HOSTING_LIBS for testing. + +Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Finish up support for i386-sysv4 (without shared libraries): + * ld.h (flag_is_weak): Define. + * ldlang.c (print_symbol): Mention whether symbol is weak. + (print_input_section): Print weak symbols as globals. + * ldmain.c (refize): Do not zero out BSF_WEAK flag. + (enter_global_ref): Do not warn if a weak symbol redefines a + global symbol. Do not let a weak symbol redefine a common symbol. + (enter_file_symbols): Treat weak symbols as global symbols. + (subfile_wanted_p): Do not pull in an object file from a archive + just to resolve an undefined weak symbol. + * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal + error; the error might be that malloc has run out of space. + * ldsym.c (write_file_locals): Treat weak symbols as global. + * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets; + use i386-elf. + * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib. + * config/i386-elf.mt: New file; set EMUL to elf_i386. + * emulparams/elf_i386.sh: New file. + * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0). + * Makefile.in (NATIVE_LIB_DIRS): Define to be empty. + (ALL_EMULATIONS): Add em_elf_i386.o. + (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument. + (em_elf_i386.c): New target, like other em_*.c targets. + ($(LD_PROG)): Pass $(CFLAGS) to $(CC). + * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If + nonempty, and configured for native, add it to LIB_PATH. + +Fri Sep 17 13:07:39 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}: + Added statements to pass stab and stabstr sections through and + mark them as NOLOAD, which makes GDB happier. + +Wed Sep 15 16:02:29 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: Accept m68k-lynx-lynxos config. + + * Makefile.in: Use $(SHELL) to run genscripts.sh. + +Sun Sep 12 16:04:40 1993 Doug Evans (dje@cygnus.com) + + * config/coff-h8300.mt: Add EMUL=h8300h. + + * ldmain.c (main): Call set_scripts_dir after argv has been processed. + +Fri Sep 10 09:36:29 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Changed CXX back to g++. + +Fri Sep 10 09:34:29 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule. + +Fri Sep 10 07:26:57 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (TAGS): Use shell wildcards. + +Tue Sep 7 18:04:54 1993 Jeffrey Osier (jeffrey@cygnus.com) + + * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target + +Fri Sep 3 16:46:41 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * ld.texinfo: re-enable included config file; conditionalize doc + for -oformat to interact properly with SingleFormat doc config + var; rename @up/@down to @raisesections/@lowersections. + +Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * configure.in: recognize m88110. + +Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>: + * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA + ELF emulation is "elf32-hppa" not "elf-big". + (hppaosf_before_parse): Remove unneeded processing of environment + variables. + * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in + .text segment of output file. + * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa. + +Tue Aug 24 16:17:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no + longer in bfd.h. + + * ldlang.c, ld.h: updated copyright. + +Tue Aug 17 15:22:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (open_output, lang_check): Check return value of + bfd_set_arch_mach. + +Tue Aug 17 07:02:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * scripttempl/h8500.sc: Start all sections in a different segment. + * scripttempl/z8ksim.sc: Handle constructors + +Thu Aug 12 16:05:37 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: revert earlier changes back to execute runtest + with make check. cdtest and bootstrap now function as they + did within the Makefile. + +Thu Aug 12 10:20:05 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in: Update dependencies. + + * configure.in: Set EMULATION_OFILES in Makefile based on + --with-targets option. + +Thu Aug 12 08:52:29 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: check targets reimplemented to old way. + +Wed Aug 11 08:26:11 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/i386v.mh, config/irix4.mh: Use gcc + -print-libgcc-file-name rather than $(libdir)/libgcc.a. + * config/i386sco.mh: New file; copy of i386v.mh to correspond to + bfd/configure.host change. + +Mon Aug 9 14:25:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * scripttempl/elf.sc: Handle .line and .debug* sections. + + * ldlex.l: Use bfd_scan_vma, not strtoul. + +Fri Aug 6 08:57:39 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c: + Remove inital caps in some error messages, change "can't" to + "cannot", add missing colons. + * ldmisc.c (vfinfo): Print "%%" as a single %. + For '%' followed by unrecognized character, print them both + verbatim instead of expecting a char * arg. + For '%C', don't put the function name in parens. + + * ldexp.c (invalid): Pass "%%", not "% ". + +Fri Aug 6 14:31:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss. + (BSS_VAR): Removed; now always define _fbss. + * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR): + Removed. + +Thu Aug 5 15:55:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.in: z8k-coff is the same as z8k-sim + +Wed Aug 4 21:00:18 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * testsuite/lib/ld.exp: new file + * testsuite/config/unix-ld.exp: new file + * testsuite/ld.bootstrap/bootstrap.exp: new file + * Makefile.in: add dejagnu support for make check + +Wed Aug 4 17:52:32 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldlex.l (comment): Add missing newline in message. + * ldindr.c (add_indirect): Ditto. + * ldexp.c (exp_fold_tree): Ditto. + +Tue Aug 3 10:57:41 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons + into externs. + + * ldmisc.c (multiple_warn): New function. + * ldmisc.h: Declare it. + * ldmain.c (enter_global_ref): Call it. + * ld.h (ld_config_type): Add warn_common. + * ldlex.l, ldgram.y: Set it with -warn-common option. + * ldver.c (help): Document it. + +Mon Aug 2 12:04:36 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and + target-specific sections, and for changing data section vma. + +Mon Jul 26 14:00:02 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New + terminals, for Solaris. + (dirlist_ptr): New static variable. + (command_line_option): Accept new options. + + * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and + "-YP,...". + + * config/sun4sol2.mt: Pass emulation name without ".sh". + + * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c. + * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly. + +Fri Jul 23 13:51:09 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * scripttempl/elf.sc: Add support for .init, .fini, .ctors, + .dtors, .data1, .rodata1 sections, instead of combining them into + other sections. For `-r', set all section start addresses to + zero. + + * emulparams/elf32-sparc.sh (TEXT_START_ADDR, + NONPAGED_TEXT_START_ADDR): Value should be 0x10100. + (MAXPAGESIZE): Renamed from PAGE_SIZE. + +Wed Jul 21 14:28:42 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * genscripts.sh: If this is the default emulation, set + COMPILE_IN. + * emultempl/*.em: Use it to determine whether to compile in the + scripts. + + * Makefile.in (GENSCRIPTS): Pass the default emulation name to + genscripts.sh. Pass the current emulation name without ".sh" on + the end. + * genscripts.sh: Take an default emulation arg. + Use the current emulation name as EMULATION_NAME. + Make default lib path for cross-compiling ':', not null. + * emulparams/*.sh: Don't set EMULATION_NAME. + * ldemul.c (ldemul_get_script): Take isfile arg. + Pass it to emulation's get_script function. + * ldemul.h: Adjust get_script prototypes. + * ldfile.c (ldfile_find_command_file): Renamed from find_a_name. + No longer static. + * ldfile.h: Declare it. + * ldgram.y: Accept a script on the command line again, + for parsing compiled-in scripts. + * ldmain.c (main): If ld script is a file, parse it as a -T + option, otherwise parse it directly. + * emultempl/*.em (*get_script): Return the scripts themselves if + this is the default emulation; otherwise return their file names. + * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of + generic.em. + * emulparams/m88kbcs.sh: Use it. + + * ld.h (ld_config_type::unix_relocate): Remove unused element. + +Tue Jul 20 12:01:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which + there's no change log entry yet, tsk tsk) from the list of + emulations compiled in until Mark gets around to checking in + emulparams/i386linux.sh. + (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is + changed, this file gets updated. + +Fri Jul 16 14:14:32 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldgram.y (OPTION_Lfile): New token. + (command_line_option): Accept OPTION_L NAME (whitespace after -L). + * ldlex.l (<COMMAND>): Accept -L without FILENAME. + +Fri Jul 16 13:44:26 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: h8/300h support needs own .mt file. + config/coff-h8300h.mt: New file. + +Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmain.c: Don't include sys/stat.h; it already got included + somewhere along the way. + +Thu Jul 15 14:43:34 1993 Doug Evans (dje@canuck.cygnus.com) + + * Makefile.in: Add h8300h support. + emulparams/h8300h.sh: New file. + scripttempl/h8300h.sc: New file. + +Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldfile.c (ldfile_open_file): In error message, use the name the + user gave (e.g., "-lc"), rather than the base file name. + + * ldexp.c (exp_fold_tree): Don't assign an int to an enum. + + * ldmain.[ch]: Remove initial Q_ from function names. + * ldexp.c, ldindr.c, ldlang.c: Change callers. + + * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries. + + * ldlang.c (lang_process): Move loading of default script from + here to main. Add a "/" to start of script name to prevent + finding it in "." first. + + * ldmain.c (set_scripts_dir): Don't look in "." first. + + * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var + option_longmap. + +Thu Jul 15 10:55:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (em_m88kbcs.c): Correct dependency. + * scripttempl/m88kbcs.sc: It's ARCH, not arch. Removed TARGET + statement. Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}. + * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs. + +Wed Jul 14 21:42:53 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldfile.c (ldlang_open_file, ldfile_open_command_file), + main.c (main): Print the errno string in the error message. + +Tue Jul 13 20:00:30 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Accept h8300h for target cpu. + + * ldmisc.c (vfinfo): Have demangle remove leading underscore if + present (demangle is smart enough to know whether to do it or not). + +Mon Jul 12 11:45:48 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for + ldscripts, as well as <ld bin dir> and SCRIPTDIR. + + * ldlang.c (lang_process): Use sizeof instead of magic constant. + + * ldmain.c (get_emulation, check_for_scripts_dir, + set_scripts_dir): New functions. + (main): Call them. + +Mon Jul 12 10:57:03 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * scripttempl/elf.sc: Include .init, .fini, .rodata sections. + Create symbol "end" instead of "__end". Comment out some parts + that may not be needed (yet) for elf. + + * configure.in: Accept sparc-elf and sparc-solaris2 configs. + +Thu Jul 8 15:33:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS). + + * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro + when no prototype is being supplied. + (ldmalloc, ldrealloc): Size argument is now size_t. + + * ldmisc.c (finfo): New function, accepts FILE* argument. + (vfinfo, case 'v'): New format character; displays bfd_vma in hex + without leading zeros. + (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a + bfd_vma value, instead of fprintf(%x) which won't hold a long long + value. + (concat, buystring): String lengths are size_t. + (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t. + + * ldlang.c (new_statement): Size argument is now size_t. Added + forward declaration with prototype. + +Thu Jul 8 10:53:47 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldgram.y (OPTION_v): Don't turn on verbose output. + +Wed Jul 7 17:10:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * ldlex.l: Get rid of local typedef for bfd_vma! Get it from + bfd.h instead. + +Wed Jul 7 11:33:12 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): Don't install as $(tooldir)/bin/gld; + collect2 doesn't look for gld any more anyhow. + +Mon Jul 5 14:29:48 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (lang_relocate_globals): Skip indirect symbols, which + now have a non NULL srefs_chain. + + * config/hp300hpux.mt: Use emulation hp3hpux rather than + hp300hpux, since the latter does not exist. + +Fri Jul 2 18:06:05 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * genscripts.sh: Put the scripts in the ldscripts directory, not + emulations. + * configure.in (ldscripts): Make, instead of emulations. + * Makefile.in (scriptdir): Take off the "ld" part. + (install, clean, distclean): Use ldscripts, not emulations. + In tests, don't pass -Lemulations. + Don't pass tooldir/lib to genscripts.sh. + * genscripts.sh: Don't take tooldir/lib arg. + * ldlang.c (lang_process): Add "ldscripts/" to the name of the + default script file. + +Fri Jul 2 17:13:35 1993 Doug Evans (dje@canuck.cygnus.com) + + * scripttempl/h8300.sc: Add .tors section for constructor/destructors. + +Thu Jul 1 16:38:45 1993 Doug Evans (dje@canuck.cygnus.com) + + * config/coff-h8300.mt: EMUL=h8300hms -> h8300. + +Wed Jun 30 15:45:55 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (.y.c): skip default .y.c rules. gnu make can now + run in parallel without colliding on yacc's static file names. + Without the stub rule, make will try to start two yacc's + concurrently which fails because of yacc's static file names. + +Tue Jun 29 12:20:36 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldmain.c (subfile_wanted_p): Don't dump core if there are no + symbols. + +Mon Jun 28 12:22:11 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's + different from libdir. + + * Makefile.in (scriptdir): Base on tooldir, not datadir. + +Sat Jun 26 12:03:57 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldver.c (help): New function. + * ldver.h: Declare it. + * ldlex.l, ldgram.y: Recognize new options --help and --version. + +Mon Jun 21 20:39:48 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * Makefile.in (INCLUDES): Don't need ../include any more. + +Mon Jun 21 16:38:35 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldlex.l, ldgram.y: Support new -oformat option. + Remove attempt at supporting script fragments on the command line. + * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT. + * mri.c (mri_format), ldgram.y: Change callers. + * ldlang.h: Change prototype. + +Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com) + + * Makefile.in: canonicalize install.sh; for use within + this directory (and subdirs) + +Thu Jun 17 14:33:09 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldgram.y: Tweak grammar to make reporting of invalid options work. + + * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc + and .cc.o rule. + +Wed Jun 16 11:45:32 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldfile.c (ldfile_open_command): Don't try .ld extension. + It wasn't documented (or likely used) and wastes time. + (try_open): If EXTEN is empty, don't try it. + + * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c, + ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c, + ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls + with normal function declarations. + + * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh. + Move *.sc-sh to scripttempl/*.sc. + * {emultempl,emulparams,scripttempl}/README: New files. + * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files + removed, replaced with generic.em. + * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from + h8[35]00hms.s[ch]. Change their contents to omit the "hms". + + * *.em (*_get_script): Return script name instead of script contents. + * ldlang.c (lang_process): Change caller. + + * ldlex.l, ldgram.y: Recognize -m option. + Check for input files after *all* options in grammar. + * ldmain.c (main): Check for -m options. Add default directory + for -m. + + * mkscript.c: File removed. + * genscripts.sh: Take two more parameters, tooldirlib and libdir, + to add to the default LIB_PATH. + Look for input files in the new subdirectories. + Create the scripts in emulations subdirectory and don't filter + them through mkscript. + * configure.in: Make the emulations subdirectory. + + * Makefile.in: Account for all of the above changes. + Remove unused .SUFFIXES. Get libgcc.a path with gcc + -print-libgcc-file-name instead of $(libdir)/libgcc.a. + Put CFLAGS last in the compilation rules. + Add -I../bfd to INCLUDES so sysdep.h is found. + +Tue Jun 15 23:04:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (INCLUDES): Look in ../include, not ../bfd. + + * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO + dependent on RELOCATING, not RELOCATION. + * hp3hpux.sh (SHLIB_PATH): Define it. + +Mon Jun 14 19:06:15 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * ldfile.c (try_open): If opening without the extension fails, + try with the extension even if -v or -V was given. + had_script is imported (from ldgram.y), not exported. + +Mon Jun 14 16:26:10 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * Makefile.in: remove parentdir support, use INSTALL_XFORM + +Thu Jun 10 14:00:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldexp.c (exp_fold_tree): Don't lose the old flag bits. + * ldgram.y (statement_list_opt): New nonterminal, either empty or + statement_list. + (section): Use statement_list_opt, not statement_list. + * m68kcoff.sc-sh: Gather constructors and destructors and define + __CTOR_LIST__ and __DTOR_LIST__ appropriately. + * sa29200.sc-sh: Gather constructors and destructors and define + ___CTOR_LIST__ and ___DTOR_LIST__ appropriately. + +Mon Jun 7 12:53:28 1993 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h. + * configure.in: No longer need to configure to get sysdep.h. + +Fri Jun 4 16:18:24 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: remove install:all and install-info:info + dependencies (these cause some spurious rebuilds at 'make install' + time) + +Fri Jun 4 08:50:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mips-idt-ecoffl*): New target; use mips-idtl. + (mips-idt-ecoff*): Added trailing '*'. + * config/mips-idtl.mt: New file; use EMUL of mipsidtl. + * mipsidtl.sh: New file; like mipsidt.sh, but little endian. + * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o. + + * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and + incorrect definitions. + +Tue Jun 1 14:56:10 1993 Per Bothner (bothner@rtl.cygnus.com) + + * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR + symbols, unless stripping. + +Tue May 25 15:34:25 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: configure looks for ####, so remove lines with many + '#' characters. + * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0 + and HOSTING_LIBS correctly so that ``make check'' will work. + +Thu May 20 13:56:16 1993 Per Bothner (bothner@deneb.cygnus.com) + + * mips.sc-sh: Define _etext, _edata, and _end, in addition + to etext, edata, and end. Needed for IRIX 4.0.5F. + Patch from mwp@iconix.oz.au (Michael Paddon). + + * Version 2.2.1 released. + +Thu May 20 11:42:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh. + * mipsbsd.sh (EMULATION_NAME): Use new file name. + +Tue May 18 17:10:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it + properly right now. + + * Version 2.2 released. + +Mon May 17 15:37:28 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * ldver.c (ldversion): Bump version number to 2.2. + +Mon May 17 12:44:31 1993 Per Bothner (bothner@cygnus.com) + + * NEWS: New file. + +Fri May 14 11:26:24 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.sc-sh: Don't define BSS_VAR unless relocating. + +Wed May 12 13:33:29 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (mkscript.o, mkscript): Build mkscript via + mkscript.o, rather than directly from mkscript.c. + +Tue May 4 21:58:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Look for ${target_makefile_frag} relative to + ${srcdir}, not relative to build directory. + + * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files. + * configure.in: Recognize hppa*-hp-osf. + * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation. + (em_hppaosf.c): Build it. + * config/hppaosf.mh, hppaosf.mt: New files. + + * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with + some system header files. All uses changed. + + * configure.in: Recognize i386-aix configurations as i386-coff + targets. + + * configure.in: Recognize m68*-*-hpux. + * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output + the value of STACKZERO. + * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation. + (em_hp3hpux.c): Build it. + * hp3hpux.sh, config/hp300hpux.mt: New files. + +Tue May 4 12:37:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.sc-sh: Put constructors in the .data section. + * Makefile.in (cdtest): Added dependency on ld.new. + +Mon May 3 19:43:39 1993 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Change definition of $(tooldir) to match FSF. + * vax.sh, config/vax.mt, configure.in, Makefile.in: + Support VAX Ultrix and BSD. + +Mon Apr 26 18:35:47 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH. + +Wed Apr 14 21:01:51 1993 John Gilmore (gnu@cygnus.com) + + * ldlang.h (struct memory_region): Change `length' and + `old_length' fields to bfd_size_type. Eliminate use of bfd_offset. + * ldlang.c, mri.c: Corresponding changes, plus lint. + +Thu Apr 8 22:08:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: For all i386 targets, accept i486 as well. + +Mon Apr 5 17:33:39 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (wild_doit): Preserve all flags for a + SEC_SHARED_LIBRARY section. + (size_input_section): Consider any SEC_HAS_CONTENTS section when + computing largest_section. + +Fri Apr 2 14:33:52 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (lang_output_section_statement_lookup): Initialize all + fields of newly created structure. + +Wed Mar 31 18:19:15 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldmain.c (g_switch_value): New variable. + * ldgram.y (OPTION_G, OPTION_Gval): New tokens. + (command_line_option): Accept -G and set g_switch_value. + * ldlex.l (COMMAND): Accept -G. + * ldlang.c (open_output): Call bfd_set_gp_size on new BFD. + +Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + Support for linking and loading at different places: + + * ldlex.l: Add "AT" keyword. + * ldgram.y: Cleanup, and parse AT. + * ldlang.c (print_output_section_statement): Print output address + of section in map. (lang_size_sections): Fill sections' lma with + load address. + * ldlang.h (lang_output_section_statement_type): Add load_base + information. + + * ldindr.c (add_indirect): Keep more information in the alias + symbol chain. + * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section + attribute from an input section. + * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by + default. (Q_enter_file_symbos): Indirect symbols now are known by + their section, not a special symbol flag. + * ldsym.c (write_file_locals): Indirect symbols aren't local. + (write_file_globals): Write the mapping for an indirect symbol. + * relax.c (build_it): When forced to write a NEVER_LOAD section, + fill it with zeros. + +Tue Mar 23 13:24:10 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com) + + * ld.texinfo: changes for q1 + +Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck + +Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: rename HOST_CC to CC_FOR_BUILD + +Thu Mar 4 12:44:33 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.sc-sh: Added variables which may be overridden by a + specific emulation. + * mipsidt.sh: New file; emulation for IDT MIPS board. + * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o. + (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh. + * config/mips-idt.mt: New file; sets EMUL to mipsidt. + * configure.in (mips-idt-ecoff): New target; uses mips-idt. + +Sat Feb 27 00:00:14 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell, + ralphc@pyramid.com. + * i386bsd.sh, config/i386bsd.mt: New files. + * configure.in, Makefile.in: Added support for mipsbsd and 386bsd. + +Thu Feb 25 15:33:10 1993 Per Bothner (bothner@rtl.cygnus.com) + + * mri.c: Add extern declaration of strdup. + * ldsym.c (KEEP macro): Add spaces around '=' for the + sake of old (e.g. PCC) compilers. + +Wed Feb 24 19:49:31 1993 Per Bothner (bothner@rtl.cygnus.com) + + * ldver.c: Bump to version 2.1. + +Fri Feb 12 08:09:11 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldgram.y: allow section types without address expressions. + * ldlang.c (lang_relocate_globals): avoid possible hang with + undefined but unreferenced symbols. + * relax.c (relax_section): don't complain if the script file isn't + relaxable but -relax is set + +Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: go32 is the 3rd part of the triple, not the 2nd + +Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com) + + * mipsbig.sh: New file. Big endian MIPS emulation. + * config/mips-big.mt: New file. Use mipsbig emulation. + * configure.in (mips-sgi-irix*): Use target mips-big. + * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o. + (em_mipsbig.c): New target. Uses mipsbig.sh. + +Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.sc-sh: Put .scommon sections into .sbss section. + + * ldmain.c (subfile_wanted_p): Preserve section of common symbols, + rather than always putting them in bfd_com_section. + * ldlang.c (lang_common): If a common symbol is not in + bfd_com_section, put in a section of the same name, rather than + always putting it in section COMMON. + +Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldmain.c (subfile_wanted_p): If we already have a common + definition of a symbol, don't necessarily pull in an object file + that provides a non-common definition. + + * ldlex.l (COMMAND): Accept -EB and -EL command line arguments, + returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS + linker. + * ldgram.y (OPTION_EB, OPTION_EL): New tokens. + (command_line_option): Accept and ignore OPTION_EB and OPTION_EL. + +Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): Remove $(tooldir)/bin/gld before creating + the link to it. + +Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com) + + * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than + checking for equality to bfd_com_section. + +Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF + targets, linker script. + * mipslit.sh: New file. Little endian MIPS emulation. + * config/mips-lit.mt: New file. Use mipslit emulation. + * configure.in (mips-dec-ultrix*): Use target mips-lit. + * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o. + (em_mipslit.c): New target. Uses mipslit.sh. + +Thu Jan 14 15:30:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and + $(tooldir)/bin/gld, so that gcc can find it with or without + collect2. + +Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldwrite.c: Removed perform_relocation, copy_and_relocate, and + write_norel. All linking is now done via write_relax. Call + ldsym_write before calling write_relax. + * relax.c: Added copyright. + (write_relax): Renamed from write_relaxnorel. Added relocateable + argument. seclet_dump renamed to bfd_seclet_link. + * relax.h: Added copyright. + +Mon Jan 11 15:41:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmain.c (decode_library_subfile): Patch from + hoogen@shafer.cs.utah.edu, don't reread library symbol tables. + +Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/vxworks960.mt renamed to config/i960.mt + + * configure.in: sparc-aout emulates a sun4, as does + sparc*-vxworks, i960-nindy uses gld960 emulation + +Fri Jan 8 14:39:07 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + Fix support for NOLOAD, add INCLUDE + * ldfile.c (ldfile_open_command_file): pass file name to + lex_push_file. + * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD + * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD + attribute. + +Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in, config.h: no more default emulation. Make the lack + of emulation a compile time error + +Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognise all sparclite variants, not just 'sparclite' + +Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68kcoff.sc-sh: define _end as well as end, for consistency with + aout.sc-sh. + + * configure.in: accept *-ericsson-ose for any m68k CPU. + + * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag + for each output section. + +Mon Dec 21 16:06:59 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new + macro bfd_asymbol_bfd as appropriate. + * Makefile.in: Un-duplicate ldlex.c dependency. + * condigure.in: Replace my_host case table by sourcing + ../bfd/configure.host. Allow std-host as the default. + * ldmisc.c: Change logic for C++ name demangling: There is + no initial '_' to remove from stab-derived function names. + +Sun Dec 13 16:31:26 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.c (lang_init_script_file): don't attach the output file + sections to the script file. + +Wed Dec 9 08:38:05 1992 Steve Chamberlain (sac@thepub.cygnus.com) + * ldlang.c (wild): run expansion loop over command line bfd too. + (lang_ini_script_file): initialize more parts of the command line + bfd. + * ldlex.l: fix DEFINED start states. + +Mon Dec 7 08:43:41 1992 Steve Chamberlain (sac@thepub.cygnus.com) + -y support + * ld.texinfo: new doc. + * ldgram.y, ldlex.l: understand -y<symbol> + * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and + print info. (add_ysym): new function. + * ldsym.h: (ldsym_type): new define SYM_Y. + +Sat Nov 21 03:15:27 1992 John Gilmore (gnu@cygnus.com) + + * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c, + ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h, + ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue + macros with PARAMS. Recreational cleanup. Update copyrights. + +Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: pass down the bfd source directory for includes + +Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (lang_size_sections): don't change size and address for + SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD + sections. + +Thu Nov 5 11:33:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * relax.c (build_it): re-enable the processing of data_statements + in scripts, makes counted contructor lists work again. + +Thu Nov 5 05:43:01 1992 John Gilmore (gnu@cygnus.com) + + * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS). + +Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68kcoff.sc-sh: don't use initial underscores for etext, edata + and end. + +Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com) + + * Support for i386-sysv. + configure.in: check for i386-*-sysv* and i386-*-sco*. + i386coff.sc-sh: rewrote to support SVR3 by default. + ldctor.c (find_constructors): preserve stat_ptr. + ldlang.c (wild_doit): initialize vma and size of new output + section to corresponding input section. This is required for + shared library support. + (lang_size_sections): don't modify vma and size of sections which + are never loaded (for shared libraries). + ldwrite.c (copy_and_relocate): copy the contents of any section + which has contents, not just sections which are loaded (for shared + libraries). + +Thu Oct 15 15:20:26 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.c (size_input_section): count the sizes of all sections + we allocate. + +Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to + to demangle symbols better + +Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com) + + * ldlang.c (lang_finish): don't warn if -e start symbol does not + exist when linking with -r. + +Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com) + + * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the + .bss segment. + +Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmain.c (linear_library): don't even think about processing + an object file if it's already been done + +Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: the hp9000/300 config file is now hp300 + +Wed Sep 30 07:34:09 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/z8ksim.mt: new file + +Fri Sep 25 13:49:52 1992 Ken Raeburn (raeburn@kyriath.cygnus.com) + + * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o, + lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h. + + * ld.h (strip_symbols_type): Add value STRIP_SOME. + * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token. + * ldlang.c (lang_add_keepsyms_file): New function. + * ldlex.l: Handle "-retain-symbols-file". + * ldsym.c (keepsyms_file, kept_syms): New vars. + (process_keepsyms): New functihon; reads file, marks symbols for + saving. + (write_file_locals): File symbols should always be kept. + (ldsym_write): Warn about "-retain-symbols-file" overriding "-S" + and "-s". Process retain-symbols file before setting symtab. + * ldsym.h (SYM_KEEP): New flag for ldsym_type flags. + (keepsyms_file, kept_syms): Declare them. + + * ldmain.c (main): Non-fatal errors should still cause non-zero + exit status even with -r. + +Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Added initial support for the z8k + * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files + * configure.in, Makefile.in: modified to reflect above + + * ldlang.c (lang_check): when linking conflicting architectures, + make the output file reflect at least one of the bad inputs. + +Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (install): if $(tooldir) exists, install ld in + $(tooldir)/bin. + +Fri Sep 11 10:24:22 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in, configure.in: modified to support i386-coff + * i386coff.sh: new file + +Wed Sep 9 11:52:58 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt: + added m68k-coff emulation mode, stolen from a29k emulation. + Almost certainly wrong, but perhaps better than sun3. + +Thu Sep 3 14:19:30 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in, Makefile.dos, generic.em, genscripts.sh, + gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em, + vanilla.em: Rename all (generated) ld__*.c files to em_.c. + This is one character shorter, and lets people build on + SVR3 system. (ld__h8300xray.[co] was the killer there; + h8300xray.sc-sh is also overlong, but seems harmless.) + Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>. + * Makefile.in (clean): Fix typo mostclean -> mostlyclean. + * configure.in: Add host isc. + + * ldver.c: Call it version 2.0. + +Wed Sep 2 00:21:33 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldver.c: Bump to version 0.98. + * TODO: New file. + + * Makefile.in: Added mostlyclean, distclean, realclean rules. + +Tue Sep 1 23:42:16 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c). + * ldlex.l: Moved comment() to end, since some compilers + otherwise have problems with input() used before it is defined. + +Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: added Solaris 2 and Irix 4 host support. + +Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: remove -S flag from the FLEX definition + + * configure.in: rewrote, using new style case statement. use + m68k.mt for m68k-aout systems + +Sun Aug 30 21:38:53 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: map "ld" through program_transform_name when + installing. + +Sun Aug 30 18:12:13 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cplus-dem.c: Removed. Use the version in libiberty now. + * ldmisc.c: Use new libiberty version of cplus_demangle(). + +Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com) + + * gld960.em (gld960_choose_target): default to little endian, not + big endian. + +Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.c (lang_process): don't pass null pointers when + abs_output_section is what is required. + * ldwrite.c (ldwrite): use malloc to allocate the largest space + used, and pass that down. + * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather + than alloca. + +Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure.in, config/ose68.mt: renamed OSE to ose. + +Thu Aug 20 19:55:22 1992 Ken Raeburn (raeburn@cygnus.com) + + * ldsym.c (write_file_locals): Reorder check for common or + undefined symbols so that it works. + +Tue Aug 18 13:41:36 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: accept all m68K family members. + + * Makefile.in: always create installation directories. + +Thu Aug 13 11:49:34 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlex.l: now parses comment correctly, added ~ to acceptable + chars in filenames + + * ldexp.c (exp_unop): pass down abs_output_section - now can have + unary -ve constants. + + * ldlang.c (lang_finish): warn when an entry symbol supplied on + the command line can't be found. + +Fri Aug 7 12:31:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.h: add new field "loadable" to output_section_statement. + * ldlang.c (lang_output_section_statement_lookup): initilize new + field. (wild_doit): if new field is not set, then stop output + section from being loadable. + (lang_enter_output_section_statement): set the field from the + NOLOAD keyword + * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too. + * h8300hms.sc-sh, h8300hms.em: get -r right. + +Thu Aug 6 18:35:21 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldint.texinfo: New internals manual (beginnings thereof). + * PORTING: Removed, merged into ldint.texinfo. + +Tue Aug 4 21:12:29 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc, + cdtest.exp: A test program (copied from libg++/test-install) + that tests that constructor and destructors are handled + corrrectly. + +Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (install): install from ld.new, renaming during the + copy, or else the next 'make install' needs to re-link ld. + +Mon Jul 20 03:37:06 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * configure.in: generalise hp recognition (from sef). + +Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize bsd and hpux hppa configurations. + error messages echo to stderr, not stdout + +Fri Jul 17 22:06:11 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c, + ldmisc.c: removed rcsid's. + +Tue Jul 14 08:34:34 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.c (lang_map): print changes in sizes due to relaxing + (size_input_section): maintain the delta information. + * ldlang.h: add new field to struct to contain delta info. + * relax.c (relax_section): complain if input not relaxable. + * ldlex.l : add '_', ',' and '$' to chars which can appear at the + start of a filename + +Mon Jul 13 17:33:00 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmain.c(main): prevent -r and -relax from being on at the same + time. + +Wed Jul 1 17:51:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for + aliasing problems + + +Thu Jun 18 09:38:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300hms.em, h8300hms.sc-sh: do the right thing for -r + * ldexp.c: lint + * ldlang.c(open_output): set the target arch and machine as soon + as we can. (lang_size_sections): use new macros for setting vma + * ldwrite.c: lint + +Mon Jun 15 08:47:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * configure.in (my_target): Accept m680?0 for wrs as vxworks68. + Also deleted an unreachable path to wrs. + +Wed May 27 23:24:19 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * Makefile.in (install): use -d test for $tooldir before + installing ld there so that $tooldir can be inherited from + top-level Makefile. + +Wed May 27 16:56:48 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldlang.c: Two non-substantial changes for the sake of + the old Portable C Compiler. + +Wed May 27 15:15:58 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldgram.y, ldlex.l: parse ABSOLUTE + * ldexp.c: add support for ABSOLUTE + +Wed May 27 13:07:20 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in: Added default definitions for HOSTING_CRT0, + HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh. + * config/*.mh: Miscellaneous clean-up: Removed definitions + of YACC (since it is not longer used in the Makefile). + Remove HOSTING_* definitions that are subsumed by the + ones added to Makefile.in. Removed most definitions of CC. + * config/{sparc,news,hp300bsd,decstation}.mh: Removed; + These are no longer needed. + +Fri May 22 13:47:19 1992 Per Bothner (bothner@cygnus.com) + + * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex + rules, since these are used when building a distribution. + * Makefile.in (ldlex.c): Don't re-direct output, since that + leaves a bogus output files if it fails. + + * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working. + * ldlex.c: Fix some unnecessary flex-specific-isms. + +Fri May 8 11:49:43 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldgram.y: move spurious semicolon + * ldexp.h: fix prototype + +Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * ld.texinfo: references to linker now say "ld" not "gld". + +Wed May 6 13:26:19 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + changed calling convention for Q_enter_global_ref + * ldexp.c, ldlang.c, ldmain.c: reflect this + * ldver.c: bump version to 1.97.1 + * ldindr.c (add_indirect): when an edict declaring an indirect + symbol is found, make sure that any ideas about the symbol being + common are changed if it now known to be defined. + * ldmain.c (linear_library): complain once if archive isn't + ranlibbed. + * ldlang.h, ldlang.c: make room for and initialize the complain + once field. + +Wed May 6 11:07:35 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: use flex & bison from ../ if they exist. + +Tue May 5 17:47:33 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * relax.c (build_it): don't allocate space in the output file for + stuff if -R flag applys to it. + * ldfile.c: merge in VMS filename support + * ldmain.c (main): take out ./ from library path, and close file + before unlinking. Make multiple defs of a symbol create an + unexecable file. + * ldmisc.c: fatal errosrs delete output file + +Tue May 5 14:05:05 1992 Per Bothner (bothner@rtl.cygnus.com) + + * ldver.c: Increase version number to 1.97, for consistency + with ../binutils. + +Tue May 5 12:12:24 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: FLEX -> LEX. + + * ld.texinfo: {} -> @{@}. + +Mon May 4 17:52:41 1992 Roland H. Pesch (pesch@fowanton.cygnus.com) + + * ld.texinfo: describe alternate, MRI-compatible linker scripts + (and associated change in -c option, now used for these scripts) + +Mon May 4 16:10:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldver.c: Bumped version to 1.96 - new release, resync with the + bfd too #. + * ldexp.c, ldlang.c: now build memory shape tree in obstacks + rather than with raw malloc, makes it easier to track where memory + is going. + * ldsym.h, ldsym.c: create obstack for all global symbols too. + * ldwrite.c (ldwrite): moved malloc so only used when needed. + * sa29200-sc.sh: added support for .lit, data1 and data2 sections. + + +Fri May 1 18:17:52 1992 K. Richard Pixley (rich@cygnus.com) + + * config/sparc.mh: use ../gcc/libgcc.a on check if it exists. + + * Makefile.in: use bootstrap for check. + +Fri May 1 13:03:41 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and + PUBLIC. + * Makefile.in: now use flex, not lex + * ldlex.l, ldlang.c, ldctor.c: lint + +Wed Apr 22 12:48:42 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlex.l: added CMDFILENAMECHAR state so that you can lex + different sorts of filenames on the command line than in a script. + +Mon Apr 20 22:37:04 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: rework CFLAGS so that they can be passed on the + make command line. Remove MINUS_G. Default CFLAGS to -g. + +Fri Apr 17 08:57:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * relax.c: added handling for new "padding" seclet type, used to + fill out gaps between section. + * ldgram.y, ldlex.l: now -defsym on the command line is done + properly. + +Wed Apr 15 21:20:07 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: the tooldir copy of ld goes directly in tooldir. + +Wed Apr 15 16:09:33 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * mri.c, ldgram.y, ldlex.l: added support for minimal strange link + scripts. + +Thu Apr 9 05:52:02 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * Makefile.in (install): Install second copy in $(tooldir)/bin + without $(program_prefix), since that's what gcc expects. + +Sat Apr 4 17:44:06 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer. + * h8300*: fix bit rot and add support for h8300xray target + * go32.sh: target emulation for go32. + +Mon Mar 16 14:53:29 1992 Steve Chamberlain (sac@rtl.cygnus.com) + + * gld960.em, i960.sc-sh. Fix i960 bit rot + +Fri Mar 13 19:47:22 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: install man page. + +Fri Mar 13 08:23:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/mt-<foo> renamed to <foo>.mt + * config/mh-<foo> renamed to <foo>.mt + * configure.in changed to reflect this + * genscripts.sh now make .xbn files rather than .xN files + +Sat Mar 7 03:40:40 1992 K. Richard Pixley (rich@cygnus.com) + + * ldver.h: fix decl of ldversion. + +Fri Mar 6 22:00:35 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldmain.c (Q_enter_file_symbols): now aliases work again + +Thu Mar 5 21:39:29 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added clean-info target. + +Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldexp.c (exp_print_tree): don't try and follow null pointers + around. + * ldgram.y: remove 11 shift reduce errors + +Tue Mar 3 15:46:39 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: added tooldir and program_prefix. + +Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * ldlang.c (size_input_section): don't move absolute sections + around! + + +Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * cplus-dem.c: yet another copy of this - maybe it should go into + libiberty ? + * ldgram.y: now -V and -v have different actions + * ldver.c: if -V, prints list of emulations compiled in + * ldmisc.c: support for cplus demangling + + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Thu Feb 20 17:43:46 1992 Per Bothner (bothner at cygnus.com) + + * Makefile.in: Change mkscript rule into one for ./mkscript + (for the sake of makes that don't realize they're the same). + * PORTING: Add more details. + * genscripts.sh: Add more tailorability of DATA_ALIGNMENT. + +Mon Feb 17 12:04:36 1992 Per Bothner (bothner at cygnus.com) + + * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd, + config/mt-hp300bsd: New port to hp300 running BSD. + +Sat Feb 15 13:59:54 1992 Per Bothner (bothner at cygnus.com) + + Major rewrite of how ld is configured. The major idea + is to use shell scripts to generate everything. + * generic.em replaces ldtemplate. + * Other *.em files replace various *.c files. + A *.em file is a shell script that generates the corresponding + ld__*.c file that implements an emulation. This is usually + a straight 'cat' of a here-document, possibly with substitutions. + * Script files (*.sc) are places by *.sc-sh scripts. + Again, these are simple shell scripts that 'cat' + here-documents, usually with some substitutions. + The output a *.sc-sh is a script file. + * Each emulation is defined by a short shell script with + extension *.sh that specifies the emulation-specific + parameters (such as the name of the *.sh-sc and *.em + files to use). + * genscript.sh is the master shell script used to generate + an emulation. It is passed various argument, including + the name a the emulation-speciic *.sh file that it + "sources" to set variables to emulation-specifc parameters. + * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME + to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.) + * config/mh-foo: Rename LDEMULATION names as appropriate + (usually 'gldfoo' -> plain 'foo'). + * ldwrite.c: Fixed a typo in a comment. + * Makefile.in: Major changes. Removed some the sed + magic to converts scripts, since that is now handled + by genscripts.sh and the *.sc-sh scipt generators. + * config.h: Remove a bunch of macros defining emulations + and targets. This becomes one less file to edit when + adding emulations or targets. + * ldemul.h (struct ld_emulation_xfer_struct): Add + emulation_name and target_name fields. + * ldemul.c, ldemul.h: Define some default functions used + by most emulations (and remove from the *.em scripts). + * ldemul.c (ldemul_choose_target): Search the new + ld_emulations array using a loop (instead of a hardwired + nested if statement). + Define the ld_emulation from the automatically-geenrated + ldemul-list.h. This means you no longer have to edit ldemul.c + to add a new emulation. + * ldmain.c: Replace {GLD,LNK}960_EMULATION_NAME by + their expansions, since the former no longer exist. + * PORTING: A very rough first draft of a porting guide. + + * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment + to be terminated by a new-line (instead of requiring a semicolon). + +Mon Feb 10 16:21:02 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * ldexp.c, ldlang.c: added new idea "abs_output_section", removes + tests for NULL pointers all over the place. + * ldlang.c (lang_process): remember to relocate global symbols + *after* relaxing has done it stuff. + +Thu Feb 6 11:40:15 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * config/mt-coff-h8300: use EMUL like everything else + * ldlang.c: (print_padding_statement): print the right address. + * Makefile.in, config.h, ldemul.c: renamed h8300hds to h8300hms + + +Tue Feb 4 15:28:01 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * ldlex.l: Put pack -noinhibit-exec and -sort-common + * ldlang.c (print_data_statement): print the right address. + +Thu Jan 30 17:51:53 1992 Per Bothner (bothner at cygnus.com) + + * Makefile.in: The rule for testing ld by re-linking itself + via an intermediate -r link was moved to the ld1 rule + instead of the ld2 rule. This allows ld2 and ld3 to be identical, + which allows the bootstrap rule to work. + * ldctor.c (find_constructors): Don't create a constructor + list if it is already defined (as would happen if ld is + invoked by collect). + +Wed Jan 29 08:35:39 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * config/mh-sparc.h: now uses libgcc.a + * ldmain.c: quit using exit + * *sc: use *(COMMON) rather than [COMMON] + * ldlex.l, lexsup.c: much thinking moved from .l and put into .c, + to allow preprocessing of .l file. + * Makefile.in: New ldlex.l mangling + * ldexp.c (fold_binary): perform expressions with % and / in + integer. + * ldfile.c (open_a): open archives on VMS in a special way + + +Tue Jan 28 10:18:16 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * ldgram.y: map -M behave in the same way as -Map (sets file name + to be "-". + * ldsym.c, ldlang.c: remember that size of a section is dependent on + whether or not relaxing has been done. + * ldmain.c: don't open a map file if it doesn't have a name + * relax.c: all the brains have moved into bfd. + * ldwrite.c: ammend comment + +Fri Jan 24 14:23:46 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: added relax, also made three stage go through a + partial link stage. + * relax.c : added + * config.h: if GNU960 defined, then default emulation mode is + GLD960 + * ldexp.h, ldexp.c: map to file hooks + * ldlang.c: map to file hooks + * ldgram.y: added -Map -relax + * ldlex.l: added -relax, -Map + * ldmain.c: open map file + * ldmisc.c: support for map file + * ldwrite.c: new relax magic + +Thu Dec 19 18:49:51 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in, config/tm-*.h: Clean up make output, only + pass DEFAULT_EMULATION to ldmain.c. + +Wed Dec 18 15:02:47 1991 Per Bothner (bothner at cygnus.com) + + * ldver.c: Bump to version 1.94. + +Tue Dec 10 04:07:23 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Mon Dec 9 16:26:43 1991 Per Bothner (bothner at cygnus.com) + + * Makefile.in: Pass -y to bison. (Again; + accidentally deleted by Rich.) + * news.sc, ldgld68k.sc: Define __end as well as _end. + +Sat Dec 7 17:19:26 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * ldindr.h: added to contain prototypes of ldindr.c + * ldfile.c: include ctype.h + * ldmain.c: include the requried prototype headers + * ldwrite.c: get_reloc_upper_bound has been renamed + bfd_get_reloc_upper_bound + +Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: punt "fundamental" mode because it breaks my emacs + macros. install using INSTALL_PROGRAM and INSTALL_DATA. remove + spaces following hyphens, bsd make can't cope. added + standards.text support and made it look like all the other + makefiles. + + * configure.in: configure now runs entirely in objdir so make file + existence checks against ${srcdir}. Mark this directory as + target dependent. + +Thu Dec 5 22:46:16 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Wed Dec 4 23:36:55 1991 Per Bothner (bothner at cygnus.com) + + * ldver.c: Bumped version to 1.93. + * Makefile.in: Pass -y to bison. + +Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com) + + * config.h: h8 is now coff, not ieee + * h8300hds.sc: reflect the same + +Thu Nov 14 19:55:09 1991 Per Bothner (bothner at cygnus.com) + + * ldver.c (ldversion()): Update to 1.92. + * ldctor.c: There are two places constructor sets + can be defined. One of them checked for an existing + duplicate, the other didn't. Unfortunately, the latter + was called after the former ... + So, factor out code for inserting a new element into + constructor_name_list (after checking for a duplicate) + into a new function add_constructor_name, and call + it from both aforementioned places (ldlang_add_constructor + and ldlang_check_for_constructors). + +Wed Nov 13 15:17:43 1991 Per Bothner (bothner at cygnus.com) + + * Makefile.in: Rename .c files generated from ldtemplate + to have names starting with ld__. This helps 'make clean'. + +Tue Nov 12 18:36:50 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: Take out the version number for install + * m88kbcs.sc: put in contructor blocks. + +Mon Nov 11 18:47:33 1991 Per Bothner (bothner at cygnus.com) + + * ldmisc.c, ldmisc.h: Re-write info() to take a filename + parameter, a format, and an arg pointer, and rename it to + vfinfo(). Write info() in terms of new vfinfo(). + New einfo() is the same as info(), except it writes to stderr. + * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c, + ldmisc.c: Replace "error" calls to info() by new einfo(). + +Mon Nov 11 09:57:32 1991 Steve Chamberlain (steve at cygnus.com) + + * ldlex.l ldgram.y: made -V option do same as -v + * Makefile.in: Added $(MINUS_G) flag so debugging can be + turned off + +Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com) + i386 aout changes from Bob Kukura + * Makefile.in, config.h: added i386aout support + * configure.in: fixed /h-{myhost} typo + * ldgram.y: -MM now gives more boring map. + * ldlang.c: now does D_PAGED flag the right way. + * ldsym.c: -MM flags does the right thing. + +Sun Nov 3 15:00:03 1991 Per Bothner (bothner at cygnus.com) + + * configure.in: Fixed typo. Also, a fix for hp300bsd. + * ldlang.c (init_os): Compensate for BFD change, + where bfd_make_section now returns NULL for a duplicate + section request, instead of the old section. + +Thu Oct 17 15:27:13 1991 Per Bothner (bothner at cygnus.com) + + * ldver.c: Bump to version 1.91 (consistent with binutils). + +Wed Oct 16 12:27:08 1991 Per Bothner (bothner at cygnus.com) + + * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h, + ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h, + ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h, + ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c: + Add or update copyright notices. + +Mon Oct 14 23:55:27 1991 Per Bothner (bothner at cygnus.com) + + * README: New file. + * Makefile.in: Changed installation directory name scheme + to be consistent with gcc. Also changed 'install'. + +Mon Oct 14 17:30:02 1991 Roland H. Pesch (pesch at cygnus.com) + + * Makefile.in: new targets ld.mm, ld.me + +Mon Oct 14 17:27:24 1991 Per Bothner (bothner at cygnus.com) + + * Makefile.in, ldtemplate: Need to use separate scripts + for -n and -N options. Yet more complication. + +Fri Oct 11 22:40:46 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Avoid using $< in explicit Make rules (it doesn't + work). Add some lines to avoid Sun Make VPATH bugs. + +Fri Oct 11 16:42:22 1991 Per Bothner (bothner at cygnus.com) + + * news.sc: Add alignment for data segment. + * ldtemplate: Add (yet another) script to get for -n or -N + options. (These need different alignment than ZMAGIC files.) + * Makefile.in: Add stuff for new foo.xn scripts. + These are generated by replacing "ALIGN(0x...00)" by ".". + +Fri Oct 11 15:43:04 1991 Roland H. Pesch (pesch at cygnus.com) + + * Makefile.in: new targets ld.ms, ld-index.ms + ld.texinfo: remove tabs, other cleanups for texi2roff + +Fri Oct 11 13:51:54 1991 Per Bothner (bothner at cygnus.com) + + * ldmain.c (main): Make config.magic_demand_paged be true + by default. Don't set the WP_TEXT and D_PAGED flags of + output_bfd here; it's too late, so set it when output_bfd + is created (in ldlang.c). Also fix setting of EXEC_P flag + * ldlang.c (ldlang_open_output): Set output_bfd->flags here. + * ldlang.c: Remove some duplicate extern declarations. + * ldgram.y: Fixes to -N and -n options. + * Makefile.in: Recognize upper case letters in sed script + to remove assignments from script files. + * ldtemplate: Don't assukme that -N or -n options + imply use of -r script. + * mkscript.c: Tweaking to correctly handle \n and \\ in input. + +Fri Oct 11 10:29:27 1991 Steve Chamberlain (steve at cygnus.com) + + * ldtemplate: include bfd.h before sysdep.h. + +Fri Oct 11 04:24:45 1991 John Gilmore (gnu at cygnus.com) + + Restructure configuration scheme for bfd, binutils, ld. + + * include/sys/h-*.h: Move to bfd/hosts/h-*.h. + * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h. + Change some config names to match other dirs. + * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO() + get defined first. + * config/: Rename some config files to match up h-*.h names. + Remove all the HOST_SYS definitions from the config files. + +Tue Oct 8 16:00:57 1991 Per Bothner (bothner at cygnus.com) + + * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean. + * ldtemplate: Remove ldfile_add_library_path calls; + just use the SEARCH_DIR commands in the script files. + * Makefile.in: Add LIB_PATH macro, which if set is used to replace + the SEARCH_DIR commands in the scripts (using ugly sed magic). + This is primarily intended for cross-linking, where you would + place libaries in a different place than native libraries. + Also, emulations made from ldtemplate now use $(srcdir). + * ldglda29k.sc: Change SEARCH_DIR commands to a conventional + form; people can use the Makefile's LIB_PATH to override. + +Tue Oct 8 14:51:21 1991 Roland H. Pesch (pesch at cygnus.com) + + * Makefile.in: fix target ld.dvi, add target ld.info + ld.texinfo: make info filename ld.info + +Fri Oct 4 21:51:58 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Avoid using $< in non-suffix rules (breaks on Sun + Make). + * ldfile.c, ldlang.c, ldmain.c, ldwrite.c: Cope with renames of a + few BFD types & enums. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: |