* bfd.c (struct bfd_preserve): New.
[binutils.git] / ld / ChangeLog-9899
blob866e4a0cfbb8a086ae01716e4a806e3386914cab
1 1999-12-02  Nick Clifton  <nickc@cygnus.com>
3         * Makefile.am: Fix arm-epoc-pe dependencies.
4         * Makefile.in: Regenerate.
6         * emulparams/arm_epoc_pe.sh (SCRIPT_NAME): Set to epocpe.
8         * scripttempl/epocpe.sc: New file: copy of pe.sc, customised for
9         EPOC by placing .rdata into .text.
11 1999-11-26  Andreas Schwab  <schwab@suse.de>
13         * configure.in: Put AC_MSG_CHECKING/AC_MSG_RESULT around check for
14         STRINGIFY.  Use yes/no instead of true/false as value for cache
15         variable.
16         * configure: Regenerate.
18 1999-11-24  Nick Clifton  <nickc@cygnus.com>
20         * ldlang.c (IGNORE_SECTION): Section must have both ALLOC and LOAD
21         attributes in order to be checked.
23 1999-11-22  Nick Clifton  <nickc@cygnus.com>
25         * ldlang.c (lang_check_section_addresses): Fix test to determine
26         if a section should be tested.
27         (IGNORE_SECTION): New macro.
29 Wed Nov  3 23:31:19 1999  Jeffrey A Law  (law@cygnus.com)
31         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
32         Clean up code to use EXTRA_SHLIB_EXTENSION.
34 1999-11-03  Nick Clifton  <nickc@cygnus.com>
36         * emulparams/elf32mcore.sh (OUTPUT_FORMAT): Change to little endian.
37         * emulparams/mcorepe.sh (OUTPUT_FORMAT): Change to little endian.
39 1999-11-01  Steve Chamberlain  <sac@pobox.com>
41         * ldlang.c (section_already_linked): Rework to use hash table.
42         (already_linked_newfunc): New function.
43         (already_linked_table_init): New function.
44         (already_linked_table_free): New function.
45         (lang_process): Initialize and free the already_linked hash table.
47 1999-10-27  Andreas Jaeger  <aj@suse.de>
49         * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
50         target "mips*-*-linux-gnu*".
52 1999-10-27  Scott Bambrough  <scottb@netwinder.org>
54         * emultempl/armelf.em: Include ctype.h to prevent compile time
55         warnings.
57 1999-10-26  Nick Clifton  <nickc@cygnus.com>
59         * emultempl/armcoff.em (gld{}_finish): Remove extraneous
60         underscore from prototype.
61         * emultempl/armelf.em (gld{}_finish): Remove extraneous
62         underscore from prototype.
64 1999-10-07  Geoffrey Keating  <geoffk@cygnus.com>
66         * scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
67         being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
68         (.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
69         (.rel.sbss): Make like .rel.bss.
70         (.rela.sbss): Make like .rel.bss.
71         (.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
72         ld -r.
73         (.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
74         .dynsbss.
76 1999-09-29  Andrew Haley  <aph@cygnus.com>
78         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Defer
79         merging sections when not relocating.
81 1999-09-28  Mumit Khan  <khan@xraylith.wisc.edu>
83         * pe-dll.c (process_def_file): Move the offset lookup from here to
84         (fill_exported_offsets): here. New static function.
85         (fill_edata): Use.
87 1999-09-28  Mumit Khan  <khan@xraylith.wisc.edu>
89         * deffilep.y (tokens): Add upper and lower case versions of DATA,
90         CONSTANT, NONAME and PRIVATE tokens.
91         (command): Use DATAU.
92         (expline): Allow for drectve syntax as well.
93         (exp_opt_list): Likewise.
94         (exp_opt): Likewise.
95         * pe-dll.c (make_one): Only generate the idata entries for data
96         symbols.
98 1999-09-28  Geoffrey Keating  <geoffk@cygnus.com>
100         * scripttempl/elf.sc (.sdata): Include .gnu.linkonce.s.* sections
101         in .sdata too.
103 1999-09-26  Nick Clifton  <nickc@cygnus.com>
105         * scripttempl/elf.sc (.bss): Accept sections named .bss.*
106         (.sbss): Accept sections names .sbss.*
108 1999-09-22  Nick Clifton  <nickc@cygnus.com>
110         * Makefile.am: Add earm_epoc_pe.c build target.
112 Sat Sep 18 07:57:10 1999  Jeffrey A Law  (law@cygnus.com)
114         * emulparms/elf64hppa.sh (OTHER_READONLY_SYMBOLS): Remove ".stubs",
115         they've been renamed to ".stub", which is handled automatically
116         by elf.sc.
118 Fri Sep 17 11:00:33 1999  Jeffrey A Law  (law@cygnus.com)
120         * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Kill completely.
121         (DATA_START_SYMBOLS): Kill __hp_load_map definition
123 Thu Sep 16 10:59:56 1999  Jeffrey A Law  (law@cygnus.com)
125         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
126         Use the same filename extension for the bfd_elf_dt_needed_name call
127         as we did for finding the library.
129         * emulparms/elf64hppa.sh (DATA_START_SYMBOLS): Define.
130         (OTHER_READWRITE_SECTIONS): No longer define __hp_load_map.
132         * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Define.
134 Wed Sep 15 02:47:43 1999  Jeffrey A Law  (law@cygnus.com)
136         * emulparms/elf64hppa.sh (SHLIB_TEXT_START_ADDR): Define.
137         (SHLIB_DATA_ADDR): Likewise.
139         * emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
141         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS):  No longer combine
142         the .plt, .dlt, .opd  into a single output section.  Provide values
143         for __gp and __hp_load_map.
145 1999-09-14  Michael Meissner  <meissner@cygnus.com>
147         * configure.in (Canonicalization of target names): Remove adding
148         ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
149         generates $ac_config_sub with a ${CONFIG_SHELL} already.
150         * configure: Regenerate.
152 1999-09-14  Donn Terry  <donn@interix.com>
154         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
155         terminating null.
157 1999-09-14  Ulrich Drepper  <drepper@cygnus.com>
159         * configure.in: Define EXTRA_SHLIB_EXTENSION to ".sl" for HP target.
160         * config.in: Add EXTRA_SHLIB_EXTENSION.
162         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
163         Search for second shared lib extension only if EXTRA_SHLIB_EXTENSION
164         is defined.
166 1999-09-14  Nick Clifton  <nickc@cygnus.com>
168         * Makefile.in: Add earm_epoc_pe.c build target.
170 Tue Sep 14 05:26:34 1999  Jeffrey A Law  (law@cygnus.com)
172         * emulparms/elf64hppa.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.dlt.
174 1999-09-13  Donn Terry  <donn@interix.com>
176         * emultempl/pe.em: Remove the output file at the start, in case it
177         is not writable.
179 Mon Sep 13 00:17:18 1999  Jeffrey A Law  (law@cygnus.com)
181         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
182         Search for file with .sl extension if no file with a .so extension
183         is found.
185         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Put .plt
186         at the start of the .dlt output section.
188 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
190         * emultempl/pe.em: Don't include "../bfd/libbfd.h".
191         (gld_${EMULATION_NAME}_after_open): Use xmalloc rather than
192         bfd_alloc.
194         * pe-dll.h: New file.
195         * pe-dll.c: Include "pe-dll.h".  Mark unused arguments as needed
196         to avoid warnings.
197         (edata_sz, reloc_sz): Change from int to size_t.
198         (pe_details_type): Change type of imagebase_reloc from int to
199         unsigned int.
200         (pe_detail_list): Fully initialize last entry.
201         (pe_dll_id_target): Change parameter to const.
202         (pe_dll_generate_def_file): Likewise.
203         (pe_dll_generate_implib): Likewise.
204         (pe_implied_import_dll): Likewise.  Change dll_name to const.
205         * emultempl/pe.em: Include "pe-dll.h".  Remove declarations now in
206         pe-dll.h.
207         (init): Fully initialize __dll__ entry.
208         (gld_${EMULATION_NAME}_after_open): Remove unused variables
209         sequence, elt, and i.
210         * deffile.h: Add preprocessor guard.
211         * deffilep.y (def_debug): Remove.
212         * Makefile.am: Rebuild dependencies.
213         (HFILES): Add pe-dll.h.
215 1999-09-12  Donn Terry  <donn@interix.com>
217         * ld.h (ld_abort): Declare.
218         (abort): Define.
219         * ldmisc.c (ld_abort): Define.
221         * scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
222         Move .bss section after .rdata.  Move .reloc section after .rsrc.
224         * lexsup.c (parse_args): Use strtoul for --split-by-reloc
225         argument.
227         * lexsup.c (parse_args): If we get an unrecognized argument,
228         mention --help.
230         * ldlang.c (section_already_linked): Use comdat information if it
231         is available.
233         * emultempl/pe.em (PE_DEF_SECTION_ALIGNMENT): If
234         OVERRIDE_SECTION_ALIGNMENT is defined, change to that.
235         (gld_${EMULATION_NAME}_before_parse): Use EXECUTABLE_NAME if it is
236         defined, rather than a.exe.
237         (init): Define __subsystem__ as ${SUBSYSTEM}.
238         (set_pe_subsystem): Add ${INITIAL_SYMBOL_CHAR} before entry symbol
239         name.
241 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
243         * ldlang.c (open_output): Change local variable desired_endian
244         from int to enum bfd_endian.
246         * emulparams/arm_epoc_pe.sh: Define ENTRY, SUBSYSTEM and
247         INITIAL_SYMBOL_CHAR.
248         * emulparams/armpe.sh: Likewise.
249         * emulparams/morepe.sh: Likewise.
250         * emulparams/ppcpe.sh: Likewise.
251         * emulparams/i386pe.sh (ENTRY): Define as _mainCRTStartup.
252         (SUBSYSTEM): Define as PE_DEF_SUBSYSTEM.
254 Fri Sep 10 00:22:50 1999  Jeffrey A Law  (law@cygnus.com)
256         * emulparms/elf64hppa.sh (LIB_PATH): Define.
258         * emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
259         unwinders so that they are closer to the text section.
260         (OTHER_BSS_SECTIONS): Define.
261         (EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
262         (INIT_START, INIT_END): Define.
263         (FINI_START, FINI_END): Define.
264         * scripttempl/elf.sc: Add support for INIT_START, INIT_END,
265         FINI_START, FINI_END and OTHER_BSS_SECTIONS.
267 Thu Sep  9 21:43:58 1999  Jeffrey A Law  (law@cygnus.com)
269         * emulparms/elf64hppa.sh (TEXT_START_ADDR): Move up one page.
270         (DATA_ADDR): Define.
272 1999-09-09  Stan Shebs  <shebs@andros.cygnus.com>
274         * emulparams/d10velf.sh (READONLY_START_ADDR): Set to 0x2000004.
276 1999-09-09  Andreas Schwab  <schwab@suse.de>
278         * ld.texinfo: Fix arguments of @var to not contain punctuation.
280 Thu Sep  9 05:52:34 1999  Jeffrey A Law  (law@cygnus.com)
282         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Define.
284 1999-09-08  Ulrich Drepper  <drepper@cygnus.com>
286         * emulparams/elf64hppa.sh (ELFSIZE): New.  Set to 64.
288 Wed Sep  8 00:07:39 1999  Jeffrey A Law  (law@cygnus.com)
290         * emulparms/elf64hppa.sh (ENTRY): Define to main.
292 1999-09-03  Scott Bambrough  <scottb@netwinder.org>
294         * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
295         target "arm*-*-linux-gnu*"
297 1999-09-04  Steve Chamberlain  <sac@pobox.com>
299         * configure.tgt (pjl-*-*, pj-*-*): New targets.
300         * emulparams/pjelf.sh: New file.
301         * emulparams/pjlelf.sh: New file.
302         * scripttempl/pj.sc: New file.
303         * Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
304         (epjelf.o, epjlelf.o): New targets.
305         * Makefile.in: Rebuild.
307 Fri Sep  3 20:17:08 1999  Jeffrey A Law  (law@cygnus.com)
309         * emulparams/elf64hppa.sh (MAXPAGESIZE): Define.
310         (OTHER_READONLY_SECTIONS, DATA_PLT): Likewise.
312 Thu Sep  2 14:32:03 1999  Jeffrey A Law  (law@cygnus.com)
314         * emulparams/elf64hppa.sh: New file.
315         * configure.tgt (hppa*w-*-*): Use elf64hppa emulation.
316         * Makefile.am (ALL_64_EMULATIONS): Add eelf64hppa.o
317         (eelf64hppa.c): Add dependencies.
318         * Makefile.in: Rebuilt.
320 1999-08-25  Philip Blundell  <pb@nexus.co.uk>
322         * emulparams/armelf.sh (OTHER_BSS_SYMBOLS): Add __end__.
323         * emulparams/armelf_linux.sh: Likewise.
324         * emulparams/armelf_linux26.sh: Likewise.
326 1999-08-24  Nick Clifton  <nickc@cygnus.com>
328         From a patch submitted by Roland McGrath  <roland@baalperazim.frob.com>
330         * configure.tgt (arm-*-netbsd*): New target.
331         * Makefile.am (ALL_EMULATIONS): Add earmnbsd.o.
332         (earmnbsd.c): New rule with deps.
333         * Makefile.in: Regenerate.
334         * emulparams/armnbsd.sh: New file.
336 1999-08-23  Nick Clifton  <nickc@cygnus.com>
338         * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Define.
339         Implement --base-file command line switch.
341         * emultempl/elf32.em: Add ability for individual targets to have
342         their own command line switches by defining PARSE_AND_LIST_ARGS.
344 1999-08-19  Andreas Schwab  <schwab@suse.de>
346         * configure.host: Use ${CC} instead of gcc for finding compiler
347         related files.
349 1999-08-11  Nick Clifton  <nickc@cygnus.com>
351         * scripttempl/mcorepe.sc (OUTPUT_FORMAT): Fix typo.
353 1999-08-09  Mark Elbrecht  <snowball3@bigfoot.com>
355         * scripttempl/i386go32.sc: Handle g++ exception sections.
357 1999-08-09  Ian Lance Taylor  <ian@zembu.com>
359         From Wally Iimura <iimura@microunity.com>:
360         * ldlang.c (lang_size_sections): When checking whether an address
361         is within a region, don't get confused by wrapping around at the
362         end of the address space.
364 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
366         * ldlang.c (wild_doit): Update for renaming of SEC_SHORT to
367         SEC_SMALL_DATA.
369         * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
370         MKDEP.  Rebuild dependencies.
371         * Makefile.in: Rebuild.
373 1999-08-08  Jakub Jelinek  <jj@ultra.linux.cz>
375         * configure.host (sparc-*-linux-gnu*): New host.
376         (sparc64-*-linux-gnu*): New host.
378 1999-08-06  Ian Lance Taylor  <ian@zembu.com>
380         * lexsup.c (is_num): Reindent.
381         (parse_args): Mention program name in error message.
383         * emultempl/ostring.sed: Rename from stringify.sed.
384         * emultempl/astring.sed: New file.
385         * Makefile.am (stringify.sed): New target.
386         (GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
387         stringify.sed.
388         * configure.in: Define and substitute STRINGIFY.
389         * emultempl/*.em: Use stringify.sed from build directory rather
390         than source directory.
391         * emultempl/elf32.em: Use stringify.sed rather than inline sed
392         script.
393         * emultempl/gld960.em, emultempl/gld960c.em: Likewise.
394         * emultempl/hppaelf.em, emultempl/linux.em: Likewise.
395         * emultempl/lnk960.em, emultempl/sunos.em: Likewise.
396         * configure, Makefile.in: Rebuild.
398 1999-08-05  Donn Terry  <donn@interix.com>
400         * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and
401         INITIAL_SYMBOL_CHAR.
402         * emulparams/i386pe_posix.sh: New file.
403         * Makefile.am (YACC): If bison is not in the source tree, use
404         @YACC@ rather than bison -y.
405         (LEX): If flex is not in the source tree, use @LEX@ rather than
406         flex.
407         (ALL_EMULATIONS): Add ei386pe_posix.o.
408         (ei386pe_posix.c): New target.
409         * configure.tgt (i[3456]86-*-interix*): New target.
410         * configure.host (i[3456]86-pc-interix*): New host.
411         * Makefile.in: Rebuild.
413 1999-08-03  Ian Lance Taylor  <ian@zembu.com>
415         * emulparams/elf32ppc.sh (MAXPAGESIZE): Change to 0x10000.
416         * emulparams/elf32ppclinux.sh (MAXPAGESIZE): Likewise.
418 1999-08-03  H.J. Lu  <hjl@gnu.org>
420         * Makefile.am (ALL_EMULATIONS): Remove ego32.o.
421         (ego32.c): Remove.
422         * Makefile.in: Rebuild.
424 1999-07-22  Philip Blundell  <pb@nexus.co.uk>
426         * emulparams/armelf_linux26.sh (DATA_START_SYMBOLS): Define.
427         (OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS): Likewise.
428         * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Define.
430         * configure.tgt (arm*-*-uclinux*, thumb-*-uclinux*,
431         thumb-*-linux-gnu*): New targets.
433 1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
435         * scripttempl/i386go32.sc: Add handling of linkonce sections.
437         * configure.bat: Remove; obsolete.
438         * emulparams/go32.sh: Remove; obsolete.
439         * scripttempl/go32coff.sc: Remove; obsolete.
441 1999-07-21  H.J. Lu  <hjl@gnu.org>
443         * configure.tgt (mips*el-*-vxworks*): New target.
445 1999-07-21  Brad M. Garcia  <bgarcia@fore.com>
447         * configure.tgt (i[3456]86-*-vxworks*): New target.
449 Tue Jul 20 15:18:46 1999  Bob Manson  <manson@charmed.cygnus.com>
451         * ldlang.c (lang_gc_sections): Only handle the start symbol
452         specially if there is one.
454 Mon Jul 19 14:19:14 1999  Mark P. Mitchell  <mark@codesourcery.com>
456         * emulparams/elf32bmipn32.sh (OTHER_RELOCATING_SECTIONS): Add
457         .MIPS.events and .MIPS.content handling.
458         * emulparams/elf64bmip.sh (OTHER_RELOCATING_SECTIONS): Likewise.
460 1999-07-17  Nick Clifton  <nickc@cygnus.com>
462         * ldlang.c (get_target): New function: Return true iff the
463         given target is the target being sought.
464         (stricpy): New function:  Like strcpy but convert to lower
465         case as well.
466         (strcut): New function:  Like strstr but remove the located
467         substring as well.
468         (name_compare): New function: Compute a compatability rating
469         for two target names.
470         (winner): New variable: Best target found by
471         closest_target_match() so far.
472         (closest_target_match): New function: Find the target which is
473         the closest match to the original target.
474         (get_first_input_target): New function: Find the target format
475         of the first of the linker's input file.
476         (open_output): Be more clever about deciding the output target
477         format.
479 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
481         * emulparams/elf64_sparc.sh: Add 64-bit directories to native LIB_PATH.
483 Thu Jul 15 15:55:15 1999  Mark P. Mitchell  <mark@codesourcery.com>
485         * configure.host: Set up HOSTING_CRT0 and HOSTING_LIBS for IRIX6.
487 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
489         * configure.in: Bump version number to 2.9.5.
490         * configure: Rebuild.
492 1999-07-14  Richard Henderson  <rth@cygnus.com>
494         * ldlang.c (wild_doit): Copy SEC_SHORT to output section.
496         * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
497         same order seen for the main sections.  Add
498         OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
500 1999-07-12  Andreas Schwab  <schwab@suse.de>
502         * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
503         structure initializations.
505         * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
506         comma in initializer.
508 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
510         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
511         as appropriate.  Fill in structure initializations.
513 1999-07-10  Ian Lance Taylor  <ian@zembu.com>
515         * ldfile.c: Revert patch of 1999-07-08.
516         (ldfile_try_open_bfd): If we are searching for the file, skip
517         files with an incompatible architecture.
519 1999-07-09  Nick Clifton  <nickc@cygnus.com>
521         * scripttempl/armcoff.sc (OUTPUT_FORMAT): Include big endian and
522         little endian formats.
524 1999-07-08  Felix Lee  <flee@cygnus.com>
526         * scripttempl/mcorepe.sc: fix quoting problem, for bash 2.x
528 1999-07-08  Jakub Jelinek  <jj@ultra.linux.cz>
530         * ldfile.c (ldfile_open_file_search): Skip libraries made for
531         incompatible architectures in the search path. Let the user know
532         about any such skips.
534 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
536         * configure.tgt (hppa*-linux-gnu*): New target.
538 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
540         * Makefile.am (ALL_64_EMULATIONS): Add eelf64bmip.
541         (eelf64bmip): New target.
542         * Makefile.in: Regenerated.
543         * configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
544         * emulparams/elf64bmip.sh: New file.
546 1999-07-05  Nick Clifton  <nickc@cygnus.com>
548         * emultempl/pe.em (after_open): Abort if input format is ARM and
549         output format is not.
550         * emultempl/armcoff.em (after_open): Abort if input format is ARM
551         and output format is not.
552         * emultempl/armelf.em (after_open): Abort if input format is ARM
553         and output format is not.
555 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
557         * ldlang.c: Revert change of 1999-06-23.
559 1999-06-30  Mark Mitchell  <mark@codesourcery.com>
561         * Makefile.am (ALL_EMULATIONS): Add eelf32bmipn32.o.
562         (eelf32bmipn32.c): New target.
563         * Makefile.in: Regenerated.
564         * configure.tgt (mips-sgi-irix6*): Make n32 the default
565         emulation.
566         * emulparams/elf32bmipn32.sh: New file.
568 1999-06-28  Jim Pick <jim@jimpick.com>
570         * emultempl/armelf.em: Added code so that .xs linker scripts are
571         called so that ARM shared libraries are built correctly.
573 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
575         * ldmain.c (main): Initialize link_info.init_function and
576         link_info.fini_function.
577         * lexsup.c (OPTION_INIT): New macro.
578         (OPTION_FINI): Likewise.
579         (ld_options): Add descriptions for them.
580         (parse_args): Handle them.
582 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
584         * ldlang.c (section_already_linked): Only discard link once
585         sections if we are building constructors.
587 1999-06-22  Nick Clifton  <nickc@cygnus.com>
589         * ld.texinfo (Location Counter): Describe behaviour of
590         location counter inside section statements.
592 1999-06-20  Mark Mitchell  <mark@codesourcery.com>
594         * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
595         controlling whether or not .rodata is in the data segment or the
596         text segment.
598 1999-06-18  Nick Clifton  <nickc@cygnus.com>
600         * emultempl/pe.em: Add new command line switch --thumb-entry.
601         * emultempl/armelf.em: Add new command line switch --thumb-entry.
602         * emultempl/armcoff.em: Add new command line switch --thumb-entry.
603         * ld.texinfo: Document new ARM command line switch: --thumb-entry.
605 1999-06-20  H.J. Lu  <hjl@gnu.org>
607         * configure.in (all_libpath): Accumulate across all enabled targets.
609 Sun Jun 20 14:10:33 1999  Richard Henderson  <rth@cygnus.com>
611         * emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
612         DEFAULT_EMULATION.
613         * emultempl/elf32.em: Likewise.
614         * emultempl/sunos.em: Likewise.
616 Fri Jun 18 15:24:48 1999  Richard Henderson  <rth@cygnus.com>
618         * Makefile.am (GENSCRIPTS): Pass EMULATION_LIBPATH, not EMUL.
619         * configure.in (all_emuls): Add targ_extra_libpath.
620         (all_libpath, EMULATION_LIBPATH): Define.
621         * configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
622         * genscripts.sh (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
624 Mon Jun 14 10:38:36 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
626         * ld.texinfo: Fix use of @item vs. @itemx.
628 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
630         From Thomas Zenker <thz@lennartz-electronic.de>:
631         * ldgram.y (attributes_opt): Use attributes_list instead of NAME.
632         (attributes_list, attributes_string): New nonterminals.
633         * ldlang.c (lang_set_flags): Add invert parameter.  Don't handle
634         '!'.
635         * ldlang.c (lang_set_flags): Update declaration.
637 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
639         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
640         entry_symbol as an undefined symbol when doing a relocateable
641         link.  From <jeffdb@goodnet.com>.
643 1999-06-12  David O'Brien  <obrien@freebsd.org>
645         * configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
647 1999-06-09  Nick Clifton  <nickc@cygnus.com>
649         * lexsup.c (help): Restore previous format of output.
651 1999-06-04  Nick Clifton  <nickc@cygnus.com>
653         * emultempl/pe.em: If compiling for arm_epoc_pe rename
654         interworking functions to avoid a name space clash.
656 1999-06-02  Jason Merrill  <jason@yorick.cygnus.com>
658         * scripttempl/v850.sc: Add initp support.
660 1999-06-02  Nick Clifton  <nickc@cygnus.com>
662         * emultempl/pe.em: Rename global arm interworking functions to
663         avoid name collision when all targets BFD is built.
665 1999-05-30  Cort Dougan  <cort@attis.cs.nmt.edu>
667         * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
668         * configure.tgt (powerpc-*-linux-gnu): Use it.
669         * emulparams/elf32ppclinux.sh: New file.
671 1999-05-29  Ian Lance Taylor  <ian@zembu.com>
673         * ld.texinfo (Options): Clarify that options which refer to files
674         must be properly ordered.
676 1999-05-29  Nick Clifton  <nickc@cygnus.com>
678         * emultempl/armelf.em (..._parse_args): New function: Parse
679         command line option.  Accept arm-elf specific command line option
680         '-p' or '--no-pipeline-knowledge'.
681         (..._list_options): New function: Describe the new command line
682         option.
683         (..._before_allocation): Pass the value of the new variable
684         no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
686         * emultempl/armelf_oabi.em (..._before_allocation): Pass zero as
687         the third parameter to bfd_elf32_arm_process_before_allocation.
689 1999-05-28  Nick Clifton  <nickc@cygnus.com>
691         * lexsup.c (help): Minor formatting changes.
693 1999-05-28  Martin Dorey  <mdorey@madge.com>
695         * configure.tgt (i960-*-elf*): New target.
696         * emulparams/elf32_i960.sh: New file.
697         * Makefile.am (ALL_EMULATIONS): Add eelf32_i960.o.
698         (eelf32_i960.c): New target.
699         * Makefile.in: Rebuild.
701 1999-05-26  Nick Clifton  <nickc@cygnus.com>
703         * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.
705 1999-05-24  Philip Blundell  <philb@gnu.org>
707         * emultempl/armelf.em (before_parse): Set config.dynamic_link and
708         config.has_shared.
709         * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
710         * emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise.
712 1999-04-13  Philip Blundell  <philb@gnu.org>
714         * emultempl/armelf.em: Add definitions related to shared objects
715         (copied from elf32.em).
717 Wed May 19 12:44:26 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
719         * Makefile.am (ALL_EMULATIONS): Remove earmlinux.o and
720         earm26linux.o, add earmelf_linux.o and earmelf_linux26.o.
721         * Makefile.in: Regenerated.
723 1999-05-16  Nick Clifton  <nickc@cygnus.com>
725         * emulparams/elf32mcore.sh (GENERATE_SHLIB_SCRIPT): Define.
726         (TEMPLATE_NAME): Define.
728 Thu May 13 09:48:09 1999  Joel Sherrill (joel@OARcorp.com)
730         * configure.tgt (i386-*-rtemself*, sh-*-rtemself*): New targets.
731         (mips*el-*-rtems*, powerpcle-*-rtems*): New targets.
733 1999-05-10  DJ Delorie  <dj@cygnus.com>
735         * scripttempl/pe.sc: Specify the output arch, which Ian says is
736         the Right Thing to do.
738         * emultempl/pe.em: various changes to parameterize the
739         target-specific information.
740         (gld_i386pe_after_open): Detect and fix MS import libraries
741         by renaming the member objects (which are all named the same).
743         * pe-dll.c: various changes to parameterize the target-specific
744         information.
745         (generate_reloc): support relocs more generically to allow for
746         expansion.
747         (pe_exe_build_sections): new; used to add .relocs to .exes
748         (pe_exe_fill_sections): ditto
750 1999-05-10  Catherine Moore  <clm@cygnus.com>
752         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
753         Check for TARGET_IS_arm_epoc_pe.
754         (gld_${EMULATION_NAME}_before_allocation): Likewise.
756 1999-05-12  Anthony Green  <green@cygnus.com>
758         * ldlang.c (walk_wild, walk_wild_file, walk_wild_section,
759         output_section_callback, gc_section_callback): New functions for
760         generic section walks.
761         (wild, lang_gc_wild): Use walk_wild.
762         (wild_file, lang_gc_wild_file): Deleted. Common logic moved to
763         walk_wild_file.
764         (wild_section, lang_gc_wild_section): Deleted. Common logic moved
765         to walk_fild_section.  Unique logic moved into callbacks
766         output_section_callback and gc_section_callback.
768 1999-04-26  Tom Tromey  <tromey@cygnus.com>
770         * aclocal.m4, configure: Updated for new version of libtool.
772 1999-04-12  Philip Blundell  <pb@nexus.co.uk>
774         * emulparams/armelf_linux.sh: New file.  Support for ARM
775         GNU/Linux ELF ABI.
776         * emulparams/armelf_linux26.sh: New file. APCS-26 version of above.
777         * configure.tgt: For arm*-*-linux-gnu*, set default emulation to
778         `armelf_linux', and also include `armelf_linux26' and `armelf'.
779         * Makefile.am: Add rules to make earmlinux.c and earmlinux26.c.
780         (ALL_EMULATIONS): Add earmlinux.o and earmlinux26.o.
781         * Makefile.in: Regenerate.
783 1999-04-11  Richard Henderson  <rth@cygnus.com>
785         * Makefile.am (ALL_EMULATIONS): Add elf_i386_be.o.
786         * configure.tgt (i[3456]86-*-beos*): Use it.
787         * emulparams/elf_i386_be.sh: New file.
788         * Makefile.in: Rebuild.
790         * configure.in (environ): Detect declaration.
791         * ldmain.c (main): Don't declare environ.
792         * sysdep.h (environ): Declare if needed.
793         * configure, config.in: Rebuild.
795 1999-04-11  Richard Henderson  <rth@cygnus.com>
797         * ldgram.y (ldgram_vers_current_lang): New.
798         (vers_defns): Accept `extern "lang" { }' syntax.
799         * ldlex.l (vers_node_nesting): New.
800         (V_IDENTIFIER): Accept . and $ in symbols.
801         (VERS_NODE): Accept `extern "lang" { }' tokens.  Nest VERS_NODE states.
802         * ldlang.c (lang_new_vers_regex): New `lang' argument.  Update callers.
803         (lang_vers_match_lang_c): New function.
804         (lang_vers_match_lang_cplusplus): New function.
805         (lang_vers_match_lang_java): New function.
806         (lang_do_version_exports_section): Fix iteration.  Don't free
807         section contents, as it is still in use by the patterns.
809 1999-04-10  Richard Henderson  <rth@cygnus.com>
811         * ldmain.c (main): Init link_info.no_undefined.
812         * lexsup.c: Add command-line option --no-undefined.
814 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
816         * ld.h (LC_MESSAGES): Never define.
817         * ldmain.c (main): Don't pass LC_MESSAGES to setlocale if the
818         system does not define it.
820 1999-04-06  H.J. Lu  <hjl@gnu.org>
822         * ldmain.h (demangling): Declare.
823         * ldmain.c (demangling): New global variable.
824         (main): Initialize demangling.
825         * ldmisc.c (vfinfo): Don't demangle symbol if ! demangling.
826         * lexsup.c (ld_options, parse_args): Handle --demangle and
827         --no-demangle.
828         * ld.texinfo, ld.1: Document --demangle/--no-demangle.
830         * ldlex.l (V_IDENTIFIER): Allow '.' in symbol.
832 1999-04-05  Chris Torek  <torek@BSDI.COM>
834         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Check that
835         a shared library really exists, avoiding broken symlinks.
837         * ldfile.c (ldfile_open_file): Generate a better error message if
838         we can't find a -l file.
840 1999-04-05  DJ Delorie  <dj@cygnus.com>
842         * configure.tgt (i386-*-pe): add targ_extra_ofiles for other PE
843         targets (i386-pe and i386-winnt)
845 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
847         * deffilep.y: Include "sysdep.h" and "ldmisc.h".
848         (def_file_add_directive): Change return type to void.  Remove
849         unused locals sh_reserve, sh_commit, and j.
850         (def_ungetc): Always return a value.
851         (def_lex): Correct parenthesization of || within &&.
852         * deffile.h (def_file_add_directive): Update declaration.
853         * pe-dll.c: Include <time.h>, <ctype.h>, and "ldemul.h".
854         (generate_edata): Remove unused local i.
855         (quoteput): Add cast to avoid warning.
856         (pe_dll_generate_def_file): Fix type in format string.
857         (quick_symbol): Remove unused local blhe.
858         (pe_dll_generate_implib): Add cast to avoid warning.
859         (pe_process_import_defs): Remove unused locals ar_head, ar_tail,
860         and n.
861         (pe_as16): Comment out.
863 1999-04-04  Don Bowman <don@pixsci.com>
865         * configure.tgt: Add mips*-*-vxworks* target.
867 1999-03-31  Nick Clifton  <nickc@cygnus.com>
869         * Makefile.in (ALL_EMULATIONS): Add earm_epoc_pe.o
870         Add build rule and dependencies for earm_epoc_pe.c.
872         * emulparams/arm_epoc_pe.sh: New file.
874         * configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
875         targets.
877 1999-03-31  Philip Blundell  <pb@nexus.co.uk>
879         * configure.tgt: Match `arm*-*-linux-gnu*' not
880         `armv*-*-linux-gnu'.
882 1999-03-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
884         * scripttempl/elf.sc: Put the .eh_frame and .gcc_except_table
885         sections in the data segment.
887 Fri Mar 26 12:05:51 1999  Catherine Moore  <clm@cygnus.com>
889         * ld.h (wildcard_spec): Add exclude_name.
890         * ldgram.y (EXCLUDE_FILE): New token.
891         (wildcard_spec): Set exclude_name.
892         (file_NAME_list): Recognize EXCLUDE_FILE.
893         * ldlang.c (wild_section): Check for excluded files.
894         (print_wild_statement): Print excluded files.
895         (lang_add_wild): New argument exclude_filename.
896         Set exclude_filename.
897         * ldlang.h (lang_wild_statement_type):  Add exclude_filename.
898         * ldlex.l: New token EXCLUDE_FILE.
899         * mri.c (mri_draw_tree):  Add argument to lang_add_wild.
900         * scripttempl/elf.sc (CTOR, DTOR):  Exclude crtend.o from ctor wildcard.
901         Reorder sorted and unsorted ctors.
902         * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
903         * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
904         * scripttempl/elfppc.sc (CTOR, DTOR): Likewise.
906 1999-03-26  Nick Clifton  <nickc@cygnus.com>
908         * ldlang.c (lang_gc_sections): If entry_symbol is not defined,
909         default to "start".
911 1999-03-03  Nick Clifton  <nickc@cygnus.com>
913         * scripttempl/elf.sc: Add explicit placements for the .eh_frame
914         and .gcc_except_table sections.
916 Wed Mar  3 09:13:34 1999  Catherine Moore  <clm@cygnus.clm>
918         * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
919         sections.  Reorder .ctors section entries.
920         * scripttempl/elfd10v.sc: Likewise.
921         * scripttempl/elfd30v.sc: Likewise.
922         * scripttempl/elfppc.sc: Likewise.
924 1999-02-26  Jim Lemke  <jlemke@cygnus.com>
926         * ldmain.c (main): Wrong error msg for -r and --mpc860c0.
928 1999-02-25  Nick Clifton  <nickc@cygnus.com>
930         * ldlang.c (lang_check_section_addresses): Remove extraneous
931         backslash.
933 Thu Feb 25 15:07:24 1999  Catherine Moore  <clm@cygnus.com>
935         * scripttempl/elf.sc: Don't gather .ctor and .dtor sections
936         for relocateable links.
937         * scripttempl/elfd10v.sc: Likewise.
938         * scripttempl/elfd30v.sc: Likewise.
939         * scripttempl/elfppc.sc: Likewise.
941 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
943         * ldint.texinfo: remove extraneous right brace.
944         * ldmain.c (main): initialize and check option "mpc860c0".
945         * lexsup.c (ld_options, parse_args): add option "mpc860c0".
947 Wed Feb 17 12:10:06 1999  Stan Cox  <scox@cygnus.com>
949         * mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
950         .reginfo section handling.
951         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
952         * emulparams/elf32elmip.sh (INITIAL_READONLY_SECTIONS): Removed
953         * emulparams/elf32ebmip.sh (INITIAL_READONLY_SECTIONS): Removed
955 1999-02-17  Nick Clifton  <nickc@cygnus.com>
957         Patch from: Scott Bambrough <scottb@corelcomputer.com>
959         * configure.tgt: Added armv*-*-linux-gnu to $targ_emul
960         recognition.
962 Wed Feb 17 Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
964         * emultempl/armelf_oabi.em
965         (bfd_elf32_arm_allocate_interworking_sections,
966         bfd_elf32_arm_get_bfd_for_interworking,
967         bfd_elf32_arm_process_before_allocation): Define them to use the
968         old ABI versions of the functions.
970 Tue Feb 16 16:48:19 1999  Ian Lance Taylor  <ian@cygnus.com>
972         * configure.in: Change AC_PREREQ to 2.13.  Change AM_PROG_INSTALL
973         to AC_PROG_INSTALL.  Change AM_EXEEXT to AC_EXEEXT.
974         * Makefile.am (earmelf_oabi.c): Changes spaces to tab.
975         * acconfig.h: Remove.
976         * aclocal.m4: Rebuild.
977         * configure: Rebuild.
978         * Makefile.in: Rebuild.
980 Mon Feb 15 18:21:48 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
982         * ldexp.h (struct etree_value_type): Change valid onto valid_p.
984         * ldexp.c (new_abs): Ditto.
985         (new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
986         exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
987         exp_get_abs_int): Ditto
989         * ldlang.c (print_assignment, lang_size_sections,
990         lang_do_assignments): Ditto.
992 1999-02-11  Nick Clifton  <nickc@cygnus.com>
994         * ldlang.c (lang_check_section_addresses): New function: Check
995         addresses assigned to section for overlaps.
996         (lang_process): Call lang_check_section_addresses if suitable.
998         * ld.h: Add new boolean field to args_type structure:
999         'check_section_addresses'.
1001         * ldmain.c: Initialise check_section_addresses field to true.
1003         * lexsup.c: Add new command line options '--no-check-sections' and
1004         '--check-sections'.
1006         * ld.texinfo: Document new command line options '--check-sections'
1007         and '--no-check-sections'.
1009 1999-02-08  Nick Clifton  <nickc@cygnus.com>
1011         * configure.tgt: Add support for StrongARM target.
1013 Wed Feb  3 19:41:01 1999  Ian Lance Taylor  <ian@cygnus.com>
1015         * ldctor.c (ldctor_build_sets): Just set SEC_KEEP once.  Check for
1016         an owner of a section before using it to look up a reloc type.
1017         Don't set SEC_KEEP for the absolute section.
1019 Mon Feb  1 11:39:46 1999  Catherine Moore  <clm@cygnus.com>
1021         * Makefile.am (earmelf_oabi.o):  New.
1022         * Makefile.in:  Regenerate.
1023         * configure.tgt (arm-*-oabi):  New.
1024         (thumb-*-oabi):  New.
1025         * emulparams/armelf_oabi.sh:  New.
1026         * emultempl/armelf_oabi.em:  New.
1028 1999-01-31 17:57:31 1998  Michael Meissner  <meissner@cygnus.com>
1030         * scripttempl/elfppc.sc: Add support for -fleading-underscores
1031         switch in all linker generated symbols.
1033         * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for
1034         powerpc{,le}-*-eabi.
1036 Wed Jan 20 17:01:48 1999  Ian Lance Taylor  <ian@cygnus.com>
1038         * configure.tgt (i[3456]86-*-solaris2*): New target.  From Pavel
1039         Roskin <pavel_roskin@geocities.com>.
1041 1999-01-19  Nick Clifton  <nickc@cygnus.com>
1043         * ldlang.c (lang_size_sections): Count loadable sections as
1044           contributing to the size of the current segment.
1046 1999-01-15  Nick Clifton  <nickc@cygnus.com>
1048         * ldlang.c (lang_size_sections): Only update the current
1049           address of a region if the section just placed into it is an
1050           allocated section.
1052 1999-01-12  Nick Clifton  <nickc@cygnus.com>
1054         * Makefile.am: Replace efr30.o with eelf32fr30.o.
1055         * Makefile.in: Regenerate.
1057         * configure.tgt: Replace fr30 with elf32fr30.
1059         * emulparams/elf32fr30.sh: New file: Replaces fr30.sh, and uses
1060         generic elf.sc script.  Also replaces the .stack section with a
1061         user definable symbol __stack.
1063 1999-01-11  Nick Clifton  <nickc@cygnus.com>
1065         * scripttempl/fr30.sc: Fill .init and .fini sections with NOP
1066         pattern.
1068 1999-01-03  Ken Raeburn  <raeburn@cygnus.com>
1070         * Makefile.am (check-DEJAGNU): No longer provide HOSTING_EMU,
1071         HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from
1072         configure.host and configure.tgt now.
1073         * Makefile.in: Rebuild.
1075 1998-12-27  Ulrich Drepper  <drepper@cygnus.com>
1077         * lexsup.c (parse_args, case OPTION_RPATH): Avoid adding duplicate
1078         elements to rpath.
1080 Thu Dec 10 11:12:28 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1082         * Makefile.am (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o.
1083         (ALL_EMUL_EXTRA_OFILES): New variable.  Put them here instead.
1084         * configure.in: Set EMUL_EXTRA_OFILES to $(ALL_EMUL_EXTRA_OFILES)
1085         if configuring with all targets.
1086         * configure, Makefile.in, aclocal.m4: Rebuild.
1088         * emultempl/pe.em (pe_enable_stdcall_fixup): Make static.
1089         (pe_dll_do_default_excludes): Removed, unused.
1090         (pe_def_file, pe_dll_export_everything, pe_dll_kill_ats,
1091         pe_dll_stdcall_aliases): Don't initialize them, this file may be
1092         compiled more than once.
1093         * pe-dll.c (pe_def_file, pe_dll_export_everything,
1094         pe_dll_do_default_excludes, pe_dll_kill_ats,
1095         pe_dll_stdcall_aliases): Define and initialize them here instead.
1096         (generate_reloc): Fix allocation of reloc_addresses array to use
1097         bfd_vma instead of unsigned long.  Fix element size in qsort call.
1098         (reloc_sort): Compare pointers to bfd_vma instead of unsigned
1099         long.
1101 Mon Dec  7 21:10:09 1998  J.J. van der Heijden  <j.j.vanderheijden@student.utwente.nl>
1103         * configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific
1104         files.
1106 Sun Dec  6 16:33:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1108         * configure.tgt (m68*-*-gnu*): New target.  From Aymeric Vincent
1109         <aymeric.vincent@emi.u-bordeaux.fr>.
1111 1998-12-04  Nick Clifton  <nickc@cygnus.com>
1113         * emulparams/fr30.sh (TEXT_START_ADDR): Change TEXT_START_ADDR
1114         from 0x100000 to 0x10000 so that it fits in 20 bits.
1116 Sat Nov 28 22:32:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1118         * ldemul.h (ldemul_recognized_file): Declare.
1120 Sat Nov 28 22:30:55 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1122         * ldlang.c (lang_add_wild): Don't pretend that there is an input
1123         file if the filename is a wildcard pattern.
1125 1998-11-25  DJ Delorie  <dj@cygnus.com>
1127         * ldemul.h (ld_emulation_xfer_struct): new hook "recognized_file"
1128         * ldemul.c (ldemul_recognized_file): new function, new hook
1129         * ldint.texinfo: document new hook.
1130         * ldlang.c (load_symbols): call recognized_hook for all objects we
1131         do recognize, in case the emulation needs to handle them
1132         specially.  PE DLLs use this.
1133         * pe-dll.c (pe_dll_generate_def_file): take out hack and debug
1134         printfs
1135         * emultempl/pe.em (gld_i386_recognized_file): new function
1136         (gld_i486_unrecognized_file): take out hack
1138 1998-11-23  DJ Delorie  <dj@cygnus.com>
1140         * pe-dll.c (fill_edata): fill in timestamp
1141         (make_head): name object files sequentially to ensure
1142         they link in the right order.
1143         (make_tail): same here
1144         (pe_process_import_defs): use sequential names for bfds to ensure
1145         proper link order.
1146         (pe_implied_import_dll): new function; handles linking directly
1147         against DLLs by simulating IMPORTS directives.  * emultempl/pe.em
1148         (gld_i386pe_before_parse): hack bfd to not recognize .dll files
1149         via bfd_pe_dll_not_recognized_hack
1151 1998-11-23  DJ Delorie  <dj@cygnus.com>
1153         * emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
1154         pe_dll_add_excludes
1156 Mon Nov 23 14:36:18 1998  Nick Clifton  <nickc@cygnus.com>
1158         * emultempl/pe.em (after_parse): Only create an undefined entry
1159         symbol if one has been specified.
1161 1998-11-23  DJ Delorie  <dj@cygnus.com>
1163         * emultempl/pe.em (gld_i386pe_after_open): call
1164         pe_process_import_defs
1165         * pe-dll.c (pe_dll_generate_def_file): calculate BASE from
1166         pe_data, only print if actually set.  Print version only if
1167         set.
1168         (save_relocs): save relocs for both input and output.
1169         (make_one): support internal/external different names.
1170         (pe_dll_generate_implib): support new make_one
1171         (pe_process_import_defs): new function; handles IMPORT
1172         directives in .def files.
1174 Fri Nov 20 13:06:49 1998  Nick Clifton  <nickc@cygnus.com>
1176         * ldmisc.c (vfinfo): Cope with empty symbol names.
1178 Thu Nov 19 13:31:15 1998  Nick Clifton  <nickc@cygnus.com>
1180         * scripttempl/pe.sc: Add provision of '_end' symbol.
1182 Wed Nov 18 18:18:43 1998  Geoffrey Noer  <noer@cygnus.com>
1184         * configure.tgt: change refs from cygwin32* to cygwin*.
1185         * aclocal.m4: regenerate
1186         * configure.in: don't need to call AM_CYGWIN32.
1187         * configure: regenerate
1189 Mon Nov 16 22:14:07 1998  DJ Delorie  <dj@cygnus.com>
1191         * emultempl/pe.em (gld_i386_finish): generate import library
1192         * deffile.h: add hint member.
1193         * pe-dll.c (pe_dll_generate_implib): New function with helpers;
1194         generates the import library directly from the export table.
1195         (fill_edata): remember the actual hint for the import library.
1197 Sat Nov 14 14:36:24 1998  Ian Lance Taylor  <ian@cygnus.com>
1199         * ld.1: Some cleanups from NOKUBI Hirotaka <hnokubi@yyy.or.jp>.
1201 Thu Nov 12 19:21:57 1998  Dave Brolley  <brolley@cygnus.com>
1203         * po/ld.pot: Regenerated.
1204         * po/POTFILES.in: Regenerated.
1205         * configure: Regenerated.
1206         * aclocal.m4: Regenerated.
1207         * Makefile.in: Regenerated.
1209 Wed Nov 11 18:10:15 1998  DJ Delorie  <dj@cygnus.com>
1211         * pe-dll.c (generate_reloc): don't output PE relocs for sections
1212         that won't be loaded.
1214 Wed Nov 11 13:44:54 1998  DJ Delorie  <dj@cygnus.com>
1216         * pe-dll.c (fill_edata): don't strip underscores
1218 Tue Nov 10 21:28:19 1998  DJ Delorie  <dj@cygnus.com>
1220         * ld.texinfo: added i386pe option summary
1222 Tue Nov 10 17:53:17 1998  DJ Delorie  <dj@cygnus.com>
1224         * pe-dll.c (process_def_file): properly note undefined exported
1225         symbols, clean up old code.
1226         (pe_dll_generate_def_file): don't crash if pe_def_file is NULL
1227         * emultempl/pe.em (gld_i386_parse_args): add
1228         (en/dis)able-stdcall-fixups
1229         (pe_fixup_stdcalls): warn about stdcall fixups
1230         (gld_i386_unrecognized_file): make exported symbols undefs so that
1231         archive members get pulled in
1233 Tue Nov 10 14:50:51 1998  Catherine Moore  <clm@cygnus.com>
1235         * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
1236         .fini, .dtors and .ctors.  Add .data and .text
1237         wildcards to support section garbage collection.
1239 Mon Nov  9 22:52:50 1998  DJ Delorie  <dj@indy.delorie.com>
1241         * deffilep.y: properly handle relocs with multiple def_files,
1242         cache import module names
1244 Mon Nov  9 22:44:58 1998  DJ Delorie  <dj@cygnus.com>
1246         * pe-dll.c (process_def_file): don't assume exports won't move
1247         during a realloc
1249 Mon Nov  9 16:41:30 1998  DJ Delorie  <dj@cygnus.com>
1251         * pe-dll.c: New file; direct support for PE DLLs
1252         * deffile.h: New file; direct support for PE DLLs
1253         * deffilep.y: New file; direct support for PE DLLs
1254         * emultempl/pe.em: add direct support for PE DLLs
1255         * configure.tgt: allow target-specific extra files
1256         * configure.in: allow target-specific extra files
1257         * ldlang.c (lang_add_assignment): return the assignment so that
1258         one can change the value later based on the object files (pe-dll
1259         DEF files do this)
1260         * ldint.texinfo: add section for emulation walkthrough
1261         * Makefile.am: add new files and target-specific extra files
1262         * emultempl/pe.em (gld_i386_list_options): list dll-specific
1263         options.
1264         * pe-dll.c (process_def_file): auto-export everything if
1265         nothing is otherwise exported.
1267 Wed Nov  4 16:39:18 1998  Nick Clifton  <nickc@cygnus.com>
1269         * Makefile.am: Add support for FR30 target.
1270         * configure.tgt: Add support for FR30 target.
1271         * Makefile.in: Regenerate.
1272         * emulparams/fr30.sh: New file.
1273         * scripttempl/fr30.sc: New file.
1275 Mon Nov  2 14:47:15 1998  Catherine Moore  <clm@cygnus.com>
1277         * ldmain.c (main):  Don't report error for dynamic links and
1278         --gc-sections.
1280 1998-10-26 16:05  Ulrich Drepper  <drepper@cygnus.com>
1282         * lexsup.c (ld_options): Change text of -O to Optimize output file".
1283         (parse_args): Set link_info.optimize based on -O argument.
1284         * ldmain.c (main): Initialize link_info.optimze to false.
1285         * ld.texinfo: Describe -O option.
1286         * ld.1: Likewise.
1288 Mon Oct 12 14:29:56 1998  Nick Clifton  <nickc@cygnus.com>
1290         * scripttempl/v850.sc: Move .sbss and .scommon sections into their
1291         own segment, so that they can be next to the .bss section and so
1292         initialised by the same piece of code.
1294 Fri Oct  9 15:59:52 1998  Catherine Moore  <clm@cygnus.com>
1296         * scripttempl/elf.sc:  Merge .sdata.* etc sections.
1297         * ldctor.c (ldctor_build_sets):  Set SEC_KEEP for
1298         ctor sections.
1300 Mon Oct  5 09:40:43 1998  Catherine Moore  <clm@cygnus.com>
1302         * ldmain.c (main):  Error if --gc-sections and
1303         dyanmic linking.
1304         * scripttempl/v850.sc:  Add KEEP attribute to .init,
1305         .fini, .dtors and .ctors.  Add .data and .text
1306         wildcards to support section garbage collection.
1308 Wed Sep 30 11:19:15 1998  Nick Clifton  <nickc@cygnus.com>
1310         * scripttempl/v850.sc: Rename .call_table section to
1311         .call_table_data and create a new section called
1312         .call_table_text.
1314 Sun Sep 20 00:43:26 1998  Ian Lance Taylor  <ian@cygnus.com>
1316         * scripttempl/elf.sc: Add alignment at the end of the .bss
1317         section, so that it is included in the memsize of the segment.
1319 Fri Sep 18 13:42:42 1998  Catherine Moore  <clm@cygnus.com>
1321         * emultempl/elf32.em (gld_place_orphan): Don't process for
1322         sections with SEC_EXCLUDE flag.
1324 Fri Sep  4 09:24:02 1998  Nick Clifton  <nickc@cygnus.com>
1326         * emulparams/d30velf.sh (TEXT_SIZE): Increased to 2000K.
1327         (DATA_SIZE): Increased to 2000K.
1329 Thu Sep  3 17:30:58 1998  Richard Henderson  <rth@cygnus.com>
1331         * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32.
1333 Mon Aug 31 01:06:00 1998  Catherine Moore  <clm@cygnus.com>
1335         * Makefile.am:  Change armelf.sc to elf.sc
1336         * Makefile.in:  Regenerate.
1338 Mon Aug 31 11:12:04 1998  Catherine Moore  <clm@cygnus.com>
1340         * emulparams/armelf.sh:  Change SCRIPT_NAME to
1341         elf.  Change TEXT_START_ADDR to 0x8000.  Define
1342         OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
1343         OTHER_BSS_END_SYMBOLS.
1344         * scripttempl/elf.sc:  Modify to use
1345         OTHER_BSS_END_SYMBOLS.
1346         * scripttempl/elfarm.sc:  Remove file.
1348 Tue Aug 18 12:05:34 1998  Catherine Moore  <clm@cygnus.com>
1350         * emultempl/armelf.em (gld_armelf_before_allocation):
1351         Add bfd_ prefix to elf32_arm_process_before_allocation
1352         and elf32_arm_allocate_interworking_sections.
1353         (gld_armelf_after_open): Add bfd_ prefix to
1354         elf32_arm_get_bfd_for_interworking.
1356 Fri Aug 14 15:34:29 1998  Ian Lance Taylor  <ian@cygnus.com>
1358         * Makefile.am: Rebuild dependencies.
1359         * Makefile.in: Rebuild.
1361         * ldgram.y: Include "ldctor.h".
1362         (statement): Accept SORT around CONSTRUCTORS.
1363         * ldctor.c: Include <ctype.h>.
1364         (constructors_sorted): New global variable.
1365         (ctor_prio, ctor_cmp): New static functions.
1366         (ldctor_build_sets): Sort constructors if requested.
1367         * ldctor.h (constructors_sorted): Declare.
1368         * ldlang.c (print_statement): Print sorted CONSTRUCTORS
1369         correctly.
1370         * scripttempl/elf.sc: Add sort around CONSTRUCTORS.
1371         * ld.texinfo (Output Section Keywords): Document SORT
1372         (CONSTRUCTORS).
1374 Thu Aug 13 12:20:39 1998  Catherine Moore  <clm@cygnus.com>
1376         * emulparams/armelf.sh:  Define TEMPLATE_NAME to armelf.
1377         * scripttempl/elfarm.sc:  Include .glue_7t and .glue7
1378         sections.
1379         * emultempl/armelf.em: New file.
1381 Thu Aug 13 12:52:45 1998  H.J. Lu  <hjl@gnu.org>
1383         * Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO.
1384         * Makefile.in: Rebuild.
1386 Tue Aug 11 16:17:01 1998  Catherine Moore  <clm@cygnus.com>
1388         * scripttempl/elfarm.sc:  Change text start address
1389         back to zero.
1391 Tue Aug 11 10:01:12 1998  Jeffrey A Law  (law@cygnus.com)
1393         * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1.
1394         * emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1.
1396 Sun Aug  9 20:31:27 1998  Catherine Moore  <clm@cygnus.com>
1398         * scripttempl/elfarm.sc:  Set text start address to
1399         0x8000.  Add __bss_end definition.
1401 Sat Aug  1 11:47:37 1998  Catherine Moore  <clm@cygnus.com>
1403         * scripttempl/elfarm.sc:  New file.
1404         * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
1406 Fri Jul 31 15:56:16 1998  Catherine Moore  <clm@cygnus.com>
1408         * emulparams/armelf.sh: New file.
1409         * configure.tgt:  Recognize thumb-elf and arm-elf.
1410         * Makefile.am (earmelf.o): New.
1411         * Makefile.in: Rebuild.
1413 Fri Jul 24 12:00:57 1998  Ian Lance Taylor  <ian@cygnus.com>
1415         * Makefile.am (install-exec-local): Don't remove the file before
1416         checking whether $(bindir) == $(tooldir)/bin.  From Maciej
1417         W. Rozycki <macro@ds2.pg.gda.pl>.
1418         * Makefile.in: Rebuild.
1420         * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*.
1422 Thu Jul 23 11:15:12 1998  Ian Lance Taylor  <ian@cygnus.com>
1424         * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set
1425         alignment of end symbol.
1426         * scripttempl/elf.sc: Likewise.
1427         * emulparams/sun4.sh (ALIGNMENT): Define.
1428         * emulparams/elf32_sparc.sh (ALIGNMENT): Define.
1429         * ldint.texinfo (emulation parameters): Document ALIGNMENT.
1431         * lexsup.c (parse_args): Add missing break statement.
1433         * ldlang.c (lang_gc_sections_1): Add default case to switch to
1434         avoid warnings.
1436 Tue Jul 14 15:42:17 1998  Richard Henderson  <rth@cygnus.com>
1438         * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
1439         * Makefile.am (ei386beos.o): New.
1440         * emulparams/i386beos.sh: New file.
1441         * emultempl/beos.em, scripttempl/i386beos.sc: New file.
1443 Tue Jul 14 15:35:42 1998  Richard Henderson  <rth@cygnus.com>
1445         * lexsup.c: New option --version-exports-section.
1446         * ld.h (struct args_type): Add version_exports_section.
1447         * ldlang.c (lang_do_version_exports_section): New function.
1448         (lang_process): Call it.
1450 Mon Jul 13 13:20:23 1998  Steve Chamberlain  <sac@transmeta.com>
1452         * ldlex.l: Accept ASSERT.
1453         * ldgram.y (exp): Add ASSERT_K case.
1454         * ldexp.h (node_type): Add etree_assert to node_class enum.
1455         (etree_type): Add assert_s field.
1456         (exp_assert): Declare.
1457         * ldexp.c (exp_fold_tree): Handle etree_assert.
1458         (exp_assert): New function.
1459         (exp_print_tree): Handle etree_assert.
1460         * ld.texinfo (Miscellaneous Commands): Document ASSERT.
1462 Wed Jul  8 14:03:12 1998  Ian Lance Taylor  <ian@cygnus.com>
1464         * ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
1465         conflicts with system header files.  Change all uses.
1467         * Makefile.am (MAINTAINERCLEANFILES): Define.
1468         * Makefile.in: Rebuild.
1470 Tue Jul  7 18:03:22 1998  Ian Lance Taylor  <ian@cygnus.com>
1472         * Makefile.am (ldver.texi): New target.
1473         (ld.info, ld.dvi): Depend upon ldver.texi.
1474         * ld.texinfo: Include ldver.texi.  Mention version number on title
1475         page and in top node.
1476         * Makefile.in: Rebuild.
1478 Mon Jul  6 14:55:13 1998  Ian Lance Taylor  <ian@cygnus.com>
1480         * configure.tgt (i[3456]86-*-solaris*): New target.
1482 Fri Jul  3 14:19:06 1998  Ian Lance Taylor  <ian@cygnus.com>
1484         * ldlang.c (wild_section): Don't get an assertion failure if the
1485         section is discarded.
1487         * scripttempl/pe.sc: Use SORT to sort sections appropriately.
1488         * emultempl/pe.em (sort_by_file_name): Remove.
1489         (sort_by_section_name): Remove.
1490         (sort_sections_1, sort_sections): Remove.
1491         (gld_${EMULATION_NAME}_before_allocation): Don't call
1492         sort_sections.
1493         (hold_section, hold_section_name): New static variables.
1494         (hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
1495         (gld_${EMULATION_NAME}_place_orphan): Rewrite.  Look for a good
1496         place to put the section.  Align the section.  Sort the input
1497         sections by name.
1498         (gld_${EMULATION_NAME}_place_section): New static function.
1500         * ldlang.c (wild_sort): When sorting by file name, sort by archive
1501         name first.
1503         * emultempl/pe.em (set_pe_subsystem): Don't call
1504         ldlang_add_undef.
1505         (gld_${EMULATION_NAME}_after_parse): New static function.
1506         (ld_${EMULATION_NAME}_emulation): Use new after_parse function
1507         rather than after_parse_default.
1509         * ldgram.y (extern_name_list): Do not require symbols to be
1510         separated by commas.
1511         (ifile_p1): Add EXTERN.
1512         * ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
1513         mode.
1514         * ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
1515         (Miscellaneous Commands): Document EXTERN.
1517 Wed Jul  1 19:40:34 1998  Richard Henderson <rth@cygnus.com>
1519         * ld.h (args_type): Add gc_sections.
1520         * ldgram.y (ldgram_had_keep, KEEP): New.
1521         (input_section_spec_no_keep): Rename from old input_section_spec.
1522         (input_section_spec): New.  Recognize KEEP.
1523         * ldlang.c (wild_section): Handle keep sections.
1524         (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
1525         (lang_gc_sections_1, lang_gc_sections): New.
1526         (lang_process): Invoke lang_gc_sections.
1527         (lang_add_wild): Add keep argument.  Update all callers.
1528         * ldlang.h (lang_wild_statement_struct): Add keep_sections.
1529         * ldlex.l (KEEP): Match it.
1530         * ldmain.c (main): Error on -r and --gc-sections.
1531         * lexsup.c: Add --gc-sections.
1533         * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
1534         Mark startup sections with KEEP.
1535         * scripttempl/elfppc.sc: Likewise.
1537         * ld.texinfo: Update for --gc-sections and KEEP.
1539 Wed Jul  1 15:21:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1541         From Peter Jordan <pjordan@chla.usc.edu>:
1542         * scripttempl/i386go32.sc: Correct constructor handling for -u.
1544 Tue Jun 23 15:17:27 1998  Ian Lance Taylor  <ian@cygnus.com>
1546         * Makefile.am (install-data-local): Make ldscripts subdirectory.
1547         * Makefile.in: Rebuild.
1549 Tue Jun 23 15:17:04 1998  Mike Stump  <mrs@wrs.com>
1551         * Makefile.am (install-exec-local): Don't let EXEEXT interfere
1552         with the program transform name.
1553         * Makefile.in: Rebuild.
1555 Sun Jun 21 23:55:16 1998  Jeffrey A Law  (law@cygnus.com)
1557         * ld.texinfo: Note that -relax may make symbolic debugging
1558         impossible on some platforms.
1560 Tue Jun 16 12:51:13 1998  Geoff Keating  <geoffk@ozemail.com.au>
1562         * Makefile.am (Makefile): Remove target.
1563         (config.status): New target.
1564         * Makefile.in: Rebuild.
1566         * configure.host (powerpc*-*-linux-gnu*): New host.
1568 Fri Jun 12 17:38:07 1998  Doug Evans  <devans@seba.cygnus.com>
1570         * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
1572         * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of
1573         stack to 8MB.
1575 Fri Jun 12 19:33:17 1998  Ian Lance Taylor  <ian@cygnus.com>
1577         * Makefile.am (HFILES): Remove config.h.
1578         (EMULATION_OFILES, POTFILES): Move patch of May 14 from
1579         Makefile.in to Makefile.am.
1580         (earmcoff.c): Depend upon armcoff.em, not generic.em.
1581         * po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
1582         ($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
1583         * Makefile.in, po/POTFILES.in, po/ld.pot: Rebuild.
1585 Fri Jun 12 13:43:17 1998  Tom Tromey  <tromey@cygnus.com>
1587         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
1588         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
1590 Tue Jun  9 09:36:48 1998  Nick Clifton  <nickc@cygnus.com>
1592         * ldlang.c (lang_finish): Add CONST type modifier to declaration
1593         of 'send'.
1595 Fri Jun  5 18:19:59 1998  Ian Lance Taylor  <ian@cygnus.com>
1597         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
1598         config.has_shared to true.
1599         * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
1600         Likewise.
1601         * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
1602         Likewise.
1604 Tue Jun  2 12:55:03 1998  Ian Lance Taylor  <ian@cygnus.com>
1606         * ldlang.c (lang_finish): If the entry symbol is not found, try
1607         parsing it as a number.
1608         * ld.texinfo (Options): Document this.
1610 Mon Jun  1 14:01:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1612         * ld.texinfo (Input Section Wildcards): Document SORT keyword.
1614 Mon May 18 12:42:53 1998  Doug Evans  <devans@canuck.cygnus.com>
1616         * ld.h (ld_config_type): New member has_shared.
1617         * ldmain.c (main): Initialize it.
1618         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
1619         * lexsup.c (parse_args): Treat -shared as error if not supported.
1621 Mon May 18 13:14:43 1998  Ian Lance Taylor  <ian@cygnus.com>
1623         From Jason Merrill <jason@cygnus.com>:
1624         * ldlang.c (wild_sort): Correct order of sort.
1625         * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
1626         .dtors.
1627         * scripttempl/elfd10v.sc: Likewise.
1628         * scripttempl/elfd30v.sc: Likewise.
1629         * scripttempl/elfppc.sc: Likewise.
1631 Fri May 15 00:22:35 1998  Ian Lance Taylor  <ian@cygnus.com>
1633         * ldlex.l: Recognize keyword SORT.
1634         * ldgram.y (current_file): Change to struct wildcard_spec.
1635         (%union): Add new fields cname and wildcard.
1636         (wildcard_name, wildcard_spec): New nonterminals.
1637         (file_NAME_list): Use wildcard_spec.
1638         (input_section_spec): Change current_file usage.
1639         * ld.h (struct wildcard_spec): Define.
1640         * ldlang.h (lang_wild_statement_struct): Add new fields
1641         sections_sorted and filenames_sorted.
1642         (lang_add_wild): Update declaration.
1643         * ldlang.c (wild_sort): New static function.
1644         (wild_section): Use wild_sort.
1645         (print_wild_statement): Print sorting information.
1646         (lang_add_wild): Add new parameters sections_sorted and
1647         filenames_sorted.  Change all callers.
1648         * mri.c (mri_draw_tree): Update calls to lang_add_wild.
1649         * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
1650         * scripttempl/elfd10v.sc: Likewise.
1651         * scripttempl/elfd30v.sc: Likewise.
1652         * scripttempl/elfppc.sc: Likewise.
1654 Thu May 14 18:39:16 1998  Richard Henderson  <rth@cygnus.com>
1656         * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
1658 Thu May 14 14:51:24 1998  Nick Clifton  <nickc@cygnus.com>
1660         * ldemul.h: Add new prototype: ldemul_list_emulation_options.
1661         (ld_emulation_xfer_struct): Add new field: list_options.
1662         * ldemul.c (ldemul_list_options): New function.  Call the
1663         list_options field of the ld_emulation_xfer_struct for each
1664         supported emulation, if such a function is present.
1665         * lexsup.c (help): Call ldemul_list_emulation_options.
1666         * emultempl/pe.em (gld_<>_list_options): New function.  Describe
1667         the pe emulation specific command line options.
1668         * emultempl/armcoff.em (gld<>_list_options): New function.
1669         Describe  the armcoff emulation specific command line options.
1671         * emultempl/pe.em: Add a new command line option:
1672         --support-old-code.
1673         * emultempl/armcoff.em: Ditto.
1674         * ld.texinfo: Document the --support-old-code option.
1676         * Makefile.in: Add emulation files for POTFILES.in target.
1677         * emultempl/pe.em: Internationalise suitable strings.
1678         * emultempl/armcoff.em: Internationalise suitable strings.
1679         * po/POTFILES.in: Rebuilt.
1681 Sun May 10 22:36:30 1998  Jeffrey A Law  (law@cygnus.com)
1683         * po/Make-in (install-info): New target.
1685 Tue Apr 28 19:18:30 1998  Tom Tromey  <tromey@cygnus.com>
1687         * ldmain.c (main): Conditionally call setlocale.
1688         * ld.h: Include <locale.h> if HAVE_LOCALE_H.
1689         (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
1691 Mon Apr 27 11:56:21 1998  Ian Lance Taylor  <ian@cygnus.com>
1693         * configure.in: Change version number to 2.9.4
1694         * configure: Rebuild.
1696         * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
1698         Based on patch from H.J. Lu <hjl@gnu.org>:
1699         * emultempl/elf32.em (global_vercheck_needed): New file static
1700         variable.
1701         (global_vercheck_failed): New file static variable.
1702         (gld${EMULATION_NAME}_after_open): Check for shared libraries
1703         twice, once with force set to 0 and once with it set to 1.
1704         (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
1705         Change all callers.
1706         (gld${EMULATION_NAME}_search_needed): Likewise.
1707         (gld${EMULATION_NAME}_try_needed): Likewise.  If not force, check
1708         whether the libraries needs any incompatible versions.
1709         (gld${EMULATION_NAME}_vercheck): New static function.
1711 Wed Apr 22 16:01:35 1998  Tom Tromey  <tromey@cygnus.com>
1713         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
1715 Wed Apr 22 12:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
1717         * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
1718         invoking runtest.
1719         * Makefile.in: Rebuild.
1721         * lexsup.c (parse_args): Change -l options into --library options
1722         to avoid confusion between -li and -library.
1724         * ld.texinfo (MEMORY): Clarify use of >REGION.
1726 Tue Apr 21 23:12:40 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
1728         * Many files: Added gettext invocations around user-visible
1729         strings.
1730         * ld.h: Added gettext-related includes and defines.
1731         * ldmain.c: Call setlocale, bindtextdomain, textdomain.
1732         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
1733         HAVE_LC_MESSAGES): Define.
1734         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
1735         po/Makefile.  Use AM_PROG_LEX.
1736         (TDIRS): AC_SUBST early on, to avoid having value split when it
1737         happens to cross line 90 of the generated sed script.
1738         * Makefile.am (SUBDIRS): New macro.
1739         (POTFILES): Likewise.
1740         (po/POTFILES.in): New target.
1741         (ld_new_LDADD): Added INTLLIBS.
1742         (ld_new_DEPENDENCIES): Added INTLDEPS.
1743         * po/Make-in, po/POTFILES.in, po/ld.pot: New files.
1745 Tue Apr 21 23:07:07 1998  Ian Lance Taylor  <ian@cygnus.com>
1747         * ld.texinfo (Simple Example): Rewrite a few things as suggested
1748         by Nick Clifton <nickc@cygnus.com>.
1749         (PROVIDE): Likewise.
1751 Tue Apr 21 09:55:06 1998  Nick Clifton  <nickc@cygnus.com>
1753         * emultempl/pe.em: Rename external arm interworking functions
1754         to conform to BFD naming conventions.  Add code to _after_open()
1755         function to obtain a bfd for use by the interworking code.
1757         * emultempl/armcoff.em: Rename external arm interworking functions
1758         to conform to BFD naming conventions.  Add new _after_open()
1759         function to obtain a bfd for use by the interworking code.
1761 Sun Apr 19 19:23:09 1998  Richard Henderson  <rth@cygnus.com>
1763         * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
1764         Update dot and the default memory section even when relaxing.
1766 Sat Apr 18 18:41:12 1998  Richard Henderson  <rth@cygnus.com>
1768         * ldlang.c (lang_one_common): Manipulate the section's cooked size
1769         rather than its raw size.
1771 Tue Apr  7 13:35:29 1998  H.J. Lu  <hjl@gnu.org>
1773         * configure.in (TESTBFDLIB): New.  Defined and substituted.
1774         * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
1775         * configure, Makefile.in: Rebuild.
1777 Mon Apr  6 15:33:39 1998  Ian Lance Taylor  <ian@cygnus.com>
1779         * Makefile.am (ld.info): Invoke makeinfo with -I options directly
1780         rather than relying on default rule.  Don't depend upon
1781         bfdsumm.texi.
1782         (ld.dvi): Likewise.
1783         (bfdsumm.texi): Remove target.
1784         (CLEANFILES): Take bfdsumm.texi out of value.
1785         * Makefile.in: Rebuild.
1787 Sun Apr  5 13:07:57 1998  Ian Lance Taylor  <ian@cygnus.com>
1789         * scripttempl/pe.sc: Use shell variables to avoid depending upon
1790         how $ is handled when expanding a shell substitution.
1792 Fri Apr  3 00:56:50 1998  Ian Lance Taylor  <ian@cygnus.com>
1794         * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
1795         (DISTCLEANFILES): Add site.exp and site.bak.
1796         * Makefile.in: Rebuild.
1798         * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
1799         rather than in a shell variable and using AC_SUBST.
1800         * Makefile.am (DISTCLEANFILES): Remove ldscripts.  Add tdirs.
1801         (distclean-local): New target.
1802         * configure, Makefile.in: Rebuild.
1804         * ld.texinfo: Completely rewrite linker script documentation.
1806 Mon Mar 30 12:47:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1808         * configure.in: Set version to 2.9.1.
1809         * configure: Rebuild.
1811         * Branched binutils 2.9.
1813 Sat Mar 28 16:48:19 1998  Ian Lance Taylor  <ian@cygnus.com>
1815         * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
1816         (mostlyclean-local): New target to remove tmpdir.
1817         * Makefile.in: Rebuild.
1819         Fix some gcc -Wall warnings:
1820         * ldcref.c (output_cref): Add casts to avoid warnings.
1821         * ldfile.c (ldfile_add_arch): Likewise.
1822         * ldlang.c (lang_leave_overlay_section): Likewise.
1823         * lexsup.c (OPTION_COUNT): Likewise.
1824         (parse_args): Likewise.
1825         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
1826         Likewise.
1827         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
1828         * ldlang.c (lang_check): Initialize variables to avoid warnings.
1829         * ldwrite.c (build_link_order): Likewise.
1830         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
1831         * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
1832         Remove unused variables.
1834         * Makefile.am (MOSTLYCLEANFILES): Correct name (was
1835         MOSTCLEANFILES).
1836         * Makefile.in: Rebuild.
1838 Fri Mar 27 16:39:25 1998  Ian Lance Taylor  <ian@cygnus.com>
1840         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
1841         ARM code inside ifdef TARGET_IS_armpe.
1843 Wed Mar 25 11:34:13 1998  Ian Lance Taylor  <ian@cygnus.com>
1845         Based on patch from H.J. Lu  <hjl@gnu.org>:
1846         * Makefile.am (LDDISTSTUFF): New variable.
1847         (diststuff): New target.
1848         * Makefile.in: Rebuild.
1850         * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
1851         relocating.
1853 Tue Mar 24 15:59:29 1998  Nick Clifton  <nickc@cygnus.com>
1855         * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
1856         hold Arm/Thumb stubs.
1858         * emultempl/pe.em (gld_pe_before_allocation): Call
1859         arm_process_before_allocation (for ARM/Thumb targets) in order to
1860         gather interworking stb information.
1862 Mon Mar 23 18:54:15 1998  Joel Sherrill  <joel@OARcorp.com>
1864         * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
1866 Fri Mar 20 19:17:13 1998  Ian Lance Taylor  <ian@cygnus.com>
1868         * aclocal.m4, configure: Rebuild with libtool 1.2.
1870 Thu Mar 19 14:54:45 1998  Geoffrey Noer  <noer@cygnus.com>
1872         * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
1873         section to avoid copying certain data on fork.  The linker used to
1874         include this between __data_start__ and __data_end__, but that
1875         breaks building the cygwin32 dll.  The fix is to rename the
1876         section ".data_cygwin_nocopy" and explictly include it after
1877         __data_end__.
1879 Wed Mar 18 09:42:24 1998  Nick Clifton  <nickc@cygnus.com>
1881         * configure.tgt (targ_extra_emuls): Add thumb-pe target.
1883 Sun Mar  8 23:34:14 1998  Stan Cox  <scox@equinox.cygnus.com>
1885         * configure.tgt (sparclite*-*-elf): Added.
1887 Mon Mar  2 19:24:08 1998  Michael Meissner  <meissner@cygnus.com>
1889         * ldlang.c (lang_size_sections): If the default memory region is
1890         *default*, see if there is a memory region that could be used.
1892 Thu Feb 26 17:09:53 1998  Michael Meissner  <meissner@cygnus.com>
1894         * scripttempl/elfd30v.sc: Add support for .eit_v section and put
1895         it at 0xfffff020.
1896         * emulparams/d30v{elf,_o,_e}.sh: Ditto.
1898 Mon Feb 23 17:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
1900         * emultempl/pe.em (sort_sections): Permit the wildcard to include
1901         a trailing '*' when sorting grouped sections.
1902         * scripttempl/pe.sc: Include grouped sections using NAME\$*.  Only
1903         include them when relocating.
1905 Wed Feb 18 23:39:46 1998  Richard Henderson  <rth@cygnus.com>
1907         * Makefile.am (install-exec-local): Install properly when ln
1908         fails or tooldir == prefix.
1910 Fri Feb 13 15:24:06 1998  Ian Lance Taylor  <ian@cygnus.com>
1912         * Makefile.am (AUTOMAKE_OPTIONS): Define.
1913         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
1915 Thu Feb 12 14:10:44 1998  Ian Lance Taylor  <ian@cygnus.com>
1917         * scripttempl/elf.sc: Align the _end symbol according to the ELF
1918         format size.  From Gordon W. Ross <gwr@mc.com>.
1920         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
1921         * configure.host (alpha*-*-netbsd*): New host.
1922         * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
1923         targets.
1925         * lexsup.c (help): Update bug-gnu-utils address.
1926         * ld.texinfo (Bug Reporting): Likewise.
1928 Tue Feb 10 18:05:56 1998  Ian Lance Taylor  <ian@cygnus.com>
1930         * ldlang.c (lang_size_sections): Warn if some memory regions were
1931         defined, but a loadable section is going into the default memory
1932         region.
1934 Tue Feb 10 16:17:20 1998  H.J. Lu  <hjl@gnu.org>
1936         * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
1938 Tue Feb 10 15:09:45 1998  Ian Lance Taylor  <ian@cygnus.com>
1940         * Makefile.am (Makefile): Add target, for dependencies on
1941         configure.host and configure.tgt.
1942         * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
1943         * Makefile.in: Rebuild.
1945 Mon Feb  9 13:44:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1947         * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
1949         * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
1950         moved to 0x00.....4.
1952 Sat Feb  7 15:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
1954         * configure, aclocal.m4: Rebuild with new libtool.
1956 Thu Feb  5 12:16:11 1998  Ian Lance Taylor  <ian@cygnus.com>
1958         * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
1959         From Thomas de Lellis <tdel@wrs.com>.
1961         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
1963 Wed Feb  4 13:02:32 1998  Ian Lance Taylor  <ian@cygnus.com>
1965         * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
1966         * Makefile.in: Rebuild.
1968 Mon Feb  2 19:34:54 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
1970         Add tms320c30 support:
1971         * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
1972         * emulparams/tic30aout.sh: New file.
1973         * emulparams/tic30coff.sh: New file.
1974         * scripttempl/tic30aout.sc: New file.
1975         * scripttempl/tic30coff.sc: New file.
1976         * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
1977         etic30coff.o.
1978         (etic30aout.c, etic30coff.c): New targets.
1979         * Makefile.in: Rebuild.
1981 Mon Feb  2 14:10:59 1998  Ian Lance Taylor  <ian@cygnus.com>
1983         * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
1984         accept either ld.so or ld-linux.so.
1986 Fri Jan 30 19:16:28 1998  Doug Evans  <devans@canuck.cygnus.com>
1988         * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
1989         to transform.
1990         * Makefile.in: Regenerate.
1992 Fri Jan 30 19:15:17 1998  Geoff Keating  <geoffk@ozemail.com.au>
1994         * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
1996 Fri Jan 30 11:43:49 1998  H.J. Lu  <hjl@gnu.ai.mit.edu>
1998         * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
1999         * Makefile.in: Rebuild.
2001 Thu Jan 29 16:04:21 1998  Mumit Khan  <khan@xraylith.wisc.edu>
2003         * ldfile.c (slash): Set to backslash if _WIN32 but not
2004         __CYGWIN32__.
2005         (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
2006         leading backslash or a leading x: as an absolute path.
2007         (ldfile_find_command_file): Use slash rather than / when
2008         generating name to try.
2009         * lexsup.c (PATH_SEPARATOR): Define.
2010         (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
2012 Wed Jan 28 14:06:30 1998  Richard Henderson  <rth@cygnus.com>
2014         * emulparams/elf64_sparc.sh (ELFSIZE): 64
2015         (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
2016         (DATA_PLT): Needed by v9 abi.
2018 Wed Jan 28 16:37:27 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
2020         * configure.tgt (i[3456]86-*-mingw32*): New entry.
2022 Wed Jan 28 15:51:58 1998  Ian Lance Taylor  <ian@cygnus.com>
2024         * scripttempl/elf.sc: Only include linkonce sections in final
2025         sections when relocating.
2027 Wed Jan 28 14:10:01 1998  Ian Lance Taylor  <ian@cygnus.com>
2029         * ld.texinfo (Options): Add a brief description of the types of
2030         information included in a link map.
2032         * ld.texinfo (Options): Mention LDEMULATION in description of -m.
2033         (Environment): Mention LDEMULATION.
2035         * ld.texinfo (Options): Clarify --export-dynamic a bit.
2037 Thu Jan 22 16:07:23 1998  Richard Henderson  <rth@cygnus.com>
2039         * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
2040         pattern could match.
2042 Wed Jan 21 22:26:46 1998  Ian Lance Taylor  <ian@cygnus.com>
2044         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
2045         a relocateable link, set the image base to 0, and don't define the
2046         various symbols.
2047         * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
2048         * scripttempl/pe.sc: Swap the .data and .bss sections so that
2049         .data comes first.  If doing a relocateable link, use
2050         RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
2051         sections at 0, and don't define any symbols.
2053         * ldlang.c (lang_memory_default): Correct parenthisization of
2054         expression.
2056 Wed Jan 21 21:20:32 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2058         * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
2059         here; they are included already via sysdep.h.
2061 Tue Jan  6 13:40:02 1998  Richard Henderson  <rth@cygnus.com>
2063         * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
2065 Fri Jan  2 20:15:37 1998  Michael Meissner  <meissner@cygnus.com>
2067         * ldgram.y (attributes_opt): Pass region pointer to
2068         lang_set_flags, not &region->flags.
2070         * ldlang.c (lang_memory_default): New function to figure out a
2071         default memory region for a section if it was not specified.
2072         (lang_memory_region_lookup): Zero flags, not_flags field.
2073         (lang_map{,_flags}): Print attribute flags in memory map.
2074         (lang_size_sections): Call lang_memory_default to get default
2075         memory region.
2076         (lang_set_flags): Implement attribute flags for real.  Take new
2077         argument to give the flags we are to skip for this region.
2079         * ldlang.h (memory_region_struct): Add not_flags field, make both
2080         flags fields flagword type.
2081         (lang_output_section_state): Make flags field flagword type.
2082         (lang_set_flags): Update prototype to match new calling sequence.
2083         (lang_memory_region_default): Add prototype.
2085         * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
2086         Define whether or not the region gets default sections, and if so,
2087         what sections.
2089         * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
2090         default sections.
2092 Thu Jan  1 22:58:04 1998  Michael Meissner  <meissner@cygnus.com>
2094         * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
2096 Thu Jan  1 18:04:51 1998  Jeffrey A Law  (law@cygnus.com)
2098         * scripttempl/h8300h.sc: Fix typo.
2099         * scripttempl/h8300s.sc: Likewise.
2101 For older changes see ChangeLog-9197
2103 Local Variables:
2104 mode: change-log
2105 left-margin: 8
2106 fill-column: 74
2107 version-control: never
2108 End: