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