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