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