* emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
[external/binutils.git] / ld / ChangeLog
1 1999-07-12  Andreas Schwab  <schwab@suse.de>
2
3         * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
4         structure initializations.
5
6         * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
7         comma in initializer.
8
9 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
10
11         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
12         as appropriate.  Fill in structure initializations.
13
14 1999-07-10  Ian Lance Taylor  <ian@zembu.com>
15
16         * ldfile.c: Revert patch of 1999-07-08.
17         (ldfile_try_open_bfd): If we are searching for the file, skip
18         files with an incompatible architecture.
19
20 1999-07-09  Nick Clifton  <nickc@cygnus.com>
21
22         * scripttempl/armcoff.sc (OUTPUT_FORMAT): Include big endian and
23         little endian formats.
24
25 1999-07-08  Felix Lee  <flee@cygnus.com>
26
27         * scripttempl/mcorepe.sc: fix quoting problem, for bash 2.x
28
29 1999-07-08  Jakub Jelinek  <jj@ultra.linux.cz>
30
31         * ldfile.c (ldfile_open_file_search): Skip libraries made for
32         incompatible architectures in the search path. Let the user know
33         about any such skips.
34
35 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
36
37         * configure.tgt (hppa*-linux-gnu*): New target.
38
39 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
40
41         * Makefile.am (ALL_64_EMULATIONS): Add eelf64bmip.
42         (eelf64bmip): New target.
43         * Makefile.in: Regenerated.
44         * configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
45         * emulparams/elf64bmip.sh: New file.
46
47 1999-07-05  Nick Clifton  <nickc@cygnus.com>
48
49         * emultempl/pe.em (after_open): Abort if input format is ARM and
50         output format is not. 
51         * emultempl/armcoff.em (after_open): Abort if input format is ARM
52         and output format is not. 
53         * emultempl/armelf.em (after_open): Abort if input format is ARM
54         and output format is not. 
55
56 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
57
58         * ldlang.c: Revert change of 1999-06-23.
59
60 1999-06-30  Mark Mitchell  <mark@codesourcery.com>
61
62         * Makefile.am (ALL_EMULATIONS): Add eelf32bmipn32.o.
63         (eelf32bmipn32.c): New target.
64         * Makefile.in: Regenerated.
65         * configure.tgt (mips-sgi-irix6*): Make n32 the default
66         emulation.
67         * emulparams/elf32bmipn32.sh: New file.
68         
69 1999-06-28  Jim Pick <jim@jimpick.com>
70
71         * emultempl/armelf.em: Added code so that .xs linker scripts are
72         called so that ARM shared libraries are built correctly.
73
74 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
75
76         * ldmain.c (main): Initialize link_info.init_function and
77         link_info.fini_function.
78         * lexsup.c (OPTION_INIT): New macro.
79         (OPTION_FINI): Likewise.
80         (ld_options): Add descriptions for them.
81         (parse_args): Handle them.
82
83 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
84
85         * ldlang.c (section_already_linked): Only discard link once
86         sections if we are building constructors.
87
88 1999-06-22  Nick Clifton  <nickc@cygnus.com>
89
90         * ld.texinfo (Location Counter): Describe behaviour of
91         location counter inside section statements.
92
93 1999-06-20  Mark Mitchell  <mark@codesourcery.com>
94
95         * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
96         controlling whether or not .rodata is in the data segment or the
97         text segment.
98
99 1999-06-18  Nick Clifton  <nickc@cygnus.com>
100
101         * emultempl/pe.em: Add new command line switch --thumb-entry.
102         * emultempl/armelf.em: Add new command line switch --thumb-entry.
103         * emultempl/armcoff.em: Add new command line switch --thumb-entry.
104         * ld.texinfo: Document new ARM command line switch: --thumb-entry.      
105 1999-06-20  H.J. Lu  <hjl@gnu.org>
106
107         * configure.in (all_libpath): Accumulate across all enabled targets.
108
109 Sun Jun 20 14:10:33 1999  Richard Henderson  <rth@cygnus.com>
110
111         * emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
112         DEFAULT_EMULATION.
113         * emultempl/elf32.em: Likewise.
114         * emultempl/sunos.em: Likewise.
115
116 Fri Jun 18 15:24:48 1999  Richard Henderson  <rth@cygnus.com>
117
118         * Makefile.am (GENSCRIPTS): Pass EMULATION_LIBPATH, not EMUL.
119         * configure.in (all_emuls): Add targ_extra_libpath.
120         (all_libpath, EMULATION_LIBPATH): Define.
121         * configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
122         * genscripts.sh (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
123
124 Mon Jun 14 10:38:36 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
125
126         * ld.texinfo: Fix use of @item vs. @itemx.
127
128 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
129
130         From Thomas Zenker <thz@lennartz-electronic.de>:
131         * ldgram.y (attributes_opt): Use attributes_list instead of NAME.
132         (attributes_list, attributes_string): New nonterminals.
133         * ldlang.c (lang_set_flags): Add invert parameter.  Don't handle
134         '!'.
135         * ldlang.c (lang_set_flags): Update declaration.
136
137 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
138
139         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
140         entry_symbol as an undefined symbol when doing a relocateable
141         link.  From <jeffdb@goodnet.com>.
142
143 1999-06-12  David O'Brien  <obrien@freebsd.org>
144
145         * configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
146
147 1999-06-09  Nick Clifton  <nickc@cygnus.com>
148
149         * lexsup.c (help): Restore previous format of output.
150
151 1999-06-04  Nick Clifton  <nickc@cygnus.com>
152
153         * emultempl/pe.em: If compiling for arm_epoc_pe rename
154         interworking functions to avoid a name space clash.
155
156 1999-06-02  Jason Merrill  <jason@yorick.cygnus.com>
157
158         * scripttempl/v850.sc: Add initp support.
159
160 1999-06-02  Nick Clifton  <nickc@cygnus.com>
161
162         * emultempl/pe.em: Rename global arm interworking functions to
163         avoid name collision when all targets BFD is built.
164
165 1999-05-30  Cort Dougan  <cort@attis.cs.nmt.edu>
166
167         * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
168         * configure.tgt (powerpc-*-linux-gnu): Use it.
169         * emulparams/elf32ppclinux.sh: New file.
170
171 1999-05-29  Ian Lance Taylor  <ian@zembu.com>
172
173         * ld.texinfo (Options): Clarify that options which refer to files
174         must be properly ordered.
175
176 1999-05-29  Nick Clifton  <nickc@cygnus.com>
177
178         * emultempl/armelf.em (..._parse_args): New function: Parse
179         command line option.  Accept arm-elf specific command line option
180         '-p' or '--no-pipeline-knowledge'.
181         (..._list_options): New function: Describe the new command line
182         option.
183         (..._before_allocation): Pass the value of the new variable
184         no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
185         
186         * emultemp/armelf_oabi.em (..._before_allocation): Pass zero as
187         the third parameter to bfd_elf32_arm_process_before_allocation.
188
189 1999-05-28  Nick Clifton  <nickc@cygnus.com>
190
191         * lexsup.c (help): Minor formatting changes.
192
193 1999-05-28  Martin Dorey  <mdorey@madge.com>
194
195         * configure.tgt (i960-*-elf*): New target.
196         * emulparams/elf32_i960.sh: New file.
197         * Makefile.am (ALL_EMULATIONS): Add eelf32_i960.o.
198         (eelf32_i960.c): New target.
199         * Makefile.in: Rebuild.
200
201 1999-05-26  Nick Clifton  <nickc@cygnus.com>
202
203         * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi. 
204
205 1999-05-24  Philip Blundell  <philb@gnu.org>
206
207         * emultempl/armelf.em (before_parse): Set config.dynamic_link and
208         config.has_shared.
209         * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
210         * emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise.
211
212 1999-04-13  Philip Blundell  <philb@gnu.org>
213
214         * emultempl/armelf.em: Add definitions related to shared objects
215         (copied from elf32.em).
216
217 Wed May 19 12:44:26 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
218
219         * Makefile.am (ALL_EMULATIONS): Remove earmlinux.o and
220         earm26linux.o, add earmelf_linux.o and earmelf_linux26.o.
221         * Makefile.in: Regenerated.
222
223 1999-05-16  Nick Clifton  <nickc@cygnus.com>
224
225         * emulparams/elf32mcore.sh (GENERATE_SHLIB_SCRIPT): Define.
226         (TEMPLATE_NAME): Define.
227
228 Thu May 13 09:48:09 1999  Joel Sherrill (joel@OARcorp.com)
229
230         * configure.tgt (i386-*-rtemself*, sh-*-rtemself*): New targets.
231         (mips*el-*-rtems*, powerpcle-*-rtems*): New targets.
232
233 1999-05-10  DJ Delorie  <dj@cygnus.com>
234
235         * scripttempl/pe.sc: Specify the output arch, which Ian says is
236         the Right Thing to do.
237
238         * emultempl/pe.em: various changes to parameterize the
239         target-specific information.
240         (gld_i386pe_after_open): Detect and fix MS import libraries
241         by renaming the member objects (which are all named the same).
242
243         * pe-dll.c: various changes to parameterize the target-specific
244         information.
245         (generate_reloc): support relocs more generically to allow for
246         expansion.
247         (pe_exe_build_sections): new; used to add .relocs to .exes
248         (pe_exe_fill_sections): ditto
249
250 1999-05-10  Catherine Moore  <clm@cygnus.com>
251
252         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
253         Check for TARGET_IS_arm_epoc_pe.
254         (gld_${EMULATION_NAME}_before_allocation): Likewise.
255
256 1999-05-12  Anthony Green  <green@cygnus.com>
257
258         * ldlang.c (walk_wild, walk_wild_file, walk_wild_section,
259         output_section_callback, gc_section_callback): New functions for
260         generic section walks.
261         (wild, lang_gc_wild): Use walk_wild.
262         (wild_file, lang_gc_wild_file): Deleted. Common logic moved to
263         walk_wild_file.
264         (wild_section, lang_gc_wild_section): Deleted. Common logic moved
265         to walk_fild_section.  Unique logic moved into callbacks
266         output_section_callback and gc_section_callback.
267
268 1999-04-26  Tom Tromey  <tromey@cygnus.com>
269
270         * aclocal.m4, configure: Updated for new version of libtool.
271
272 1999-04-12  Philip Blundell  <pb@nexus.co.uk>
273
274         * emulparams/armelf_linux.sh: New file.  Support for ARM 
275         GNU/Linux ELF ABI.
276         * emulparams/armelf_linux26.sh: New file. APCS-26 version of above.
277         * configure.tgt: For arm*-*-linux-gnu*, set default emulation to
278         `armelf_linux', and also include `armelf_linux26' and `armelf'.
279         * Makefile.am: Add rules to make earmlinux.c and earmlinux26.c.
280         (ALL_EMULATIONS): Add earmlinux.o and earmlinux26.o.
281         * Makefile.in: Regenerate.
282
283 1999-04-11  Richard Henderson  <rth@cygnus.com>
284
285         * Makefile.am (ALL_EMULATIONS): Add elf_i386_be.o.
286         * configure.tgt (i[3456]86-*-beos*): Use it.
287         * emulparams/elf_i386_be.sh: New file.
288         * Makefile.in: Rebuild.
289
290         * configure.in (environ): Detect declaration.
291         * ldmain.c (main): Don't declare environ.
292         * sysdep.h (environ): Declare if needed.
293         * configure, config.in: Rebuild.
294
295 1999-04-11  Richard Henderson  <rth@cygnus.com>
296
297         * ldgram.y (ldgram_vers_current_lang): New.
298         (vers_defns): Accept `extern "lang" { }' syntax.
299         * ldlex.l (vers_node_nesting): New.
300         (V_IDENTIFIER): Accept . and $ in symbols.
301         (VERS_NODE): Accept `extern "lang" { }' tokens.  Nest VERS_NODE states.
302         * ldlang.c (lang_new_vers_regex): New `lang' argument.  Update callers.
303         (lang_vers_match_lang_c): New function.
304         (lang_vers_match_lang_cplusplus): New function.
305         (lang_vers_match_lang_java): New function.
306         (lang_do_version_exports_section): Fix iteration.  Don't free
307         section contents, as it is still in use by the patterns.
308
309 1999-04-10  Richard Henderson  <rth@cygnus.com>
310
311         * ldmain.c (main): Init link_info.no_undefined.
312         * lexsup.c: Add command-line option --no-undefined.
313
314 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
315
316         * ld.h (LC_MESSAGES): Never define.
317         * ldmain.c (main): Don't pass LC_MESSAGES to setlocale if the
318         system does not define it.
319
320 1999-04-06  H.J. Lu  <hjl@gnu.org>
321
322         * ldmain.h (demangling): Declare.
323         * ldmain.c (demangling): New global variable.
324         (main): Initialize demangling.
325         * ldmisc.c (vfinfo): Don't demangle symbol if ! demangling.
326         * lexsup.c (ld_options, parse_args): Handle --demangle and
327         --no-demangle.
328         * ld.texinfo, ld.1: Document --demangle/--no-demangle.
329
330         * ldlex.l (V_IDENTIFIER): Allow '.' in symbol.
331
332 1999-04-05  Chris Torek  <torek@BSDI.COM>
333
334         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Check that
335         a shared library really exists, avoiding broken symlinks.
336
337         * ldfile.c (ldfile_open_file): Generate a better error message if
338         we can't find a -l file.
339
340 1999-04-05  DJ Delorie  <dj@cygnus.com>
341
342         * configure.tgt (i386-*-pe): add targ_extra_ofiles for other PE
343         targets (i386-pe and i386-winnt)
344
345 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
346
347         * deffilep.y: Include "sysdep.h" and "ldmisc.h".
348         (def_file_add_directive): Change return type to void.  Remove
349         unused locals sh_reserve, sh_commit, and j.
350         (def_ungetc): Always return a value.
351         (def_lex): Correct parenthesization of || within &&.
352         * deffile.h (def_file_add_directive): Update declaration.
353         * pe-dll.c: Include <time.h>, <ctype.h>, and "ldemul.h".
354         (generate_edata): Remove unused local i.
355         (quoteput): Add cast to avoid warning.
356         (pe_dll_generate_def_file): Fix type in format string.
357         (quick_symbol): Remove unused local blhe.
358         (pe_dll_generate_implib): Add cast to avoid warning.
359         (pe_process_import_defs): Remove unused locals ar_head, ar_tail,
360         and n.
361         (pe_as16): Comment out.
362
363 1999-04-04  Don Bowman <don@pixsci.com>
364
365         * configure.tgt: Add mips*-*-vxworks* target.
366
367 1999-03-31  Nick Clifton  <nickc@cygnus.com>
368
369         * Makefile.in (ALL_EMULATIONS): Add earm_epoc_pe.o
370         Add build rule and dependencies for earm_epoc_pe.c.
371
372         * emulparams/arm_epoc_pe.sh: New file.
373
374         * configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
375         targets. 
376
377 1999-03-31  Philip Blundell  <pb@nexus.co.uk>
378
379         * configure.tgt: Match `arm*-*-linux-gnu*' not
380         `armv*-*-linux-gnu'.
381
382 1999-03-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
383
384         * scripttempl/elf.sc: Put the .eh_frame and .gcc_except_table
385         sections in the data segment.
386
387 Fri Mar 26 12:05:51 1999  Catherine Moore  <clm@cygnus.com>
388
389         * ld.h (wildcard_spec): Add exclude_name.
390         * ldgram.y (EXCLUDE_FILE): New token.
391         (wildcard_spec): Set exclude_name.
392         (file_NAME_list): Recognize EXCLUDE_FILE.
393         * ldlang.c (wild_section): Check for excluded files.
394         (print_wild_statement): Print excluded files.
395         (lang_add_wild): New argument exclude_filename.
396         Set exclude_filename.
397         * ldlang.h (lang_wild_statement_type):  Add exclude_filename.
398         * ldlex.l: New token EXCLUDE_FILE.
399         * mri.c (mri_draw_tree):  Add argument to lang_add_wild.
400         * scripttempl/elf.sc (CTOR, DTOR):  Exclude crtend.o from ctor wildcard.
401         Reorder sorted and unsorted ctors.
402         * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
403         * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
404         * scripttempl/elfppc.sc (CTOR, DTOR): Likewise.
405         
406 1999-03-26  Nick Clifton  <nickc@cygnus.com>
407
408         * ldlang.c (lang_gc_sections): If entry_symbol is not defined,
409         default to "start".
410
411 1999-03-03  Nick Clifton  <nickc@cygnus.com>
412
413         * scripttempl/elf.sc: Add explicit placements for the .eh_frame
414         and .gcc_except_table sections. 
415
416 Wed Mar  3 09:13:34 1999  Catherine Moore  <clm@cygnus.clm>
417  
418         * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
419         sections.  Reorder .ctors section entries.
420         * scripttempl/elfd10v.sc: Likewise.
421         * scripttempl/elfd30v.sc: Likewise.
422         * scripttempl/elfppc.sc: Likewise.
423
424 1999-02-26  Jim Lemke  <jlemke@cygnus.com>
425
426         * ldmain.c (main): Wrong error msg for -r and --mpc860c0.
427
428 1999-02-25  Nick Clifton  <nickc@cygnus.com>
429
430         * ldlang.c (lang_check_section_addresses): Remove extraneous
431         backslash. 
432
433 Thu Feb 25 15:07:24 1999  Catherine Moore  <clm@cygnus.com>
434
435         * scripttempl/elf.sc: Don't gather .ctor and .dtor sections
436         for relocateable links.
437         * scripttempl/elfd10v.sc: Likewise.
438         * scripttempl/elfd30v.sc: Likewise.
439         * scripttempl/elfppc.sc: Likewise.
440         
441 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
442
443         * ldint.texinfo: remove extraneous right brace.
444         * ldmain.c (main): initialize and check option "mpc860c0".
445         * lexsup.c (ld_options, parse_args): add option "mpc860c0".
446
447 Wed Feb 17 12:10:06 1999  Stan Cox  <scox@cygnus.com>
448
449         * mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
450         .reginfo section handling. 
451         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
452         * emulparams/elf32elmip.sh (INITIAL_READONLY_SECTIONS): Removed
453         * emulparams/elf32ebmip.sh (INITIAL_READONLY_SECTIONS): Removed
454
455 1999-02-17  Nick Clifton  <nickc@cygnus.com>
456
457         Patch from: Scott Bambrough <scottb@corelcomputer.com>
458         
459         * configure.tgt: Added armv*-*-linux-gnu to $targ_emul
460         recognition. 
461
462 Wed Feb 17 Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
463  
464         * emultempl/armelf_oabi.em
465         (bfd_elf32_arm_allocate_interworking_sections,
466         bfd_elf32_arm_get_bfd_for_interworking,
467         bfd_elf32_arm_process_before_allocation): Define them to use the
468         old ABI versions of the functions.
469
470 Tue Feb 16 16:48:19 1999  Ian Lance Taylor  <ian@cygnus.com>
471
472         * configure.in: Change AC_PREREQ to 2.13.  Change AM_PROG_INSTALL
473         to AC_PROG_INSTALL.  Change AM_EXEEXT to AC_EXEEXT.
474         * Makefile.am (earmelf_oabi.c): Changes spaces to tab.
475         * acconfig.h: Remove.
476         * aclocal.m4: Rebuild.
477         * configure: Rebuild.
478         * Makefile.in: Rebuild.
479
480 Mon Feb 15 18:21:48 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
481
482         * ldexp.h (struct etree_value_type): Change valid onto valid_p.
483
484         * ldexp.c (new_abs): Ditto.
485         (new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
486         exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
487         exp_get_abs_int): Ditto
488
489         * ldlang.c (print_assignment, lang_size_sections,
490         lang_do_assignments): Ditto.
491         
492 1999-02-11  Nick Clifton  <nickc@cygnus.com>
493
494         * ldlang.c (lang_check_section_addresses): New function: Check
495         addresses assigned to section for overlaps.
496         (lang_process): Call lang_check_section_addresses if suitable.
497
498         * ld.h: Add new boolean field to args_type structure:
499         'check_section_addresses'.
500
501         * ldmain.c: Initialise check_section_addresses field to true.
502
503         * lexsup.c: Add new command line options '--no-check-sections' and
504         '--check-sections'.
505
506         * ld.texinfo: Document new command line options '--check-sections'
507         and '--no-check-sections'.
508
509 1999-02-08  Nick Clifton  <nickc@cygnus.com>
510
511         * configure.tgt: Add support for StrongARM target.
512
513 Wed Feb  3 19:41:01 1999  Ian Lance Taylor  <ian@cygnus.com>
514
515         * ldctor.c (ldctor_build_sets): Just set SEC_KEEP once.  Check for
516         an owner of a section before using it to look up a reloc type.
517         Don't set SEC_KEEP for the absolute section.
518
519 Mon Feb  1 11:39:46 1999  Catherine Moore  <clm@cygnus.com>
520
521         * Makefile.am (earmelf_oabi.o):  New.
522         * Makefile.in:  Regenerate.
523         * configure.tgt (arm-*-oabi):  New.
524         (thumb-*-oabi):  New.
525         * emulparams/armelf_oabi.sh:  New.
526         * emultempl/armelf_oabi.em:  New.
527
528 1999-01-31 17:57:31 1998  Michael Meissner  <meissner@cygnus.com>
529
530         * scripttempl/elfppc.sc: Add support for -fleading-underscores
531         switch in all linker generated symbols.
532
533         * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for
534         powerpc{,le}-*-eabi.
535
536 Wed Jan 20 17:01:48 1999  Ian Lance Taylor  <ian@cygnus.com>
537
538         * configure.tgt (i[3456]86-*-solaris2*): New target.  From Pavel
539         Roskin <pavel_roskin@geocities.com>.
540
541 1999-01-19  Nick Clifton  <nickc@cygnus.com>
542
543         * ldlang.c (lang_size_sections): Count loadable sections as
544           contributing to the size of the current segment.
545
546 1999-01-15  Nick Clifton  <nickc@cygnus.com>
547
548         * ldlang.c (lang_size_sections): Only update the current
549           address of a region if the section just placed into it is an
550           allocated section.
551
552 1999-01-12  Nick Clifton  <nickc@cygnus.com>
553
554         * Makefile.am: Replace efr30.o with eelf32fr30.o.
555         * Makefile.in: Regenerate.
556
557         * configure.tgt: Replace fr30 with elf32fr30.
558
559         * emulparams/elf32fr30.sh: New file: Replaces fr30.sh, and uses
560         generic elf.sc script.  Also replaces the .stack section with a
561         user definable symbol __stack.
562
563 1999-01-11  Nick Clifton  <nickc@cygnus.com>
564
565         * scripttempl/fr30.sc: Fill .init and .fini sections with NOP
566         pattern. 
567
568 1999-01-03  Ken Raeburn  <raeburn@cygnus.com>
569
570         * Makefile.am (check-DEJAGNU): No longer provide HOSTING_EMU,
571         HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from
572         configure.host and configure.tgt now.
573         * Makefile.in: Rebuild.
574
575 1998-12-27  Ulrich Drepper  <drepper@cygnus.com>
576
577         * lexsup.c (parse_args, case OPTION_RPATH): Avoid adding duplicate
578         elements to rpath.
579
580 Thu Dec 10 11:12:28 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
581
582         * Makefile.am (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o.
583         (ALL_EMUL_EXTRA_OFILES): New variable.  Put them here instead.
584         * configure.in: Set EMUL_EXTRA_OFILES to $(ALL_EMUL_EXTRA_OFILES)
585         if configuring with all targets.
586         * configure, Makefile.in, aclocal.m4: Rebuild.
587
588         * emultempl/pe.em (pe_enable_stdcall_fixup): Make static.
589         (pe_dll_do_default_excludes): Removed, unused.
590         (pe_def_file, pe_dll_export_everything, pe_dll_kill_ats,
591         pe_dll_stdcall_aliases): Don't initialize them, this file may be
592         compiled more than once.
593         * pe-dll.c (pe_def_file, pe_dll_export_everything,
594         pe_dll_do_default_excludes, pe_dll_kill_ats,
595         pe_dll_stdcall_aliases): Define and initialize them here instead.
596         (generate_reloc): Fix allocation of reloc_addresses array to use
597         bfd_vma instead of unsigned long.  Fix element size in qsort call.
598         (reloc_sort): Compare pointers to bfd_vma instead of unsigned
599         long.
600
601 Mon Dec  7 21:10:09 1998  J.J. van der Heijden  <j.j.vanderheijden@student.utwente.nl>
602
603         * configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific
604         files.
605
606 Sun Dec  6 16:33:33 1998  Ian Lance Taylor  <ian@cygnus.com>
607
608         * configure.tgt (m68*-*-gnu*): New target.  From Aymeric Vincent
609         <aymeric.vincent@emi.u-bordeaux.fr>.
610
611 1998-12-04  Nick Clifton  <nickc@cygnus.com>
612
613         * emulparams/fr30.sh (TEXT_START_ADDR): Change TEXT_START_ADDR
614         from 0x100000 to 0x10000 so that it fits in 20 bits.
615
616 Sat Nov 28 22:32:20 1998  Ian Lance Taylor  <ian@cygnus.com>
617
618         * ldemul.h (ldemul_recognized_file): Declare.
619
620 Sat Nov 28 22:30:55 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
621
622         * ldlang.c (lang_add_wild): Don't pretend that there is an input
623         file if the filename is a wildcard pattern.
624
625 1998-11-25  DJ Delorie  <dj@cygnus.com>
626
627         * ldemul.h (ld_emulation_xfer_struct): new hook "recognized_file"
628         * ldemul.c (ldemul_recognized_file): new function, new hook
629         * ldint.texinfo: document new hook.
630         * ldlang.c (load_symbols): call recognized_hook for all objects we
631         do recognize, in case the emulation needs to handle them
632         specially.  PE DLLs use this.
633         * pe-dll.c (pe_dll_generate_def_file): take out hack and debug
634         printfs
635         * emultempl/pe.em (gld_i386_recognized_file): new function
636         (gld_i486_unrecognized_file): take out hack
637
638 1998-11-23  DJ Delorie  <dj@cygnus.com>
639
640         * pe-dll.c (fill_edata): fill in timestamp
641         (make_head): name object files sequentially to ensure
642         they link in the right order.
643         (make_tail): same here
644         (pe_process_import_defs): use sequential names for bfds to ensure
645         proper link order.
646         (pe_implied_import_dll): new function; handles linking directly
647         against DLLs by simulating IMPORTS directives.  * emultempl/pe.em
648         (gld_i386pe_before_parse): hack bfd to not recognize .dll files
649         via bfd_pe_dll_not_recognized_hack
650
651 1998-11-23  DJ Delorie  <dj@cygnus.com>
652
653         * emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
654         pe_dll_add_excludes
655
656 Mon Nov 23 14:36:18 1998  Nick Clifton  <nickc@cygnus.com>
657
658         * emultempl/pe.em (after_parse): Only create an undefined entry
659         symbol if one has been specified.
660
661 1998-11-23  DJ Delorie  <dj@cygnus.com>
662
663         * emultempl/pe.em (gld_i386pe_after_open): call
664         pe_process_import_defs
665         * pe-dll.c (pe_dll_generate_def_file): calculate BASE from
666         pe_data, only print if actually set.  Print version only if
667         set.
668         (save_relocs): save relocs for both input and output.
669         (make_one): support internal/external different names.
670         (pe_dll_generate_implib): support new make_one
671         (pe_process_import_defs): new function; handles IMPORT
672         directives in .def files.
673
674 Fri Nov 20 13:06:49 1998  Nick Clifton  <nickc@cygnus.com>
675
676         * ldmisc.c (vfinfo): Cope with empty symbol names.
677
678 Thu Nov 19 13:31:15 1998  Nick Clifton  <nickc@cygnus.com>
679
680         * scripttempl/pe.sc: Add provision of '_end' symbol.
681
682 Wed Nov 18 18:18:43 1998  Geoffrey Noer  <noer@cygnus.com>
683
684         * configure.tgt: change refs from cygwin32* to cygwin*.
685         * aclocal.m4: regenerate
686         * configure.in: don't need to call AM_CYGWIN32.
687         * configure: regenerate
688
689 Mon Nov 16 22:14:07 1998  DJ Delorie  <dj@cygnus.com>
690
691         * emultempl/pe.em (gld_i386_finish): generate import library
692         * deffile.h: add hint member.
693         * pe-dll.c (pe_dll_generate_implib): New function with helpers;
694         generates the import library directly from the export table.
695         (fill_edata): remember the actual hint for the import library.
696
697 Sat Nov 14 14:36:24 1998  Ian Lance Taylor  <ian@cygnus.com>
698
699         * ld.1: Some cleanups from NOKUBI Hirotaka <hnokubi@yyy.or.jp>.
700
701 Thu Nov 12 19:21:57 1998  Dave Brolley  <brolley@cygnus.com>
702
703         * po/ld.pot: Regenerated.
704         * po/POTFILES.in: Regenerated.
705         * configure: Regenerated.
706         * aclocal.m4: Regenerated.
707         * Makefile.in: Regenerated.
708
709 Wed Nov 11 18:10:15 1998  DJ Delorie  <dj@cygnus.com>
710
711         * pe-dll.c (generate_reloc): don't output PE relocs for sections
712         that won't be loaded.
713
714 Wed Nov 11 13:44:54 1998  DJ Delorie  <dj@cygnus.com>
715
716         * pe-dll.c (fill_edata): don't strip underscores
717
718 Tue Nov 10 21:28:19 1998  DJ Delorie  <dj@cygnus.com>
719
720         * ld.texinfo: added i386pe option summary
721
722 Tue Nov 10 17:53:17 1998  DJ Delorie  <dj@cygnus.com>
723
724         * pe-dll.c (process_def_file): properly note undefined exported
725         symbols, clean up old code.
726         (pe_dll_generate_def_file): don't crash if pe_def_file is NULL
727         * emultempl/pe.em (gld_i386_parse_args): add
728         (en/dis)able-stdcall-fixups
729         (pe_fixup_stdcalls): warn about stdcall fixups
730         (gld_i386_unrecognized_file): make exported symbols undefs so that
731         archive members get pulled in
732
733 Tue Nov 10 14:50:51 1998  Catherine Moore  <clm@cygnus.com>
734
735         * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
736         .fini, .dtors and .ctors.  Add .data and .text
737         wildcards to support section garbage collection.
738
739 Mon Nov  9 22:52:50 1998  DJ Delorie  <dj@indy.delorie.com>
740
741         * deffilep.y: properly handle relocs with multiple def_files,
742         cache import module names
743
744 Mon Nov  9 22:44:58 1998  DJ Delorie  <dj@cygnus.com>
745
746         * pe-dll.c (process_def_file): don't assume exports won't move
747         during a realloc
748
749 Mon Nov  9 16:41:30 1998  DJ Delorie  <dj@cygnus.com>
750
751         * pe-dll.c: New file; direct support for PE DLLs
752         * deffile.h: New file; direct support for PE DLLs
753         * deffilep.y: New file; direct support for PE DLLs
754         * emultempl/pe.em: add direct support for PE DLLs
755         * configure.tgt: allow target-specific extra files
756         * configure.in: allow target-specific extra files
757         * ldlang.c (lang_add_assignment): return the assignment so that
758         one can change the value later based on the object files (pe-dll
759         DEF files do this)
760         * ldint.texinfo: add section for emulation walkthrough
761         * Makefile.am: add new files and target-specific extra files
762         * emultempl/pe.em (gld_i386_list_options): list dll-specific
763         options.
764         * pe-dll.c (process_def_file): auto-export everything if
765         nothing is otherwise exported.
766         
767 Wed Nov  4 16:39:18 1998  Nick Clifton  <nickc@cygnus.com>
768
769         * Makefile.am: Add support for FR30 target.
770         * configure.tgt: Add support for FR30 target.
771         * Makefile.in: Regenerate.
772         * emulparams/fr30.sh: New file.
773         * scripttemp/fr30.sc: New file.
774         
775 Mon Nov  2 14:47:15 1998  Catherine Moore  <clm@cygnus.com>
776
777         * ldmain.c (main):  Don't report error for dynamic links and
778         --gc-sections.
779
780 1998-10-26 16:05  Ulrich Drepper  <drepper@cygnus.com>
781
782         * lexsup.c (ld_options): Change text of -O to Optimize output file".
783         (parse_args): Set link_info.optimize based on -O argument.
784         * ldmain.c (main): Initialize link_info.optimze to false.
785         * ld.texinfo: Describe -O option.
786         * ld.1: Likewise.
787
788 Mon Oct 12 14:29:56 1998  Nick Clifton  <nickc@cygnus.com>
789
790         * scripttempl/v850.sc: Move .sbss and .scommon sections into their
791         own segment, so that they can be next to the .bss section and so
792         initialised by the same piece of code.
793
794 Fri Oct  9 15:59:52 1998  Catherine Moore  <clm@cygnus.com>
795
796         * scripttempl/elf.sc:  Merge .sdata.* etc sections.
797         * ldctor.c (ldctor_build_sets):  Set SEC_KEEP for
798         ctor sections.
799
800 Mon Oct  5 09:40:43 1998  Catherine Moore  <clm@cygnus.com>
801
802         * ldmain.c (main):  Error if --gc-sections and
803         dyanmic linking.
804         * scripttempl/v850.sc:  Add KEEP attribute to .init,
805         .fini, .dtors and .ctors.  Add .data and .text
806         wildcards to support section garbage collection.
807
808 Wed Sep 30 11:19:15 1998  Nick Clifton  <nickc@cygnus.com>
809
810         * scripttempl/v850.sc: Rename .call_table section to
811         .call_table_data and create a new section called
812         .call_table_text.
813
814 Sun Sep 20 00:43:26 1998  Ian Lance Taylor  <ian@cygnus.com>
815
816         * scripttempl/elf.sc: Add alignment at the end of the .bss
817         section, so that it is included in the memsize of the segment.
818
819 Fri Sep 18 13:42:42 1998  Catherine Moore  <clm@cygnus.com>
820
821         * emultempl/elf32.em (gld_place_orphan): Don't process for
822         sections with SEC_EXCLUDE flag.
823
824 Fri Sep  4 09:24:02 1998  Nick Clifton  <nickc@cygnus.com>
825
826         * emulparams/d30velf.sh (TEXT_SIZE): Increased to 2000K.
827         (DATA_SIZE): Increased to 2000K.
828
829 Thu Sep  3 17:30:58 1998  Richard Henderson  <rth@cygnus.com>
830
831         * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32.
832
833 Mon Aug 31 01:06:00 1998  Catherine Moore  <clm@cygnus.com>
834
835         * Makefile.am:  Change armelf.sc to elf.sc
836         * Makefile.in:  Regenerate.
837
838 Mon Aug 31 11:12:04 1998  Catherine Moore  <clm@cygnus.com>
839
840         * emulparams/armelf.sh:  Change SCRIPT_NAME to
841         elf.  Change TEXT_START_ADDR to 0x8000.  Define
842         OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
843         OTHER_BSS_END_SYMBOLS.
844         * scripttempl/elf.sc:  Modify to use
845         OTHER_BSS_END_SYMBOLS.
846         * scripttempl/elfarm.sc:  Remove file.
847
848 Tue Aug 18 12:05:34 1998  Catherine Moore  <clm@cygnus.com>
849
850         * emultempl/armelf.em (gld_armelf_before_allocation):
851         Add bfd_ prefix to elf32_arm_process_before_allocation
852         and elf32_arm_allocate_interworking_sections.
853         (gld_armelf_after_open): Add bfd_ prefix to
854         elf32_arm_get_bfd_for_interworking.
855
856 Fri Aug 14 15:34:29 1998  Ian Lance Taylor  <ian@cygnus.com>
857
858         * Makefile.am: Rebuild dependencies.
859         * Makefile.in: Rebuild.
860
861         * ldgram.y: Include "ldctor.h".
862         (statement): Accept SORT around CONSTRUCTORS.
863         * ldctor.c: Include <ctype.h>.
864         (constructors_sorted): New global variable.
865         (ctor_prio, ctor_cmp): New static functions.
866         (ldctor_build_sets): Sort constructors if requested.
867         * ldctor.h (constructors_sorted): Declare.
868         * ldlang.c (print_statement): Print sorted CONSTRUCTORS
869         correctly.
870         * scripttempl/elf.sc: Add sort around CONSTRUCTORS.
871         * ld.texinfo (Output Section Keywords): Document SORT
872         (CONSTRUCTORS).
873
874 Thu Aug 13 12:20:39 1998  Catherine Moore  <clm@cygnus.com>
875
876        * emulparams/armelf.sh:  Define TEMPLATE_NAME to armelf.
877        * scripttempl/elfarm.sc:  Include .glue_7t and .glue7
878        sections.
879        * emultempl/armelf.em: New file.
880
881 Thu Aug 13 12:52:45 1998  H.J. Lu  <hjl@gnu.org>
882
883         * Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO.
884         * Makefile.in: Rebuild.
885
886 Tue Aug 11 16:17:01 1998  Catherine Moore  <clm@cygnus.com>
887
888         * scripttempl/elfarm.sc:  Change text start address
889         back to zero.
890
891 Tue Aug 11 10:01:12 1998  Jeffrey A Law  (law@cygnus.com)
892
893         * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1.
894         * emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1.
895
896 Sun Aug  9 20:31:27 1998  Catherine Moore  <clm@cygnus.com>
897
898         * scripttempl/elfarm.sc:  Set text start address to
899         0x8000.  Add __bss_end definition.
900
901 Sat Aug  1 11:47:37 1998  Catherine Moore  <clm@cygnus.com>
902
903         * scripttempl/elfarm.sc:  New file.
904         * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
905
906 Fri Jul 31 15:56:16 1998  Catherine Moore  <clm@cygnus.com>
907
908         * emulparams/armelf.sh: New file.
909         * configure.tgt:  Recognize thumb-elf and arm-elf.
910         * Makefile.am (earmelf.o): New.
911         * Makefile.in: Rebuild.
912
913 Fri Jul 24 12:00:57 1998  Ian Lance Taylor  <ian@cygnus.com>
914
915         * Makefile.am (install-exec-local): Don't remove the file before
916         checking whether $(bindir) == $(tooldir)/bin.  From Maciej
917         W. Rozycki <macro@ds2.pg.gda.pl>.
918         * Makefile.in: Rebuild.
919
920         * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*.
921
922 Thu Jul 23 11:15:12 1998  Ian Lance Taylor  <ian@cygnus.com>
923
924         * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set
925         alignment of end symbol.
926         * scripttempl/elf.sc: Likewise.
927         * emulparams/sun4.sh (ALIGNMENT): Define.
928         * emulparams/elf32_sparc.sh (ALIGNMENT): Define.
929         * ldint.texinfo (emulation parameters): Document ALIGNMENT.
930
931         * lexsup.c (parse_args): Add missing break statement.
932
933         * ldlang.c (lang_gc_sections_1): Add default case to switch to
934         avoid warnings.
935
936 Tue Jul 14 15:42:17 1998  Richard Henderson  <rth@cygnus.com>
937
938         * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
939         * Makefile.am (ei386beos.o): New.
940         * emulparams/i386beos.sh: New file.
941         * emultempl/beos.em, scripttempl/i386beos.sc: New file.
942
943 Tue Jul 14 15:35:42 1998  Richard Henderson  <rth@cygnus.com>
944
945         * lexsup.c: New option --version-exports-section.
946         * ld.h (struct args_type): Add version_exports_section.
947         * ldlang.c (lang_do_version_exports_section): New function.
948         (lang_process): Call it.
949
950 Mon Jul 13 13:20:23 1998  Steve Chamberlain  <sac@transmeta.com>
951
952         * ldlex.l: Accept ASSERT.
953         * ldgram.y (exp): Add ASSERT_K case.
954         * ldexp.h (node_type): Add etree_assert to node_class enum.
955         (etree_type): Add assert_s field.
956         (exp_assert): Declare.
957         * ldexp.c (exp_fold_tree): Handle etree_assert.
958         (exp_assert): New function.
959         (exp_print_tree): Handle etree_assert.
960         * ld.texinfo (Miscellaneous Commands): Document ASSERT.
961
962 Wed Jul  8 14:03:12 1998  Ian Lance Taylor  <ian@cygnus.com>
963
964         * ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
965         conflicts with system header files.  Change all uses.
966
967         * Makefile.am (MAINTAINERCLEANFILES): Define.
968         * Makefile.in: Rebuild.
969
970 Tue Jul  7 18:03:22 1998  Ian Lance Taylor  <ian@cygnus.com>
971
972         * Makefile.am (ldver.texi): New target.
973         (ld.info, ld.dvi): Depend upon ldver.texi.
974         * ld.texinfo: Include ldver.texi.  Mention version number on title
975         page and in top node.
976         * Makefile.in: Rebuild.
977
978 Mon Jul  6 14:55:13 1998  Ian Lance Taylor  <ian@cygnus.com>
979
980         * configure.tgt (i[3456]86-*-solaris*): New target.
981
982 Fri Jul  3 14:19:06 1998  Ian Lance Taylor  <ian@cygnus.com>
983
984         * ldlang.c (wild_section): Don't get an assertion failure if the
985         section is discarded.
986
987         * scripttempl/pe.sc: Use SORT to sort sections appropriately.
988         * emultempl/pe.em (sort_by_file_name): Remove.
989         (sort_by_section_name): Remove.
990         (sort_sections_1, sort_sections): Remove.
991         (gld_${EMULATION_NAME}_before_allocation): Don't call
992         sort_sections.
993         (hold_section, hold_section_name): New static variables.
994         (hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
995         (gld_${EMULATION_NAME}_place_orphan): Rewrite.  Look for a good
996         place to put the section.  Align the section.  Sort the input
997         sections by name.
998         (gld_${EMULATION_NAME}_place_section): New static function.
999
1000         * ldlang.c (wild_sort): When sorting by file name, sort by archive
1001         name first.
1002
1003         * emultempl/pe.em (set_pe_subsystem): Don't call
1004         ldlang_add_undef.
1005         (gld_${EMULATION_NAME}_after_parse): New static function.
1006         (ld_${EMULATION_NAME}_emulation): Use new after_parse function
1007         rather than after_parse_default.
1008
1009         * ldgram.y (extern_name_list): Do not require symbols to be
1010         separated by commas.
1011         (ifile_p1): Add EXTERN.
1012         * ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
1013         mode.
1014         * ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
1015         (Miscellaneous Commands): Document EXTERN.
1016
1017 Wed Jul  1 19:40:34 1998  Richard Henderson <rth@cygnus.com>
1018
1019         * ld.h (args_type): Add gc_sections.
1020         * ldgram.y (ldgram_had_keep, KEEP): New.
1021         (input_section_spec_no_keep): Rename from old input_section_spec.
1022         (input_section_spec): New.  Recognize KEEP.
1023         * ldlang.c (wild_section): Handle keep sections.
1024         (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
1025         (lang_gc_sections_1, lang_gc_sections): New.
1026         (lang_process): Invoke lang_gc_sections.
1027         (lang_add_wild): Add keep argument.  Update all callers.
1028         * ldlang.h (lang_wild_statement_struct): Add keep_sections.
1029         * ldlex.l (KEEP): Match it.
1030         * ldmain.c (main): Error on -r and --gc-sections.
1031         * lexsup.c: Add --gc-sections.
1032
1033         * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
1034         Mark startup sections with KEEP.
1035         * scripttempl/elfppc.sc: Likewise.
1036
1037         * ld.texinfo: Update for --gc-sections and KEEP.
1038
1039 Wed Jul  1 15:21:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1040
1041         From Peter Jordan <pjordan@chla.usc.edu>:
1042         * scripttempl/i386go32.sc: Correct constructor handling for -u.
1043
1044 Tue Jun 23 15:17:27 1998  Ian Lance Taylor  <ian@cygnus.com>
1045
1046         * Makefile.am (install-data-local): Make ldscripts subdirectory.
1047         * Makefile.in: Rebuild.
1048
1049 Tue Jun 23 15:17:04 1998  Mike Stump  <mrs@wrs.com>
1050
1051         * Makefile.am (install-exec-local): Don't let EXEEXT interfere
1052         with the program transform name.
1053         * Makefile.in: Rebuild.
1054
1055 Sun Jun 21 23:55:16 1998  Jeffrey A Law  (law@cygnus.com)
1056
1057         * ld.texinfo: Note that -relax may make symbolic debugging
1058         impossible on some platforms.
1059
1060 Tue Jun 16 12:51:13 1998  Geoff Keating  <geoffk@ozemail.com.au>
1061
1062         * Makefile.am (Makefile): Remove target.
1063         (config.status): New target.
1064         * Makefile.in: Rebuild.
1065
1066         * configure.host (powerpc*-*-linux-gnu*): New host.
1067
1068 Fri Jun 12 17:38:07 1998  Doug Evans  <devans@seba.cygnus.com>
1069
1070         * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
1071
1072         * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of
1073         stack to 8MB.
1074
1075 Fri Jun 12 19:33:17 1998  Ian Lance Taylor  <ian@cygnus.com>
1076
1077         * Makefile.am (HFILES): Remove config.h.
1078         (EMULATION_OFILES, POTFILES): Move patch of May 14 from
1079         Makefile.in to Makefile.am.
1080         (earmcoff.c): Depend upon armcoff.em, not generic.em.
1081         * po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
1082         ($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
1083         * Makefile.in, po/POTFILES.in, po/ld.pot: Rebuild.
1084
1085 Fri Jun 12 13:43:17 1998  Tom Tromey  <tromey@cygnus.com>
1086
1087         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
1088         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
1089
1090 Tue Jun  9 09:36:48 1998  Nick Clifton  <nickc@cygnus.com>
1091
1092         * ldlang.c (lang_finish): Add CONST type modifier to declaration
1093         of 'send'.
1094
1095 Fri Jun  5 18:19:59 1998  Ian Lance Taylor  <ian@cygnus.com>
1096
1097         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
1098         config.has_shared to true.
1099         * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
1100         Likewise.
1101         * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
1102         Likewise.
1103
1104 Tue Jun  2 12:55:03 1998  Ian Lance Taylor  <ian@cygnus.com>
1105
1106         * ldlang.c (lang_finish): If the entry symbol is not found, try
1107         parsing it as a number.
1108         * ld.texinfo (Options): Document this.
1109
1110 Mon Jun  1 14:01:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1111
1112         * ld.texinfo (Input Section Wildcards): Document SORT keyword.
1113
1114 Mon May 18 12:42:53 1998  Doug Evans  <devans@canuck.cygnus.com>
1115
1116         * ld.h (ld_config_type): New member has_shared.
1117         * ldmain.c (main): Initialize it.
1118         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
1119         * lexsup.c (parse_args): Treat -shared as error if not supported.
1120
1121 Mon May 18 13:14:43 1998  Ian Lance Taylor  <ian@cygnus.com>
1122
1123         From Jason Merrill <jason@cygnus.com>:
1124         * ldlang.c (wild_sort): Correct order of sort.
1125         * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
1126         .dtors.
1127         * scripttempl/elfd10v.sc: Likewise.
1128         * scripttempl/elfd30v.sc: Likewise.
1129         * scripttempl/elfppc.sc: Likewise.
1130
1131 Fri May 15 00:22:35 1998  Ian Lance Taylor  <ian@cygnus.com>
1132
1133         * ldlex.l: Recognize keyword SORT.
1134         * ldgram.y (current_file): Change to struct wildcard_spec.
1135         (%union): Add new fields cname and wildcard.
1136         (wildcard_name, wildcard_spec): New nonterminals.
1137         (file_NAME_list): Use wildcard_spec.
1138         (input_section_spec): Change current_file usage.
1139         * ld.h (struct wildcard_spec): Define.
1140         * ldlang.h (lang_wild_statement_struct): Add new fields
1141         sections_sorted and filenames_sorted.
1142         (lang_add_wild): Update declaration.
1143         * ldlang.c (wild_sort): New static function.
1144         (wild_section): Use wild_sort.
1145         (print_wild_statement): Print sorting information.
1146         (lang_add_wild): Add new parameters sections_sorted and
1147         filenames_sorted.  Change all callers.
1148         * mri.c (mri_draw_tree): Update calls to lang_add_wild.
1149         * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
1150         * scripttempl/elfd10v.sc: Likewise.
1151         * scripttempl/elfd30v.sc: Likewise.
1152         * scripttempl/elfppc.sc: Likewise.
1153
1154 Thu May 14 18:39:16 1998  Richard Henderson  <rth@cygnus.com>
1155
1156         * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
1157
1158 Thu May 14 14:51:24 1998  Nick Clifton  <nickc@cygnus.com>
1159
1160         * ldemul.h: Add new prototype: ldemul_list_emulation_options.
1161         (ld_emulation_xfer_struct): Add new field: list_options.
1162         * ldemul.c (ldemul_list_options): New function.  Call the
1163         list_options field of the ld_emulation_xfer_struct for each
1164         supported emulation, if such a function is present.
1165         * lexsup.c (help): Call ldemul_list_emulation_options.
1166         * emultempl/pe.em (gld_<>_list_options): New function.  Describe
1167         the pe emulation specific command line options.
1168         * emultempl/armcoff.em (gld<>_list_options): New function.
1169         Describe  the armcoff emulation specific command line options.
1170
1171         * emultempl/pe.em: Add a new command line option:
1172         --support-old-code.
1173         * emultempl/armcoff.em: Ditto.
1174         * ld.texinfo: Document the --support-old-code option.
1175
1176         * Makefile.in: Add emulation files for POTFILES.in target.
1177         * emultempl/pe.em: Internationalise suitable strings.
1178         * emultempl/armcoff.em: Internationalise suitable strings.
1179         * po/POTFILES.in: Rebuilt.
1180
1181 Sun May 10 22:36:30 1998  Jeffrey A Law  (law@cygnus.com)
1182
1183         * po/Make-in (install-info): New target.
1184
1185 Tue Apr 28 19:18:30 1998  Tom Tromey  <tromey@cygnus.com>
1186
1187         * ldmain.c (main): Conditionally call setlocale.
1188         * ld.h: Include <locale.h> if HAVE_LOCALE_H.
1189         (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
1190
1191 Mon Apr 27 11:56:21 1998  Ian Lance Taylor  <ian@cygnus.com>
1192
1193         * configure.in: Change version number to 2.9.4
1194         * configure: Rebuild.
1195
1196         * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
1197
1198         Based on patch from H.J. Lu <hjl@gnu.org>:
1199         * emultempl/elf32.em (global_vercheck_needed): New file static
1200         variable.
1201         (global_vercheck_failed): New file static variable.
1202         (gld${EMULATION_NAME}_after_open): Check for shared libraries
1203         twice, once with force set to 0 and once with it set to 1.
1204         (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
1205         Change all callers.
1206         (gld${EMULATION_NAME}_search_needed): Likewise.
1207         (gld${EMULATION_NAME}_try_needed): Likewise.  If not force, check
1208         whether the libraries needs any incompatible versions.
1209         (gld${EMULATION_NAME}_vercheck): New static function.
1210
1211 Wed Apr 22 16:01:35 1998  Tom Tromey  <tromey@cygnus.com>
1212
1213         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
1214
1215 Wed Apr 22 12:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
1216
1217         * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
1218         invoking runtest.
1219         * Makefile.in: Rebuild.
1220
1221         * lexsup.c (parse_args): Change -l options into --library options
1222         to avoid confusion between -li and -library.
1223
1224         * ld.texinfo (MEMORY): Clarify use of >REGION.
1225
1226 Tue Apr 21 23:12:40 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
1227
1228         * Many files: Added gettext invocations around user-visible
1229         strings.
1230         * ld.h: Added gettext-related includes and defines.
1231         * ldmain.c: Call setlocale, bindtextdomain, textdomain.
1232         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
1233         HAVE_LC_MESSAGES): Define.
1234         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
1235         po/Makefile.  Use AM_PROG_LEX.
1236         (TDIRS): AC_SUBST early on, to avoid having value split when it
1237         happens to cross line 90 of the generated sed script.
1238         * Makefile.am (SUBDIRS): New macro.
1239         (POTFILES): Likewise.
1240         (po/POTFILES.in): New target.
1241         (ld_new_LDADD): Added INTLLIBS.
1242         (ld_new_DEPENDENCIES): Added INTLDEPS.
1243         * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
1244
1245 Tue Apr 21 23:07:07 1998  Ian Lance Taylor  <ian@cygnus.com>
1246
1247         * ld.texinfo (Simple Example): Rewrite a few things as suggested
1248         by Nick Clifton <nickc@cygnus.com>.
1249         (PROVIDE): Likewise.
1250
1251 Tue Apr 21 09:55:06 1998  Nick Clifton  <nickc@cygnus.com>
1252
1253         * emultempl/pe.em: Rename external arm interworking functions
1254         to conform to BFD naming conventions.  Add code to _after_open()
1255         function to obtain a bfd for use by the interworking code.
1256
1257         * emultempl/armcoff.em: Rename external arm interworking functions
1258         to conform to BFD naming conventions.  Add new _after_open()
1259         function to obtain a bfd for use by the interworking code.
1260
1261 Sun Apr 19 19:23:09 1998  Richard Henderson  <rth@cygnus.com>
1262
1263         * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
1264         Update dot and the default memory section even when relaxing.
1265
1266 Sat Apr 18 18:41:12 1998  Richard Henderson  <rth@cygnus.com>
1267
1268         * ldlang.c (lang_one_common): Manipulate the section's cooked size
1269         rather than its raw size.
1270
1271 Tue Apr  7 13:35:29 1998  H.J. Lu  <hjl@gnu.org>
1272
1273         * configure.in (TESTBFDLIB): New.  Defined and substituted.
1274         * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
1275         * configure, Makefile.in: Rebuild.
1276
1277 Mon Apr  6 15:33:39 1998  Ian Lance Taylor  <ian@cygnus.com>
1278
1279         * Makefile.am (ld.info): Invoke makeinfo with -I options directly
1280         rather than relying on default rule.  Don't depend upon
1281         bfdsumm.texi.
1282         (ld.dvi): Likewise.
1283         (bfdsumm.texi): Remove target.
1284         (CLEANFILES): Take bfdsumm.texi out of value.
1285         * Makefile.in: Rebuild.
1286
1287 Sun Apr  5 13:07:57 1998  Ian Lance Taylor  <ian@cygnus.com>
1288
1289         * scripttempl/pe.sc: Use shell variables to avoid depending upon
1290         how $ is handled when expanding a shell substitution.
1291
1292 Fri Apr  3 00:56:50 1998  Ian Lance Taylor  <ian@cygnus.com>
1293
1294         * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
1295         (DISTCLEANFILES): Add site.exp and site.bak.
1296         * Makefile.in: Rebuild.
1297
1298         * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
1299         rather than in a shell variable and using AC_SUBST.
1300         * Makefile.am (DISTCLEANFILES): Remove ldscripts.  Add tdirs.
1301         (distclean-local): New target.
1302         * configure, Makefile.in: Rebuild.
1303
1304         * ld.texinfo: Completely rewrite linker script documentation.
1305
1306 Mon Mar 30 12:47:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1307
1308         * configure.in: Set version to 2.9.1.
1309         * configure: Rebuild.
1310
1311         * Branched binutils 2.9.
1312
1313 Sat Mar 28 16:48:19 1998  Ian Lance Taylor  <ian@cygnus.com>
1314
1315         * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
1316         (mostlyclean-local): New target to remove tmpdir.
1317         * Makefile.in: Rebuild.
1318
1319         Fix some gcc -Wall warnings:
1320         * ldcref.c (output_cref): Add casts to avoid warnings.
1321         * ldfile.c (ldfile_add_arch): Likewise.
1322         * ldlang.c (lang_leave_overlay_section): Likewise.
1323         * lexsup.c (OPTION_COUNT): Likewise.
1324         (parse_args): Likewise.
1325         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
1326         Likewise.
1327         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
1328         * ldlang.c (lang_check): Initialize variables to avoid warnings.
1329         * ldwrite.c (build_link_order): Likewise.
1330         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
1331         * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
1332         Remove unused variables.
1333
1334         * Makefile.am (MOSTLYCLEANFILES): Correct name (was
1335         MOSTCLEANFILES).
1336         * Makefile.in: Rebuild.
1337
1338 Fri Mar 27 16:39:25 1998  Ian Lance Taylor  <ian@cygnus.com>
1339
1340         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
1341         ARM code inside ifdef TARGET_IS_armpe.
1342
1343 Wed Mar 25 11:34:13 1998  Ian Lance Taylor  <ian@cygnus.com>
1344
1345         Based on patch from H.J. Lu  <hjl@gnu.org>:
1346         * Makefile.am (LDDISTSTUFF): New variable.
1347         (diststuff): New target.
1348         * Makefile.in: Rebuild.
1349
1350         * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
1351         relocating.
1352
1353 Tue Mar 24 15:59:29 1998  Nick Clifton  <nickc@cygnus.com>
1354
1355         * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
1356         hold Arm/Thumb stubs.
1357
1358         * emultempl/pe.em (gld_pe_before_allocation): Call
1359         arm_process_before_allocation (for ARM/Thumb targets) in order to
1360         gather interworking stb information.
1361
1362 Mon Mar 23 18:54:15 1998  Joel Sherrill  <joel@OARcorp.com>
1363
1364         * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
1365
1366 Fri Mar 20 19:17:13 1998  Ian Lance Taylor  <ian@cygnus.com>
1367
1368         * aclocal.m4, configure: Rebuild with libtool 1.2.
1369
1370 Thu Mar 19 14:54:45 1998  Geoffrey Noer  <noer@cygnus.com>
1371
1372         * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
1373         section to avoid copying certain data on fork.  The linker used to
1374         include this between __data_start__ and __data_end__, but that
1375         breaks building the cygwin32 dll.  The fix is to rename the
1376         section ".data_cygwin_nocopy" and explictly include it after
1377         __data_end__.
1378
1379 Wed Mar 18 09:42:24 1998  Nick Clifton  <nickc@cygnus.com>
1380
1381         * configure.tgt (targ_extra_emuls): Add thumb-pe target.
1382
1383 Sun Mar  8 23:34:14 1998  Stan Cox  <scox@equinox.cygnus.com>
1384
1385         * configure.tgt (sparclite*-*-elf): Added.
1386
1387 Mon Mar  2 19:24:08 1998  Michael Meissner  <meissner@cygnus.com>
1388
1389         * ldlang.c (lang_size_sections): If the default memory region is
1390         *default*, see if there is a memory region that could be used.
1391
1392 Thu Feb 26 17:09:53 1998  Michael Meissner  <meissner@cygnus.com>
1393
1394         * scripttempl/elfd30v.sc: Add support for .eit_v section and put
1395         it at 0xfffff020.
1396         * emulparams/d30v{elf,_o,_e}.sh: Ditto.
1397
1398 Mon Feb 23 17:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
1399
1400         * emultempl/pe.em (sort_sections): Permit the wildcard to include
1401         a trailing '*' when sorting grouped sections.
1402         * scripttempl/pe.sc: Include grouped sections using NAME\$*.  Only
1403         include them when relocating.
1404
1405 Wed Feb 18 23:39:46 1998  Richard Henderson  <rth@cygnus.com>
1406
1407         * Makefile.am (install-exec-local): Install properly when ln
1408         fails or tooldir == prefix.
1409
1410 Fri Feb 13 15:24:06 1998  Ian Lance Taylor  <ian@cygnus.com>
1411
1412         * Makefile.am (AUTOMAKE_OPTIONS): Define.
1413         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
1414
1415 Thu Feb 12 14:10:44 1998  Ian Lance Taylor  <ian@cygnus.com>
1416
1417         * scripttempl/elf.sc: Align the _end symbol according to the ELF
1418         format size.  From Gordon W. Ross <gwr@mc.com>.
1419
1420         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
1421         * configure.host (alpha*-*-netbsd*): New host.
1422         * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
1423         targets.
1424
1425         * lexsup.c (help): Update bug-gnu-utils address.
1426         * ld.texinfo (Bug Reporting): Likewise.
1427
1428 Tue Feb 10 18:05:56 1998  Ian Lance Taylor  <ian@cygnus.com>
1429
1430         * ldlang.c (lang_size_sections): Warn if some memory regions were
1431         defined, but a loadable section is going into the default memory
1432         region.
1433
1434 Tue Feb 10 16:17:20 1998  H.J. Lu  <hjl@gnu.org>
1435
1436         * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
1437
1438 Tue Feb 10 15:09:45 1998  Ian Lance Taylor  <ian@cygnus.com>
1439
1440         * Makefile.am (Makefile): Add target, for dependencies on
1441         configure.host and configure.tgt.
1442         * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
1443         * Makefile.in: Rebuild.
1444
1445 Mon Feb  9 13:44:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>
1446
1447         * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
1448
1449         * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
1450         moved to 0x00.....4.
1451
1452 Sat Feb  7 15:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
1453
1454         * configure, aclocal.m4: Rebuild with new libtool.
1455
1456 Thu Feb  5 12:16:11 1998  Ian Lance Taylor  <ian@cygnus.com>
1457
1458         * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
1459         From Thomas de Lellis <tdel@wrs.com>.
1460
1461         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
1462
1463 Wed Feb  4 13:02:32 1998  Ian Lance Taylor  <ian@cygnus.com>
1464
1465         * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
1466         * Makefile.in: Rebuild.
1467
1468 Mon Feb  2 19:34:54 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
1469
1470         Add tms320c30 support:
1471         * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
1472         * emulparams/tic30aout.sh: New file.
1473         * emulparams/tic30coff.sh: New file.
1474         * scripttempl/tic30aout.sc: New file.
1475         * scripttempl/tic30coff.sc: New file.
1476         * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
1477         etic30coff.o.
1478         (etic30aout.c, etic30coff.c): New targets.
1479         * Makefile.in: Rebuild.
1480
1481 Mon Feb  2 14:10:59 1998  Ian Lance Taylor  <ian@cygnus.com>
1482
1483         * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
1484         accept either ld.so or ld-linux.so.
1485
1486 Fri Jan 30 19:16:28 1998  Doug Evans  <devans@canuck.cygnus.com>
1487
1488         * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
1489         to transform.
1490         * Makefile.in: Regenerate.
1491
1492 Fri Jan 30 19:15:17 1998  Geoff Keating  <geoffk@ozemail.com.au>
1493
1494         * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
1495
1496 Fri Jan 30 11:43:49 1998  H.J. Lu  <hjl@gnu.ai.mit.edu>
1497
1498         * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
1499         * Makefile.in: Rebuild.
1500
1501 Thu Jan 29 16:04:21 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1502
1503         * ldfile.c (slash): Set to backslash if _WIN32 but not
1504         __CYGWIN32__.
1505         (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
1506         leading backslash or a leading x: as an absolute path.
1507         (ldfile_find_command_file): Use slash rather than / when
1508         generating name to try.
1509         * lexsup.c (PATH_SEPARATOR): Define.
1510         (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
1511
1512 Wed Jan 28 14:06:30 1998  Richard Henderson  <rth@cygnus.com>
1513
1514         * emulparams/elf64_sparc.sh (ELFSIZE): 64
1515         (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
1516         (DATA_PLT): Needed by v9 abi.
1517
1518 Wed Jan 28 16:37:27 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
1519
1520         * configure.tgt (i[3456]86-*-mingw32*): New entry.
1521
1522 Wed Jan 28 15:51:58 1998  Ian Lance Taylor  <ian@cygnus.com>
1523
1524         * scripttempl/elf.sc: Only include linkonce sections in final
1525         sections when relocating.
1526
1527 Wed Jan 28 14:10:01 1998  Ian Lance Taylor  <ian@cygnus.com>
1528
1529         * ld.texinfo (Options): Add a brief description of the types of
1530         information included in a link map.
1531
1532         * ld.texinfo (Options): Mention LDEMULATION in description of -m.
1533         (Environment): Mention LDEMULATION.
1534
1535         * ld.texinfo (Options): Clarify --export-dynamic a bit.
1536
1537 Thu Jan 22 16:07:23 1998  Richard Henderson  <rth@cygnus.com>
1538
1539         * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
1540         pattern could match.
1541
1542 Wed Jan 21 22:26:46 1998  Ian Lance Taylor  <ian@cygnus.com>
1543
1544         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
1545         a relocateable link, set the image base to 0, and don't define the
1546         various symbols.
1547         * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
1548         * scripttempl/pe.sc: Swap the .data and .bss sections so that
1549         .data comes first.  If doing a relocateable link, use
1550         RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
1551         sections at 0, and don't define any symbols.
1552
1553         * ldlang.c (lang_memory_default): Correct parenthisization of
1554         expression.
1555
1556 Wed Jan 21 21:20:32 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1557
1558         * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
1559         here; they are included already via sysdep.h.
1560
1561 Tue Jan  6 13:40:02 1998  Richard Henderson  <rth@cygnus.com>
1562
1563         * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
1564
1565 Fri Jan  2 20:15:37 1998  Michael Meissner  <meissner@cygnus.com>
1566
1567         * ldgram.y (attributes_opt): Pass region pointer to
1568         lang_set_flags, not &region->flags.
1569
1570         * ldlang.c (lang_memory_default): New function to figure out a
1571         default memory region for a section if it was not specified.
1572         (lang_memory_region_lookup): Zero flags, not_flags field.
1573         (lang_map{,_flags}): Print attribute flags in memory map.
1574         (lang_size_sections): Call lang_memory_default to get default
1575         memory region.
1576         (lang_set_flags): Implement attribute flags for real.  Take new
1577         argument to give the flags we are to skip for this region.
1578
1579         * ldlang.h (memory_region_struct): Add not_flags field, make both
1580         flags fields flagword type.
1581         (lang_output_section_state): Make flags field flagword type.
1582         (lang_set_flags): Update prototype to match new calling sequence.
1583         (lang_memory_region_default): Add prototype.
1584
1585         * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
1586         Define whether or not the region gets default sections, and if so,
1587         what sections.
1588
1589         * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
1590         default sections.
1591
1592 Thu Jan  1 22:58:04 1998  Michael Meissner  <meissner@cygnus.com>
1593
1594         * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
1595
1596 Thu Jan  1 18:04:51 1998  Jeffrey A Law  (law@cygnus.com)
1597
1598         * scripttempl/h8300h.sc: Fix typo.
1599         * scripttempl/h8300s.sc: Likewise.
1600
1601 Sun Dec 21 12:51:49 1997  Ian Lance Taylor  <ian@cygnus.com>
1602
1603         * ldexp.c (fold_name): Don't crash if the symbol is defined in a
1604         section with no output section, such as a shared library section.
1605
1606 Wed Dec 17 12:14:11 1997  Ian Lance Taylor  <ian@cygnus.com>
1607
1608         * lexsup.c (parse_args): Keep track of where we are in the option
1609         parsing before calling ldemul_parse_args, so that we don't call it
1610         multiple times on the same argument and confuse the getopt
1611         internals.
1612
1613 Thu Dec 11 09:00:15 1997  Michael Meissner  <meissner@cygnus.com>
1614
1615         * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and
1616         d30velf_o to d30v_o to work in DOS environments.
1617         * Makefile.{am,in}: Ditto.
1618
1619         * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}.
1620         * emulparams/d30velf_{o,e}: Deleted.
1621
1622 Wed Dec 10 17:40:08 1997  Nick Clifton  <nickc@cygnus.com>
1623
1624         * scripttempl/armcoff.sc: Add glue sections (code taken from Arm
1625         branch).
1626
1627         * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff.
1628
1629         * emultempl/armcoff.em: New file, imported from Arm branch.
1630
1631 Wed Dec 10 14:10:44 1997  Michael Meissner  <meissner@cygnus.com>
1632
1633         * scripttempl/elfd30v.sc: Add .rel and .rela sections for all
1634         defined sections.  Set up __{D,C}TOR_{LIST,END}__.  Add onchip and
1635         external memory sections for rodata.  Delete .string, .rodata1,
1636         and .data1 sections.
1637
1638 Tue Dec  9 15:28:17 1997  Michael Meissner  <meissner@cygnus.com>
1639
1640         * Makefile.am: Add Oct 23 changes to Makefile.in here.
1641
1642         * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o.
1643
1644         * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o.
1645
1646         * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o.
1647         (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in
1648         external memory.
1649         (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in
1650         onchip memory.
1651
1652         * emulparams/d30velf.sh (STACK_START_ADDR): Top of default
1653         stack.
1654         ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas.
1655         ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and
1656         .bss should go in.
1657
1658         * emulparams/d30velf_{e,o}.sh: New files to be explicit whether
1659         .text, .data, etc go in external memory or onchip memory.
1660
1661         * configure.tgt (d30v-*-*ext*): New configuration to default
1662         .text, .data, etc. in external memory.
1663         (d30v-*-*onchip*): New configuration to default .text, .data,
1664         etc. in onchip memory.
1665         (d30v-*-*): Add d30velf_{e,o} emulations.
1666
1667         * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in
1668         either the onchip text/data areas or the external memory area.
1669         (MEMORY): Get sizes from d30velf.sh.
1670         (.e{data,text,bss}): Put sections in the external memory region.
1671         (.stext): Put section in the onchip text region.
1672         (.s{data,bss}): Put sections in the onchip data region.
1673         (__stack): Assign from ${STACK_START_ADDR}.
1674         (.text): Put in ${TEXT_MEMORY} memory region.
1675         (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory
1676         region.
1677         (.bss): Put in ${BSS_MEMORY} memory region.
1678
1679 Tue Dec  2 10:14:47 1997  Nick Clifton  <nickc@cygnus.com>
1680
1681         * configure.tgt (targ_extra_emuls): Add support for Thumb target.
1682
1683 Sat Nov 22 15:23:19 1997  Ian Lance Taylor  <ian@cygnus.com>
1684
1685         * ldlex.l: Don't define hex_mode.  Correct number regexp to not
1686         accept hex digits without a leading $ or 0x.  Handle leading $
1687         correctly.  Pass 0 rather than hex_mode to bfd_scan_vma.
1688         * ldlex.h (hex_mode): Don't declare.
1689
1690 Sun Nov 16 20:16:45 1997  Michael Meissner  <meissner@cygnus.com>
1691
1692         * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start
1693         of internal data area and external memory on chip.
1694
1695         * scripttempl/elfd30v.sc: Define a MEMORY region that describes
1696         the 3 regions of memory on the chip.  Put .text/.init/.fini into
1697         the text memory region, put other segments into the data memory
1698         region.  Add more of the standard elf sections.  Default __stack
1699         to be 0x20008000, which is 1 byte beyond end of the internal data
1700         region.
1701
1702 Thu Nov 13 13:45:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
1703
1704         * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
1705         variant.
1706
1707 Sun Nov  2 14:51:36 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1708
1709         * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0.  Set
1710         HOSTING_LIBS.
1711
1712 Thu Oct 30 12:25:55 1997  Ian Lance Taylor  <ian@cygnus.com>
1713
1714         * ld.h (args_type): Add warn_mismatch field.
1715         * ldmain.c (main): Initialize warn_mismatch field.
1716         * lexsup.c (parse_args): Handle --no-warn-mismatch option.
1717         * ldlang.c (ignore_bfd_error): New static function.
1718         (lang_check): If warn_mismatch is false, don't warn about
1719         mismatched input files.
1720         * ld.texinfo, ld.1: Document new option.
1721
1722 Thu Oct 23 14:38:18 1997  Nick Clifton  <nickc@cygnus.com>
1723
1724         * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack'
1725         to avoid conflicts with C code which is defining a variable called
1726         'stack'.
1727
1728 Thu Oct 23 00:57:45 1997  Richard Henderson  <rth@dot.cygnus.com>
1729
1730         * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ...
1731         (ALL_64_EMULATIONS): ... here.
1732         (eelf64_sparc.c): Template should be elf32 not generic.
1733         * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition.
1734
1735 Thu Oct 23 00:44:20 1997  Richard Henderson  <rth@dot.cygnus.com>
1736
1737         * configure.tgt: Add sparc64-*-linux*.
1738         * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New.
1739
1740 Wed Oct 22 11:29:25 1997  Ian Lance Taylor  <ian@cygnus.com>
1741
1742         * scripttempl/pe.sc: Put .eh_frame in .rdata.
1743
1744 Fri Oct 17 00:00:13 1997  Richard Henderson  <rth@cygnus.com>
1745
1746         * ldlang.c (lang_register_vers_node): Only check globals<=>locals,
1747         since we need to be able to export different versions of the same
1748         symbol.
1749
1750 Wed Oct 15 14:52:36 1997  Ian Lance Taylor  <ian@cygnus.com>
1751
1752         * scripttempl/pe.sc: Put .stab and .stabstr sections at end.
1753
1754 Wed Oct  8 12:37:05 1997  Richard Henderson  <rth@cygnus.com>
1755
1756         * configure.tgt, configure.host: Change alpha-*-* to alpha*-*-*;
1757         config.guess now recognizes alphaev5 etc.
1758
1759 Fri Oct  3 14:23:02 1997  Ian Lance Taylor  <ian@cygnus.com>
1760
1761         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Don't treat
1762         -s and -u as -static and -unix.
1763
1764 Thu Oct  2 18:40:28 1997  Ian Lance Taylor  <ian@cygnus.com>
1765
1766         * ldlang.c (wild_doit): Rewrite flag handling for clarity.  If we
1767         are not adding the first input section, and SEC_READONLY is clear
1768         on the output section, then don't copy it from the input section.
1769         If SEC_READONLY is not set on the input section, then clear it on
1770         the output section.
1771
1772         * configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
1773         elf32bmip.
1774         (mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip
1775         to elf32bsmip.
1776         (mips*-*-linux*): Likewise.
1777         * emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but
1778         setting ENTRY to __start.
1779         * emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but
1780         setting ENTRY to __start.
1781         * scripttempl/elf.sc: Always set ENTRY to _start if it was not
1782         already set.
1783
1784 Wed Oct  1 16:41:00 1997  Nick Clifton  <nickc@cygnus.com>
1785
1786         * emulparams/v850.sh (ROZDATA_START_ADDR, ROSDATA_START_ADDR): New
1787         Variables.
1788
1789         * scripttempl/v850.sc: Move read only areas out of zero and small
1790         data sections and into their own sections.
1791
1792 Wed Sep 24 16:59:15 1997  Joel Sherrill  <joel@oarcorp.com>
1793
1794         * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
1795
1796 Wed Sep 24 11:33:14 1997  Ian Lance Taylor  <ian@cygnus.com>
1797
1798         * ld.texinfo (Section Options): Improve documentation of NOLOAD
1799         directive.
1800
1801         * aclocal.m4: Rebuild with new libtool.
1802         * configure: Rebuild.
1803
1804 Mon Sep 22 17:24:06 1997  Ian Lance Taylor  <ian@cygnus.com>
1805
1806         * ldlang.c (wild_doit): Revert patch of September 3.
1807
1808 Wed Sep 17 16:45:34 1997  Nick Clifton  <nickc@cygnus.com>
1809
1810         * Makefile.am, Makefile.in: Add rule for ev850.c
1811         * configure.tgt (targ_extra_emuls): Add v850 target.
1812
1813 Wed Sep 17 16:43:39 1997  Nick Clifton  <nickc@cygnus.com>
1814
1815         * emulparams/v850.sh (CALL_TABLE_START_ADDR): New entry.
1816         * scripttempl/v850.sc: Add call table data area
1817
1818 Mon Sep 15 11:29:13 1997  Ken Raeburn  <raeburn@cygnus.com>
1819
1820         Merge change from Martin Hunt:
1821
1822         * scripttempl/elfd30v.sc: Put .rodata in the .text section.
1823
1824 Tue Sep  9 07:49:56 1997  Fred Fish  <fnf@ninemoons.com>
1825
1826         * ldlang.c (lang_memory_region_lookup): Remove extraneous
1827         initialization of p.
1828
1829 Thu Sep  4 09:03:33 1997  Ian Lance Taylor  <ian@cygnus.com>
1830
1831         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): In
1832         expression produced for -bpT and -bpD options, align to a 32 byte
1833         boundary rather than an 8 byte boundary.
1834         * scripttempl/aix.sc: Put .tocbss at start of .bss section.
1835
1836         * ldmisc.h, ldmisc.c, ldcref.c: Rename finfo to lfinfo, to avoid
1837         function name conflict with AIX 4.2 unistd.h header file.
1838
1839 Wed Sep  3 15:12:32 1997  Ian Lance Taylor  <ian@cygnus.com>
1840
1841         * ldlang.c (wild_doit): Clear SEC_HAS_CONTENTS from a
1842         noload_section.
1843
1844 Fri Aug 29 00:32:31 1997  Ian Lance Taylor  <ian@cygnus.com>
1845
1846         * Makefile.am (ld_new_DEPENDENCIES): Remove @LEXLIB@.
1847         * Makefile.in: Rebuild.
1848
1849 Thu Aug 28 10:12:10 1997  Doug Evans  <dje@canuck.cygnus.com>
1850
1851         * configure.tgt (arc-*-elf*): Recognize.
1852         * Makefile.am (ALL_EMULATIONS): Add earcelf.o.
1853         * Makefile.in: Regenerate.
1854         * emulparams/arcelf.sh: New file.
1855
1856 Wed Aug 20 11:14:13 1997  Ian Lance Taylor  <ian@cygnus.com>
1857
1858         * ldlang.c (wildcardp): Don't let a backslash by itself cause a
1859         pattern to be treated as a wildcard pattern.
1860
1861         * ldgram.y (atype): Accept parentheses with no type.
1862
1863         * ld.texinfo (Section Definition): Clarify use of whitespace.
1864         (Section Placement): Likewise.
1865
1866 Mon Aug 18 11:12:03 1997  Nick Clifton  <nickc@cygnus.com>
1867
1868         * configure.tgt (targ_extra_emuls): Add support for v850e target.
1869
1870 Mon Aug 18 11:12:03 1997  Nick Clifton  <nickc@cygnus.com>
1871
1872         * configure.tgt (targ_extra_emuls): Add support for v850e target.
1873
1874 Sat Aug  9 00:42:27 1997  Ian Lance Taylor  <ian@cygnus.com>
1875
1876         * Makefile.am (ld.info): Change dependency from
1877         $(BFDDIR)/doc/bfdsumm.texi to bfdsumm.texi.
1878         (ld.dvi): Likewise.
1879         (bfdsumm.texi): New target.
1880         (CLEANFILES): Add bfdsumm.texi.
1881         * Makefile.in: Rebuild.
1882
1883         * Makefile.am: New file, based on old Makefile.in.
1884         * acinclude.m4: New file, from old aclocal.m4.
1885         * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL.  Remove
1886         shared library handling; now handled by libtool.  Replace
1887         AC_CONFIG_HEADER with AM_CONFIG_HEADER.  Call AC_PROG_YACC,
1888         AC_PROG_LEX, and AC_DECL_YYTEXT.  Call AM_MAINTAINER_MODE,
1889         AM_CYGWIN32, and AM_EXEEXT.  Don't call CY_CYGWIN32 or CY_EXEEXT.
1890         * configure.host: Don't set HLDFLAGS, HLDENV, or RPATH_ENVVAR.
1891         * acconfig.h: Mention PACKAGE and VERSION.
1892         * stamp-h.in: New file.
1893         * ldver.c (ld_program_version): Set ld_program_version from
1894         VERSION.
1895         * ldgram.y, ldlex.l: Replace VERSION with VERSIONK.
1896         * Makefile.in: Now built with automake.
1897         * aclocal.m4: Now built with aclocal.
1898         * configure, config.in: Rebuild.
1899
1900 Mon Jul 28 19:04:50 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
1901
1902         * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
1903         win32 dependencies.
1904         * configure: Regenerated with autoconf 2.12.
1905         * Makefile.in: Add $(EXEEXT) to executable.
1906
1907 Tue Jul 22 18:50:38 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
1908
1909         * emulparams/i386go32.sh (OUTPUT_FORMAT): Set to "coff-go32".
1910         (SEGMENT_SIZE): Set to 0x200.
1911         * scripttempl/i386go32.sc: Rewrite.
1912         * configure.tgt (i[3456]86-*-msdosdjgpp*): New target.
1913
1914 Mon Jul  7 12:39:42 1997  Ian Lance Taylor  <ian@cygnus.com>
1915
1916         From Manfred Hollstein <manfred@s-direktnet.de>:
1917         * configure.host (i[3456]86-*-linux*libc1*): Renamed from
1918         i[3456]86-*-linux*.
1919         (i[3456]86-*-linux*): New host.
1920
1921 Thu Jun 26 13:54:03 1997  Ian Lance Taylor  <ian@cygnus.com>
1922
1923         * scripttempl/pe.sc: Put .rsrc after .reloc.  Put input .rsrc
1924         sections in the output .rsrc section.
1925
1926 Wed Jun 25 12:48:41 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1927
1928         * configure.host (m68*-*-linux*libc1*): Renamed from
1929         `m68*-*-linux*'.
1930         (m68*-*-linux*): New configuration for use with GNU libc 2.
1931
1932 Mon Jun 16 19:18:21 1997  Geoff Keating  <geoffk@ozemail.com.au>
1933
1934         * scripttempl/elfppc.sc: Correct .rela.sdata entries.
1935
1936         * scripttempl/elfppc.sc: Put the PLT between the small and large
1937         BSS segments.
1938         * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
1939         program base of 0x02000000 is recommended...' because otherwise
1940         shared libraries are less efficient.  We use 0x01800000 because
1941         otherwise it's impossible to branch to location 0, for instance if
1942         you have an undefined weak symbol.
1943
1944 Mon Jun 16 12:49:36 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
1945
1946         * ldlang.c (lang_place_undefineds): Add \n in einfo call.
1947         (lang_size_sections): Likewise.
1948         * ldlex.l: Likewise.
1949         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
1950         * emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
1951         Likewise.
1952         (check_sections): Likewise.
1953         (gld${EMULATION_NAME}_after_allocation): Likewise.
1954         * emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
1955         Likewise.
1956         * mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
1957         * mpw-idtmips.c (gldmipsidt_after_open): Likewise.
1958         (check_sections): Likewise.
1959         (gldmipsidt_after_allocation): Likewise.
1960
1961         * ldemul.c (ldemul_choose_mode): Remove unused einfo argument.
1962
1963 Fri Jun  6 23:47:42 1997  Ian Lance Taylor  <ian@cygnus.com>
1964
1965         * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
1966         the import list.
1967
1968 Thu May 29 13:13:22 1997  Ian Lance Taylor  <ian@cygnus.com>
1969
1970         * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't
1971         crash if an output section has no BFD section.
1972
1973 Fri May 23 15:23:25 1997  Fred Fish  <fnf@cygnus.com>
1974
1975         * lexsup.c (ld_options): Add entry for the new "task-link" option.
1976         (parse_args): Handle the "task-link" option.
1977         (OPTION_TASK_LINK): Add define.
1978
1979 Wed May 21 17:44:15 1997  Ian Lance Taylor  <ian@cygnus.com>
1980
1981         * ldmain.c (main): Correct check of fclose return value when
1982         handling --force-exe-suffix.
1983
1984 Thu May 15 11:35:29 1997  Nick Clifton  <nickc@cygnus.com>
1985
1986         * ldlang.c (lang_check): Add test of the return value from the
1987         call to bfd_merge_private_bfd_data().
1988
1989 Mon May 12 23:22:58 1997  Ian Lance Taylor  <ian@cygnus.com>
1990
1991         * scripttempl/elfmips.sc: Remove.
1992         * scripttempl/elf.sc: Set ENTRY based on target.  Permit
1993         TEXT_DYNAMIC to control .dynamic segment.  Permit
1994         SHLIB_TEXT_START_ADDR to set start of shared object.  Support
1995         INITIAL_READONLY_SECTIONS.  Put .stub in .text.  Only put
1996         .gnu.linkonce.t* in .text when relocating.  Support
1997         OTHER_TEXT_SECTIONS.  Support SHLIB_DATA_ADDR as well as
1998         DATA_ADDR.  Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
1999         * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
2000         (DATA_ADDR): Don't set.
2001         (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
2002         (OTHER_TEXT_SECTIONS): Set.
2003         (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
2004         (MACHINE): Set to empty string.
2005         * emulparams/elf32l4300.sh: Likewise.
2006         * emulparams/elf32ebmip.sh: Likewise.
2007         * emulparams/elf32elmip.sh: Likewise.
2008         * emulparams/elf32bmip.sh: Likewise.  Also:
2009         (TEXT_DYNAMIC): Set.
2010         * emulparams/elf32lmips.sh: Likewise.
2011         * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
2012         elfmips.sc.
2013         (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
2014
2015 Mon May 12 11:11:06 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2016
2017         * scripttempl/elf.sc: Don't align the data segment on the next 8
2018         byte boundary, instead let the linker use whatever the individual
2019         sections require.
2020
2021 Fri May  9 17:45:46 1997  Ian Lance Taylor  <ian@cygnus.com>
2022
2023         * configure.tgt (i[3456]86-*-gnu*): Don't include Mach support.
2024
2025 Tue May  6 13:21:19 1997  Ian Lance Taylor  <ian@cygnus.com>
2026
2027         From Sean McNeil <sean@mcneil.com>:
2028         * emultempl/pe.em (sort_by_file_name): Sort by archive name
2029         first.
2030         (sort_sections): Sort all sections, not just sections in the same
2031         archive.
2032
2033 Mon May  5 18:19:55 1997  Philip Blundell  <pjb27@cam.ac.uk>
2034
2035         * configure.tgt, configure.host: cope with '*-*-linux-gnuaout'
2036         targets.
2037
2038 Fri May  2 15:54:28 1997  Mike Meissner  <meissner@cygnus.com>
2039
2040         * scripttempl/tic80coff.sc (.text): Add a leading underscore to
2041         __{D,C}TOR_{LIST,END}__ definations.  Rearrange the order of items
2042         in the .text section.  Move .const, .ctors, .dtors into separate
2043         sections.
2044
2045 Wed Apr 30 12:23:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
2046
2047         * scripttempl/m88kbcs.sc (__.initp.end, _etext): Added whitespace
2048         around assignment of current location pointer.
2049
2050 Thu Apr 17 13:07:18 1997  Ian Lance Taylor  <ian@cygnus.com>
2051
2052         * ldctor.c (ldctor_build_sets): Make sure the set is aligned
2053         appropriately.
2054
2055 Tue Apr 15 13:19:26 1997  Ian Lance Taylor  <ian@cygnus.com>
2056
2057         * Makefile.in (INSTALL): Set to @INSTALL@.
2058         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
2059         (install): Depend upon ld.new and installdirs.  Use
2060         $(program_transform_name) directly, rather than using
2061         $(INSTALL_XFORM) and $(INSTALL_XFORM1).
2062         (installdirs): New target.
2063         (install-info): Run mkinstalldirs.
2064
2065 Mon Apr 14 12:06:15 1997  Ian Lance Taylor  <ian@cygnus.com>
2066
2067         * Makefile.in (INSTALL): Change install.sh to install-sh.
2068
2069         From Thomas Graichen <graichen@rzpd.de>:
2070         * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
2071         * configure: Rebuild.
2072
2073 Fri Apr  4 11:42:41 1997  Ian Lance Taylor  <ian@cygnus.com>
2074
2075         * emultempl/pe.em: Include "libiberty.h".
2076         (sort_sections_1): Use xmalloc rather than alloca.
2077
2078         * ldlex.l: Recognize SQUAD.
2079         * ldgram.y (length): Add SQUAD.
2080         * ldctor.c (ldctor_build_sets): Use SQUAD for a signed 8 byte
2081         reloc.
2082         * ldlang.c (print_data_statement): Handle SQUAD.
2083         (lang_size_sections, lang_do_assignments): Likewise.
2084         * ldexp.c (exp_print_token): Add SQUAD to table.
2085         * ldwrite.c (build_link_order): Handle SQUAD.
2086         * ld.texinfo (Section Data Expressions): Document SQUAD.
2087
2088 Thu Apr  3 13:19:40 1997  Ian Lance Taylor  <ian@cygnus.com>
2089
2090         * ldver.c (ld_program_version): Set to 2.8.1.
2091
2092         * Branched binutils 2.8.
2093
2094 Wed Apr  2 11:55:27 1997  Ian Lance Taylor  <ian@cygnus.com>
2095
2096         * mpw-idtmips.c: Rename from mpw-emipsidt.c.
2097         * mpw-elfmips.c: Rename from mpw-emipself.c.
2098         * mpw-config.in: Update accordingly.
2099
2100         * ldlang.c (lang_process): Call lang_check immediately after
2101         opening the input files, rather than at the end of the link.
2102
2103 Mon Mar 31 23:44:00 1997  Ian Lance Taylor  <ian@cygnus.com>
2104
2105         * emultempl/pe.em (init): Fully bracket initializer.
2106         (set_pe_stack_heap): Remove locals begin_commit and end.
2107         (gld_${EMULATION_NAME}_after_open): Remove unused local i.
2108         (gld${EMULATION_NAME}_place_orphan): Remove unused local ptr.
2109
2110 Mon Mar 31 16:35:51 1997  Joel Sherrill  <joel@oarcorp.com>
2111
2112         * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
2113
2114 Fri Mar 28 15:29:23 1997  H.J. Lu <hjl@gnu.ai.mit.edu>
2115
2116         Contributed by David S. Miller <davem@caip.rutgers.edu>:
2117         * configure.tgt (sparc*-*-linuxaout*): New target.
2118         (sparc*-*-linux*): New target.
2119         * emulparams/sparclinux.sh: New file.
2120         * Makefile.in (ALL_EMULATIONS): Add esparclinux.o.
2121         (esparclinux.c): New target.
2122
2123 Fri Mar 28 14:30:12 1997  Ian Lance Taylor  <ian@cygnus.com>
2124
2125         From Ralf Baechle <ralf@gnu.ai.mit.edu>:
2126         * configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and
2127         mips*-*-linux*.  Use elf32bmip and elf32lmip, not elf32ebmip and
2128         elf32elmip.
2129
2130 Thu Mar 27 17:14:32 1997  Ian Lance Taylor  <ian@cygnus.com>
2131
2132         * lexsup.c (parse_args): Update copyright date in version
2133         message.
2134
2135 Fri Mar 21 12:28:41 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
2136
2137         * emulparams/delta68.sh (OUTPUT_FORMAT): Set to "coff-m68k-sysv".
2138
2139 Tue Mar 18 11:16:23 1997  Ian Lance Taylor  <ian@cygnus.com>
2140
2141         * Makefile.in: Rebuild dependencies.
2142
2143         * emultempl/aix.em: Include "obstack.h".
2144
2145 Mon Mar 17 19:26:06 1997  Ian Lance Taylor  <ian@cygnus.com>
2146
2147         * ldlang.c: Include "obstack.h".
2148
2149 Sat Mar 15 23:23:46 1997  Fred Fish  <fnf@cygnus.com>
2150
2151         * configure.tgt (powerpc-*-beos*): Use aixppc for targ_emul.
2152
2153 Sat Mar 15 18:10:38 1997  H.J. Lu  <hjl@lucon.org>
2154
2155         * ldemul.h (ldemul_list_emulations): Use full prototype.
2156         * ldlang.c (print_one_symbol): Add declaration.
2157         * ldlang.h (dprint_statements): Declare.
2158         * ldmain.c (remove_output): Declare.
2159         * ldmisc.c (vfinfo): Declare.
2160         * ldwrite.c (clone_section): Declare.
2161         (split_sections): Make static.  Declare.
2162         * mri.c: Include libiberty.h.
2163         (strdup): Don't declare.
2164         (mri_alias): Use xstrdup rather than strdup.
2165
2166 Fri Mar 14 21:30:06 1997  Ian Lance Taylor  <ian@cygnus.com>
2167
2168         * scripttempl/elfmips.sc: Change handling of data area when
2169         generating a shared library to not skip a large block of memory.
2170         From Per Fogelstrom <pefo@cvs.openbsd.org>.
2171
2172 Wed Mar 12 21:33:09 1997  Ian Lance Taylor  <ian@cygnus.com>
2173
2174         * ldmain.c (multiple_definition): Only skip the warning if the
2175         output section is absolute when the input section is not
2176         absolute.
2177
2178         * ldlex.l: Accept whitespace in VERS_START state.  Warn about
2179         invalid characters in VERS_* states.
2180
2181 Tue Mar 11 13:51:31 1997  Ian Lance Taylor  <ian@cygnus.com>
2182
2183         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Don't let a
2184         trailing space lead us to think that there is a zero address.
2185
2186 Sun Mar  9 23:06:35 1997  Eric Youngdale  <eric@andante.jic.com>
2187
2188         * ldgram.y (vers_node): Correct typo of '('  for '{'.
2189
2190 Fri Mar  7 18:40:12 1997  Fred Fish  <fnf@cygnus.com>
2191
2192         * scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start
2193         rather than _start.
2194         (__edata): Define this rather than "edata".
2195         (__end): Define this rather than "end".
2196
2197 Tue Mar  4 17:18:35 1997  Michael Meissner  <meissner@cygnus.com>
2198
2199         * configure.tgt (tic80-*-*): Allow dropping of -coff.
2200
2201 Sun Mar  2 22:59:49 1997  Fred Fish  <fnf@cygnus.com>
2202
2203         * Makefile.in (ld.dvi): Set MAKEINFO environment variable as well
2204         as TEXINPUTS.  Needed for building in separate build dir.
2205         * ldint.texinfo (SCRIPT_NAME): Fix typo.
2206         * emulparams/tic80coff.sh: Rewrite to include internal documentation
2207         about each shell variable that is set (or not set).
2208         * scripttempl/tic80coff.sc: Complete rewrite.
2209
2210 Fri Feb 28 17:42:27 1997  Ian Lance Taylor  <ian@cygnus.com>
2211
2212         * ldmain.c (main): Call bfd_set_default_target.
2213         * Makefile.in (ldmain.o): Define TARGET when compiling.
2214
2215 Thu Feb 27 11:41:03 1997  Ian Lance Taylor  <ian@cygnus.com>
2216
2217         * ldmain.c (main): Don't initialize link_info.lprefix or
2218         link_info.lprefix_len.
2219         * emultempl/hppaelf.em (hppaelf_before_parse): Likewise.
2220
2221         * emultempl/m88kbcs.em: Remove.
2222         * emulparams/m88kbcs.sh (TEMPLATE_NAME): Don't set.
2223         * Makefile.in (em88kbcs.c): Depend upon generic.em rather than
2224         m88kbcs.em.
2225
2226         * mri.c (mri_draw_tree): Pass noload_section, not SEC_NEVER_LOAD,
2227         to lang_enter_output_section_statement.  From Mark Rasin
2228         <mark.rasin@telrad.co.il>.
2229
2230 Wed Feb 26 11:51:44 1997  Ian Lance Taylor  <ian@cygnus.com>
2231
2232         * ldlang.c (lang_one_common): Clear SEC_IS_COMMON from common
2233         section.
2234
2235 Tue Feb 25 20:38:11 1997  Stan Shebs  <shebs@andros.cygnus.com>
2236
2237         * configure.tgt (mips*-*-lnews*): New target.
2238         * Makefile.in (emipslnews.c): New target.
2239         * emulparams/mipslnews.sh: New file.
2240
2241 Tue Feb 25 16:04:09 1997  Ian Lance Taylor  <ian@cygnus.com>
2242
2243         * emultempl/elf32.em (hold_interp): New static variable.
2244         (gld${EMULATION_NAME}_place_orphan): Put loadable .note sections
2245         after hold_interp.  Choose a unique output section name.
2246         (gld${EMULATION_NAME}_place_section): Don't set hold_use if the
2247         SEC_LOAD or SEC_ALLOC flags differ.  Set hold_interp.
2248
2249 Mon Feb 24 18:16:09 1997  Ian Lance Taylor  <ian@cygnus.com>
2250
2251         From Eric Youngdale <eric@andante.jic.com>:
2252         * ldlex.l (V_TAG, V_IDENTIFIER): New macros.
2253         (VERS_START, VERS_SCRIPT, VERS_NODE): New states to parse version
2254         information.
2255         (ldlex_version_script, ldlex_version_file): New functions.
2256         * ldlex.h (enum input_enum): Add input_version_script.
2257         (ldlex_version_script): Declare.
2258         (ldlex_version_file): Declare.
2259         * ldgram.y (%union): Add deflist, versyms, and versnode.
2260         (VERS_TAG, VERS_IDENTIFIER): New terminals.
2261         (GLOBAL, LOCAL, VERSION, INPUT_VERSION_SCRIPT): New terminals.
2262         (file): Accept INPUT_VERSION_SCRIPT.
2263         (ifile_p1): Accept version.
2264         (version_script_file): New nonterminal.
2265         (version, vers_nodes, vers_node): Likewise.
2266         (verdep, vers_tag, ver_defns): Likewise.
2267         * ldlang.c (lang_elf_version_info): New global variable.
2268         (lang_new_vers_regex): New function.
2269         (lang_new_vers_node): New function.
2270         (version_index): New static variable.
2271         (lang_register_vers_node): New function.
2272         (lang_add_vers_depend): New function.
2273         * ldlang.h (lang_elf_version_info): Declare.
2274         (lang_new_vers_regex, lang_new_vers_node): Declare.
2275         (lang_add_vers_depend, lang_register_vers_node): Declare.
2276         * lexsup.c (OPTION_VERSION_SCRIPT): Define.
2277         (ld_options): Add "version-script".
2278         (parse_args): Handle OPTION_VERSION_SCRIPT.
2279         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
2280         Pass lang_elf_version_info to size_dynamic_sections.
2281         * scripttempl/elf.sc: Add .gnu.version sections.
2282         * ld.texinfo: Document symbol versioning.
2283
2284 Fri Feb 21 17:37:51 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
2285
2286         * Makefile.in (ed30velf.c): New target.
2287         * configure.tgt (d30v-*-*): New target.
2288         * emulparams/d30velf.sh: New file.
2289         * scripttempl/elfd30v.sc: New file.
2290
2291 Fri Feb 14 18:28:31 1997  Ian Lance Taylor  <ian@cygnus.com>
2292
2293         * ld.texinfo (Option Commands): Document the INCLUDE command.
2294
2295 Thu Feb 13 20:31:37 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
2296
2297         * configure.in: Call BFD_NEED_DECLARATION on getenv.
2298         * acconfig.h (NEED_DECLARATION_GETENV): New macro.
2299         * sysdep.h (getenv): Declare if NEED_DECLARATION_GETENV.
2300         * ldemul.c (ld_emul_default_target): Do not cast getenv return
2301         value.
2302         * ldmain.c (get_emulation): Likewise.
2303         * configure, config.in: Rebuild.
2304
2305 Tue Feb 11 15:34:26 1997  Ian Lance Taylor  <ian@cygnus.com>
2306
2307         * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and
2308         .mips16.call.* in .text.
2309
2310 Sun Feb  9 18:09:13 1997  Fred Fish  <fnf@cygnus.com>
2311
2312         * emulparams/tic80coff.sh: New (dummy) file for TIc80.
2313         * scripttempl/tic80coff.sc: New (dummy) file for TIc80.
2314         * Makefile.in (etic80coff.c): Add target and rule to build it.
2315         * configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
2316
2317 Fri Jan 31 13:16:53 1997  Ian Lance Taylor  <ian@cygnus.com>
2318
2319         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for
2320         ".so" in the name, not ".so.".
2321         (gld${EMULATION_NAME}_search_dir): Accept a plain .so file.
2322
2323         * Makefile.in (ld.info): Add -I$(srcdir).  From Alan Modra
2324         <alan@spri.levels.unisa.edu.au>.
2325
2326 Thu Jan 30 11:31:52 1997  Ian Lance Taylor  <ian@cygnus.com>
2327
2328         * emultempl/sunos.em: Include <ctype.h>.
2329         (gld${EMULATION_NAME}_find_so): Skip the directory name when
2330         searching for ".so.".
2331         (gld${EMULATION_NAME}_search_dir): Make sure that the library name
2332         has a version number, and that only version numbers follow .so.
2333
2334 Wed Jan 29 18:15:00 1997  Geoffrey Noer  <noer@cygnus.com>
2335
2336         * scripttempl/pe.sc:
2337         * scripttempl/ppcpe.sc: add *(.gcc_except_table) to the text
2338         section so Win32 executables are valid.
2339
2340 Mon Jan 27 12:28:43 1997  Ian Lance Taylor  <ian@cygnus.com>
2341
2342         * scripttempl/elf.sc: Put linkonce reloc section in other
2343         appropriate reloc sections.
2344         * scripttempl/elfmips.sc: Add linkonce support.
2345         * scripttempl/elfppc.sc: Likewise.
2346
2347 Fri Jan 24 10:44:09 1997  Jeffrey A Law  (law@cygnus.com)
2348
2349         * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the
2350         stack up to 0x80000.
2351         * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise.
2352
2353 Tue Jan 21 12:11:10 1997  Doug Evans  <dje@seba.cygnus.com>
2354
2355         * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Use PROVIDE
2356         to define `_stack'.
2357
2358 Thu Jan 16 17:07:52 1997  Ian Lance Taylor  <ian@cygnus.com>
2359
2360         * ld.h (args_type): Rename auxiliary_filter_shlib to
2361         auxiliary_filters, and make it char **.
2362         * lexsup.c (parse_args): Handle -f by setting up an array.
2363         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use
2364         new name of auxiliary_filters.
2365
2366         * ld.texinfo (Options): Improve documentation of --filter and
2367         --auxiliary.
2368
2369 Tue Jan 14 15:44:28 1997  Ian Lance Taylor  <ian@cygnus.com>
2370
2371         * ld.texinfo (Options): Clarify that the normal usage is -T.
2372         (Commands): Likewise.
2373
2374 Thu Jan  9 11:26:27 1997  Ian Lance Taylor  <ian@cygnus.com>
2375
2376         * scripttempl/armcoff.sc: Correct mask used for .data address.
2377
2378 Wed Jan  8 15:14:59 1997  Geoffrey Noer  <noer@cygnus.com>
2379
2380         * emultempl/pe.em: make default executable a.exe instead of
2381         a.out
2382
2383 Fri Jan  3 17:33:34 1997  Richard Henderson  <rth@tamu.edu>
2384
2385         * scripttempl/elf.sc: Move .got closer to .sdata and .sbss by
2386         shifting .plt back.  Rumour has it that the NetBSD ld.so depends
2387         on .dynamic being after .got, so we leave that.
2388
2389 Fri Jan  3 14:04:40 1997  Ian Lance Taylor  <ian@cygnus.com>
2390
2391         * Makefile.in (clean): Don't remove configdoc.texi.
2392         (maintainer-clean): Do remove configdoc.texi.
2393
2394         * ld.texinfo (Operators): Remove '@' from @smallexmple in comment
2395         to avoid confusing texi2roff.
2396
2397 Fri Jan  3 11:27:02 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
2398
2399         * scripttempl/v850.sc (.zdata): Add .zcommon section.
2400         (.tdata): Add .tcommon and .tcommon_byte sections.
2401
2402 Thu Jan  2 18:14:32 1997  Ian Lance Taylor  <ian@cygnus.com>
2403
2404         * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets.
2405         * scripttempl/elfmips.sc: Use __start as the entry address for
2406         mips*-*-linux*.
2407
2408 Tue Dec 31 14:48:30 1996  Ian Lance Taylor  <ian@cygnus.com>
2409
2410         * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
2411
2412         * ld.h (args_type): Add filter_shlib and auxiliary_filter_shlib
2413         fields.
2414         * lexsup.c (parse_args): Recognize --auxiliary/-f and
2415         --filter/-F.
2416         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
2417         Pass filter_shlib and auxiliary_filter_shlib to
2418         size_dynamic_sections.
2419         * ld.texinfo, ld.1: Document --filter/-F and --auxiliary/-f.
2420
2421 Mon Dec 30 13:55:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2422
2423         * scripttempl/v850.sc (.tdata) Add .tbss and .tbyte sections.
2424
2425 Wed Dec 18 22:57:35 1996  Stan Shebs  <shebs@andros.cygnus.com>
2426
2427         * mpw-make.sed: Use NewFolderRecursive for installation.
2428
2429 Fri Dec 13 14:08:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2430
2431         * scripttempl/v850.sc: Make sure __{e,g}p start relative to the
2432         {s,t}data sections.  Do not emit any linker generated symbols if
2433         -r.  Use {TEXT,{Z,S,T}DATA}_START_ADDR variables to initialize
2434         where the different sections go.  Change some whitespace.
2435
2436         * emulparams/v850.sh ({TEXT,{Z,S,T}DATA}_START_ADDR): Define
2437         appropriately.  Remove crud not used anymore.
2438
2439 Fri Dec 13 10:19:57 1996  Jeffrey A Law  (law@cygnus.com)
2440
2441         * Makefile.in (emn10200.c): Add dependencies.
2442         * configure.tgt: Handle mn10200.
2443         * emulparms/mn10200.sh: New file.
2444
2445 Thu Dec 12 17:04:55 1996  Ian Lance Taylor  <ian@cygnus.com>
2446
2447         * emultempl/gld960c.em: Include <ctype.h>.
2448         (gld960_set_output_arch): Get the machine type from the -A option
2449         if there is one, rather than always using core.
2450
2451 Sat Dec  7 10:07:51 1996  Jeffrey A Law  (law@cygnus.com)
2452
2453         * emulparms/mn10300.sh: Handle leading underscores.
2454
2455 Thu Dec  5 13:45:58 1996  Ian Lance Taylor  <ian@cygnus.com>
2456
2457         * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Only
2458         set hold_rel if SEC_ALLOC is set.
2459
2460 Tue Dec  3 11:29:20 1996  Ian Lance Taylor  <ian@cygnus.com>
2461
2462         * ldlang.c (section_already_linked): Set the output_offset as well
2463         as the output_section when only reading symbols from a file.
2464
2465 Mon Dec  2 11:43:50 1996  Ian Lance Taylor  <ian@cygnus.com>
2466
2467         * emulparams/*.sh: Make sure that each set of parameters which
2468         uses the elf.sc script sets MACHINE.
2469
2470 Wed Nov 27 03:22:05 1996  Jason Merrill  <jason@yorick.cygnus.com>
2471
2472         * scripttempl/elf{,mips,ppc}.sc: Add the remaining DWARF sections.
2473         * scripttempl/elfd10v.sc: Likewise.
2474         * scripttempl/v850.sc: Likewise.
2475
2476 Tue Nov 26 16:58:33 1996  Ian Lance Taylor  <ian@cygnus.com>
2477
2478         * configure: Rebuild with autoconf 2.12.
2479
2480 Mon Nov 25 12:17:55 1996  Jim Wilson  <wilson@cygnus.com>
2481
2482         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Add case
2483         for bfd_vma to init loop.
2484
2485 Mon Nov 25 09:55:07 1996  Jeffrey A Law  (law@cygnus.com)
2486
2487         * emulparms/mn10300.sh: Remove bogus '_' prefix for
2488         entry symbol and ctor/dtor stuff.
2489
2490 Fri Nov 15 13:00:18 1996  Jeffrey A Law  (law@cygnus.com)
2491
2492         * Makefile.in (emn10300.c): Add dependencies.
2493         * configure.tgt: Handle mn10300.
2494         * emulparms/mn10300.sh: New file.
2495
2496 Tue Nov  5 10:57:50 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2497
2498         * emulparams/d10velf.sh (READONLY_START_ADDR): Changed to 0x2000004.
2499         (EMBEDDED): Define.
2500
2501 Fri Nov  1 10:01:27 1996  Ian Lance Taylor  <ian@cygnus.com>
2502
2503         * ld.texinfo: Add section on reporting bugs.
2504
2505         * scripttempl/m68kcoff.sc: Make sure the etext and __CTOR_LIST__
2506         symbols are correctly aligned.
2507
2508 Thu Oct 31 09:28:59 1996  Jeffrey A Law  (law@cygnus.com)
2509
2510         * scriptempl/v850.sc (zdata): Handle reszdata, romzdata and
2511         romzbss too.
2512
2513 Tue Oct 29 12:33:05 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2514
2515         * emulparams/d10velf.sh: Changes needed for D10V-EVA board.
2516         Set TEXT_START_ADDR to 0x1000000. Set READONLY_START_ADDR to
2517         0x2000000.
2518
2519         * scripttempl/elfd10v.sc:  Fix calculation of .text.  Change
2520         .stack to start at 0x2007ffe.
2521
2522 Mon Oct 28 15:37:00 1996  Doug Evans  <dje@canuck.cygnus.com>
2523
2524         * configure.tgt (sparclet*-*-aout*): Delete, use sparc*-*-aout*.
2525
2526 Wed Oct 23 16:17:22 1996  Jeffrey A Law  (law@cygnus.com)
2527
2528         * scriptempl/v850.sc (zdata): Fix typo "zrodata" -> "rozdata".
2529
2530         * scriptempl/v850.sc (zdata): Make sure this stays
2531         in lo-memory.
2532
2533 Tue Oct 22 11:36:47 1996  Jeffrey A Law  (law@cygnus.com)
2534
2535         * scripttempl/v850.sc (__ep): Put it at the start
2536         of the tda section.
2537
2538         * scriptempl/v850.sc: Move all "normal" sections into
2539         the external memory region (0x100000 - 0x200000).
2540
2541 Mon Oct 21 17:16:59 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
2542
2543         * scripttempl/elfd10v.sc: Clone from elf.sc, move .text to
2544         0x10000, so that is more room for data.
2545
2546         * emulparams/d10velf.sh (TEXT_START_ADDR): Now 0x100000.
2547         (READONLY_START_ADDR): Now 0x0.
2548         (SCRIPT_NAME): Now elfd10v.
2549
2550         * Makefile.in (ed10velf.c): Depend on elfd10v.sc, not elf.sc.
2551
2552 Fri Oct 18 22:12:49 1996  Doug Evans  <dje@canuck.cygnus.com>
2553
2554         * emulparams/m32relf.sh (TEXT_START_ADDR): Change from 0 to 0x100.
2555
2556 Fri Oct 18 15:43:38 1996  Ian Lance Taylor  <ian@cygnus.com>
2557
2558         * Makefile.in (ALL_EMULATIONS): Remove eelf64alpha.o.
2559         (ALL_64_EMULATIONS): New variable.
2560         * configure.in: Accept --enable-64-bit-bfd option.  If it is set
2561         with --enable-targets=all, include ALL_64_EMULATIONS in
2562         EMULATION_OFILES.
2563         * configure: Rebuild.
2564
2565 Fri Oct 18 12:58:35 1996  Jeffrey A Law  (law@cygnus.com)
2566
2567         * scripttempl/v850.sc (__gp, __ep): Define.
2568
2569 Thu Oct 17 18:14:07 1996  Ian Lance Taylor  <ian@cygnus.com>
2570
2571         * ld.texinfo: Try to consistently use a single or a double dash
2572         for each option.
2573
2574 Thu Oct 17 10:17:20 1996  Doug Evans  <dje@canuck.cygnus.com>
2575
2576         * emulparams/m32relf.sh (EMBEDDED): Define.
2577
2578 Thu Oct 17 10:56:49 1996  Jeffrey A Law  (law@cygnus.com)
2579
2580         * scripttempl/v850.sc (.zdata): Add this before .text.
2581         (.sdata): Also include .rosdata as part of the .sdata.
2582         (.tdata): Include this just before .sdata.
2583
2584         * emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf".
2585         * scripttempl/v850.sc: Wrap script with a "cat << EOF".
2586
2587 Wed Oct 16 23:10:01 1996  Jeffrey A Law  (law@cygnus.com)
2588
2589         * scripttempl/v850.sc: New linker script for the V850.
2590         * Makefile.in: Use it.
2591
2592 Thu Oct 10 17:57:00 1996  Ian Lance Taylor  <ian@cygnus.com>
2593
2594         * emulparams/elf32b4300.sh: Define _gp in OTHER_GOT_SYMBOLS, not
2595         OTHER_READWRITE_SECTIONS.
2596         * emulparams/elf32l4300.sh: Likewise.
2597
2598 Wed Oct  9 14:36:18 1996  Ian Lance Taylor  <ian@cygnus.com>
2599
2600         * ld.h (ld_config_type): Add warn_section_align field.
2601         * lexsup.c (OPTION_WARN_SECTION_ALIGN): Define.
2602         (ld_options): Add --warn-section-align.
2603         (parse_args): Handle --warn-section-align.
2604         * ldlang.c (lang_size_sections): If warn_section_align, warn if
2605         the start of a section changes due to alignment.
2606         * ld.texinfo, ld.1: Document --warn-section-align.
2607         * ld.texinfo: Change some single dashes to double dashes.
2608
2609         * emultempl/pe.em (set_pe_subsystem): Record entry symbol for each
2610         subsystem type.  Ifdef out os2 type.  Recognize a version number.
2611
2612 Tue Oct  8 12:07:13 1996  Ian Lance Taylor  <ian@cygnus.com>
2613
2614         * emultempl/pe.em (set_pe_subsystem): When setting the subsystem
2615         to windows, set the entry point.
2616
2617         * Makefile.in (ldlex.c): Don't pass any options to $(LEX).
2618
2619 Mon Oct  7 17:29:05 1996  Ian Lance Taylor  <ian@cygnus.com>
2620
2621         * ld.texinfo (Options): Mention .so extensions for shared
2622         libraries.
2623
2624 Sun Oct  6 22:35:36 1996  Jason Merrill  <jason@yorick.cygnus.com>
2625
2626         * scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections.
2627
2628 Fri Oct  4 18:49:31 1996  Ian Lance Taylor  <ian@cygnus.com>
2629
2630         * scripttempl/m68kcoff.sc: Only set the address of .text if
2631         RELOCATING.
2632
2633 Fri Oct  4 10:59:52 1996  Doug Evans  <dje@canuck.cygnus.com>
2634
2635         * emulparams/sparcaout.sh ({BIG,LITTLE}_OUTPUT_FORMAT): Define.
2636         * scripttempl/aout.sc ({BIG,LITTLE}_OUTPUT_FORMAT): Provide default.
2637         (OUTPUT_FORMAT): Support bi-endian targets.
2638
2639 Thu Oct  3 13:52:03 1996  Ian Lance Taylor  <ian@cygnus.com>
2640
2641         * fnmatch.h, fnmatch.c: Remove (now in libiberty).
2642         * Makefile.in: Rebuild dependencies.
2643         (CFILES): Remove fnmatch.c.
2644         (HFILES): Remove fnmatch.h.
2645         (OFILES): Remove fnmatch.o.
2646
2647 Thu Oct  3 15:41:24 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
2648
2649         * Makefile.in (mostlyclean): Move config.log to distclean.
2650
2651 Wed Oct  2 23:45:25 1996  Geoffrey Noer  <noer@cygnus.com>
2652
2653         * emultmpl/pe.em: increase size of stack reserve to 0x2000000
2654         (necessary in order to compile parse.c in gcc sources under NT)
2655
2656 Wed Oct  2 14:49:10 1996  Ian Lance Taylor  <ian@cygnus.com>
2657
2658         * lexsup.c (ld_options): Fix typo in --rpath-link description.
2659         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
2660         --rpath if a needed library is not found.
2661
2662 Tue Oct  1 16:17:33 1996  Joel Sherrill  <joel@oarcorp.com>
2663
2664         * configure.tgt (mips*-*-rtems*): New target, like mips*-*-elf*.
2665
2666 Tue Oct  1 15:50:34 1996  Ian Lance Taylor  <ian@cygnus.com>
2667
2668         * ld.texinfo (Options): Give more detail on -l option.
2669
2670         * scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that
2671         elf.sc does, so that glibc works better.
2672
2673         * ldver.c (ld_program_version): New variable.
2674         (ldversion): Use it.
2675         * ldver.h (ld_program_version): Declare.
2676         * lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
2677         --version.  Change --version handling to match current GNU
2678         standards.
2679         (help): Print bug report address.
2680
2681 Mon Sep 30 12:14:43 1996  Doug Evans  <dje@canuck.cygnus.com>
2682
2683         * Makefile.in (em32relf.c): Add rule for.
2684         * configure.tgt (m32r-*-*): Recognize.
2685         * emulparams/m32relf.sh: New file.
2686
2687 Thu Sep 26 13:58:47 1996  Stan Shebs  <shebs@andros.cygnus.com>
2688
2689         * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit.
2690         * mpw-config.in: Add mips-*-* case as mips-elf, and use more
2691         wildcards in matching.
2692         * mpw-emipself.c: New file, pregenerated mips elf emulation.
2693
2694 Tue Sep 17 12:18:21 1996  Ian Lance Taylor  <ian@cygnus.com>
2695
2696         * ldint.texinfo: Rewrote.
2697
2698         * configure.tgt: Add cases for MIPS 5000 like MIPS 4300.
2699
2700 Mon Sep 16 17:55:21 1996  Ian Lance Taylor  <ian@cygnus.com>
2701
2702         * scripttempl/armcoff.sc: Only define symbols if RELOCATING.  Fix
2703         syntax error on __end__ line.
2704
2705         * scripttempl/armcoff.sc: For -N or -n, don't align .data.  From
2706         Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
2707
2708 Sun Sep 15 22:09:56 1996  Jeffrey A Law  (law@cygnus.com)
2709
2710         * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS.
2711
2712 Sun Sep 15 10:38:16 1996  Mark Alexander  <marka@cygnus.com>
2713
2714         * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put
2715         stack at top of simulator memory.
2716
2717 Fri Sep 13 15:49:45 1996  Ian Lance Taylor  <ian@cygnus.com>
2718
2719         * ldlex.l (SYMBOLCHARN): Add $, _, and ~.
2720
2721 Wed Sep 11 23:30:42 1996  Ian Lance Taylor  <ian@cygnus.com>
2722
2723         * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al.
2724
2725 Thu Sep  5 15:24:12 1996  Ian Lance Taylor  <ian@cygnus.com>
2726
2727         * ldlang.c (section_already_linked): Accept a lang_input_statement
2728         as the PTR argument.  If the file is symbols only, discard all
2729         input sections.
2730         (ldlang_add_file): Pass entry to bfd_map_over_sections.
2731
2732 Wed Sep  4 15:53:43 1996  Ian Lance Taylor  <ian@cygnus.com>
2733
2734         * configure.tgt (alpha-*-gnu*): New target.  From Fila Kolodny
2735         <fila@ibi.com>.
2736
2737 Tue Sep  3 00:52:54 1996  Jeffrey A Law  (law@cygnus.com)
2738
2739         * emulparms/v850.sh: Set OTHER_RELOCATING_SECTIONS
2740
2741 Sun Sep  1 21:48:58 1996  Jeffrey A Law  (law@cygnus.com)
2742
2743         * emulparms/v850.sh: Set EMBEDDED.
2744
2745 Fri Aug 30 22:30:30 1996  Jeffrey A Law  (law@cygnus.com)
2746
2747         * emulparms/v850.sh: Entry symbol is "_start", tweak
2748         ctor/dtor support.
2749
2750 Fri Aug 30 18:32:31 1996  Ian Lance Taylor  <ian@cygnus.com>
2751
2752         * configure.tgt (sh-*-elf*): New target.
2753         * emulparams/shelf.sh: New file.
2754         * emulparams/shlelf.sh: New file.
2755         * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
2756         (eshelf.c, eshlelf.c): New targets.
2757         * scripttempl/elf.sc: If EMBEDDED is defined, then don't add
2758         SIZEOF_HEADERS to TEXT_START_ADDR.  Expand CTOR_START and CTOR_END
2759         around .ctors, and DTOR_START and DTOR_END around .dtors.  Expand
2760         OTHER_RELOCATING_SECTIONS if RELOCATING.
2761
2762 Thu Aug 29 16:57:46 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2763
2764         * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium
2765         pro.
2766
2767 Mon Aug 26 12:58:11 1996  Ian Lance Taylor  <ian@cygnus.com>
2768
2769         * ldgram.y (section): Add opt_nocrossrefs; pass value to
2770         lang_enter_overlay.
2771         (opt_nocrossrefs): New nonterminal.
2772         * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode.
2773         * ldlang.c (overlay_nocrossrefs): New static variable.
2774         (lang_enter_overlay): Add nocrossrefs parameter.
2775         (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs
2776         is set.  Initialize overlay_nocrossrefs.
2777         * ldlang.h (lang_enter_overlay): Update declaration.
2778         * ld.texinfo (Overlays): Update documentation.
2779
2780         * ldver.c (ldversion): Print GNU ld in the version message.
2781
2782 Thu Aug 22 17:10:40 1996  Ian Lance Taylor  <ian@cygnus.com>
2783
2784         * configure.host: Set HLDENV.
2785         * configure.in: Substitute HLDENV.
2786         * configure: Rebuild.
2787         * Makefile.in (HLDENV): New variable.
2788         ($(LD_PROG)): Use $(HLDENV).
2789
2790 Thu Aug 22 16:29:28 1996  Jeffrey A Law  (law@cygnus.com)
2791
2792         * Makefile.in (ev850.c): New target.
2793         * configure.tgt (v850-*-*): New target.
2794         * emulparams/v850.sh: New file.
2795
2796 Thu Aug 22 11:16:02 1996  Stan Shebs  <shebs@andros.cygnus.com>
2797
2798         * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit.
2799
2800 Wed Aug 21 11:26:37 1996  Ian Lance Taylor  <ian@cygnus.com>
2801
2802         * scripttempl/elf.sc: Put .gnu.linkonce* sections in appropriate
2803         containing sections.
2804
2805 Mon Aug 19 13:01:42 1996  Ian Lance Taylor  <ian@cygnus.com>
2806
2807         * fnmatch.c: Include sysdep.h.
2808
2809 Mon Aug 19 11:28:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2810
2811         * genscripts.sh: Undo 8/16 change.
2812
2813         * emulparams/d10velf.sh (MACHINE): Explicitly set to nothing.
2814
2815 Fri Aug 16 19:18:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2816
2817         * genscripts.sh: Explicitly reset any shell variables set or used
2818         by the various .sc scripts to allow inadvertant use of these
2819         names as normal environment variables by the person running
2820         configure.
2821
2822         * Makefile.in (ed10velf.c): Use tdir_d10v, not tdir_arcelf.
2823
2824 Fri Aug 16 14:15:41 1996  James G. Smith  <jsmith@cygnus.co.uk>
2825
2826         * scripttempl/armcoff.sc (__bss_start__, __bss_end__,
2827         __data_start__, __data_end__): Added to keep in sync. with the
2828         default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
2829
2830 Thu Aug  8 14:24:56 1996  Ian Lance Taylor  <ian@cygnus.com>
2831
2832         * ldcref.c (check_reloc_refs): If info->same, look for any symbol
2833         defined in info->defsec, not just the section symbol.
2834
2835 Wed Aug  7 14:40:48 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
2836
2837         * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
2838         * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
2839         (NEED_DECLARATION_SBRK): New macro.
2840         * configure, config.in: Rebuild.
2841         * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
2842         * ldmain.c (sbrk): Declare if HAVE_SBRK and
2843         NEED_DECLARATION_SBRK.
2844
2845         * ldlang.c (lang_record_phdrs): Cast xmalloc and xrealloc return.
2846
2847 Mon Aug  5 16:26:14 1996  Ian Lance Taylor  <ian@cygnus.com>
2848
2849         * ldlex.l: Recognize OVERLAY.
2850         * ldgram.y: Add section_phdr field to %union.
2851         (section): Handle phdr_opt result.  Add OVERLAY case.
2852         (opt_exp_without_type): New nonterminal.
2853         (phdr_opt): Return list of phdrs.
2854         (overlay_section): New nonterminal.
2855         * ldlang.c: Include <ctype.h>.
2856         (lang_leave_output_section_statement): Add phdrs parameter.
2857         Change all callers.
2858         (lang_section_in_phdr): Remove.
2859         (overlay_vma, overlay_lmn, overlay_max): New static variables.
2860         (struct overlay_list): Define.
2861         (overlay_list): New static variable.
2862         (lang_enter_overlay, lang_enter_overlay_section): New functions.
2863         (lang_leave_overlay_section, lang_leave_overlay): New functions.
2864         * ldlang.h (lang_leave_output_section_statement): Update
2865         declaration for new parameter.
2866         (lang_section_in_phdr): Don't declare.
2867         (lang_enter_overlay, lang_enter_overlay_section): Declare.
2868         (lang_leave_overlay_section, lang_leave_overlay): Declare.
2869         * ld.texinfo (Overlays): New node under SECTIONS, documenting
2870         overlays.
2871
2872         * ldlex.l: Recognize MAX and MIN.
2873         * ldgram.y (MAX, MIN): New terminals.
2874         (exp): Recognize MAX and MIN.
2875         * ldexp.c (fold_binary): Handle MAX and MIN.
2876         * ld.texinfo (Arithmetic Functions): Document MAX and MIN.
2877
2878         * ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
2879         index entries.
2880
2881         * ldgram.y (SIZEOF, ADDR): Do not specify type.
2882
2883         * ldcref.c (check_nocrossref): Skip symbols with no output
2884         sections.
2885
2886 Fri Aug  2 14:57:49 1996  Ian Lance Taylor  <ian@cygnus.com>
2887
2888         * ldgram.y (LOADADDR): New terminal.
2889         (exp): Handle LOADADDR.
2890         * ldlex.l: Recognize LOADADDR.
2891         * ldexp.c (exp_print_token): Add LOADADDR.
2892         (fold_name): Implement LOADADDR.
2893         * ldlang.c (exp_init_os): Treat LOADADDR like ADDR.
2894         * ld.texinfo (Arithmetic Functions): Document LOADADDR.
2895
2896 Thu Aug  1 12:52:19 1996  Ian Lance Taylor  <ian@cygnus.com>
2897
2898         * ld.h (check_nocrossrefs): Declare.
2899         * ldlang.h (struct lang_nocrossref): Define.
2900         (struct lang_nocrossrefs): Define.
2901         (nocrossref_list): Declare.
2902         (lang_add_nocrossref): Declare.
2903         * ldlex.l: Recognize NOCROSSREFS keyword.
2904         * ldgram.y (%union): Add nocrossref field.
2905         (NOCROSSREFS): New terminal.
2906         (ifile_p1): Recognize NOCROSSREFS.
2907         (nocrossref_list): New nonterminal.
2908         * ldlang.c (nocrossref_list): Define.
2909         (lang_add_nocrossref): New function.
2910         * ldmain.c (main): If nocrossref_list is not NULL, call
2911         check_nocrossrefs.
2912         (warning_callback): Free symbols if there is no place to store
2913         them.
2914         (notice): Call add_cref if nocrossref_list is not NULL.
2915         * ldcref.c: Include "ldexp.h" and "ldlang.h".
2916         (check_nocrossrefs): New function.
2917         (check_nocrossref): New static function.
2918         (struct check_refs_info): Define.
2919         (check_refs, check_reloc_refs): New static functions.
2920         * Makefile.in: Rebuild dependencies.
2921         * ld.texinfo (Option Commands): Document NOCROSSREFS.
2922
2923         * ld.texinfo (Section Placement): Improve the wording of the
2924         wildcard documentation.  Mention that wildcards are only searched
2925         for on the command line, not in the file system.
2926
2927         * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move
2928         definition of lib_path inside condition where it is used.
2929
2930 Wed Jul 31 13:17:10 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2931
2932         * emulparams/d10velf.sh: Now works with elf.sc.
2933
2934 Wed Jul 31 11:52:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2935
2936         * emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla.
2937
2938 Tue Jul 30 14:46:42 1996  Ian Lance Taylor  <ian@cygnus.com>
2939
2940         * ldlang.c (lang_size_sections): Add the section VMA to the result
2941         value when computing the address of a section.
2942
2943         * ld.h (args_type): Add cref field.
2944         * lexsup.c (parse_args): Set command_line.cref.
2945         * ldmain.c (main): Check command_line.cref rather than
2946         link_info.notice_all.
2947         (notice): Likewise.
2948
2949         * ldcref.c (output_one_cref): Don't crash if a symbol is defined
2950         in a section without an owner.
2951
2952 Mon Jul 29 17:23:33 1996  Ian Lance Taylor  <ian@cygnus.com>
2953
2954         * fnmatch.h, fnmatch.c: New files.
2955         * ldlex.l: Remove unused definition of FILENAME.  Add definition
2956         of WILDCHAR.  In SCRIPT mode, accept any sequence of WILDCHAR as a
2957         NAME.
2958         * ldgram.y (file_NAME_list): Accept '*' and '?' specially.
2959         (input_section_spec): Accept '?' specially.
2960         (statement): Change exp to mustbe_exp in length and FILL cases.
2961         (section): Call ldlex_script before section statements, and call
2962         ldlex_popstate after them.
2963         * ldlang.c: Include "fnmatch.h".
2964         (wildcardp): New static function.
2965         (wild_section): Permit the section name to be a wildcard.
2966         (wild_file): New static function, broken out of wild.
2967         (wild): Call wild_file.  Permit the file name to be a wildcard.
2968         (open_input_bfds): Don't call lookup_name for a wildcard pattern.
2969         * Makefile.in: Rebuild dependencies.
2970         (CFILES): Add fnmatch.c.
2971         (HFILES): Add fnmatch.h.
2972         (OFILES): Add fnmatch.o.
2973         * ld.texinfo: Document that file and section names can now be
2974         wildcard patterns.
2975
2976         * ldlang.c (lang_place_orphans): Correct condition: place a common
2977         section if not relocateable or if common definitions are forced.
2978
2979 Wed Jul 24 12:16:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2980
2981         * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf.
2982
2983 Wed Jul 24 13:38:22 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
2984
2985         * configure.tgt (d10v-*-*): Don't require the -elf, allow plain d10v.
2986
2987 Tue Jul 23 10:36:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
2988
2989         * Makefile.in (ed10velf.c): New target.
2990         * configure.tgt (d10v-*-elf*): New target.
2991         * emulparams/d10velf.sh: New file.
2992
2993 Thu Jul 18 16:25:39 1996  Ian Lance Taylor  <ian@cygnus.com>
2994
2995         * configure.tgt (sparc*-*-sysv4*): New target.  From Andrew Gierth
2996         <ANDREWG@microlise.co.uk>.
2997
2998         * configure.host: Change irix5 to irix[56]*.
2999         * configure.tgt: Likewise.
3000
3001 Wed Jul 17 10:52:46 1996  Kim Knuttila  <krk@cygnus.com>
3002
3003         * emultempl/pe.em (sort_sections): Pay attention to return code.
3004
3005         * ldmisc.c (demangle): Remove all prefix '.'s from a name.
3006
3007 Mon Jul 15 11:49:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3008
3009         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
3010         the value of __start_SECNAME to the alignment required by the
3011         section to be placed.
3012
3013 Tue Jul  9 12:09:02 1996  Ian Lance Taylor  <ian@cygnus.com>
3014
3015         * configure.tgt (mips*el-*-elf*): Use elf32elmip.
3016         (mips*-*-elf*): Use elf32ebmip.
3017         * emulparams/elf32bmip.sh (EMBEDDED): Don't define.
3018         * emulparams/elf32lmip.sh (EMBEDDED): Don't define.
3019         * emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with
3020         EMBEDDED defined.
3021         * emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with
3022         EMBEDDED defined.
3023         * emulparams/elf32b4300.sh (EMBEDDED): Define.
3024         * emulparams/elf32l4300.sh (EMBEDDED): Define.
3025         * Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o.
3026         (eelf32ebmip.c, eelf32elmip.c): New targets.
3027
3028 Thu Jul  4 12:01:03 1996  Ian Lance Taylor  <ian@cygnus.com>
3029
3030         * ldver.c (ldversion): Set version to cygnus-2.7.1.
3031
3032         * Released binutils 2.7.
3033
3034         * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid
3035         System V file name limitations.
3036         * configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
3037         pc532macha rather than pc532machaout.
3038         * Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
3039         epc532macha.o.
3040         (epc532macha.c): Rename target from epc532machaout.c.
3041
3042 Wed Jul  3 11:40:10 1996  Ian Lance Taylor  <ian@cygnus.com>
3043
3044         * ldlang.c (print_padding_statement): Use %u, not %x, to print
3045         fill value.
3046
3047 Sun Jun 30 11:16:43 1996  Stan Shebs  <shebs@andros.cygnus.com>
3048
3049         * mpw-eppcmac.c: Update to reflect May 23 change to aix.em.
3050
3051 Thu Jun 27 14:03:42 1996  Ian Lance Taylor  <ian@cygnus.com>
3052
3053         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Put the .sa
3054         file just before the .so file, rather than just after.
3055
3056         * configure.host: Use -print-file-name=FILE rather than piping
3057         -print-libgcc-file-name through sed.
3058         (i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
3059         crtend.o files, in case gcc doesn't use them.
3060         * Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
3061
3062 Wed Jun 26 15:57:21 1996  Ian Lance Taylor  <ian@cygnus.com>
3063
3064         * configure.tgt (mips*-dec-osf*): New target.
3065
3066 Tue Jun 25 22:15:29 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
3067
3068         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
3069         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
3070         (docdir): Removed.
3071         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
3072         (AC_PROG_INSTALL): Added.
3073         * configure: Rebuilt.
3074
3075 Mon Jun 24 18:48:16 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3076
3077         * scripttempl/elfppc.sc (_GLOBAL_OFFSET_TABLE_): Don't do a
3078         PROVIDE of _GLOBAL_OFFSET_TABLE_, since it needs to be at a
3079         non-fixed location.
3080
3081 Mon Jun 24 17:55:31 1996  Jouke Numan  <jnuman@bazis.nl>
3082
3083         * ldlang.h (enum section_type): Define.
3084         (lang_output_section_statement_type): Remove loadable field.  Add
3085         sectype field.
3086         (lang_enter_output_section_statement): Change flags parameter in
3087         prototype to sectype.
3088         * ldgram.y (typebits): Remove.
3089         (sectype): New static variable.
3090         (opt_at): Use sectype rather than typebits.
3091         (type): Set sectype rather than typebits.
3092         (atype): Likewise.
3093         * ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
3094         EXPRESSION mode.
3095         * ldlang.c (lang_output_section_statement_lookup): Set sectype
3096         field rather than loadable field.
3097         (wild_doit): Check sectype rather than loadable.
3098         (lang_record_phdrs): Likewise.
3099         (lang_enter_output_section_statement): Rename flags parameter to
3100         sectype.  Set sectype field rather than loadable field.  Set flags
3101         field based on sectype.
3102
3103 Mon Jun 24 12:00:32 1996  Ian Lance Taylor  <ian@cygnus.com>
3104
3105         * scripttempl/elf.sc: Force .stab* and .comment sections to start
3106         at 0.
3107
3108         * configure.in: On alpha*-*-osf*, link against libbfd.a if not
3109         using shared libraries.
3110         * configure: Rebuild with autoconf 2.10.
3111
3112 Fri Jun 21 17:40:56 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
3113
3114         * configure.tgt: Add support for *-*-rtems* configurations.
3115
3116 Fri Jun 21 13:05:51 1996  Richard Henderson  <rth@tamu.edu>
3117
3118         * configure.tgt (alpha-*-linuxecoff*): New target.
3119         (alpha-*-linux*): Use elf64alpha.
3120         * emulparams/elf64alpha.sh: New file.
3121         * emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
3122         ${ELFSIZE} rather than 32 when calling BFD routines.
3123         (hold_rodata): New static variable.
3124         (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
3125         readonly section that is not code.
3126         (gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
3127         a .rel section unless its bfd_section field is not NULL.
3128         * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
3129         (eelf64alpha.c): New target.
3130
3131 Fri Jun 21 12:45:46 1996  Ian Lance Taylor  <ian@cygnus.com>
3132
3133         * ldmisc.c (vfinfo): Correct handling of 0 in %W case.
3134
3135 Thu Jun 20 13:55:28 1996  Ian Lance Taylor  <ian@cygnus.com>
3136
3137         Add enough support to understand the gcc svr3.ifile script:
3138         * ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context.  Add
3139         BIND keyword.
3140         * ldgram.y: Add BIND token.
3141         (section): Recognize GROUP.
3142         (opt_ext_with_type): Recognize a couple of cases of BIND.
3143         * ldlang.c (init_os): Don't do anything if section is already
3144         initialized.  Call exp_init_os on addr_tree field.
3145         (exp_init_os): New static function.
3146         (map_input_to_output_sections): Call exp_init_os on assignment
3147         expression.
3148         (lang_place_orphans): Check for common sections by name COMMON
3149         rather than by common_section field.  Don't warn about absence of
3150         [COMMON] command.
3151
3152         * ldlang.h (lang_input_statement_type): Remove useless fields
3153         common_section, common_output_section, and complained, as well as
3154         all references to them.
3155
3156         * ldexp.c: Reindent a lot of code.
3157         (exp_fold_tree): Call FAIL rather than einfo in default case.
3158
3159 Wed Jun 19 11:40:14 1996  Ian Lance Taylor  <ian@cygnus.com>
3160
3161         * configure.host (m88*-*-dgux*): Quote HOSTING_CRT0.  From
3162         <randall.hron@medaphis.com>.
3163
3164 Tue Jun 18 15:53:09 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
3165
3166         * scripttempl/h8300s.sc: New file for H8/S.
3167         * emulpararms/h8300s.sh: New file for H8/S.
3168         * Makefile.in (ALL_EMULATIONS): Add H8/S.
3169         (e_h8300s.c): Add dependencies.
3170         * configure.tgt: Add H8/S to targ_extra_emuls.
3171
3172 Tue Jun 18 17:55:39 1996  Ian Lance Taylor  <ian@cygnus.com>
3173
3174         * configure.tgt (i[345]86*-*-isc*): New target.  From
3175         <uddeborg@carmen.se>.
3176
3177 Wed Jun 12 12:46:21 1996  Ian Lance Taylor  <ian@cygnus.com>
3178
3179         * lexsup.c: Include "libiberty.h".
3180         (parse_args): Copy the -Y argument into memory.
3181         (set_default_dirlist): Don't put the ':' back into the directory
3182         list.
3183
3184 Fri Jun  7 11:27:42 1996  Ian Lance Taylor  <ian@cygnus.com>
3185
3186         * emultempl/sunos.em: Include libiberty.h.
3187         (gld${EMULATION_NAME}_set_symbols): New static function to add
3188         LD_LIBRARY_PATH to the list of search directories.
3189         (ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
3190
3191 Thu Jun  6 11:50:31 1996  Ian Lance Taylor  <ian@cygnus.com>
3192
3193         * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
3194         rather than . when computing _gp value.  From Per Fogelstrom.
3195         * emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
3196
3197         * ldmain.c (main): Don't close and unlink the file on error, since
3198         remove_output will do it anyhow.
3199         * ldlang.c (open_output): Set boolean variable to true, not 1.
3200
3201 Wed Jun  5 18:34:14 1996  James G. Smith  <jsmith@cygnus.co.uk>
3202
3203         * emulparams/{elf32b4300.sh,elf32l4300.sh} (SCRIPT_NAME): Use
3204         elfmips instead of elf.
3205
3206 Tue Jun  4 18:43:07 1996  Ian Lance Taylor  <ian@cygnus.com>
3207
3208         * ldcref.c: New file.
3209         * ld.h (add_cref, output_cref): Declare.
3210         * ldmain.c (main): Initialize notice_all field.  If it is set at
3211         end of link, call output_cref.
3212         (notice): Rename from notice_ysym.  Check notice_all.
3213         * ldmisc.c (finfo): Make globally visible.
3214         * ldmisc.h (finfo): Declare.
3215         * lexsup.c (OPTION_CREF): Define.
3216         (ld_options): Add "cref".
3217         (parse_args): Handle OPTION_CREF.
3218         * Makefile.in: Rebuild dependencies.
3219         (CFILES): Add ldcref.c.
3220         (OFILES): Add ldcref.o.
3221         * ld.texinfo, ld.1: Document --cref.
3222
3223 Tue Jun  4 12:12:25 1996  Tom Tromey  <tromey@csk3.cygnus.com>
3224
3225         * Makefile.in (install): Make $(tooldir) and $(tooldir)/bin.
3226
3227 Fri May 31 12:40:55 1996  Ian Lance Taylor  <ian@cygnus.com>
3228
3229         * emultempl/pe.em (sort_sections): Don't assume that a
3230         wild_statement has a section name.
3231
3232 Wed May 29 13:13:35 1996  Ian Lance Taylor  <ian@cygnus.com>
3233
3234         * scripttempl/elfmips.sc: Quote test -z argument.
3235
3236         * ld.texinfo: Clarify the CONSTRUCTORS command.
3237
3238 Thu May 23 16:07:44 1996  Ian Lance Taylor  <ian@cygnus.com>
3239
3240         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
3241         file, not impfile.
3242
3243 Wed May 22 11:31:30 1996  Doug Evans  <dje@seba.cygnus.com>
3244
3245         * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
3246         if final link.
3247         * emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
3248         (sort_by_section_name, sort_sections_1): New functions.
3249         (sort_sections): Only sort by file name sections in .idata.
3250         Add "Grouped Sections" support.
3251         (gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
3252         Sections.
3253         (gld${EMULATION_NAME}_place_section): Delete.
3254         * scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
3255         (.CRT,.rsrc): Rewrite to use Grouped Section support.
3256
3257 Tue May 21 14:31:48 1996  Stan Shebs  <shebs@andros.cygnus.com>
3258
3259         * mpw-eppcmac.c: Update to reflect changes to aix.em.
3260
3261 Sun May 19 16:59:44 1996  Doug Evans  <dje@seba.cygnus.com>
3262
3263         * ldlang.c (dprint_statement): Stop printing at end of list.
3264
3265 Sat May 18 13:12:05 1996  Steve Chamberlain  <sac@slash.cygnus.com>
3266
3267         Support for --force-exe-suffix
3268         * ld.h (args_type): Add force_exe_suffix.
3269         * ld.texinfo: Add documentation.
3270         * ldmain.c (main):  Add support for option.
3271         * lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
3272         (ld_options, parse_args):  Add support for option.
3273
3274 Wed May 15 12:50:25 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
3275
3276         * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call.
3277
3278 Fri May 10 16:28:44 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3279
3280         * scripttempl/elfppc.sc (__stack): Make __stack 0 if it was
3281         referenced but not defined.
3282
3283 Thu May  9 08:52:23 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
3284
3285         * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
3286         Set a new variable to signify if the final target is an embedded
3287         system.
3288         * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
3289         .text for an embedded system.
3290
3291 Tue May  7 10:56:11 1996  Doug Evans  <dje@canuck.cygnus.com>
3292
3293         * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
3294         (gld${EMULATION_NAME}_place_section): New function.
3295         (hold_{section,use,text,rdata,data}): New static locals.
3296         (ld_${EMULATION_NAME}_emulation): Update orphan field.
3297         * scripttempl/pe.sc: Whitespace cleanup.  Semicolon usage cleanup.
3298         (INIT,FINI): Delete, unused.
3299         (.text): Document orphan .text.foo sections.
3300         (.rdata): Document orphan .rdata.foo sections.
3301         (.data): Document orphan .data.foo sections.
3302
3303 Tue May  7 11:35:46 1996  Jeffrey A Law  (law@cygnus.com)
3304
3305         * scripttempl/h8300.sc: Place ".tiny" sections right
3306         after ".data" sections.
3307         * scripttempl/h8300h.sc: Place ".tiny" sections into
3308         the "tiny" memory region, 0xff8000 through 0xffff00.
3309
3310         * scripttempl/h8300.sc: Set the entry point to the value of
3311         "_start" rather than the start of the text segment.
3312         * scripttempl/h8300h.sc: Likewise.
3313
3314         * scripttempl/h8300.sc: Place .rodata sections before .text
3315         sections in main ram.
3316         * scripttempl/h8300h.sc: Likewise.
3317
3318 Mon May  6 23:32:30 1996  Jeffrey A Law  (law@cygnus.com)
3319
3320         * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
3321         8-bit region and 8-bit sections.
3322
3323 Wed May  1 17:50:06 1996  Doug Evans  <dje@canuck.cygnus.com>
3324
3325         * ldlang.c (section_already_linked): Fix typos.
3326
3327 Mon Apr 29 20:31:06 1996  Doug Evans  <dje@canuck.cygnus.com>
3328
3329         * scripttempl/pe.sc (.endjunk): Define __end__.
3330
3331 Mon Apr 29 17:05:13 1996  Ian Lance Taylor  <ian@cygnus.com>
3332
3333         * ldlang.c (longest_section_name): Remove.
3334         (SECTION_NAME_MAP_LENGTH): Define.
3335         (print_size, print_alignment, print_fill, print_section): Remove.
3336         (print_flags): Remove.
3337         (lang_map): Rewrite.
3338         (print_output_section_statement): Rewrite.
3339         (print_assignment): Rewrite.
3340         (print_one_symbol): Rewrite.
3341         (print_input_section): Rewrite.
3342         (print_fill_statement): Rewrite.
3343         (print_data_statement): Rewrite.
3344         (print_address_statement): New static function.
3345         (print_reloc_statement): Rewrite.
3346         (print_padding_statement): Rewrite.
3347         (print_wild_statement): Rewrite.
3348         (print_statement_list): Clean up.
3349         (print_statement): Clean up.  Some minor output changes.
3350         (print_statements): Clean up.
3351         (load_symbols): Put another - before -whole-archive.
3352         * ldexp.c (exp_print_tree): Change etree_value and etree_rel to
3353         print 0x and to omit leading zeroes.  For etree_rel, use %B to
3354         print the BFD.  For etree_assign, remove the space after the
3355         destination name.
3356         * ldwrite.c: Include "libiberty.h".
3357         (clone_section): Call xstrdup, not strdup.
3358         (ldwrite): Don't print any map information.
3359         (print_symbol_table, print_file_stuff, print_symbol): Remove.
3360         * ldmain.c (main): Call lang_map when appropriate.
3361         * ldmisc.c (vfinfo): Add support for %W.
3362         (print_address): Remove.
3363         * ldmisc.h (print_address): Don't declare.
3364         * Makefile.in: Rebuild dependencies.
3365
3366 Mon Apr 29 10:29:07 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3367
3368         * configure.host (m68*-*-linux*): Add -dynamic-linker to
3369         HOSTING_CRT0.  Search -lgcc both before and after -lc in
3370         HOSTING_LIBS.  Look for crt{begin,end}.o in the compiler directory
3371         at first.
3372         (i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
3373         directory at first.
3374
3375 Fri Apr 26 14:42:27 1996  Ian Lance Taylor  <ian@cygnus.com>
3376
3377         * ldmisc.h (demangle): Declare.
3378         * ldmisc.c: Include "libiberty.h".  Include demangle.h with "",
3379         not <>.
3380         (demangle): Make non-static.  Remove remove_underscore paramter.
3381         Always return an allocated string.
3382         (vfinfo): Free result of demangle.  Add case 'G'.  Use %T to print
3383         functionname, rather than calling demangle.  Print a colon between
3384         the BFD(section+offset) and the line number.
3385         * ldmain.c (add_archive_element): Improve format of archive
3386         information in map file.
3387         (constructor_callback): Don't print anything to the map file.
3388         * ldlang.c (lang_one_common): Improve format of common symbol
3389         information in map file.
3390         * ldctor.c (ldctor_build_sets): If producing a map file, print set
3391         information.
3392         * ldwrite.c (print_symbol_table): Print a newline before the
3393         header in the map file.
3394         * Makefile.in: Rebuild dependencies.
3395
3396         * ldmisc.c (vfinfo): Reindent.
3397
3398 Mon Apr 22 12:07:32 1996  Ian Lance Taylor  <ian@cygnus.com>
3399
3400         * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
3401         don't clobber it when not relaxing.
3402
3403         * ld.h (ld_config_type): Remove traditional_format field.
3404         * ldmain.c (main): Use link_info.traditional_format rather than
3405         config.traditional_format.
3406         * ldlang.c (ldlang_open_output): Likewise.
3407         * lexsup.c (parse_args): Likewise.
3408         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
3409         * mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
3410
3411         * ldlang.c (wild_doit): Discard debugging sections if we are
3412         stripping debugging information.
3413
3414         * emulparams/z8002.sh (ARCH): Set to z8002, not z8k.
3415
3416 Tue Apr 16 16:38:32 1996  Ian Lance Taylor  <ian@cygnus.com>
3417
3418         * ldexp.c (fold_binary): Correct handling of subtraction with
3419         absolute values.
3420         (fold_name): Permit symbols in lang_allocating_phase_enum.
3421
3422         * scripttempl/aout.sc: Only PROVIDE __stack when RELOCATING.  Undo
3423         accidental changes in last patch.
3424
3425 Tue Apr 16 10:25:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3426
3427         * configure.tgt (powerpc*-*-{sysv,linux}): Add aliases.
3428         (powerpcle*-*-{sysv,solaris}): Ditto.
3429
3430 Mon Apr 15 14:50:56 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
3431
3432         * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
3433         in m68k/crt0.S without things blowing up.
3434
3435 Fri Apr 12 16:40:56 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
3436
3437         * scripttempl/m68kcoff.sc: Remove default address for .data so
3438         .text, .data, and .bss are all sequential.
3439
3440 Thu Apr 11 12:05:35 1996  Ian Lance Taylor  <ian@cygnus.com>
3441
3442         * scripttempl/m68kcoff.sc: Remove regions and simplify.
3443
3444 Wed Apr 10 14:41:53 1996  Jeffrey A Law  (law@cygnus.com)
3445
3446         * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
3447         bytes of the address space.  Put data from the ".eight" sections
3448         into the 8-bit area.
3449         * scripttempl/h8300h.sc: Likewise.
3450
3451 Tue Apr  9 14:10:42 1996  Doug Evans  <dje@canuck.cygnus.com>
3452
3453         * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
3454         Pass $ARCH to ldfile_set_output_arch instead of setting
3455         ldfile_output_architecture directly.
3456
3457 Tue Apr  9 14:22:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3458
3459         * scripttempl/elfppc.sc (.init,.fini): Put .init, .fini section
3460         next to .text.  Put _etext after .text, .init, .fini, and
3461         .rodata{,2} sections.
3462
3463 Tue Apr  9 12:18:57 1996  Ian Lance Taylor  <ian@cygnus.com>
3464
3465         * ld.texinfo: Rearrange option documentation.
3466
3467         * lexsup.c (ld_options): New static array.
3468         (parse_args): Build shortopts and longopts from ld_options array.
3469         (help): New static function.
3470         * ldver.h (help): Don't declare.
3471         * ldver.c (ldversion): Reindent.
3472         (help): Remove.
3473
3474         * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic.
3475
3476 Mon Apr  8 11:56:23 1996  Ian Lance Taylor  <ian@cygnus.com>
3477
3478         * emultempl/elf32.em: When checking for a native emulation, check
3479         that the current emulation is the default emulation.
3480         * emultempl/sunos.em: Likewise.
3481
3482         * configure.in: Permit --enable-shared to specify a list of
3483         directories.
3484         * configure: Rebuild.
3485
3486         * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
3487         for HP/UX compatibility.
3488
3489 Fri Apr  5 14:30:14 1996  Ian Lance Taylor  <ian@cygnus.com>
3490
3491         * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
3492         static function, if ${host} = ${target}.
3493         (gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
3494         needed shared library if ${host} = $[target}.
3495
3496         * configure.host (i[345]86-*-linux*): Add -dynamic-linker to
3497         HOSTING_CRT0.  Search -lgcc both before and after -lc in
3498         HOSTING_LIBS.
3499
3500         * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
3501         Polstra <jdp@polstra.com>.
3502
3503 Fri Apr  5 18:11:25 1996  James G. Smith  <jsmith@cygnus.co.uk>
3504
3505         * emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
3506         architecture number.
3507         * scripttempl/elf.sc: Use $MACHINE definition if present.
3508         * configure.tgt (targ_extra_emuls): Force 4100 build to use same
3509         template as 4300.
3510
3511 Mon Apr  1 17:35:40 1996  Ian Lance Taylor  <ian@cygnus.com>
3512
3513         * ldlang.c (lang_size_sections): Change region check to handle
3514         regions which end at the highest possible address correctly.
3515         From Roland Weber <roweber@ira.uka.de>.
3516
3517         * ldlang.c (section_already_linked): New static function.
3518         (wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
3519         relocateable link.  Don't worry about section being NULL, since it
3520         never should be.  Don't call init_os unless the section is going
3521         to be added.
3522         (ldlang_add_file): Call section_already_linked for each section.
3523         * ldmain.c (multiple_definition): Don't warn about multiple
3524         definitions in sections which are being discarded.
3525
3526 Sun Mar 31 00:30:47 1996  steve chamberlain  <sac@slash.cygnus.com>
3527
3528         * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
3529         * emultempl/pe.em (init): Remove special case PPC code.
3530
3531 Fri Mar 29 00:01:29 1996  Jeffrey A Law  (law@cygnus.com)
3532
3533         * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
3534         so as not to overwrite the magic syscall entry at 0xc4.
3535         * scripttempl/h8300h.sc: Likewise.
3536
3537 Thu Mar 28 11:05:47 1996  Doug Evans  <dje@canuck.cygnus.com>
3538
3539         * configure.tgt (sparc64-*-solaris2*): Delete.
3540         Stick with sparc-*-solaris2*.
3541
3542 Wed Mar 27 12:33:24 1996  Ian Lance Taylor  <ian@cygnus.com>
3543
3544         * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
3545         * ldlang.c (init_os): Fail on an attempt to initialize any section
3546         named DISCARD_SECTION_NAME.
3547         (wild_doit): Discard input sections assigned to an output section
3548         named DISCARD_SECTION_NAME.
3549         * ld.texinfo: Document use of /DISCARD/.
3550
3551         * ldlang.c: Fix some indentation and comments.
3552
3553 Tue Mar 26 18:14:49 1996  Ian Lance Taylor  <ian@cygnus.com>
3554
3555         * ldmain.c (main): Call bfd_set_error_program_name.
3556
3557 Thu Mar 21 13:17:34 1996  Ian Lance Taylor  <ian@cygnus.com>
3558
3559         * ld.texinfo: Fix a couple of indexing entries.  Mention that
3560         --verbose displays builtin linker scripts.
3561
3562         * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
3563         and the local symbol name does not match the filename, print the
3564         filename as well.
3565
3566         Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
3567         * lexsup.c (parse_args): -Bshareable is a synonym for -shared.
3568         * emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
3569         as TEXT_START_ADDR.
3570
3571 Wed Mar 20 18:18:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3572
3573         * ld.texinfo: Fix typos.  Use @pxref only inside parentheses.
3574
3575 Wed Mar 20 16:56:15 1996  Ian Lance Taylor  <ian@cygnus.com>
3576
3577         * ldmain.c (add_wrap): New function.
3578         * ldmain.h (add_wrap): Declare.
3579         * lexsup.c (parse_args): Call add_wrap.
3580
3581 Tue Mar 19 16:44:20 1996  Doug Evans  <dje@canuck.cygnus.com>
3582
3583         * configure.host (sparc*-*-solaris2* host): Accept any sparc variant.
3584
3585 Wed Mar 13 17:47:31 1996  Jeffrey A Law  (law@cygnus.com)
3586
3587         * scripttempl/h8300.sc: Change name of page zero memory
3588         from "null" to "vectors".  Create an output section for
3589         vectors.  Add comments on how to explicitly place items
3590         in the vector table.
3591         * scripttempl/h8300h.sc: Likewise.
3592
3593 Wed Mar 13 12:40:18 1996  Ian Lance Taylor  <ian@cygnus.com>
3594
3595         * emultempl/lnk960.em (machine_table): Add jx and hx.
3596
3597         * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
3598         support it.
3599
3600 Tue Mar 12 12:43:59 1996  David Mosberger-Tang  <davidm@koala.azstarnet.com>
3601
3602         * ld.h (ld_config_type): Add warn_multiple_gp field.
3603         * lexsup.c (parse_args): Handle --warn-multiple-gp.
3604         * ldmain.c (warning_callback): Suppress multiple gp values warning
3605         if --warn_multiple_gp was not used.
3606         * ld.texinfo, ld.1: Document --warn-multiple-gp.
3607
3608 Tue Mar 12 12:02:21 1996  Ian Lance Taylor  <ian@cygnus.com>
3609
3610         * lexsup.c (parse_args): Handle --wrap.
3611         * ldmain.c (main): Initialize link_info.wrap_hash.
3612         * ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
3613         and NAME cases.
3614         * ld.texinfo, ld.1: Document --wrap.
3615
3616         * configure: Rebuild with autoconf 2.8.
3617
3618         Don't do SunOS style dynamic linking for sparc-aout:
3619         * configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
3620         (sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
3621         (sparc*-wrs-vxworks*): Likewise.
3622         * emulparams/sparcaout.sh: New file.
3623         * Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
3624         (esparcaout.c): New target.
3625
3626 Wed Mar  6 16:06:52 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
3627
3628         * scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
3629         in a different manner to work around differences in shell variable
3630         expansion.
3631
3632 Wed Mar  6 18:08:18 1996  Ian Lance Taylor  <ian@cygnus.com>
3633
3634         * ldemul.h (ldemul_unrecognized_file): Declare.
3635         (ldemulation_xfer_type): Add unrecognized_file field.
3636         * ldemul.c (ldemul_unrecognized_file): New function.
3637         * ldlang.c (load_symbols): If a file can not be recognized, call
3638         ldemul_unrecognized_file before trying it as a linker script.
3639         * aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
3640         function.
3641         (gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
3642         (ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
3643
3644 Mon Mar  4 14:11:17 1996  Ian Lance Taylor  <ian@cygnus.com>
3645
3646         * ldlang.c (wild): Handle foo.a(.text) by mapping each included
3647         member of foo.a separately.  From Jouke Numan <jnuman@bazis.nl>.
3648
3649 Fri Mar  1 10:24:59 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3650
3651         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
3652         Search trinary.cond rather than searching trinary.lhs twice.
3653
3654 Tue Feb 27 15:08:43 1996  Stan Shebs  <shebs@andros.cygnus.com>
3655
3656         * mpw-make.sed: Edit out shared library support.
3657         (@TDIRS@): Edit out, can't use genscripts.
3658
3659 Tue Feb 27 15:09:21 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3660
3661         * configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
3662         * emulparams/m68klinux.sh: New file.
3663         * emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
3664         Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
3665         bfd_linux_size_dynamic_sections.
3666         * Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
3667         (em68klinux.c): New target.
3668         * configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.
3669
3670 Tue Feb 27 12:55:46 1996  Ian Lance Taylor  <ian@cygnus.com>
3671
3672         * Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
3673         Fill in missing entries.
3674
3675         * lexsup.c (parse_args): Recognize --no-whole-archive.
3676         * ldlang.h (lang_input_statement_type): Add whole_archive field.
3677         * ldlang.c (new_afile): Set whole_archive field.
3678         (load_symbols): Check input file specific whole_archive field
3679         rather than global variable.
3680         * ld.texinfo, ld.1: Document --no-whole-archive.
3681
3682 Tue Feb 20 16:07:00 1996  Ian Lance Taylor  <ian@cygnus.com>
3683
3684         * configure.tgt: Correct gldi960 to gld960.
3685
3686 Mon Feb 19 11:16:44 1996  Ian Lance Taylor  <ian@cygnus.com>
3687
3688         * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
3689         the SONAME if it is available.
3690         (gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
3691         filename, when checking for conflicting library versions.  Don't
3692         assume that the suffix is only numbers and dots.
3693
3694         * ld.texinfo: Mention that -R can be used for -rpath.
3695
3696 Sun Feb 18 15:05:17 1996  Ian Lance Taylor  <ian@cygnus.com>
3697
3698         * configure.host: Check for 'do not mix' from native linker before
3699         trying to use -rpath.
3700
3701 Thu Feb 15 13:58:06 1996  Ian Lance Taylor  <ian@cygnus.com>
3702
3703         * configure.in: Remove explicit substitution of CFLAGS; autoconf
3704         does it anyhow.
3705         * configure: Rebuild.
3706         * Makefile.in (LDFLAGS): Set to @LDFLAGS@.
3707
3708         * configure.in: Call AC_PROG_CC before configure.host.
3709         * configure: Rebuild.
3710         * configure.host: Remove go32 host, since it should no longer be
3711         necessary.  Don't set CC for romp host.
3712
3713         * scripttempl/elf.sc: Don't skip a page in virtual memory space if
3714         the text segment ends exactly on a page boundary.
3715
3716         * configure.in: Substitute RPATH_ENVVAR.
3717         * configure: Rebuild.
3718         * configure.host: Set RPATH_ENVVAR.
3719         * Makefile.in (RPATH_ENVVAR): New variable.
3720         (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
3721
3722 Wed Feb 14 18:49:01 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>
3723
3724         * configure.in: Redo emulation handling so that each emulation
3725         searches the correct tool directory, based on the target alias.
3726         For example, "configure --enable-targets=m68k-coff i386-linux"
3727         will search /usr/local/i386-linux/lib for linux and
3728         /usr/local/m68k-coff/lib for m68k-coff.
3729         * configure: Rebuild.
3730         * configure.tgt: Add special tdir settings for Linux.
3731         * Makefile.in: Add @TDIRS@.  Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
3732         for each eEMUL.c target.
3733         * genscripts.sh: Accept specific alias as 9th argument, and use it
3734         in LIB_PATH.
3735
3736 Wed Feb 14 16:38:36 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
3737
3738         * ldlang.c (lang_set_startof): Don't do anything for a
3739         relocateable link.
3740
3741         * ldgram.y (mri_script_file): Call mri_draw_tree.
3742         * mri.c (mri_draw_tree): Make globally visible.  Don't bother to
3743         create memory regions.
3744         (mri_load): Don't call mri_draw_tree.
3745         * mri.h (mri_draw_tree): Declare.
3746
3747         * configure.tgt (m68*-*-psos): New target.
3748         * emulparams/m68kpsos.sh: New file.
3749         * scripttempl/psos.sc: New file.
3750         * Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
3751         (em68kpsos.c): New target.
3752
3753 Wed Feb 14 11:09:25 1996  Ian Lance Taylor  <ian@cygnus.com>
3754
3755         * configure.tgt (*-*-ieee*): New target; use vanilla.
3756
3757         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
3758         `:foo' from ${ARCH}.
3759
3760 Tue Feb 13 15:58:58 1996  Bryan Ford  <baford@snake.cs.utah.edu>
3761
3762         * scripttempl/i386msdos.sc: Don't pad the .text section.  Put
3763         .rodata in .data.
3764
3765 Tue Feb 13 14:04:19 1996  Ian Lance Taylor  <ian@cygnus.com>
3766
3767         * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
3768
3769         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
3770         it looks like we might be linking in two different versions of the
3771         same shared library.  Based on a patch from H J Lu <hjl@zoom.com>.
3772
3773 Thu Feb  8 19:25:54 1996  Ian Lance Taylor  <ian@cygnus.com>
3774
3775         * ldlang.c (lang_size_sections): Increment the section size when a
3776         padding statement is encountered.
3777
3778 Wed Feb  7 14:01:33 1996  Ian Lance Taylor  <ian@cygnus.com>
3779
3780         * configure.in: Look for --enable-shared.  Change the value of
3781         BFDLIB when linking against a shared library on SunOS.
3782         * configure: Rebuild.
3783         * configure.host: If using a shared BFD library, try to pass a
3784         reasonable -rpath option when linking.
3785         * Makefile.in (BFDLIB): Set to @BFDLIB@.
3786
3787 Tue Feb  6 12:29:14 1996  Doug Evans  <dje@charmed.cygnus.com>
3788
3789         * emulparams/elf64_sparc.sh (ARCH): Change to `sparc:v9'.
3790         * emultempl/generic.em: Strip `:foo' from ${ARCH}.
3791
3792 Mon Feb  5 16:25:30 1996  Ian Lance Taylor  <ian@cygnus.com>
3793
3794         Support for building bfd and opcodes as shared libraries, based on
3795         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
3796         * configure.in (HLDFLAGS): New substitution.
3797         * configure: Rebuild.
3798         * configure.host: Set HLDFLAGS on SunOS.
3799         * Makefile.in (HLDFLAGS): New variable.
3800         (BFDDEP): New variable.
3801         (BFDLIB): Change to -L../bfd -lbfd.
3802         ($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB).  Use
3803         $(HLDFLAGS) in link.
3804         (check): Set LD_LIBRARY_PATH in the environment.
3805
3806 Fri Feb  2 19:26:25 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
3807
3808         * scripttempl/elfppc.sc (.sdata2, .sbss2): Put .sdata2 and .sbss
3809         in the read-only section, not read/write unless we are making a
3810         shared library.
3811         (.debug*): Add dwarf debug sections.
3812         (.rela.{sdata*,sbss*}): Add sections.
3813
3814 Fri Feb  2 16:50:21 1996  Ian Lance Taylor  <ian@cygnus.com>
3815
3816         * configure: Regenerate.
3817
3818 Thu Feb  1 10:50:46 1996  Ian Lance Taylor  <ian@cygnus.com>
3819
3820         * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
3821         for SVR4 compatibility.
3822
3823         * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
3824
3825 Wed Jan 31 17:30:19 1996  Steve Chamberlain  <sac@slash.cygnus.com>
3826
3827         * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
3828         * emultempl/pe.em (definfo init): Make the default stack reserve
3829         of a PPC larger.
3830
3831 Wed Jan 31 14:34:23 1996  Richard Henderson  <rth@tamu.edu>
3832
3833         * configure.tgt (m68*-apple-aux*): New target.
3834         * emulparams/m68kaux.sh: New file.
3835         * scripttempl/m68kaux.sc: New file.
3836         * Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
3837         (em68kaux.c): New target.
3838
3839 Tue Jan 30 13:18:56 1996  Ian Lance Taylor  <ian@cygnus.com>
3840
3841         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
3842         -bnoentry, since the right thing tends to happen anyhow.
3843
3844 Mon Jan 29 12:29:26 1996  Ian Lance Taylor  <ian@cygnus.com>
3845
3846         * ld.texinfo, ld.1: Document -export-dynamic.
3847
3848 Fri Jan 26 11:11:55 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3849
3850         * emultempl/sunos.em: Check for native compile by comparing
3851         ${target} and ${host}.
3852
3853 Thu Jan 25 16:46:58 1996  James G. Smith  <jsmith@cygnus.co.uk>
3854
3855         * emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
3856         TEXT_START_ADDR to allow use on IDT and PMON systems.
3857
3858 Wed Jan 24 20:59:40 1996  Steve Chamberlain  <sac@slash.cygnus.com>
3859
3860         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
3861         correct spelling.
3862
3863 Wed Jan 24 16:59:19 1996  Doug Evans  <dje@charmed.cygnus.com>
3864
3865         * configure.tgt (sparc64-*-solaris2*): New configuration.
3866         (sparc64-*-aout*): Renamed from sparc64*.
3867
3868 Mon Jan 22 13:01:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3869
3870         * Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
3871         * genscripts.sh: Set host, target and target_alias variables.
3872         Check for native compile by comparing ${target} and ${host}.
3873         * emultempl/elf32.em: Likewise.
3874         * scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
3875
3876 Mon Jan 22 11:03:23 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3877
3878         * scripttempl/elfppc.sc: Refine eabi support to better support
3879         .sdata, .sdata2, .sbss, etc. sections.
3880
3881 Tue Jan 16 15:16:58 1996  Ian Lance Taylor  <ian@cygnus.com>
3882
3883         * ldgram.y (%union): Add phdr field.
3884         (phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
3885         (phdr_qualifiers): New nonterminal.  Add support for FLAGS.
3886         (opt_hdrs, hdr): Remove.
3887         (phdr_val): New nonterminal.
3888         * ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
3889         and phdrs parameters.  Add flags parameter.
3890         (lang_record_phdrs): Update for changes to lang_phdr.  Pass flags
3891         to bfd_record_phdr.
3892         * ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
3893         phdrs fields.  Add flags field.
3894         (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
3895         (lang_new_phdr): Update declaration.
3896         * ld.texinfo: Document FLAGS.
3897
3898 Mon Jan 15 15:07:19 1996  Ian Lance Taylor  <ian@cygnus.com>
3899
3900         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
3901         Don't make a shared library because of an undefined reference to
3902         __GLOBAL_OFFSET_TABLE_.
3903
3904         Add some Irix 5 support, mostly from Kazumoto Kojima
3905         <kkojima@info.kanagawa-u.ac.jp>:
3906         * emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
3907         (SHLIB_TEXT_START_ADDR): Define.
3908         (OTHER_GOT_SYMBOLS): Define.
3909         (OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
3910         (EXECUTABLE_SYMBOLS): Don't define.
3911         (DYNAMIC_LINK): Don't define.
3912         * emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
3913         * scripttempl/elfmips.sc: New file.
3914         * configure.host (mips*-dec-bsd*): Change mips to mips*.
3915         (mips*-sgi-irix4*): Likewise.
3916         (mips*-sgi-irix5*): New entry.
3917         * Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
3918         elf.sc.
3919         (eelf32lmip.c): Likewise.
3920
3921 Sat Jan 13 09:41:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3922
3923         * scripttempl/elfppc.sc: Remove support for .rel.* sections.  Add
3924         .rela.got.neg section.
3925
3926 Fri Jan 12 14:56:19 1996  Ian Lance Taylor  <ian@cygnus.com>
3927
3928         * scripttempl/sh.sc: Only build constructors when CONSTRUCTING.
3929
3930         * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
3931         ANSI_PROTOTYPES is defined.  Remove special handling of
3932         WINDOWS_NT.  Various indendation fixes.
3933         (vfinfo): Change fmt parameter to const char *.
3934         (info_msg): Write <stdarg.h> version.
3935         (einfo, minfo, finfo): Likewise.
3936         (info_assert): Change file parameter to const char *.
3937         * ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
3938         defined, use a real prototype.
3939         (info_assert): Change first parameter to be const char *.
3940
3941 Fri Jan 12 13:29:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3942
3943         * scripttempl/elfppc.sc: Add support for .sdata2/.sbss2, etc.  Add
3944         in old support that 2.7.2 needs, but the current compiler does
3945         not.
3946
3947         * Makefile.in (eelf32{,l}ppc.c): Fix up dependencies to use the
3948         correct Linker script template.
3949
3950         * emulparams/elf32{,l}ppc.sh (TEXT_START_ADDR): Set to 0x40000,
3951         not 0x400000.
3952         (DATA_ADDR,NONPAGED_TEXT_START_ADDR): Delete.
3953
3954 Tue Jan  9 15:53:02 1996  Ian Lance Taylor  <ian@cygnus.com>
3955
3956         * scripttempl/alpha.sc: Put .rconst right after .rdata.
3957
3958 Fri Jan  5 14:07:45 1996  Steve Chamberlain  <sac@slash.cygnus.com>
3959
3960         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
3961         sort using right pointer.
3962
3963 Fri Jan  5 12:25:47 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
3964
3965         * scripttempl/elfppc.sc: Remove support for creating special
3966         labels for eabi section begin/end here.  The compiler now uses
3967         crt{i,n}.o to create these symbols.
3968
3969 Thu Jan  4 17:08:58 1996  Ian Lance Taylor  <ian@cygnus.com>
3970
3971         * configure.host: Change existing Linux HOSTING_CRT0 to be used
3972         for a.out only, and put in appropriate HOSTING_CRT0 and
3973         HOSTING_LIBS values for Linux ELF.
3974
3975 Thu Jan  4 12:02:05 1996  Doug Evans  <dje@canuck.cygnus.com>
3976
3977         * scripttempl/h8300.sc: Use all 64K for ram.
3978         * scripttempl/h8300h.sc: Define 256K ram size.
3979
3980 Thu Dec 21 15:57:18 1995  Ian Lance Taylor  <ian@cygnus.com>
3981
3982         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Pass
3983         export_defines as true to bfd_xcoff_size_dynamic_sections if -unix
3984         was used, regardless of whether -bE was used.
3985
3986 Tue Dec 19 17:35:38 1995  Ian Lance Taylor  <ian@cygnus.com>
3987
3988         * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
3989         relocateable before calling ldctor_build_sets if the output file
3990         is in an XCOFF format.
3991
3992 Fri Dec 15 16:34:36 1995  Ian Lance Taylor  <ian@cygnus.com>
3993
3994         * ldwrite.c (build_link_order): When handling a data statement, if
3995         the endianness of the output file is unknown, use the endianness
3996         of the input file.
3997
3998 Tue Dec 12 13:55:41 1995  Stan Shebs  <shebs@andros.cygnus.com>
3999
4000         * mpw-config.in: Recognize mips-*-* as equivalent to
4001         mips-idt-ecoff.
4002         * mpw-eppcmacos.c: Rename to shorter mpw-eppcmac.c.
4003         * mpw-ld.r: Add version resources.
4004         (cfrg): Use symbolic instead of literal name for executable.
4005
4006 Mon Dec 11 15:13:41 1995  Kim Knuttila  <krk@cygnus.com>
4007
4008         * scripttempl/ppcpe.sc (FINI): Moved the .reloc section.
4009
4010 Wed Dec  6 14:33:50 1995  Doug Evans  <dje@canuck.cygnus.com>
4011
4012         * ldlang.c (print_statement{,s}): Delete duplicate prototype.
4013         (print_statement_list): Renamed from print_statement.  All callers
4014         updated.
4015         (print_statement): New function to print just one statement.
4016         (print_{data,reloc,padding}_statement): Don't crash if
4017         output_section == NULL.
4018         (dprint_statement): New function.
4019
4020         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
4021         call to sort_sections.
4022
4023 Wed Dec  6 14:59:06 1995  Ian Lance Taylor  <ian@cygnus.com>
4024
4025         * emultempl/aix.em (unix_ld): New static variable.
4026         (gld${EMULATION_NAME}_parse_args): Handle -unix.
4027         (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
4028         gc as false and export_defineds as true to size_dynamic_sections.
4029
4030         * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
4031         phase if the current section is abs_output_section.
4032
4033
4034 Tue Dec  5 09:49:39 1995  Doug Evans  <dje@canuck.cygnus.com>
4035
4036         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix call
4037         to sort_sections.
4038
4039 Fri Dec  1 16:48:36 1995  Ian Lance Taylor  <ian@cygnus.com>
4040
4041         * ldgram.y (PHDRS): New token.
4042         (ifile_p1): Accept phdrs.
4043         (section): Accept phdr_opt at the end of the section definition.
4044         (phdr_op): New nonterminal.
4045         (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
4046         * ldlex.l: Accept PHDRS.
4047         * ldlang.h (struct lang_output_section_phdr_list): Define.
4048         (lang_output_section_statement_type): Add phdrs field.
4049         (struct lang_phdr): Define.
4050         (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
4051         (lang_new_phdr): Declare.
4052         * ldlang.c (lang_phdr_list): New static variable.
4053         (lang_output_section_statement_lookup): Initialize phdrs field.
4054         (lang_process): Call lang_record_phdrs.
4055         (lang_new_phdr): New function.
4056         (lang_section_in_phdr): New function.
4057         (lang_record_phdrs): New static function.
4058         * ld.texinfo: Document PHDRS.
4059
4060 Thu Nov 30 13:14:30 1995  Kim Knuttila  <krk@cygnus.com>
4061
4062         * scripttempl/ppcpe.sc: Moved .edata into its own section to
4063         expose it.
4064
4065 Thu Nov 30 11:32:34 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
4066
4067         * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
4068         HOSTING_LIBS for testing.
4069         (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
4070         testing.
4071
4072 Tue Nov 28 12:14:53 1995  Ian Lance Taylor  <ian@cygnus.com>
4073
4074         * lexsup.c (parse_args): Set config.dynamic_link to false for -N
4075         and -n.
4076
4077 Mon Nov 27 13:12:09 1995  Ian Lance Taylor  <ian@cygnus.com>
4078
4079         * configure: Rebuild with autoconf 2.7.
4080
4081 Fri Nov 24 18:35:35 1995  Doug Evans  <dje@canuck.cygnus.com>
4082
4083         * scripttempl/pe.sc: Two .junk's is too much junk.
4084
4085 Tue Nov 21 16:14:32 1995  Ian Lance Taylor  <ian@cygnus.com>
4086
4087         * configure.in: Use BFD_NEED_DECLARATION.
4088         * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
4089         * configure, config.in: Rebuild with autoconf 2.6.
4090
4091         * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
4092         being unsupported if this is not a relocateable link and the input
4093         BFD supports it, since ldctor_build_sets can cope with that case.
4094
4095 Fri Nov 17 16:23:15 1995  Stan Shebs  <shebs@andros.cygnus.com>
4096
4097         * configure.tgt (powerpc-*-macos*): New target.
4098         * emulparams/ppcmacos.sh: New file, PowerMac emulation.
4099         * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
4100         (eppcmacos.c): New target.
4101         * mpw-eppcmacos.c: Update.
4102         * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
4103
4104 Fri Nov 17 10:37:27 1995  Ian Lance Taylor  <ian@cygnus.com>
4105
4106         * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
4107         $(host_canonical) and $(target_canonical).
4108         (CXX_FOR_TARGET): Likewise.
4109
4110 Thu Nov 16 11:23:42 1995  Doug Evans  <dje@canuck.cygnus.com>
4111
4112         * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
4113         so the malloc heap begins at a sane place.
4114
4115 Thu Nov 16 03:09:32 1995  Ken Raeburn  <raeburn@cygnus.com>
4116
4117         Version 2.6 released.
4118         * ldver.c (ldversion): Update to 2.6.
4119
4120         * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not
4121         $(GENERATED_*FILES), since they need to be retained by distclean.
4122         (maintainer-clean, realclean): Delete them here.
4123
4124 Tue Nov 14 17:08:06 1995  Ian Lance Taylor  <ian@cygnus.com>
4125
4126         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the
4127         base file with FOPEN_WB, not "w".
4128
4129         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
4130         environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
4131         were used.
4132         (gld${EMULATION_NAME}_before_allocation): Use the environment
4133         variable LD_RUN_PATH if -rpath was not used.
4134         * ld.texinfo, ld.1: Document LD_RUN_PATH.
4135
4136 Thu Nov  9 13:09:29 1995  Ian Lance Taylor  <ian@cygnus.com>
4137
4138         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize
4139         -bl and -bloadmap options.
4140
4141         * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
4142         report a better error.
4143
4144         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
4145         new local variable special_sections, and pass it to
4146         size_dynamic_sections.  Look through the results, and move the
4147         sections around in the mapping so that they are defined correctly.
4148
4149 Wed Nov  8 11:40:59 1995  Ian Lance Taylor  <ian@cygnus.com>
4150
4151         * ldemul.c (ldemul_default_target): Cast getenv return value.
4152
4153 Tue Nov  7 11:15:36 1995  Kim Knuttila  <krk@cygnus.com>
4154
4155         * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable
4156         Executable support.
4157         * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable
4158         support.
4159
4160         * configure.tgt (targ_extra_emuls): Added powerpcle-pe target.
4161         * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target.
4162
4163         * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro
4164         (gld_$_before_allocation): added hooks for toc construction based
4165         on the above macro.
4166
4167 Tue Nov  7 11:47:23 1995  Ian Lance Taylor  <ian@cygnus.com>
4168
4169         * ld.texinfo: The linker does not use _main as an entry point.
4170
4171 Tue Nov  7 11:46:11 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
4172
4173         * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
4174         0x2000 not 0x200.
4175
4176 Mon Nov  6 10:59:21 1995  Ian Lance Taylor  <ian@cygnus.com>
4177
4178         * configure.in: Add test for whether free must be declared.
4179         * sysdep.h: Declare free if necessary.  Include "ansidecl.h".
4180         * acconfig.h: Explain NEED_DECLARATION_FREE.
4181         * configure, config.in: Rebuild.
4182
4183         * lexsup.c (parse_args): Take B:: out of shortopts.
4184
4185 Sun Nov  5 03:08:28 1995  Ken Raeburn  <raeburn@cygnus.com>
4186
4187         * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0
4188         for now, as with m68k4kbsd, until shared library support gets
4189         done.
4190
4191         * configure.host: For i386 BSD variants, crt0.o lives in
4192         /usr/lib.  (True for NetBSD at least, unconfirmed for others.)
4193
4194 Wed Nov  1 15:42:45 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
4195
4196         * Makefile.in (ALL_EMULATIONS): Add edelta68.o.
4197         (edelta68.c): New target.
4198         * configure.tgt (m68*-motorola-sysv*): New target.
4199         * emulparams/delta68.sh: New file.
4200         * scripttempl/delta68.sc: New file.
4201
4202         * scripttempl/m88kbcs.sc: Handle .init and .fini.  Change section
4203         addresses.
4204
4205 Wed Nov  1 11:41:56 1995  Ian Lance Taylor  <ian@cygnus.com>
4206
4207         * ldgram.y (mri_script_command): Accept ',' as well as '=' in
4208         ALIGN and ALIGNMOD statements.
4209
4210         * emultempl/aix.em: Include ldgram.h.
4211         (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
4212         AIX 4.1.
4213         * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
4214
4215 Tue Oct 31 18:22:24 1995  David Mosberger-Tang  <davidm@azstarnet.com>
4216
4217         * configure.host (alpha-*-linux*): New host.
4218         * configure.tgt (alpha-*-linux*): New target.
4219
4220 Tue Oct 31 12:36:52 1995  Ian Lance Taylor  <ian@cygnus.com>
4221
4222         * emultempl/aix.em (export_files): Remove.
4223         (import_files): Make static.
4224         (struct export_symbol_list): Define.
4225         (export_symbols): New static variable.
4226         (gld${EMULATION_NAME}_parse_args): Handle an initial -b option
4227         correctly.  Call read_file for an export file.
4228         (gld${EMULATION_NAME}_before_allocation): Call
4229         bfd_xcoff_export_symbol for each export symbol, rather than
4230         calling read_file for each export file.
4231         (gld${EMULATION_NAME}_read_file): For an export file, make the
4232         exported symbols undefined, and store them on the export_symbols
4233         list.
4234
4235 Sat Oct 28 00:10:03 1995  steve chamberlain  <sac@slash.cygnus.com>
4236
4237         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
4238         Don't hang if last option is unrecognised.
4239         (gld_${EMULATION_NAME}_set_symbols): Insert created
4240         symbols into ABS output section.
4241
4242 Fri Oct 27 18:03:17 1995  Niklas Hallqvist  <niklas@appli.se>
4243
4244         *  Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
4245         m68k4k arch.
4246         (em68k4knbsd.c): New rule.
4247
4248         * configure.tgt: Added support for the NetBSD m68k4k arch.
4249
4250         * genscripts.sh, ldint.texinfo,
4251         emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
4252         gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
4253         hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
4254         i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
4255         m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
4256         pc532machaout,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
4257         st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
4258         PAGE_SIZE to TARGET_PAGE_SIZE.
4259
4260         * emulparams/m68knbsd.h: Ditto.
4261         (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
4262         (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
4263         being.
4264
4265         * emulparams/m68k4knbsd.sh: New file.
4266
4267         * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
4268
4269 Fri Oct 27 17:59:09 1995  Ian Lance Taylor  <ian@cygnus.com>
4270
4271         * emultempl/aix.em: Include ldctor.h.
4272         (gld${EMULATION_NAME}_after_open): New static function.
4273         (gld${EMULATION_NAME}_before_allocation): Call find_relocs.
4274         (gld${EMULATION_NAME}_find_relocs): New static function.
4275         (gld${EMULATION_NAME}_find_exp_assignment): New static function.
4276         (ld_${EMULATION_NAME}_emulation): Use new after_open function.
4277         * scripttempl/aix.sc: Use CONSTRUCTORS in .data.
4278         * ldctor.c (struct set_info): Move definition into ldctor.h.
4279         (struct set_element): Likewise.
4280         (sets): Make non-static.
4281         (ldctor_add_set_entry): Add name parameter.  Save it in the new
4282         set element.
4283         (ldctor_build_sets): Avoid being called twice.  Pass set element
4284         name to lang_add_reloc.
4285         * ldctor.h (struct set_info): Move definition here from ldctor.c.
4286         (struct set_element): Likewise.  Add new field name.
4287         (sets): Declare.
4288         (ldctor_add_set_entry): Declare new name parameter.
4289         * ldwrite.c (build_link_order): Don't insist that either name or
4290         section be NULL in a lang_reloc_statement.
4291         * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
4292         new name parameter.
4293         (constructor_callback): Pass name to ldctor_add_new_set_entry for
4294         new name parameter.
4295
4296         * ldmisc.c (demangle): Fix indentation.  Remove a leading period.
4297
4298 Thu Oct 26 22:22:49 1995  Stan Shebs  <shebs@andros.cygnus.com>
4299
4300         * mpw-config.in: Add PowerMac target support, generate config.h.
4301         * mac-ld.r: New file, Mac resources.
4302         * mpw-make.sed: New file, edits Makefile.in into MPW syntax.
4303         * mpw-make.in: Remove.
4304         * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
4305
4306 Thu Oct 26 14:11:26 1995  Ian Lance Taylor  <ian@cygnus.com>
4307
4308         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
4309         -static as a synonym for -bnso.
4310
4311         * scripttempl/aix.sc: Move special symbols inside sections.
4312         Always start .data at 0.
4313
4314 Wed Oct 25 11:52:12 1995  Per Bothner  <bothner@kalessin.cygnus.com>
4315
4316         * Makefile.in (diststuff):  Also make info.
4317         (maintainer-clean realclean):  Also delete *.info*.
4318
4319 Wed Oct 25 11:27:25 1995  Ian Lance Taylor  <ian@cygnus.com>
4320
4321         * emultempl/aix.em: Add support for various AIX linker options,
4322         for AIX import and export files, and for AIX shared objects.
4323         * scripttempl/aix.sc: Add .pad.  Put .ds just before the TOC.
4324
4325         * ldmain.c (main): Initialize new field link_info.static_link.
4326
4327         * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
4328         (constructor_callback): Likewise.
4329         * ldmisc.c (vfinfo): Likewise.
4330         * ldwrite.c (build_link_order): Likewise.
4331
4332         * ld.texinfo: The MRI ALIGN directive is supported.
4333
4334 Mon Oct 23 11:46:43 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
4335
4336         * emulparams/elf32vr4300.sh: Deleted.
4337         * emulparams/elf32vr4300el.sh: Deleted.
4338         * emulparams/elf32b4300.sh: Added.
4339         * emulparams/elf32l4300.sh: Added.
4340         * configure.tgt, Makefile.in: Updated the build to use the
4341         new 8.3 unique names.
4342
4343 Thu Oct 19 17:41:46 1995  Ian Lance Taylor  <ian@cygnus.com>
4344
4345         * ldlang.c (entry_symbol): Make non-static.
4346         * ldlang.h (entry_symbol): Declare.
4347
4348         * ldlex.l: Treat PROVIDE as a keyword in expression state.
4349
4350 Wed Oct 18 17:34:06 1995  steve chamberlain  <sac@slash.cygnus.com>
4351
4352         * scripttempl/pe.sc (.bss): Move to be after .text
4353
4354 Tue Oct 17 12:22:05 1995  Ian Lance Taylor  <ian@cygnus.com>
4355
4356         * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
4357         Search trinary.cond rather than searching trinary.lhs twice.  From
4358         linli@ihp.PHys.ethz.CH.
4359
4360         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
4361         directory searching code into gld${EMULATION_NAME}_search_dir.
4362         (gld${EMULATION_NAME}_search_dir): New static function, extracted
4363         from gld${EMULATION_NAME}_find_so.
4364         (global_needed, global_found): New static variables.
4365         (gld${EMULATION_NAME}_after_open): New static function.
4366         (gld${EMULATION_NAME}_search_needed): New static function.
4367         (gld${EMULATION_NAME}_try_needed): New static function.
4368         (gld${EMULATION_NAME}_check_needed): New static function.
4369         (ld_${EMULATION_NAME}_emulation): Use new after_open function.
4370         * ld.texinfo, ld.1: Mention -rpath-link on SunOS.
4371
4372         * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
4373         (eelf32lppc.c): Likewise.
4374         * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
4375         (GENERATE_SHLIB_SCRIPT): Define as yes.
4376
4377 Mon Oct 16 19:11:13 1995  Ian Lance Taylor  <ian@cygnus.com>
4378
4379         * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named
4380         bfd_link_needed-list; make appropriate changes.
4381
4382         * configure.tgt (powerpc-*-aix*): New target; use aixppc.
4383         (rs6000-*-aix*): New target; use aixrs6.
4384         * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
4385         * emultempl/aix.em: New file.
4386         * scripttempl/aix.sc: New file.
4387         * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
4388         (eaixppc.c, eaixrs6.c): New targets.
4389
4390 Fri Oct 13 14:00:37 1995  steve chamberlain  <sac@slash.cygnus.com>
4391
4392         * scripttemp/pe.sc (.reloc): Move to the end.
4393
4394 Tue Oct 10 17:53:22 1995  Ian Lance Taylor  <ian@cygnus.com>
4395
4396         * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
4397         section which was not linked into the final output.
4398
4399 Tue Oct 10 10:17:22 1995  steve chamberlain  <sac@slash.cygnus.com>
4400
4401         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
4402         fatal typos.
4403
4404 Tue Oct 10 01:01:51 1995  Ian Lance Taylor  <ian@cygnus.com>
4405
4406         * ld.h (args_type): Add rpath_link field.
4407         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
4408         required dependencies in rpath_link path.  Only search
4409         LD_LIBRARY_PATH when configured native.
4410         * lexsup.c (parse_args): Recognize -rpath-link.
4411         * ld.1, ld.texinfo: Document -rpath-link.
4412
4413 Sat Oct  7 17:07:17 1995  Ian Lance Taylor  <ian@cygnus.com>
4414
4415         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
4416         bother searching for needed libraries unless doing a final link.
4417
4418 Fri Oct  6 16:26:16 1995  Ken Raeburn  <raeburn@cygnus.com>
4419
4420         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4421
4422         * ld/ld.1: Fix formatting bugs.
4423
4424 Wed Oct  4 17:37:46 1995  Ian Lance Taylor  <ian@cygnus.com>
4425
4426         * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
4427         * ldexp.h (exp_get_abs_int): Update declaration.
4428         * ldlang.c (print_output_section_statement): Use fprintf_vma to
4429         print return value of exp_get_abs_int.
4430
4431 Mon Oct  2 13:56:09 1995  Ian Lance Taylor  <ian@cygnus.com>
4432
4433         * emultempl/elf32.em (global_stat): New file static variable.
4434         (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
4435         that the file has not already been included under another name.
4436         (gld${EMULATION_NAME}_stat_needed): New static function.
4437
4438 Fri Sep 29 12:00:18 1995  Doug Evans  <dje@deneb.cygnus.com>
4439
4440         * scripttempl/armcoff.sc: Start .text at 0x8000.
4441         Start .data at 0x40000.
4442
4443 Fri Sep 29 11:09:46 1995  Ian Lance Taylor  <ian@cygnus.com>
4444
4445         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
4446         command_line.rpath is set, use it, rather than the -L options, to
4447         build the rules section.
4448         * ld.texinfo: Document this use of -rpath.
4449
4450         * lexsup.c (parse_args): Don't set link_info.shared for -assert
4451         pure-text.  Pass true, not 1, to lang_add_entry.
4452         * emultempl/sunos.em (find_assign): New static variable.
4453         (found_assign): New static variable.
4454         (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
4455         If not a relocateable link, and no start symbol was specified on
4456         the command line, and there are any undefined symbols, set
4457         link_info.shared.  If link_info.shared is set, set the address of
4458         the .text section to 0x20.
4459         (gld${EMULATION_NAME}_find_assignment): Rename from
4460         gld${EMULATION_NAME}_find_statement_assignment.  If find_assign is
4461         set, then just set found_assign based on whether an assignment is
4462         found to find_assign.
4463         (gld${EMULATION_NAME}_get_script): Don't use a special script when
4464         producing a shared library.
4465         * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
4466         * scripttempl/aout.sc: Remove CREATE_SHLIB tests.
4467         * ldlang.c (entry_from_cmdline): New global variable.
4468         (lang_add_entry): Change cmdline parameter from int to boolean.
4469         Use global entry_from_cmdline rather than function static
4470         from_cmdline.
4471         * ldlang.h (entry_from_cmdline): Declare.
4472         (lang_add_entry): Change declaration of second parameter from int
4473         to boolean.
4474         * ldgram.y: Pass false, not 0, to lang_add_entry.
4475
4476 Thu Sep 28 12:34:13 1995  Ian Lance Taylor  <ian@cygnus.com>
4477
4478         * ld.h (parsing_defsym): Declare.
4479         * ldlex.h (lex_string): Declare.
4480         * ldlex.l (lex_string): Define.
4481         * lexsup.c (parsing_defsym): Define.
4482         (parse_args): In OPTION_DEFSYM case, set lex_string before calling
4483         lex_redirect, and clear it after calling yyparse.  Set
4484         parsing_defsym around call to yyparse.
4485         * ldmain.c (main): Set lex_string before calling lex_redirect, and
4486         clear it after calling yyparse.
4487         * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
4488         in linker scripts correctly.
4489
4490         * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
4491         COFF targets, allowing for the leading underscore used on SPARC
4492         COFF.
4493
4494         * lexsup.c (parse_args): Handle -assert.
4495         * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
4496         * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
4497         shared library script when appropriate.
4498         * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
4499         section at SIZEOF_HEADERS.
4500
4501 Thu Sep 28 01:40:37 1995  Doug Evans  <dje@deneb.cygnus.com>
4502
4503         * Makefile.in (earmcoff.c): Build.
4504         * configure.tgt (arm-*-coff): New target
4505         * emulparms/armcoff.sh: New file.
4506         * scripttempl/armcoff.sc: New file.
4507
4508 Tue Sep 26 10:59:32 1995  Ian Lance Taylor  <ian@cygnus.com>
4509
4510         * scripttempl/i386coff.sc: Remove .data2; no longer needed.
4511
4512 Fri Sep 22 18:09:02 1995  Ian Lance Taylor  <ian@cygnus.com>
4513
4514         * ldfile.c (ldfile_set_output_arch): Make arch const.
4515
4516 Thu Sep 21 17:55:24 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
4517
4518         * scripttempl/elfppc.sc: Correctly locate __bss_start at the
4519         beginning of the .bss area, not at the end of data.  Add
4520         __sbss_{start,end} symbols.
4521
4522 Wed Sep 20 12:29:36 1995  Ian Lance Taylor  <ian@cygnus.com>
4523
4524         * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name).
4525         (CXX_FOR_TARGET, install): Likewise.
4526
4527 Mon Sep 18 14:53:22 1995  Ian Lance Taylor  <ian@cygnus.com>
4528
4529         Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
4530         * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
4531         (CXX_FOR_TARGET): Likewise.
4532         (install): Likewise.
4533         (GENERATED_HFILES): Remove config.h.
4534         (.dep): Depend upon config.h.
4535
4536 Mon Sep 18 14:39:38 1995  Arne H. Juul  <arnej@pvv.unit.no>
4537
4538         * configure.tgt (mips*-dec-netbsd*): New target.
4539
4540 Fri Sep 15 20:01:52 1995  Ken Raeburn  <raeburn@cygnus.com>
4541
4542         * configure.host (m88*-*-dgux*): Fix another shell syntax error.
4543
4544 Fri Sep 15 23:28:05 1995  Andrew Cagney  <cagney@highland.com.au>
4545
4546         * configure.host (i[345]86-*-bsd*): Fix shell syntax error.
4547
4548 Thu Sep 12 12:50:49 1995  steve chamberlain  <sac@slash.cygnus.com>
4549
4550         * scripttemp/pe.sc:  Allow both spellings of .ctors/.dtors.
4551         Start .text section on the right boundary. Always align
4552         stabs.
4553
4554 Tue Sep 12 12:24:17 1995  Ian Lance Taylor  <ian@cygnus.com>
4555
4556         * Makefile.in (maintainer-clean): New target.
4557
4558         * ldmain.c (struct warning_callback_info): Define.
4559         (warning_callback): Add new parameter symbol.  Call
4560         warning_find_reloc to try to find the section and VMA.
4561         (warning_find_reloc): New static function.
4562         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4563         Pass NULL as symbol parameter to warning callback.
4564
4565         * ld.texinfo: Clarify -L option.
4566
4567         * ldlang.c (lang_one_common): Add cast to avoid warning.
4568         (topower): Likewise.  Also, reindent.
4569         * ldwrite.c (clone_section): Change i to unsigned int.
4570         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
4571         cast to avoid warning.
4572
4573 Fri Sep  8 16:32:43 1995  Ian Lance Taylor  <ian@cygnus.com>
4574
4575         * Makefile.in (config.status): Depend upon configure.tgt.
4576
4577         * ldemul.h (ldemul_set_symbols): Declare.
4578         (ldemul_parse_args): Declare.
4579         * ldemul.c (ldemul_parse_args): Fix indentation.
4580
4581         * configure.in: Call AC_HEADER_DIRENT.
4582         * configure, config.in: Rebuild.
4583         * emultempl/sunos.em: Use autoconf recommend mechanism to define
4584         DIR and struct dirent.
4585
4586         * configure.tgt (mips*-*-bsd*): New case.
4587
4588         * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
4589         New case.
4590         * configure.tgt (i[345]86-*-ptx*): New case.
4591
4592 Thu Sep  7 10:48:26 1995  Ian Lance Taylor  <ian@cygnus.com>
4593
4594         * config.in: Rename from config.h.in.
4595         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
4596         Check for config.h:config.in when creating stamp-h.
4597         * configure: Rebuild.
4598         * Makefile.in (stamp-h): Depend upon config.in rather than
4599         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
4600         calling config.status.
4601
4602         * Makefile.in (distclean): Remove config.h and stamp-h.
4603
4604         * configure.host (sparc-*-sunos64*): Remove.
4605         * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
4606
4607         * ldexp.c (exp_fold_tree): Don't warn about moving the location
4608         counter backward in the absolute section.
4609
4610 Wed Sep  6 14:42:11 1995  Ian Lance Taylor  <ian@cygnus.com>
4611
4612         * configure.in: Rewrite to use autoconf.
4613         * configure.host: New file.
4614         * configure.tgt: New file.
4615         * aclocal.m4: New file.
4616         * configure: New file, built by autoconf.
4617         * acconfig.h: New file.
4618         * config.h.in: New file, built by autoheader.
4619         * sysdep.h: New file.
4620         * ld.h: Incorporate old contents of config.h.
4621         * config.h: Remove.
4622         * Makefile.in: Various changes for new configure script.  Also:
4623         (CC_FOR_BUILD): Remove.
4624         (ldmain.o): Don't bother to ensure that EMUL is non-empty.
4625         (dep.sed): Use @SRCDIR@, not @srcdir@.
4626         * dep-in.sed: Use @SRCDIR@, not @srcdir@.
4627         * genscripts.sh: Create ldscripts if it does not exist.
4628         * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
4629         * mpw-esh.c, emultemp/*.em: Likewise.
4630         * ldmain.c: Likewise.  Include <ctype.h>.  Don't try to set
4631         HAVE_SBRK here.
4632         * config/*.mt, config/*.mh: Remove.
4633
4634 Tue Sep  5 14:55:24 1995  Ken Raeburn  <raeburn@cygnus.com>
4635
4636         * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
4637         ns32k-pc532-lites* like ns32k-pc532-netbsd*.  From Ian Dall.
4638
4639 Fri Sep  1 22:29:52 1995  Doug Evans  <dje@canuck.cygnus.com>
4640
4641         * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors.
4642
4643 Fri Sep  1 13:13:29 1995  Ian Lance Taylor  <ian@cygnus.com>
4644
4645         * ldmain.c (warning_callback): Add abfd, section, and address
4646         parameters.
4647         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4648         Change call to warning accordingly.
4649
4650         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
4651         relocateable and not shared, put .gnu.warning.SYMBOL sections into
4652         the .text section.
4653
4654 Fri Sep  1 08:35:16 1995  James G. Smith  <jsmith@beauty.cygnus.com>
4655
4656         * configure.in: Added mips*vr4300-idt-elf* and
4657         mips*vr4300el-idt-elf* targets.
4658         * Makefile.in: Added eelf32vr4300* targets.
4659         * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
4660         * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
4661
4662 Fri Sep  1 10:51:45 1995  Ian Lance Taylor  <ian@cygnus.com>
4663
4664         * scripttempl/a29k.sc: Fix to be reasonable.  From Brendan Kehoe
4665         <brendan@cygnus.com>.
4666
4667 Thu Aug 31 16:37:07 1995  steve chamberlain  <sac@slash.cygnus.com>
4668
4669         * ldemul.c (ldemul_parse_args): New.
4670         * ldemul.h (ld_emulation_xfer_struct): Add parse_args.
4671         * lexsup.c (all pe stuff): Moved into pe.em
4672         (parse_args): Call emulation arg parser.
4673         * emultempl/pe.em (parse_args): handle PE specfic args.
4674
4675 Thu Aug 31 17:01:37 1995  Ian Lance Taylor  <ian@cygnus.com>
4676
4677         * ldlang.c (lang_memory_region_lookup): Don't use the first region
4678         as the default region.  Create a new region instead.
4679
4680 Tue Aug 29 14:21:41 1995  steve chamberlain  <sac@slash.cygnus.com>
4681
4682         * ldemul.c (ldemul_set_symbols): New function.
4683         * ldemul.h (ld_emulation_xfer_struct): Add set_symbols.
4684         * ldmain.c (main): Add call to ldemul_set_symbols.
4685         * lexsup.c (set_pe_value): New args.
4686         (set_pe_name): New.
4687         (parse_args): Cope with new set_pe_value args.
4688         * emultempl/pe.em (set_symbols): New function.
4689         (ld_emulation_xfer_struct): Add set_symbols.
4690         * scripttempl/pe.sc: Use new symbols.
4691
4692 Thu Aug 24 18:12:18 1995  Ian Lance Taylor  (ian@cygnus.com)
4693
4694         * lexsup.c (parse_args): Don't call set_default_dirlist for -O.
4695         For -Y, ignore a leading `P,', and only call set_default_dirlist
4696         after processing all the other arguments.
4697
4698 Tue Aug 22 07:36:58 1995  steve chamberlain  <sac@slash.cygnus.com>
4699
4700         * scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
4701         * emulparams/armpe.sh: Run PE script.
4702
4703 Mon Aug 21 18:30:42 1995  steve chamberlain  <sac@slash.cygnus.com>
4704
4705         * ldmain.c (main): Remove PE stuff.
4706         * lexsup.c (options): Load more PE options.
4707         (set_pe_value): New function.
4708
4709 Thu Aug 17 13:35:49 1995  steve chamberlain  <sac@slash.cygnus.com>
4710
4711
4712         * emultempl/{armpe.sc, i386pe.sc}: Deleted.
4713         * emultempl/pe.sc: New file performs generic PE support and sorts
4714         archive members.
4715         * emulparams/{armpe.sh,i386pe.sh}: Use new file.
4716         * scripttempl/{armpe.sc, i386pe.sc}: Deleted
4717         * scripttempl/pe.sc: New.
4718         * Makefile.in: Use new files.
4719
4720 Thu Aug 17 14:46:34 1995  Doug Evans  <dje@canuck.cygnus.com>
4721
4722         * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
4723         (.strings,.ctors,.dtors): Likewise.
4724
4725 Wed Aug 16 11:38:59 1995  steve chamberlain  <sac@slash.cygnus.com>
4726
4727         * scripttempl/armpe.sc: Always start code at 0x401000, even
4728         if -r.
4729         * ldwrite.c (strdup): New extern declaration.
4730         * ldgram.y (atype): New rule to clarify type parsing.
4731         * ldlang.c (init_os): Remove commented out code.
4732         (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
4733         unless told not to by the link script.
4734
4735 Wed Aug 16 11:45:11 1995  Ian Lance Taylor  <ian@cygnus.com>
4736
4737         * ldlang.c (lang_set_startof): New static function.
4738         (lang_process): Call it.
4739
4740         * ldgram.y: Tweak casesymlist to avoid bison errors.
4741
4742         * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
4743         Solaris compatibility.
4744
4745 Tue Aug 15 17:31:16 1995  Ian Lance Taylor  <ian@cygnus.com>
4746
4747         * ldgram.y (YYDEBUG): If not defined, define as 1.
4748         (CASE, EXTERN, START): New tokens.
4749         (mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
4750         (casesymlist): New nonterminal.
4751         (extern_name_list): New nonterminal.
4752         * ldlex.l: Accept lower case trailing base specifiers.  Don't
4753         ignore the first digit when the base is a suffix.  Accept many
4754         EXPRESSION state tokens in MRI state.  Support MRI continuation
4755         lines and MRI semicolon comments.  Accept all MRI keywords in
4756         lower case.  Add CASE, EXTERN, and START MRI keywords.
4757
4758 Tue Aug  8 19:14:58 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
4759
4760         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc
4761         instead of alloca.
4762
4763 Tue Aug  8 15:24:05 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
4764
4765         * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
4766         $r/../gcc/xgcc unless it is present.
4767
4768 Thu Aug  3 11:56:22 1995  Ian Lance Taylor  <ian@cygnus.com>
4769
4770         * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text
4771         when CONSTRUCTING.
4772         * scripttempl/m68klynx.sc: Likewise.
4773         * scripttempl/nw.sc: Likewise.
4774         * scripttempl/sa29200.sc: Likewise.
4775         * scripttempl/sparclynx.sc: Likewise.
4776
4777 Fri Jul 28 12:02:23 1995  steve chamberlain  <sac@slash.cygnus.com>
4778
4779         * emulparams/{z8001.sh, z8002.sh}: Fix typo.
4780
4781 Thu Jul 27 21:06:21 1995  Ken Raeburn  <raeburn@cygnus.com>
4782
4783         * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*.
4784
4785 Thu Jul 27 15:26:28 1995  steve chamberlain  <sac@slash.cygnus.com>
4786
4787         * scripttempl/i386pe.sc: Cope with constructors.
4788         * scripttempl/z8ksim.sc: Deleted.
4789         * scripttempl/z8000.sc: Resurrected as this, but
4790         can handle z8001 and z8002 formats.
4791         * emulparams/z8ksim.sh: Deleted.
4792         * emulparams/{z8001.sh, z8002.sh}: New files.
4793         * config/z8ksim.mt: Deleted
4794         * config/z8k-coff.mt: New, generates both emulations.
4795
4796 Tue Jul 25 14:53:02 1995  Ian Lance Taylor  <ian@cygnus.com>
4797
4798         * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using
4799         %B, in case it is in an archive.
4800
4801 Mon Jul 24 15:23:39 1995  Ian Lance Taylor  <ian@cygnus.com>
4802
4803         * ldlang.c (lang_process): Call reset_memory_regions for each
4804         relaxation pass.
4805
4806 Fri Jul 21 22:49:44 1995  Michael Meissner  <meissner@cygnus.com>
4807
4808         * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and
4809         _SDA_BASE.
4810
4811 Thu Jul 20 16:26:55 1995  Ken Raeburn  <raeburn@cygnus.com>
4812
4813         * ldmain.c (constructor_callback): Allocate set_name in stack
4814         frame, rather than always calling alloca with a fixed size.
4815
4816 Wed Jul 19 16:21:43 1995  Doug Evans  <dje@canuck.cygnus.com>
4817
4818         * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
4819         (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
4820
4821 Mon Jul 17 13:57:00 1995  Ian Lance Taylor  <ian@cygnus.com>
4822
4823         * ldwrite.c (clone_section): Set the alignment of the clone
4824         section to that of the section being cloned.
4825
4826         * ldwrite.c (split_sections): Don't split the first input section
4827         into a new output section.
4828
4829 Sat Jul 15 00:26:35 1995  Michael Meissner  <meissner@cygnus.com>
4830
4831         * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32.
4832         (GENERATE_SHLIB_SCRIPT): Define as yes.
4833
4834 Fri Jul 14 12:11:46 1995  Ian Lance Taylor  <ian@cygnus.com>
4835
4836         * emultempl/mipsecoff.em (check_sections): Use %P, not %F.
4837
4838         * ldver.c (help): Update list of options to match currently
4839         supported list.
4840
4841 Thu Jul 13 13:52:10 1995  Ian Lance Taylor  <ian@cygnus.com>
4842
4843         * emultempl/lnk960.em (ld_lnk960_emulation): Initialize
4844         after_open field.
4845
4846         * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
4847         it takes a size_t anyhow.
4848         (exp_binop): Likewise.
4849         (exp_trinop): Likewise.
4850         (exp_unop): Likewise.
4851         (exp_nameop): Likewise.
4852         (exp_assop): Likewise.
4853         * ldlang.c (lang_memory_region_lookup): Likewise.
4854         (init_os): Likewise.
4855         (ldlang_add_undef): Likewise.
4856         (insert_pad): Likewise.
4857         * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
4858         bfd_size_type.
4859
4860         * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o.
4861
4862 Wed Jul 12 11:32:22 1995  Ian Lance Taylor  <ian@cygnus.com>
4863
4864         * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
4865         declaration.
4866         (ld_emulation_xfer_type): Add search parameter to
4867         open_dynamic_archive entry point.
4868         * ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
4869         * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
4870         make non-static.  Change all callers to use new name.
4871         (ldfile_open_file_search): Make static.  If entry is dynamic, call
4872         ldemul_open_dynamic_archive.
4873         (ldfile_open_file): Don't call ldemul_open_dynamic_archive.
4874         * ldfile.h (ldfile_open_file_search): Don't declare.
4875         (ldfile_try_open_bfd): Declare.
4876         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
4877         Accept search parameter.  Don't search for a library, just look in
4878         a single place.
4879         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
4880         Likewise.
4881
4882 Tue Jul 11 16:44:21 1995  Ian Lance Taylor  <ian@cygnus.com>
4883
4884         * ldmain.c (set_scripts_dir): Don't base script directory on
4885         current directory.
4886
4887 Tue Jul 11 12:29:02 1995  Rick Sladkey  <jrs@world.std.com>
4888
4889         * ldmisc.c (vfinfo): Don't print the line number if it isn't
4890         meaningful.
4891
4892 Mon Jul 10 13:38:28 1995  Ian Lance Taylor  <ian@cygnus.com>
4893
4894         * ld.h (ld_config_type): Add field warn_constructors.
4895         * ldmain.c (add_to_set): Warn if config.warn_constructors.
4896         (constructor_callback): Likewise.
4897         * lexsup.c (parse_args): Handle -warn-constructors.
4898         * ld.texinfo, ld.1: Document -warn-constructors.
4899
4900         * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
4901         get confused by directory names if we searched for the file.
4902
4903         Based on patches from H.J. Lu <hjl@nynexst.com>:
4904         * ldlang.h (lang_input_statement_type): Add new field dynamic.
4905         * ldlang.c (new_afile): Set dynamic from config.dynamic_link.
4906         * ldfile.c: Include bfdlink.h.
4907         (ldfile_open_file): Check dynamic field of entry, not global
4908         dynamic_link field.  Don't do a dynamic search when doing a
4909         relocateable link.
4910         * ldmain.c (main): Don't warn about dynamic_link for a
4911         relocateable link.
4912         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
4913         dynamic is false.
4914         (gld${EMULATION_NAME}_create_output_section_statements): Always
4915         loop over input files.
4916         * Makefile.in: Rebuild dependencies.
4917
4918         * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
4919         -shared.
4920
4921 Mon Jul 10 13:29:43 1995  Eric Youngdale  <eric@aib.com>
4922
4923         * ldmain.c (main): Set link_info.symbolic to false.
4924         * lexsup.c (parse_args): Handle -Bsymbolic.
4925
4926 Wed Jul  5 00:12:11 1995  Fred Fish  (fnf@cygnus.com)
4927
4928         * ldmain.c (HAVE_SBRK):  Define for everything except
4929         specific systems that are known to not support sbrk.
4930         (main):  Use HAVE_SBRK to decide whether or not to use sbrk.
4931
4932 Tue Jul  4 12:55:48 1995  Ian Lance Taylor  <ian@cygnus.com>
4933
4934         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
4935         Handle etree_provide.
4936
4937         * emultempl/elf32.em (global_needed): New static variable.
4938         (global_found): Likewise.
4939         (gld${EMULATION_NAME}_after_open): New static function.
4940         (gld${EMULATION_NAME}_search_needed): Likewise.
4941         (gld${EMULATION_NAME}_try_needed): Likewise.
4942         (gld${EMULATION_NAME}_check_needed): Likewise.
4943         (ld_${EMULATION_NAME}_emulation): Replace after_open_default with
4944         gld${EMULATION_NAME}_after_open.
4945
4946 Mon Jul  3 14:26:37 1995  Steve Chamberlain  <sac@slash.cygnus.com>
4947
4948         * configure.in (i386-*-win32): New target.
4949
4950 Mon Jul  3 14:39:22 1995  Ian Lance Taylor  <ian@cygnus.com>
4951
4952         * lexsup.c (parse_args): Let -G either set the small data size or
4953         be equivalent to --shared, depending on the next argument.  Accept
4954         and ignore -z for Solaris compatibility.
4955
4956 Sun Jul  2 17:52:34 1995  Ian Lance Taylor  <ian@cygnus.com>
4957
4958         * lexsup.c (parse_args): Cast fopen result to PTR before storing
4959         it in link_info.base_file.  Fix indentation.
4960
4961 Wed Jun 28 17:11:25 1995  Steve Chamberlain  <sac@slash.cygnus.com>
4962
4963         * ldmain.c (main): Always initialize PE info in link_info.
4964         * lexsup.c (OPTION_BASE_FILE): New option.
4965         (parse_args): Handle new option.
4966         * emulparams/armpe.sh: Output pei.
4967         * emultempl/i386pe.em: Add newline to end.
4968         * scripttempl/armpe.sc: Change output and quote the $s.
4969         * scripttempl/i386pe.sc: Change output and quote the $s.
4970
4971 Thu Jun 22 19:55:41 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
4972
4973         Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
4974
4975         * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
4976         * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
4977         (i386msdos.o): New target.
4978         * config/i386-msdos.mt: Created.
4979         * emulparams/i386msdos.sh: Created.
4980         * scripttempl/i386msdos.sc: Created.
4981
4982 Thu Jun 22 15:06:35 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
4983
4984         * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section
4985         that contains pointers to be relocated.
4986
4987 Tue Jun 20 17:47:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
4988
4989         * mpw-esh.c: New file, modified for MPW from esh.c.
4990         * scripttempl/sh.sc: Reformatted to simplify MPWification,
4991         use *() to concat stab sections instead of [].
4992
4993 Thu Jun 15 08:48:16 1995  Steve Chamberlain  <sac@slash.cygnus.com>
4994
4995         * scripttempl/armpe.sc: Add constructor support.
4996
4997 Tue Jun 13 09:11:20 1995  Steve Chamberlain  <sac@slash.cygnus.com>
4998
4999         * ldlang.c (lang_size_sections):  Any section with a DATA
5000         statement has contents.
5001
5002 Sun Jun 11 15:20:46 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
5003
5004         * emulparams/m68kelf.sh (NOP): Define.
5005         (DYNAMIC_LINK): Don't define.
5006         (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers
5007         will come from the linker script.
5008
5009 Thu Jun  8 14:17:33 1995  Steve Chamberlain  <sac@slash.cygnus.com>
5010
5011         * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack.
5012
5013 Mon Jun  5 02:16:24 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
5014
5015         * configure.in (i[345]86-*-gnu*): Use GNU elf config.
5016
5017 Thu May 25 11:49:28 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5018
5019         From Andrew Cagney <cagney@highland.com.au>
5020         * Makefile.in: Fixup more gotchas from renaming elf32ppcle to
5021         elf32lppc.
5022
5023 Wed May 24 11:23:21 1995  Steve Chamberlain  <sac@slash.cygnus.com>
5024
5025         Add support for ARM-PE.
5026         * Makefile.in (ALL_EMULATIONS): Add armpe.o
5027         * configure.in: Recognize armpe.
5028         * config/arm-pe.mt: New file.
5029         * emulparams/armpe.sh: New file.
5030         * scripttempl/armpe.sc: New file.
5031
5032
5033 Mon May 22 15:19:26 1995  Doug Evans  <dje@chestnut.cygnus.com>
5034
5035         * configure.in (h8300h-*-hms): Deleted
5036         * config/cf-h8300h.mt: Deleted.
5037
5038 Thu May 18 04:26:10 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
5039
5040         Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
5041
5042         From David Taylor (dtaylor@armltd.co.uk)
5043         * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o
5044         * configure.in: Recognize arm{,e[lb]-*-aout.
5045         * config/arm[lb]-aout.mt: New files.
5046         * emulparams/armaout[lb].sh: New files.
5047         * scripttempl/armaout.sc: New file.
5048
5049 Tue May 16 18:27:11 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5050
5051         * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to
5052         be unique in 8 characters for DOS.
5053
5054         * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh.
5055         * emulparams/elf32ppcle.sh: Deleted.
5056
5057 Fri May 12 11:03:55 1995  Steve Chamberlain  <sac@slash.cygnus.com>
5058                           Tom Griest <griest@cs.yale.edu>
5059
5060         Initial support for PE executables (eg NT, win32)
5061
5062         * Makefile.in (configure.in, ei386pe): Add support.
5063         * ldmain.c (main): Initialize PE argument info.
5064         * ldwrite.c (print_file_stuff): Don't print out .drectve
5065         and .debug section info.
5066         * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
5067          OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
5068          Handle new arguments.
5069         * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
5070         New files
5071
5072 Wed May 10 18:37:59 1995  Stu Grossman  (grossman@andros.cygnus.com)
5073
5074         * scripttempl/hppaelf.sc:  Remove .PARISC.unwind section from text
5075         segment.  This allows ld -r to preserve unwind sections.
5076
5077 Tue May  9 17:19:57 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5078
5079         * configure.in: Add little endian PowerPC support.
5080
5081         * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o.
5082         (eelf32ppcle.c): Support for little endian PowerPC.
5083
5084         * config/ppcle-elf32.mt: New file for little endian PowerPC.
5085         * emulparams/elf32ppcle.sh: Ditto.
5086
5087 Wed May  3 12:56:32 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
5088
5089         * ldlang.c (print_output_section_statement): Check
5090         subsection_alignment, instead of checking section_alignment twice.
5091         Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>.
5092
5093 Tue May  2 16:36:07 1995  Jeff Law  (law@snake.cs.utah.edu)
5094
5095         * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
5096
5097 Mon Apr 24 19:21:02 1995  Michael Meissner  <meissner@cygnus.com>
5098
5099         * ldwrite.c (ldwrite): Before doing anything, reset the error
5100         code.  If bfd_final_link returns an error, but the error code is
5101         unset, don't issue an extra message.  Assume a correct error
5102         message was already set.
5103
5104 Fri Apr 14 16:31:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
5105
5106         * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
5107         (em68kelf.o): New target.
5108         * config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
5109         * configure.in: Use them for m68*-*-elf.
5110
5111 Tue Apr 11 12:02:03 1995  Stan Shebs  <shebs@andros.cygnus.com>
5112
5113         Merge in support for Mac MPW as a host.
5114         (Old change descriptions retained for informational value.)
5115
5116         * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
5117         (i386-unknown-coff): Remove.
5118         (sh-hitachi-hms): New target.
5119         (emulation_ofiles): Set correctly for each target.
5120         (version, TDEFINES): Add to makefile fragment.
5121         * mpw-make.in (BISON): Use byacc instead of bison.
5122         (em_*.c): Replace with e*.c everywhere.
5123         (ldgram.h): Separate action from ldgram.c generation.
5124         (LD_PROG): Depend on Version.r.
5125         (Version.r): generate from version info.
5126         * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
5127
5128         * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
5129         i386-unknown-aout, i386-unknown-coff): New targets.
5130         (m68k-aout, m68k-coff): Remove targets.
5131         (mk.tmp): Add definition of EMUL.
5132
5133         * mpw-config.in (emulname): Set based on target.
5134         (ldemul-list.h): Construct.
5135         * mpw-make.in (install-only): New target.
5136         (install): Depend on install-only.
5137
5138         * mpw-make.in (bindir): Fix pathname.
5139         (install): Move here from mpw-build.in.
5140
5141         * mpw-config.in: New file, MPW configuration fragment.
5142         * mpw-make.in: New file, MPW makefile fragment.
5143         (This file is semi-automatically generated from Makefile.in.)
5144         * ldfile.c (slash): If MPW, set to `:'.
5145         * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to
5146         prevent redefinition errors.
5147
5148 Tue Apr  4 17:55:18 1995  Steve Chamberlain  <sac@bang.hack.com>
5149
5150         * ldwrite.c (clone_section): Align clone sections on even
5151         boundaries.
5152
5153 Thu Mar 30 14:32:26 1995  H.J. Lu (hjl@nynexst.com)
5154
5155         * configure.in: Change linux to default to elf.  Using
5156         i[345]86-*-linuxaout will build a linker which defaults to a.out.
5157         * config/i386-laout.mt: Rename from old config/i386-linux.mt.
5158         * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
5159         * config/i386-lelf.mt: Remove.
5160
5161 Thu Mar 30 13:09:46 1995  Ian Lance Taylor  <ian@cygnus.com>
5162
5163         * ldmain.c (main): If opening the map file fails, call
5164         bfd_set_error before calling einfo.
5165
5166         * ld.texinfo, ld.1: Document the -no-keep-memory option.
5167
5168 Mon Mar 27 11:10:08 1995  Ian Lance Taylor  <ian@cygnus.com>
5169
5170         * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
5171         does mark shared libraries as executable.
5172
5173 Tue Mar 21 15:15:38 1995  Ian Lance Taylor  <ian@cygnus.com>
5174
5175         * ldlang.c (lang_common): Change power to int.  Pass larger values
5176         before smaller values.
5177         (lang_one_common): Treat info as int *.  Don't bother to check for
5178         last value, since it is now zero.
5179
5180 Sat Mar 18 01:49:14 1995  Ian Lance Taylor  <ian@cygnus.com>
5181
5182         * ldlang.c (load_symbols): An empty archive is OK.
5183
5184 Fri Mar 17 16:15:31 1995  Stan Shebs  <shebs@andros.cygnus.com>
5185
5186         * ldmain.c (progress.h): Include.
5187         (main): Call START_PROGRESS and END_PROGRESS.
5188
5189 Thu Mar 16 17:17:33 1995  Michael Meissner  <meissner@cygnus.com>
5190
5191         * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and
5192         .dtors sections, so that these pointers get relocated also.
5193         Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning
5194         and end of the constructors/destructors.
5195
5196 Thu Mar 16 13:59:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
5197
5198         * ldlang.c (load_symbols): If whole_archive is true and ENTRY
5199         describes an archive, call bfd_link_add_symbols on each member.
5200         * ldmain.c (whole_archive): New variable.
5201         (main): Initialize it to false.
5202         * ldmain.h: Declare whole_archive.
5203         * lexsup.c (parse_args): Grok --whole-archive switch.
5204         * ld.texinfo, ld.1: Document --whole-archive.
5205
5206 Thu Mar 16 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
5207
5208         * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
5209         using the default emulation.
5210
5211         * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
5212         LDEMULATION.
5213         * config/hppaelf.mh (HOSTING_EMU): Likewise.
5214
5215 Tue Mar 14 12:28:03 1995  Ian Lance Taylor  <ian@cygnus.com>
5216
5217         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
5218         for -lc.N.  From H.J. Lu <hjl@nynexst.com>.
5219
5220 Fri Mar 10 14:43:48 1995  Ian Lance Taylor  <ian@cygnus.com>
5221
5222         * ldmain.c (main): Don't set EXEC_P if link_info.shared is set.
5223
5224         * ldlex.l: Return -lFILENAME as the token LNAME.
5225         * ldgram.y: Add token LNAME.
5226         (input_list): Treat LNAME like NAME, but pass it to
5227         lang_add_input_file as lang_input_file_is_l_enum.
5228         * ld.texinfo: Document using -lFILENAME in INPUT.
5229
5230 Thu Mar  9 12:21:51 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5231
5232         * ldlang.c (lang_check): If the architectures are compatible call
5233         bfd_merge_private_bfd_data to let the backend do additional
5234         checks.
5235
5236 Tue Mar  7 00:53:08 1995  Ian Lance Taylor  <ian@cygnus.com>
5237
5238         * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
5239         all supported emulations.
5240
5241 Mon Mar  6 14:03:50 1995  Ian Lance Taylor  <ian@cygnus.com>
5242
5243         * ldemul.c (ldemul_list_emulations): New function.
5244         * ldemul.h (ldemul_list_emulations): Declare.
5245         * ldver.c (help): List supported targets and emulations.
5246
5247 Fri Mar  3 15:40:36 1995  Doug Evans  <dje@canuck.cygnus.com>
5248
5249         * scripttempl/elf.sc (.debug): Relocate to address 0.
5250         (.debug_srcinfo, .debug_aranges, .debug_pubnames,
5251         .debug_sfnames, .line): Likewise.
5252
5253 Fri Mar  3 17:07:14 1995  Ian Lance Taylor  <ian@cygnus.com>
5254
5255         * emultempl/elf32.em (hold_rel): New static variable.
5256         (gld${EMULATION_NAME}_place_orphan): Place readonly sections with
5257         contents whose names begin with ".rel" after hold_rel.  Remove the
5258         assertion which checked for unplaced .rel sections.  Don't try to
5259         sort the section into place if place->bfd_section is NULL.
5260         (gld${EMULATION_NAME}_place_section): Set hold_rel to the first
5261         section beginning with ".rel".
5262
5263 Thu Mar  2 14:34:43 1995  Ian Lance Taylor  <ian@cygnus.com>
5264
5265         Doc note from pierre@phi.la.tce.com (Pierre Willard):
5266         * ld.texinfo: -X and -x work even if -s or -S are not specified.
5267         * ld.1: Similar change.
5268
5269 Wed Mar  1 13:51:16 1995  Ian Lance Taylor  <ian@cygnus.com>
5270
5271         * emulparams/gld960coff.sh (COFF_CTORS): Define.
5272         * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
5273
5274 Tue Feb 28 12:42:56 1995  Ian Lance Taylor  <ian@cygnus.com>
5275
5276         * configure.in (i[345]86-*-linuxelf*): New target.  Use i386-lelf.
5277         (i[345]86-*-gnuelf*): New target.  Use i386-gelf.
5278         * config/i386-lelf.mt: New file.
5279         * config/i386-gelf.mt: New file.
5280
5281 Tue Feb 28 10:27:54 1995  Rob Savoye  <rob@darkstar.cygnus.com>
5282
5283         * configure.in: Match on mips-ecoff, and default to the IDT
5284         configuration.
5285
5286 Fri Feb 17 13:06:47 1995  Michael Meissner  <meissner@cygnus.com>
5287
5288         * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections.
5289         Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area
5290         to double the size of the table.
5291
5292 Thu Feb  9 18:29:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
5293
5294         * Makefile.in (distclean): Do recursive deletion, since ldscripts
5295         is a directory.
5296
5297 Thu Feb  9 11:38:22 1995  Ian Lance Taylor  <ian@cygnus.com>
5298
5299         * ldmain.c (main): If trace_file_tries is true, and we are using
5300         an internal linker script, print out the script.
5301         * ldfile.c (try_open): Reindent function.  Make the messages about
5302         opening script files more informative.
5303
5304         * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
5305         * ld.texinfo, ld.1: Update accordingly.
5306
5307 Wed Feb  8 17:34:45 1995  Ian Lance Taylor  <ian@cygnus.com>
5308
5309         * ldlang.c (lang_one_common): Adjust references to common symbol
5310         information for new structure.
5311
5312 Mon Feb  6 12:17:24 1995  Ian Lance Taylor  <ian@cygnus.com>
5313
5314         * ldmain.c (undefined_symbol): Handle section being NULL.
5315
5316         * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak.
5317         * ldexp.c (fold_name): Likewise.
5318         * ldlang.c (print_one_symbol): Likewise.
5319         (lang_finish): Likewise.
5320         * ldmain.c (multiple_common): Likewise.
5321         * ldwrite.c (print_symbol): Likewise.  Also, bfd_link_hash_weak
5322         renamed to bfd_link_hash_undefweak.
5323
5324         * scripttempl/alpha.sc: Set address of .data section correctly
5325         when -n or -N is used.  Patch from Chris G Demetriou
5326         <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
5327         * scripttempl/mips.sc: Similar change.
5328
5329 Tue Jan 31 16:20:52 1995  Doug Evans  <dje@canuck.cygnus.com>
5330
5331         * ldlang.c (lang_size_sections): Clarify error message when user
5332         specified start addr conflicts with region.  Fix resetting of
5333         region pointer.
5334
5335 Tue Jan 31 12:37:09 1995  Ian Lance Taylor  <ian@cygnus.com>
5336
5337         * ldexp.c (fold_name): In case NAME, permit an absolute symbol
5338         in lang_allocating_phase_enum.
5339
5340 Mon Jan 30 11:33:25 1995  Ian Lance Taylor  <ian@cygnus.com>
5341
5342         * Makefile.in (distclean): Depend upon clean.  Don't bother to
5343         remove files which will be removed by clean.  From patch by
5344         alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra).
5345
5346 Fri Jan 27 16:27:34 1995  Ian Lance Taylor  <ian@cygnus.com>
5347
5348         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
5349         a MIPS target, clobber the size of all but the first input
5350         .reginfo section to be 0, so that lang_size_sections sets the
5351         correct size for the output .reginfo section.
5352
5353 Thu Jan 26 19:53:37 1995  Ian Lance Taylor  <ian@cygnus.com>
5354
5355         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
5356         Remove unused variable is.
5357
5358 Thu Jan 26 12:33:05 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
5359
5360         * configure.in: Add support for powerpc-*-eabi.
5361
5362         * scripttempl/elfppc.sc: New file for PowerPC embedded ABI
5363         support.
5364
5365         * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of
5366         elf.sc, which defines some new symbols PowerPC elf needs.
5367
5368 Tue Jan 24 10:32:15 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5369
5370         * ldctor.c (ldctor_add_set_entry): Don't dump core if a
5371         constructor entry is in the absolute section.
5372
5373 Mon Jan 23 13:58:13 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5374
5375         * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
5376         * config/i386-gnu.mt: New file.  Include ELF support.
5377
5378 Thu Jan 19 16:22:11 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5379
5380         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
5381         there are any input sections named .gnu.warning, treat them as
5382         containing a warning message to be printed by the linker, and
5383         clobber the size so that the message is not copied into the output
5384         file.
5385         * scripttempl/elf.sc: Put .gnu.warning sections into the .text
5386         section.
5387
5388 Sun Jan 15 16:45:00 1995  Steve Chamberlain  <sac@splat>
5389
5390         * configure.in (w65-*-*): New target.
5391         * Makefile.in: Update.
5392         * scripttempl/w65.sc: New.
5393         * config/coff-w65.mt: New.
5394
5395 Thu Jan 12 01:32:25 1995  Ian Lance Taylor  <ian@tweedledumb.cygnus.com>
5396
5397         * ldlang.c (lang_place_orphans): Don't ignore files with
5398         just_syms_flag set.  Instead, put all their sections in
5399         bfd_abs_section_ptr, using the section VMA as the output_offset.
5400
5401 Wed Jan 11 22:59:09 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
5402
5403         * ldctor.c (ldctor_build_sets): Don't use `const' with typedef
5404         name `reloc_howto_type', since it's now defined to be const.
5405         * ldlang.c (lang_add_reloc): Ditto.
5406         * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto.
5407
5408 Wed Jan 11 11:24:45 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5409
5410         * ldexp.c (fold_binary): Adding or subtracting an absolute value
5411         to a relative value does not require forcing the relative value to
5412         be absolute.  Also, reindent function.
5413
5414 Wed Dec 28 22:05:52 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5415
5416         * ldwrite.c (clone_section): Create a symbol with the
5417         same name as the section.
5418
5419 Mon Dec 19 14:02:13 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5420
5421         * ld.h (split_by_reloc, split_by_file): New flags.
5422         * ldwrite.c  (clone_section, split_sections): New functions.
5423         * lexsup.c (parse_args): Understand new split options.
5424
5425 Fri Dec  9 17:22:55 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5426
5427         * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
5428         .data segment.  They must be writable when creating a shared
5429         library.  From H.J. Lu <hjl@nynexst.com>.
5430
5431 Fri Dec  2 14:09:00 1994  Ian Lance Taylor  <ian@rtl.cygnus.com>
5432
5433         * emultempl/miposecoff.em: New file.
5434         * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
5435         * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
5436         * scripttempl/mips.sc: Put .rel.sdata sections in .text, and
5437         provide __runtime_reloc_start and __runtime_reloc_stop if they are
5438         used.   Align _fdata to a 16 byte boundary.
5439         * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
5440         generic.em.
5441         (emipsidtl.c): Likewise.
5442         (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
5443
5444         * ld.h (args_type): Add new field embedded_relocs.
5445         * ldemul.h (ldemul_after_open, after_open_default): Declare.
5446         (ld_emulation_xfer_struct): Add new field after_open.
5447         * ldemul.c (ldemul_after_open): New function.
5448         (after_open_default): New function.
5449         * ldlang.c (lang_process): Call ldemul_after_open.
5450         * lexsup.c (parse_args): Handle --embedded-relocs.
5451         * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
5452         new after_open field to after_open_default.
5453         * emultempl/generic.em, emultempl/gld960.em: Likewise.
5454         * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
5455         * emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
5456         * emultempl/sunos.em, emultempl/vanilla.em: Likewise.
5457         * ld.texinfo, ld.1: Mention -embedded-relocs.
5458
5459 Wed Nov 23 22:04:47 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5460
5461         * Makefile.in: Add eshl.o.
5462         * config/coff-sh.mt: Add shl emulation.
5463
5464 Tue Nov 22 11:55:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5465
5466         * scripttempl/elf.sc: Fill .text section with NOPS.  From Eric
5467         Youngdale <eric@aib.com>.
5468
5469 Thu Nov 17 14:39:48 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5470
5471         Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
5472         * config/i386linux.mh: New file; set HOSTING_CRT0.
5473         * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
5474         /usr/lib, since that is already in LIB_PATH.
5475
5476 Wed Nov 16 10:03:03 1994  Jeff Law  (law@snake.cs.utah.edu)
5477
5478         * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
5479         address.
5480         (.data, .bss): If "-N", then place the data/bss just after the end
5481         of the .text section rather than at the default 0x40000000.
5482
5483         * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
5484         text segment.
5485
5486 Sat Nov 12 15:55:56 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5487
5488         Patches from Eric Youngdale <eric@aib.com>:
5489         * ldlang.c (lang_finish): Don't warn if entry symbol not found
5490         when generating a shared library.
5491         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if
5492         attempting to place an orphaned relocation section when generating
5493         a dynamically linked object.
5494
5495         * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
5496         _start.
5497
5498 Fri Nov 11 14:27:23 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5499
5500         * ld.h (args_type): Add field export_dynamic.
5501         * lexsup.c (parse_args): Recognize --export-dynamic.
5502         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
5503         Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
5504
5505 Wed Nov  9 12:47:11 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5506
5507         * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
5508         we allocate common symbols.
5509
5510 Tue Nov  8 17:50:43 1994  Eric Youngdale  (eric@aib.com)
5511
5512         * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
5513         .rela.fini to the list of .rel* sections.
5514
5515 Tue Nov  8 17:47:45 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5516
5517         * ldlang.c (load_symbols): Add new argument place.  Only accept
5518         linker scripts if place is not NULL.  Put commands found in an
5519         assumed linker script into place.
5520         (lookup_name): Pass NULL as place argument to load_symbols.
5521         (open_input_bfds): In lang_input_statement_enum case, pass a place
5522         argument to load_symbols, and store any new statements after the
5523         current one.
5524
5525 Mon Nov  7 15:53:02 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5526
5527         * ldver.c (ldversion): Bump to 2.5.3.
5528
5529 Fri Nov  4 15:11:26 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5530
5531         * Makefile.in (e*nbsd.c): Fix typo in dependencies.
5532
5533 Thu Nov  3 19:35:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5534
5535         * Makefile.in (check): Add missing "else true" clause.
5536
5537         * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
5538
5539         * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default
5540         entry point to "start".  Align at end of each section to 0x200.
5541         Start .text section 0x1000 later.  Add _etext, _edata, _end
5542         symbols.
5543
5544 Wed Nov  2 12:17:49 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5545
5546         * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
5547         composed of different object file formats.
5548         (ldctor_build_sets): If the output format does not support the
5549         reloc, and we are not generating a relocateable link, try getting
5550         the reloc from the input format.
5551
5552 Tue Nov  1 10:30:19 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
5553
5554         * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
5555           (em68knbsd.c): New target.
5556
5557         * config/m68k-nbsd.mt: New file.
5558         * emulparams/m68knbsd.sh: New file.
5559         * configure.in (m68*-*-netbsd*): Use above configs.
5560
5561 Mon Oct 31 19:35:17 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5562
5563         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
5564         appropriately named static library, stop the search at that
5565         directory.
5566
5567 Wed Oct 26 13:59:12 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
5568
5569         * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
5570           and esparcnbsd.o; sorted entries.
5571           (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
5572
5573         * config/netbsd532.mt: Removed.
5574         * emulparams/netbsd532.sh: Removed.
5575
5576         * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
5577         * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
5578         * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
5579           sparc*-*-netbsd*): Use above configs.
5580
5581 Tue Oct 25 11:47:10 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5582
5583         * ldmain.c (multiple_common): One of the types may now be
5584         bfd_link_hash_indirect.  The old BFD argument may be NULL.
5585
5586 Thu Oct 20 22:01:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5587
5588         * configure.in: Add * at the end of m68k-hp-hpux.
5589
5590 Tue Oct 18 15:58:39 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5591
5592         * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
5593         YY_CHAR *.
5594
5595 Mon Oct 17 14:53:16 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
5596
5597         * scripttempl/nw.sc: Gather constructors and destructors and
5598           define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
5599
5600 Fri Oct 14 14:35:38 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
5601
5602         * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
5603           (ei386nw.c, eppcnw.c): New targets.
5604
5605         * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
5606           scripttempl/nw.sc: New files, for i386 and powerpc netware.
5607
5608         * configure.in: Changed netware ld_target name to be {i386,ppc}-nw
5609           instead of {i386,ppc}-elf.
5610
5611         * configure.in (sparc*-*-netware): Removed.  There is no such
5612           thing anymore.
5613
5614         * ldint.texinfo: Move misplaced `@end iftex'.
5615
5616 Fri Oct 14 12:02:18 1994  Eric Youngdale  (eric@aib.com)
5617
5618         * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
5619         .rela.dtors to the list of .rel* sections.
5620
5621 Thu Oct 13 14:16:27 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5622
5623         * ldver.c (ldversion): Update to version 2.5.
5624         * Version 2.5 released.
5625
5626         * configure.in (all_targets): Handle i386-linux*.
5627
5628 Thu Oct 13 11:24:33 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5629
5630         * scripttempl/aout.sc: Set _etext and __etext to ., not
5631         ${DATA_ALIGNMENT}.  This is compatible with SunOS, and, with luck,
5632         will not break any other system.  From Eric Valette
5633         <ev@chorus.fr>.
5634
5635 Wed Oct 12 16:22:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
5636
5637         * lexsup.c (parse_args): Change -V to be a synonym for -v.  Add
5638         --verbose to get the old -V behaviour.
5639         * ld.1, ld.texinfo: Document this change.
5640
5641 Tue Sep 27 14:56:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5642
5643         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
5644         assertion, since it could fail with a user defined linker script.
5645
5646         * ldexp.c (fold_name): For DEFINED case, don't try to look up the
5647         name in the hash table during the first phase--the hash table does
5648         not even exist at that point, much less have the right value.
5649
5650         * Makefile.in (CC): Define.
5651         (CXX): Move definition, change from g++ to gcc.
5652         (EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
5653         (RUNTEST_CC, RUNTEST_CFLAGS): Remove.
5654         (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
5655         (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
5656         (.cc.o): Comment out.
5657         (testdir): Remove.
5658         (site.exp): Don't create testdir or set tmpdir.
5659         (check): Run checks even if not running native.  Use CC_FOR_TARGET
5660         instead of RUNTEST_CC, and likewise for CXX.
5661         (cdtest targets): Comment out.
5662         * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
5663         * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
5664         * cdtest-main.cc, cdtest.exp: Remove.
5665
5666 Mon Sep 26 11:40:30 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5667
5668         * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
5669         file naming problems.
5670         * emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
5671         * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
5672         eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
5673         (eelf32bmip.c): Rename from eelf32mipb.c.  Use elf32bmip.sh.
5674         (eelf32lmip.c): Rename from eelf32mipl.c.  Use elf32lmip.sh.
5675         * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
5676         * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
5677
5678         * genscripts.sh: Always search /usr/local/TARGET/lib.
5679
5680         * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".".
5681
5682 Fri Sep 23 15:05:49 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5683
5684         * configure.in: Handle i386-bsdi* targets like i386-bsd.
5685
5686 Fri Sep 23 00:06:59 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5687
5688         * lexsup.c (parse_args): Add support for -a for HP/UX
5689         compatibility.
5690
5691         * lexsup.c (parse_args): -c takes an argument.
5692
5693 Tue Sep 20 14:35:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5694
5695         * ld.h (args_type): Add new field endian.
5696         * lexsup.c (parse_args): Handle -EB and -EL by setting
5697         command_line.endian.
5698         * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
5699         * ldlang.c (lang_add_output_format): Add arguments big and little.
5700         If command_line.endian is set, use it to select big or little
5701         rather than the default.  Changed all callers.
5702         * ldlang.h (lang_add_output_format): Update declaration.
5703         * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
5704         LITTLE_OUTPUT_FORMAT.
5705         * emulparams/elf32mipl.sh: Likewise.
5706         * emulparams/mipsbig.sh: Likewise.
5707         * emulparams/mipsbsd.sh: Likewise.
5708         * emulparams/mipsidt.sh: Likewise.
5709         * emulparams/mipsidtl.sh: Likewise.
5710         * emulparams/mipslit.sh: Likewise.
5711         * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
5712         LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
5713         OUTPUT_FORMAT.
5714         * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
5715         LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
5716         * scripttempl/mipsbsd.sc: Likewise.
5717
5718         * Makefile.in (ldgram.h): Make separate target from ldgram.c,
5719         depending upon ldgram.c, so that a parallel make does not try to
5720         build both at once.
5721
5722         * configure.in (mips*el-elf*): New target.
5723         * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
5724         (eelf32mipl.c): New target.
5725
5726         * config/mipsl-elf32.mt: New file.
5727         * emulparams/elf32mipl.sh: New file.
5728
5729 Fri Sep 16 12:16:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5730
5731         * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
5732         ld -r -S -x.
5733
5734 Thu Sep 15 13:05:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5735
5736         * ldmisc.c (vfinfo): Print BFD file name as well as file name
5737         returned by find_nearest_line, in case the file name is something
5738         unhelpful such as a .h file.  Handle %u.
5739
5740 Wed Sep 14 12:49:12 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5741
5742         * ldlang.c (lang_do_assignments): Make sure output statement
5743         has an attached bfd_section before trying to dereference it.
5744
5745 Wed Sep 14 12:48:09 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5746
5747         * ld.h (ld_config_type): Add new field warn_once.
5748         * ldmain.c (undefined_symbol): Handle -warn-once.
5749         * lexsup.c (parse_args): Recognize -warn-once.
5750         * ld.texinfo (Options): Document -warn-once.
5751         * ld.1: Likewise.
5752
5753         * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
5754         name.  For %C, print the function name on a separate line, to keep
5755         the length of error messages under control.
5756         * ldmain.c (multiple_definition): Use %D for ``first defined
5757         here.''
5758         (undefined_symbol): Use %D for ``more undefined references
5759         follow''.
5760
5761         * ldmisc.c (multiple_warn): Remove; no longer used.
5762         * ldmisc.h (multiple_warn): Don't declare.
5763
5764 Tue Sep 13 20:47:58 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5765
5766         * ldlang.c (print_output_section_statement): Print all lines
5767         to the map file.
5768
5769 Tue Sep 13 16:30:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5770
5771         * ldlang.c (load_symbols): Check for archive before object.  Use
5772         bfd_check_format_matches, and, if ambiguous, print a list of
5773         matching formats.  If file format is not recognized, treat file as
5774         a linker script.
5775         * ldgram.y (yyerror): If assuming an object file is a script,
5776         mention that.  Tweak the format of the error messages.
5777         * ldlex.l (lex_warn_invalid): If assuming an object is a script,
5778         guess that this is not actually a script, and just report that the
5779         file format was not recognized.
5780         * ld.texinfo (Options): Admit that -( may be used more than once.
5781         Add note that unrecognized object files are now treated as linker
5782         scripts.
5783
5784         * ldfile.c (ldfile_input_filename): Make const.
5785         (ldfile_assumed_script): New variable.
5786         (try_open): Change arguments types to const.
5787         (ldfile_find_command_file): Likewise.
5788         (ldfile_open_command_file): Likewise.  Also, set lineno to 1.
5789         * ldfile.h: Update declarations for ldfile.c changes.
5790         * ldlex.l: Include <ctype.h>.
5791         (file_name_stack): Change to be const char *.
5792         (lineno_stack): New static variable.
5793         (<<EOF>>): Set lineno as well as ldfile_input_filename.
5794         (lex_push_file): Make name argument const.  Initialize
5795         lineno_stack entry.
5796         (lex_redirect): Initialize lineno_stack entry.
5797         (lex_warn_invalid): Handle non printable characters nicely.
5798         * ldlex.h (lex_push_file): Declare second argument as const.
5799
5800         * ldgram.y (ifile_p1): Recognize GROUP.
5801         * ldlex.l: Recognize GROUP.
5802         * ld.texinfo (Option Commands): Document GROUP.
5803
5804 Mon Sep 12 17:04:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5805
5806         * config/m68klynx.mh: New file.
5807
5808 Mon Sep 12 01:50:03 1994  Jeff Law  (law@snake.cs.utah.edu)
5809
5810         * emultempl/hppaelf.em: Add newlines to the error messages.
5811
5812 Sat Sep 10 16:05:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5813
5814         * config/i386lynx.mh: New file.
5815         * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
5816         unless CONSTRUCTING.
5817
5818 Thu Sep  8 13:25:24 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5819
5820         * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
5821         (GENERATE_SHLIB_SCRIPT): Define as yes.
5822         (DYNAMIC_LINK): Define as false.
5823         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
5824         Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
5825         (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
5826         * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
5827         generic.em.
5828
5829 Thu Sep  8 16:30:37 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5830
5831         * scripttempl/h8500b.sc: Put rdata stuff into own segment.
5832
5833 Thu Sep  8 13:25:24 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5834
5835         * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
5836         .got section is now explicitly handled in elf.sc.
5837
5838 Wed Sep  7 13:08:34 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5839
5840         * scripttempl/alpha.sc: Redo script to set . outside of sections
5841         and not bother to explicitly specify section addresses.
5842         Explicitly place .sdata section.
5843
5844 Tue Sep  6 23:51:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5845
5846         * scripttempl/m68kcoff.sc: Put .bss in data segment.
5847
5848         * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
5849         0, and to only be marked as NOLOAD if relocating.
5850         * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
5851         * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
5852         * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
5853         * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
5854         * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
5855         * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
5856         * scripttempl/sparclynx.sc: Likewise.
5857
5858 Sun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
5859
5860         * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX.
5861         * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc:
5862         New files.
5863
5864 Tue Aug 30 11:48:08 1994  Eric Youngdale  (ericy@cais.cais.com)
5865
5866         * ld.h (args_type): Add field soname.
5867         * lexsup.c (parse_args): Handle -soname argument.
5868         * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
5869         pass soname.
5870         * ld.texinfo: Document -soname.
5871
5872 Mon Aug 29 15:21:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5873
5874         * ldlang.c (lang_check): Don't try to set the architecture if the
5875         input and output files are incompatible.  Just warn.
5876
5877 Wed Aug 24 12:52:30 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5878
5879         * configure.in: Change i[34]86 to i[345]86.
5880
5881 Sun Aug 21 16:17:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5882
5883         * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0.
5884
5885 Thu Aug 18 15:37:45 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5886
5887         Make the ELF linker handle orphaned sections reasonably.  Also,
5888         define __start_SECNAME and __stop_SECNAME around sections whose
5889         names can be represented in C, for the benefit of symbol sets in
5890         glibc.
5891         * ldemul.h (ldemul_place_orphan): Declare.
5892         (ld_emulation_xfer_type): Add place_orphan field.
5893         * ldemul.c (ldemul_place_orphan): New function.
5894         * ldlang.h (wild_doit): Declare.
5895         * ldlang.c (wild_doit): Make nonstatic.
5896         (lang_place_orphans): Call ldemul_place_orphan.
5897         * emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
5898         (hold_section, hold_use, hold_text, hold_data, hold_bss): New
5899         static variables.
5900         (gld${EMULATION_NAME}_place_orphan): New static function.
5901         (gld${EMULATION_NAME}_place_section): New static function.
5902         (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
5903
5904 Tue Aug 16 00:17:20 1994  Eric Youngdale  (ericy@cais.cais.com)
5905
5906         * scripttempl/aout.sc: Add .linux-dynamic after .data.
5907
5908 Tue Aug 16 00:08:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5909
5910         * lexsup.c (parse_args) Treat --dll-verbose as --version, for
5911         Linux compatibility.  From hjl@nynexst.com (H.J. Lu).
5912
5913 Mon Aug 15 17:17:33 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5914
5915         * ldexp.h (exp_get_abs_int): Declare.
5916
5917 Sat Aug  6 01:45:39 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5918
5919         * ldlang.c (lang_do_assignments):  Handle complex AT's better.
5920         * ldexp.c (exp_get_abs_int):  New function.
5921
5922 Fri Aug  5 20:55:55 1994  Jason Molenda (crash@phydeaux.cygnus.com)
5923
5924         * configure.in: add i960-nindy-coff support.
5925
5926 Thu Aug  4 14:45:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5927
5928         * ldlex.l (yy_create_string_buffer): Handle change to internal
5929         interface in flex 2.4.7.
5930
5931 Tue Aug  2 11:52:06 1994  Eric Youngdale  (ericy@cais.cais.com)
5932
5933         * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
5934         New function; add 0x20 to any use of -Ttext.
5935         (gld${EMULATION_NAME}_create_output_section_statements): New
5936         function.
5937         (ld_${EMULATION_NAME}_emulation): Use the new function
5938         gld${EMULATION_NAME}_create_output_section_statements.
5939
5940 Mon Aug  1 15:50:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5941
5942         * scripttempl/mips.sc: Redo script to set . outside of sections
5943         and not bother to explicitly specify section addresses.
5944
5945 Tue Jul 26 11:02:35 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5946
5947         * scripttempl/elf.sc: Copy several more relocation sections into
5948         the output.  Put .got.plt sections into .got.
5949
5950 Fri Jul 22 12:15:36 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5951
5952         * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
5953
5954         Add a new script operator, PROVIDE, to define a symbol only if it
5955         is needed.
5956         * ldgram.y (PROVIDE): New token.
5957         (assignment): Accept PROVIDE.
5958         * ldlex.l (PROVIDE): New token.
5959         * ldexp.h (node_type): Add etree_provide to node_class enum.
5960         (exp_provide): Declare.
5961         * ldexp.c (exp_fold_tree): Handle etree_provide.
5962         (exp_provide): New function.
5963         (exp_print_tree): Handle etree_provide.
5964         * ld.texinfo: Document PROVIDE.
5965
5966         * ldlang.c (lang_common): Pass desired alignment to
5967         lang_one_common as power of two.
5968         (lang_one_common): Get common symbol alignment from linker hash
5969         table entry.  Treat desired alignment as a power of two.
5970
5971         * ldlang.c (wild_section): Attach all section with the given name,
5972         not just the first one.  If there is no name, attach all sections
5973         even if the SEC_IS_COMMON flag is set.
5974
5975 Wed Jul 20 15:49:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5976
5977         * ld.h (args_type): Add field rpath.
5978         * lexsup.c (S_ISDIR): Define if not already defined.
5979         (parse_args): Add support for -rpath.  If -R is used to name a
5980         directory, treat it as -rpath for Solaris compatibility.
5981         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
5982         Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
5983         * ldmain.c (main): Initialize command_line.rpath to NULL.
5984         * ld.texinfo: Document -rpath option.
5985
5986 Sun Jul 10 00:33:24 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
5987
5988         * emulparams/pc532machaout.sh: New file. Pc532 mach script
5989         parameters.
5990
5991         * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
5992
5993         * config/pc532mach.mt: New file. Pc532 mach target support.
5994
5995         * config/pc532mach.mh: New file. Pc532 mach host support.
5996
5997         * config/netbsd532.mt: New file. Netbsd 532 target support.
5998
5999         * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
6000
6001         * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
6002         dependency.
6003
6004 Fri Jul  8 10:57:02 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6005
6006         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
6007         bfd_abs_section_ptr, not &bfd_abs_section.
6008
6009         * lexsup.c (parse_args): Changed "retain-symbols-file" from
6010         no_argument to required_argument.  From djm.
6011
6012 Thu Jul  7 12:29:53 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6013
6014         * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
6015         sections to force a VMA of 0; needed for ELF backends which have
6016         not been converted to the new linker style.
6017
6018 Mon Jul  4 19:35:45 1994  Jeff Law  (law@snake.cs.utah.edu)
6019
6020         * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
6021         it was for the HPUX dynamic loader's use and it creates problems
6022         with ELF GDB.
6023
6024 Fri Jul  1 12:53:47 1994  Jeff Law  (law@snake.cs.utah.edu)
6025
6026         * ldlang.c (lang_do_assignments): No longer static.  Delete decl.
6027         * ldlang.h (lang_do_assignments): Put external decl here.
6028         * emultempl/hppaelf.em: Minor cleanups throughout file.
6029         (hppa_elf_create_output_section_statements): Rewrite.
6030         (hppaelf_finish): Rewrite.
6031
6032 Wed Jun 29 16:50:00 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6033
6034         * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
6035
6036         * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic.  Do not
6037         accept plain -B.
6038         * ld.texinfo: -Bstatic is not ignored.
6039
6040 Tue Jun 28 12:13:34 1994  Stan Shebs  (shebs@andros.cygnus.com)
6041
6042         * ldlex.l: Recognize \r the same as \n.
6043
6044 Thu Jun 23 17:53:04 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6045
6046         Preliminary support for generating shared libraries, from Eric
6047         Youngdale <ericy@cais.cais.com>.
6048         * genscripts.sh: If the emulation parameter file sets
6049         GENERATE_SHLIB_SCRIPT, generate a .xs script file with
6050         CREATE_SHLIB defined.
6051         * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
6052         link_info.shared is set, use the .xs script file.
6053         * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
6054         .interp section, and don't include TEXT_START_ADDR in the starting
6055         address of the first section.
6056         * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
6057         * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
6058
6059 Thu Jun 23 12:52:22 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6060
6061         * configure.in: Change --with-targets to --enable-targets.
6062
6063 Wed Jun 22 13:42:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6064
6065         * lexsup.c (parse_args): Add support for new options -( -) with
6066         synonyms --start-group --end-group.
6067         * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
6068         (lang_group_statement_type): Define new struct.
6069         (lang_statement_union_type): Add group_statement field.
6070         (lang_enter_group, lang_leave_group): Declare.
6071         * ldlang.c (lang_for_each_statement_worker): Handle
6072         lang_group_statement_enum.
6073         (map_input_to_output_sections, print_statement): Likewise.
6074         (lang_size_sections, lang_do_assignments): Likewise.
6075         (open_input_bfds): Completely rewrite.  Now does its own looping,
6076         rather than using lang_for_each_statement.  Handle groups.
6077         (lang_process): Update call to open_input_bfds.
6078         (print_group): New static function.
6079         (lang_enter_group, lang_leave_group): New static functions.
6080         * ldfile.c (ldfile_open_file): If the file has already been
6081         opened, just return rather than taking an assertion failure.
6082         * ldver.c (help): Mention new options.
6083         * ld.texinfo: Document new options.
6084
6085         * ldlang.c (end_of_data_section_statement_list): Don't define.
6086         (lang_leave_output_section_statement): Don't set obsolete variable
6087         end_of_data_section_statement_list.
6088
6089         * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
6090         ALIGN.
6091
6092         * ldlang.c (lang_size_sections): Adjust current region address
6093         even for sections with an explicit address.  From
6094         ralphc@pyramid.com (Ralph Campbell).
6095
6096         * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
6097         From jrs@world.std.com (Rick Sladkey).
6098
6099         * scripttempl/mipsbsd.sc: Let sections align to their natural
6100         boundaries.
6101
6102 Tue Jun 21 11:27:04 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6103
6104         * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
6105         &bfd_abs_section.
6106         (lang_abs_symbol_at_beginning_of): Likewise.
6107         (lang_abs_symbol_at_end_of): Likewise.
6108         (lang_size_sections): Use bfd_is_abs_section to check for the
6109         absolute section.  Don't try to set the VMA or output_offset or
6110         size of the absolute section.
6111         * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
6112         undefined section.
6113
6114 Thu Jun 16 22:48:41 1994  Jeff Law  (law@snake.cs.utah.edu)
6115
6116         * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
6117         when generating relocatable objects.
6118
6119 Thu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
6120
6121         * emultempl/linux.em: New file providing support for linking
6122         against Linux shared libraries.
6123         * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
6124         * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
6125
6126 Thu Jun 16 12:22:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6127
6128         * lexsup.c (parse_args): Add -shared to longopts, and handle it.
6129         * ldmain.c (main): Initialize link_info.shared to false.  Give
6130         error if link_info.relocateable and link_info.shared are both set.
6131
6132         * configure.in: If EMUL_EXTRA* is defined in a config file, treat
6133         it as naming an emulation to be added to EMULATION_OFILES.
6134         * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
6135
6136         * Makefile.in: Rebuilt dependencies.
6137         (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
6138         eelf64_sparc.o.  Remove $(OTHER_EMULATIONS).
6139         (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
6140         * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
6141         (ei386linux.c): Remove; now in Makefile.in.
6142         * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
6143         * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
6144         * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
6145         * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
6146         (eelf64_sparc.c): Remove; now in Makefile.in.
6147         * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
6148         (eelf32_sparc.c): Remove; now in Makefile.in.
6149
6150         * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
6151         no owner--it might be bfd_abs_section.  From Eric Youngdale
6152         <ericy@cais.cais.com>.
6153
6154         * scripttempl/aout.sc: Let sections align to their natural
6155         boundaries.
6156
6157 Wed Jun 15 01:54:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6158
6159         * ldemul.h (ldemul_open_dynamic_archive): Declare.
6160         (ld_emulation_xfer_type): Add new field open_dynamic_archive.
6161         * ldemul.c: Include ldexp.h and ldlang.h.
6162         (ldemul_open_dynamic_archive): New function.
6163         * ldfile.h (ldfile_open_file_search): Declare.
6164         * ldfile.c: Include ldemul.h.
6165         (try_open_bfd): Rename from cache_bfd_openr.  Return boolean
6166         argument, not bfd *.  Change all callers.
6167         (ldfile_open_file_search): Rename from open_a.  Return boolean
6168         argument, not bfd *.  Clean up.  Change all callers.
6169         (ldfile_open_file): If doing a dynamic link, call
6170         ldemul_open_dynamic_archive rather than assuming the extension of
6171         a dynamic object is ".so".
6172         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
6173         New function.
6174         (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
6175         field.
6176         * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
6177
6178         * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
6179         * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
6180         Accept -static as a synonym for -non_shared.
6181
6182         Let the user change the dynamic linker used by ELF code.
6183         * ld.h (args_type): Add new field interpreter.
6184         * lexsup.c (parse_args): Add dynamic-linker to longopts, and
6185         handle it.
6186         * ldmain.c (main): Initialize command_line.interpreter to NULL.
6187         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
6188         the ELF backend to return the .interp section.  If
6189         command_line.interpreter is not NULL, set the contents of .interp
6190         to it.
6191         * ld.texinfo: Mention -dynamic-linker.
6192
6193         * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
6194         generic.em.
6195
6196         * lexsup.c (parse_args): Sort out the option macros and change the
6197         definitions to make it easier to add a new option.
6198
6199         * scripttempl/aout.sc: Define __etext and __edata to go along with
6200         _etext and _edata.
6201
6202         * ld.h (ld_config_type): Add new field traditional_format.
6203         * lexsup.c (parse_args): Add traditional-format to longopts, and
6204         handle it.
6205         * ldmain.c (main): Initialize config.traditional_format to false.
6206         * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
6207         flags of output_bfd according to config.traditional_format.
6208         * ldver.c (help): Mention -traditional-format.
6209         * ld.texinfo: Document -traditional-format.
6210
6211 Tue Jun 14 23:10:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6212
6213         * ldctor.c (ldctor_add_entry): Add entries to a set in the order
6214         they are encountered.
6215
6216 Tue Jun 14 18:05:09 1994  Eric Youngdale  (ericy@cais.cais.com)
6217
6218         * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
6219         (NONPAGED_TEXT_START_ADDR): Define as 0x20.
6220
6221 Mon Jun 13 15:46:09 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6222
6223         * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
6224         _FTEXT, _ETEXT and _FDATA.  Dont define _END.
6225
6226         * ldfile.c (open_a): If this is not an archive, try to open it in
6227         the current directory before searching for it.
6228
6229         * lexsup.c (parse_args): Treat -i as a synonym for -r.
6230
6231         * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
6232         BLOCK works in a section address as documented.
6233
6234         * ldgram.y (YYDEBUG): Don't define.
6235
6236 Fri Jun 10 16:45:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6237
6238         * emultempl/gld960.em: Pass false for new argument to
6239         ldfile_add_library_path.
6240         * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
6241
6242         * emultempl/sunos.em: Only look for .so files if doing a dynamic
6243         link.
6244
6245 Thu Jun  9 08:35:17 1994  Ian Lance Taylor  (ian@cygnus.com)
6246
6247         * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
6248
6249 Thu Jun  9 06:52:29 1994  Bill Cox  (bill@rtl.cygnus.com)
6250
6251         * Makefile.in (check): Delete ld.new dependency so that a regression
6252           test doesn't trigger a rebuild of the linker.
6253
6254 Thu Jun  9 00:17:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6255
6256         * ldlang.c (map_input_to_output_sections): For lang_address, call
6257         init_os if it hasn't already been called.
6258
6259 Thu Jun  2 17:24:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6260
6261         Add support for SunOS shared libraries.
6262         * aout.sc: Don't define __DYNAMIC here.  Add new sections used by
6263         shared library support code.
6264         * emultempl/sunos.em: New file.
6265         * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
6266         * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
6267         * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
6268         (esun3.c): Likewise.
6269
6270         * ldlang.c: Minor formatting cleanups.
6271         (lang_for_each_input_file): New function.
6272         * ldlang.h (lang_for_each_input_file): Declare.
6273
6274         * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
6275         field.
6276         (search_head): Declare.
6277         (ldfile_add_library_path): Add new cmdline argument in prototype.
6278         * ldfile.c (search_head): Make non-static.
6279         (search_dirs_type): Move to ldfile.h.
6280         (ldfile_add_library_path): Accept cmdline argument, and save it.
6281         * lexsup.c (parse_args): Pass true for new cmdline argument of
6282         ldfile_add_library_path.
6283         (set_default_dirlist): Likewise.
6284         * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
6285         argument of ldfile_add_library_path.
6286         * ldgram.y (ifile_p1): Likewise.
6287
6288 Wed Jun  1 14:24:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6289
6290         * ldlang.h (lang_input_statement_type): Remove fields subfiles,
6291         total_size, superfile and chain.
6292         * ldfile.c (open_a): Don't clear search_dirs_flag.
6293         (ldfile_open_file): Don't try to open superfile.  Assert that file
6294         has not already been opened.
6295         * ldlang.c (new_afile): Don't initialize superfile.
6296         * ldmain.c (add_archive_element): Don't initialize subfiles or
6297         chain or superfile.  Initialize search_dirs_flag to false.
6298
6299 Fri May 27 12:25:33 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6300
6301         * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
6302
6303         Changes from binutils-2.4 release:
6304
6305         * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
6306         variables, use whitespace, so scripts don't break.
6307
6308         * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
6309
6310         * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
6311
6312         * cdtest-bar.cc: Renamed from cdtest-func.cc.
6313         * Makefile.in: Noted change.
6314
6315         * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
6316         don't know where that's supposed to come from, or why it's
6317         necessary.
6318
6319         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
6320
6321         * configure.bat: update to latest makefile.in
6322         * emulpara/go32.sh: set to coff-go32 not aout
6323         * emultemp/generic.em: strength-reduce the structure of
6324           this shell script, since the only available shell for
6325           DOS can't handle complex syntax.
6326         * emultemp/stringify.sed: for "sed -f" instead of inline.
6327         * makefile.in: depend on stringify.sed as well as genscripts.sh
6328         * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
6329         * genscripts.sh: empty variables aren't always considered "set",
6330           so set them to "y" instead.
6331
6332 Fri May 27 01:08:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6333
6334         * ldlang.c (entry_symbol): Make static.
6335         (lang_add_entry): Add cmdline argument.
6336         * ldlang.h (lang_add_entry): Change prototype.
6337         * ldgram.y (statement_anywhere): Change lang_add_entry call.
6338         * lexsup.c (parse_args): Likewise.
6339
6340 Tue May 24 16:13:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6341
6342         * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
6343         .reginfo an address.
6344         (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
6345         (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
6346         * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
6347
6348 Thu May 19 13:31:33 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6349
6350         Add support for ELF shared libraries.
6351         * ld.h (ld_config_type): Add field dynamic_link.
6352         * ldmain.c (main): Initialize config.dynamic_link to false.  Warn
6353         on attempts to use -r with -relax, -call_shared or -s.
6354         * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
6355         OPTION_NON_SHARED.  Add OPTION_IGNORE.  Adjust macro values
6356         accordingly.  Add "dy" and "non_shared" options.  Change "Qy" to
6357         OPTION_IGNORE for now.  Handle OPTION_CALL_SHARED and
6358         OPTION_NON_SHARED by setting dynamic_link field accordingly.
6359         Handle OPTION_IGNORE by ignoring it.  Clear dynamic_link field for
6360         -r and -Ur.
6361         * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
6362         opening a file with a .so extension first.
6363         * emultempl/elf32.em: New file.
6364         * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
6365         (NONPAGED_TEXT_START_ADDR): Likewise.
6366         (TEMPLATE_NAME): Define as elf32.
6367         (DATA_PLT): Define.
6368         * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
6369         * scripttempl/elf.sc: Add placement for new dynamic sections.
6370         Don't use CREATE_OBJECT_SYMBOLS.  Define _etext, _edata and _end
6371         outside of any section.  Don't use ALIGN(8); just let one section
6372         VMA follow another.  Put .dynbss in .bss.  Don't mention debugging
6373         sections; they'll be handled correctly anyhow.
6374         * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
6375
6376 Wed May 18 10:15:39 1994  Ian Lance Taylor  (ian@cygnus.com)
6377
6378         * Makefile.in (install): Redirect output of ln to /dev/null.
6379
6380 Mon May 16 13:35:08 1994  Jeff Law  (law@snake.cs.utah.edu)
6381
6382         * emultempl/hppaelf.em: Change all references of
6383         .hppa_linker_stubs to .PARISC.stubs.
6384         * scripttempl/hppaelf.sc: Likewise.
6385
6386 Fri May 13 13:00:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6387
6388         * ldlang.c (print_output_section_statement): Change ``no attached
6389         output section'' message slightly.
6390         (lang_do_assignments): Don't recurse down if there is no real
6391         section.
6392
6393         * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
6394         match corresponding change in emulation templates.
6395         * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
6396         * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
6397
6398 Wed May 11 18:16:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6399
6400         * ldver.c (ldversion): Updated version number.
6401
6402         * cdtest-foo.cc: Use explicit "#pragma implementation".
6403         * cdtest-bar.cc: Renamed from cdtest-func.cc.
6404         * Makefile.in: References to cdtest-func.o changed to
6405         cdtest-bar.o.
6406
6407 Wed May 11 16:24:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6408
6409         Don't create unnecessary output sections.
6410         * ldlang.c (out_bfd_get_section_by_name): Remove.
6411         (wild_section): Call bfd_get_section_by_name rather than
6412         our_bfd_get_section_by_name.  Don't call wild_doit if there is no
6413         section.
6414         (lang_create_output_section_statements): Remove.
6415         (map_input_to_output_sections): For several cases, call init_os if
6416         it has not already been called.
6417         (lang_size_sections): If output section was not created, skip it.
6418         (lang_process): Don't call lan_create_output_section_statements.
6419         (lang_place_orphans): Skip files with just_syms_flags set to true.
6420         * ld.texinfo: Document change.
6421
6422 Tue May 10 14:31:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6423
6424         * ldlang.c (wild_doit): Don't bother initializing the vma and
6425         section size.  Don't special case SEC_SHARED_LIBRARY.
6426         (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
6427         specially.
6428
6429 Fri May  6 12:24:27 1994  Steve Chamberlain  (sac@cygnus.com)
6430
6431         * config/go32.mh : New file for Xgo32X.
6432
6433 Fri May  6 15:15:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6434
6435         * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
6436         before calling einfo, since we are reporting an fopen failure.
6437         From jrs@world.std.com (Rick Sladkey).
6438
6439         * configure.in: Use "e" rather than "em_" as prefix for
6440         emulations.
6441
6442 Fri May  6 01:08:14 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
6443
6444         * emultempl/generic.em: Use "e" rather than "em_" as prefix for
6445         filename.
6446         * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
6447         emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
6448         Ditto.
6449         * Makefile.in: Changed all generated file names.
6450         (ldemul-list.h): Depend on Makefile, not config.status.  Changed
6451         sed patterns to handle new filenames.
6452
6453         * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
6454         * configure.in: Adjusted.
6455
6456 Thu May  5 15:07:32 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6457
6458         * Makefile.in (install-info): Don't use "$<*", it doesn't always
6459         work.  Instead, check build dir and $srcdir explicitly, and use
6460         `echo' to get all the filenames.
6461
6462         * configure.in (h8300h-*-hms): Changed ld_target name to
6463         cf-h8300h.
6464         * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
6465         unique in 8.3.
6466
6467         * config/i960coff.mt: New file.
6468         * emulparams/gld960coff.sh: New file.
6469         * emultempl/gld960c.em: New file.
6470         * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
6471         i960coff configuration.
6472         * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
6473
6474         * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
6475         code isn't included in FSF releases, and it can still be
6476         explicitly selected.
6477         (distclean): Remove site.bak and tmpdir.
6478         (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
6479         (mostlyclean): Delete them explicitly here.  Also remove tmpdir.
6480
6481         Patches from Ralph Campbell:
6482         * config/mipsbsd.mh: New file.
6483         * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
6484         * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
6485         * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
6486         instead of `aout'.
6487
6488         * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
6489
6490 Wed May  4 11:59:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6491
6492         * config/m68k.mt (EMUL): Set to m68kaout.
6493         * emulparams/m68kaout.sh: New file.
6494         * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
6495         (em_m68kaout.c): New target.
6496
6497         * ldlang.c (lang_size_sections): If dot moves because of an
6498         assignment, don't try to insert a pad into the absolute output
6499         section, just change the address of the default memory region
6500         instead.
6501
6502         * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
6503         cdtest-ur.out, and cdtest-ur.tmp.
6504
6505 Wed Apr 27 16:03:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6506
6507         * scripttempl/sa29200.sc: Align all sections to four byte
6508         boundaries.
6509
6510 Wed Apr 27 10:48:03 1994  Steve Chamberlain  (sac@cygnus.com)
6511
6512         * Makefile.in, configure.in: Support for go32 coff.
6513         * config/i386-go32.mt: New file
6514         * emulparams/i386go32.sh: New file
6515         * scripttempl/i386go32.sc: New file
6516
6517 Tue Apr 26 17:20:03 1994  Stan Shebs  (shebs@andros.cygnus.com)
6518
6519         * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
6520         Lynx-specific script templates.
6521         * configure.in (sparclite*-*-coff): Use coff-sparc.
6522         * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
6523         * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
6524         (ENTRY): Set to __main.
6525         * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
6526         * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
6527         * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
6528
6529 Tue Apr 26 12:41:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6530
6531         * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
6532         byte boundary, in case the global constructors do not take up an
6533         even 16 bytes.
6534
6535         * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
6536         exist, get crtbegin based on gcc -print-libgcc-file-name.
6537         (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
6538
6539 Mon Apr 25 15:27:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6540
6541         * ldlang.c (lang_size_sections): When no address is given for a
6542         section, align it according to its requirements.
6543
6544 Thu Apr 21 17:24:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6545
6546         * Makefile.in (clean, distclean): Remove configdoc.texi.
6547
6548 Tue Apr 19 12:12:15 1994  Bill Cox  (bill@rtl.cygnus.com)
6549
6550         * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
6551
6552 Fri Apr 15 14:35:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6553
6554         * ldlang.c (lang_size_sections): When relaxing, adjust the
6555         position of a padding statement, and adjust dot accordingly.
6556
6557 Mon Apr 11 17:37:09 1994  Bill Cox  (bill@rtl.cygnus.com)
6558
6559         * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
6560
6561 Mon Apr 11 12:32:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6562
6563         * scripttempl/i386coff.sc: If relocating, don't put .init and
6564         .fini sections into .text; keep them separate.
6565         * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
6566         exist, get crtbegin based on gcc -print-libgcc-file-name.
6567         (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
6568
6569 Mon Apr 11 10:31:00 1994  Bill Cox  (bill@rtl.cygnus.com)
6570
6571         * Makefile.in (check): Set TCL_LIBRARY for runtest.
6572
6573 Wed Apr  6 00:09:37 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
6574
6575         * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
6576         manufacturer.
6577
6578         * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
6579         if building a final executable.
6580
6581 Tue Apr  5 12:17:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6582
6583         * ldmain.c (main): Check the return value of bfd_close.
6584
6585 Thu Mar 31 18:07:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6586
6587         * scripttempl/alpha.sc: Clean up section alignment to ensure that
6588         sections never overlap when using -r.
6589
6590 Wed Mar 30 15:51:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6591
6592         * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
6593         changes: get_symtab_upper_bound renamed and returns long,
6594         bfd_canonicalize_symtab returns long, check for error indications.
6595
6596 Fri Mar 25 17:20:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6597
6598         * ldlang.c (print_input_section): For section size, use
6599         _cooked_size if it is non-zero, size otherwise.
6600         (size_input_section): Likewise.
6601         (lang_do_assignments): Likewise (case lang_input_section_enum).
6602
6603 Thu Mar 24 15:20:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6604
6605         * ldlang.c (new_afile): Add new argument add_to_list.  Don't set
6606         real to true for lang_input_file_is_marker_enum.  Clear the_bfd.
6607         (lang_add_input_file): Pass true to new_afile for add_to_list.
6608         (lookup_name): Remove force_load argument.  Changed all callers.
6609         Pass false to new_afile for add_to_list.  Split loading of symbols
6610         out into separate function.
6611         (load_symbols): New function split out of lookup_name.  Don't load
6612         the symbols if they are already loaded.
6613         (open_input_bfds): For lang_input_statement_enum call load_symbols
6614         rather than lookup_name.
6615         (lang_process): Pass abs_output_section rather than NULL to
6616         lang_size_sections.
6617         (lang_startup): Set real field of first_file to true.
6618
6619 Wed Mar 23 14:15:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6620
6621         * ldlang.c (had_relax): Removed.
6622         (relax_again): New static variable.
6623         (lang_size_sections): Change call to bfd_relax_section to
6624         correspond to BFD changes.  Set relax_again appropriately.
6625         (lang_process): Remove #if 0 code.  When relaxing, keep calling
6626         lang_do_assignments and lang_size_sections until relax_again
6627         becomes false.
6628
6629         * emultemp/gld960.em: Include libiberty.h
6630         (gld960_before_parse): Pass NULL as final argument to concat.
6631
6632 Tue Mar 22 13:08:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6633
6634         * scripttempl/aout.sc: Force _end and __end to be aligned to a
6635         four byte boundary.
6636
6637         * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
6638         building a bfd_data_link_order, rather than by setting the section
6639         contents immediately.
6640
6641 Mon Mar 21 18:28:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6642
6643         Changes to make -Ur work again.
6644         * ldmain.c (add_to_set): Now takes reloc argument rather than
6645         bitsize.  Check config.build_constructors here.  If an new hash
6646         table entry is created, mark it as undefined.
6647         (constructor_callback): No longer takes bitsize argument.  Pass
6648         BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
6649         BFD backend supports it.
6650         (reloc_overflow): Handle a NULL abfd argument.
6651         (reloc_dangerous, unattached_reloc): Likewise.
6652         * ldctor.c: Include ldmain.h.
6653         (struct set_info): Change bitsize field to reloc.
6654         (ldctor_add_set_entry): Now takes reloc argument rather than
6655         bitsize.  Don't bother to check config.build_constructors here.
6656         (ldctor_build_sets): Get the size from the reloc howto.  If
6657         generating relocateable output, call lang_add_reloc rather than
6658         lang_add_data.
6659         * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
6660         instead of bitsize.
6661         * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
6662         (lang_reloc_statement_type): New structure.
6663         (lang_statement_union_type): Add reloc_statement field.
6664         (lang_add_reloc): Declare new function.
6665         * ldlang.c (lang_for_each_statement_worker): Handle
6666         lang_reloc_statement_enum.
6667         (map_input_to_output_sections, print_statement): Likewise.
6668         (lang_size_sections, lang_do_assignments): Likewise.
6669         (print_reloc_statement): New function.
6670         (lang_add_reloc): New function.
6671         * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
6672
6673         * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
6674         (cdtest-ur, cdtest-ur.out): New targets.
6675         (check-cdtest): Now also check that -Ur works correctly.
6676
6677         * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
6678
6679 Thu Mar 17 12:45:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6680
6681         * ldlang.c (lang_process): Move lang_common call before
6682         map_input_to_output_sections, to ensure that any alignment
6683         constraints set by common symbols are copied over to the output
6684         sections.
6685
6686 Fri Mar 11 22:17:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6687
6688         * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
6689         (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
6690         * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
6691         * emultempl/ppc.em: Remove ugly stub code; turns out not to be
6692         needed for ELF.
6693
6694 Tue Mar  8 04:22:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6695
6696         * config/i386bsd.mh: New file.
6697
6698 Mon Mar  7 15:23:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6699
6700         * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
6701         defined.
6702         * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
6703         (DATA_START_SYMBOLS): Define _fdata.
6704
6705 Mon Feb 28 10:59:14 1994  Stan Shebs  (shebs@andros.cygnus.com)
6706
6707         * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
6708
6709 Sun Feb 27 16:29:38 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
6710
6711         * emultempl/hppaelf.em (hppaelf_finish): Update comments.  This
6712         works again.  Attach some output symbols to the stub file bfd.
6713
6714         * emultempl/hppaelf.em: Include elf32-hppa.h.
6715         (file_chain): Add decl.
6716         (hppa_look_for_stubs_in_section): Delete decl.
6717         (hppaelf_finish): Reenable code.  Do not pass symbols
6718         down to hppa_look_for_stubs_in_section.
6719
6720 Sat Feb 26 10:58:25 1994  Ian Lance Taylor  (ian@cygnus.com)
6721
6722         * ldmain.c (write_map): Don't define.  Removed all references.
6723         Just use map_file or map_filename instead.
6724         (add_archive_element): Use minfo to write map information, not
6725         info_msg.
6726         (constructor_callback): Use fprintf to write map information, not
6727         info_msg.
6728         * ldmain.h (write_map): Don't declare.
6729         * ldgram.y (mri_script_command): Removed reference to write_map.
6730         * ldlang.c (lang_one_common): Likewise.
6731         * lexsup.c (parse_args): Likewise.
6732
6733 Fri Feb 25 19:12:03 1994  Ian Lance Taylor  (ian@cygnus.com)
6734
6735         * scripttempl/elf.sc: Force all sections to be aligned.
6736
6737         * ldgram.y (section): Reverse the order of memspec_opt and
6738         fill_opt to avoid an ambiguity when both are used.
6739         * ld.texinfo: Changed accordingly.
6740
6741         * ldgram.y: Move include of ldlex.h back with other includes.
6742         * ldlex.h (input_type): Don't initialize enum constants to
6743         particular values.
6744         * ldlex.l: Use a switch to return the right token based on
6745         input_type, rather than knowing that input_type has a value based
6746         on a token type.
6747
6748         * ldgram.y (dirlist_ptr): Removed; not used.
6749         * lexsup.c: Include ldver.h.
6750         * Makefile.in: Rebuilt dependencies.
6751
6752 Fri Feb 25 18:55:54 1994  Ted Lemon  (mellon@pepper.ncd.com)
6753
6754         * ldlang.c (lookup_name): don't call bfd_set_gp_size.
6755         (ldlang_add_file): call it here instead.
6756
6757 Fri Feb 25 18:13:46 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6758
6759         * ldgram.y: Include ldlex.h after %token decls, for byacc.
6760
6761 Fri Feb 25 10:47:25 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
6762
6763         * emultempl/hppaelf.em: First attempt to clean this file up.
6764         Add comments in several functions as to their purpose and
6765         how they function (or my current best guess).  Clean up horrible
6766         spacing and indention that never should have been accepted in the
6767         first place.  Add FIXMEs for issues which need to be resolved.
6768         Disable linker-stub generation until it gets fixed.  This allows
6769         the linker to at least work on simple code for testing purposes.
6770
6771         * ldlang.c (lang_size_sections): No longer static (PA ELF calls
6772         it via hppaelf_finish).  Prototype moved into ldlang.h.
6773         (lang_process): Move problematic extra call to lang_size_sections
6774         into the PA ELF specific code.
6775         * emultempl/hppaelf.em (hppaelf_finish): Extra call to
6776         lang_size_sections moved here.
6777
6778 Thu Feb 24 16:47:33 1994  Ian Lance Taylor  (ian@cygnus.com)
6779
6780         * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
6781         * config/ppc-elf32.mt: New file.
6782         * emulparams/elf32ppc.sh: New file.
6783         * emultempl/ppc.em: New file.
6784         * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
6785         (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
6786         (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
6787
6788 Thu Feb 24 12:27:07 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6789
6790         * lexsup.c (parse_args): Use symbolic numbers for long options.
6791         Fix misunderstanding in -Y and -call_shared et al.
6792
6793         Use getopt instead of lex and yacc to parse the command line.
6794
6795         * ld.texinfo (Options): Document changes to option syntax.
6796         * Makefile.in: Update dependencies.
6797         * ldver.c (help): Tweak dashes in usage message.
6798         * ldgram.y (%union): Remove unused members.
6799         Remove %tokens for command line options; add ones for input types.
6800         (command_line): Rules removed.
6801         (file): Instead of command line, recognize an
6802         input type indicator, then use the nonterminal for that type.
6803         (defsym_expr): New nonterminal from code formerly in command_line.
6804         * ldlex.h: Declare parser input type enum and variable.
6805         Don't declare parse_line.
6806         * ldlex.l: Remove unused variables.  Make some used ones static
6807         and comment them.
6808         (COMMAND): Start state and its rules removed.
6809         At start of yylex, return input state token if at start of input.
6810         (lex_redirect): Don't need to set yyout.
6811         (ldlex_command): Function removed.
6812         * ldmain.c (main): Instead of calling parse_line, set up the
6813         redirections and call yyparse directly.
6814         * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
6815         "command line".
6816         * lexsup.c: Remove #if 0'd code.
6817         (parse_line): Function removed.
6818         (parse_args): Rewrite to use getopt_long_only.
6819         (set_default_dirlist): New function from code formerly in
6820         ldgram.y:command_line.
6821         (set_section_start): New function.
6822         * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
6823         emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
6824         compiled-in link scripts in "{" and "}", as the grammar no longer
6825         wants them to be.
6826
6827 Thu Feb 24 08:43:26 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)
6828
6829         * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
6830         require that it be in $(srcdir).
6831
6832 Tue Feb 22 09:21:18 1994  Ian Lance Taylor  (ian@cygnus.com)
6833
6834         * ldlang.c (lang_size_sections): Only align section to alignment
6835         required by linker script, not to maximum alignment of input
6836         sections.
6837
6838         * ldlang.h (largest_section): Don't declare.
6839         * ldlang.c (largest_section): Don't define.
6840         (size_input_section): Don't set largest_section; not used.
6841
6842 Mon Feb 21 15:15:29 1994  Ian Lance Taylor  (ian@cygnus.com)
6843
6844         * ldlang.c (new_afile): Pass NULL as last argument to concat.
6845
6846 Thu Feb 17 15:51:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6847
6848         * ldlang.c, ldmain.c: Include libiberty.h.
6849
6850         * ldmisc.h (concat): Don't declare.
6851         * ldmisc.c (concat): Don't define; just use the one in libiberty.
6852
6853         * ld.h (as_output_section_statement): Removed; not used.
6854
6855 Thu Feb 17 09:32:14 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6856
6857         * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
6858         bfd_set_error and new error names.
6859
6860 Tue Feb 15 20:14:53 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6861
6862         * ldwrite.c (build_link_order): If the cooked size of the section
6863         has been set, use it, for determining link_order size.
6864         (ldwrite): In the error message displayed if bfd_final_link fails,
6865         indicate that it was in fact the final link step that failed.
6866
6867         * ldlang.c (lang_size_sections): Clear bfd_error before calling
6868         bfd_relax_section, in case it returns false but doesn't flag an
6869         error.  If an error is returned, indicate which one it is in the
6870         error message.
6871
6872         * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
6873         it'll get picked up from $(srcdir) if appropriate.
6874
6875 Tue Feb 15 16:32:04 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6876
6877         * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
6878         * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
6879
6880 Fri Feb 11 17:02:49 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6881
6882         * ldlex.l (comment): Increment line number when newline is read.
6883
6884 Fri Feb 11 17:36:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6885
6886         * ldlang.c (lookup_name): Take new argument, force_load.  If true,
6887         reload the file even if it is already loaded.
6888         (wild): Call lookup_name with force_load argument of 0.
6889         (open_input_bfds): Call lookup_name with force_load argument of 1.
6890         (print_symbol): Remove declaration of non-existent function.
6891         (print_one_symbol): Return true rather than falling off end.
6892
6893 Thu Feb 10 11:52:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6894
6895         * ldmain.c (main): Use %ld when printing long values.
6896
6897         * scripttempl/elf.sc: Move _edata after the .sdata section.
6898         Permit OTHER_BSS_SYMBOLS to be defined.
6899         * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
6900
6901 Mon Feb  7 16:31:15 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
6902
6903         * Rename all "hppaosf" files to "hppaelf".
6904         * Change all "osf" references to "elf" in hppaelf files.
6905         * Makefile.in: Likewise.
6906         * configure.in: Likewise.
6907
6908 Sun Feb  6 20:31:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6909
6910         * ldmain.c (main): Call xatexit, not atexit.
6911         Call xmalloc_set_program_name.
6912
6913         * ldlang.c (lang_size_sections): Check if bfd_relax_section set
6914         bfd_errno.
6915
6916 Sat Feb  5 03:54:34 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6917
6918         * emultempl/lnk960.em (append), emultempl/hppaosf.em
6919         (hppaosf_finish): Call xmalloc, not ldmalloc.
6920         * ldmain.c (preserve_output): Function removed.
6921         (main): Do it here instead.
6922
6923 Fri Feb  4 23:02:19 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
6924
6925         * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
6926         GNU C specific macros.
6927
6928         * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
6929         call to LANG_FOR_EACH_INPUT_SECTION.
6930
6931 Fri Feb  4 16:26:08 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6932
6933         * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
6934         deleted; will use libiberty versions instead.
6935         * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
6936         mri.c Makefile.in: Change callers.
6937
6938         * ldmisc.c (vfinfo): Remove cleanup code.
6939         * ldmain.c (remove_output): Put it here (new function).
6940         (preserve_output): New function.
6941         (main): Register remove_output and preserve_output with atexit.
6942         * ldmain.c ldgram.y: Call xexit instead of exit.
6943         * ldmisc.h: Declare xexit.
6944
6945 Fri Feb  4 15:19:01 1994  Steve Chamberlain  (sac@cygnus.com)
6946
6947         * Makefile.in: Lots of new H8/500 memory models.
6948
6949 Sun Jan 30 14:33:40 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6950
6951         * ldlex.l: Removed duplicate rules.
6952         (yywrap): Provide default definition, needed with some versions of
6953         flex.
6954
6955 Fri Jan 28 09:12:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6956
6957         * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
6958         the archive filename too.
6959
6960         * ldlex.l: Add rule to catch invalid input characters instead of
6961         printing them.  Include "ldmain.h" for program_name decl.
6962         (lex_warn_invalid): New function.
6963         * Makefile.in: Add dependency.
6964
6965 Fri Jan 28 12:58:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6966
6967         * Makefile.in (check): Don't bother running any tests of
6968         cross-linker until the test suite no longer assumes native mode.
6969
6970 Thu Jan 27 17:19:54 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
6971
6972         * ldlang.c (print_one_symbol, print_input_section):  Print
6973         global symbols in symbol table again.
6974
6975 Thu Jan 27 12:35:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
6976
6977         * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
6978         exit successfully instead of complaining if no input files are
6979         given.
6980
6981 Tue Jan 25 13:19:41 1994  Stan Shebs  (shebs@andros.cygnus.com)
6982
6983         * Makefile.in: Format variable definitions consistently.
6984         (LD_PROG): Remove unnecessary variables from link command,
6985         change variable LOADLIBES to EXTRALIBS.
6986
6987         * ldmain.c (main): Compute and display total execution time.
6988         * ld.texinfo (-stats): Document the option.
6989
6990 Mon Jan 24 12:56:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6991
6992         * ldmain.c (reloc_overflow): Added name, reloc_name and addend
6993         arguments.
6994
6995         * ldlang.c (lookup_name): Set BFD GP size to -G argument value
6996         after opening BFD.
6997
6998         * ldlang.c (relaxing): Removed global variable.
6999         (lang_size_sections): If the canonical symbols have not already
7000         been read in, read them in before relaxing.
7001         * ldlang.h (relaxing): Removed declaration.
7002
7003 Fri Jan 21 00:44:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7004
7005         * ldlang.c (new_afile): Initialize loaded field to false.
7006         (lookup_name): If file was already loaded, don't call the
7007         add_symbols entry point again.
7008
7009 Wed Jan 19 13:57:00 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
7010
7011         * ld.texinfo: Clarify what -T option does.
7012
7013 Tue Jan 18 16:18:15 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7014
7015         * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
7016         for a.out.
7017
7018 Tue Jan 11 13:22:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7019
7020         * ldmain.c (add_archive_element): If trace_files or
7021         trace_file_tries, print file name.
7022         * ldlang.c (lookup_name): Likewise.
7023         (ldlang_add_file): Don't put files on input_bfds list in reverse
7024         order.
7025
7026         * scripttempl/elf.sc: Correct typo.
7027
7028 Mon Jan 10 19:49:05 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
7029
7030         * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
7031         their arguments optional, for compatibility with the old GNU ld.
7032
7033 Fri Jan  7 20:00:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7034
7035         * scripttempl/elf.c: Define __bss_start before the .sbss section.
7036
7037 Thu Jan  6 00:13:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7038
7039         * ldmain.c (add_to_set): Add bitsize argument.
7040         (constructor_callback): New function.
7041         (link_callbacks): Add constructor_callback.
7042         * ldctor.c (struct set_info): Add bitsize field.
7043         (ldctor_add_set_entry): Add bitsize argument.
7044         (ldctor_build_sets): Base the size of the elements of the set on
7045         the bitsize, rather than always using LONG.
7046         * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
7047
7048         * ld.h (QUAD_SIZE): Define.
7049         * ldgram.y (QUAD): New token.
7050         (length): Handle it.
7051         * ldlex.l: Return QUAD.
7052         * lexsup.c (keywords): Add QUAD.
7053         * ldwrite.c (build_link_order): Handle QUAD.
7054         * ldlang.c (print_data_statement): Handle QUAD.
7055         (lang_size_sections): Likewise.
7056         (lang_do_assignments): Likewise.
7057         * ldexp.c (exp_print_token): Add QUAD to table.
7058         * ld.texinfo: Describe QUAD.
7059
7060         * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
7061         since the Alpha doesn't use them.
7062
7063 Wed Jan  5 17:42:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
7064
7065         * ldemul.h (ld_emulation_xfer_struct): Comment the members.
7066
7067 Sat Jan  1 13:39:31 1994  Rob Savoye  (rob@darkstar.cygnus.com)
7068
7069         * Makefile.in, configure.in: Add support for VSTa micro-kernel.
7070         * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
7071
7072 Sat Jan  1 10:53:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
7073
7074         * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
7075         needed for i386mach.  (Should be a no-op on other systems.)
7076
7077         * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
7078         (PAGE_SIZE): Don't define; not used.
7079
7080 Fri Dec 31 16:12:06 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7081
7082         * ldgram.y (yyerror): Make argument const char *, and actually
7083         print it out rather than assuming it is a syntax error.
7084         * ldmisc.h: Change declaration of yyerror.
7085         * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
7086
7087 Fri Dec 31 11:37:28 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7088
7089         * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
7090         exec header offset, since the exec header isn't loaded.
7091         (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
7092
7093 Thu Dec 30 13:01:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7094
7095         A major rewrite to move the bulk of the linker into BFD so that
7096         more efficient backend code can be written for specific object
7097         files.
7098         * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
7099         ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
7100         * ldctor.c, ldctor.h: Complete rewrite.
7101         * ldwrite.c, ldwrite.h: Complete rewrite.
7102         * ld.h (strip_symbols_type, strip_symbols): Removed.  Use
7103         link_info.strip instead.  Changed all uses.
7104         (discard_locals_type, discard_locals): Removed.  Use
7105         link_info.discard instead.  Changed all uses.
7106         (ld_config_type): Removed relocateable_output field; use
7107         link_info.relocateable instead; changed all uses.  Added stats
7108         field.
7109         (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
7110         set_loader_symbol): Removed.
7111         * ldexp.h (node_class): Added etree_rel.
7112         (etree_type): Added rel field.
7113         * ldexp.c (exp_print_token): Bracketed table initialization.
7114         (exp_relop): New function.
7115         (fold_name): Use linker hash table rather than ldsym functions.
7116         (exp_fold_tree): Likewise.  Also, handle etree_rel case.
7117         (exp_print_tree): Handle etree_rel.
7118         * ldgram.y (strip_symbols, discard_locals): Removed.
7119         (OPTION_stats, OPTION_no_keep_memory): New tokens.  Handle them.
7120         (REL): New token.  Does not appear in grammar, but needed for
7121         expression code.
7122         (file): Don't call lang_final; it's called by main anyhow.
7123         * ldlex.l: Accept -stats and -no-keep-memory options.
7124         * ldlang.h (fill_type): Make unsigned int, not unsigned short.
7125         * ldlang.c: Consistently use fill_type for fill argument.
7126         (lang_init_script_file, script_file): Removed.
7127         (create_object_symbols): Removed.  Use
7128         link_info.create_object_symbols_section instead.  Changed all
7129         uses.
7130         (lang_add_keepsyms_file): Removed.
7131         (lookup_name): Call bfd_link_add_symbols instead of
7132         ldmain_open_file_read_symbol.
7133         (wild): Don't iterate over script_file.
7134         (open_output): Create link hash table.
7135         (lang_place_undefineds): Rewrote.
7136         (lang_size_sections): Handle relaxing (doesn't work yet).
7137         (lang_relocate_globals): Removed.
7138         (lang_finish): Use link hash table rather than ldsym functions.
7139         (lang_common): Rewrote.
7140         (lang_one_common): New function.
7141         (ldlang_add_file): Add file to link_info.input_bfds list.  Set
7142         usrdata.
7143         (create_symbol): Removed.
7144         (lang_process): Don't call lang_init_script_file.  Call
7145         ldctor_build_sets rather than find_constructors.  Don't call
7146         lang_relocate_globals.
7147         (lang_abs_symbol_at_beginning_of): Rewrote.
7148         (lang_abs_symbol_at_end_of): Rewrote.
7149         * ldmain.c (had_y): Removed.
7150         (lprefix, lprefix_len): Removed; use link_info fields instead.
7151         Changed all uses.
7152         (multiple_def_count, commons_pending, undefined_global_sym_count,
7153         total_symbols_seen, total_files_seen): Removed.
7154         (link_callbacks, link_info): New variables.
7155         (main): Initialize link_info.  Don't call init_bfd_error_vector or
7156         ldsym_init.  Don't set now unused variables.  Handle -stats.
7157         (get_emulation): Removed obsolete and nonfunctional GNU960 code.
7158         (add_ysym): Rewrote.
7159         (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
7160         search_library, gnu960_check_format, decode_library_subfile,
7161         linear_library, symdef_library, clear_syms, subfile_wanted_p):
7162         Removed.
7163         (add_keepsyms_file, add_archive_element, multiple_definition,
7164         multiple_common, add_to_set, warning_callback, undefined_symbol,
7165         reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
7166         New functions.
7167         * ldmisc.c (vfinfo): Accept a string for %T, not a symbol.  Don't
7168         require symbols for %C; look them up instead.
7169         * emultempl/hppaosf.em: Pass link_info to
7170         hppa_look_for_stubs_in_section.
7171         * Makefile.in: Rebuilt dependencies.
7172         (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
7173         relax.c.
7174         (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
7175         relax.h.
7176         (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
7177         ldlang.h and ldctor.h.
7178
7179         * Makefile.in (ldlex.c): Don't depend on ldgram.h.  Remove
7180         declarations of free and malloc from flex output.  Change malloc
7181         to ldmalloc in flex output.
7182
7183 Thu Dec 16 21:19:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
7184
7185         * ldmain.c (lprefix): Change default from a char to a string
7186         with only one character.
7187         (lprefix_len): Set default to one.
7188
7189         * ldmain.h (lprefix_len): Declare.
7190
7191         * ldsym.c (write_file_locals): Use strncmp rather than a character
7192         comparison for lprefix.
7193
7194         * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
7195         correctly.
7196
7197         * emultmpl/hppaosf.em: Include ldexp.h.
7198         (before_parse): Set lprefix and lprefix_len correctly.
7199
7200 Tue Dec 14 17:19:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7201
7202         * ldlex.h: Don't declare yywrap if it is a macro.
7203         * ldlex.l: Include sysdep.h.
7204         * ldlang.c (lang_for_each_statement_worker,
7205         lang_for_each_statement): Forgot to use PARAMS.
7206
7207 Mon Dec 13 14:30:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7208
7209         * Makefile.in: Added .PHONY targets where appropriate.  Added some
7210         comments.  Also:
7211         (gcclibdir, version): Removed unused variables.
7212         (DEP): New variable, set to mkdep.
7213         (ALL_CFLAGS): New variable.  Used in .c.o target.
7214         (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
7215         variables.
7216         (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
7217         GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
7218         mostly obsolete variables.  Adjusted remaining uses.
7219         (DEF_EMUL): Removed variable.
7220         (ldmain.o): Handle undefined EMUL error correctly.
7221         (ldemul-list.h): Depend on config.status rather than Makefile.
7222         Create via temporary file.
7223         (ver960.c, roll, make): Removed obsolete targets.
7224         (.dep, .dep1, dep.sed, dep, dep-in): New targets.  Used to rebuild
7225         dependencies.
7226         * dep-in.sed: New file, used when rebuilding dependencies.
7227
7228 Sat Dec 11 14:43:44 1993  Ian Lance Taylor  (ian@deneb.cygnus.com)
7229
7230         Made many changes to eliminate gcc warnings.  Made various
7231         cosmetic changes, declared various things in header files, removed
7232         various extern declarations from .c files.  No substantive
7233         changes.
7234
7235         * ldlang.c (lang_process): Ifdef out final call to
7236         lang_size_sections again (reverting change of Nove 2), since it
7237         breaks the Sun4 linker.
7238
7239 Thu Dec  2 16:31:47 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7240
7241         * configure.in (alpha-*-netware*): New target; use alpha.
7242
7243 Wed Dec  1 14:04:20 1993  Ken Raeburn  (raeburn@cygnus.com)
7244
7245         * configure.in: Group targets by CPU.  Merge some m68k target
7246         entries with different CPU specs that use the same ld_target
7247         values.
7248
7249         * configure.in: Add sparc*-*-coff.
7250         * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
7251         * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
7252         (em_coff_sparc.c): Add dependencies and build rules.
7253
7254         * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
7255
7256 Wed Dec  1 12:19:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7257
7258         * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
7259         New tokens.
7260         (command_line_option): Accept and ignore them (for now).
7261         * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
7262         where n is a number.
7263
7264 Mon Nov 22 14:14:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7265
7266         * ldmain.c (subfile_wanted_p): If merging a common symbol which is
7267         not in bfd_com_section, create the section in the BFD so that it
7268         can be placed in the right output section.
7269
7270 Fri Nov 19 14:12:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7271
7272         * configure.in (mips*-sgi-irix5*): New target.  Use mipsb-elf32.
7273         * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
7274         (OTHER_READONLY_SECTIONS): Define for .reginfo.
7275         (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
7276         * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
7277         Move OTHER_READONLY_SECTIONS after all the other readonly
7278         sections.  Don't use DATA_ADDR twice.
7279
7280         * ldmain.c (enter_file_symbols): Removed duplicate tests of p.  If
7281         p is in a common section, make sure the BFD has a section of that
7282         name.
7283
7284         * ldlang.c (lang_common): Add newline to error message.
7285
7286 Thu Nov 11 15:54:41 1993  Stan Shebs  (shebs@rtl.cygnus.com)
7287
7288         * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
7289         Lynx-specific script instead of m68kcoff.
7290         (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
7291         (ENTRY): Define as __main.
7292         (TEXT_START_ADDR): Define as 0.
7293         (PAGE_SIZE): Define as 0x1000.
7294         * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
7295         * scripttempl/m68klynx.sc: New file.
7296
7297 Mon Nov  8 12:00:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7298
7299         * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
7300         arguments rather than treating them as emulation names.
7301
7302 Fri Nov  5 09:02:52 1993  D. V. Henkel-Wallace  (gumby@blues.cygnus.com)
7303
7304         * configure.in: Support x86 unixware and netware plus generic netware.
7305
7306 Fri Nov  5 21:47:55 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7307
7308         * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
7309         Correct values (?).
7310
7311 Wed Nov  3 15:10:15 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
7312
7313         * Makefile.in (distclean): Don't delete dvi or info files.
7314         (ld.info): Update dependency list.
7315         (ld.dvi): Ditto.  Extend TEXINPUTS to get bfdsumm.texi.
7316
7317 Wed Nov  3 12:07:39 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7318
7319         * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
7320         Set output_filename instead of creating a new node.
7321         (open_output): Don't set output_filename.
7322         (lang_final): Create the new node here.
7323         * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
7324
7325 Tue Nov  2 15:45:51 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
7326
7327         From Pete Hoogenboom (hoogen@cs.utah.edu):
7328
7329         * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
7330         edata, _edata, end): Add definitions of these symbols.
7331         (__end):  Remove definition of this symbol.
7332         (__data_start): Move definition of this symbol.
7333
7334         * emultempl/hppaosf.em:  Various fixes and support for linker stub
7335         generation.
7336         (hppaosf_finish, hppaosf_search_for_padding_statements,
7337         hppaosf_create_output_section_statements): New functions in
7338         support of linker stub generation.
7339         (ld_hppaosf_emulation):  Redefine to include new
7340         emulation-specific routines.
7341
7342         * ldlang.c (lang_process): Re-enable last call lang_size_sections.
7343         Pass abs_output_section rather than NULL to avoid invalidating
7344         absolute symbols.
7345
7346 Thu Oct 28 21:16:42 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7347
7348         * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
7349         (em_i386mach.c): New rule.
7350         * configure.in (i[34]86-*-mach*): New case.
7351         * config/i386-mach.mt: New file.
7352         * emulparams/i386mach.sh: New file.
7353
7354 Fri Oct 29 14:55:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7355
7356         * ld.h (flag_is_*): Removed macros.
7357         * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
7358         Consistently check the BFD symbol flags directly, rather than
7359         using file_is_* macros.
7360
7361 Thu Oct 28 19:08:42 1993  Stan Shebs  (shebs@rtl.cygnus.com)
7362
7363         * configure.in (sparc*-*-lynxos*): New target.
7364         * Makefile.in: Add rule for em_sparclynx.c.
7365         (ALL_EMULATIONS): Add Lynx emulations.
7366         * config/sparc-lynx.mt: New file.
7367         * emulparams/sparclynx.sh: New file.
7368         * scripttempl/sparccoff.sc: New file.
7369
7370 Thu Oct 28 13:50:25 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7371
7372         * Makefile.in: Add dependency for $(EMULATION_OFILES).
7373
7374 Mon Oct 25 16:09:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7375
7376         * relax.c (write_relax): Check return value of bfd_seclet_link.
7377
7378 Mon Oct 25 09:31:21 1993  Ken Raeburn  (raeburn@cygnus.com)
7379
7380         * ldlang.c (delete_output_file_on_failure): New variable.
7381         (open_output): Set it after bfd open succeeds.
7382         * ldmisc.c (vfinfo): Test it.
7383
7384         Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
7385
7386         * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
7387         symbols.
7388
7389         * ldemul.c: Support was added to allow emulation-specific
7390         processing to occur.  This support was added primarily for linker
7391         stub generation in the elf32-hppa gld.
7392         (ldemul_finish, ldemul_create_output_section_statements):  New
7393         functions.
7394         * ldemul.h: Support was added to allow emulation-specific
7395         processing to occur. (As described above.)  Added finish and
7396         create_output_section_statements fields to
7397         ld_emulation_xfer_struct structure.
7398         * ldlang.c: Add calls to emulation-specific routines.
7399         (lang_process):  Add call to
7400         ldemul_create_output_section_statements function.
7401         (lang_process):  Add call to a emulation-specific routine (and
7402         some processing after the call).
7403
7404 Fri Oct 22 20:54:13 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
7405
7406         * configure.in: mips*- instead of mips-, mips*el changes
7407
7408 Tue Oct 19 15:46:28 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7409
7410         * configure.in (alpha-*-osf*): New target; use alpha.mt.
7411         * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
7412         (em_alpha.c): New target; use alpha.sh and alpha.sc.
7413         * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
7414         * config/alpha.mt: New file.
7415         * emulparams/alpha.sh: New file.
7416         * scripttempl/alpha.sc: New file.
7417
7418 Fri Oct 15 02:20:04 1993  Doug Evans  (dje@canuck.cygnus.com)
7419
7420         * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
7421         types of different sizes (eg: 64 and 32 bits), so coerce.
7422         * ld.h (ALIGN_N): Add warning about usage.
7423
7424 Wed Oct 13 16:02:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7425
7426         * ldmain.c (enter_global_ref): Just ignore any weak symbol for
7427         which we already have a definition, rather than checking in
7428         several different places whether the symbol is weak.
7429
7430 Tue Oct 12 17:30:51 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7431
7432         * configure.in (mips-*-elf*): New target; use mipsb-elf32.
7433         * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
7434         OTHER_READWRITE_SECTIONS if relocating.  Shell variables are not
7435         expanded within them.
7436         * config/mipsb-elf32.mt: New file.
7437         * emulparams/elf32mipb.sh: New file.
7438         * Makefile.in (em_elf32mipb.c): New target.
7439
7440 Thu Sep 30 17:00:36 1993  Rob Savoye  (rob@darkstar.cygnus.com)
7441
7442         * ldgram.y: In input_list, change lang_input_file_is_file_enum to
7443         lang_input_file_is_search_file_enum so objects brought in using
7444         INPUT() do a path lookup.
7445
7446 Tue Sep 28 13:31:23 1993  Stan Shebs  (shebs@rtl.cygnus.com)
7447
7448         * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
7449         instead of {i386,m68k}-coff.
7450         * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
7451         * config/i386-lynx.mt: New file.
7452         * config/m68k-lynx.mt: New file.
7453         * emulparams/i386lynx.sh: New file.
7454         * emulparams/m68klynx.sh: New file.
7455
7456         * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
7457         but defaulting to _start.
7458
7459         * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
7460         ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
7461         LynxOS libc.
7462
7463 Thu Sep 23 14:51:03 1993  Ian Lance Taylor  (ian@cygnus.com)
7464
7465         * config/solaris2.mh: New file.  Define HOSTING_CRT0 and
7466         HOSTING_LIBS for testing.
7467
7468 Fri Sep 17 17:52:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7469
7470         Finish up support for i386-sysv4 (without shared libraries):
7471         * ld.h (flag_is_weak): Define.
7472         * ldlang.c (print_symbol): Mention whether symbol is weak.
7473         (print_input_section): Print weak symbols as globals.
7474         * ldmain.c (refize): Do not zero out BSF_WEAK flag.
7475         (enter_global_ref): Do not warn if a weak symbol redefines a
7476         global symbol.  Do not let a weak symbol redefine a common symbol.
7477         (enter_file_symbols): Treat weak symbols as global symbols.
7478         (subfile_wanted_p): Do not pull in an object file from a archive
7479         just to resolve an undefined weak symbol.
7480         * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
7481         error; the error might be that malloc has run out of space.
7482         * ldsym.c (write_file_locals): Treat weak symbols as global.
7483         * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
7484         use i386-elf.
7485         * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
7486         * config/i386-elf.mt: New file; set EMUL to elf_i386.
7487         * emulparams/elf_i386.sh: New file.
7488         * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
7489         * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
7490         (ALL_EMULATIONS): Add em_elf_i386.o.
7491         (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
7492         (em_elf_i386.c): New target, like other em_*.c targets.
7493         ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
7494         * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument.  If
7495         nonempty, and configured for native, add it to LIB_PATH.
7496
7497 Fri Sep 17 13:07:39 1993  Stan Shebs  (shebs@rtl.cygnus.com)
7498
7499         * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
7500         Added statements to pass stab and stabstr sections through and
7501         mark them as NOLOAD, which makes GDB happier.
7502
7503 Wed Sep 15 16:02:29 1993  Stan Shebs  (shebs@rtl.cygnus.com)
7504
7505         * configure.in: Accept m68k-lynx-lynxos config.
7506
7507         * Makefile.in: Use $(SHELL) to run genscripts.sh.
7508
7509 Sun Sep 12 16:04:40 1993  Doug Evans  (dje@cygnus.com)
7510
7511         * config/coff-h8300.mt: Add EMUL=h8300h.
7512
7513         * ldmain.c (main): Call set_scripts_dir after argv has been processed.
7514
7515 Fri Sep 10 09:36:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
7516
7517         * Makefile.in: Changed CXX back to g++.
7518
7519 Fri Sep 10 09:34:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
7520
7521         * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
7522
7523 Fri Sep 10 07:26:57 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7524
7525         * Makefile.in (TAGS): Use shell wildcards.
7526
7527 Tue Sep  7 18:04:54 1993  Jeffrey Osier  (jeffrey@cygnus.com)
7528
7529         * Makefile.in:  add TEXINPUTS variable and use it in ld.dvi target
7530
7531 Fri Sep  3 16:46:41 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
7532
7533         * ld.texinfo: re-enable included config file; conditionalize doc
7534         for -oformat to interact properly with SingleFormat doc config
7535         var; rename @up/@down to @raisesections/@lowersections.
7536
7537 Wed Aug 25 16:29:56 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
7538
7539         * configure.in: recognize m88110.
7540
7541 Tue Aug 24 18:49:40 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7542
7543         From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
7544         * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
7545         ELF emulation is "elf32-hppa" not "elf-big".
7546         (hppaosf_before_parse): Remove unneeded processing of environment
7547         variables.
7548         * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
7549         .text segment of output file.
7550         * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
7551
7552 Tue Aug 24 16:17:00 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
7553
7554         * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
7555           longer in bfd.h.
7556
7557         * ldlang.c, ld.h: updated copyright.
7558
7559 Tue Aug 17 15:22:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7560
7561         * ldlang.c (open_output, lang_check): Check return value of
7562         bfd_set_arch_mach.
7563
7564 Tue Aug 17 07:02:19 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
7565
7566         * scripttempl/h8500.sc: Start all sections in a different segment.
7567         * scripttempl/z8ksim.sc: Handle constructors
7568
7569 Thu Aug 12 16:05:37 1993  Jeffrey Wheat  (cassidy@cygnus.com)
7570
7571         * Makefile.in: revert earlier changes back to execute runtest
7572           with make check. cdtest and bootstrap now function as they
7573           did within the Makefile.
7574
7575 Thu Aug 12 10:20:05 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7576
7577         * Makefile.in:  Update dependencies.
7578
7579         * configure.in: Set EMULATION_OFILES in Makefile based on
7580         --with-targets option.
7581
7582 Thu Aug 12 08:52:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
7583
7584         * Makefile.in: check targets reimplemented to old way.
7585
7586 Wed Aug 11 08:26:11 1993  Ian Lance Taylor  (ian@cygnus.com)
7587
7588         * config/i386v.mh, config/irix4.mh: Use gcc
7589         -print-libgcc-file-name rather than $(libdir)/libgcc.a.
7590         * config/i386sco.mh: New file; copy of i386v.mh to correspond to
7591         bfd/configure.host change.
7592
7593 Mon Aug  9 14:25:35 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7594
7595         * scripttempl/elf.sc: Handle .line and .debug* sections.
7596
7597         * ldlex.l: Use bfd_scan_vma, not strtoul.
7598
7599 Fri Aug  6 08:57:39 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7600
7601         * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
7602         Remove inital caps in some error messages, change "can't" to
7603         "cannot", add missing colons.
7604         * ldmisc.c (vfinfo): Print "%%" as a single %.
7605         For '%' followed by unrecognized character, print them both
7606         verbatim instead of expecting a char * arg.
7607         For '%C', don't put the function name in parens.
7608
7609         * ldexp.c (invalid): Pass "%%", not "% ".
7610
7611 Fri Aug  6 14:31:22 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7612
7613         * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
7614         (BSS_VAR): Removed; now always define _fbss.
7615         * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
7616         Removed.
7617
7618 Thu Aug  5 15:55:19 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
7619
7620         * configure.in: z8k-coff is the same as z8k-sim
7621
7622 Wed Aug  4 21:00:18 1993  Jeffrey Wheat  (cassidy@cygnus.com)
7623
7624         * testsuite/lib/ld.exp: new file
7625         * testsuite/config/unix-ld.exp: new file
7626         * testsuite/ld.bootstrap/bootstrap.exp: new file
7627         * Makefile.in: add dejagnu support for make check
7628
7629 Wed Aug  4 17:52:32 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7630
7631         * ldlex.l (comment): Add missing newline in message.
7632         * ldindr.c (add_indirect): Ditto.
7633         * ldexp.c (exp_fold_tree): Ditto.
7634
7635 Tue Aug  3 10:57:41 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7636
7637         * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
7638         into externs.
7639
7640         * ldmisc.c (multiple_warn): New function.
7641         * ldmisc.h: Declare it.
7642         * ldmain.c (enter_global_ref): Call it.
7643         * ld.h (ld_config_type): Add warn_common.
7644         * ldlex.l, ldgram.y: Set it with -warn-common option.
7645         * ldver.c (help): Document it.
7646
7647 Mon Aug  2 12:04:36 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7648
7649         * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
7650         target-specific sections, and for changing data section vma.
7651
7652 Mon Jul 26 14:00:02 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
7653
7654         * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
7655         terminals, for Solaris.
7656         (dirlist_ptr): New static variable.
7657         (command_line_option): Accept new options.
7658
7659         * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
7660         "-YP,...".
7661
7662         * config/sun4sol2.mt: Pass emulation name without ".sh".
7663
7664         * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
7665         * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
7666
7667 Fri Jul 23 13:51:09 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7668
7669         * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
7670         .dtors, .data1, .rodata1 sections, instead of combining them into
7671         other sections.  For `-r', set all section start addresses to
7672         zero.
7673
7674         * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
7675         NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
7676         (MAXPAGESIZE): Renamed from PAGE_SIZE.
7677
7678 Wed Jul 21 14:28:42 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7679
7680         * genscripts.sh: If this is the default emulation, set
7681         COMPILE_IN.
7682         * emultempl/*.em: Use it to determine whether to compile in the
7683         scripts.
7684
7685         * Makefile.in (GENSCRIPTS): Pass the default emulation name to
7686         genscripts.sh.  Pass the current emulation name without ".sh" on
7687         the end.
7688         * genscripts.sh: Take an default emulation arg.
7689         Use the current emulation name as EMULATION_NAME.
7690         Make default lib path for cross-compiling ':', not null.
7691         * emulparams/*.sh: Don't set EMULATION_NAME.
7692         * ldemul.c (ldemul_get_script): Take isfile arg.
7693         Pass it to emulation's get_script function.
7694         * ldemul.h: Adjust get_script prototypes.
7695         * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
7696         No longer static.
7697         * ldfile.h: Declare it.
7698         * ldgram.y: Accept a script on the command line again,
7699         for parsing compiled-in scripts.
7700         * ldmain.c (main): If ld script is a file, parse it as a -T
7701         option, otherwise parse it directly.
7702         * emultempl/*.em (*get_script): Return the scripts themselves if
7703         this is the default emulation; otherwise return their file names.
7704         * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
7705         generic.em.
7706         * emulparams/m88kbcs.sh: Use it.
7707
7708         * ld.h (ld_config_type::unix_relocate): Remove unused element.
7709
7710 Tue Jul 20 12:01:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7711
7712         * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
7713         there's no change log entry yet, tsk tsk) from the list of
7714         emulations compiled in until Mark gets around to checking in
7715         emulparams/i386linux.sh.
7716         (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
7717         changed, this file gets updated.
7718
7719 Fri Jul 16 14:14:32 1993  Ian Lance Taylor  (ian@cygnus.com)
7720
7721         * ldgram.y (OPTION_Lfile): New token.
7722         (command_line_option): Accept OPTION_L NAME (whitespace after -L).
7723         * ldlex.l (<COMMAND>): Accept -L without FILENAME.
7724
7725 Fri Jul 16 13:44:26 1993  Doug Evans  (dje@canuck.cygnus.com)
7726
7727         * configure.in: h8/300h support needs own .mt file.
7728         config/coff-h8300h.mt: New file.
7729
7730 Thu Jul 15 12:44:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7731
7732         * ldmain.c: Don't include sys/stat.h; it already got included
7733         somewhere along the way.
7734
7735 Thu Jul 15 14:43:34 1993  Doug Evans  (dje@canuck.cygnus.com)
7736
7737         * Makefile.in: Add h8300h support.
7738         emulparams/h8300h.sh: New file.
7739         scripttempl/h8300h.sc: New file.
7740
7741 Thu Jul 15 12:44:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7742
7743         * ldfile.c (ldfile_open_file): In error message, use the name the
7744         user gave (e.g., "-lc"), rather than the base file name.
7745
7746         * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
7747
7748         * ldmain.[ch]: Remove initial Q_ from function names.
7749         * ldexp.c, ldindr.c, ldlang.c: Change callers.
7750
7751         * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
7752
7753         * ldlang.c (lang_process): Move loading of default script from
7754         here to main.  Add a "/" to start of script name to prevent
7755         finding it in "." first.
7756
7757         * ldmain.c (set_scripts_dir): Don't look in "." first.
7758
7759         * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
7760         option_longmap.
7761
7762 Thu Jul 15 10:55:59 1993  Ian Lance Taylor  (ian@cygnus.com)
7763
7764         * Makefile.in (em_m88kbcs.c): Correct dependency.
7765         * scripttempl/m88kbcs.sc: It's ARCH, not arch.  Removed TARGET
7766         statement.  Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
7767         * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
7768
7769 Wed Jul 14 21:42:53 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7770
7771         * ldfile.c (ldlang_open_file, ldfile_open_command_file),
7772         main.c (main): Print the errno string in the error message.
7773
7774 Tue Jul 13 20:00:30 1993  Doug Evans  (dje@canuck.cygnus.com)
7775
7776         * configure.in: Accept h8300h for target cpu.
7777
7778         * ldmisc.c (vfinfo): Have demangle remove leading underscore if
7779         present (demangle is smart enough to know whether to do it or not).
7780
7781 Mon Jul 12 11:45:48 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7782
7783         * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
7784         ldscripts, as well as <ld bin dir> and SCRIPTDIR.
7785
7786         * ldlang.c (lang_process): Use sizeof instead of magic constant.
7787
7788         * ldmain.c (get_emulation, check_for_scripts_dir,
7789         set_scripts_dir):  New functions.
7790         (main): Call them.
7791
7792 Mon Jul 12 10:57:03 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
7793
7794         * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
7795         Create symbol "end" instead of "__end".  Comment out some parts
7796         that may not be needed (yet) for elf.
7797
7798         * configure.in: Accept sparc-elf and sparc-solaris2 configs.
7799
7800 Thu Jul  8 15:33:32 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7801
7802         * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
7803
7804         * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
7805         when no prototype is being supplied.
7806         (ldmalloc, ldrealloc): Size argument is now size_t.
7807
7808         * ldmisc.c (finfo): New function, accepts FILE* argument.
7809         (vfinfo, case 'v'): New format character; displays bfd_vma in hex
7810         without leading zeros.
7811         (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
7812         bfd_vma value, instead of fprintf(%x) which won't hold a long long
7813         value.
7814         (concat, buystring): String lengths are size_t.
7815         (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
7816
7817         * ldlang.c (new_statement): Size argument is now size_t.  Added
7818         forward declaration with prototype.
7819
7820 Thu Jul  8 10:53:47 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7821
7822         * ldgram.y (OPTION_v): Don't turn on verbose output.
7823
7824 Wed Jul  7 17:10:45 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7825
7826         * ldlex.l: Get rid of local typedef for bfd_vma!  Get it from
7827         bfd.h instead.
7828
7829 Wed Jul  7 11:33:12 1993  Ian Lance Taylor  (ian@cygnus.com)
7830
7831         * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
7832         collect2 doesn't look for gld any more anyhow.
7833
7834 Mon Jul  5 14:29:48 1993  Ian Lance Taylor  (ian@cygnus.com)
7835
7836         * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
7837         now have a non NULL srefs_chain.
7838
7839         * config/hp300hpux.mt: Use emulation hp3hpux rather than
7840         hp300hpux, since the latter does not exist.
7841
7842 Fri Jul  2 18:06:05 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7843
7844         * genscripts.sh: Put the scripts in the ldscripts directory, not
7845         emulations.
7846         * configure.in (ldscripts): Make, instead of emulations.
7847         * Makefile.in (scriptdir): Take off the "ld" part.
7848         (install, clean, distclean): Use ldscripts, not emulations.
7849         In tests, don't pass -Lemulations.
7850         Don't pass tooldir/lib to genscripts.sh.
7851         * genscripts.sh: Don't take tooldir/lib arg.
7852         * ldlang.c (lang_process): Add "ldscripts/" to the name of the
7853         default script file.
7854
7855 Fri Jul  2 17:13:35 1993  Doug Evans  (dje@canuck.cygnus.com)
7856
7857         * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
7858
7859 Thu Jul  1 16:38:45 1993  Doug Evans  (dje@canuck.cygnus.com)
7860
7861         * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
7862
7863 Wed Jun 30 15:45:55 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
7864
7865         * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
7866           run in parallel without colliding on yacc's static file names.
7867           Without the stub rule, make will try to start two yacc's
7868           concurrently which fails because of yacc's static file names.
7869
7870 Tue Jun 29 12:20:36 1993  Ian Lance Taylor  (ian@cygnus.com)
7871
7872         * ldmain.c (subfile_wanted_p): Don't dump core if there are no
7873         symbols.
7874
7875 Mon Jun 28 12:22:11 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7876
7877         * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
7878         different from libdir.
7879
7880         * Makefile.in (scriptdir): Base on tooldir, not datadir.
7881
7882 Sat Jun 26 12:03:57 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7883
7884         * ldver.c (help): New function.
7885         * ldver.h: Declare it.
7886         * ldlex.l, ldgram.y: Recognize new options --help and --version.
7887
7888 Mon Jun 21 20:39:48 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
7889
7890         * Makefile.in (INCLUDES): Don't need ../include any more.
7891
7892 Mon Jun 21 16:38:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7893
7894         * ldlex.l, ldgram.y: Support new -oformat option.
7895         Remove attempt at supporting script fragments on the command line.
7896         * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
7897         * mri.c (mri_format), ldgram.y: Change callers.
7898         * ldlang.h: Change prototype.
7899
7900 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn (zoo@cygnus.com)
7901
7902         * Makefile.in: canonicalize install.sh; for use within
7903         this directory (and subdirs)
7904
7905 Thu Jun 17 14:33:09 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7906
7907         * ldgram.y: Tweak grammar to make reporting of invalid options work.
7908
7909         * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
7910         and .cc.o rule.
7911
7912 Wed Jun 16 11:45:32 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7913
7914         * ldfile.c (ldfile_open_command): Don't try .ld extension.
7915         It wasn't documented (or likely used) and wastes time.
7916         (try_open): If EXTEN is empty, don't try it.
7917
7918         * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
7919         ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
7920         ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
7921         with normal function declarations.
7922
7923         * Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
7924         Move *.sc-sh to scripttempl/*.sc.
7925         * {emultempl,emulparams,scripttempl}/README: New files.
7926         * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
7927         removed, replaced with generic.em.
7928         * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
7929          h8[35]00hms.s[ch].  Change their contents to omit the "hms".
7930
7931         * *.em (*_get_script): Return script name instead of script contents.
7932         * ldlang.c (lang_process): Change caller.
7933
7934         * ldlex.l, ldgram.y: Recognize -m option.
7935         Check for input files after *all* options in grammar.
7936         * ldmain.c (main): Check for -m options.  Add default directory
7937         for -m.
7938
7939         * mkscript.c: File removed.
7940         * genscripts.sh: Take two more parameters, tooldirlib and libdir,
7941         to add to the default LIB_PATH.
7942         Look for input files in the new subdirectories.
7943         Create the scripts in emulations subdirectory and don't filter
7944         them through mkscript.
7945         * configure.in: Make the emulations subdirectory.
7946
7947         * Makefile.in: Account for all of the above changes.
7948         Remove unused .SUFFIXES.  Get libgcc.a path with gcc
7949         -print-libgcc-file-name instead of $(libdir)/libgcc.a.
7950         Put CFLAGS last in the compilation rules.
7951         Add -I../bfd to INCLUDES so sysdep.h is found.
7952
7953 Tue Jun 15 23:04:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
7954
7955         * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
7956
7957         * aout.sc-sh: Add SHLIB_PATH like STACKZERO.  Make STACKZERO
7958         dependent on RELOCATING, not RELOCATION.
7959         * hp3hpux.sh (SHLIB_PATH): Define it.
7960
7961 Mon Jun 14 19:06:15 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
7962
7963         * ldfile.c (try_open): If opening without the extension fails,
7964         try with the extension even if -v or -V was given.
7965         had_script is imported (from ldgram.y), not exported.
7966
7967 Mon Jun 14 16:26:10 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
7968
7969         * Makefile.in: remove parentdir support, use INSTALL_XFORM
7970
7971 Thu Jun 10 14:00:06 1993  Ian Lance Taylor  (ian@cygnus.com)
7972
7973         * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
7974         * ldgram.y (statement_list_opt): New nonterminal, either empty or
7975         statement_list.
7976         (section): Use statement_list_opt, not statement_list.
7977         * m68kcoff.sc-sh: Gather constructors and destructors and define
7978         __CTOR_LIST__ and __DTOR_LIST__ appropriately.
7979         * sa29200.sc-sh: Gather constructors and destructors and define
7980         ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
7981
7982 Mon Jun  7 12:53:28 1993  Per Bothner  (bothner@rtl.cygnus.com)
7983
7984         * Makefile.in (INCLUDES):  Add -I../bfd for sysdep.h and bfd.h.
7985         * configure.in:  No longer need to configure to get sysdep.h.
7986
7987 Fri Jun  4 16:18:24 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
7988
7989         * Makefile.in: remove install:all and install-info:info
7990         dependencies (these cause some spurious rebuilds at 'make install'
7991         time)
7992
7993 Fri Jun  4 08:50:14 1993  Ian Lance Taylor  (ian@cygnus.com)
7994
7995         * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
7996         (mips-idt-ecoff*): Added trailing '*'.
7997         * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
7998         * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
7999         * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
8000
8001         * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
8002         incorrect definitions.
8003
8004 Tue Jun  1 14:56:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
8005
8006         * ldsym.c (write_file_locals):  Write BSF_CONSTRUCTOR
8007         symbols, unless stripping.
8008
8009 Tue May 25 15:34:25 1993  Ian Lance Taylor  (ian@cygnus.com)
8010
8011         * Makefile.in: configure looks for ####, so remove lines with many
8012         '#' characters.
8013         * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
8014         and HOSTING_LIBS correctly so that ``make check'' will work.
8015
8016 Thu May 20 13:56:16 1993  Per Bothner  (bothner@deneb.cygnus.com)
8017
8018         * mips.sc-sh:  Define _etext, _edata, and _end, in addition
8019         to etext, edata, and end.  Needed for IRIX 4.0.5F.
8020         Patch from mwp@iconix.oz.au (Michael Paddon).
8021
8022         * Version 2.2.1 released.
8023
8024 Thu May 20 11:42:06 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
8025
8026         * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
8027         * mipsbsd.sh (EMULATION_NAME): Use new file name.
8028
8029 Tue May 18 17:10:24 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
8030
8031         * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
8032         properly right now.
8033
8034         * Version 2.2 released.
8035
8036 Mon May 17 15:37:28 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
8037
8038         * ldver.c (ldversion): Bump version number to 2.2.
8039
8040 Mon May 17 12:44:31 1993  Per Bothner  (bothner@cygnus.com)
8041
8042         * NEWS:  New file.
8043
8044 Fri May 14 11:26:24 1993  Ian Lance Taylor  (ian@cygnus.com)
8045
8046         * mips.sc-sh: Don't define BSS_VAR unless relocating.
8047
8048 Wed May 12 13:33:29 1993  Ian Lance Taylor  (ian@cygnus.com)
8049
8050         * Makefile.in (mkscript.o, mkscript): Build mkscript via
8051         mkscript.o, rather than directly from mkscript.c.
8052
8053 Tue May  4 21:58:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
8054
8055         * configure.in: Look for ${target_makefile_frag} relative to
8056         ${srcdir}, not relative to build directory.
8057
8058         * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
8059         * configure.in: Recognize hppa*-hp-osf.
8060         * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
8061         (em_hppaosf.c): Build it.
8062         * config/hppaosf.mh, hppaosf.mt: New files.
8063
8064         * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
8065         some system header files.  All uses changed.
8066
8067         * configure.in: Recognize i386-aix configurations as i386-coff
8068         targets.
8069
8070         * configure.in: Recognize m68*-*-hpux.
8071         * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
8072         the value of STACKZERO.
8073         * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
8074         (em_hp3hpux.c): Build it.
8075         * hp3hpux.sh, config/hp300hpux.mt: New files.
8076
8077 Tue May  4 12:37:35 1993  Ian Lance Taylor  (ian@cygnus.com)
8078
8079         * mips.sc-sh: Put constructors in the .data section.
8080         * Makefile.in (cdtest): Added dependency on ld.new.
8081
8082 Mon May  3 19:43:39 1993  Per Bothner  (bothner@cygnus.com)
8083
8084         * Makefile.in:  Change definition of $(tooldir) to match FSF.
8085         * vax.sh, config/vax.mt, configure.in, Makefile.in:
8086         Support VAX Ultrix and BSD.
8087
8088 Mon Apr 26 18:35:47 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
8089
8090         * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
8091
8092 Wed Apr 14 21:01:51 1993  John Gilmore  (gnu@cygnus.com)
8093
8094         * ldlang.h (struct memory_region):  Change `length' and
8095         `old_length' fields to bfd_size_type.  Eliminate use of bfd_offset.
8096         * ldlang.c, mri.c:  Corresponding changes, plus lint.
8097
8098 Thu Apr  8 22:08:18 1993  Ian Lance Taylor  (ian@cygnus.com)
8099
8100         * configure.in: For all i386 targets, accept i486 as well.
8101
8102 Mon Apr  5 17:33:39 1993  Ian Lance Taylor  (ian@cygnus.com)
8103
8104         * ldlang.c (wild_doit): Preserve all flags for a
8105         SEC_SHARED_LIBRARY section.
8106         (size_input_section): Consider any SEC_HAS_CONTENTS section when
8107         computing largest_section.
8108
8109 Fri Apr  2 14:33:52 1993  Ian Lance Taylor  (ian@cygnus.com)
8110
8111         * ldlang.c (lang_output_section_statement_lookup): Initialize all
8112         fields of newly created structure.
8113
8114 Wed Mar 31 18:19:15 1993  Ian Lance Taylor  (ian@cygnus.com)
8115
8116         * ldmain.c (g_switch_value): New variable.
8117         * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
8118         (command_line_option): Accept -G and set g_switch_value.
8119         * ldlex.l (COMMAND): Accept -G.
8120         * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
8121
8122 Tue Mar 30 09:40:25 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
8123
8124         Support for linking and loading at different places:
8125
8126         * ldlex.l: Add "AT" keyword.
8127         * ldgram.y: Cleanup, and parse AT.
8128         * ldlang.c (print_output_section_statement): Print output address
8129         of section in map. (lang_size_sections): Fill sections' lma with
8130         load address.
8131         * ldlang.h (lang_output_section_statement_type): Add load_base
8132         information.
8133
8134         * ldindr.c (add_indirect): Keep more information in the alias
8135         symbol chain.
8136         * ldlang.c (wild_doit):  Don't inherit NEVER_LOAD section
8137         attribute from an input section.
8138         * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
8139         default. (Q_enter_file_symbos): Indirect symbols now are known by
8140         their section, not a special symbol flag.
8141         * ldsym.c (write_file_locals): Indirect symbols aren't local.
8142         (write_file_globals): Write the mapping for an indirect symbol.
8143         * relax.c (build_it): When forced to write a NEVER_LOAD section,
8144         fill it with zeros.
8145
8146 Tue Mar 23 13:24:10 1993  Jeffrey Osier  (jeffrey@fowanton.cygnus.com)
8147
8148         * ld.texinfo:  changes for q1
8149
8150 Tue Mar 23 00:13:29 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8151
8152         * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
8153
8154 Mon Mar  8 20:30:35 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8155
8156         * Makefile.in: rename HOST_CC to CC_FOR_BUILD
8157
8158 Thu Mar  4 12:44:33 1993  Ian Lance Taylor  (ian@cygnus.com)
8159
8160         * mips.sc-sh: Added variables which may be overridden by a
8161         specific emulation.
8162         * mipsidt.sh: New file; emulation for IDT MIPS board.
8163         * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
8164         (em_mipsidt.c): New target.  Uses mipsidt.sh and mips.sc-sh.
8165         * config/mips-idt.mt: New file; sets EMUL to mipsidt.
8166         * configure.in (mips-idt-ecoff): New target; uses mips-idt.
8167
8168 Sat Feb 27 00:00:14 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
8169
8170         * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
8171         ralphc@pyramid.com.
8172         * i386bsd.sh, config/i386bsd.mt: New files.
8173         * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
8174
8175 Thu Feb 25 15:33:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
8176
8177         * mri.c:  Add extern declaration of strdup.
8178         * ldsym.c (KEEP macro):  Add spaces around '=' for the
8179         sake of old (e.g. PCC) compilers.
8180
8181 Wed Feb 24 19:49:31 1993  Per Bothner  (bothner@rtl.cygnus.com)
8182
8183         * ldver.c:  Bump to version 2.1.
8184
8185 Fri Feb 12 08:09:11 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
8186
8187         * ldgram.y: allow section types without address  expressions.
8188         * ldlang.c (lang_relocate_globals): avoid possible hang with
8189         undefined but unreferenced symbols.
8190         * relax.c (relax_section): don't complain if the script file isn't
8191         relaxable but -relax is set
8192
8193 Thu Feb 18 17:58:45 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8194
8195         * configure.in: go32 is the 3rd part of the triple, not the 2nd
8196
8197 Wed Feb  3 09:05:56 1993  Ian Lance Taylor  (ian@cygnus.com)
8198
8199         * mipsbig.sh: New file.  Big endian MIPS emulation.
8200         * config/mips-big.mt: New file.  Use mipsbig emulation.
8201         * configure.in (mips-sgi-irix*): Use target mips-big.
8202         * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
8203         (em_mipsbig.c): New target.  Uses mipsbig.sh.
8204
8205 Tue Feb  2 11:32:27 1993  Ian Lance Taylor  (ian@cygnus.com)
8206
8207         * mips.sc-sh: Put .scommon sections into .sbss section.
8208
8209         * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
8210         rather than always putting them in bfd_com_section.
8211         * ldlang.c (lang_common): If a common symbol is not in
8212         bfd_com_section, put in a section of the same name, rather than
8213         always putting it in section COMMON.
8214
8215 Fri Jan 29 09:57:58 1993  Ian Lance Taylor  (ian@cygnus.com)
8216
8217         * ldmain.c (subfile_wanted_p): If we already have a common
8218         definition of a symbol, don't necessarily pull in an object file
8219         that provides a non-common definition.
8220
8221         * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
8222         returning OPTION_EB and OPTION_EL.  gcc passes these to a MIPS
8223         linker.
8224         * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
8225         (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
8226
8227 Thu Jan 28 15:12:04 1993  Ian Lance Taylor  (ian@cygnus.com)
8228
8229         * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
8230         the link to it.
8231
8232 Tue Jan 26 11:49:50 1993  Ian Lance Taylor  (ian@cygnus.com)
8233
8234         * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
8235         checking for equality to bfd_com_section.
8236
8237 Fri Jan 22 14:22:44 1993  Ian Lance Taylor  (ian@cygnus.com)
8238
8239         * mips.sc-sh: New file.  Ultrix, and hopefully other MIPS ECOFF
8240         targets, linker script.
8241         * mipslit.sh: New file.  Little endian MIPS emulation.
8242         * config/mips-lit.mt: New file.  Use mipslit emulation.
8243         * configure.in (mips-dec-ultrix*): Use target mips-lit.
8244         * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
8245         (em_mipslit.c): New target.  Uses mipslit.sh.
8246
8247 Thu Jan 14 15:30:27 1993  Ian Lance Taylor  (ian@cygnus.com)
8248
8249         * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
8250         $(tooldir)/bin/gld, so that gcc can find it with or without
8251         collect2.
8252
8253 Mon Jan 11 18:50:07 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8254
8255         * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
8256         write_norel.  All linking is now done via write_relax.  Call
8257         ldsym_write before calling write_relax.
8258         * relax.c: Added copyright.
8259         (write_relax): Renamed from write_relaxnorel.  Added relocateable
8260         argument.  seclet_dump renamed to bfd_seclet_link.
8261         * relax.h: Added copyright.
8262
8263 Mon Jan 11 15:41:56 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
8264
8265         * ldmain.c (decode_library_subfile): Patch from
8266         hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
8267
8268 Fri Jan  8 18:04:33 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8269
8270         * config/vxworks960.mt renamed to config/i960.mt
8271
8272         * configure.in: sparc-aout emulates a sun4, as does
8273         sparc*-vxworks, i960-nindy uses gld960 emulation
8274
8275 Fri Jan  8 14:39:07 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
8276
8277          Fix support for NOLOAD, add INCLUDE
8278         * ldfile.c (ldfile_open_command_file): pass file name to
8279         lex_push_file.
8280         * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
8281         * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
8282         attribute.
8283
8284 Thu Jan  7 10:22:19 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8285
8286         * Makefile.in, config.h: no more default emulation.  Make the lack
8287         of emulation a compile time error
8288
8289 Wed Jan  6 01:08:37 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8290
8291         * configure.in: recognise all sparclite variants, not just 'sparclite'
8292
8293 Mon Dec 28 11:15:35 1992  Ian Lance Taylor  (ian@cygnus.com)
8294
8295         * m68kcoff.sc-sh: define _end as well as end, for consistency with
8296         aout.sc-sh.
8297
8298         * configure.in: accept *-ericsson-ose for any m68k CPU.
8299
8300         * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
8301         for each output section.
8302
8303 Mon Dec 21 16:06:59 1992  Per Bothner  (bothner@rtl.cygnus.com)
8304
8305         * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c:  Use new
8306         macro bfd_asymbol_bfd as appropriate.
8307         * Makefile.in:  Un-duplicate ldlex.c dependency.
8308         * condigure.in:  Replace my_host case table by sourcing
8309         ../bfd/configure.host.  Allow std-host as the default.
8310         * ldmisc.c:  Change logic for C++ name demangling:  There is
8311         no initial '_' to remove from stab-derived function names.
8312
8313 Sun Dec 13 16:31:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8314
8315         * ldlang.c (lang_init_script_file): don't attach the output file
8316         sections to the script file.
8317
8318 Wed Dec  9 08:38:05 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8319         * ldlang.c (wild): run expansion loop over command line bfd too.
8320         (lang_ini_script_file): initialize more parts of the command line
8321         bfd.
8322         * ldlex.l: fix DEFINED start states.
8323
8324 Mon Dec  7 08:43:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8325          -y support
8326         * ld.texinfo: new doc.
8327         * ldgram.y, ldlex.l: understand -y<symbol>
8328         * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
8329         print info. (add_ysym): new function.
8330         * ldsym.h: (ldsym_type): new define SYM_Y.
8331
8332 Sat Nov 21 03:15:27 1992  John Gilmore  (gnu@cygnus.com)
8333
8334         * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
8335         ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
8336         ldwrite.h, relax.h:  Replace all uses of EXFUN and PROTO ansi-glue
8337         macros with PARAMS.  Recreational cleanup.  Update copyrights.
8338
8339 Tue Nov 10 00:23:37 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8340
8341         * Makefile.in: pass down the bfd source directory for includes
8342
8343 Thu Nov  5 15:41:55 1992  Ian Lance Taylor  (ian@cygnus.com)
8344
8345         * ldlang.c (lang_size_sections): don't change size and address for
8346         SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
8347         sections.
8348
8349 Thu Nov  5 11:33:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8350
8351         * relax.c (build_it): re-enable the processing of data_statements
8352         in scripts, makes counted contructor lists work again.
8353
8354 Thu Nov  5 05:43:01 1992  John Gilmore  (gnu@cygnus.com)
8355
8356         * ldemul.h:  Remove uses of SDEF and PROTO macros (use PARAMS).
8357
8358 Tue Oct 20 10:56:06 1992  Ian Lance Taylor  (ian@cygnus.com)
8359
8360         * m68kcoff.sc-sh: don't use initial underscores for etext, edata
8361         and end.
8362
8363 Mon Oct 19 09:45:38 1992  Ian Lance Taylor  (ian@cygnus.com)
8364
8365         * Support for i386-sysv.
8366         configure.in: check for i386-*-sysv* and i386-*-sco*.
8367         i386coff.sc-sh: rewrote to support SVR3 by default.
8368         ldctor.c (find_constructors): preserve stat_ptr.
8369         ldlang.c (wild_doit): initialize vma and size of new output
8370         section to corresponding input section.  This is required for
8371         shared library support.
8372         (lang_size_sections): don't modify vma and size of sections which
8373         are never loaded (for shared libraries).
8374         ldwrite.c (copy_and_relocate): copy the contents of any section
8375         which has contents, not just sections which are loaded (for shared
8376         libraries).
8377
8378 Thu Oct 15 15:20:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8379
8380         * ldlang.c (size_input_section): count the sizes of all sections
8381         we allocate.
8382
8383 Thu Oct  8 09:05:25 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8384
8385         * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
8386         to demangle symbols better
8387
8388 Tue Oct  6 13:08:54 1992  Ian Lance Taylor  (ian@cygnus.com)
8389
8390         * ldlang.c (lang_finish): don't warn if -e start symbol does not
8391         exist when linking with -r.
8392
8393 Mon Oct  5 14:07:37 1992  Ian Lance Taylor  (ian@cygnus.com)
8394
8395         * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
8396         .bss segment.
8397
8398 Mon Oct  5 08:55:14 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8399
8400         * ldmain.c (linear_library): don't even think about processing
8401         an object file if it's already been done
8402
8403 Thu Oct  1 23:14:59 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8404
8405         * configure.in: the hp9000/300 config file is now hp300
8406
8407 Wed Sep 30 07:34:09 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8408
8409         * config/z8ksim.mt: new file
8410
8411 Fri Sep 25 13:49:52 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
8412
8413         * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
8414         lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
8415
8416         * ld.h (strip_symbols_type): Add value STRIP_SOME.
8417         * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
8418         * ldlang.c (lang_add_keepsyms_file): New function.
8419         * ldlex.l: Handle "-retain-symbols-file".
8420         * ldsym.c (keepsyms_file, kept_syms): New vars.
8421         (process_keepsyms): New functihon; reads file, marks symbols for
8422         saving.
8423         (write_file_locals): File symbols should always be kept.
8424         (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
8425         and "-s".  Process retain-symbols file before setting symtab.
8426         * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
8427         (keepsyms_file, kept_syms): Declare them.
8428
8429         * ldmain.c (main): Non-fatal errors should still cause non-zero
8430         exit status even with -r.
8431
8432 Fri Sep 25 11:08:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8433
8434         Added initial support for the z8k
8435         * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
8436         * configure.in, Makefile.in: modified to reflect above
8437
8438         * ldlang.c (lang_check): when linking conflicting architectures,
8439         make the output file reflect at least one of the bad inputs.
8440
8441 Tue Sep 15 15:35:38 1992  Ian Lance Taylor  (ian@cygnus.com)
8442
8443         * Makefile.in (install): if $(tooldir) exists, install ld in
8444         $(tooldir)/bin.
8445
8446 Fri Sep 11 10:24:22 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8447
8448         * Makefile.in, configure.in: modified to support i386-coff
8449         * i386coff.sh: new file
8450
8451 Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
8452
8453         * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
8454         added m68k-coff emulation mode, stolen from a29k emulation.
8455         Almost certainly wrong, but perhaps better than sun3.
8456
8457 Thu Sep  3 14:19:30 1992  Per Bothner  (bothner@rtl.cygnus.com)
8458
8459         * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
8460         gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
8461         vanilla.em:  Rename all (generated) ld__*.c files to em_.c.
8462         This is one character shorter, and lets people build on
8463         SVR3 system. (ld__h8300xray.[co] was the killer there;
8464         h8300xray.sc-sh is also overlong, but seems harmless.)
8465         Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
8466         * Makefile.in (clean):  Fix typo mostclean -> mostlyclean.
8467         * configure.in:  Add host isc.
8468
8469         * ldver.c:  Call it version 2.0.
8470
8471 Wed Sep  2 00:21:33 1992  Per Bothner  (bothner@rtl.cygnus.com)
8472
8473         * ldver.c:  Bump to version 0.98.
8474         * TODO:  New file.
8475
8476         * Makefile.in:  Added mostlyclean, distclean, realclean rules.
8477
8478 Tue Sep  1 23:42:16 1992  Per Bothner  (bothner@rtl.cygnus.com)
8479
8480         * ldmisc.c (xrealloc):  New (needed by ../libiberty/cplus.dem.c).
8481         * ldlex.l: Moved comment() to end, since some compilers
8482         otherwise have problems with input() used before it is defined.
8483
8484 Tue Sep  1 17:45:51 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8485
8486         * configure.in: added Solaris 2 and Irix 4 host support.
8487
8488 Mon Aug 31 19:27:11 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8489
8490         * Makefile.in: remove -S flag from the FLEX definition
8491
8492         * configure.in: rewrote, using new style case statement.  use
8493         m68k.mt for m68k-aout systems
8494
8495 Sun Aug 30 21:38:53 1992  Ian Lance Taylor  (ian@cygnus.com)
8496
8497         * Makefile.in: map "ld" through program_transform_name when
8498         installing.
8499
8500 Sun Aug 30 18:12:13 1992  Per Bothner  (bothner@rtl.cygnus.com)
8501
8502         * cplus-dem.c:  Removed.  Use the version in libiberty now.
8503         * ldmisc.c:  Use new libiberty version of cplus_demangle().
8504
8505 Thu Aug 27 16:38:42 1992  Ian Lance Taylor  (ian@cygnus.com)
8506
8507         * gld960.em (gld960_choose_target): default to little endian, not
8508         big endian.
8509
8510 Wed Aug 26 17:28:51 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8511
8512         * ldlang.c (lang_process): don't pass null pointers when
8513         abs_output_section is what is required.
8514         * ldwrite.c (ldwrite): use malloc to allocate the largest space
8515         used, and pass that down.
8516         * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
8517         than alloca.
8518
8519 Mon Aug 24 14:42:06 1992  Ian Lance Taylor  (ian@cygnus.com)
8520
8521         * configure.in, config/ose68.mt: renamed OSE to ose.
8522
8523 Thu Aug 20 19:55:22 1992  Ken Raeburn  (raeburn@cygnus.com)
8524
8525         * ldsym.c (write_file_locals): Reorder check for common or
8526         undefined symbols so that it works.
8527
8528 Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)
8529
8530         * configure.in: accept all m68K family members.
8531
8532         * Makefile.in: always create installation directories.
8533
8534 Thu Aug 13 11:49:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8535
8536         * ldlex.l: now parses comment correctly, added ~ to acceptable
8537         chars in filenames
8538
8539         * ldexp.c (exp_unop): pass down abs_output_section - now can have
8540         unary -ve constants.
8541
8542         * ldlang.c (lang_finish): warn when an entry symbol supplied on
8543         the command line can't be found.
8544
8545 Fri Aug  7 12:31:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8546
8547         * ldlang.h: add new field "loadable" to output_section_statement.
8548         * ldlang.c (lang_output_section_statement_lookup): initilize new
8549         field. (wild_doit): if new field is not set, then stop output
8550         section from being loadable.
8551         (lang_enter_output_section_statement): set the field from the
8552         NOLOAD keyword
8553         * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
8554         * h8300hms.sc-sh, h8300hms.em: get -r right.
8555
8556 Thu Aug  6 18:35:21 1992  Per Bothner  (bothner@rtl.cygnus.com)
8557
8558         * ldint.texinfo:  New internals manual (beginnings thereof).
8559         * PORTING:  Removed, merged into ldint.texinfo.
8560
8561 Tue Aug  4 21:12:29 1992  Per Bothner  (bothner@rtl.cygnus.com)
8562
8563         * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
8564         cdtest.exp:  A test program (copied from libg++/test-install)
8565         that tests that constructor and destructors are handled
8566         corrrectly.
8567
8568 Mon Aug  3 14:58:19 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8569
8570         * Makefile.in (install): install from ld.new, renaming during the
8571         copy, or else the next 'make install' needs to re-link ld.
8572
8573 Mon Jul 20 03:37:06 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
8574
8575         * configure.in: generalise hp recognition (from sef).
8576
8577 Sat Jul 18 14:46:04 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8578
8579         * configure.in: recognize bsd and hpux hppa configurations.
8580         error messages echo to stderr, not stdout
8581
8582 Fri Jul 17 22:06:11 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
8583
8584         * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
8585           ldmisc.c: removed rcsid's.
8586
8587 Tue Jul 14 08:34:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8588
8589         * ldlang.c (lang_map): print changes in sizes due to relaxing
8590         (size_input_section): maintain the delta information.
8591         * ldlang.h: add new field to struct to contain delta info.
8592         * relax.c  (relax_section): complain if input not relaxable.
8593         * ldlex.l : add '_', ',' and '$' to chars which can appear at the
8594         start of a filename
8595
8596 Mon Jul 13 17:33:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8597
8598         * ldmain.c(main): prevent -r and -relax from being on at the same
8599         time.
8600
8601 Wed Jul  1 17:51:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8602
8603         * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
8604         aliasing problems
8605
8606
8607 Thu Jun 18 09:38:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8608
8609         * h8300hms.em, h8300hms.sc-sh:  do the right thing for -r
8610         * ldexp.c:  lint
8611         * ldlang.c(open_output): set the target arch and machine as soon
8612         as we can. (lang_size_sections): use new macros for setting vma
8613         * ldwrite.c: lint
8614
8615 Mon Jun 15 08:47:43 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
8616
8617         * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
8618         Also deleted an unreachable path to wrs.
8619
8620 Wed May 27 23:24:19 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
8621
8622         * Makefile.in (install): use -d test for $tooldir before
8623         installing ld there so that $tooldir can be inherited from
8624         top-level Makefile.
8625
8626 Wed May 27 16:56:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
8627
8628         * ldlang.c:  Two non-substantial changes for the sake of
8629         the old Portable C Compiler.
8630
8631 Wed May 27 15:15:58 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8632
8633         * ldgram.y, ldlex.l: parse ABSOLUTE
8634         * ldexp.c: add support for ABSOLUTE
8635
8636 Wed May 27 13:07:20 1992  Per Bothner  (bothner@rtl.cygnus.com)
8637
8638         * Makefile.in:  Added default definitions for HOSTING_CRT0,
8639         HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
8640         * config/*.mh:  Miscellaneous clean-up:  Removed definitions
8641         of YACC (since it is not longer used in the Makefile).
8642         Remove HOSTING_* definitions that are subsumed by the
8643         ones added to Makefile.in.  Removed most definitions of CC.
8644         * config/{sparc,news,hp300bsd,decstation}.mh:  Removed;
8645         These are no longer needed.
8646
8647 Fri May 22 13:47:19 1992  Per Bothner  (bothner@cygnus.com)
8648
8649         * Makefile.in:  Use srcdir instead of VPATH in ldgram/ldlex
8650         rules, since these are used when building a distribution.
8651         * Makefile.in (ldlex.c):  Don't re-direct output, since that
8652         leaves a bogus output files if it fails.
8653
8654         * config/sparc.mh:  Fix HOSTING_LIBS so it has a chance of working.
8655         * ldlex.c:  Fix some unnecessary flex-specific-isms.
8656
8657 Fri May  8 11:49:43 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8658
8659         * ldgram.y: move spurious semicolon
8660         * ldexp.h: fix prototype
8661
8662 Thu May  7 17:01:12 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
8663
8664         * ld.texinfo: references to linker now say "ld" not "gld".
8665
8666 Wed May  6 13:26:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8667
8668         changed calling convention for Q_enter_global_ref
8669         * ldexp.c, ldlang.c, ldmain.c: reflect this
8670         * ldver.c: bump version to 1.97.1
8671         * ldindr.c (add_indirect): when an edict declaring an indirect
8672         symbol is found, make sure that any ideas about the symbol being
8673         common are changed if it now known to be defined.
8674         * ldmain.c (linear_library): complain once if archive isn't
8675         ranlibbed.
8676         * ldlang.h, ldlang.c: make room for and initialize the complain
8677         once field.
8678
8679 Wed May  6 11:07:35 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
8680
8681         * Makefile.in: use flex & bison from ../ if they exist.
8682
8683 Tue May  5 17:47:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8684
8685         * relax.c (build_it): don't allocate space in the output file for
8686         stuff if -R flag applys to it.
8687         * ldfile.c: merge in VMS filename support
8688         * ldmain.c (main): take out ./ from library path, and close file
8689         before unlinking. Make multiple defs of a symbol create an
8690         unexecable file.
8691         * ldmisc.c: fatal errosrs delete output file
8692
8693 Tue May  5 14:05:05 1992  Per Bothner  (bothner@rtl.cygnus.com)
8694
8695         * ldver.c:  Increase version number to 1.97, for consistency
8696         with ../binutils.
8697
8698 Tue May  5 12:12:24 1992  K. Richard Pixley  (rich@cygnus.com)
8699
8700         * Makefile.in: FLEX -> LEX.
8701
8702         * ld.texinfo: {} -> @{@}.
8703
8704 Mon May  4 17:52:41 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
8705
8706         * ld.texinfo: describe alternate, MRI-compatible linker scripts
8707         (and associated change in -c option, now used for these scripts)
8708
8709 Mon May  4 16:10:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8710
8711         * ldver.c: Bumped version to 1.96 - new release, resync with the
8712         bfd too #.
8713         * ldexp.c, ldlang.c: now build memory shape tree in obstacks
8714         rather than with raw malloc, makes it easier to track where memory
8715         is going.
8716         * ldsym.h, ldsym.c: create obstack for all global symbols too.
8717         * ldwrite.c (ldwrite): moved malloc so only used when needed.
8718         * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
8719
8720
8721 Fri May  1 18:17:52 1992  K. Richard Pixley  (rich@cygnus.com)
8722
8723         * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
8724
8725         * Makefile.in: use bootstrap for check.
8726
8727 Fri May  1 13:03:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8728
8729         * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
8730         PUBLIC.
8731         * Makefile.in: now use flex, not lex
8732         * ldlex.l, ldlang.c, ldctor.c: lint
8733
8734 Wed Apr 22 12:48:42 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8735
8736         * ldlex.l: added CMDFILENAMECHAR state so that you can lex
8737         different sorts of filenames on the command line than in a script.
8738
8739 Mon Apr 20 22:37:04 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
8740
8741         * Makefile.in: rework CFLAGS so that they can be passed on the
8742           make command line.  Remove MINUS_G.  Default CFLAGS to -g.
8743
8744 Fri Apr 17 08:57:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8745
8746         * relax.c: added handling for new "padding" seclet type, used to
8747         fill out gaps between section.
8748         * ldgram.y, ldlex.l: now -defsym on the command line is done
8749         properly.
8750
8751 Wed Apr 15 21:20:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
8752
8753         * Makefile.in: the tooldir copy of ld goes directly in tooldir.
8754
8755 Wed Apr 15 16:09:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8756
8757         * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
8758         scripts.
8759
8760 Thu Apr  9 05:52:02 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
8761
8762         * Makefile.in (install): Install second copy in $(tooldir)/bin
8763         without $(program_prefix), since that's what gcc expects.
8764
8765 Sat Apr  4 17:44:06 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8766
8767         * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
8768         * h8300*: fix bit rot and add support for h8300xray target
8769         * go32.sh: target emulation for go32.
8770
8771 Mon Mar 16 14:53:29 1992  Steve Chamberlain  (sac@rtl.cygnus.com)
8772
8773         * gld960.em, i960.sc-sh. Fix i960 bit rot
8774
8775 Fri Mar 13 19:47:22 1992  K. Richard Pixley  (rich@cygnus.com)
8776
8777         * Makefile.in: install man page.
8778
8779 Fri Mar 13 08:23:59 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8780
8781         * config/mt-<foo> renamed to <foo>.mt
8782         * config/mh-<foo> renamed to <foo>.mt
8783         * configure.in changed to reflect this
8784         * genscripts.sh now make .xbn files rather than .xN files
8785
8786 Sat Mar  7 03:40:40 1992  K. Richard Pixley  (rich@cygnus.com)
8787
8788         * ldver.h: fix decl of ldversion.
8789
8790 Fri Mar  6 22:00:35 1992  K. Richard Pixley  (rich@cygnus.com)
8791
8792         * Makefile.in: added check target.
8793
8794 Fri Mar  6 06:59:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8795
8796         * ldmain.c (Q_enter_file_symbols): now aliases work again
8797
8798 Thu Mar  5 21:39:29 1992  K. Richard Pixley  (rich@cygnus.com)
8799
8800         * Makefile.in: added clean-info target.
8801
8802 Thu Mar  5 16:55:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
8803
8804         * ldexp.c (exp_print_tree): don't try and follow null pointers
8805         around.
8806         * ldgram.y: remove 11 shift reduce errors
8807
8808 Tue Mar  3 15:46:39 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
8809
8810         * Makefile.in: added tooldir and program_prefix.
8811
8812 Fri Feb 28 08:17:45 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
8813
8814         * ldlang.c (size_input_section): don't move absolute sections
8815         around!
8816
8817
8818 Thu Feb 27 09:20:41 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
8819
8820         * cplus-dem.c: yet another copy of this - maybe it should go into
8821         libiberty ?
8822         * ldgram.y: now -V and -v have different actions
8823         * ldver.c: if -V, prints list of emulations compiled in
8824         * ldmisc.c: support for cplus demangling
8825
8826
8827 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
8828
8829         * Makefile.in, configure.in: removed traces of namesubdir,
8830           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
8831           copyrights to '92, changed some from Cygnus to FSF.
8832
8833 Thu Feb 20 17:43:46 1992  Per Bothner  (bothner at cygnus.com)
8834
8835         * Makefile.in:  Change mkscript rule into one for ./mkscript
8836         (for the sake of makes that don't realize they're the same).
8837         * PORTING:  Add more details.
8838         * genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
8839
8840 Mon Feb 17 12:04:36 1992  Per Bothner  (bothner at cygnus.com)
8841
8842         * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
8843         config/mt-hp300bsd:  New port to hp300 running BSD.
8844
8845 Sat Feb 15 13:59:54 1992  Per Bothner  (bothner at cygnus.com)
8846
8847         Major rewrite of how ld is configured.  The major idea
8848         is to use shell scripts to generate everything.
8849         * generic.em replaces ldtemplate.
8850         * Other *.em files replace various *.c files.
8851         A *.em file is a shell script that generates the corresponding
8852         ld__*.c file that implements an emulation.  This is usually
8853         a straight 'cat' of a here-document, possibly with substitutions.
8854         * Script files (*.sc) are places by *.sc-sh scripts.
8855         Again, these are simple shell scripts that 'cat'
8856         here-documents, usually with some substitutions.
8857         The output a *.sc-sh is a script file.
8858         * Each emulation is defined by a short shell script with
8859         extension *.sh that specifies the emulation-specific
8860         parameters (such as the name of the *.sh-sc and *.em
8861         files to use).
8862         * genscript.sh is the master shell script used to generate
8863         an emulation.  It is passed various argument, including
8864         the name a the emulation-speciic *.sh file that it
8865         "sources" to set variables to emulation-specifc parameters.
8866         * config/mt-foo:  Changed EMUL=GLDFOO_EMULATION_NAME
8867         to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
8868         * config/mh-foo:  Rename LDEMULATION names as appropriate
8869         (usually 'gldfoo' -> plain 'foo').
8870         * ldwrite.c:  Fixed a typo in a comment.
8871         * Makefile.in:  Major changes.  Removed some the sed
8872         magic to converts scripts, since that is now handled
8873         by genscripts.sh and the *.sc-sh scipt generators.
8874         * config.h:  Remove a bunch of macros defining emulations
8875         and targets.  This becomes one less file to edit when
8876         adding emulations or targets.
8877         * ldemul.h (struct ld_emulation_xfer_struct):  Add
8878         emulation_name and target_name fields.
8879         * ldemul.c, ldemul.h:  Define some default functions used
8880         by most emulations (and remove from the *.em scripts).
8881         * ldemul.c (ldemul_choose_target):  Search the new
8882         ld_emulations array using a loop (instead of a hardwired
8883         nested if statement).
8884         Define the ld_emulation from the automatically-geenrated
8885         ldemul-list.h.  This means you no longer have to edit ldemul.c
8886         to add a new emulation.
8887         * ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
8888         their expansions, since the former no longer exist.
8889         * PORTING:  A very rough first draft of a porting guide.
8890
8891         * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
8892         to be terminated by a new-line (instead of requiring a semicolon).
8893
8894 Mon Feb 10 16:21:02 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8895
8896         * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
8897         tests for NULL pointers all over the place.
8898         * ldlang.c (lang_process): remember to relocate global symbols
8899         *after* relaxing has done it stuff.
8900
8901 Thu Feb  6 11:40:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8902
8903         * config/mt-coff-h8300: use EMUL like everything else
8904         * ldlang.c: (print_padding_statement): print the right address.
8905         * Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
8906
8907
8908 Tue Feb  4 15:28:01 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8909
8910         * ldlex.l: Put pack -noinhibit-exec and -sort-common
8911         * ldlang.c (print_data_statement): print the right address.
8912
8913 Thu Jan 30 17:51:53 1992  Per Bothner  (bothner at cygnus.com)
8914
8915         * Makefile.in:  The rule for testing ld by re-linking itself
8916         via an intermediate -r link was moved to the ld1 rule
8917         instead of the ld2 rule.  This allows ld2 and ld3 to be identical,
8918         which allows the bootstrap rule to work.
8919         * ldctor.c (find_constructors):  Don't create a constructor
8920         list if it is already defined (as would happen if ld is
8921         invoked by collect).
8922
8923 Wed Jan 29 08:35:39 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8924
8925         * config/mh-sparc.h: now uses libgcc.a
8926         * ldmain.c: quit using exit
8927         * *sc: use *(COMMON) rather than [COMMON]
8928         * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
8929         to allow preprocessing of .l file.
8930         * Makefile.in: New ldlex.l mangling
8931         * ldexp.c (fold_binary): perform expressions with % and / in
8932         integer.
8933         * ldfile.c (open_a): open archives on VMS in a special way
8934
8935
8936 Tue Jan 28 10:18:16 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8937
8938         * ldgram.y: map -M behave in the same way as -Map (sets file name
8939         to be "-".
8940         * ldsym.c, ldlang.c: remember that size of a section is dependent on
8941         whether or not relaxing has been done.
8942         * ldmain.c: don't open a map file if it doesn't have a name
8943         * relax.c: all the brains have moved into bfd.
8944         * ldwrite.c: ammend comment
8945
8946 Fri Jan 24 14:23:46 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
8947
8948         * Makefile.in: added relax, also made three stage go through a
8949         partial link stage.
8950         * relax.c : added
8951         * config.h: if GNU960 defined, then default emulation mode is
8952         GLD960
8953         * ldexp.h, ldexp.c: map to file hooks
8954         * ldlang.c: map to file hooks
8955         * ldgram.y: added -Map -relax
8956         * ldlex.l: added -relax, -Map
8957         * ldmain.c: open map file
8958         * ldmisc.c: support for map file
8959         * ldwrite.c: new relax magic
8960
8961 Thu Dec 19 18:49:51 1991  John Gilmore  (gnu at cygnus.com)
8962
8963         * Makefile.in, config/tm-*.h:  Clean up make output, only
8964         pass DEFAULT_EMULATION to ldmain.c.
8965
8966 Wed Dec 18 15:02:47 1991  Per Bothner  (bothner at cygnus.com)
8967
8968         * ldver.c:  Bump to version 1.94.
8969
8970 Tue Dec 10 04:07:23 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
8971
8972         * Makefile.in: infodir belongs in datadir.
8973
8974 Mon Dec  9 16:26:43 1991  Per Bothner  (bothner at cygnus.com)
8975
8976         * Makefile.in:  Pass -y to bison.  (Again;
8977         accidentally deleted by Rich.)
8978         * news.sc, ldgld68k.sc:  Define __end as well as _end.
8979
8980 Sat Dec  7 17:19:26 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
8981
8982         * ldindr.h: added to contain prototypes of ldindr.c
8983         * ldfile.c: include ctype.h
8984         * ldmain.c: include the requried prototype headers
8985         * ldwrite.c: get_reloc_upper_bound has been renamed
8986         bfd_get_reloc_upper_bound
8987
8988 Fri Dec  6 23:29:26 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
8989
8990         * Makefile.in: punt "fundamental" mode because it breaks my emacs
8991           macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
8992           spaces following hyphens, bsd make can't cope.  added
8993           standards.text support and made it look like all the other
8994           makefiles.
8995
8996         * configure.in: configure now runs entirely in objdir so make file
8997           existence checks against ${srcdir}.  Mark this directory as
8998           target dependent.
8999
9000 Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
9001
9002         * Makefile.in: idestdir and ddestdir go away.  Added copyrights
9003           and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
9004           and mandir now keyed off datadir by default.
9005
9006 Wed Dec  4 23:36:55 1991  Per Bothner  (bothner at cygnus.com)
9007
9008         * ldver.c:  Bumped version to 1.93.
9009         * Makefile.in:  Pass -y to bison.
9010
9011 Mon Nov 25 18:28:40 1991  Steve Chamberlain  (sac at cygnus.com)
9012
9013         * config.h: h8 is now coff, not ieee
9014         * h8300hds.sc: reflect the same
9015
9016 Thu Nov 14 19:55:09 1991  Per Bothner  (bothner at cygnus.com)
9017
9018         * ldver.c (ldversion()):  Update to 1.92.
9019         * ldctor.c: There are two places constructor sets
9020         can be defined.  One of them checked for an existing
9021         duplicate, the other didn't.  Unfortunately, the latter
9022         was called after the former ...
9023         So, factor out code for inserting a new element into
9024         constructor_name_list (after checking for a duplicate)
9025         into a new function add_constructor_name, and call
9026         it from both aforementioned places (ldlang_add_constructor
9027         and ldlang_check_for_constructors).
9028
9029 Wed Nov 13 15:17:43 1991  Per Bothner  (bothner at cygnus.com)
9030
9031         * Makefile.in:  Rename .c files generated from ldtemplate
9032         to have names starting with ld__.  This helps 'make clean'.
9033
9034 Tue Nov 12 18:36:50 1991  Steve Chamberlain  (sac at cygnus.com)
9035
9036         * Makefile.in: Take out the version number for install
9037         * m88kbcs.sc: put in contructor blocks.
9038
9039 Mon Nov 11 18:47:33 1991  Per Bothner  (bothner at cygnus.com)
9040
9041         * ldmisc.c, ldmisc.h:  Re-write info() to take a filename
9042         parameter, a format, and an arg pointer, and rename it to
9043         vfinfo().  Write info() in terms of new vfinfo().
9044         New einfo() is the same as info(), except it writes to stderr.
9045         * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
9046         ldmisc.c:  Replace "error" calls to info() by new einfo().
9047
9048 Mon Nov 11 09:57:32 1991  Steve Chamberlain  (steve at cygnus.com)
9049
9050         * ldlex.l ldgram.y: made -V option do same as -v
9051         * Makefile.in: Added $(MINUS_G) flag so debugging can be
9052         turned off
9053
9054 Sun Nov  3 16:37:37 1991  Steve Chamberlain  (steve at cygnus.com)
9055          i386 aout changes from Bob Kukura
9056         * Makefile.in, config.h: added i386aout support
9057         * configure.in: fixed /h-{myhost} typo
9058         * ldgram.y: -MM now gives more boring map.
9059         * ldlang.c: now does D_PAGED flag the right way.
9060         * ldsym.c: -MM flags does the right thing.
9061
9062 Sun Nov  3 15:00:03 1991  Per Bothner  (bothner at cygnus.com)
9063
9064         * configure.in:  Fixed typo.  Also, a fix for hp300bsd.
9065         * ldlang.c (init_os):  Compensate for BFD change,
9066         where bfd_make_section now returns NULL for a duplicate
9067         section request, instead of the old section.
9068
9069 Thu Oct 17 15:27:13 1991  Per Bothner  (bothner at cygnus.com)
9070
9071         * ldver.c: Bump to version 1.91 (consistent with binutils).
9072
9073 Wed Oct 16 12:27:08 1991  Per Bothner  (bothner at cygnus.com)
9074
9075         * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
9076         ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
9077         ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
9078         ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
9079         Add or update copyright notices.
9080
9081 Mon Oct 14 23:55:27 1991  Per Bothner  (bothner at cygnus.com)
9082
9083         * README: New file.
9084         * Makefile.in:  Changed installation directory name scheme
9085         to be consistent with gcc.  Also changed 'install'.
9086
9087 Mon Oct 14 17:30:02 1991  Roland H. Pesch  (pesch at cygnus.com)
9088
9089         * Makefile.in: new targets ld.mm, ld.me
9090
9091 Mon Oct 14 17:27:24 1991  Per Bothner  (bothner at cygnus.com)
9092
9093         * Makefile.in, ldtemplate:  Need to use separate scripts
9094         for -n and -N options.  Yet more complication.
9095
9096 Fri Oct 11 22:40:46 1991  John Gilmore  (gnu at cygnus.com)
9097
9098         * Makefile.in:  Avoid using $< in explicit Make rules (it doesn't
9099         work).  Add some lines to avoid Sun Make VPATH bugs.
9100
9101 Fri Oct 11 16:42:22 1991  Per Bothner  (bothner at cygnus.com)
9102
9103         * news.sc: Add alignment for data segment.
9104         * ldtemplate: Add (yet another) script to get for -n or -N
9105         options.  (These need different alignment than ZMAGIC files.)
9106         * Makefile.in:  Add stuff for new foo.xn scripts.
9107         These are generated by replacing "ALIGN(0x...00)" by ".".
9108
9109 Fri Oct 11 15:43:04 1991  Roland H. Pesch  (pesch at cygnus.com)
9110
9111         * Makefile.in: new targets ld.ms, ld-index.ms
9112         ld.texinfo: remove tabs, other cleanups for texi2roff
9113
9114 Fri Oct 11 13:51:54 1991  Per Bothner  (bothner at cygnus.com)
9115
9116         * ldmain.c (main): Make config.magic_demand_paged be true
9117         by default.  Don't the WP_TEXT and D_PAGED flags of
9118         output_bfd here; it's too late, so set it when output_bfd
9119         is created (in ldlang.c).  Also fix setting of EXEC_P flag
9120         * ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
9121         * ldlang.c: Remove some duplicate extern declarations.
9122         * ldgram.y: Fixes to -N and -n options.
9123         * Makefile.in:  Recognize upper case letters in sed script
9124         to remove assignments from script files.
9125         * ldtemplate:  Don't assukme that -N or -n options
9126         imply use of -r script.
9127         * mkscript.c:  Tweaking to correctly handle \n and \\ in input.
9128
9129 Fri Oct 11 10:29:27 1991  Steve Chamberlain  (steve at cygnus.com)
9130
9131         * ldtemplate: include bfd.h before sysdep.h.
9132
9133 Fri Oct 11 04:24:45 1991  John Gilmore  (gnu at cygnus.com)
9134
9135         Restructure configuration scheme for bfd, binutils, ld.
9136
9137         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
9138         * configure.in:  Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
9139         Change some config names to match other dirs.
9140         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
9141         get defined first.
9142         * config/:  Rename some config files to match up h-*.h names.
9143         Remove all the HOST_SYS definitions from the config files.
9144
9145 Tue Oct  8 16:00:57 1991  Per Bothner  (bothner at cygnus.com)
9146
9147         * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
9148         * ldtemplate: Remove ldfile_add_library_path calls;
9149         just use the SEARCH_DIR commands in the script files.
9150         * Makefile.in: Add LIB_PATH macro, which if set is used to replace
9151         the SEARCH_DIR commands in the scripts (using ugly sed magic).
9152         This is primarily intended for cross-linking, where you would
9153         place libaries in a different place than native libraries.
9154         Also, emulations made from ldtemplate now use $(srcdir).
9155         * ldglda29k.sc:  Change SEARCH_DIR commands to a conventional
9156         form; people can use the Makefile's LIB_PATH to override.
9157
9158 Tue Oct  8 14:51:21 1991  Roland H. Pesch  (pesch at cygnus.com)
9159
9160         * Makefile.in: fix target ld.dvi, add target ld.info
9161         ld.texinfo: make info filename ld.info
9162
9163 Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
9164
9165         * Makefile.in:  Avoid using $< in non-suffix rules (breaks on Sun
9166         Make).
9167         * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
9168         few BFD types & enums.
9169
9170 \f
9171 Local Variables:
9172 mode: change-log
9173 left-margin: 8
9174 fill-column: 74
9175 version-control: never
9176 End: