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