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