* pe-dll.c (process_def_file): Uninitialized data wasn't
[external/binutils.git] / ld / ChangeLog
1 2000-09-28  Paul Sokolovsky  <Paul.Sokolovsky@technologist.com>
2
3         * pe-dll.c (process_def_file): Uninitialized data wasn't
4         exported with --export-all-symbols switch.
5         
6 2000-09-28  DJ Delorie  <dj@redhat.com>
7
8         * pe-dll.c (fill_edata): rearrange the data so that ordinals and
9         noname work properly.
10
11 2000-09-28  Alan Modra  <alan@linuxcare.com.au>
12
13         * ld.texinfo (HPPA ELF32): New section.
14
15         * emultempl/hppaelf.em (group_size): New.
16         (hppaelf_finish): Pass group_size to elf32_hppa_size_stubs.
17         (PARSE_AND_LIST_PROLOGUE): Add OPTION_STUBGROUP_SIZE.
18         (PARSE_AND_LIST_LONGOPTS): Add --stub-group-size.  Duplicate
19         options to prevent abbreviations matching.
20         (PARSE_AND_LIST_OPTIONS): Describe the above.  Reformat.
21         (PARSE_AND_LIST_ARGS_CASES): Handle it.
22
23 2000-09-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
24
25         * emultempl/m68kelf.em: Conditionalise the embedded relocs feature
26         on the m68*-*-elf target.  Make it support COFF input objects.
27
28 2000-09-21  Kazu Hirata  <kazu@hxi.com>
29
30         * ldmain.c: Fix formatting.
31         * ldmisc.c: Likewise.
32         * ldver.c: Likewise.
33         * ldwrite.c: Likewise.
34
35 2000-09-21  Alan Modra  <alan@linuxcare.com.au>
36
37         * ldwrite.c (clone_section): Silence gcc warnings.
38
39 2000-09-20  Alan Modra  <alan@linuxcare.com.au>
40
41         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Handle
42         out of memory failure.
43
44         * ldwrite.c (ldwrite): Remove unnecessary einfo arg.
45         (clone_section): Handle out of memory failures.  Rename var to
46         avoid c++ reserved word.
47
48 2000-09-18  Alan Modra  <alan@linuxcare.com.au>
49
50         * emultempl/hppaelf.em (hppaelf_add_stub_section): Rename
51         stub_name param to stub_sec_name.
52         (hppaelf_finish): Modify call to elf32_hppa_size_stubs.
53
54 2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
55
56         * emultempl/m68kelf.em: New file.
57         * emulparams/m68kelf.sh (EXTRA_EM_FILE): Use it.
58         * Makefile.am (em68kelf.c): Add dependency on m68kelf.em.
59         * Makefile.in: Regenerate.
60
61 2000-09-15  Alan Modra  <alan@linuxcare.com.au>
62
63         * emulparams/hppalinux.sh (DATA_START_SYMBOLS): Provide $global$
64         only as needed.
65
66 2000-09-13  Nick Clifton  <nickc@redhat.com>
67
68         * ldmain.c (multiple_definition): Disable relaxation if
69         multiple symbol definitions are encountered - otherwise the
70         linker could abort with an assertion failure.
71
72 2000-09-10  Nick Clifton  <nickc@redhat.com>
73
74         * mri.c: Fix formatting.
75
76 2000-09-07  H.J. Lu  <hjl@gnu.org>
77
78         * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
79         * configure: Rebuild.
80
81 2000-09-07  H.J. Lu  <hjl@gnu.org>
82
83         * Makefile.am (lexsup.o): Also depend on $(INCDIR)/demangle.h.
84         * Makefile.in: Rebuild.
85
86 2000-09-07  Alan Modra  <alan@linuxcare.com.au>
87
88         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix
89         broken list handling.  Create __start_SECNAME and __stop_SECNAME
90         when no place-holder.  Add some comments.  Test both SEC_CODE and
91         SEC_READONLY for hold_text to prevent .rodata orphan poisoning.
92         Handle case where no output section statement created.
93
94 2000-09-07  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
95
96         * configure.tgt (sh-*-linux*): Added.
97         * Makefile.am: Added eshelf_linux and eshlelf_linux.
98         * Makefile.in: Rebuilt.
99         * emulparams/shelf_linux.sh: New file.
100         * emulparams/shlelf_linux.sh: New file.
101
102 2000-09-06  Alan Modra  <alan@linuxcare.com.au>
103
104         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
105         try shuffling sections when the orphan happens to be the place
106         holder.  Keep count of unique section names generated so we speed
107         the search for a new name.
108
109 2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
110
111         * configure: Rebuilt with new libtool.m4.
112
113 2000-09-05  Nick Clifton  <nickc@redhat.com>
114
115         * Makefile.in: Regenerate.
116         * aclocal.m4: Regenerate.
117         * configure: Regenerate.
118         * config.in: Regenerate.
119         * po/ld.pot: Regenerate.
120
121         * ldint.texinfo: Remove CVS revision marker - it foils local
122         comparisons.
123
124         * emultempl/ticoff.em: Remove extraneous comma.
125
126 2000-09-05  Alan Modra  <alan@linuxcare.com.au>
127
128         * emultempl/hppaelf.em (hppaelf_add_stub_section): Add SEC_RELOC
129         to stub section flags.
130         (hppa_for_each_input_file_wrapper): New.
131         (hppa_lang_for_each_input_file): New.
132         (lang_for_each_input_file): Define to call above.
133         (multi_subspace): New.
134         (hppaelf_finish): Pass multi_subspace to elf32_hppa_size_stubs.
135         (PARSE_AND_LIST_PROLOGUE): Define.
136         (PARSE_AND_LIST_LONGOPTS): Define.
137         (PARSE_AND_LIST_OPTIONS): Define.
138         (PARSE_AND_LIST_ARGS_CASES): Define.
139         (hppaelf_finish): Call elf32_hppa_set_gp.
140         (hppaelf_set_output_arch): Remove.
141         (LDEMUL_SET_OUTPUT_ARCH): Remove.
142
143         * emulparams/hppalinux.sh (ELFSIZE): Define.
144         (MACHINE): Define.
145         (OTHER_READONLY_SECTIONS): Define.
146         (DATA_PLT): Define.
147         (GENERATE_SHLIB_SCRIPT): Define.
148
149         * ldlang.c: Add missing prototypes, and tidy others.  Change CONST
150         to const throughout.  Change `void *' to `PTR' throughout.
151         (lang_memory_default): Function is local to file, add `static'.
152
153         * Makefile.am (ehppaelf.c): Depend on emultempl/elf32.em.
154         (ehppalinux.c): Likewise.
155         (earmelf.c): Likewise.
156         (earmelf_linux.c): Likewise.
157         (earmelf_linux26.c): Likewise.
158         * Makefile.in: Regenerate.
159
160         * ld.h (ld_config_type): Add unique_orphan_sections.
161         * lexsup.c (OPTION_UNIQUE): Define.
162         (ld_options): Add "--unique".
163         (parse_args): Handle it.
164         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
165         search for an existing output section if unique_orphan_sections is
166         set.  Make use of bfd_get_unique_section_name rather than
167         duplicating code here.
168         * ld.texinfo: Describe --unique.
169
170         * lexsup.c (ld_options): Make split-by-reloc arg optional. Add
171         optional arg to split-by-file.
172         (parse_args): Handle them.
173         * ld.texinfo: Update description of these options.
174         * ldwrite.c (clone_section): Pass in the section name.  Replace
175         local code with bfd_get_unique_section_name.
176         (split_sections): Tidy code and comments.  Use a list traversal
177         more appropriate to the list construction.  Handle cooked section
178         sizes.  Split when split_by_reloc reached rather than exceeded.
179         Track section size and split when split_by_file reached.  Fix
180         link_order_tail (even though it's not used).
181         (ldwrite): Modify condition for calling split_sections to suit
182         changed split_by_reloc and split_by_file.
183         * ldmain.c (main): Init config.split_by_reloc and
184         config.split_by_file to -1.
185         * ld.h (ld_config_type): Change split_by_reloc to unsigned.
186         Change split_by_file to bfd_size_type.
187
188 2000-09-02  Nick Clifton  <nickc@redhat.com>
189
190         * configure.in: Increase version number to 2.10.91.
191         * NEWS: Mention new ability to support removal of duplicate DWARF2
192         debug information.
193         * configure: Regenerate.
194         * aclocal.m4: Regenerate.
195         * config.in: Regenerate.
196
197 2000-09-02  Daniel Berlin <dberlin@redhat.com>
198
199         * scripttempl/elf.sc: Add .gnu.linkonce.wi.* to .debug_info
200         sections.
201         * scripttempl/elf32var.sc: Ditto.
202         * scripttempl/elfd10v.sc: Ditto.
203         * scripttempl/elfd30v.sc: Ditto.
204         * scripttempl/elfi370.sc: Ditto.
205         * scripttempl/elfm68hc11.sc: Ditto.
206         * scripttempl/elfm68hc12.sc: Ditto.
207         * scripttempl/elfi386beos.sc: Ditto.
208         * scripttempl/v850.sc: Ditto.
209
210 2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
211
212         * acinclude.m4: Include libtool and gettext macros from the
213         top level.
214         * aclocal.m4, configure: Rebuilt.
215
216 2000-08-25  Nick Clifton  <nickc@redhat.com>
217
218         * ldlang.c (open_output): When choosing the target for a
219         particular endianness, do nothing if the target is not
220         supported.
221
222 2000-08-25  H.J. Lu  <hjl@gnu.org>
223
224         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
225         check -rpath nor LD_RUN_PATH for cross link.
226         * ld.texinfo: Document the change.
227
228 2000-08-24  Hans-Peter Nilsson  <hp@axis.com>
229
230         * NEWS: Mention support for CRIS.
231
232 2000-08-23  H.J. Lu  <hjl@gnu.org>
233
234         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Get
235         the current runpath list from bfd_elf_get_runpath_list ()
236         before search.
237
238 2000-08-22  H.J. Lu  <hjl@gnu.org>
239
240         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search
241         the DT_RPATH/DT_RUNPATH entries for DT_NEEDED after
242         LD_LIBRARY_PATH for native linker. Display the needed DSO if
243         trace_file_tries is non-zero.
244         (gld${EMULATION_NAME}_try_needed): Report the needed DSO found
245         if trace_file_tries is non-zero.
246
247         * ld.texinfo: Document the usage of DT_RPATH/DT_RUNPATH.
248         * NEWS: Mention it.
249
250 2000-08-14  Jason Eckhardt  <jle@cygnus.com>
251
252         * NEWS: Mention i860 support.
253
254 2000-08-14  Andreas Schwab  <schwab@suse.de>
255
256         * scripttempl/elf.sc: Fix last change to use correct comment
257         syntax.
258
259 2000-08-10  Geoff Keating  <geoffk@cygnus.com>
260
261         * scripttempl/elf.sc: Add a comment giving the correspondence
262         between sections, per-datum sections, and linkonce sections.  Make
263         the comment true even for .bss, .sdata, .sdata2, .sbss, and
264         .sbss2.
265
266 2000-08-10  Jason Eckhardt  <jle@cygnus.com>
267
268         * emulparams/elf32_i860.sh: New file.
269         * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}.
270         * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o.
271         (eelf32_i860.c): New rule.
272         * Makefile.in: Regenerate.
273
274 2000-08-10  Nick Clifton  <nickc@cygnus.com>
275
276         * emulparams/mipspe.sh (ENTRY): Add definition.
277
278 2000-08-08  Peter Jeremy  <peter.jeremy@alcatel.com.au>
279
280         * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath
281         in error message.
282
283 2000-08-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
284
285         * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate
286         the final size of .bss section.
287         * scripttempl/elfm68hc12.sc: Likewise.
288
289 2000-08-04  Alan Modra  <alan@linuxcare.com.au>
290
291         * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to
292         gld${EMULATION_NAME}_parse_args for consistency.  Combine
293         lastoptind and prevoptind vars, and keep track of last optind.
294         (gld_${EMULATION_NAME}_list_options): Rename to
295         gld${EMULATION_NAME}_list_options.
296
297 2000-08-03  Rodney Brown  <RodneyBrown@pmsc.com>
298
299         * configure.tgt: Select targ_emul=elf_i386 for Unixware 7
300         (i586-sco-sysv5uw7.1.0).
301
302 2000-07-27  H.J. Lu  <hjl@gnu.org>
303
304         * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed.
305         (PARSE_AND_LIST_PROLOGUE): New.
306         (PARSE_AND_LIST_LONGOPTS): Likewise.
307         (PARSE_AND_LIST_OPTIONS): Likewise.
308         (PARSE_AND_LIST_ARGS_CASES): Likewise.
309         (PARSE_AND_LIST_EPILOGUE): Likewise.
310
311 2000-07-28  Alan Modra  <alan@linuxcare.com.au>
312
313         * emultempl/armelf.em: Elide functions common to elf32.em,
314         ie. most of the file.
315         (arm_elf_after_open): New.  Do arm specific things then call
316         gld${EMULATION_NAME}_after_open.
317         (arm_elf_before_allocation): New.  Call
318         gld${EMULATION_NAME}_before_allocation then do arm specifics.
319         (PARSE_AND_LIST_PROLOGUE): Define.
320         (PARSE_AND_LIST_SHORTOPTS): Define.
321         (PARSE_AND_LIST_LONGOPTS): Define.
322         (PARSE_AND_LIST_OPTIONS): Define.
323         (PARSE_AND_LIST_ARGS_CASES): Define.
324         (LDEMUL_AFTER_OPEN): Define.
325         (LDEMUL_BEFORE_ALLOCATION): Define.
326         (LDEMUL_BEFORE_PARSE): Define.
327         (LDEMUL_FINISH): Define.
328
329         * emultempl/hppaelf.em: Similarly zap most of this file.
330         (hppaelf_add_stub_section): Prototype.
331         (hppaelf_layaout_sections_again): Prototype.
332         (hook_in_stub): Prototype.
333         (LDEMUL_SET_OUTPUT_ARCH): Define.
334         (LDEMUL_FINISH): Define.
335         (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
336
337         * emulparams/armelf.sh (TEMPLATE_NAME): Use elf32.
338         (EXTRA_EM_FILE): New.
339         * emulparams/armelf_linux.sh: Likewise.
340         * emulparams/armelf_linux26.sh: Likewise.
341         * emulparams/hppalinux.sh: Likewise.
342         * emulparams/hppaelf.sh: Likewise.
343         (NOP): Define.
344
345         * emultempl/elf32.em: Fix formatting.
346         (EXTRA_EM_FILE): Source it.
347         (LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL,
348         LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION,
349         LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET,
350         LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH,
351         LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS,
352         LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN,
353         LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE,
354         LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE,
355         LDEMUL_FIND_POTENTIAL_LIBRARIES): New shell vars.  Add code to
356         allow functions in this file to be overridden.
357         (PARSE_AND_LIST_SHORTOPTS): Handle it.
358
359         * emultempl/m68kcoff.em: Include ldfile.h before ldemul.h.
360
361         * emultempl/elf32.em: Reorganize file.
362
363 2000-07-27  Ivan Kokshaysky  <ink@jurassic.park.msu.ru>
364
365         * emulparams/elf64alpha.sh: Implement "-taso" emulation
366         specific option to fit 64-bit executable in the lower
367         31-bit address range.  This is done by changing start
368         address of .interp (the very first section of executable)
369         and then setting EF_ALPHA_32BIT elf header flag.
370
371 2000-07-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
372
373         * emultempl/m68kcoff.em: New file.
374         * emulparams/m68kcoff.sh (TEMPLATE_NAME): Use m68kcoff template.
375         * Makefile.am (em68kcoff.c): Depend on m68kcoff.em rather than
376         generic.em.
377         * Makefile.in: Regenerate.
378
379 2000-07-20  H.J. Lu  <hjl@gnu.org>
380
381         * emultempl/elf32.em (longopts): Duplicate "disable-new-dtags"
382         and "disable-new-dtags" to stop getopt from treating -d/-e as
383         abbreviations for these options.
384
385 2000-07-20  H.J. Lu  <hjl@gnu.org>
386
387         * ld.texinfo: Add documentation for --disable-new-dtags and
388         --enable-new-dtags.
389
390         * ldmain.c (main): Initialize link_info.new_dtags to false.
391
392         * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
393         --disable-new-dtags and --enable-new-dtags.
394         (gld_${EMULATION_NAME}_list_options): Likewise.
395
396 2000-07-05  Kenneth Block  <krblock@computer.org>
397
398         * ld/lexsup.c: Add optional style to demangle switch
399         * ld/ld.texinfo: Document optional style to demangle switch.
400
401 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
402
403         * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
404         ecrislinux.o.
405         (ecrisaout.c, ecriself.c, ecrislinux.c): New rules.
406         Regenerate dependencies.
407         * Makefile.in: Rebuild.
408         * configure.tgt (cris-*-*): New target.
409         * emulparams/crisaout.sh, emulparams/criself.sh,
410         emulparams/crislinux.sh, scripttempl/crisaout.sc: New files.
411         * po/POTFILES.in, po/ld.pot: Regenerate.
412
413 2000-07-20  H.J. Lu  <hjl@gnu.org>
414
415         * emultempl/elf32.em (gld_${EMULATION_NAME}_list_options):
416         Print out ignored -z options.
417
418 2000-07-19  H.J. Lu  <hjl@gnu.org>
419
420         * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed.
421         (PARSE_AND_LIST_PROLOGUE): New.
422         (PARSE_AND_LIST_LONGOPTS): Likewise.
423         (PARSE_AND_LIST_OPTIONS): Likewise.
424         (PARSE_AND_LIST_ARGS_CASES): Likewise.
425
426         * ldmain.c (main): Clear link_info.flags and link_info.flags_1.
427
428         * lexsup.c (ld_options): Comment out 'z'.
429         (parse_args): Likewise.
430
431         * emultempl/elf32.em: Include "elf/common.h".
432         (gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
433         options.
434         (gld_${EMULATION_NAME}_list_options): Likewise.
435
436         * ld.texinfo: Add documentation for the recognized -z options.
437
438 2000-07-19  H.J. Lu  <hjl@gnu.org>
439
440         * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call
441         bfd_elf_set_dt_needed_soname ().
442
443 2000-07-18  DJ Delorie  <dj@cygnus.com>
444
445         * pe-dll.c (pe_dll_id_target): check object target name also
446
447 2000-07-18  Hans-Peter Nilsson  <hp@axis.com>
448
449         * scripttempl/elf.sc (.init): Only do ${INIT_START} and
450         ${INIT_END} if relocating.
451         (.fini): Likewise ${FINI_START} and ${FINI_END}.
452
453 2000-07-16  Charles Wilson  <cwilson@ece.gatech.edu>
454
455         * src/ld/emultempl/pe.em (gld_*_open_dynamic_archive): New search
456         order for dynamic library '-lfoo' on pei386: libfoo.dll.a,
457         foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility
458         errors introduced by the old dynamic lib search order.
459
460 2000-07-17  DJ Delorie  <dj@cygnus.com>
461
462         * pe-dll.c (process_def_file): auto-export data items also
463         (pe_process_import_defs): also see if _imp_ form needed
464
465 2000-07-12  Charles Wilson  <cwilson@ece.gatech.edu>
466
467         * pe-dll.c (make_one): fix a typo in the __imp_ name decoration
468         for dll import libraries
469
470 2000-07-12  Mark Elbrecht  <snowball3@bigfoot.com>
471
472         * scripttempl/i386go32.sc: Support the g++ attribute init_priority in
473           gcc 2.95.2 and later.
474
475 2000-07-11  Kazu Hirata  <kazu@hxi.com>
476
477         * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
478         message.
479
480 2000-07-10  Alan Modra  <alan@linuxcare.com.au>
481
482         * ldemul.h (struct lang_input_statement_struct): Remove forward
483         declaration.
484         (struct search_dirs): Likewise.
485         * ldfile.h (struct lang_input_statement_struct): Likewise.
486         Protect file from multiple inclusion.
487         * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Move file_chain
488         declaration from macro to file scope.
489
490         * ldemul.c: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order.
491         * ldgram.y: Likewise here.
492         * ldlang.c: And here.
493         * ldmain.c: And here.
494         * mpw-elfmips.c: And here.
495         * mpw-eppcmac.c: And here.
496         * emultempl/aix.em: And here.
497         * emultempl/armcoff.em: And here.
498         * emultempl/armelf.em: And here.
499         * emultempl/armelf_oabi.em: And here.
500         * emultempl/beos.em: And here.
501         * emultempl/elf32.em: And here.
502         * emultempl/hppaelf.em: And here.
503         * emultempl/linux.em: And here.
504         * emultempl/lnk960.em: And here.
505         * emultempl/pe.em: And here.
506         * emultempl/sunos.em: And here.
507         * mpw-esh.c: And here. Include ldexp.h and ldlang.h too.
508         * mpw-idtmips.c: Ditto.
509         * emultempl/generic.em: Ditto.
510         * emultempl/gld960.em: Ditto.
511         * emultempl/gld960c.em: Ditto.
512         * emultempl/mipsecoff.em: Ditto.
513         * emultempl/ticoff.em: Ditto.
514         * emultempl/vanilla.em: Ditto.
515
516         * pe-dll.c: Include ldfile.h
517         * ldver.c: Include ldexp.h, ldlang.h, ldfile.h
518
519         * mpw-elfmips.c: (gldelf32ebmip_before_allocation): Add missing
520         arguments to bfd_elf32_size_dynamic_sections call.
521         (gldelf32ebmip_place_orphan): Add missing arguments to
522         lang_leave_output_section_statement call.
523
524 2000-07-10  H.J. Lu  <hjl@gnu.org>
525
526         * emultempl/pe.em (pe_enable_stdcall_fixup): Protect with
527         DLL_SUPPORT.
528         (strhash): Likewise.
529         (compute_dll_image_base): Likewise.
530         (pe_undef_found_sym): Likewise.
531         (pe_undef_cdecl_match): Likewise.
532         (gld_${EMULATION_NAME}_open_dynamic_archive): Mark the
533         argument "arch" with ATTRIBUTE_UNUSED.
534
535 2000-07-10  Alan Modra  <alan@linuxcare.com.au>
536
537         * configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
538
539         From  Ryan Bradetich  <rbradetich@uswest.net>
540         * ldwrite.c (SSIZE): Remove to cure macro redefinition warning.
541
542 2000-07-09  Alan Modra  <alan@linuxcare.com.au>
543
544         Changes to create multiple linker stubs, positioned immediately
545         before the section where they are required.
546         * emultempl/hppaelf.em: Include elf32-hppa.h.
547         (stub_sec, file_chain): Delete.
548         (hppaelf_create_output_section_statements): Don't make a stub
549         section here.
550         (hook_stub_info): New struct.
551         (hook_in_stub): New function.
552         (hppaelf_add_stub_section): New function.
553         (hppaelf_finish): Do nothing for relocateable links.  Modify the
554         call to elf32_hppa_size_stubs.  Move code for updating section
555         layout from here...
556         (hppaelf_layaout_sections_again): ..to here, a new function.
557
558         * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix
559         broken list handling.  Pass in a pointer to the list.
560         (hppaelf_finish): Update call to hppaelf_delete_padding_statements
561         for above changes.
562         (hppaelf_before_parse): Prototype.
563         (hppaelf_set_output_arch): Prototype.
564         (hppaelf_create_output_section_statements): Prototype.
565         (hppaelf_delete_padding_statements): Prototype.
566         (hppaelf_finish): Prototype.
567
568         Merge from elf32.em
569         * emultempl/hppaelf.em: Include ctype.h.
570         (struct orphan_save): New.
571         (gld${EMULATION_NAME}_place_orphan): New.
572         (output_rel_find): New.
573         (hppaelf_get_script): Update from elf32.em.
574         (ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation.
575         Change emulation_name field to "${EMULATION_NAME}".  Add
576         gld${EMULATION_NAME}_place_orphan.
577
578         * Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o,  add
579         ehppalinux.o, sort it.  Regenerate dependencies.
580         (ehppalinux.c): Depend on hppaelf.em
581         * Makefile.in: Regenerate.
582
583         * configure.tgt: targ_emul=hppalinux for hppa*linux
584
585         * emulparams/hppalinux.sh: New.
586         * emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex.
587
588 2000-07-08  Alan Modra  <alan@linuxcare.com.au>
589
590         * lexsup.c (parse_args): Copy section name.
591
592 2000-07-07  Charles Wilson  <cwilson@ece.gatech.edu>
593
594         * emultempl/pe.em: institute the following search order for
595         dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
596         libs), libfoo.dll, foo.dll (link direct to dll).  Fall back to
597         static lib (libfoo.a) if none of the above are found.
598
599 2000-07-07  Mumit Khan  <khan@xraylith.wisc.edu>
600
601         * emultempl/pe.em (pe_enable_auto_image_base): New variable.
602         (longopts): New --{enable,disable}-auto-image-base options.
603         (gld_${EMULATION_NAME}_list_options): Document.
604         (gld_${EMULATION_NAME}_parse): Handle.
605         (strhash): New static function.
606         (compute_dll_image_base): New static function.
607         (gld_${EMULATION_NAME}_set_symbols): Use.
608
609 2000-07-05  DJ Delorie  <dj@redhat.com>
610
611         * MAINTAINERS: new
612
613 2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
614
615         * configure.tgt: Add traditional mips (mips*-*-sysv4*) target.
616         * emulparams/elf32btsmip.sh: New file.
617         * Makefile.am: Add traditional mips target.
618         * Makefile.in: Rebuild.
619
620 2000-07-01  H.J. Lu  <hjl@gnu.org>
621
622         * Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for
623         automake to use YLWRAP.
624         * Makefile.in: Rebuild.
625
626 2000-07-01  Alan Modra  <alan@linuxcare.com.au>
627
628         * Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
629         (CLEANFILES): Add DEPA.
630         * Makefile.in: Regenerate.
631
632 2000-06-30  Timothy Wall  <twall@ppc>
633
634         * scripttempl/tic54xcoff.sc: PAGE N is not implemented, so encode
635         the page in the upper octet of the address.
636
637 2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
638
639         * emulparams/avrmega161.sh (ARCH): Change to avr:5.
640
641 2000-06-24  Alan Modra  <alan@linuxcare.com.au>
642
643         * NEWS: arm-elf does --gc-sections too.
644
645 2000-06-22  Alan Modra  <alan@linuxcare.com.au>
646
647         * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
648         find one.
649         * Makefile.in: Regenerate.
650
651 2000-06-21  H.J. Lu  <hjl@gnu.org>
652
653         * Makefile.am: Rebuild dependency.
654         * Makefile.in: Rebuild.
655
656 2000-06-20  H.J. Lu  <hjl@gnu.org>
657
658         * Makefile.am: Rebuild dependency.
659         * Makefile.in: Rebuild.
660
661 2000-06-20  Timothy Wall  <twall@cygnus.com>
662
663         * scripttempl/tic54xcoff.sc: New.
664         * ldlang.c (wild_doit): Propagate SEC_BLOCK flag.
665         * gen-doc.texi: Add flag for TI COFF.
666         * ld.texinfo: Add documentation for TI COFF handling switches.
667         * emultempl/ticoff.em: New. TI COFF handling.
668         * configure.tgt: Add tic54x target.
669         * Makefile.am: Add tic54x target.
670         * Makefile.in: Ditto.
671
672 2000-06-20  Alan Modra  <alan@linuxcare.com.au>
673
674         * ldmain.c (set_scripts_dir): Correct pointer comparison when
675         checking for backslashes.
676
677 2000-06-19  Alan Modra  <alan@linuxcare.com.au>
678
679         * NEWS: Move entries not in 2.10 above "Changes in version 2.10".
680
681 2000-06-18  Alan Modra  <alan@linuxcare.com.au>
682
683         * NEWS: Update list of targets supporting --gc-sections.
684
685         * scripttempl/elf.sc: KEEP .eh_frame contents.
686         * scripttempl/elfd30v.sc: Same here.
687
688 2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
689
690         * Makefile.am (ALL_EMULATIONS): Added new emulation for m68hc12
691         and m68hc11 (elf).
692         * Makefile.in: Rebuild.
693         * configure.tgt: Recognize m68hc12 and m68hc11.
694         * scripttempl/elfm68hc12.sc: New file.
695         * emulparams/m68hc12elfb: New emulation.
696         * emulparams/m68hc12elf: New emulation.
697         * emulparams/m68hc11elfb.sh: New file.  User configurable emulation
698         (includes a memory.x script to define the ROM and RAM banks).
699         * scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh:
700         New configuration files for support of Motorola 68hc11
701
702 2000-06-15  Alan Modra  <alan@linuxcare.com.au>
703
704         * ldmain.c (main): Only change SEC_READONLY for final link.
705
706 2000-06-13  H.J. Lu  <hjl@gnu.org>
707
708         * configure: Regenerate.
709
710 2000-06-08  David O'Brien  <obrien@FreeBSD.org>
711
712         * configure.in (VERSION): Update to show this is the CVS mainline.
713
714 2000-06-07  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
715
716         * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all
717         input objects to be ECOFF.
718         (check_sections): einfo takes %B, not %P, to print a BFD name.
719
720 2000-06-05  Michael Matz <matz@ifh.de>
721
722         * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in
723          version scripts.
724
725          * ldlex.l (V_IDENTIFIER): Accept `::' in symbols.
726
727 2000-05-23  Marek Michalkiewicz  <marekm@linux.org.pl>
728
729         * emulparams/avr1200.sh (STACK): Define as 0.
730         * emulparams/avr23xx.sh (STACK): Define as last internal SRAM address.
731         * emulparams/avr4433.sh (STACK): Likewise.
732         * emulparams/avr44x4.sh (STACK): Likewise.
733         * emulparams/avr85xx.sh (STACK): Likewise.
734         * emulparams/avrmega103.sh (STACK): Likewise.
735         * emulparams/avrmega161.sh (STACK): Likewise.
736         * emulparams/avrmega603.sh (STACK): Likewise.
737         * scripttempl/elf32avr.sc (__data_start): Define for gcrt1.
738         (__stack): Define from ${STACK} for main().
739
740 2000-05-26  Alan Modra  <alan@linuxcare.com.au>
741
742         * Makefile.am: Update dependencies with "make dep-am"
743         * Makefile.in: Regenerate.
744
745 2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
746
747         * ldmain.c: Include filenames.h.
748         (set_scripts_dir): Support backslashes in program name.
749
750 2000-05-22  Igor Shevlyakov  <igor@windriver.com>
751
752         * ldmain.c (main): When deciding if ".text" section should be
753         read-only, don't forget to reset SEC_READONLY because it
754         could be already set.
755
756 2000-05-22  Thomas de Lellis  <tdel@windriver.com>
757
758         * ld.1: Add documentation for new command line option:
759                 --section-start <sectionname>=<sectionorg>
760         This is a generic version of -Ttext etc. which accepts
761         any section name as a parameter instead of just text/data/
762         bss.
763         * ld.texinfo: More docs.
764         * NEWS: More docs.
765         * lexsup.c: (parse_args): Recognize new command line option.
766         (ld_options): Add new option.
767
768 2000-05-18  H.J. Lu  <hjl@gnu.org>
769
770         * lexsup.c (parse_args): `i' == `r', not `q'.
771
772 Thu May 18 10:47:57 2000  Jeffrey A Law  (law@cygnus.com)
773
774         * configure.tgt (hppa*64*-*-*): Enable PA64 target.
775
776 2000-05-17 S. Bharadwaj Yadavalli  <sby@scrugs.lkg.dec.com>
777               Rick Gorton          <gorton@scrugs.lkg.dec.com>
778
779         Add support for '-q' == '--emit-relocs' switch.
780         * ldmain.c (main): Default to false.
781         * lexsup.c (parse_args): Turn on emitrelocations flag if set.
782         * NEWS: Describe the emitrelocations switch.
783         * ld.texinfo: Describe the emitrelocations switch.
784
785 2000-05-16  Charles Wilson <cwilson@ece.gatech.edu>
786
787         * ld/emultempl/pe.em (_open_dynamic_archive): New function: Search
788         the library path for "foo.dll" and "libfoo.dll" dynamic libraries
789         before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo'
790         link options.
791
792 2000-05-15  David O'Brien  <obrien@FreeBSD.org>
793
794         * lexsup.c (parse_args): Update the year in the copyright notice.
795
796 2000-05-13  Alan Modra  <alan@linuxcare.com.au>
797
798         * ld.h (gettext, dgettext, dcgettext, textdomain, bindtextdomain):
799         Replace defines with those from intl/libgettext.h to quieten gcc
800         warnings.
801
802 2000-05-10  H.J. Lu  <hjl@gnu.org>
803
804         * ldlang.c (open_input_bfds): Don't load the same file within
805         a group again if the whole archive has been loaded already.
806
807 2000-05-03  Alan Modra  <alan@linuxcare.com.au>
808
809         From Ulf Carlsson <ulfc@engr.sgi.com> and Andreas Jaeger <aj@suse.de>
810         * lexsup.c (set_section_start): Use bfd_scan_vma rather than
811         strtoul.
812
813 Mon May  1 17:34:34 2000  Jim Wilson  <wilson@cygnus.com>
814
815         * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}.
816
817         * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
818         host "ia64-*-linux-gnu*".
819
820 2000-04-29  Andreas Jaeger  <aj@suse.de>
821
822         * ld.h: Correctly check GCC version.
823
824 Tue Apr 25 11:20:43 2000  Jeffrey A Law  (law@cygnus.com)
825
826         * Makefile.am: Add PA64 support.  Add missing dependencies for
827         PA32 elf support.
828         * Makefile.in: Rebuilt.
829         * configure.tgt: Add PA64 support (currently disabled).
830
831 2000-04-25  Alan Modra  <alan@linuxcare.com.au>
832
833         * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete.
834         (output_rel_find): New function.
835         (hold_section, hold_use): Delete.
836         (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
837         hold_interp): Make local to place_orphan.
838         (gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find
839         rather than place_section to find possible previous use of orphan.
840         Similarly find the place-holder output sections.  Use returned
841         value from lang_enter_output_section_statement rather than calling
842         lang_output_section_statement_lookup.
843         * emultempl/armelf.em: Same here.
844         * emultempl/pe.em: Similar to above, but no need for output_rel_find.
845
846         * ldlang.c (lang_enter_output_section_statement): Return output
847         section statement.
848         * ldlang.h (lang_enter_output_section_statement): Change
849         declaration too.
850
851         * ldlang.h (lang_output_section_statement): Export it.
852         * ldlang.c (lang_output_section_statement): Ditto.
853
854 2000-04-24  Nick Clifton  <nickc@cygnus.com>
855
856         * ld.texinfo (Output Section Data): Add note that section data
857         commands cannot appear outside of section directives.
858
859 2000-04-2  Matthew Green  <mrg@cygnus.com>
860
861         * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support.
862
863 Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
864                           David Mosberger  <davidm@hpl.hp.com>
865
866         * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o.
867         (eelf64_ia64.c): New rule.
868         * Makefile.in: Rebuild.
869         * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets.
870         * emulparams/elf64_ia64.sh: New file.
871
872 2000-04-21  Richard Henderson  <rth@cygnus.com>
873
874         * scripttempl/elfd30v.sc: Place .gcc_except_table.
875
876 2000-04-19  Alan Modra  <alan@linuxcare.com.au>
877
878         * dep-in.sed: Match space at start of file name, not at end.
879
880 2000-04-18  H.J. Lu  <hjl@gnu.org>
881
882         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
883         lang_leave_output_section_statement () after calling
884         lang_enter_output_section_statement ().
885         * emultempl/armelf.em: Likewise.
886
887 2000-04-18  Alan Modra  <alan@linuxcare.com.au>
888
889         * emultempl/elf32.em (struct orphan_save): Add section field.
890         (gld${EMULATION_NAME}_place_orphan): Use above to keep sections in
891         better order, and place first orphan section as we did before the
892         2000-04-12 patch.  Ignore ~SEC_ALLOC sections when choosing place.
893         Don't call make_bfd_section here, let wild_doit do the job for us.
894         Don't build a statement list when we'll only throw it away.
895         * emultempl/armelf.em: Ditto.
896         * emultempl/pe.em: Similarly.
897
898 2000-04-14  Geoff Keating  <geoffk@cygnus.com>
899
900         * scripttempl/elfppc.sc: Remove.
901         * emulparams/elf32ppc.sh: Use elf.sc.
902         * emulparams/elf32lppc.sh: Use elf.sc.
903         * emulparams/elf32ppclinux.sh: Use elf.sc.
904         * emulparams/elf32ppcsim.sh: New file.
905         * emulparams/elf32lppcsim.sh: New file.
906         * Makefile.am: Update dependencies.  Add elf32ppcsim ad elf32lppcsim.
907         (ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim.
908         * Makefile.in: Regenerate.
909         * configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim.
910
911 2000-04-14  Alan Modra  <alan@linuxcare.com.au>
912
913         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process
914         ~SEC_ALLOC sections too.  Init start address of debug sections.
915         * emultempl/armelf.em (gld${EMULATION_NAME}_place_orphan): Ditto.
916         * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Ditto.
917         Also set all relocateable section start addresses.
918
919 2000-04-13  Geoff Keating  <geoffk@cygnus.com>
920
921         * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections.
922         Add new BSS_PLT variable for when .plt need not be contained in
923         the file.  Move _etext so that it is also after .fini, and provide
924         both etext and _etext with a leading underscore.  Mark the start
925         and end of .sbss.
926
927 2000-04-12  Alan Modra  <alan@linuxcare.com.au>
928
929         * emultempl/elf32.em (struct orphan_save): New.
930         (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
931         hold_interp): Make them struct orphan_save.
932         (gld${EMULATION_NAME}_place_section): Modify for new hold_*.
933         (gld${EMULATION_NAME}_place_orphan): Add new orphan sections to
934         the end of the relevant section list.  Also add associated section
935         statements to the end of any previous orphan statements.
936         * emultempl/armelf.em: Similarly.
937         * emultempl/pe.em: Similarly.
938
939 2000-04-11  Alan Modra  <alan@linuxcare.com.au>
940
941         * ld.texinfo (Simple Example): Remove extraneous paragraph.
942
943 Fri Apr  7 15:56:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
944
945         * configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
946         --enable-build-warnings option.
947         * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
948         * Makefile.in, configure: Re-generate.
949
950 2000-04-04  Alan Modra  <alan@linuxcare.com.au>
951
952         * po/ld.pot: Regenerate.
953
954         * lexsup.c (help): Restore translated part of bug string.
955
956         * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
957         (DEP): Quote when passing vars to sub-make.  Add warning message
958         to end.
959         (DEP1): Rewrite for "gcc -MM".
960         (CLEANFILES): Add DEP2.
961         Update dependencies.
962         * Makefile.in: Regenerate.
963
964 2000-04-03  Alan Modra  <alan@linuxcare.com.au>
965
966         * ld.h: #include "bin-bugs.h"
967         * lexsup.c (help): Use REPORT_BUGS_TO.
968
969 2000-03-27  Denis Chertykov  <denisc@overta.ru>
970
971         * configure.tgt (avr-*-*): New target support.
972         * Makefile.am: Likewise.
973         * scripttempl/elf32avr.sc: New script file.
974         * emulparams/avr1200.sh: New file.
975         * emulparams/avr23xx.sh: New file.
976         * emulparams/avr4433.sh New file.
977         * emulparams/avr44x4.sh New file.
978         * emulparams/avr85xx.sh New file.
979         * emulparams/avrmega103.sh New file.
980         * emulparams/avrmega161.sh New file.
981         * emulparams/avrmega603.sh New file.
982         * Makefile.in: Regenerate.
983
984 2000-03-09  Andreas Jaeger  <aj@suse.de>
985
986         * Makefile.am (check-DEJAGNU): Also unset LANG.
987         * Makefile.in: Rebuild.
988
989 2000-03-06  Ian Lance Taylor  <ian@zembu.com>
990
991         * ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty
992         archive.
993
994 2000-03-02  H.J. Lu  <hjl@gnu.org>
995
996         * emulparams/elf32mcore.sh: Include "getopt.h".
997
998 2000-03-01  Ian Lance Taylor  <ian@zembu.com>
999
1000         * configure.tgt: Remove *-*-aout, *-*-coff, and *-*-netware.
1001
1002 2000-03-01  H.J. Lu  <hjl@gnu.org>
1003
1004         * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR.
1005         * emulparams/shpe.sh: Likewise.
1006
1007 2000-03-01  Nick Clifton  <nickc@cygnus.com>
1008
1009         * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED
1010         to unused parameters.
1011
1012         * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static
1013         functions only used by DLL code.
1014         (_place_orphan): Initialise 'dollar'.
1015
1016 2000-03-01  H.J. Lu  <hjl@gnu.org>
1017
1018         * ldmain.c (undefined_symbol): Take one more arg, fatal, to
1019         indicate if the undefined symbol is a fatal error or not.
1020         Don't delete the output file if "fatal" is false.
1021
1022 2000-02-29  H.J. Lu  <hjl@gnu.org>
1023
1024         * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)".
1025         Set LC_COLLATE and LC_ALL to null and export them. It is for
1026         sort which expects the C locale.
1027         Add $(LIBS) to all $(HOSTING_LIBS).
1028         * Makefile.in: Rebuild.
1029
1030 2000-02-29  Alan Modra  <alan@spri.levels.unisa.edu.au>
1031
1032         * emultempl/{aix.em, armcoff.em, armelf.em, armelf_oabi.em,
1033         beos.em, elf32.em, generic.em, gld960.em, gld960c.em, hppaelf.em,
1034         linux.em, lnk960.em, mipsecoff.em, sunos.em, vanilla.em}
1035         (ld_emulation_xfer_struct): Add missing NULL initialiser for
1036         find_potential_libraries.
1037
1038 2000-02-28  Jim Blandy  <jimb@redhat.com>
1039
1040         * ldgram.y (exclude_name_list): Don't require a comma to separate
1041         list entries; the lexer considers commas to be valid part of a
1042         filename, so in something like `foo, bar' the comma is considered
1043         part of the first filename, `foo,'.
1044         * ld.texinfo: Update section on EXCLUDE_FILE lists.
1045
1046 2000-02-27  Loren J. Rittle  <ljrittle@acm.org>
1047
1048         * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1049         host "i[3456]86-*-freebsdelf*".
1050
1051 2000-02-27  Mark Elbrecht  <snowball3@bigfoot.com>
1052
1053         * scripttempl/i386go32.sc: Move misplaced semicolons.
1054
1055 2000-02-25  Ian Lance Taylor  <ian@zembu.com>
1056
1057         * Makefile.am (ALL_EMULATIONS): Remove ehppaelf.o.
1058         (ALL_64_EMULATIONS): Remove eelf64hppa.o.
1059         (eelf64hppa.c, ehppaelf.c): Remove targets.
1060         * Makefile.in: Rebuild.
1061
1062 2000-02-25  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
1063
1064         * configure.tgt (targ_extra_ofiles): Enable elf64_sparc on
1065         GNU/Linux/sparc, but keep the default as 32.
1066
1067         * configure.tgt: Enable elf64_sparc on Solaris7+/sparc.  And make
1068         it default if sparcv9 or sparc64.
1069
1070 2000-02-24  Nick Clifton  <nickc@cygnus.com>
1071
1072         * Makefile.am: Add rules to build emipspe.o and earmpe.o.
1073         * Makefile.in: Regenerate.
1074         * configure.tgt: Add targets for arm-wince, sh-pe and mips-pe.
1075
1076         * ldemul.h (ld_emulation_xfer_struct): Add new field:
1077         find_potential_libraries.
1078         * ldemul.c (ldemul_find_potential_libraries): New function.
1079
1080         * ldfile.c (ldfile_open_file_search): Allow function to be
1081         exported.
1082         (ldfile_open_file): Call ldemul_find_potential_libraries.
1083         * ldfile.h: Add prototype for ldfile_open_file_search.
1084
1085         * pe-dll.c: Add support for ARM, MIPS and SH targets.
1086
1087         * emulparams/mipspe.sh: New file.  Parameters for mips-pe target.
1088         * emulparams/shpe.sh: New file.  Parameters for sh-pe target.
1089
1090         * emultempl/pe.em: Add support for ARM, MIPS and SH DLLs.
1091         (gld_X_find_potential_libraries): New function.  Search for
1092         libraries called "*.lib".
1093
1094         * scriptempl/pe.sc: Add .pdata section.
1095
1096 2000-02-23  Richard Henderson  <rth@cygnus.com>
1097
1098         * scripttempl/elfd10v.sc: Remove dynamic linking hooks.
1099         Add and use memory regions.
1100
1101 2000-02-23  Linas Vepstas (linas@linas.org)
1102
1103         * emulparams/elf32i370.sh, scripttempl/elfi370.sc: New.
1104
1105         * Makefile.am: Add support for Linux/IBM 370.
1106         * configure.tgt: Likewise.
1107
1108         * Makefile.in: Regenerate.
1109
1110 2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
1111
1112         * ldlang.c (print_input_section, print_data_statement,
1113         print_reloc_statement, print_padding_statement, insert_pad,
1114         size_input_section, lang_check_section_addresses,
1115         lang_size_sections, lang_do_assignments, lang_set_startof,
1116         lang_one_common): Change `opb' to unsigned.
1117         (lang_do_assignments): Also change `size' to unsigned.
1118
1119 2000-02-16  Richard Henderson  <rth@cygnus.com>
1120
1121         * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION.
1122
1123 2000-02-16  Timothy Wall  <twall@cygnus.com>
1124
1125         * mri.c (mri_draw_tree): Add default LMA region argument to call
1126         to lang_leave_output_section_statement.
1127         * ldlang.h: Update prototypes with LMA region arguments.
1128         * ldlang.c (lang_size_sections): Encapsulate region bounds
1129         checking in os_check_region call.
1130         (os_check_region): New function.
1131         (lang_output_section_statement_lookup): Initialize lma_region.
1132         (lang_leave_output_section_statement): Add LMA region argument.
1133         (lang_leave_overlay): Ditto.
1134         * ldgram.y: Handle LMA region syntax.
1135         * ld.texinfo (Output Section Description): Describe LMA region usage.
1136         * emultempl/armelf.em (gld$place_orphan): Add default value for
1137         lma region in call to lang_leave_output_section_statement.
1138         * emultempl/elf32.em (gld$place_orphan): Add default value for
1139         lma region in call to lang_leave_output_section_statement.
1140         * emultempl/pe.em (gld$place_orphan): Add default value for
1141         lma region in call to lang_leave_output_section_statement.
1142
1143
1144 2000-02-04  Timothy Wall  <twall@redhat.com>
1145
1146         * ldlang.c (lang_check_section_addresses): Use bytes instead of
1147         octets when calculating section end addresses.
1148
1149 2000-02-04  Timothy Wall  <twall@redhat.com>
1150
1151         * ldlang.c (lang_size_sections): Fix typo in ALIGN_N invocation.
1152
1153 2000-02-03  Timothy Wall <twall@redhat.com>
1154
1155         * ld/ldexp.c (fold_name): Make SIZEOF operator return byte count, not
1156         octet count.
1157         * ld/ldlang.c (print_input_section, print_data_statement,
1158         print_reloc_statement, print_padding_statement): Print target
1159         address values and section sizes as bytes, not octets.
1160         (insert_pad) Calculate padding size in octets, and adjust "dot"
1161         by bytes.
1162         (size_input_section) Always adjust "dot" by bytes, not octets.
1163         (lang_check_section_addresses, lang_do_assignments) Adjust
1164         "dot" by bytes, not octets.  Use the larger of the directive size
1165         or octets_per_byte for the number of octets actually allocated in
1166         the output section.
1167         (lang_set_startof) Make sure STARTOF returns a target address.
1168         (lang_one_common) Record size changes in octets.
1169         (lang_abs_symbol_at_end_of) Section end symbol's value is
1170         recorded in target bytes.
1171         * ld.texinfo:   Updated description of BYTE, SHORT, LONG, etc.
1172         to be clear about behavior when an octet is smaller than one byte.
1173
1174 2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
1175
1176         * ldcref.c (output_cref): Don't pass message strings to printf
1177         as format arg.
1178         Update copyright.
1179
1180         * ldmisc.c (vfinfo): Same here.
1181         Update copyright.
1182
1183 2000-01-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
1184
1185         * emultempl/{armcoff.em,armelf.em,armelf_oabi.em,beos.em,
1186         generic.em,gld960.em,gld960c.em,hppaelf.em,linux.em,lnk960.em,
1187         mipsecoff.em,sunos.em,vanilla.em} (ld_emulation_xfer_struct):
1188         Add missing NULL initialisers, and comments.
1189
1190         * testsuite/ld-srec/sr3.cc (__rethrow): New.
1191
1192 2000-01-21  Nick Clifton  <nickc@cygnus.com>
1193
1194         * ldlang.c (lang_size_sections): Fix typo in comment.
1195
1196 2000-01-18  H.J. Lu  <hjl@gnu.org>
1197
1198         * ldlang.c (lang_size_sections): Also update the current
1199         address of a region if the SEC_NEVER_LOAD bit is not set.
1200
1201 2000-01-10  Philip Blundell  <pb@futuretv.com>
1202
1203         * configure.tgt (arm*-*-conix*): New target.
1204
1205 2000-01-07  Nick Clifton  <nickc@cygnus.com>
1206
1207         * ld.texinfo (Options): Remind users to preceed linker command
1208         line switches with -Wl, (or whatever is appropriate) if it is
1209         being invoked by a comnpiler driver program.
1210         Fix description of the behaviour of the -n command line switch.
1211
1212 Wed Jan  5 08:02:12 2000  Catherine Moore  <clm@cygnus.com>
1213
1214         * ld.h (wildcard_spec):  Change exclude_name to exclude_name_list.
1215         (name_list): New.
1216         * ld.texinfo (EXCLUDE_FILE): Update documentation.
1217         * ldgram.y (wildcard_spec): Support a list of excluded_files.
1218         (exclude_name_list): New.
1219         ldlang.c (walk_wild_section): Support list of excluded files.
1220         (print_wild_statement): Likewise.
1221         (lang_add_wild): Likewise.
1222         * ldlang.h (lang_wild_statement_type): Likewise.
1223         * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
1224
1225 2000-01-04  Mumit Khan  <khan@xraylith.wisc.edu>
1226
1227         * pe-dll.c (pe_dll_warn_dup_exports): New variable.
1228         (process_def_file): Use.
1229         (pe_dll_compat_implib): New variable.
1230         (make_one): Use.
1231
1232         * pe-dll.h: Add exports of pe_dll_warn_dup_exports and
1233         pe_dll_compat_implib.
1234
1235         * emultempl/pe.em (longopts): Add warn-duplicate-exports and
1236         compat-implib options.
1237         (gld_${EMULATION_NAME}_list_options): List new options.
1238         (gld_${EMULATION_NAME}_parse_args): Handle.
1239
1240         * pe-dll.c (pe_dll_generate_implib): Use the correct name for output
1241         dll.
1242
1243         * deffilep.y (opt_name): Allow "." in name.
1244
1245 1999-12-02  Nick Clifton  <nickc@cygnus.com>
1246
1247         * Makefile.am: Fix arm-epoc-pe dependencies.
1248         * Makefile.in: Regenerate.
1249
1250         * emulparams/arm_epoc_pe.sh (SCRIPT_NAME): Set to epocpe.
1251
1252         * scripttempl/epocpe.sc: New file: copy of pe.sc, customised for
1253         EPOC by placing .rdata into .text.
1254
1255 1999-11-26  Andreas Schwab  <schwab@suse.de>
1256
1257         * configure.in: Put AC_MSG_CHECKING/AC_MSG_RESULT around check for
1258         STRINGIFY.  Use yes/no instead of true/false as value for cache
1259         variable.
1260         * configure: Regenerate.
1261
1262 1999-11-24  Nick Clifton  <nickc@cygnus.com>
1263
1264         * ldlang.c (IGNORE_SECTION): Section must have both ALLOC and LOAD
1265         attributes in order to be checked.
1266
1267 1999-11-22  Nick Clifton  <nickc@cygnus.com>
1268
1269         * ldlang.c (lang_check_section_addresses): Fix test to determine
1270         if a section should be tested.
1271         (IGNORE_SECTION): New macro.
1272
1273 Wed Nov  3 23:31:19 1999  Jeffrey A Law  (law@cygnus.com)
1274
1275         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1276         Clean up code to use EXTRA_SHLIB_EXTENSION.
1277
1278 1999-11-03  Nick Clifton  <nickc@cygnus.com>
1279
1280         * emulparams/elf32mcore.sh (OUTPUT_FORMAT): Change to little endian.
1281         * emulparams/mcorepe.sh (OUTPUT_FORMAT): Change to little endian.
1282
1283 1999-11-01  Steve Chamberlain  <sac@pobox.com>
1284
1285         * ldlang.c (section_already_linked): Rework to use hash table.
1286         (already_linked_newfunc): New function.
1287         (already_linked_table_init): New function.
1288         (already_linked_table_free): New function.
1289         (lang_process): Initialize and free the already_linked hash table.
1290
1291 1999-10-27  Andreas Jaeger  <aj@suse.de>
1292
1293         * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1294         target "mips*-*-linux-gnu*".
1295
1296 1999-10-27  Scott Bambrough  <scottb@netwinder.org>
1297
1298         * emultempl/armelf.em: Include ctype.h to prevent compile time
1299         warnings.
1300
1301 1999-10-26  Nick Clifton  <nickc@cygnus.com>
1302
1303         * emultempl/armcoff.em (gld{}_finish): Remove extraneous
1304         underscore from prototype.
1305         * emultempl/armelf.em (gld{}_finish): Remove extraneous
1306         underscore from prototype.
1307
1308 1999-10-07  Geoffrey Keating  <geoffk@cygnus.com>
1309
1310         * scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
1311         being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
1312         (.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
1313         (.rel.sbss): Make like .rel.bss.
1314         (.rela.sbss): Make like .rel.bss.
1315         (.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
1316         ld -r.
1317         (.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
1318         .dynsbss.
1319
1320 1999-09-29  Andrew Haley  <aph@cygnus.com>
1321
1322         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Defer
1323         merging sections when not relocating.
1324
1325 1999-09-28  Mumit Khan  <khan@xraylith.wisc.edu>
1326
1327         * pe-dll.c (process_def_file): Move the offset lookup from here to
1328         (fill_exported_offsets): here. New static function.
1329         (fill_edata): Use.
1330
1331 1999-09-28  Mumit Khan  <khan@xraylith.wisc.edu>
1332
1333         * deffilep.y (tokens): Add upper and lower case versions of DATA,
1334         CONSTANT, NONAME and PRIVATE tokens.
1335         (command): Use DATAU.
1336         (expline): Allow for drectve syntax as well.
1337         (exp_opt_list): Likewise.
1338         (exp_opt): Likewise.
1339         * pe-dll.c (make_one): Only generate the idata entries for data
1340         symbols.
1341
1342 1999-09-28  Geoffrey Keating  <geoffk@cygnus.com>
1343
1344         * scripttempl/elf.sc (.sdata): Include .gnu.linkonce.s.* sections
1345         in .sdata too.
1346
1347 1999-09-26  Nick Clifton  <nickc@cygnus.com>
1348
1349         * scripttempl/elf.sc (.bss): Accept sections named .bss.*
1350         (.sbss): Accept sections names .sbss.*
1351
1352 1999-09-22  Nick Clifton  <nickc@cygnus.com>
1353
1354         * Makefile.am: Add earm_epoc_pe.c build target.
1355
1356 Sat Sep 18 07:57:10 1999  Jeffrey A Law  (law@cygnus.com)
1357
1358         * emulparms/elf64hppa.sh (OTHER_READONLY_SYMBOLS): Remove ".stubs",
1359         they've been renamed to ".stub", which is handled automatically
1360         by elf.sc.
1361
1362 Fri Sep 17 11:00:33 1999  Jeffrey A Law  (law@cygnus.com)
1363
1364         * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Kill completely.
1365         (DATA_START_SYMBOLS): Kill __hp_load_map definition
1366
1367 Thu Sep 16 10:59:56 1999  Jeffrey A Law  (law@cygnus.com)
1368
1369         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1370         Use the same filename extension for the bfd_elf_dt_needed_name call
1371         as we did for finding the library.
1372
1373         * emulparms/elf64hppa.sh (DATA_START_SYMBOLS): Define.
1374         (OTHER_READWRITE_SECTIONS): No longer define __hp_load_map.
1375
1376         * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Define.
1377
1378 Wed Sep 15 02:47:43 1999  Jeffrey A Law  (law@cygnus.com)
1379
1380         * emulparms/elf64hppa.sh (SHLIB_TEXT_START_ADDR): Define.
1381         (SHLIB_DATA_ADDR): Likewise.
1382
1383         * emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
1384
1385         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS):  No longer combine
1386         the .plt, .dlt, .opd  into a single output section.  Provide values
1387         for __gp and __hp_load_map.
1388
1389 1999-09-14  Michael Meissner  <meissner@cygnus.com>
1390
1391         * configure.in (Canonicalization of target names): Remove adding
1392         ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
1393         generates $ac_config_sub with a ${CONFIG_SHELL} already.
1394         * configure: Regenerate.
1395
1396 1999-09-14  Donn Terry  <donn@interix.com>
1397
1398         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
1399         terminating null.
1400
1401 1999-09-14  Ulrich Drepper  <drepper@cygnus.com>
1402
1403         * configure.in: Define EXTRA_SHLIB_EXTENSION to ".sl" for HP target.
1404         * config.in: Add EXTRA_SHLIB_EXTENSION.
1405
1406         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1407         Search for second shared lib extension only if EXTRA_SHLIB_EXTENSION
1408         is defined.
1409
1410 1999-09-14  Nick Clifton  <nickc@cygnus.com>
1411
1412         * Makefile.in: Add earm_epoc_pe.c build target.
1413
1414 Tue Sep 14 05:26:34 1999  Jeffrey A Law  (law@cygnus.com)
1415
1416         * emulparms/elf64hppa.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.dlt.
1417
1418 1999-09-13  Donn Terry  <donn@interix.com>
1419
1420         * emultempl/pe.em: Remove the output file at the start, in case it
1421         is not writable.
1422
1423 Mon Sep 13 00:17:18 1999  Jeffrey A Law  (law@cygnus.com)
1424
1425         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1426         Search for file with .sl extension if no file with a .so extension
1427         is found.
1428
1429         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Put .plt
1430         at the start of the .dlt output section.
1431
1432 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
1433
1434         * pe.em: Don't include "../bfd/libbfd.h".
1435         (gld_${EMULATION_NAME}_after_open): Use xmalloc rather than
1436         bfd_alloc.
1437
1438         * pe-dll.h: New file.
1439         * pe-dll.c: Include "pe-dll.h".  Mark unused arguments as needed
1440         to avoid warnings.
1441         (edata_sz, reloc_sz): Change from int to size_t.
1442         (pe_details_type): Change type of imagebase_reloc from int to
1443         unsigned int.
1444         (pe_detail_list): Fully initialize last entry.
1445         (pe_dll_id_target): Change parameter to const.
1446         (pe_dll_generate_def_file): Likewise.
1447         (pe_dll_generate_implib): Likewise.
1448         (pe_implied_import_dll): Likewise.  Change dll_name to const.
1449         * emultempl/pe.em: Include "pe-dll.h".  Remove declarations now in
1450         pe-dll.h.
1451         (init): Fully initialize __dll__ entry.
1452         (gld_${EMULATION_NAME}_after_open): Remove unused variables
1453         sequence, elt, and i.
1454         * deffile.h: Add preprocessor guard.
1455         * deffilep.y (def_debug): Remove.
1456         * Makefile.am: Rebuild dependencies.
1457         (HFILES): Add pe-dll.h.
1458
1459 1999-09-12  Donn Terry  <donn@interix.com>
1460
1461         * ld.h (ld_abort): Declare.
1462         (abort): Define.
1463         * ldmisc.c (ld_abort): Define.
1464
1465         * scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
1466         Move .bss section after .rdata.  Move .reloc section after .rsrc.
1467
1468         * lexsup.c (parse_args): Use strtoul for --split-by-reloc
1469         argument.
1470
1471         * lexsup.c (parse_args): If we get an unrecognized argument,
1472         mention --help.
1473
1474         * ldlang.c (section_already_linked): Use comdat information if it
1475         is available.
1476
1477         * emultempl/pe.em (PE_DEF_SECTION_ALIGNMENT): If
1478         OVERRIDE_SECTION_ALIGNMENT is defined, change to that.
1479         (gld_${EMULATION_NAME}_before_parse): Use EXECUTABLE_NAME if it is
1480         defined, rather than a.exe.
1481         (init): Define __subsystem__ as ${SUBSYSTEM}.
1482         (set_pe_subsystem): Add ${INITIAL_SYMBOL_CHAR} before entry symbol
1483         name.
1484
1485 1999-09-12  Ian Lance Taylor  <ian@zembu.com>
1486
1487         * ldlang.c (open_output): Change local variable desired_endian
1488         from int to enum bfd_endian.
1489
1490         * emulparams/arm_epoc_pe.sh: Define ENTRY, SUBSYSTEM and
1491         INITIAL_SYMBOL_CHAR.
1492         * emulparams/armpe.sh: Likewise.
1493         * emulparams/morepe.sh: Likewise.
1494         * emulparams/ppcpe.sh: Likewise.
1495         * emulparams/i386pe.sh (ENTRY): Define as _mainCRTStartup.
1496         (SUBSYSTEM): Define as PE_DEF_SUBSYSTEM.
1497
1498 Fri Sep 10 00:22:50 1999  Jeffrey A Law  (law@cygnus.com)
1499
1500         * emulparms/elf64hppa.sh (LIB_PATH): Define.
1501
1502         * emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
1503         unwinders so that they are closer to the text section.
1504         (OTHER_BSS_SECTIONS): Define.
1505         (EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
1506         (INIT_START, INIT_END): Define.
1507         (FINI_START, FINI_END): Define.
1508         * scripttempl/elf.sc: Add support for INIT_START, INIT_END,
1509         FINI_START, FINI_END and OTHER_BSS_SECTIONS.
1510
1511 Thu Sep  9 21:43:58 1999  Jeffrey A Law  (law@cygnus.com)
1512
1513         * emulparms/elf64hppa.sh (TEXT_START_ADDR): Move up one page.
1514         (DATA_ADDR): Define.
1515
1516 1999-09-09  Stan Shebs  <shebs@andros.cygnus.com>
1517
1518         * emulparams/d10velf.sh (READONLY_START_ADDR): Set to 0x2000004.
1519
1520 1999-09-09  Andreas Schwab  <schwab@suse.de>
1521
1522         * ld.texinfo: Fix arguments of @var to not contain punctuation.
1523
1524 Thu Sep  9 05:52:34 1999  Jeffrey A Law  (law@cygnus.com)
1525
1526         * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Define.
1527
1528 1999-09-08  Ulrich Drepper  <drepper@cygnus.com>
1529
1530         * emulparams/elf64hppa.sh (ELFSIZE): New.  Set to 64.
1531
1532 Wed Sep  8 00:07:39 1999  Jeffrey A Law  (law@cygnus.com)
1533
1534         * emulparms/elf64hppa.sh (ENTRY): Define to main.
1535
1536 1999-09-03  Scott Bambrough  <scottb@netwinder.org>
1537
1538         * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1539         target "arm*-*-linux-gnu*"
1540
1541 1999-09-04  Steve Chamberlain  <sac@pobox.com>
1542
1543         * configure.tgt (pjl-*-*, pj-*-*): New targets.
1544         * emulparams/pjelf.sh: New file.
1545         * emulparams/pjlelf.sh: New file.
1546         * scripttempl/pj.sc: New file.
1547         * Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
1548         (epjelf.o, epjlelf.o): New targets.
1549         * Makefile.in: Rebuild.
1550
1551 Fri Sep  3 20:17:08 1999  Jeffrey A Law  (law@cygnus.com)
1552
1553         * emulparams/elf64hppa.sh (MAXPAGESIZE): Define.
1554         (OTHER_READONLY_SECTIONS, DATA_PLT): Likewise.
1555
1556 Thu Sep  2 14:32:03 1999  Jeffrey A Law  (law@cygnus.com)
1557
1558         * emulparams/elf64hppa.sh: New file.
1559         * configure.tgt (hppa*w-*-*): Use elf64hppa emulation.
1560         * Makefile.am (ALL_64_EMULATIONS): Add eelf64hppa.o
1561         (eelf64hppa.c): Add dependencies.
1562         * Makefile.in: Rebuilt.
1563
1564 1999-08-25  Philip Blundell  <pb@nexus.co.uk>
1565
1566         * emulparams/armelf.sh (OTHER_BSS_SYMBOLS): Add __end__.
1567         * emulparams/armelf_linux.sh: Likewise.
1568         * emulparams/armelf_linux26.sh: Likewise.
1569
1570 1999-08-24  Nick Clifton  <nickc@cygnus.com>
1571
1572         From a patch submitted by Roland McGrath  <roland@baalperazim.frob.com>
1573
1574         * configure.tgt (arm-*-netbsd*): New target.
1575         * Makefile.am (ALL_EMULATIONS): Add earmnbsd.o.
1576         (earmnbsd.c): New rule with deps.
1577         * Makefile.on: Regenerate.
1578         * emulparams/armnbsd.sh: New file.
1579
1580 1999-08-23  Nick Clifton  <nickc@cygnus.com>
1581
1582         * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Define.
1583         Implement --base-file command line switch.
1584
1585         * emultempl/elf32.em: Add ability for individual targets to have
1586         their own command line switches by defining PARSE_AND_LIST_ARGS.
1587
1588 1999-08-19  Andreas Schwab  <schwab@suse.de>
1589
1590         * configure.host: Use ${CC} instead of gcc for finding compiler
1591         related files.
1592
1593 1999-08-11  Nick Clifton  <nickc@cygnus.com>
1594
1595         * scripttempl/mcorepe.sc (OUTPUT_FORMAT): Fix typo.
1596
1597 1999-08-09  Mark Elbrecht  <snowball3@bigfoot.com>
1598
1599         * scripttempl/i386go32.sc: Handle g++ exception sections.
1600
1601 1999-08-09  Ian Lance Taylor  <ian@zembu.com>
1602
1603         From Wally Iimura <iimura@microunity.com>:
1604         * ldlang.c (lang_size_sections): When checking whether an address
1605         is within a region, don't get confused by wrapping around at the
1606         end of the address space.
1607
1608 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
1609
1610         * ldlang.c (wild_doit): Update for renaming of SEC_SHORT to
1611         SEC_SMALL_DATA.
1612
1613         * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
1614         MKDEP.  Rebuild dependencies.
1615         * Makefile.in: Rebuild.
1616
1617 1999-08-08  Jakub Jelinek  <jj@ultra.linux.cz>
1618
1619         * configure.host (sparc-*-linux-gnu*): New host.
1620         (sparc64-*-linux-gnu*): New host.
1621
1622 1999-08-06  Ian Lance Taylor  <ian@zembu.com>
1623
1624         * lexsup.c (is_num): Reindent.
1625         (parse_args): Mention program name in error message.
1626
1627         * emultempl/ostring.sed: Rename from stringify.sed.
1628         * emultempl/astring.sed: New file.
1629         * Makefile.am (stringify.sed): New target.
1630         (GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
1631         stringify.sed.
1632         * configure.in: Define and substitute STRINGIFY.
1633         * emultempl/*.em: Use stringify.sed from build directory rather
1634         than source directory.
1635         * emultempl/elf32.em: Use stringify.sed rather than inline sed
1636         script.
1637         * emultempl/gld960.em, emultempl/gld960c.em: Likewise.
1638         * emultempl/hppaelf.em, emultempl/linux.em: Likewise.
1639         * emultempl/lnk960.em, emultempl/sunos.em: Likewise.
1640         * configure, Makefile.in: Rebuild.
1641
1642 1999-08-05  Donn Terry  <donn@interix.com>
1643
1644         * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and
1645         INITIAL_SYMBOL_CHAR.
1646         * emulparams/i386pe_posix.sh: New file.
1647         * Makefile.am (YACC): If bison is not in the source tree, use
1648         @YACC@ rather than bison -y.
1649         (LEX): If flex is not in the source tree, use @LEX@ rather than
1650         flex.
1651         (ALL_EMULATIONS): Add ei386pe_posix.o.
1652         (ei386pe_posix.c): New target.
1653         * configure.tgt (i[3456]86-*-interix*): New target.
1654         * configure.host (i[3456]86-pc-interix*): New host.
1655         * Makefile.in: Rebuild.
1656
1657 1999-08-03  Ian Lance Taylor  <ian@zembu.com>
1658
1659         * emulparams/elf32ppc.sh (MAXPAGESIZE): Change to 0x10000.
1660         * emulparams/elf32ppclinux.sh (MAXPAGESIZE): Likewise.
1661
1662 1999-08-03  H.J. Lu  <hjl@gnu.org>
1663
1664         * Makefile.am (ALL_EMULATIONS): Remove ego32.o.
1665         (ego32.c): Remove.
1666         * Makefile.in: Rebuild.
1667
1668 1999-07-22  Philip Blundell  <pb@nexus.co.uk>
1669
1670         * emulparams/armelf_linux26.sh (DATA_START_SYMBOLS): Define.
1671         (OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS): Likewise.
1672         * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Define.
1673
1674         * configure.tgt (arm*-*-uclinux*, thumb-*-uclinux*,
1675         thumb-*-linux-gnu*): New targets.
1676
1677 1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
1678
1679         * scripttempl/i386go32.sc: Add handling of linkonce sections.
1680
1681         * configure.bat: Remove; obsolete.
1682         * emulparams/go32.sh: Remove; obsolete.
1683         * scripttempl/go32coff.sc: Remove; obsolete.
1684
1685 1999-07-21  H.J. Lu  <hjl@gnu.org>
1686
1687         * configure.tgt (mips*el-*-vxworks*): New target.
1688
1689 1999-07-21  Brad M. Garcia  <bgarcia@fore.com>
1690
1691         * configure.tgt (i[3456]86-*-vxworks*): New target.
1692
1693 Tue Jul 20 15:18:46 1999  Bob Manson  <manson@charmed.cygnus.com>
1694
1695         * ldlang.c (lang_gc_sections): Only handle the start symbol
1696         specially if there is one.
1697
1698 Mon Jul 19 14:19:14 1999  Mark P. Mitchell  <mark@codesourcery.com>
1699
1700         * emulparams/elf32bmipn32.sh (OTHER_RELOCATING_SECTIONS): Add
1701         .MIPS.events and .MIPS.content handling.
1702         * emulparams/elf64bmip.sh (OTHER_RELOCATING_SECTIONS): Likewise.
1703
1704 1999-07-17  Nick Clifton  <nickc@cygnus.com>
1705
1706         * ldlang.c (get_target): New function: Return true iff the
1707         given target is the target being sought.
1708         (stricpy): New function:  Like strcpy but convert to lower
1709         case as well.
1710         (strcut): New function:  Like strstr but remove the located
1711         substring as well.
1712         (name_compare): New function: Compute a compatability rating
1713         for two target names.
1714         (winner): New variable: Best target found by
1715         closest_target_match() so far.
1716         (closest_target_match): New function: Find the target which is
1717         the closest match to the original target.
1718         (get_first_input_target): New function: Find the target format
1719         of the first of the linker's input file.
1720         (open_output): Be more clever about deciding the output target
1721         format.
1722
1723 1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
1724
1725         * emulparams/elf64_sparc.sh: Add 64-bit directories to native LIB_PATH.
1726
1727 Thu Jul 15 15:55:15 1999  Mark P. Mitchell  <mark@codesourcery.com>
1728
1729         * configure.host: Set up HOSTING_CRT0 and HOSTING_LIBS for IRIX6.
1730
1731 1999-07-15  Ian Lance Taylor  <ian@zembu.com>
1732
1733         * configure.in: Bump version number to 2.9.5.
1734         * configure: Rebuild.
1735
1736 1999-07-14  Richard Henderson  <rth@cygnus.com>
1737
1738         * ldlang.c (wild_doit): Copy SEC_SHORT to output section.
1739
1740         * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
1741         same order seen for the main sections.  Add
1742         OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
1743
1744 1999-07-12  Andreas Schwab  <schwab@suse.de>
1745
1746         * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
1747         structure initializations.
1748
1749         * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
1750         comma in initializer.
1751
1752 1999-07-11  Ian Lance Taylor  <ian@zembu.com>
1753
1754         * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
1755         as appropriate.  Fill in structure initializations.
1756
1757 1999-07-10  Ian Lance Taylor  <ian@zembu.com>
1758
1759         * ldfile.c: Revert patch of 1999-07-08.
1760         (ldfile_try_open_bfd): If we are searching for the file, skip
1761         files with an incompatible architecture.
1762
1763 1999-07-09  Nick Clifton  <nickc@cygnus.com>
1764
1765         * scripttempl/armcoff.sc (OUTPUT_FORMAT): Include big endian and
1766         little endian formats.
1767
1768 1999-07-08  Felix Lee  <flee@cygnus.com>
1769
1770         * scripttempl/mcorepe.sc: fix quoting problem, for bash 2.x
1771
1772 1999-07-08  Jakub Jelinek  <jj@ultra.linux.cz>
1773
1774         * ldfile.c (ldfile_open_file_search): Skip libraries made for
1775         incompatible architectures in the search path. Let the user know
1776         about any such skips.
1777
1778 Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
1779
1780         * configure.tgt (hppa*-linux-gnu*): New target.
1781
1782 1999-07-07  Mark Mitchell  <mark@codesourcery.com>
1783
1784         * Makefile.am (ALL_64_EMULATIONS): Add eelf64bmip.
1785         (eelf64bmip): New target.
1786         * Makefile.in: Regenerated.
1787         * configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
1788         * emulparams/elf64bmip.sh: New file.
1789
1790 1999-07-05  Nick Clifton  <nickc@cygnus.com>
1791
1792         * emultempl/pe.em (after_open): Abort if input format is ARM and
1793         output format is not.
1794         * emultempl/armcoff.em (after_open): Abort if input format is ARM
1795         and output format is not.
1796         * emultempl/armelf.em (after_open): Abort if input format is ARM
1797         and output format is not.
1798
1799 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
1800
1801         * ldlang.c: Revert change of 1999-06-23.
1802
1803 1999-06-30  Mark Mitchell  <mark@codesourcery.com>
1804
1805         * Makefile.am (ALL_EMULATIONS): Add eelf32bmipn32.o.
1806         (eelf32bmipn32.c): New target.
1807         * Makefile.in: Regenerated.
1808         * configure.tgt (mips-sgi-irix6*): Make n32 the default
1809         emulation.
1810         * emulparams/elf32bmipn32.sh: New file.
1811
1812 1999-06-28  Jim Pick <jim@jimpick.com>
1813
1814         * emultempl/armelf.em: Added code so that .xs linker scripts are
1815         called so that ARM shared libraries are built correctly.
1816
1817 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
1818
1819         * ldmain.c (main): Initialize link_info.init_function and
1820         link_info.fini_function.
1821         * lexsup.c (OPTION_INIT): New macro.
1822         (OPTION_FINI): Likewise.
1823         (ld_options): Add descriptions for them.
1824         (parse_args): Handle them.
1825
1826 1999-06-23  Ian Lance Taylor  <ian@zembu.com>
1827
1828         * ldlang.c (section_already_linked): Only discard link once
1829         sections if we are building constructors.
1830
1831 1999-06-22  Nick Clifton  <nickc@cygnus.com>
1832
1833         * ld.texinfo (Location Counter): Describe behaviour of
1834         location counter inside section statements.
1835
1836 1999-06-20  Mark Mitchell  <mark@codesourcery.com>
1837
1838         * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
1839         controlling whether or not .rodata is in the data segment or the
1840         text segment.
1841
1842 1999-06-18  Nick Clifton  <nickc@cygnus.com>
1843
1844         * emultempl/pe.em: Add new command line switch --thumb-entry.
1845         * emultempl/armelf.em: Add new command line switch --thumb-entry.
1846         * emultempl/armcoff.em: Add new command line switch --thumb-entry.
1847         * ld.texinfo: Document new ARM command line switch: --thumb-entry.
1848
1849 1999-06-20  H.J. Lu  <hjl@gnu.org>
1850
1851         * configure.in (all_libpath): Accumulate across all enabled targets.
1852
1853 Sun Jun 20 14:10:33 1999  Richard Henderson  <rth@cygnus.com>
1854
1855         * emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
1856         DEFAULT_EMULATION.
1857         * emultempl/elf32.em: Likewise.
1858         * emultempl/sunos.em: Likewise.
1859
1860 Fri Jun 18 15:24:48 1999  Richard Henderson  <rth@cygnus.com>
1861
1862         * Makefile.am (GENSCRIPTS): Pass EMULATION_LIBPATH, not EMUL.
1863         * configure.in (all_emuls): Add targ_extra_libpath.
1864         (all_libpath, EMULATION_LIBPATH): Define.
1865         * configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
1866         * genscripts.sh (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
1867
1868 Mon Jun 14 10:38:36 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1869
1870         * ld.texinfo: Fix use of @item vs. @itemx.
1871
1872 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
1873
1874         From Thomas Zenker <thz@lennartz-electronic.de>:
1875         * ldgram.y (attributes_opt): Use attributes_list instead of NAME.
1876         (attributes_list, attributes_string): New nonterminals.
1877         * ldlang.c (lang_set_flags): Add invert parameter.  Don't handle
1878         '!'.
1879         * ldlang.c (lang_set_flags): Update declaration.
1880
1881 1999-06-12  Ian Lance Taylor  <ian@zembu.com>
1882
1883         * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
1884         entry_symbol as an undefined symbol when doing a relocateable
1885         link.  From <jeffdb@goodnet.com>.
1886
1887 1999-06-12  David O'Brien  <obrien@freebsd.org>
1888
1889         * configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
1890
1891 1999-06-09  Nick Clifton  <nickc@cygnus.com>
1892
1893         * lexsup.c (help): Restore previous format of output.
1894
1895 1999-06-04  Nick Clifton  <nickc@cygnus.com>
1896
1897         * emultempl/pe.em: If compiling for arm_epoc_pe rename
1898         interworking functions to avoid a name space clash.
1899
1900 1999-06-02  Jason Merrill  <jason@yorick.cygnus.com>
1901
1902         * scripttempl/v850.sc: Add initp support.
1903
1904 1999-06-02  Nick Clifton  <nickc@cygnus.com>
1905
1906         * emultempl/pe.em: Rename global arm interworking functions to
1907         avoid name collision when all targets BFD is built.
1908
1909 1999-05-30  Cort Dougan  <cort@attis.cs.nmt.edu>
1910
1911         * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
1912         * configure.tgt (powerpc-*-linux-gnu): Use it.
1913         * emulparams/elf32ppclinux.sh: New file.
1914
1915 1999-05-29  Ian Lance Taylor  <ian@zembu.com>
1916
1917         * ld.texinfo (Options): Clarify that options which refer to files
1918         must be properly ordered.
1919
1920 1999-05-29  Nick Clifton  <nickc@cygnus.com>
1921
1922         * emultempl/armelf.em (..._parse_args): New function: Parse
1923         command line option.  Accept arm-elf specific command line option
1924         '-p' or '--no-pipeline-knowledge'.
1925         (..._list_options): New function: Describe the new command line
1926         option.
1927         (..._before_allocation): Pass the value of the new variable
1928         no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
1929
1930         * emultemp/armelf_oabi.em (..._before_allocation): Pass zero as
1931         the third parameter to bfd_elf32_arm_process_before_allocation.
1932
1933 1999-05-28  Nick Clifton  <nickc@cygnus.com>
1934
1935         * lexsup.c (help): Minor formatting changes.
1936
1937 1999-05-28  Martin Dorey  <mdorey@madge.com>
1938
1939         * configure.tgt (i960-*-elf*): New target.
1940         * emulparams/elf32_i960.sh: New file.
1941         * Makefile.am (ALL_EMULATIONS): Add eelf32_i960.o.
1942         (eelf32_i960.c): New target.
1943         * Makefile.in: Rebuild.
1944
1945 1999-05-26  Nick Clifton  <nickc@cygnus.com>
1946
1947         * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.
1948
1949 1999-05-24  Philip Blundell  <philb@gnu.org>
1950
1951         * emultempl/armelf.em (before_parse): Set config.dynamic_link and
1952         config.has_shared.
1953         * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
1954         * emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise.
1955
1956 1999-04-13  Philip Blundell  <philb@gnu.org>
1957
1958         * emultempl/armelf.em: Add definitions related to shared objects
1959         (copied from elf32.em).
1960
1961 Wed May 19 12:44:26 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
1962
1963         * Makefile.am (ALL_EMULATIONS): Remove earmlinux.o and
1964         earm26linux.o, add earmelf_linux.o and earmelf_linux26.o.
1965         * Makefile.in: Regenerated.
1966
1967 1999-05-16  Nick Clifton  <nickc@cygnus.com>
1968
1969         * emulparams/elf32mcore.sh (GENERATE_SHLIB_SCRIPT): Define.
1970         (TEMPLATE_NAME): Define.
1971
1972 Thu May 13 09:48:09 1999  Joel Sherrill (joel@OARcorp.com)
1973
1974         * configure.tgt (i386-*-rtemself*, sh-*-rtemself*): New targets.
1975         (mips*el-*-rtems*, powerpcle-*-rtems*): New targets.
1976
1977 1999-05-10  DJ Delorie  <dj@cygnus.com>
1978
1979         * scripttempl/pe.sc: Specify the output arch, which Ian says is
1980         the Right Thing to do.
1981
1982         * emultempl/pe.em: various changes to parameterize the
1983         target-specific information.
1984         (gld_i386pe_after_open): Detect and fix MS import libraries
1985         by renaming the member objects (which are all named the same).
1986
1987         * pe-dll.c: various changes to parameterize the target-specific
1988         information.
1989         (generate_reloc): support relocs more generically to allow for
1990         expansion.
1991         (pe_exe_build_sections): new; used to add .relocs to .exes
1992         (pe_exe_fill_sections): ditto
1993
1994 1999-05-10  Catherine Moore  <clm@cygnus.com>
1995
1996         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
1997         Check for TARGET_IS_arm_epoc_pe.
1998         (gld_${EMULATION_NAME}_before_allocation): Likewise.
1999
2000 1999-05-12  Anthony Green  <green@cygnus.com>
2001
2002         * ldlang.c (walk_wild, walk_wild_file, walk_wild_section,
2003         output_section_callback, gc_section_callback): New functions for
2004         generic section walks.
2005         (wild, lang_gc_wild): Use walk_wild.
2006         (wild_file, lang_gc_wild_file): Deleted. Common logic moved to
2007         walk_wild_file.
2008         (wild_section, lang_gc_wild_section): Deleted. Common logic moved
2009         to walk_fild_section.  Unique logic moved into callbacks
2010         output_section_callback and gc_section_callback.
2011
2012 1999-04-26  Tom Tromey  <tromey@cygnus.com>
2013
2014         * aclocal.m4, configure: Updated for new version of libtool.
2015
2016 1999-04-12  Philip Blundell  <pb@nexus.co.uk>
2017
2018         * emulparams/armelf_linux.sh: New file.  Support for ARM
2019         GNU/Linux ELF ABI.
2020         * emulparams/armelf_linux26.sh: New file. APCS-26 version of above.
2021         * configure.tgt: For arm*-*-linux-gnu*, set default emulation to
2022         `armelf_linux', and also include `armelf_linux26' and `armelf'.
2023         * Makefile.am: Add rules to make earmlinux.c and earmlinux26.c.
2024         (ALL_EMULATIONS): Add earmlinux.o and earmlinux26.o.
2025         * Makefile.in: Regenerate.
2026
2027 1999-04-11  Richard Henderson  <rth@cygnus.com>
2028
2029         * Makefile.am (ALL_EMULATIONS): Add elf_i386_be.o.
2030         * configure.tgt (i[3456]86-*-beos*): Use it.
2031         * emulparams/elf_i386_be.sh: New file.
2032         * Makefile.in: Rebuild.
2033
2034         * configure.in (environ): Detect declaration.
2035         * ldmain.c (main): Don't declare environ.
2036         * sysdep.h (environ): Declare if needed.
2037         * configure, config.in: Rebuild.
2038
2039 1999-04-11  Richard Henderson  <rth@cygnus.com>
2040
2041         * ldgram.y (ldgram_vers_current_lang): New.
2042         (vers_defns): Accept `extern "lang" { }' syntax.
2043         * ldlex.l (vers_node_nesting): New.
2044         (V_IDENTIFIER): Accept . and $ in symbols.
2045         (VERS_NODE): Accept `extern "lang" { }' tokens.  Nest VERS_NODE states.
2046         * ldlang.c (lang_new_vers_regex): New `lang' argument.  Update callers.
2047         (lang_vers_match_lang_c): New function.
2048         (lang_vers_match_lang_cplusplus): New function.
2049         (lang_vers_match_lang_java): New function.
2050         (lang_do_version_exports_section): Fix iteration.  Don't free
2051         section contents, as it is still in use by the patterns.
2052
2053 1999-04-10  Richard Henderson  <rth@cygnus.com>
2054
2055         * ldmain.c (main): Init link_info.no_undefined.
2056         * lexsup.c: Add command-line option --no-undefined.
2057
2058 1999-04-06  Ian Lance Taylor  <ian@zembu.com>
2059
2060         * ld.h (LC_MESSAGES): Never define.
2061         * ldmain.c (main): Don't pass LC_MESSAGES to setlocale if the
2062         system does not define it.
2063
2064 1999-04-06  H.J. Lu  <hjl@gnu.org>
2065
2066         * ldmain.h (demangling): Declare.
2067         * ldmain.c (demangling): New global variable.
2068         (main): Initialize demangling.
2069         * ldmisc.c (vfinfo): Don't demangle symbol if ! demangling.
2070         * lexsup.c (ld_options, parse_args): Handle --demangle and
2071         --no-demangle.
2072         * ld.texinfo, ld.1: Document --demangle/--no-demangle.
2073
2074         * ldlex.l (V_IDENTIFIER): Allow '.' in symbol.
2075
2076 1999-04-05  Chris Torek  <torek@BSDI.COM>
2077
2078         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Check that
2079         a shared library really exists, avoiding broken symlinks.
2080
2081         * ldfile.c (ldfile_open_file): Generate a better error message if
2082         we can't find a -l file.
2083
2084 1999-04-05  DJ Delorie  <dj@cygnus.com>
2085
2086         * configure.tgt (i386-*-pe): add targ_extra_ofiles for other PE
2087         targets (i386-pe and i386-winnt)
2088
2089 1999-04-04  Ian Lance Taylor  <ian@zembu.com>
2090
2091         * deffilep.y: Include "sysdep.h" and "ldmisc.h".
2092         (def_file_add_directive): Change return type to void.  Remove
2093         unused locals sh_reserve, sh_commit, and j.
2094         (def_ungetc): Always return a value.
2095         (def_lex): Correct parenthesization of || within &&.
2096         * deffile.h (def_file_add_directive): Update declaration.
2097         * pe-dll.c: Include <time.h>, <ctype.h>, and "ldemul.h".
2098         (generate_edata): Remove unused local i.
2099         (quoteput): Add cast to avoid warning.
2100         (pe_dll_generate_def_file): Fix type in format string.
2101         (quick_symbol): Remove unused local blhe.
2102         (pe_dll_generate_implib): Add cast to avoid warning.
2103         (pe_process_import_defs): Remove unused locals ar_head, ar_tail,
2104         and n.
2105         (pe_as16): Comment out.
2106
2107 1999-04-04  Don Bowman <don@pixsci.com>
2108
2109         * configure.tgt: Add mips*-*-vxworks* target.
2110
2111 1999-03-31  Nick Clifton  <nickc@cygnus.com>
2112
2113         * Makefile.in (ALL_EMULATIONS): Add earm_epoc_pe.o
2114         Add build rule and dependencies for earm_epoc_pe.c.
2115
2116         * emulparams/arm_epoc_pe.sh: New file.
2117
2118         * configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
2119         targets.
2120
2121 1999-03-31  Philip Blundell  <pb@nexus.co.uk>
2122
2123         * configure.tgt: Match `arm*-*-linux-gnu*' not
2124         `armv*-*-linux-gnu'.
2125
2126 1999-03-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2127
2128         * scripttempl/elf.sc: Put the .eh_frame and .gcc_except_table
2129         sections in the data segment.
2130
2131 Fri Mar 26 12:05:51 1999  Catherine Moore  <clm@cygnus.com>
2132
2133         * ld.h (wildcard_spec): Add exclude_name.
2134         * ldgram.y (EXCLUDE_FILE): New token.
2135         (wildcard_spec): Set exclude_name.
2136         (file_NAME_list): Recognize EXCLUDE_FILE.
2137         * ldlang.c (wild_section): Check for excluded files.
2138         (print_wild_statement): Print excluded files.
2139         (lang_add_wild): New argument exclude_filename.
2140         Set exclude_filename.
2141         * ldlang.h (lang_wild_statement_type):  Add exclude_filename.
2142         * ldlex.l: New token EXCLUDE_FILE.
2143         * mri.c (mri_draw_tree):  Add argument to lang_add_wild.
2144         * scripttempl/elf.sc (CTOR, DTOR):  Exclude crtend.o from ctor wildcard.
2145         Reorder sorted and unsorted ctors.
2146         * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
2147         * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
2148         * scripttempl/elfppc.sc (CTOR, DTOR): Likewise.
2149
2150 1999-03-26  Nick Clifton  <nickc@cygnus.com>
2151
2152         * ldlang.c (lang_gc_sections): If entry_symbol is not defined,
2153         default to "start".
2154
2155 1999-03-03  Nick Clifton  <nickc@cygnus.com>
2156
2157         * scripttempl/elf.sc: Add explicit placements for the .eh_frame
2158         and .gcc_except_table sections.
2159
2160 Wed Mar  3 09:13:34 1999  Catherine Moore  <clm@cygnus.clm>
2161
2162         * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
2163         sections.  Reorder .ctors section entries.
2164         * scripttempl/elfd10v.sc: Likewise.
2165         * scripttempl/elfd30v.sc: Likewise.
2166         * scripttempl/elfppc.sc: Likewise.
2167
2168 1999-02-26  Jim Lemke  <jlemke@cygnus.com>
2169
2170         * ldmain.c (main): Wrong error msg for -r and --mpc860c0.
2171
2172 1999-02-25  Nick Clifton  <nickc@cygnus.com>
2173
2174         * ldlang.c (lang_check_section_addresses): Remove extraneous
2175         backslash.
2176
2177 Thu Feb 25 15:07:24 1999  Catherine Moore  <clm@cygnus.com>
2178
2179         * scripttempl/elf.sc: Don't gather .ctor and .dtor sections
2180         for relocateable links.
2181         * scripttempl/elfd10v.sc: Likewise.
2182         * scripttempl/elfd30v.sc: Likewise.
2183         * scripttempl/elfppc.sc: Likewise.
2184
2185 1999-02-22  Jim Lemke  <jlemke@cygnus.com>
2186
2187         * ldint.texinfo: remove extraneous right brace.
2188         * ldmain.c (main): initialize and check option "mpc860c0".
2189         * lexsup.c (ld_options, parse_args): add option "mpc860c0".
2190
2191 Wed Feb 17 12:10:06 1999  Stan Cox  <scox@cygnus.com>
2192
2193         * mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
2194         .reginfo section handling.
2195         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
2196         * emulparams/elf32elmip.sh (INITIAL_READONLY_SECTIONS): Removed
2197         * emulparams/elf32ebmip.sh (INITIAL_READONLY_SECTIONS): Removed
2198
2199 1999-02-17  Nick Clifton  <nickc@cygnus.com>
2200
2201         Patch from: Scott Bambrough <scottb@corelcomputer.com>
2202
2203         * configure.tgt: Added armv*-*-linux-gnu to $targ_emul
2204         recognition.
2205
2206 Wed Feb 17 Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2207
2208         * emultempl/armelf_oabi.em
2209         (bfd_elf32_arm_allocate_interworking_sections,
2210         bfd_elf32_arm_get_bfd_for_interworking,
2211         bfd_elf32_arm_process_before_allocation): Define them to use the
2212         old ABI versions of the functions.
2213
2214 Tue Feb 16 16:48:19 1999  Ian Lance Taylor  <ian@cygnus.com>
2215
2216         * configure.in: Change AC_PREREQ to 2.13.  Change AM_PROG_INSTALL
2217         to AC_PROG_INSTALL.  Change AM_EXEEXT to AC_EXEEXT.
2218         * Makefile.am (earmelf_oabi.c): Changes spaces to tab.
2219         * acconfig.h: Remove.
2220         * aclocal.m4: Rebuild.
2221         * configure: Rebuild.
2222         * Makefile.in: Rebuild.
2223
2224 Mon Feb 15 18:21:48 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
2225
2226         * ldexp.h (struct etree_value_type): Change valid onto valid_p.
2227
2228         * ldexp.c (new_abs): Ditto.
2229         (new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
2230         exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
2231         exp_get_abs_int): Ditto
2232
2233         * ldlang.c (print_assignment, lang_size_sections,
2234         lang_do_assignments): Ditto.
2235
2236 1999-02-11  Nick Clifton  <nickc@cygnus.com>
2237
2238         * ldlang.c (lang_check_section_addresses): New function: Check
2239         addresses assigned to section for overlaps.
2240         (lang_process): Call lang_check_section_addresses if suitable.
2241
2242         * ld.h: Add new boolean field to args_type structure:
2243         'check_section_addresses'.
2244
2245         * ldmain.c: Initialise check_section_addresses field to true.
2246
2247         * lexsup.c: Add new command line options '--no-check-sections' and
2248         '--check-sections'.
2249
2250         * ld.texinfo: Document new command line options '--check-sections'
2251         and '--no-check-sections'.
2252
2253 1999-02-08  Nick Clifton  <nickc@cygnus.com>
2254
2255         * configure.tgt: Add support for StrongARM target.
2256
2257 Wed Feb  3 19:41:01 1999  Ian Lance Taylor  <ian@cygnus.com>
2258
2259         * ldctor.c (ldctor_build_sets): Just set SEC_KEEP once.  Check for
2260         an owner of a section before using it to look up a reloc type.
2261         Don't set SEC_KEEP for the absolute section.
2262
2263 Mon Feb  1 11:39:46 1999  Catherine Moore  <clm@cygnus.com>
2264
2265         * Makefile.am (earmelf_oabi.o):  New.
2266         * Makefile.in:  Regenerate.
2267         * configure.tgt (arm-*-oabi):  New.
2268         (thumb-*-oabi):  New.
2269         * emulparams/armelf_oabi.sh:  New.
2270         * emultempl/armelf_oabi.em:  New.
2271
2272 1999-01-31 17:57:31 1998  Michael Meissner  <meissner@cygnus.com>
2273
2274         * scripttempl/elfppc.sc: Add support for -fleading-underscores
2275         switch in all linker generated symbols.
2276
2277         * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for
2278         powerpc{,le}-*-eabi.
2279
2280 Wed Jan 20 17:01:48 1999  Ian Lance Taylor  <ian@cygnus.com>
2281
2282         * configure.tgt (i[3456]86-*-solaris2*): New target.  From Pavel
2283         Roskin <pavel_roskin@geocities.com>.
2284
2285 1999-01-19  Nick Clifton  <nickc@cygnus.com>
2286
2287         * ldlang.c (lang_size_sections): Count loadable sections as
2288           contributing to the size of the current segment.
2289
2290 1999-01-15  Nick Clifton  <nickc@cygnus.com>
2291
2292         * ldlang.c (lang_size_sections): Only update the current
2293           address of a region if the section just placed into it is an
2294           allocated section.
2295
2296 1999-01-12  Nick Clifton  <nickc@cygnus.com>
2297
2298         * Makefile.am: Replace efr30.o with eelf32fr30.o.
2299         * Makefile.in: Regenerate.
2300
2301         * configure.tgt: Replace fr30 with elf32fr30.
2302
2303         * emulparams/elf32fr30.sh: New file: Replaces fr30.sh, and uses
2304         generic elf.sc script.  Also replaces the .stack section with a
2305         user definable symbol __stack.
2306
2307 1999-01-11  Nick Clifton  <nickc@cygnus.com>
2308
2309         * scripttempl/fr30.sc: Fill .init and .fini sections with NOP
2310         pattern.
2311
2312 1999-01-03  Ken Raeburn  <raeburn@cygnus.com>
2313
2314         * Makefile.am (check-DEJAGNU): No longer provide HOSTING_EMU,
2315         HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from
2316         configure.host and configure.tgt now.
2317         * Makefile.in: Rebuild.
2318
2319 1998-12-27  Ulrich Drepper  <drepper@cygnus.com>
2320
2321         * lexsup.c (parse_args, case OPTION_RPATH): Avoid adding duplicate
2322         elements to rpath.
2323
2324 Thu Dec 10 11:12:28 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2325
2326         * Makefile.am (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o.
2327         (ALL_EMUL_EXTRA_OFILES): New variable.  Put them here instead.
2328         * configure.in: Set EMUL_EXTRA_OFILES to $(ALL_EMUL_EXTRA_OFILES)
2329         if configuring with all targets.
2330         * configure, Makefile.in, aclocal.m4: Rebuild.
2331
2332         * emultempl/pe.em (pe_enable_stdcall_fixup): Make static.
2333         (pe_dll_do_default_excludes): Removed, unused.
2334         (pe_def_file, pe_dll_export_everything, pe_dll_kill_ats,
2335         pe_dll_stdcall_aliases): Don't initialize them, this file may be
2336         compiled more than once.
2337         * pe-dll.c (pe_def_file, pe_dll_export_everything,
2338         pe_dll_do_default_excludes, pe_dll_kill_ats,
2339         pe_dll_stdcall_aliases): Define and initialize them here instead.
2340         (generate_reloc): Fix allocation of reloc_addresses array to use
2341         bfd_vma instead of unsigned long.  Fix element size in qsort call.
2342         (reloc_sort): Compare pointers to bfd_vma instead of unsigned
2343         long.
2344
2345 Mon Dec  7 21:10:09 1998  J.J. van der Heijden  <j.j.vanderheijden@student.utwente.nl>
2346
2347         * configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific
2348         files.
2349
2350 Sun Dec  6 16:33:33 1998  Ian Lance Taylor  <ian@cygnus.com>
2351
2352         * configure.tgt (m68*-*-gnu*): New target.  From Aymeric Vincent
2353         <aymeric.vincent@emi.u-bordeaux.fr>.
2354
2355 1998-12-04  Nick Clifton  <nickc@cygnus.com>
2356
2357         * emulparams/fr30.sh (TEXT_START_ADDR): Change TEXT_START_ADDR
2358         from 0x100000 to 0x10000 so that it fits in 20 bits.
2359
2360 Sat Nov 28 22:32:20 1998  Ian Lance Taylor  <ian@cygnus.com>
2361
2362         * ldemul.h (ldemul_recognized_file): Declare.
2363
2364 Sat Nov 28 22:30:55 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
2365
2366         * ldlang.c (lang_add_wild): Don't pretend that there is an input
2367         file if the filename is a wildcard pattern.
2368
2369 1998-11-25  DJ Delorie  <dj@cygnus.com>
2370
2371         * ldemul.h (ld_emulation_xfer_struct): new hook "recognized_file"
2372         * ldemul.c (ldemul_recognized_file): new function, new hook
2373         * ldint.texinfo: document new hook.
2374         * ldlang.c (load_symbols): call recognized_hook for all objects we
2375         do recognize, in case the emulation needs to handle them
2376         specially.  PE DLLs use this.
2377         * pe-dll.c (pe_dll_generate_def_file): take out hack and debug
2378         printfs
2379         * emultempl/pe.em (gld_i386_recognized_file): new function
2380         (gld_i486_unrecognized_file): take out hack
2381
2382 1998-11-23  DJ Delorie  <dj@cygnus.com>
2383
2384         * pe-dll.c (fill_edata): fill in timestamp
2385         (make_head): name object files sequentially to ensure
2386         they link in the right order.
2387         (make_tail): same here
2388         (pe_process_import_defs): use sequential names for bfds to ensure
2389         proper link order.
2390         (pe_implied_import_dll): new function; handles linking directly
2391         against DLLs by simulating IMPORTS directives.  * emultempl/pe.em
2392         (gld_i386pe_before_parse): hack bfd to not recognize .dll files
2393         via bfd_pe_dll_not_recognized_hack
2394
2395 1998-11-23  DJ Delorie  <dj@cygnus.com>
2396
2397         * emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
2398         pe_dll_add_excludes
2399
2400 Mon Nov 23 14:36:18 1998  Nick Clifton  <nickc@cygnus.com>
2401
2402         * emultempl/pe.em (after_parse): Only create an undefined entry
2403         symbol if one has been specified.
2404
2405 1998-11-23  DJ Delorie  <dj@cygnus.com>
2406
2407         * emultempl/pe.em (gld_i386pe_after_open): call
2408         pe_process_import_defs
2409         * pe-dll.c (pe_dll_generate_def_file): calculate BASE from
2410         pe_data, only print if actually set.  Print version only if
2411         set.
2412         (save_relocs): save relocs for both input and output.
2413         (make_one): support internal/external different names.
2414         (pe_dll_generate_implib): support new make_one
2415         (pe_process_import_defs): new function; handles IMPORT
2416         directives in .def files.
2417
2418 Fri Nov 20 13:06:49 1998  Nick Clifton  <nickc@cygnus.com>
2419
2420         * ldmisc.c (vfinfo): Cope with empty symbol names.
2421
2422 Thu Nov 19 13:31:15 1998  Nick Clifton  <nickc@cygnus.com>
2423
2424         * scripttempl/pe.sc: Add provision of '_end' symbol.
2425
2426 Wed Nov 18 18:18:43 1998  Geoffrey Noer  <noer@cygnus.com>
2427
2428         * configure.tgt: change refs from cygwin32* to cygwin*.
2429         * aclocal.m4: regenerate
2430         * configure.in: don't need to call AM_CYGWIN32.
2431         * configure: regenerate
2432
2433 Mon Nov 16 22:14:07 1998  DJ Delorie  <dj@cygnus.com>
2434
2435         * emultempl/pe.em (gld_i386_finish): generate import library
2436         * deffile.h: add hint member.
2437         * pe-dll.c (pe_dll_generate_implib): New function with helpers;
2438         generates the import library directly from the export table.
2439         (fill_edata): remember the actual hint for the import library.
2440
2441 Sat Nov 14 14:36:24 1998  Ian Lance Taylor  <ian@cygnus.com>
2442
2443         * ld.1: Some cleanups from NOKUBI Hirotaka <hnokubi@yyy.or.jp>.
2444
2445 Thu Nov 12 19:21:57 1998  Dave Brolley  <brolley@cygnus.com>
2446
2447         * po/ld.pot: Regenerated.
2448         * po/POTFILES.in: Regenerated.
2449         * configure: Regenerated.
2450         * aclocal.m4: Regenerated.
2451         * Makefile.in: Regenerated.
2452
2453 Wed Nov 11 18:10:15 1998  DJ Delorie  <dj@cygnus.com>
2454
2455         * pe-dll.c (generate_reloc): don't output PE relocs for sections
2456         that won't be loaded.
2457
2458 Wed Nov 11 13:44:54 1998  DJ Delorie  <dj@cygnus.com>
2459
2460         * pe-dll.c (fill_edata): don't strip underscores
2461
2462 Tue Nov 10 21:28:19 1998  DJ Delorie  <dj@cygnus.com>
2463
2464         * ld.texinfo: added i386pe option summary
2465
2466 Tue Nov 10 17:53:17 1998  DJ Delorie  <dj@cygnus.com>
2467
2468         * pe-dll.c (process_def_file): properly note undefined exported
2469         symbols, clean up old code.
2470         (pe_dll_generate_def_file): don't crash if pe_def_file is NULL
2471         * emultempl/pe.em (gld_i386_parse_args): add
2472         (en/dis)able-stdcall-fixups
2473         (pe_fixup_stdcalls): warn about stdcall fixups
2474         (gld_i386_unrecognized_file): make exported symbols undefs so that
2475         archive members get pulled in
2476
2477 Tue Nov 10 14:50:51 1998  Catherine Moore  <clm@cygnus.com>
2478
2479         * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
2480         .fini, .dtors and .ctors.  Add .data and .text
2481         wildcards to support section garbage collection.
2482
2483 Mon Nov  9 22:52:50 1998  DJ Delorie  <dj@indy.delorie.com>
2484
2485         * deffilep.y: properly handle relocs with multiple def_files,
2486         cache import module names
2487
2488 Mon Nov  9 22:44:58 1998  DJ Delorie  <dj@cygnus.com>
2489
2490         * pe-dll.c (process_def_file): don't assume exports won't move
2491         during a realloc
2492
2493 Mon Nov  9 16:41:30 1998  DJ Delorie  <dj@cygnus.com>
2494
2495         * pe-dll.c: New file; direct support for PE DLLs
2496         * deffile.h: New file; direct support for PE DLLs
2497         * deffilep.y: New file; direct support for PE DLLs
2498         * emultempl/pe.em: add direct support for PE DLLs
2499         * configure.tgt: allow target-specific extra files
2500         * configure.in: allow target-specific extra files
2501         * ldlang.c (lang_add_assignment): return the assignment so that
2502         one can change the value later based on the object files (pe-dll
2503         DEF files do this)
2504         * ldint.texinfo: add section for emulation walkthrough
2505         * Makefile.am: add new files and target-specific extra files
2506         * emultempl/pe.em (gld_i386_list_options): list dll-specific
2507         options.
2508         * pe-dll.c (process_def_file): auto-export everything if
2509         nothing is otherwise exported.
2510
2511 Wed Nov  4 16:39:18 1998  Nick Clifton  <nickc@cygnus.com>
2512
2513         * Makefile.am: Add support for FR30 target.
2514         * configure.tgt: Add support for FR30 target.
2515         * Makefile.in: Regenerate.
2516         * emulparams/fr30.sh: New file.
2517         * scripttemp/fr30.sc: New file.
2518
2519 Mon Nov  2 14:47:15 1998  Catherine Moore  <clm@cygnus.com>
2520
2521         * ldmain.c (main):  Don't report error for dynamic links and
2522         --gc-sections.
2523
2524 1998-10-26 16:05  Ulrich Drepper  <drepper@cygnus.com>
2525
2526         * lexsup.c (ld_options): Change text of -O to Optimize output file".
2527         (parse_args): Set link_info.optimize based on -O argument.
2528         * ldmain.c (main): Initialize link_info.optimze to false.
2529         * ld.texinfo: Describe -O option.
2530         * ld.1: Likewise.
2531
2532 Mon Oct 12 14:29:56 1998  Nick Clifton  <nickc@cygnus.com>
2533
2534         * scripttempl/v850.sc: Move .sbss and .scommon sections into their
2535         own segment, so that they can be next to the .bss section and so
2536         initialised by the same piece of code.
2537
2538 Fri Oct  9 15:59:52 1998  Catherine Moore  <clm@cygnus.com>
2539
2540         * scripttempl/elf.sc:  Merge .sdata.* etc sections.
2541         * ldctor.c (ldctor_build_sets):  Set SEC_KEEP for
2542         ctor sections.
2543
2544 Mon Oct  5 09:40:43 1998  Catherine Moore  <clm@cygnus.com>
2545
2546         * ldmain.c (main):  Error if --gc-sections and
2547         dyanmic linking.
2548         * scripttempl/v850.sc:  Add KEEP attribute to .init,
2549         .fini, .dtors and .ctors.  Add .data and .text
2550         wildcards to support section garbage collection.
2551
2552 Wed Sep 30 11:19:15 1998  Nick Clifton  <nickc@cygnus.com>
2553
2554         * scripttempl/v850.sc: Rename .call_table section to
2555         .call_table_data and create a new section called
2556         .call_table_text.
2557
2558 Sun Sep 20 00:43:26 1998  Ian Lance Taylor  <ian@cygnus.com>
2559
2560         * scripttempl/elf.sc: Add alignment at the end of the .bss
2561         section, so that it is included in the memsize of the segment.
2562
2563 Fri Sep 18 13:42:42 1998  Catherine Moore  <clm@cygnus.com>
2564
2565         * emultempl/elf32.em (gld_place_orphan): Don't process for
2566         sections with SEC_EXCLUDE flag.
2567
2568 Fri Sep  4 09:24:02 1998  Nick Clifton  <nickc@cygnus.com>
2569
2570         * emulparams/d30velf.sh (TEXT_SIZE): Increased to 2000K.
2571         (DATA_SIZE): Increased to 2000K.
2572
2573 Thu Sep  3 17:30:58 1998  Richard Henderson  <rth@cygnus.com>
2574
2575         * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32.
2576
2577 Mon Aug 31 01:06:00 1998  Catherine Moore  <clm@cygnus.com>
2578
2579         * Makefile.am:  Change armelf.sc to elf.sc
2580         * Makefile.in:  Regenerate.
2581
2582 Mon Aug 31 11:12:04 1998  Catherine Moore  <clm@cygnus.com>
2583
2584         * emulparams/armelf.sh:  Change SCRIPT_NAME to
2585         elf.  Change TEXT_START_ADDR to 0x8000.  Define
2586         OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
2587         OTHER_BSS_END_SYMBOLS.
2588         * scripttempl/elf.sc:  Modify to use
2589         OTHER_BSS_END_SYMBOLS.
2590         * scripttempl/elfarm.sc:  Remove file.
2591
2592 Tue Aug 18 12:05:34 1998  Catherine Moore  <clm@cygnus.com>
2593
2594         * emultempl/armelf.em (gld_armelf_before_allocation):
2595         Add bfd_ prefix to elf32_arm_process_before_allocation
2596         and elf32_arm_allocate_interworking_sections.
2597         (gld_armelf_after_open): Add bfd_ prefix to
2598         elf32_arm_get_bfd_for_interworking.
2599
2600 Fri Aug 14 15:34:29 1998  Ian Lance Taylor  <ian@cygnus.com>
2601
2602         * Makefile.am: Rebuild dependencies.
2603         * Makefile.in: Rebuild.
2604
2605         * ldgram.y: Include "ldctor.h".
2606         (statement): Accept SORT around CONSTRUCTORS.
2607         * ldctor.c: Include <ctype.h>.
2608         (constructors_sorted): New global variable.
2609         (ctor_prio, ctor_cmp): New static functions.
2610         (ldctor_build_sets): Sort constructors if requested.
2611         * ldctor.h (constructors_sorted): Declare.
2612         * ldlang.c (print_statement): Print sorted CONSTRUCTORS
2613         correctly.
2614         * scripttempl/elf.sc: Add sort around CONSTRUCTORS.
2615         * ld.texinfo (Output Section Keywords): Document SORT
2616         (CONSTRUCTORS).
2617
2618 Thu Aug 13 12:20:39 1998  Catherine Moore  <clm@cygnus.com>
2619
2620         * emulparams/armelf.sh:  Define TEMPLATE_NAME to armelf.
2621         * scripttempl/elfarm.sc:  Include .glue_7t and .glue7
2622         sections.
2623         * emultempl/armelf.em: New file.
2624
2625 Thu Aug 13 12:52:45 1998  H.J. Lu  <hjl@gnu.org>
2626
2627         * Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO.
2628         * Makefile.in: Rebuild.
2629
2630 Tue Aug 11 16:17:01 1998  Catherine Moore  <clm@cygnus.com>
2631
2632         * scripttempl/elfarm.sc:  Change text start address
2633         back to zero.
2634
2635 Tue Aug 11 10:01:12 1998  Jeffrey A Law  (law@cygnus.com)
2636
2637         * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1.
2638         * emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1.
2639
2640 Sun Aug  9 20:31:27 1998  Catherine Moore  <clm@cygnus.com>
2641
2642         * scripttempl/elfarm.sc:  Set text start address to
2643         0x8000.  Add __bss_end definition.
2644
2645 Sat Aug  1 11:47:37 1998  Catherine Moore  <clm@cygnus.com>
2646
2647         * scripttempl/elfarm.sc:  New file.
2648         * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
2649
2650 Fri Jul 31 15:56:16 1998  Catherine Moore  <clm@cygnus.com>
2651
2652         * emulparams/armelf.sh: New file.
2653         * configure.tgt:  Recognize thumb-elf and arm-elf.
2654         * Makefile.am (earmelf.o): New.
2655         * Makefile.in: Rebuild.
2656
2657 Fri Jul 24 12:00:57 1998  Ian Lance Taylor  <ian@cygnus.com>
2658
2659         * Makefile.am (install-exec-local): Don't remove the file before
2660         checking whether $(bindir) == $(tooldir)/bin.  From Maciej
2661         W. Rozycki <macro@ds2.pg.gda.pl>.
2662         * Makefile.in: Rebuild.
2663
2664         * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*.
2665
2666 Thu Jul 23 11:15:12 1998  Ian Lance Taylor  <ian@cygnus.com>
2667
2668         * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set
2669         alignment of end symbol.
2670         * scripttempl/elf.sc: Likewise.
2671         * emulparams/sun4.sh (ALIGNMENT): Define.
2672         * emulparams/elf32_sparc.sh (ALIGNMENT): Define.
2673         * ldint.texinfo (emulation parameters): Document ALIGNMENT.
2674
2675         * lexsup.c (parse_args): Add missing break statement.
2676
2677         * ldlang.c (lang_gc_sections_1): Add default case to switch to
2678         avoid warnings.
2679
2680 Tue Jul 14 15:42:17 1998  Richard Henderson  <rth@cygnus.com>
2681
2682         * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
2683         * Makefile.am (ei386beos.o): New.
2684         * emulparams/i386beos.sh: New file.
2685         * emultempl/beos.em, scripttempl/i386beos.sc: New file.
2686
2687 Tue Jul 14 15:35:42 1998  Richard Henderson  <rth@cygnus.com>
2688
2689         * lexsup.c: New option --version-exports-section.
2690         * ld.h (struct args_type): Add version_exports_section.
2691         * ldlang.c (lang_do_version_exports_section): New function.
2692         (lang_process): Call it.
2693
2694 Mon Jul 13 13:20:23 1998  Steve Chamberlain  <sac@transmeta.com>
2695
2696         * ldlex.l: Accept ASSERT.
2697         * ldgram.y (exp): Add ASSERT_K case.
2698         * ldexp.h (node_type): Add etree_assert to node_class enum.
2699         (etree_type): Add assert_s field.
2700         (exp_assert): Declare.
2701         * ldexp.c (exp_fold_tree): Handle etree_assert.
2702         (exp_assert): New function.
2703         (exp_print_tree): Handle etree_assert.
2704         * ld.texinfo (Miscellaneous Commands): Document ASSERT.
2705
2706 Wed Jul  8 14:03:12 1998  Ian Lance Taylor  <ian@cygnus.com>
2707
2708         * ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
2709         conflicts with system header files.  Change all uses.
2710
2711         * Makefile.am (MAINTAINERCLEANFILES): Define.
2712         * Makefile.in: Rebuild.
2713
2714 Tue Jul  7 18:03:22 1998  Ian Lance Taylor  <ian@cygnus.com>
2715
2716         * Makefile.am (ldver.texi): New target.
2717         (ld.info, ld.dvi): Depend upon ldver.texi.
2718         * ld.texinfo: Include ldver.texi.  Mention version number on title
2719         page and in top node.
2720         * Makefile.in: Rebuild.
2721
2722 Mon Jul  6 14:55:13 1998  Ian Lance Taylor  <ian@cygnus.com>
2723
2724         * configure.tgt (i[3456]86-*-solaris*): New target.
2725
2726 Fri Jul  3 14:19:06 1998  Ian Lance Taylor  <ian@cygnus.com>
2727
2728         * ldlang.c (wild_section): Don't get an assertion failure if the
2729         section is discarded.
2730
2731         * scripttempl/pe.sc: Use SORT to sort sections appropriately.
2732         * emultempl/pe.em (sort_by_file_name): Remove.
2733         (sort_by_section_name): Remove.
2734         (sort_sections_1, sort_sections): Remove.
2735         (gld_${EMULATION_NAME}_before_allocation): Don't call
2736         sort_sections.
2737         (hold_section, hold_section_name): New static variables.
2738         (hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
2739         (gld_${EMULATION_NAME}_place_orphan): Rewrite.  Look for a good
2740         place to put the section.  Align the section.  Sort the input
2741         sections by name.
2742         (gld_${EMULATION_NAME}_place_section): New static function.
2743
2744         * ldlang.c (wild_sort): When sorting by file name, sort by archive
2745         name first.
2746
2747         * emultempl/pe.em (set_pe_subsystem): Don't call
2748         ldlang_add_undef.
2749         (gld_${EMULATION_NAME}_after_parse): New static function.
2750         (ld_${EMULATION_NAME}_emulation): Use new after_parse function
2751         rather than after_parse_default.
2752
2753         * ldgram.y (extern_name_list): Do not require symbols to be
2754         separated by commas.
2755         (ifile_p1): Add EXTERN.
2756         * ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
2757         mode.
2758         * ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
2759         (Miscellaneous Commands): Document EXTERN.
2760
2761 Wed Jul  1 19:40:34 1998  Richard Henderson <rth@cygnus.com>
2762
2763         * ld.h (args_type): Add gc_sections.
2764         * ldgram.y (ldgram_had_keep, KEEP): New.
2765         (input_section_spec_no_keep): Rename from old input_section_spec.
2766         (input_section_spec): New.  Recognize KEEP.
2767         * ldlang.c (wild_section): Handle keep sections.
2768         (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
2769         (lang_gc_sections_1, lang_gc_sections): New.
2770         (lang_process): Invoke lang_gc_sections.
2771         (lang_add_wild): Add keep argument.  Update all callers.
2772         * ldlang.h (lang_wild_statement_struct): Add keep_sections.
2773         * ldlex.l (KEEP): Match it.
2774         * ldmain.c (main): Error on -r and --gc-sections.
2775         * lexsup.c: Add --gc-sections.
2776
2777         * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
2778         Mark startup sections with KEEP.
2779         * scripttempl/elfppc.sc: Likewise.
2780
2781         * ld.texinfo: Update for --gc-sections and KEEP.
2782
2783 Wed Jul  1 15:21:20 1998  Ian Lance Taylor  <ian@cygnus.com>
2784
2785         From Peter Jordan <pjordan@chla.usc.edu>:
2786         * scripttempl/i386go32.sc: Correct constructor handling for -u.
2787
2788 Tue Jun 23 15:17:27 1998  Ian Lance Taylor  <ian@cygnus.com>
2789
2790         * Makefile.am (install-data-local): Make ldscripts subdirectory.
2791         * Makefile.in: Rebuild.
2792
2793 Tue Jun 23 15:17:04 1998  Mike Stump  <mrs@wrs.com>
2794
2795         * Makefile.am (install-exec-local): Don't let EXEEXT interfere
2796         with the program transform name.
2797         * Makefile.in: Rebuild.
2798
2799 Sun Jun 21 23:55:16 1998  Jeffrey A Law  (law@cygnus.com)
2800
2801         * ld.texinfo: Note that -relax may make symbolic debugging
2802         impossible on some platforms.
2803
2804 Tue Jun 16 12:51:13 1998  Geoff Keating  <geoffk@ozemail.com.au>
2805
2806         * Makefile.am (Makefile): Remove target.
2807         (config.status): New target.
2808         * Makefile.in: Rebuild.
2809
2810         * configure.host (powerpc*-*-linux-gnu*): New host.
2811
2812 Fri Jun 12 17:38:07 1998  Doug Evans  <devans@seba.cygnus.com>
2813
2814         * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
2815
2816         * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of
2817         stack to 8MB.
2818
2819 Fri Jun 12 19:33:17 1998  Ian Lance Taylor  <ian@cygnus.com>
2820
2821         * Makefile.am (HFILES): Remove config.h.
2822         (EMULATION_OFILES, POTFILES): Move patch of May 14 from
2823         Makefile.in to Makefile.am.
2824         (earmcoff.c): Depend upon armcoff.em, not generic.em.
2825         * po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
2826         ($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
2827         * Makefile.in, po/POTFILES.in, po/ld.pot: Rebuild.
2828
2829 Fri Jun 12 13:43:17 1998  Tom Tromey  <tromey@cygnus.com>
2830
2831         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
2832         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
2833
2834 Tue Jun  9 09:36:48 1998  Nick Clifton  <nickc@cygnus.com>
2835
2836         * ldlang.c (lang_finish): Add CONST type modifier to declaration
2837         of 'send'.
2838
2839 Fri Jun  5 18:19:59 1998  Ian Lance Taylor  <ian@cygnus.com>
2840
2841         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
2842         config.has_shared to true.
2843         * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
2844         Likewise.
2845         * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
2846         Likewise.
2847
2848 Tue Jun  2 12:55:03 1998  Ian Lance Taylor  <ian@cygnus.com>
2849
2850         * ldlang.c (lang_finish): If the entry symbol is not found, try
2851         parsing it as a number.
2852         * ld.texinfo (Options): Document this.
2853
2854 Mon Jun  1 14:01:20 1998  Ian Lance Taylor  <ian@cygnus.com>
2855
2856         * ld.texinfo (Input Section Wildcards): Document SORT keyword.
2857
2858 Mon May 18 12:42:53 1998  Doug Evans  <devans@canuck.cygnus.com>
2859
2860         * ld.h (ld_config_type): New member has_shared.
2861         * ldmain.c (main): Initialize it.
2862         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
2863         * lexsup.c (parse_args): Treat -shared as error if not supported.
2864
2865 Mon May 18 13:14:43 1998  Ian Lance Taylor  <ian@cygnus.com>
2866
2867         From Jason Merrill <jason@cygnus.com>:
2868         * ldlang.c (wild_sort): Correct order of sort.
2869         * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
2870         .dtors.
2871         * scripttempl/elfd10v.sc: Likewise.
2872         * scripttempl/elfd30v.sc: Likewise.
2873         * scripttempl/elfppc.sc: Likewise.
2874
2875 Fri May 15 00:22:35 1998  Ian Lance Taylor  <ian@cygnus.com>
2876
2877         * ldlex.l: Recognize keyword SORT.
2878         * ldgram.y (current_file): Change to struct wildcard_spec.
2879         (%union): Add new fields cname and wildcard.
2880         (wildcard_name, wildcard_spec): New nonterminals.
2881         (file_NAME_list): Use wildcard_spec.
2882         (input_section_spec): Change current_file usage.
2883         * ld.h (struct wildcard_spec): Define.
2884         * ldlang.h (lang_wild_statement_struct): Add new fields
2885         sections_sorted and filenames_sorted.
2886         (lang_add_wild): Update declaration.
2887         * ldlang.c (wild_sort): New static function.
2888         (wild_section): Use wild_sort.
2889         (print_wild_statement): Print sorting information.
2890         (lang_add_wild): Add new parameters sections_sorted and
2891         filenames_sorted.  Change all callers.
2892         * mri.c (mri_draw_tree): Update calls to lang_add_wild.
2893         * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
2894         * scripttempl/elfd10v.sc: Likewise.
2895         * scripttempl/elfd30v.sc: Likewise.
2896         * scripttempl/elfppc.sc: Likewise.
2897
2898 Thu May 14 18:39:16 1998  Richard Henderson  <rth@cygnus.com>
2899
2900         * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
2901
2902 Thu May 14 14:51:24 1998  Nick Clifton  <nickc@cygnus.com>
2903
2904         * ldemul.h: Add new prototype: ldemul_list_emulation_options.
2905         (ld_emulation_xfer_struct): Add new field: list_options.
2906         * ldemul.c (ldemul_list_options): New function.  Call the
2907         list_options field of the ld_emulation_xfer_struct for each
2908         supported emulation, if such a function is present.
2909         * lexsup.c (help): Call ldemul_list_emulation_options.
2910         * emultempl/pe.em (gld_<>_list_options): New function.  Describe
2911         the pe emulation specific command line options.
2912         * emultempl/armcoff.em (gld<>_list_options): New function.
2913         Describe  the armcoff emulation specific command line options.
2914
2915         * emultempl/pe.em: Add a new command line option:
2916         --support-old-code.
2917         * emultempl/armcoff.em: Ditto.
2918         * ld.texinfo: Document the --support-old-code option.
2919
2920         * Makefile.in: Add emulation files for POTFILES.in target.
2921         * emultempl/pe.em: Internationalise suitable strings.
2922         * emultempl/armcoff.em: Internationalise suitable strings.
2923         * po/POTFILES.in: Rebuilt.
2924
2925 Sun May 10 22:36:30 1998  Jeffrey A Law  (law@cygnus.com)
2926
2927         * po/Make-in (install-info): New target.
2928
2929 Tue Apr 28 19:18:30 1998  Tom Tromey  <tromey@cygnus.com>
2930
2931         * ldmain.c (main): Conditionally call setlocale.
2932         * ld.h: Include <locale.h> if HAVE_LOCALE_H.
2933         (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
2934
2935 Mon Apr 27 11:56:21 1998  Ian Lance Taylor  <ian@cygnus.com>
2936
2937         * configure.in: Change version number to 2.9.4
2938         * configure: Rebuild.
2939
2940         * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
2941
2942         Based on patch from H.J. Lu <hjl@gnu.org>:
2943         * emultempl/elf32.em (global_vercheck_needed): New file static
2944         variable.
2945         (global_vercheck_failed): New file static variable.
2946         (gld${EMULATION_NAME}_after_open): Check for shared libraries
2947         twice, once with force set to 0 and once with it set to 1.
2948         (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
2949         Change all callers.
2950         (gld${EMULATION_NAME}_search_needed): Likewise.
2951         (gld${EMULATION_NAME}_try_needed): Likewise.  If not force, check
2952         whether the libraries needs any incompatible versions.
2953         (gld${EMULATION_NAME}_vercheck): New static function.
2954
2955 Wed Apr 22 16:01:35 1998  Tom Tromey  <tromey@cygnus.com>
2956
2957         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
2958
2959 Wed Apr 22 12:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
2960
2961         * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
2962         invoking runtest.
2963         * Makefile.in: Rebuild.
2964
2965         * lexsup.c (parse_args): Change -l options into --library options
2966         to avoid confusion between -li and -library.
2967
2968         * ld.texinfo (MEMORY): Clarify use of >REGION.
2969
2970 Tue Apr 21 23:12:40 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
2971
2972         * Many files: Added gettext invocations around user-visible
2973         strings.
2974         * ld.h: Added gettext-related includes and defines.
2975         * ldmain.c: Call setlocale, bindtextdomain, textdomain.
2976         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
2977         HAVE_LC_MESSAGES): Define.
2978         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
2979         po/Makefile.  Use AM_PROG_LEX.
2980         (TDIRS): AC_SUBST early on, to avoid having value split when it
2981         happens to cross line 90 of the generated sed script.
2982         * Makefile.am (SUBDIRS): New macro.
2983         (POTFILES): Likewise.
2984         (po/POTFILES.in): New target.
2985         (ld_new_LDADD): Added INTLLIBS.
2986         (ld_new_DEPENDENCIES): Added INTLDEPS.
2987         * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
2988
2989 Tue Apr 21 23:07:07 1998  Ian Lance Taylor  <ian@cygnus.com>
2990
2991         * ld.texinfo (Simple Example): Rewrite a few things as suggested
2992         by Nick Clifton <nickc@cygnus.com>.
2993         (PROVIDE): Likewise.
2994
2995 Tue Apr 21 09:55:06 1998  Nick Clifton  <nickc@cygnus.com>
2996
2997         * emultempl/pe.em: Rename external arm interworking functions
2998         to conform to BFD naming conventions.  Add code to _after_open()
2999         function to obtain a bfd for use by the interworking code.
3000
3001         * emultempl/armcoff.em: Rename external arm interworking functions
3002         to conform to BFD naming conventions.  Add new _after_open()
3003         function to obtain a bfd for use by the interworking code.
3004
3005 Sun Apr 19 19:23:09 1998  Richard Henderson  <rth@cygnus.com>
3006
3007         * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
3008         Update dot and the default memory section even when relaxing.
3009
3010 Sat Apr 18 18:41:12 1998  Richard Henderson  <rth@cygnus.com>
3011
3012         * ldlang.c (lang_one_common): Manipulate the section's cooked size
3013         rather than its raw size.
3014
3015 Tue Apr  7 13:35:29 1998  H.J. Lu  <hjl@gnu.org>
3016
3017         * configure.in (TESTBFDLIB): New.  Defined and substituted.
3018         * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
3019         * configure, Makefile.in: Rebuild.
3020
3021 Mon Apr  6 15:33:39 1998  Ian Lance Taylor  <ian@cygnus.com>
3022
3023         * Makefile.am (ld.info): Invoke makeinfo with -I options directly
3024         rather than relying on default rule.  Don't depend upon
3025         bfdsumm.texi.
3026         (ld.dvi): Likewise.
3027         (bfdsumm.texi): Remove target.
3028         (CLEANFILES): Take bfdsumm.texi out of value.
3029         * Makefile.in: Rebuild.
3030
3031 Sun Apr  5 13:07:57 1998  Ian Lance Taylor  <ian@cygnus.com>
3032
3033         * scripttempl/pe.sc: Use shell variables to avoid depending upon
3034         how $ is handled when expanding a shell substitution.
3035
3036 Fri Apr  3 00:56:50 1998  Ian Lance Taylor  <ian@cygnus.com>
3037
3038         * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
3039         (DISTCLEANFILES): Add site.exp and site.bak.
3040         * Makefile.in: Rebuild.
3041
3042         * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
3043         rather than in a shell variable and using AC_SUBST.
3044         * Makefile.am (DISTCLEANFILES): Remove ldscripts.  Add tdirs.
3045         (distclean-local): New target.
3046         * configure, Makefile.in: Rebuild.
3047
3048         * ld.texinfo: Completely rewrite linker script documentation.
3049
3050 Mon Mar 30 12:47:33 1998  Ian Lance Taylor  <ian@cygnus.com>
3051
3052         * configure.in: Set version to 2.9.1.
3053         * configure: Rebuild.
3054
3055         * Branched binutils 2.9.
3056
3057 Sat Mar 28 16:48:19 1998  Ian Lance Taylor  <ian@cygnus.com>
3058
3059         * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
3060         (mostlyclean-local): New target to remove tmpdir.
3061         * Makefile.in: Rebuild.
3062
3063         Fix some gcc -Wall warnings:
3064         * ldcref.c (output_cref): Add casts to avoid warnings.
3065         * ldfile.c (ldfile_add_arch): Likewise.
3066         * ldlang.c (lang_leave_overlay_section): Likewise.
3067         * lexsup.c (OPTION_COUNT): Likewise.
3068         (parse_args): Likewise.
3069         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
3070         Likewise.
3071         * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
3072         * ldlang.c (lang_check): Initialize variables to avoid warnings.
3073         * ldwrite.c (build_link_order): Likewise.
3074         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
3075         * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
3076         Remove unused variables.
3077
3078         * Makefile.am (MOSTLYCLEANFILES): Correct name (was
3079         MOSTCLEANFILES).
3080         * Makefile.in: Rebuild.
3081
3082 Fri Mar 27 16:39:25 1998  Ian Lance Taylor  <ian@cygnus.com>
3083
3084         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
3085         ARM code inside ifdef TARGET_IS_armpe.
3086
3087 Wed Mar 25 11:34:13 1998  Ian Lance Taylor  <ian@cygnus.com>
3088
3089         Based on patch from H.J. Lu  <hjl@gnu.org>:
3090         * Makefile.am (LDDISTSTUFF): New variable.
3091         (diststuff): New target.
3092         * Makefile.in: Rebuild.
3093
3094         * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
3095         relocating.
3096
3097 Tue Mar 24 15:59:29 1998  Nick Clifton  <nickc@cygnus.com>
3098
3099         * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
3100         hold Arm/Thumb stubs.
3101
3102         * emultempl/pe.em (gld_pe_before_allocation): Call
3103         arm_process_before_allocation (for ARM/Thumb targets) in order to
3104         gather interworking stb information.
3105
3106 Mon Mar 23 18:54:15 1998  Joel Sherrill  <joel@OARcorp.com>
3107
3108         * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
3109
3110 Fri Mar 20 19:17:13 1998  Ian Lance Taylor  <ian@cygnus.com>
3111
3112         * aclocal.m4, configure: Rebuild with libtool 1.2.
3113
3114 Thu Mar 19 14:54:45 1998  Geoffrey Noer  <noer@cygnus.com>
3115
3116         * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
3117         section to avoid copying certain data on fork.  The linker used to
3118         include this between __data_start__ and __data_end__, but that
3119         breaks building the cygwin32 dll.  The fix is to rename the
3120         section ".data_cygwin_nocopy" and explictly include it after
3121         __data_end__.
3122
3123 Wed Mar 18 09:42:24 1998  Nick Clifton  <nickc@cygnus.com>
3124
3125         * configure.tgt (targ_extra_emuls): Add thumb-pe target.
3126
3127 Sun Mar  8 23:34:14 1998  Stan Cox  <scox@equinox.cygnus.com>
3128
3129         * configure.tgt (sparclite*-*-elf): Added.
3130
3131 Mon Mar  2 19:24:08 1998  Michael Meissner  <meissner@cygnus.com>
3132
3133         * ldlang.c (lang_size_sections): If the default memory region is
3134         *default*, see if there is a memory region that could be used.
3135
3136 Thu Feb 26 17:09:53 1998  Michael Meissner  <meissner@cygnus.com>
3137
3138         * scripttempl/elfd30v.sc: Add support for .eit_v section and put
3139         it at 0xfffff020.
3140         * emulparams/d30v{elf,_o,_e}.sh: Ditto.
3141
3142 Mon Feb 23 17:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
3143
3144         * emultempl/pe.em (sort_sections): Permit the wildcard to include
3145         a trailing '*' when sorting grouped sections.
3146         * scripttempl/pe.sc: Include grouped sections using NAME\$*.  Only
3147         include them when relocating.
3148
3149 Wed Feb 18 23:39:46 1998  Richard Henderson  <rth@cygnus.com>
3150
3151         * Makefile.am (install-exec-local): Install properly when ln
3152         fails or tooldir == prefix.
3153
3154 Fri Feb 13 15:24:06 1998  Ian Lance Taylor  <ian@cygnus.com>
3155
3156         * Makefile.am (AUTOMAKE_OPTIONS): Define.
3157         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
3158
3159 Thu Feb 12 14:10:44 1998  Ian Lance Taylor  <ian@cygnus.com>
3160
3161         * scripttempl/elf.sc: Align the _end symbol according to the ELF
3162         format size.  From Gordon W. Ross <gwr@mc.com>.
3163
3164         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
3165         * configure.host (alpha*-*-netbsd*): New host.
3166         * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
3167         targets.
3168
3169         * lexsup.c (help): Update bug-gnu-utils address.
3170         * ld.texinfo (Bug Reporting): Likewise.
3171
3172 Tue Feb 10 18:05:56 1998  Ian Lance Taylor  <ian@cygnus.com>
3173
3174         * ldlang.c (lang_size_sections): Warn if some memory regions were
3175         defined, but a loadable section is going into the default memory
3176         region.
3177
3178 Tue Feb 10 16:17:20 1998  H.J. Lu  <hjl@gnu.org>
3179
3180         * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
3181
3182 Tue Feb 10 15:09:45 1998  Ian Lance Taylor  <ian@cygnus.com>
3183
3184         * Makefile.am (Makefile): Add target, for dependencies on
3185         configure.host and configure.tgt.
3186         * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
3187         * Makefile.in: Rebuild.
3188
3189 Mon Feb  9 13:44:40 1998  Andrew Cagney  <cagney@b1.cygnus.com>
3190
3191         * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
3192
3193         * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
3194         moved to 0x00.....4.
3195
3196 Sat Feb  7 15:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
3197
3198         * configure, aclocal.m4: Rebuild with new libtool.
3199
3200 Thu Feb  5 12:16:11 1998  Ian Lance Taylor  <ian@cygnus.com>
3201
3202         * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
3203         From Thomas de Lellis <tdel@wrs.com>.
3204
3205         * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
3206
3207 Wed Feb  4 13:02:32 1998  Ian Lance Taylor  <ian@cygnus.com>
3208
3209         * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
3210         * Makefile.in: Rebuild.
3211
3212 Mon Feb  2 19:34:54 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
3213
3214         Add tms320c30 support:
3215         * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
3216         * emulparams/tic30aout.sh: New file.
3217         * emulparams/tic30coff.sh: New file.
3218         * scripttempl/tic30aout.sc: New file.
3219         * scripttempl/tic30coff.sc: New file.
3220         * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
3221         etic30coff.o.
3222         (etic30aout.c, etic30coff.c): New targets.
3223         * Makefile.in: Rebuild.
3224
3225 Mon Feb  2 14:10:59 1998  Ian Lance Taylor  <ian@cygnus.com>
3226
3227         * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
3228         accept either ld.so or ld-linux.so.
3229
3230 Fri Jan 30 19:16:28 1998  Doug Evans  <devans@canuck.cygnus.com>
3231
3232         * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
3233         to transform.
3234         * Makefile.in: Regenerate.
3235
3236 Fri Jan 30 19:15:17 1998  Geoff Keating  <geoffk@ozemail.com.au>
3237
3238         * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
3239
3240 Fri Jan 30 11:43:49 1998  H.J. Lu  <hjl@gnu.ai.mit.edu>
3241
3242         * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
3243         * Makefile.in: Rebuild.
3244
3245 Thu Jan 29 16:04:21 1998  Mumit Khan  <khan@xraylith.wisc.edu>
3246
3247         * ldfile.c (slash): Set to backslash if _WIN32 but not
3248         __CYGWIN32__.
3249         (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
3250         leading backslash or a leading x: as an absolute path.
3251         (ldfile_find_command_file): Use slash rather than / when
3252         generating name to try.
3253         * lexsup.c (PATH_SEPARATOR): Define.
3254         (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
3255
3256 Wed Jan 28 14:06:30 1998  Richard Henderson  <rth@cygnus.com>
3257
3258         * emulparams/elf64_sparc.sh (ELFSIZE): 64
3259         (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
3260         (DATA_PLT): Needed by v9 abi.
3261
3262 Wed Jan 28 16:37:27 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
3263
3264         * configure.tgt (i[3456]86-*-mingw32*): New entry.
3265
3266 Wed Jan 28 15:51:58 1998  Ian Lance Taylor  <ian@cygnus.com>
3267
3268         * scripttempl/elf.sc: Only include linkonce sections in final
3269         sections when relocating.
3270
3271 Wed Jan 28 14:10:01 1998  Ian Lance Taylor  <ian@cygnus.com>
3272
3273         * ld.texinfo (Options): Add a brief description of the types of
3274         information included in a link map.
3275
3276         * ld.texinfo (Options): Mention LDEMULATION in description of -m.
3277         (Environment): Mention LDEMULATION.
3278
3279         * ld.texinfo (Options): Clarify --export-dynamic a bit.
3280
3281 Thu Jan 22 16:07:23 1998  Richard Henderson  <rth@cygnus.com>
3282
3283         * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
3284         pattern could match.
3285
3286 Wed Jan 21 22:26:46 1998  Ian Lance Taylor  <ian@cygnus.com>
3287
3288         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
3289         a relocateable link, set the image base to 0, and don't define the
3290         various symbols.
3291         * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
3292         * scripttempl/pe.sc: Swap the .data and .bss sections so that
3293         .data comes first.  If doing a relocateable link, use
3294         RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
3295         sections at 0, and don't define any symbols.
3296
3297         * ldlang.c (lang_memory_default): Correct parenthisization of
3298         expression.
3299
3300 Wed Jan 21 21:20:32 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3301
3302         * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
3303         here; they are included already via sysdep.h.
3304
3305 Tue Jan  6 13:40:02 1998  Richard Henderson  <rth@cygnus.com>
3306
3307         * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
3308
3309 Fri Jan  2 20:15:37 1998  Michael Meissner  <meissner@cygnus.com>
3310
3311         * ldgram.y (attributes_opt): Pass region pointer to
3312         lang_set_flags, not &region->flags.
3313
3314         * ldlang.c (lang_memory_default): New function to figure out a
3315         default memory region for a section if it was not specified.
3316         (lang_memory_region_lookup): Zero flags, not_flags field.
3317         (lang_map{,_flags}): Print attribute flags in memory map.
3318         (lang_size_sections): Call lang_memory_default to get default
3319         memory region.
3320         (lang_set_flags): Implement attribute flags for real.  Take new
3321         argument to give the flags we are to skip for this region.
3322
3323         * ldlang.h (memory_region_struct): Add not_flags field, make both
3324         flags fields flagword type.
3325         (lang_output_section_state): Make flags field flagword type.
3326         (lang_set_flags): Update prototype to match new calling sequence.
3327         (lang_memory_region_default): Add prototype.
3328
3329         * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
3330         Define whether or not the region gets default sections, and if so,
3331         what sections.
3332
3333         * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
3334         default sections.
3335
3336 Thu Jan  1 22:58:04 1998  Michael Meissner  <meissner@cygnus.com>
3337
3338         * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
3339
3340 Thu Jan  1 18:04:51 1998  Jeffrey A Law  (law@cygnus.com)
3341
3342         * scripttempl/h8300h.sc: Fix typo.
3343         * scripttempl/h8300s.sc: Likewise.
3344
3345 Sun Dec 21 12:51:49 1997  Ian Lance Taylor  <ian@cygnus.com>
3346
3347         * ldexp.c (fold_name): Don't crash if the symbol is defined in a
3348         section with no output section, such as a shared library section.
3349
3350 Wed Dec 17 12:14:11 1997  Ian Lance Taylor  <ian@cygnus.com>
3351
3352         * lexsup.c (parse_args): Keep track of where we are in the option
3353         parsing before calling ldemul_parse_args, so that we don't call it
3354         multiple times on the same argument and confuse the getopt
3355         internals.
3356
3357 Thu Dec 11 09:00:15 1997  Michael Meissner  <meissner@cygnus.com>
3358
3359         * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and
3360         d30velf_o to d30v_o to work in DOS environments.
3361         * Makefile.{am,in}: Ditto.
3362
3363         * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}.
3364         * emulparams/d30velf_{o,e}: Deleted.
3365
3366 Wed Dec 10 17:40:08 1997  Nick Clifton  <nickc@cygnus.com>
3367
3368         * scripttempl/armcoff.sc: Add glue sections (code taken from Arm
3369         branch).
3370
3371         * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff.
3372
3373         * emultempl/armcoff.em: New file, imported from Arm branch.
3374
3375 Wed Dec 10 14:10:44 1997  Michael Meissner  <meissner@cygnus.com>
3376
3377         * scripttempl/elfd30v.sc: Add .rel and .rela sections for all
3378         defined sections.  Set up __{D,C}TOR_{LIST,END}__.  Add onchip and
3379         external memory sections for rodata.  Delete .string, .rodata1,
3380         and .data1 sections.
3381
3382 Tue Dec  9 15:28:17 1997  Michael Meissner  <meissner@cygnus.com>
3383
3384         * Makefile.am: Add Oct 23 changes to Makefile.in here.
3385
3386         * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o.
3387
3388         * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o.
3389
3390         * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o.
3391         (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in
3392         external memory.
3393         (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in
3394         onchip memory.
3395
3396         * emulparams/d30velf.sh (STACK_START_ADDR): Top of default
3397         stack.
3398         ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas.
3399         ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and
3400         .bss should go in.
3401
3402         * emulparams/d30velf_{e,o}.sh: New files to be explicit whether
3403         .text, .data, etc go in external memory or onchip memory.
3404
3405         * configure.tgt (d30v-*-*ext*): New configuration to default
3406         .text, .data, etc. in external memory.
3407         (d30v-*-*onchip*): New configuration to default .text, .data,
3408         etc. in onchip memory.
3409         (d30v-*-*): Add d30velf_{e,o} emulations.
3410
3411         * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in
3412         either the onchip text/data areas or the external memory area.
3413         (MEMORY): Get sizes from d30velf.sh.
3414         (.e{data,text,bss}): Put sections in the external memory region.
3415         (.stext): Put section in the onchip text region.
3416         (.s{data,bss}): Put sections in the onchip data region.
3417         (__stack): Assign from ${STACK_START_ADDR}.
3418         (.text): Put in ${TEXT_MEMORY} memory region.
3419         (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory
3420         region.
3421         (.bss): Put in ${BSS_MEMORY} memory region.
3422
3423 Tue Dec  2 10:14:47 1997  Nick Clifton  <nickc@cygnus.com>
3424
3425         * configure.tgt (targ_extra_emuls): Add support for Thumb target.
3426
3427 Sat Nov 22 15:23:19 1997  Ian Lance Taylor  <ian@cygnus.com>
3428
3429         * ldlex.l: Don't define hex_mode.  Correct number regexp to not
3430         accept hex digits without a leading $ or 0x.  Handle leading $
3431         correctly.  Pass 0 rather than hex_mode to bfd_scan_vma.
3432         * ldlex.h (hex_mode): Don't declare.
3433
3434 Sun Nov 16 20:16:45 1997  Michael Meissner  <meissner@cygnus.com>
3435
3436         * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start
3437         of internal data area and external memory on chip.
3438
3439         * scripttempl/elfd30v.sc: Define a MEMORY region that describes
3440         the 3 regions of memory on the chip.  Put .text/.init/.fini into
3441         the text memory region, put other segments into the data memory
3442         region.  Add more of the standard elf sections.  Default __stack
3443         to be 0x20008000, which is 1 byte beyond end of the internal data
3444         region.
3445
3446 Thu Nov 13 13:45:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
3447
3448         * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
3449         variant.
3450
3451 Sun Nov  2 14:51:36 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3452
3453         * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0.  Set
3454         HOSTING_LIBS.
3455
3456 Thu Oct 30 12:25:55 1997  Ian Lance Taylor  <ian@cygnus.com>
3457
3458         * ld.h (args_type): Add warn_mismatch field.
3459         * ldmain.c (main): Initialize warn_mismatch field.
3460         * lexsup.c (parse_args): Handle --no-warn-mismatch option.
3461         * ldlang.c (ignore_bfd_error): New static function.
3462         (lang_check): If warn_mismatch is false, don't warn about
3463         mismatched input files.
3464         * ld.texinfo, ld.1: Document new option.
3465
3466 Thu Oct 23 14:38:18 1997  Nick Clifton  <nickc@cygnus.com>
3467
3468         * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack'
3469         to avoid conflicts with C code which is defining a variable called
3470         'stack'.
3471
3472 Thu Oct 23 00:57:45 1997  Richard Henderson  <rth@dot.cygnus.com>
3473
3474         * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ...
3475         (ALL_64_EMULATIONS): ... here.
3476         (eelf64_sparc.c): Template should be elf32 not generic.
3477         * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition.
3478
3479 Thu Oct 23 00:44:20 1997  Richard Henderson  <rth@dot.cygnus.com>
3480
3481         * configure.tgt: Add sparc64-*-linux*.
3482         * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New.
3483
3484 Wed Oct 22 11:29:25 1997  Ian Lance Taylor  <ian@cygnus.com>
3485
3486         * scripttempl/pe.sc: Put .eh_frame in .rdata.
3487
3488 Fri Oct 17 00:00:13 1997  Richard Henderson  <rth@cygnus.com>
3489
3490         * ldlang.c (lang_register_vers_node): Only check globals<=>locals,
3491         since we need to be able to export different versions of the same
3492         symbol.
3493
3494 Wed Oct 15 14:52:36 1997  Ian Lance Taylor  <ian@cygnus.com>
3495
3496         * scripttempl/pe.sc: Put .stab and .stabstr sections at end.
3497
3498 Wed Oct  8 12:37:05 1997  Richard Henderson  <rth@cygnus.com>
3499
3500         * configure.tgt, configure.host: Change alpha-*-* to alpha*-*-*;
3501         config.guess now recognizes alphaev5 etc.
3502
3503 Fri Oct  3 14:23:02 1997  Ian Lance Taylor  <ian@cygnus.com>
3504
3505         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Don't treat
3506         -s and -u as -static and -unix.
3507
3508 Thu Oct  2 18:40:28 1997  Ian Lance Taylor  <ian@cygnus.com>
3509
3510         * ldlang.c (wild_doit): Rewrite flag handling for clarity.  If we
3511         are not adding the first input section, and SEC_READONLY is clear
3512         on the output section, then don't copy it from the input section.
3513         If SEC_READONLY is not set on the input section, then clear it on
3514         the output section.
3515
3516         * configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
3517         elf32bmip.
3518         (mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip
3519         to elf32bsmip.
3520         (mips*-*-linux*): Likewise.
3521         * emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but
3522         setting ENTRY to __start.
3523         * emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but
3524         setting ENTRY to __start.
3525         * scripttempl/elf.sc: Always set ENTRY to _start if it was not
3526         already set.
3527
3528 Wed Oct  1 16:41:00 1997  Nick Clifton  <nickc@cygnus.com>
3529
3530         * emulparams/v850.sh (ROZDATA_START_ADDR, ROSDATA_START_ADDR): New
3531         Variables.
3532
3533         * scripttempl/v850.sc: Move read only areas out of zero and small
3534         data sections and into their own sections.
3535
3536 Wed Sep 24 16:59:15 1997  Joel Sherrill  <joel@oarcorp.com>
3537
3538         * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
3539
3540 Wed Sep 24 11:33:14 1997  Ian Lance Taylor  <ian@cygnus.com>
3541
3542         * ld.texinfo (Section Options): Improve documentation of NOLOAD
3543         directive.
3544
3545         * aclocal.m4: Rebuild with new libtool.
3546         * configure: Rebuild.
3547
3548 Mon Sep 22 17:24:06 1997  Ian Lance Taylor  <ian@cygnus.com>
3549
3550         * ldlang.c (wild_doit): Revert patch of September 3.
3551
3552 Wed Sep 17 16:45:34 1997  Nick Clifton  <nickc@cygnus.com>
3553
3554         * Makefile.am, Makefile.in: Add rule for ev850.c
3555         * configure.tgt (targ_extra_emuls): Add v850 target.
3556
3557 Wed Sep 17 16:43:39 1997  Nick Clifton  <nickc@cygnus.com>
3558
3559         * emulparams/v850.sh (CALL_TABLE_START_ADDR): New entry.
3560         * scripttempl/v850.sc: Add call table data area
3561
3562 Mon Sep 15 11:29:13 1997  Ken Raeburn  <raeburn@cygnus.com>
3563
3564         Merge change from Martin Hunt:
3565
3566         * scripttempl/elfd30v.sc: Put .rodata in the .text section.
3567
3568 Tue Sep  9 07:49:56 1997  Fred Fish  <fnf@ninemoons.com>
3569
3570         * ldlang.c (lang_memory_region_lookup): Remove extraneous
3571         initialization of p.
3572
3573 Thu Sep  4 09:03:33 1997  Ian Lance Taylor  <ian@cygnus.com>
3574
3575         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): In
3576         expression produced for -bpT and -bpD options, align to a 32 byte
3577         boundary rather than an 8 byte boundary.
3578         * scripttempl/aix.sc: Put .tocbss at start of .bss section.
3579
3580         * ldmisc.h, ldmisc.c, ldcref.c: Rename finfo to lfinfo, to avoid
3581         function name conflict with AIX 4.2 unistd.h header file.
3582
3583 Wed Sep  3 15:12:32 1997  Ian Lance Taylor  <ian@cygnus.com>
3584
3585         * ldlang.c (wild_doit): Clear SEC_HAS_CONTENTS from a
3586         noload_section.
3587
3588 Fri Aug 29 00:32:31 1997  Ian Lance Taylor  <ian@cygnus.com>
3589
3590         * Makefile.am (ld_new_DEPENDENCIES): Remove @LEXLIB@.
3591         * Makefile.in: Rebuild.
3592
3593 Thu Aug 28 10:12:10 1997  Doug Evans  <dje@canuck.cygnus.com>
3594
3595         * configure.tgt (arc-*-elf*): Recognize.
3596         * Makefile.am (ALL_EMULATIONS): Add earcelf.o.
3597         * Makefile.in: Regenerate.
3598         * emulparams/arcelf.sh: New file.
3599
3600 Wed Aug 20 11:14:13 1997  Ian Lance Taylor  <ian@cygnus.com>
3601
3602         * ldlang.c (wildcardp): Don't let a backslash by itself cause a
3603         pattern to be treated as a wildcard pattern.
3604
3605         * ldgram.y (atype): Accept parentheses with no type.
3606
3607         * ld.texinfo (Section Definition): Clarify use of whitespace.
3608         (Section Placement): Likewise.
3609
3610 Mon Aug 18 11:12:03 1997  Nick Clifton  <nickc@cygnus.com>
3611
3612         * configure.tgt (targ_extra_emuls): Add support for v850e target.
3613
3614 Mon Aug 18 11:12:03 1997  Nick Clifton  <nickc@cygnus.com>
3615
3616         * configure.tgt (targ_extra_emuls): Add support for v850e target.
3617
3618 Sat Aug  9 00:42:27 1997  Ian Lance Taylor  <ian@cygnus.com>
3619
3620         * Makefile.am (ld.info): Change dependency from
3621         $(BFDDIR)/doc/bfdsumm.texi to bfdsumm.texi.
3622         (ld.dvi): Likewise.
3623         (bfdsumm.texi): New target.
3624         (CLEANFILES): Add bfdsumm.texi.
3625         * Makefile.in: Rebuild.
3626
3627         * Makefile.am: New file, based on old Makefile.in.
3628         * acinclude.m4: New file, from old aclocal.m4.
3629         * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL.  Remove
3630         shared library handling; now handled by libtool.  Replace
3631         AC_CONFIG_HEADER with AM_CONFIG_HEADER.  Call AC_PROG_YACC,
3632         AC_PROG_LEX, and AC_DECL_YYTEXT.  Call AM_MAINTAINER_MODE,
3633         AM_CYGWIN32, and AM_EXEEXT.  Don't call CY_CYGWIN32 or CY_EXEEXT.
3634         * configure.host: Don't set HLDFLAGS, HLDENV, or RPATH_ENVVAR.
3635         * acconfig.h: Mention PACKAGE and VERSION.
3636         * stamp-h.in: New file.
3637         * ldver.c (ld_program_version): Set ld_program_version from
3638         VERSION.
3639         * ldgram.y, ldlex.l: Replace VERSION with VERSIONK.
3640         * Makefile.in: Now built with automake.
3641         * aclocal.m4: Now built with aclocal.
3642         * configure, config.in: Rebuild.
3643
3644 Mon Jul 28 19:04:50 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
3645
3646         * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
3647         win32 dependencies.
3648         * configure: Regenerated with autoconf 2.12.
3649         * Makefile.in: Add $(EXEEXT) to executable.
3650
3651 Tue Jul 22 18:50:38 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
3652
3653         * emulparams/i386go32.sh (OUTPUT_FORMAT): Set to "coff-go32".
3654         (SEGMENT_SIZE): Set to 0x200.
3655         * scripttempl/i386go32.sc: Rewrite.
3656         * configure.tgt (i[3456]86-*-msdosdjgpp*): New target.
3657
3658 Mon Jul  7 12:39:42 1997  Ian Lance Taylor  <ian@cygnus.com>
3659
3660         From Manfred Hollstein <manfred@s-direktnet.de>:
3661         * configure.host (i[3456]86-*-linux*libc1*): Renamed from
3662         i[3456]86-*-linux*.
3663         (i[3456]86-*-linux*): New host.
3664
3665 Thu Jun 26 13:54:03 1997  Ian Lance Taylor  <ian@cygnus.com>
3666
3667         * scripttempl/pe.sc: Put .rsrc after .reloc.  Put input .rsrc
3668         sections in the output .rsrc section.
3669
3670 Wed Jun 25 12:48:41 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3671
3672         * configure.host (m68*-*-linux*libc1*): Renamed from
3673         `m68*-*-linux*'.
3674         (m68*-*-linux*): New configuration for use with GNU libc 2.
3675
3676 Mon Jun 16 19:18:21 1997  Geoff Keating  <geoffk@ozemail.com.au>
3677
3678         * scripttempl/elfppc.sc: Correct .rela.sdata entries.
3679
3680         * scripttempl/elfppc.sc: Put the PLT between the small and large
3681         BSS segments.
3682         * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
3683         program base of 0x02000000 is recommended...' because otherwise
3684         shared libraries are less efficient.  We use 0x01800000 because
3685         otherwise it's impossible to branch to location 0, for instance if
3686         you have an undefined weak symbol.
3687
3688 Mon Jun 16 12:49:36 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
3689
3690         * ldlang.c (lang_place_undefineds): Add \n in einfo call.
3691         (lang_size_sections): Likewise.
3692         * ldlex.l: Likewise.
3693         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
3694         * emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
3695         Likewise.
3696         (check_sections): Likewise.
3697         (gld${EMULATION_NAME}_after_allocation): Likewise.
3698         * emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
3699         Likewise.
3700         * mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
3701         * mpw-idtmips.c (gldmipsidt_after_open): Likewise.
3702         (check_sections): Likewise.
3703         (gldmipsidt_after_allocation): Likewise.
3704
3705         * ldemul.c (ldemul_choose_mode): Remove unused einfo argument.
3706
3707 Fri Jun  6 23:47:42 1997  Ian Lance Taylor  <ian@cygnus.com>
3708
3709         * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
3710         the import list.
3711
3712 Thu May 29 13:13:22 1997  Ian Lance Taylor  <ian@cygnus.com>
3713
3714         * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't
3715         crash if an output section has no BFD section.
3716
3717 Fri May 23 15:23:25 1997  Fred Fish  <fnf@cygnus.com>
3718
3719         * lexsup.c (ld_options): Add entry for the new "task-link" option.
3720         (parse_args): Handle the "task-link" option.
3721         (OPTION_TASK_LINK): Add define.
3722
3723 Wed May 21 17:44:15 1997  Ian Lance Taylor  <ian@cygnus.com>
3724
3725         * ldmain.c (main): Correct check of fclose return value when
3726         handling --force-exe-suffix.
3727
3728 Thu May 15 11:35:29 1997  Nick Clifton  <nickc@cygnus.com>
3729
3730         * ldlang.c (lang_check): Add test of the return value from the
3731         call to bfd_merge_private_bfd_data().
3732
3733 Mon May 12 23:22:58 1997  Ian Lance Taylor  <ian@cygnus.com>
3734
3735         * scripttempl/elfmips.sc: Remove.
3736         * scripttempl/elf.sc: Set ENTRY based on target.  Permit
3737         TEXT_DYNAMIC to control .dynamic segment.  Permit
3738         SHLIB_TEXT_START_ADDR to set start of shared object.  Support
3739         INITIAL_READONLY_SECTIONS.  Put .stub in .text.  Only put
3740         .gnu.linkonce.t* in .text when relocating.  Support
3741         OTHER_TEXT_SECTIONS.  Support SHLIB_DATA_ADDR as well as
3742         DATA_ADDR.  Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
3743         * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
3744         (DATA_ADDR): Don't set.
3745         (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
3746         (OTHER_TEXT_SECTIONS): Set.
3747         (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
3748         (MACHINE): Set to empty string.
3749         * emulparams/elf32l4300.sh: Likewise.
3750         * emulparams/elf32ebmip.sh: Likewise.
3751         * emulparams/elf32elmip.sh: Likewise.
3752         * emulparams/elf32bmip.sh: Likewise.  Also:
3753         (TEXT_DYNAMIC): Set.
3754         * emulparams/elf32lmips.sh: Likewise.
3755         * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
3756         elfmips.sc.
3757         (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
3758
3759 Mon May 12 11:11:06 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3760
3761         * scripttempl/elf.sc: Don't align the data segment on the next 8
3762         byte boundary, instead let the linker use whatever the individual
3763         sections require.
3764
3765 Fri May  9 17:45:46 1997  Ian Lance Taylor  <ian@cygnus.com>
3766
3767         * configure.tgt (i[3456]86-*-gnu*): Don't include Mach support.
3768
3769 Tue May  6 13:21:19 1997  Ian Lance Taylor  <ian@cygnus.com>
3770
3771         From Sean McNeil <sean@mcneil.com>:
3772         * emultempl/pe.em (sort_by_file_name): Sort by archive name
3773         first.
3774         (sort_sections): Sort all sections, not just sections in the same
3775         archive.
3776
3777 Mon May  5 18:19:55 1997  Philip Blundell  <pjb27@cam.ac.uk>
3778
3779         * configure.tgt, configure.host: cope with '*-*-linux-gnuaout'
3780         targets.
3781
3782 Fri May  2 15:54:28 1997  Mike Meissner  <meissner@cygnus.com>
3783
3784         * scripttempl/tic80coff.sc (.text): Add a leading underscore to
3785         __{D,C}TOR_{LIST,END}__ definations.  Rearrange the order of items
3786         in the .text section.  Move .const, .ctors, .dtors into separate
3787         sections.
3788
3789 Wed Apr 30 12:23:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
3790
3791         * scripttempl/m88kbcs.sc (__.initp.end, _etext): Added whitespace
3792         around assignment of current location pointer.
3793
3794 Thu Apr 17 13:07:18 1997  Ian Lance Taylor  <ian@cygnus.com>
3795
3796         * ldctor.c (ldctor_build_sets): Make sure the set is aligned
3797         appropriately.
3798
3799 Tue Apr 15 13:19:26 1997  Ian Lance Taylor  <ian@cygnus.com>
3800
3801         * Makefile.in (INSTALL): Set to @INSTALL@.
3802         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
3803         (install): Depend upon ld.new and installdirs.  Use
3804         $(program_transform_name) directly, rather than using
3805         $(INSTALL_XFORM) and $(INSTALL_XFORM1).
3806         (installdirs): New target.
3807         (install-info): Run mkinstalldirs.
3808
3809 Mon Apr 14 12:06:15 1997  Ian Lance Taylor  <ian@cygnus.com>
3810
3811         * Makefile.in (INSTALL): Change install.sh to install-sh.
3812
3813         From Thomas Graichen <graichen@rzpd.de>:
3814         * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
3815         * configure: Rebuild.
3816
3817 Fri Apr  4 11:42:41 1997  Ian Lance Taylor  <ian@cygnus.com>
3818
3819         * emultempl/pe.em: Include "libiberty.h".
3820         (sort_sections_1): Use xmalloc rather than alloca.
3821
3822         * ldlex.l: Recognize SQUAD.
3823         * ldgram.y (length): Add SQUAD.
3824         * ldctor.c (ldctor_build_sets): Use SQUAD for a signed 8 byte
3825         reloc.
3826         * ldlang.c (print_data_statement): Handle SQUAD.
3827         (lang_size_sections, lang_do_assignments): Likewise.
3828         * ldexp.c (exp_print_token): Add SQUAD to table.
3829         * ldwrite.c (build_link_order): Handle SQUAD.
3830         * ld.texinfo (Section Data Expressions): Document SQUAD.
3831
3832 Thu Apr  3 13:19:40 1997  Ian Lance Taylor  <ian@cygnus.com>
3833
3834         * ldver.c (ld_program_version): Set to 2.8.1.
3835
3836         * Branched binutils 2.8.
3837
3838 Wed Apr  2 11:55:27 1997  Ian Lance Taylor  <ian@cygnus.com>
3839
3840         * mpw-idtmips.c: Rename from mpw-emipsidt.c.
3841         * mpw-elfmips.c: Rename from mpw-emipself.c.
3842         * mpw-config.in: Update accordingly.
3843
3844         * ldlang.c (lang_process): Call lang_check immediately after
3845         opening the input files, rather than at the end of the link.
3846
3847 Mon Mar 31 23:44:00 1997  Ian Lance Taylor  <ian@cygnus.com>
3848
3849         * emultempl/pe.em (init): Fully bracket initializer.
3850         (set_pe_stack_heap): Remove locals begin_commit and end.
3851         (gld_${EMULATION_NAME}_after_open): Remove unused local i.
3852         (gld${EMULATION_NAME}_place_orphan): Remove unused local ptr.
3853
3854 Mon Mar 31 16:35:51 1997  Joel Sherrill  <joel@oarcorp.com>
3855
3856         * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
3857
3858 Fri Mar 28 15:29:23 1997  H.J. Lu <hjl@gnu.ai.mit.edu>
3859
3860         Contributed by David S. Miller <davem@caip.rutgers.edu>:
3861         * configure.tgt (sparc*-*-linuxaout*): New target.
3862         (sparc*-*-linux*): New target.
3863         * emulparams/sparclinux.sh: New file.
3864         * Makefile.in (ALL_EMULATIONS): Add esparclinux.o.
3865         (esparclinux.c): New target.
3866
3867 Fri Mar 28 14:30:12 1997  Ian Lance Taylor  <ian@cygnus.com>
3868
3869         From Ralf Baechle <ralf@gnu.ai.mit.edu>:
3870         * configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and
3871         mips*-*-linux*.  Use elf32bmip and elf32lmip, not elf32ebmip and
3872         elf32elmip.
3873
3874 Thu Mar 27 17:14:32 1997  Ian Lance Taylor  <ian@cygnus.com>
3875
3876         * lexsup.c (parse_args): Update copyright date in version
3877         message.
3878
3879 Fri Mar 21 12:28:41 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
3880
3881         * emulparams/delta68.sh (OUTPUT_FORMAT): Set to "coff-m68k-sysv".
3882
3883 Tue Mar 18 11:16:23 1997  Ian Lance Taylor  <ian@cygnus.com>
3884
3885         * Makefile.in: Rebuild dependencies.
3886
3887         * emultempl/aix.em: Include "obstack.h".
3888
3889 Mon Mar 17 19:26:06 1997  Ian Lance Taylor  <ian@cygnus.com>
3890
3891         * ldlang.c: Include "obstack.h".
3892
3893 Sat Mar 15 23:23:46 1997  Fred Fish  <fnf@cygnus.com>
3894
3895         * configure.tgt (powerpc-*-beos*): Use aixppc for targ_emul.
3896
3897 Sat Mar 15 18:10:38 1997  H.J. Lu  <hjl@lucon.org>
3898
3899         * ldemul.h (ldemul_list_emulations): Use full prototype.
3900         * ldlang.c (print_one_symbol): Add declaration.
3901         * ldlang.h (dprint_statements): Declare.
3902         * ldmain.c (remove_output): Declare.
3903         * ldmisc.c (vfinfo): Declare.
3904         * ldwrite.c (clone_section): Declare.
3905         (split_sections): Make static.  Declare.
3906         * mri.c: Include libiberty.h.
3907         (strdup): Don't declare.
3908         (mri_alias): Use xstrdup rather than strdup.
3909
3910 Fri Mar 14 21:30:06 1997  Ian Lance Taylor  <ian@cygnus.com>
3911
3912         * scripttempl/elfmips.sc: Change handling of data area when
3913         generating a shared library to not skip a large block of memory.
3914         From Per Fogelstrom <pefo@cvs.openbsd.org>.
3915
3916 Wed Mar 12 21:33:09 1997  Ian Lance Taylor  <ian@cygnus.com>
3917
3918         * ldmain.c (multiple_definition): Only skip the warning if the
3919         output section is absolute when the input section is not
3920         absolute.
3921
3922         * ldlex.l: Accept whitespace in VERS_START state.  Warn about
3923         invalid characters in VERS_* states.
3924
3925 Tue Mar 11 13:51:31 1997  Ian Lance Taylor  <ian@cygnus.com>
3926
3927         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Don't let a
3928         trailing space lead us to think that there is a zero address.
3929
3930 Sun Mar  9 23:06:35 1997  Eric Youngdale  <eric@andante.jic.com>
3931
3932         * ldgram.y (vers_node): Correct typo of '('  for '{'.
3933
3934 Fri Mar  7 18:40:12 1997  Fred Fish  <fnf@cygnus.com>
3935
3936         * scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start
3937         rather than _start.
3938         (__edata): Define this rather than "edata".
3939         (__end): Define this rather than "end".
3940
3941 Tue Mar  4 17:18:35 1997  Michael Meissner  <meissner@cygnus.com>
3942
3943         * configure.tgt (tic80-*-*): Allow dropping of -coff.
3944
3945 Sun Mar  2 22:59:49 1997  Fred Fish  <fnf@cygnus.com>
3946
3947         * Makefile.in (ld.dvi): Set MAKEINFO environment variable as well
3948         as TEXINPUTS.  Needed for building in separate build dir.
3949         * ldint.texinfo (SCRIPT_NAME): Fix typo.
3950         * emulparams/tic80coff.sh: Rewrite to include internal documentation
3951         about each shell variable that is set (or not set).
3952         * scripttempl/tic80coff.sc: Complete rewrite.
3953
3954 Fri Feb 28 17:42:27 1997  Ian Lance Taylor  <ian@cygnus.com>
3955
3956         * ldmain.c (main): Call bfd_set_default_target.
3957         * Makefile.in (ldmain.o): Define TARGET when compiling.
3958
3959 Thu Feb 27 11:41:03 1997  Ian Lance Taylor  <ian@cygnus.com>
3960
3961         * ldmain.c (main): Don't initialize link_info.lprefix or
3962         link_info.lprefix_len.
3963         * emultempl/hppaelf.em (hppaelf_before_parse): Likewise.
3964
3965         * emultempl/m88kbcs.em: Remove.
3966         * emulparams/m88kbcs.sh (TEMPLATE_NAME): Don't set.
3967         * Makefile.in (em88kbcs.c): Depend upon generic.em rather than
3968         m88kbcs.em.
3969
3970         * mri.c (mri_draw_tree): Pass noload_section, not SEC_NEVER_LOAD,
3971         to lang_enter_output_section_statement.  From Mark Rasin
3972         <mark.rasin@telrad.co.il>.
3973
3974 Wed Feb 26 11:51:44 1997  Ian Lance Taylor  <ian@cygnus.com>
3975
3976         * ldlang.c (lang_one_common): Clear SEC_IS_COMMON from common
3977         section.
3978
3979 Tue Feb 25 20:38:11 1997  Stan Shebs  <shebs@andros.cygnus.com>
3980
3981         * configure.tgt (mips*-*-lnews*): New target.
3982         * Makefile.in (emipslnews.c): New target.
3983         * emulparams/mipslnews.sh: New file.
3984
3985 Tue Feb 25 16:04:09 1997  Ian Lance Taylor  <ian@cygnus.com>
3986
3987         * emultempl/elf32.em (hold_interp): New static variable.
3988         (gld${EMULATION_NAME}_place_orphan): Put loadable .note sections
3989         after hold_interp.  Choose a unique output section name.
3990         (gld${EMULATION_NAME}_place_section): Don't set hold_use if the
3991         SEC_LOAD or SEC_ALLOC flags differ.  Set hold_interp.
3992
3993 Mon Feb 24 18:16:09 1997  Ian Lance Taylor  <ian@cygnus.com>
3994
3995         From Eric Youngdale <eric@andante.jic.com>:
3996         * ldlex.l (V_TAG, V_IDENTIFIER): New macros.
3997         (VERS_START, VERS_SCRIPT, VERS_NODE): New states to parse version
3998         information.
3999         (ldlex_version_script, ldlex_version_file): New functions.
4000         * ldlex.h (enum input_enum): Add input_version_script.
4001         (ldlex_version_script): Declare.
4002         (ldlex_version_file): Declare.
4003         * ldgram.y (%union): Add deflist, versyms, and versnode.
4004         (VERS_TAG, VERS_IDENTIFIER): New terminals.
4005         (GLOBAL, LOCAL, VERSION, INPUT_VERSION_SCRIPT): New terminals.
4006         (file): Accept INPUT_VERSION_SCRIPT.
4007         (ifile_p1): Accept version.
4008         (version_script_file): New nonterminal.
4009         (version, vers_nodes, vers_node): Likewise.
4010         (verdep, vers_tag, ver_defns): Likewise.
4011         * ldlang.c (lang_elf_version_info): New global variable.
4012         (lang_new_vers_regex): New function.
4013         (lang_new_vers_node): New function.
4014         (version_index): New static variable.
4015         (lang_register_vers_node): New function.
4016         (lang_add_vers_depend): New function.
4017         * ldlang.h (lang_elf_version_info): Declare.
4018         (lang_new_vers_regex, lang_new_vers_node): Declare.
4019         (lang_add_vers_depend, lang_register_vers_node): Declare.
4020         * lexsup.c (OPTION_VERSION_SCRIPT): Define.
4021         (ld_options): Add "version-script".
4022         (parse_args): Handle OPTION_VERSION_SCRIPT.
4023         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4024         Pass lang_elf_version_info to size_dynamic_sections.
4025         * scripttempl/elf.sc: Add .gnu.version sections.
4026         * ld.texinfo: Document symbol versioning.
4027
4028 Fri Feb 21 17:37:51 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
4029
4030         * Makefile.in (ed30velf.c): New target.
4031         * configure.tgt (d30v-*-*): New target.
4032         * emulparams/d30velf.sh: New file.
4033         * scripttempl/elfd30v.sc: New file.
4034
4035 Fri Feb 14 18:28:31 1997  Ian Lance Taylor  <ian@cygnus.com>
4036
4037         * ld.texinfo (Option Commands): Document the INCLUDE command.
4038
4039 Thu Feb 13 20:31:37 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
4040
4041         * configure.in: Call BFD_NEED_DECLARATION on getenv.
4042         * acconfig.h (NEED_DECLARATION_GETENV): New macro.
4043         * sysdep.h (getenv): Declare if NEED_DECLARATION_GETENV.
4044         * ldemul.c (ld_emul_default_target): Do not cast getenv return
4045         value.
4046         * ldmain.c (get_emulation): Likewise.
4047         * configure, config.in: Rebuild.
4048
4049 Tue Feb 11 15:34:26 1997  Ian Lance Taylor  <ian@cygnus.com>
4050
4051         * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and
4052         .mips16.call.* in .text.
4053
4054 Sun Feb  9 18:09:13 1997  Fred Fish  <fnf@cygnus.com>
4055
4056         * emulparams/tic80coff.sh: New (dummy) file for TIc80.
4057         * scripttempl/tic80coff.sc: New (dummy) file for TIc80.
4058         * Makefile.in (etic80coff.c): Add target and rule to build it.
4059         * configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
4060
4061 Fri Jan 31 13:16:53 1997  Ian Lance Taylor  <ian@cygnus.com>
4062
4063         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for
4064         ".so" in the name, not ".so.".
4065         (gld${EMULATION_NAME}_search_dir): Accept a plain .so file.
4066
4067         * Makefile.in (ld.info): Add -I$(srcdir).  From Alan Modra
4068         <alan@spri.levels.unisa.edu.au>.
4069
4070 Thu Jan 30 11:31:52 1997  Ian Lance Taylor  <ian@cygnus.com>
4071
4072         * emultempl/sunos.em: Include <ctype.h>.
4073         (gld${EMULATION_NAME}_find_so): Skip the directory name when
4074         searching for ".so.".
4075         (gld${EMULATION_NAME}_search_dir): Make sure that the library name
4076         has a version number, and that only version numbers follow .so.
4077
4078 Wed Jan 29 18:15:00 1997  Geoffrey Noer  <noer@cygnus.com>
4079
4080         * scripttempl/pe.sc:
4081         * scripttempl/ppcpe.sc: add *(.gcc_except_table) to the text
4082         section so Win32 executables are valid.
4083
4084 Mon Jan 27 12:28:43 1997  Ian Lance Taylor  <ian@cygnus.com>
4085
4086         * scripttempl/elf.sc: Put linkonce reloc section in other
4087         appropriate reloc sections.
4088         * scripttempl/elfmips.sc: Add linkonce support.
4089         * scripttempl/elfppc.sc: Likewise.
4090
4091 Fri Jan 24 10:44:09 1997  Jeffrey A Law  (law@cygnus.com)
4092
4093         * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the
4094         stack up to 0x80000.
4095         * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise.
4096
4097 Tue Jan 21 12:11:10 1997  Doug Evans  <dje@seba.cygnus.com>
4098
4099         * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Use PROVIDE
4100         to define `_stack'.
4101
4102 Thu Jan 16 17:07:52 1997  Ian Lance Taylor  <ian@cygnus.com>
4103
4104         * ld.h (args_type): Rename auxiliary_filter_shlib to
4105         auxiliary_filters, and make it char **.
4106         * lexsup.c (parse_args): Handle -f by setting up an array.
4107         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use
4108         new name of auxiliary_filters.
4109
4110         * ld.texinfo (Options): Improve documentation of --filter and
4111         --auxiliary.
4112
4113 Tue Jan 14 15:44:28 1997  Ian Lance Taylor  <ian@cygnus.com>
4114
4115         * ld.texinfo (Options): Clarify that the normal usage is -T.
4116         (Commands): Likewise.
4117
4118 Thu Jan  9 11:26:27 1997  Ian Lance Taylor  <ian@cygnus.com>
4119
4120         * scripttempl/armcoff.sc: Correct mask used for .data address.
4121
4122 Wed Jan  8 15:14:59 1997  Geoffrey Noer  <noer@cygnus.com>
4123
4124         * emultempl/pe.em: make default executable a.exe instead of
4125         a.out
4126
4127 Fri Jan  3 17:33:34 1997  Richard Henderson  <rth@tamu.edu>
4128
4129         * scripttempl/elf.sc: Move .got closer to .sdata and .sbss by
4130         shifting .plt back.  Rumour has it that the NetBSD ld.so depends
4131         on .dynamic being after .got, so we leave that.
4132
4133 Fri Jan  3 14:04:40 1997  Ian Lance Taylor  <ian@cygnus.com>
4134
4135         * Makefile.in (clean): Don't remove configdoc.texi.
4136         (maintainer-clean): Do remove configdoc.texi.
4137
4138         * ld.texinfo (Operators): Remove '@' from @smallexmple in comment
4139         to avoid confusing texi2roff.
4140
4141 Fri Jan  3 11:27:02 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
4142
4143         * scripttempl/v850.sc (.zdata): Add .zcommon section.
4144         (.tdata): Add .tcommon and .tcommon_byte sections.
4145
4146 Thu Jan  2 18:14:32 1997  Ian Lance Taylor  <ian@cygnus.com>
4147
4148         * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets.
4149         * scripttempl/elfmips.sc: Use __start as the entry address for
4150         mips*-*-linux*.
4151
4152 Tue Dec 31 14:48:30 1996  Ian Lance Taylor  <ian@cygnus.com>
4153
4154         * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
4155
4156         * ld.h (args_type): Add filter_shlib and auxiliary_filter_shlib
4157         fields.
4158         * lexsup.c (parse_args): Recognize --auxiliary/-f and
4159         --filter/-F.
4160         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4161         Pass filter_shlib and auxiliary_filter_shlib to
4162         size_dynamic_sections.
4163         * ld.texinfo, ld.1: Document --filter/-F and --auxiliary/-f.
4164
4165 Mon Dec 30 13:55:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4166
4167         * scripttempl/v850.sc (.tdata) Add .tbss and .tbyte sections.
4168
4169 Wed Dec 18 22:57:35 1996  Stan Shebs  <shebs@andros.cygnus.com>
4170
4171         * mpw-make.sed: Use NewFolderRecursive for installation.
4172
4173 Fri Dec 13 14:08:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4174
4175         * scripttempl/v850.sc: Make sure __{e,g}p start relative to the
4176         {s,t}data sections.  Do not emit any linker generated symbols if
4177         -r.  Use {TEXT,{Z,S,T}DATA}_START_ADDR variables to initialize
4178         where the different sections go.  Change some whitespace.
4179
4180         * emulparams/v850.sh ({TEXT,{Z,S,T}DATA}_START_ADDR): Define
4181         appropriately.  Remove crud not used anymore.
4182
4183 Fri Dec 13 10:19:57 1996  Jeffrey A Law  (law@cygnus.com)
4184
4185         * Makefile.in (emn10200.c): Add dependencies.
4186         * configure.tgt: Handle mn10200.
4187         * emulparms/mn10200.sh: New file.
4188
4189 Thu Dec 12 17:04:55 1996  Ian Lance Taylor  <ian@cygnus.com>
4190
4191         * emultempl/gld960c.em: Include <ctype.h>.
4192         (gld960_set_output_arch): Get the machine type from the -A option
4193         if there is one, rather than always using core.
4194
4195 Sat Dec  7 10:07:51 1996  Jeffrey A Law  (law@cygnus.com)
4196
4197         * emulparms/mn10300.sh: Handle leading underscores.
4198
4199 Thu Dec  5 13:45:58 1996  Ian Lance Taylor  <ian@cygnus.com>
4200
4201         * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Only
4202         set hold_rel if SEC_ALLOC is set.
4203
4204 Tue Dec  3 11:29:20 1996  Ian Lance Taylor  <ian@cygnus.com>
4205
4206         * ldlang.c (section_already_linked): Set the output_offset as well
4207         as the output_section when only reading symbols from a file.
4208
4209 Mon Dec  2 11:43:50 1996  Ian Lance Taylor  <ian@cygnus.com>
4210
4211         * emulparams/*.sh: Make sure that each set of parameters which
4212         uses the elf.sc script sets MACHINE.
4213
4214 Wed Nov 27 03:22:05 1996  Jason Merrill  <jason@yorick.cygnus.com>
4215
4216         * scripttempl/elf{,mips,ppc}.sc: Add the remaining DWARF sections.
4217         * scripttempl/elfd10v.sc: Likewise.
4218         * scripttempl/v850.sc: Likewise.
4219
4220 Tue Nov 26 16:58:33 1996  Ian Lance Taylor  <ian@cygnus.com>
4221
4222         * configure: Rebuild with autoconf 2.12.
4223
4224 Mon Nov 25 12:17:55 1996  Jim Wilson  <wilson@cygnus.com>
4225
4226         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Add case
4227         for bfd_vma to init loop.
4228
4229 Mon Nov 25 09:55:07 1996  Jeffrey A Law  (law@cygnus.com)
4230
4231         * emulparms/mn10300.sh: Remove bogus '_' prefix for
4232         entry symbol and ctor/dtor stuff.
4233
4234 Fri Nov 15 13:00:18 1996  Jeffrey A Law  (law@cygnus.com)
4235
4236         * Makefile.in (emn10300.c): Add dependencies.
4237         * configure.tgt: Handle mn10300.
4238         * emulparms/mn10300.sh: New file.
4239
4240 Tue Nov  5 10:57:50 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4241
4242         * emulparams/d10velf.sh (READONLY_START_ADDR): Changed to 0x2000004.
4243         (EMBEDDED): Define.
4244
4245 Fri Nov  1 10:01:27 1996  Ian Lance Taylor  <ian@cygnus.com>
4246
4247         * ld.texinfo: Add section on reporting bugs.
4248
4249         * scripttempl/m68kcoff.sc: Make sure the etext and __CTOR_LIST__
4250         symbols are correctly aligned.
4251
4252 Thu Oct 31 09:28:59 1996  Jeffrey A Law  (law@cygnus.com)
4253
4254         * scriptempl/v850.sc (zdata): Handle reszdata, romzdata and
4255         romzbss too.
4256
4257 Tue Oct 29 12:33:05 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4258
4259         * emulparams/d10velf.sh: Changes needed for D10V-EVA board.
4260         Set TEXT_START_ADDR to 0x1000000. Set READONLY_START_ADDR to
4261         0x2000000.
4262
4263         * scripttempl/elfd10v.sc:  Fix calculation of .text.  Change
4264         .stack to start at 0x2007ffe.
4265
4266 Mon Oct 28 15:37:00 1996  Doug Evans  <dje@canuck.cygnus.com>
4267
4268         * configure.tgt (sparclet*-*-aout*): Delete, use sparc*-*-aout*.
4269
4270 Wed Oct 23 16:17:22 1996  Jeffrey A Law  (law@cygnus.com)
4271
4272         * scriptempl/v850.sc (zdata): Fix typo "zrodata" -> "rozdata".
4273
4274         * scriptempl/v850.sc (zdata): Make sure this stays
4275         in lo-memory.
4276
4277 Tue Oct 22 11:36:47 1996  Jeffrey A Law  (law@cygnus.com)
4278
4279         * scripttempl/v850.sc (__ep): Put it at the start
4280         of the tda section.
4281
4282         * scriptempl/v850.sc: Move all "normal" sections into
4283         the external memory region (0x100000 - 0x200000).
4284
4285 Mon Oct 21 17:16:59 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
4286
4287         * scripttempl/elfd10v.sc: Clone from elf.sc, move .text to
4288         0x10000, so that is more room for data.
4289
4290         * emulparams/d10velf.sh (TEXT_START_ADDR): Now 0x100000.
4291         (READONLY_START_ADDR): Now 0x0.
4292         (SCRIPT_NAME): Now elfd10v.
4293
4294         * Makefile.in (ed10velf.c): Depend on elfd10v.sc, not elf.sc.
4295
4296 Fri Oct 18 22:12:49 1996  Doug Evans  <dje@canuck.cygnus.com>
4297
4298         * emulparams/m32relf.sh (TEXT_START_ADDR): Change from 0 to 0x100.
4299
4300 Fri Oct 18 15:43:38 1996  Ian Lance Taylor  <ian@cygnus.com>
4301
4302         * Makefile.in (ALL_EMULATIONS): Remove eelf64alpha.o.
4303         (ALL_64_EMULATIONS): New variable.
4304         * configure.in: Accept --enable-64-bit-bfd option.  If it is set
4305         with --enable-targets=all, include ALL_64_EMULATIONS in
4306         EMULATION_OFILES.
4307         * configure: Rebuild.
4308
4309 Fri Oct 18 12:58:35 1996  Jeffrey A Law  (law@cygnus.com)
4310
4311         * scripttempl/v850.sc (__gp, __ep): Define.
4312
4313 Thu Oct 17 18:14:07 1996  Ian Lance Taylor  <ian@cygnus.com>
4314
4315         * ld.texinfo: Try to consistently use a single or a double dash
4316         for each option.
4317
4318 Thu Oct 17 10:17:20 1996  Doug Evans  <dje@canuck.cygnus.com>
4319
4320         * emulparams/m32relf.sh (EMBEDDED): Define.
4321
4322 Thu Oct 17 10:56:49 1996  Jeffrey A Law  (law@cygnus.com)
4323
4324         * scripttempl/v850.sc (.zdata): Add this before .text.
4325         (.sdata): Also include .rosdata as part of the .sdata.
4326         (.tdata): Include this just before .sdata.
4327
4328         * emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf".
4329         * scripttempl/v850.sc: Wrap script with a "cat << EOF".
4330
4331 Wed Oct 16 23:10:01 1996  Jeffrey A Law  (law@cygnus.com)
4332
4333         * scripttempl/v850.sc: New linker script for the V850.
4334         * Makefile.in: Use it.
4335
4336 Thu Oct 10 17:57:00 1996  Ian Lance Taylor  <ian@cygnus.com>
4337
4338         * emulparams/elf32b4300.sh: Define _gp in OTHER_GOT_SYMBOLS, not
4339         OTHER_READWRITE_SECTIONS.
4340         * emulparams/elf32l4300.sh: Likewise.
4341
4342 Wed Oct  9 14:36:18 1996  Ian Lance Taylor  <ian@cygnus.com>
4343
4344         * ld.h (ld_config_type): Add warn_section_align field.
4345         * lexsup.c (OPTION_WARN_SECTION_ALIGN): Define.
4346         (ld_options): Add --warn-section-align.
4347         (parse_args): Handle --warn-section-align.
4348         * ldlang.c (lang_size_sections): If warn_section_align, warn if
4349         the start of a section changes due to alignment.
4350         * ld.texinfo, ld.1: Document --warn-section-align.
4351         * ld.texinfo: Change some single dashes to double dashes.
4352
4353         * emultempl/pe.em (set_pe_subsystem): Record entry symbol for each
4354         subsystem type.  Ifdef out os2 type.  Recognize a version number.
4355
4356 Tue Oct  8 12:07:13 1996  Ian Lance Taylor  <ian@cygnus.com>
4357
4358         * emultempl/pe.em (set_pe_subsystem): When setting the subsystem
4359         to windows, set the entry point.
4360
4361         * Makefile.in (ldlex.c): Don't pass any options to $(LEX).
4362
4363 Mon Oct  7 17:29:05 1996  Ian Lance Taylor  <ian@cygnus.com>
4364
4365         * ld.texinfo (Options): Mention .so extensions for shared
4366         libraries.
4367
4368 Sun Oct  6 22:35:36 1996  Jason Merrill  <jason@yorick.cygnus.com>
4369
4370         * scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections.
4371
4372 Fri Oct  4 18:49:31 1996  Ian Lance Taylor  <ian@cygnus.com>
4373
4374         * scripttempl/m68kcoff.sc: Only set the address of .text if
4375         RELOCATING.
4376
4377 Fri Oct  4 10:59:52 1996  Doug Evans  <dje@canuck.cygnus.com>
4378
4379         * emulparams/sparcaout.sh ({BIG,LITTLE}_OUTPUT_FORMAT): Define.
4380         * scripttempl/aout.sc ({BIG,LITTLE}_OUTPUT_FORMAT): Provide default.
4381         (OUTPUT_FORMAT): Support bi-endian targets.
4382
4383 Thu Oct  3 13:52:03 1996  Ian Lance Taylor  <ian@cygnus.com>
4384
4385         * fnmatch.h, fnmatch.c: Remove (now in libiberty).
4386         * Makefile.in: Rebuild dependencies.
4387         (CFILES): Remove fnmatch.c.
4388         (HFILES): Remove fnmatch.h.
4389         (OFILES): Remove fnmatch.o.
4390
4391 Thu Oct  3 15:41:24 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
4392
4393         * Makefile.in (mostlyclean): Move config.log to distclean.
4394
4395 Wed Oct  2 23:45:25 1996  Geoffrey Noer  <noer@cygnus.com>
4396
4397         * emultmpl/pe.em: increase size of stack reserve to 0x2000000
4398         (necessary in order to compile parse.c in gcc sources under NT)
4399
4400 Wed Oct  2 14:49:10 1996  Ian Lance Taylor  <ian@cygnus.com>
4401
4402         * lexsup.c (ld_options): Fix typo in --rpath-link description.
4403         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
4404         --rpath if a needed library is not found.
4405
4406 Tue Oct  1 16:17:33 1996  Joel Sherrill  <joel@oarcorp.com>
4407
4408         * configure.tgt (mips*-*-rtems*): New target, like mips*-*-elf*.
4409
4410 Tue Oct  1 15:50:34 1996  Ian Lance Taylor  <ian@cygnus.com>
4411
4412         * ld.texinfo (Options): Give more detail on -l option.
4413
4414         * scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that
4415         elf.sc does, so that glibc works better.
4416
4417         * ldver.c (ld_program_version): New variable.
4418         (ldversion): Use it.
4419         * ldver.h (ld_program_version): Declare.
4420         * lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
4421         --version.  Change --version handling to match current GNU
4422         standards.
4423         (help): Print bug report address.
4424
4425 Mon Sep 30 12:14:43 1996  Doug Evans  <dje@canuck.cygnus.com>
4426
4427         * Makefile.in (em32relf.c): Add rule for.
4428         * configure.tgt (m32r-*-*): Recognize.
4429         * emulparams/m32relf.sh: New file.
4430
4431 Thu Sep 26 13:58:47 1996  Stan Shebs  <shebs@andros.cygnus.com>
4432
4433         * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit.
4434         * mpw-config.in: Add mips-*-* case as mips-elf, and use more
4435         wildcards in matching.
4436         * mpw-emipself.c: New file, pregenerated mips elf emulation.
4437
4438 Tue Sep 17 12:18:21 1996  Ian Lance Taylor  <ian@cygnus.com>
4439
4440         * ldint.texinfo: Rewrote.
4441
4442         * configure.tgt: Add cases for MIPS 5000 like MIPS 4300.
4443
4444 Mon Sep 16 17:55:21 1996  Ian Lance Taylor  <ian@cygnus.com>
4445
4446         * scripttempl/armcoff.sc: Only define symbols if RELOCATING.  Fix
4447         syntax error on __end__ line.
4448
4449         * scripttempl/armcoff.sc: For -N or -n, don't align .data.  From
4450         Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
4451
4452 Sun Sep 15 22:09:56 1996  Jeffrey A Law  (law@cygnus.com)
4453
4454         * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS.
4455
4456 Sun Sep 15 10:38:16 1996  Mark Alexander  <marka@cygnus.com>
4457
4458         * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put
4459         stack at top of simulator memory.
4460
4461 Fri Sep 13 15:49:45 1996  Ian Lance Taylor  <ian@cygnus.com>
4462
4463         * ldlex.l (SYMBOLCHARN): Add $, _, and ~.
4464
4465 Wed Sep 11 23:30:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4466
4467         * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al.
4468
4469 Thu Sep  5 15:24:12 1996  Ian Lance Taylor  <ian@cygnus.com>
4470
4471         * ldlang.c (section_already_linked): Accept a lang_input_statement
4472         as the PTR argument.  If the file is symbols only, discard all
4473         input sections.
4474         (ldlang_add_file): Pass entry to bfd_map_over_sections.
4475
4476 Wed Sep  4 15:53:43 1996  Ian Lance Taylor  <ian@cygnus.com>
4477
4478         * configure.tgt (alpha-*-gnu*): New target.  From Fila Kolodny
4479         <fila@ibi.com>.
4480
4481 Tue Sep  3 00:52:54 1996  Jeffrey A Law  (law@cygnus.com)
4482
4483         * emulparms/v850.sh: Set OTHER_RELOCATING_SECTIONS
4484
4485 Sun Sep  1 21:48:58 1996  Jeffrey A Law  (law@cygnus.com)
4486
4487         * emulparms/v850.sh: Set EMBEDDED.
4488
4489 Fri Aug 30 22:30:30 1996  Jeffrey A Law  (law@cygnus.com)
4490
4491         * emulparms/v850.sh: Entry symbol is "_start", tweak
4492         ctor/dtor support.
4493
4494 Fri Aug 30 18:32:31 1996  Ian Lance Taylor  <ian@cygnus.com>
4495
4496         * configure.tgt (sh-*-elf*): New target.
4497         * emulparams/shelf.sh: New file.
4498         * emulparams/shlelf.sh: New file.
4499         * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
4500         (eshelf.c, eshlelf.c): New targets.
4501         * scripttempl/elf.sc: If EMBEDDED is defined, then don't add
4502         SIZEOF_HEADERS to TEXT_START_ADDR.  Expand CTOR_START and CTOR_END
4503         around .ctors, and DTOR_START and DTOR_END around .dtors.  Expand
4504         OTHER_RELOCATING_SECTIONS if RELOCATING.
4505
4506 Thu Aug 29 16:57:46 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4507
4508         * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium
4509         pro.
4510
4511 Mon Aug 26 12:58:11 1996  Ian Lance Taylor  <ian@cygnus.com>
4512
4513         * ldgram.y (section): Add opt_nocrossrefs; pass value to
4514         lang_enter_overlay.
4515         (opt_nocrossrefs): New nonterminal.
4516         * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode.
4517         * ldlang.c (overlay_nocrossrefs): New static variable.
4518         (lang_enter_overlay): Add nocrossrefs parameter.
4519         (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs
4520         is set.  Initialize overlay_nocrossrefs.
4521         * ldlang.h (lang_enter_overlay): Update declaration.
4522         * ld.texinfo (Overlays): Update documentation.
4523
4524         * ldver.c (ldversion): Print GNU ld in the version message.
4525
4526 Thu Aug 22 17:10:40 1996  Ian Lance Taylor  <ian@cygnus.com>
4527
4528         * configure.host: Set HLDENV.
4529         * configure.in: Substitute HLDENV.
4530         * configure: Rebuild.
4531         * Makefile.in (HLDENV): New variable.
4532         ($(LD_PROG)): Use $(HLDENV).
4533
4534 Thu Aug 22 16:29:28 1996  Jeffrey A Law  (law@cygnus.com)
4535
4536         * Makefile.in (ev850.c): New target.
4537         * configure.tgt (v850-*-*): New target.
4538         * emulparams/v850.sh: New file.
4539
4540 Thu Aug 22 11:16:02 1996  Stan Shebs  <shebs@andros.cygnus.com>
4541
4542         * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit.
4543
4544 Wed Aug 21 11:26:37 1996  Ian Lance Taylor  <ian@cygnus.com>
4545
4546         * scripttempl/elf.sc: Put .gnu.linkonce* sections in appropriate
4547         containing sections.
4548
4549 Mon Aug 19 13:01:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4550
4551         * fnmatch.c: Include sysdep.h.
4552
4553 Mon Aug 19 11:28:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4554
4555         * genscripts.sh: Undo 8/16 change.
4556
4557         * emulparams/d10velf.sh (MACHINE): Explicitly set to nothing.
4558
4559 Fri Aug 16 19:18:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4560
4561         * genscripts.sh: Explicitly reset any shell variables set or used
4562         by the various .sc scripts to allow inadvertant use of these
4563         names as normal environment variables by the person running
4564         configure.
4565
4566         * Makefile.in (ed10velf.c): Use tdir_d10v, not tdir_arcelf.
4567
4568 Fri Aug 16 14:15:41 1996  James G. Smith  <jsmith@cygnus.co.uk>
4569
4570         * scripttempl/armcoff.sc (__bss_start__, __bss_end__,
4571         __data_start__, __data_end__): Added to keep in sync. with the
4572         default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
4573
4574 Thu Aug  8 14:24:56 1996  Ian Lance Taylor  <ian@cygnus.com>
4575
4576         * ldcref.c (check_reloc_refs): If info->same, look for any symbol
4577         defined in info->defsec, not just the section symbol.
4578
4579 Wed Aug  7 14:40:48 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
4580
4581         * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
4582         * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
4583         (NEED_DECLARATION_SBRK): New macro.
4584         * configure, config.in: Rebuild.
4585         * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
4586         * ldmain.c (sbrk): Declare if HAVE_SBRK and
4587         NEED_DECLARATION_SBRK.
4588
4589         * ldlang.c (lang_record_phdrs): Cast xmalloc and xrealloc return.
4590
4591 Mon Aug  5 16:26:14 1996  Ian Lance Taylor  <ian@cygnus.com>
4592
4593         * ldlex.l: Recognize OVERLAY.
4594         * ldgram.y: Add section_phdr field to %union.
4595         (section): Handle phdr_opt result.  Add OVERLAY case.
4596         (opt_exp_without_type): New nonterminal.
4597         (phdr_opt): Return list of phdrs.
4598         (overlay_section): New nonterminal.
4599         * ldlang.c: Include <ctype.h>.
4600         (lang_leave_output_section_statement): Add phdrs parameter.
4601         Change all callers.
4602         (lang_section_in_phdr): Remove.
4603         (overlay_vma, overlay_lmn, overlay_max): New static variables.
4604         (struct overlay_list): Define.
4605         (overlay_list): New static variable.
4606         (lang_enter_overlay, lang_enter_overlay_section): New functions.
4607         (lang_leave_overlay_section, lang_leave_overlay): New functions.
4608         * ldlang.h (lang_leave_output_section_statement): Update
4609         declaration for new parameter.
4610         (lang_section_in_phdr): Don't declare.
4611         (lang_enter_overlay, lang_enter_overlay_section): Declare.
4612         (lang_leave_overlay_section, lang_leave_overlay): Declare.
4613         * ld.texinfo (Overlays): New node under SECTIONS, documenting
4614         overlays.
4615
4616         * ldlex.l: Recognize MAX and MIN.
4617         * ldgram.y (MAX, MIN): New terminals.
4618         (exp): Recognize MAX and MIN.
4619         * ldexp.c (fold_binary): Handle MAX and MIN.
4620         * ld.texinfo (Arithmetic Functions): Document MAX and MIN.
4621
4622         * ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
4623         index entries.
4624
4625         * ldgram.y (SIZEOF, ADDR): Do not specify type.
4626
4627         * ldcref.c (check_nocrossref): Skip symbols with no output
4628         sections.
4629
4630 Fri Aug  2 14:57:49 1996  Ian Lance Taylor  <ian@cygnus.com>
4631
4632         * ldgram.y (LOADADDR): New terminal.
4633         (exp): Handle LOADADDR.
4634         * ldlex.l: Recognize LOADADDR.
4635         * ldexp.c (exp_print_token): Add LOADADDR.
4636         (fold_name): Implement LOADADDR.
4637         * ldlang.c (exp_init_os): Treat LOADADDR like ADDR.
4638         * ld.texinfo (Arithmetic Functions): Document LOADADDR.
4639
4640 Thu Aug  1 12:52:19 1996  Ian Lance Taylor  <ian@cygnus.com>
4641
4642         * ld.h (check_nocrossrefs): Declare.
4643         * ldlang.h (struct lang_nocrossref): Define.
4644         (struct lang_nocrossrefs): Define.
4645         (nocrossref_list): Declare.
4646         (lang_add_nocrossref): Declare.
4647         * ldlex.l: Recognize NOCROSSREFS keyword.
4648         * ldgram.y (%union): Add nocrossref field.
4649         (NOCROSSREFS): New terminal.
4650         (ifile_p1): Recognize NOCROSSREFS.
4651         (nocrossref_list): New nonterminal.
4652         * ldlang.c (nocrossref_list): Define.
4653         (lang_add_nocrossref): New function.
4654         * ldmain.c (main): If nocrossref_list is not NULL, call
4655         check_nocrossrefs.
4656         (warning_callback): Free symbols if there is no place to store
4657         them.
4658         (notice): Call add_cref if nocrossref_list is not NULL.
4659         * ldcref.c: Include "ldexp.h" and "ldlang.h".
4660         (check_nocrossrefs): New function.
4661         (check_nocrossref): New static function.
4662         (struct check_refs_info): Define.
4663         (check_refs, check_reloc_refs): New static functions.
4664         * Makefile.in: Rebuild dependencies.
4665         * ld.texinfo (Option Commands): Document NOCROSSREFS.
4666
4667         * ld.texinfo (Section Placement): Improve the wording of the
4668         wildcard documentation.  Mention that wildcards are only searched
4669         for on the command line, not in the file system.
4670
4671         * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move
4672         definition of lib_path inside condition where it is used.
4673
4674 Wed Jul 31 13:17:10 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4675
4676         * emulparams/d10velf.sh: Now works with elf.sc.
4677
4678 Wed Jul 31 11:52:03 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4679
4680         * emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla.
4681
4682 Tue Jul 30 14:46:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4683
4684         * ldlang.c (lang_size_sections): Add the section VMA to the result
4685         value when computing the address of a section.
4686
4687         * ld.h (args_type): Add cref field.
4688         * lexsup.c (parse_args): Set command_line.cref.
4689         * ldmain.c (main): Check command_line.cref rather than
4690         link_info.notice_all.
4691         (notice): Likewise.
4692
4693         * ldcref.c (output_one_cref): Don't crash if a symbol is defined
4694         in a section without an owner.
4695
4696 Mon Jul 29 17:23:33 1996  Ian Lance Taylor  <ian@cygnus.com>
4697
4698         * fnmatch.h, fnmatch.c: New files.
4699         * ldlex.l: Remove unused definition of FILENAME.  Add definition
4700         of WILDCHAR.  In SCRIPT mode, accept any sequence of WILDCHAR as a
4701         NAME.
4702         * ldgram.y (file_NAME_list): Accept '*' and '?' specially.
4703         (input_section_spec): Accept '?' specially.
4704         (statement): Change exp to mustbe_exp in length and FILL cases.
4705         (section): Call ldlex_script before section statements, and call
4706         ldlex_popstate after them.
4707         * ldlang.c: Include "fnmatch.h".
4708         (wildcardp): New static function.
4709         (wild_section): Permit the section name to be a wildcard.
4710         (wild_file): New static function, broken out of wild.
4711         (wild): Call wild_file.  Permit the file name to be a wildcard.
4712         (open_input_bfds): Don't call lookup_name for a wildcard pattern.
4713         * Makefile.in: Rebuild dependencies.
4714         (CFILES): Add fnmatch.c.
4715         (HFILES): Add fnmatch.h.
4716         (OFILES): Add fnmatch.o.
4717         * ld.texinfo: Document that file and section names can now be
4718         wildcard patterns.
4719
4720         * ldlang.c (lang_place_orphans): Correct condition: place a common
4721         section if not relocateable or if common definitions are forced.
4722
4723 Wed Jul 24 12:16:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4724
4725         * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf.
4726
4727 Wed Jul 24 13:38:22 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
4728
4729         * configure.tgt (d10v-*-*): Don't require the -elf, allow plain d10v.
4730
4731 Tue Jul 23 10:36:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
4732
4733         * Makefile.in (ed10velf.c): New target.
4734         * configure.tgt (d10v-*-elf*): New target.
4735         * emulparams/d10velf.sh: New file.
4736
4737 Thu Jul 18 16:25:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4738
4739         * configure.tgt (sparc*-*-sysv4*): New target.  From Andrew Gierth
4740         <ANDREWG@microlise.co.uk>.
4741
4742         * configure.host: Change irix5 to irix[56]*.
4743         * configure.tgt: Likewise.
4744
4745 Wed Jul 17 10:52:46 1996  Kim Knuttila  <krk@cygnus.com>
4746
4747         * emultempl/pe.em (sort_sections): Pay attention to return code.
4748
4749         * ldmisc.c (demangle): Remove all prefix '.'s from a name.
4750
4751 Mon Jul 15 11:49:49 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4752
4753         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
4754         the value of __start_SECNAME to the alignment required by the
4755         section to be placed.
4756
4757 Tue Jul  9 12:09:02 1996  Ian Lance Taylor  <ian@cygnus.com>
4758
4759         * configure.tgt (mips*el-*-elf*): Use elf32elmip.
4760         (mips*-*-elf*): Use elf32ebmip.
4761         * emulparams/elf32bmip.sh (EMBEDDED): Don't define.
4762         * emulparams/elf32lmip.sh (EMBEDDED): Don't define.
4763         * emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with
4764         EMBEDDED defined.
4765         * emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with
4766         EMBEDDED defined.
4767         * emulparams/elf32b4300.sh (EMBEDDED): Define.
4768         * emulparams/elf32l4300.sh (EMBEDDED): Define.
4769         * Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o.
4770         (eelf32ebmip.c, eelf32elmip.c): New targets.
4771
4772 Thu Jul  4 12:01:03 1996  Ian Lance Taylor  <ian@cygnus.com>
4773
4774         * ldver.c (ldversion): Set version to cygnus-2.7.1.
4775
4776         * Released binutils 2.7.
4777
4778         * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid
4779         System V file name limitations.
4780         * configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
4781         pc532macha rather than pc532machaout.
4782         * Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
4783         epc532macha.o.
4784         (epc532macha.c): Rename target from epc532machaout.c.
4785
4786 Wed Jul  3 11:40:10 1996  Ian Lance Taylor  <ian@cygnus.com>
4787
4788         * ldlang.c (print_padding_statement): Use %u, not %x, to print
4789         fill value.
4790
4791 Sun Jun 30 11:16:43 1996  Stan Shebs  <shebs@andros.cygnus.com>
4792
4793         * mpw-eppcmac.c: Update to reflect May 23 change to aix.em.
4794
4795 Thu Jun 27 14:03:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4796
4797         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Put the .sa
4798         file just before the .so file, rather than just after.
4799
4800         * configure.host: Use -print-file-name=FILE rather than piping
4801         -print-libgcc-file-name through sed.
4802         (i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
4803         crtend.o files, in case gcc doesn't use them.
4804         * Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
4805
4806 Wed Jun 26 15:57:21 1996  Ian Lance Taylor  <ian@cygnus.com>
4807
4808         * configure.tgt (mips*-dec-osf*): New target.
4809
4810 Tue Jun 25 22:15:29 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
4811
4812         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
4813         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
4814         (docdir): Removed.
4815         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
4816         (AC_PROG_INSTALL): Added.
4817         * configure: Rebuilt.
4818
4819 Mon Jun 24 18:48:16 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
4820
4821         * scripttempl/elfppc.sc (_GLOBAL_OFFSET_TABLE_): Don't do a
4822         PROVIDE of _GLOBAL_OFFSET_TABLE_, since it needs to be at a
4823         non-fixed location.
4824
4825 Mon Jun 24 17:55:31 1996  Jouke Numan  <jnuman@bazis.nl>
4826
4827         * ldlang.h (enum section_type): Define.
4828         (lang_output_section_statement_type): Remove loadable field.  Add
4829         sectype field.
4830         (lang_enter_output_section_statement): Change flags parameter in
4831         prototype to sectype.
4832         * ldgram.y (typebits): Remove.
4833         (sectype): New static variable.
4834         (opt_at): Use sectype rather than typebits.
4835         (type): Set sectype rather than typebits.
4836         (atype): Likewise.
4837         * ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
4838         EXPRESSION mode.
4839         * ldlang.c (lang_output_section_statement_lookup): Set sectype
4840         field rather than loadable field.
4841         (wild_doit): Check sectype rather than loadable.
4842         (lang_record_phdrs): Likewise.
4843         (lang_enter_output_section_statement): Rename flags parameter to
4844         sectype.  Set sectype field rather than loadable field.  Set flags
4845         field based on sectype.
4846
4847 Mon Jun 24 12:00:32 1996  Ian Lance Taylor  <ian@cygnus.com>
4848
4849         * scripttempl/elf.sc: Force .stab* and .comment sections to start
4850         at 0.
4851
4852         * configure.in: On alpha*-*-osf*, link against libbfd.a if not
4853         using shared libraries.
4854         * configure: Rebuild with autoconf 2.10.
4855
4856 Fri Jun 21 17:40:56 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
4857
4858         * configure.tgt: Add support for *-*-rtems* configurations.
4859
4860 Fri Jun 21 13:05:51 1996  Richard Henderson  <rth@tamu.edu>
4861
4862         * configure.tgt (alpha-*-linuxecoff*): New target.
4863         (alpha-*-linux*): Use elf64alpha.
4864         * emulparams/elf64alpha.sh: New file.
4865         * emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
4866         ${ELFSIZE} rather than 32 when calling BFD routines.
4867         (hold_rodata): New static variable.
4868         (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
4869         readonly section that is not code.
4870         (gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
4871         a .rel section unless its bfd_section field is not NULL.
4872         * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
4873         (eelf64alpha.c): New target.
4874
4875 Fri Jun 21 12:45:46 1996  Ian Lance Taylor  <ian@cygnus.com>
4876
4877         * ldmisc.c (vfinfo): Correct handling of 0 in %W case.
4878
4879 Thu Jun 20 13:55:28 1996  Ian Lance Taylor  <ian@cygnus.com>
4880
4881         Add enough support to understand the gcc svr3.ifile script:
4882         * ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context.  Add
4883         BIND keyword.
4884         * ldgram.y: Add BIND token.
4885         (section): Recognize GROUP.
4886         (opt_ext_with_type): Recognize a couple of cases of BIND.
4887         * ldlang.c (init_os): Don't do anything if section is already
4888         initialized.  Call exp_init_os on addr_tree field.
4889         (exp_init_os): New static function.
4890         (map_input_to_output_sections): Call exp_init_os on assignment
4891         expression.
4892         (lang_place_orphans): Check for common sections by name COMMON
4893         rather than by common_section field.  Don't warn about absence of
4894         [COMMON] command.
4895
4896         * ldlang.h (lang_input_statement_type): Remove useless fields
4897         common_section, common_output_section, and complained, as well as
4898         all references to them.
4899
4900         * ldexp.c: Reindent a lot of code.
4901         (exp_fold_tree): Call FAIL rather than einfo in default case.
4902
4903 Wed Jun 19 11:40:14 1996  Ian Lance Taylor  <ian@cygnus.com>
4904
4905         * configure.host (m88*-*-dgux*): Quote HOSTING_CRT0.  From
4906         <randall.hron@medaphis.com>.
4907
4908 Tue Jun 18 15:53:09 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
4909
4910         * scripttempl/h8300s.sc: New file for H8/S.
4911         * emulpararms/h8300s.sh: New file for H8/S.
4912         * Makefile.in (ALL_EMULATIONS): Add H8/S.
4913         (e_h8300s.c): Add dependencies.
4914         * configure.tgt: Add H8/S to targ_extra_emuls.
4915
4916 Tue Jun 18 17:55:39 1996  Ian Lance Taylor  <ian@cygnus.com>
4917
4918         * configure.tgt (i[345]86*-*-isc*): New target.  From
4919         <uddeborg@carmen.se>.
4920
4921 Wed Jun 12 12:46:21 1996  Ian Lance Taylor  <ian@cygnus.com>
4922
4923         * lexsup.c: Include "libiberty.h".
4924         (parse_args): Copy the -Y argument into memory.
4925         (set_default_dirlist): Don't put the ':' back into the directory
4926         list.
4927
4928 Fri Jun  7 11:27:42 1996  Ian Lance Taylor  <ian@cygnus.com>
4929
4930         * emultempl/sunos.em: Include libiberty.h.
4931         (gld${EMULATION_NAME}_set_symbols): New static function to add
4932         LD_LIBRARY_PATH to the list of search directories.
4933         (ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
4934
4935 Thu Jun  6 11:50:31 1996  Ian Lance Taylor  <ian@cygnus.com>
4936
4937         * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
4938         rather than . when computing _gp value.  From Per Fogelstrom.
4939         * emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
4940
4941         * ldmain.c (main): Don't close and unlink the file on error, since
4942         remove_output will do it anyhow.
4943         * ldlang.c (open_output): Set boolean variable to true, not 1.
4944
4945 Wed Jun  5 18:34:14 1996  James G. Smith  <jsmith@cygnus.co.uk>
4946
4947         * emulparams/{elf32b4300.sh,elf32l4300.sh} (SCRIPT_NAME): Use
4948         elfmips instead of elf.
4949
4950 Tue Jun  4 18:43:07 1996  Ian Lance Taylor  <ian@cygnus.com>
4951
4952         * ldcref.c: New file.
4953         * ld.h (add_cref, output_cref): Declare.
4954         * ldmain.c (main): Initialize notice_all field.  If it is set at
4955         end of link, call output_cref.
4956         (notice): Rename from notice_ysym.  Check notice_all.
4957         * ldmisc.c (finfo): Make globally visible.
4958         * ldmisc.h (finfo): Declare.
4959         * lexsup.c (OPTION_CREF): Define.
4960         (ld_options): Add "cref".
4961         (parse_args): Handle OPTION_CREF.
4962         * Makefile.in: Rebuild dependencies.
4963         (CFILES): Add ldcref.c.
4964         (OFILES): Add ldcref.o.
4965         * ld.texinfo, ld.1: Document --cref.
4966
4967 Tue Jun  4 12:12:25 1996  Tom Tromey  <tromey@csk3.cygnus.com>
4968
4969         * Makefile.in (install): Make $(tooldir) and $(tooldir)/bin.
4970
4971 Fri May 31 12:40:55 1996  Ian Lance Taylor  <ian@cygnus.com>
4972
4973         * emultempl/pe.em (sort_sections): Don't assume that a
4974         wild_statement has a section name.
4975
4976 Wed May 29 13:13:35 1996  Ian Lance Taylor  <ian@cygnus.com>
4977
4978         * scripttempl/elfmips.sc: Quote test -z argument.
4979
4980         * ld.texinfo: Clarify the CONSTRUCTORS command.
4981
4982 Thu May 23 16:07:44 1996  Ian Lance Taylor  <ian@cygnus.com>
4983
4984         * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
4985         file, not impfile.
4986
4987 Wed May 22 11:31:30 1996  Doug Evans  <dje@seba.cygnus.com>
4988
4989         * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
4990         if final link.
4991         * emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
4992         (sort_by_section_name, sort_sections_1): New functions.
4993         (sort_sections): Only sort by file name sections in .idata.
4994         Add "Grouped Sections" support.
4995         (gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
4996         Sections.
4997         (gld${EMULATION_NAME}_place_section): Delete.
4998         * scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
4999         (.CRT,.rsrc): Rewrite to use Grouped Section support.
5000
5001 Tue May 21 14:31:48 1996  Stan Shebs  <shebs@andros.cygnus.com>
5002
5003         * mpw-eppcmac.c: Update to reflect changes to aix.em.
5004
5005 Sun May 19 16:59:44 1996  Doug Evans  <dje@seba.cygnus.com>
5006
5007         * ldlang.c (dprint_statement): Stop printing at end of list.
5008
5009 Sat May 18 13:12:05 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5010
5011         Support for --force-exe-suffix
5012         * ld.h (args_type): Add force_exe_suffix.
5013         * ld.texinfo: Add documentation.
5014         * ldmain.c (main):  Add support for option.
5015         * lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
5016         (ld_options, parse_args):  Add support for option.
5017
5018 Wed May 15 12:50:25 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
5019
5020         * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call.
5021
5022 Fri May 10 16:28:44 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5023
5024         * scripttempl/elfppc.sc (__stack): Make __stack 0 if it was
5025         referenced but not defined.
5026
5027 Thu May  9 08:52:23 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
5028
5029         * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
5030         Set a new variable to signify if the final target is an embedded
5031         system.
5032         * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
5033         .text for an embedded system.
5034
5035 Tue May  7 10:56:11 1996  Doug Evans  <dje@canuck.cygnus.com>
5036
5037         * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
5038         (gld${EMULATION_NAME}_place_section): New function.
5039         (hold_{section,use,text,rdata,data}): New static locals.
5040         (ld_${EMULATION_NAME}_emulation): Update orphan field.
5041         * scripttempl/pe.sc: Whitespace cleanup.  Semicolon usage cleanup.
5042         (INIT,FINI): Delete, unused.
5043         (.text): Document orphan .text.foo sections.
5044         (.rdata): Document orphan .rdata.foo sections.
5045         (.data): Document orphan .data.foo sections.
5046
5047 Tue May  7 11:35:46 1996  Jeffrey A Law  (law@cygnus.com)
5048
5049         * scripttempl/h8300.sc: Place ".tiny" sections right
5050         after ".data" sections.
5051         * scripttempl/h8300h.sc: Place ".tiny" sections into
5052         the "tiny" memory region, 0xff8000 through 0xffff00.
5053
5054         * scripttempl/h8300.sc: Set the entry point to the value of
5055         "_start" rather than the start of the text segment.
5056         * scripttempl/h8300h.sc: Likewise.
5057
5058         * scripttempl/h8300.sc: Place .rodata sections before .text
5059         sections in main ram.
5060         * scripttempl/h8300h.sc: Likewise.
5061
5062 Mon May  6 23:32:30 1996  Jeffrey A Law  (law@cygnus.com)
5063
5064         * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
5065         8-bit region and 8-bit sections.
5066
5067 Wed May  1 17:50:06 1996  Doug Evans  <dje@canuck.cygnus.com>
5068
5069         * ldlang.c (section_already_linked): Fix typos.
5070
5071 Mon Apr 29 20:31:06 1996  Doug Evans  <dje@canuck.cygnus.com>
5072
5073         * scripttempl/pe.sc (.endjunk): Define __end__.
5074
5075 Mon Apr 29 17:05:13 1996  Ian Lance Taylor  <ian@cygnus.com>
5076
5077         * ldlang.c (longest_section_name): Remove.
5078         (SECTION_NAME_MAP_LENGTH): Define.
5079         (print_size, print_alignment, print_fill, print_section): Remove.
5080         (print_flags): Remove.
5081         (lang_map): Rewrite.
5082         (print_output_section_statement): Rewrite.
5083         (print_assignment): Rewrite.
5084         (print_one_symbol): Rewrite.
5085         (print_input_section): Rewrite.
5086         (print_fill_statement): Rewrite.
5087         (print_data_statement): Rewrite.
5088         (print_address_statement): New static function.
5089         (print_reloc_statement): Rewrite.
5090         (print_padding_statement): Rewrite.
5091         (print_wild_statement): Rewrite.
5092         (print_statement_list): Clean up.
5093         (print_statement): Clean up.  Some minor output changes.
5094         (print_statements): Clean up.
5095         (load_symbols): Put another - before -whole-archive.
5096         * ldexp.c (exp_print_tree): Change etree_value and etree_rel to
5097         print 0x and to omit leading zeroes.  For etree_rel, use %B to
5098         print the BFD.  For etree_assign, remove the space after the
5099         destination name.
5100         * ldwrite.c: Include "libiberty.h".
5101         (clone_section): Call xstrdup, not strdup.
5102         (ldwrite): Don't print any map information.
5103         (print_symbol_table, print_file_stuff, print_symbol): Remove.
5104         * ldmain.c (main): Call lang_map when appropriate.
5105         * ldmisc.c (vfinfo): Add support for %W.
5106         (print_address): Remove.
5107         * ldmisc.h (print_address): Don't declare.
5108         * Makefile.in: Rebuild dependencies.
5109
5110 Mon Apr 29 10:29:07 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5111
5112         * configure.host (m68*-*-linux*): Add -dynamic-linker to
5113         HOSTING_CRT0.  Search -lgcc both before and after -lc in
5114         HOSTING_LIBS.  Look for crt{begin,end}.o in the compiler directory
5115         at first.
5116         (i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
5117         directory at first.
5118
5119 Fri Apr 26 14:42:27 1996  Ian Lance Taylor  <ian@cygnus.com>
5120
5121         * ldmisc.h (demangle): Declare.
5122         * ldmisc.c: Include "libiberty.h".  Include demangle.h with "",
5123         not <>.
5124         (demangle): Make non-static.  Remove remove_underscore paramter.
5125         Always return an allocated string.
5126         (vfinfo): Free result of demangle.  Add case 'G'.  Use %T to print
5127         functionname, rather than calling demangle.  Print a colon between
5128         the BFD(section+offset) and the line number.
5129         * ldmain.c (add_archive_element): Improve format of archive
5130         information in map file.
5131         (constructor_callback): Don't print anything to the map file.
5132         * ldlang.c (lang_one_common): Improve format of common symbol
5133         information in map file.
5134         * ldctor.c (ldctor_build_sets): If producing a map file, print set
5135         information.
5136         * ldwrite.c (print_symbol_table): Print a newline before the
5137         header in the map file.
5138         * Makefile.in: Rebuild dependencies.
5139
5140         * ldmisc.c (vfinfo): Reindent.
5141
5142 Mon Apr 22 12:07:32 1996  Ian Lance Taylor  <ian@cygnus.com>
5143
5144         * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
5145         don't clobber it when not relaxing.
5146
5147         * ld.h (ld_config_type): Remove traditional_format field.
5148         * ldmain.c (main): Use link_info.traditional_format rather than
5149         config.traditional_format.
5150         * ldlang.c (ldlang_open_output): Likewise.
5151         * lexsup.c (parse_args): Likewise.
5152         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
5153         * mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
5154
5155         * ldlang.c (wild_doit): Discard debugging sections if we are
5156         stripping debugging information.
5157
5158         * emulparams/z8002.sh (ARCH): Set to z8002, not z8k.
5159
5160 Tue Apr 16 16:38:32 1996  Ian Lance Taylor  <ian@cygnus.com>
5161
5162         * ldexp.c (fold_binary): Correct handling of subtraction with
5163         absolute values.
5164         (fold_name): Permit symbols in lang_allocating_phase_enum.
5165
5166         * scripttempl/aout.sc: Only PROVIDE __stack when RELOCATING.  Undo
5167         accidental changes in last patch.
5168
5169 Tue Apr 16 10:25:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5170
5171         * configure.tgt (powerpc*-*-{sysv,linux}): Add aliases.
5172         (powerpcle*-*-{sysv,solaris}): Ditto.
5173
5174 Mon Apr 15 14:50:56 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
5175
5176         * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
5177         in m68k/crt0.S without things blowing up.
5178
5179 Fri Apr 12 16:40:56 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
5180
5181         * scripttempl/m68kcoff.sc: Remove default address for .data so
5182         .text, .data, and .bss are all sequential.
5183
5184 Thu Apr 11 12:05:35 1996  Ian Lance Taylor  <ian@cygnus.com>
5185
5186         * scripttempl/m68kcoff.sc: Remove regions and simplify.
5187
5188 Wed Apr 10 14:41:53 1996  Jeffrey A Law  (law@cygnus.com)
5189
5190         * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
5191         bytes of the address space.  Put data from the ".eight" sections
5192         into the 8-bit area.
5193         * scripttempl/h8300h.sc: Likewise.
5194
5195 Tue Apr  9 14:10:42 1996  Doug Evans  <dje@canuck.cygnus.com>
5196
5197         * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
5198         Pass $ARCH to ldfile_set_output_arch instead of setting
5199         ldfile_output_architecture directly.
5200
5201 Tue Apr  9 14:22:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5202
5203         * scripttempl/elfppc.sc (.init,.fini): Put .init, .fini section
5204         next to .text.  Put _etext after .text, .init, .fini, and
5205         .rodata{,2} sections.
5206
5207 Tue Apr  9 12:18:57 1996  Ian Lance Taylor  <ian@cygnus.com>
5208
5209         * ld.texinfo: Rearrange option documentation.
5210
5211         * lexsup.c (ld_options): New static array.
5212         (parse_args): Build shortopts and longopts from ld_options array.
5213         (help): New static function.
5214         * ldver.h (help): Don't declare.
5215         * ldver.c (ldversion): Reindent.
5216         (help): Remove.
5217
5218         * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic.
5219
5220 Mon Apr  8 11:56:23 1996  Ian Lance Taylor  <ian@cygnus.com>
5221
5222         * emultempl/elf32.em: When checking for a native emulation, check
5223         that the current emulation is the default emulation.
5224         * emultempl/sunos.em: Likewise.
5225
5226         * configure.in: Permit --enable-shared to specify a list of
5227         directories.
5228         * configure: Rebuild.
5229
5230         * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
5231         for HP/UX compatibility.
5232
5233 Fri Apr  5 14:30:14 1996  Ian Lance Taylor  <ian@cygnus.com>
5234
5235         * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
5236         static function, if ${host} = ${target}.
5237         (gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
5238         needed shared library if ${host} = $[target}.
5239
5240         * configure.host (i[345]86-*-linux*): Add -dynamic-linker to
5241         HOSTING_CRT0.  Search -lgcc both before and after -lc in
5242         HOSTING_LIBS.
5243
5244         * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
5245         Polstra <jdp@polstra.com>.
5246
5247 Fri Apr  5 18:11:25 1996  James G. Smith  <jsmith@cygnus.co.uk>
5248
5249         * emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
5250         architecture number.
5251         * scripttempl/elf.sc: Use $MACHINE definition if present.
5252         * configure.tgt (targ_extra_emuls): Force 4100 build to use same
5253         template as 4300.
5254
5255 Mon Apr  1 17:35:40 1996  Ian Lance Taylor  <ian@cygnus.com>
5256
5257         * ldlang.c (lang_size_sections): Change region check to handle
5258         regions which end at the highest possible address correctly.
5259         From Roland Weber <roweber@ira.uka.de>.
5260
5261         * ldlang.c (section_already_linked): New static function.
5262         (wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
5263         relocateable link.  Don't worry about section being NULL, since it
5264         never should be.  Don't call init_os unless the section is going
5265         to be added.
5266         (ldlang_add_file): Call section_already_linked for each section.
5267         * ldmain.c (multiple_definition): Don't warn about multiple
5268         definitions in sections which are being discarded.
5269
5270 Sun Mar 31 00:30:47 1996  steve chamberlain  <sac@slash.cygnus.com>
5271
5272         * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
5273         * emultempl/pe.em (init): Remove special case PPC code.
5274
5275 Fri Mar 29 00:01:29 1996  Jeffrey A Law  (law@cygnus.com)
5276
5277         * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
5278         so as not to overwrite the magic syscall entry at 0xc4.
5279         * scripttempl/h8300h.sc: Likewise.
5280
5281 Thu Mar 28 11:05:47 1996  Doug Evans  <dje@canuck.cygnus.com>
5282
5283         * configure.tgt (sparc64-*-solaris2*): Delete.
5284         Stick with sparc-*-solaris2*.
5285
5286 Wed Mar 27 12:33:24 1996  Ian Lance Taylor  <ian@cygnus.com>
5287
5288         * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
5289         * ldlang.c (init_os): Fail on an attempt to initialize any section
5290         named DISCARD_SECTION_NAME.
5291         (wild_doit): Discard input sections assigned to an output section
5292         named DISCARD_SECTION_NAME.
5293         * ld.texinfo: Document use of /DISCARD/.
5294
5295         * ldlang.c: Fix some indentation and comments.
5296
5297 Tue Mar 26 18:14:49 1996  Ian Lance Taylor  <ian@cygnus.com>
5298
5299         * ldmain.c (main): Call bfd_set_error_program_name.
5300
5301 Thu Mar 21 13:17:34 1996  Ian Lance Taylor  <ian@cygnus.com>
5302
5303         * ld.texinfo: Fix a couple of indexing entries.  Mention that
5304         --verbose displays builtin linker scripts.
5305
5306         * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
5307         and the local symbol name does not match the filename, print the
5308         filename as well.
5309
5310         Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
5311         * lexsup.c (parse_args): -Bshareable is a synonym for -shared.
5312         * emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
5313         as TEXT_START_ADDR.
5314
5315 Wed Mar 20 18:18:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5316
5317         * ld.texinfo: Fix typos.  Use @pxref only inside parentheses.
5318
5319 Wed Mar 20 16:56:15 1996  Ian Lance Taylor  <ian@cygnus.com>
5320
5321         * ldmain.c (add_wrap): New function.
5322         * ldmain.h (add_wrap): Declare.
5323         * lexsup.c (parse_args): Call add_wrap.
5324
5325 Tue Mar 19 16:44:20 1996  Doug Evans  <dje@canuck.cygnus.com>
5326
5327         * configure.host (sparc*-*-solaris2* host): Accept any sparc variant.
5328
5329 Wed Mar 13 17:47:31 1996  Jeffrey A Law  (law@cygnus.com)
5330
5331         * scripttempl/h8300.sc: Change name of page zero memory
5332         from "null" to "vectors".  Create an output section for
5333         vectors.  Add comments on how to explicitly place items
5334         in the vector table.
5335         * scripttempl/h8300h.sc: Likewise.
5336
5337 Wed Mar 13 12:40:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5338
5339         * emultempl/lnk960.em (machine_table): Add jx and hx.
5340
5341         * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
5342         support it.
5343
5344 Tue Mar 12 12:43:59 1996  David Mosberger-Tang  <davidm@koala.azstarnet.com>
5345
5346         * ld.h (ld_config_type): Add warn_multiple_gp field.
5347         * lexsup.c (parse_args): Handle --warn-multiple-gp.
5348         * ldmain.c (warning_callback): Suppress multiple gp values warning
5349         if --warn_multiple_gp was not used.
5350         * ld.texinfo, ld.1: Document --warn-multiple-gp.
5351
5352 Tue Mar 12 12:02:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5353
5354         * lexsup.c (parse_args): Handle --wrap.
5355         * ldmain.c (main): Initialize link_info.wrap_hash.
5356         * ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
5357         and NAME cases.
5358         * ld.texinfo, ld.1: Document --wrap.
5359
5360         * configure: Rebuild with autoconf 2.8.
5361
5362         Don't do SunOS style dynamic linking for sparc-aout:
5363         * configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
5364         (sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
5365         (sparc*-wrs-vxworks*): Likewise.
5366         * emulparams/sparcaout.sh: New file.
5367         * Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
5368         (esparcaout.c): New target.
5369
5370 Wed Mar  6 16:06:52 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
5371
5372         * scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
5373         in a different manner to work around differences in shell variable
5374         expansion.
5375
5376 Wed Mar  6 18:08:18 1996  Ian Lance Taylor  <ian@cygnus.com>
5377
5378         * ldemul.h (ldemul_unrecognized_file): Declare.
5379         (ldemulation_xfer_type): Add unrecognized_file field.
5380         * ldemul.c (ldemul_unrecognized_file): New function.
5381         * ldlang.c (load_symbols): If a file can not be recognized, call
5382         ldemul_unrecognized_file before trying it as a linker script.
5383         * aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
5384         function.
5385         (gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
5386         (ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
5387
5388 Mon Mar  4 14:11:17 1996  Ian Lance Taylor  <ian@cygnus.com>
5389
5390         * ldlang.c (wild): Handle foo.a(.text) by mapping each included
5391         member of foo.a separately.  From Jouke Numan <jnuman@bazis.nl>.
5392
5393 Fri Mar  1 10:24:59 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5394
5395         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
5396         Search trinary.cond rather than searching trinary.lhs twice.
5397
5398 Tue Feb 27 15:08:43 1996  Stan Shebs  <shebs@andros.cygnus.com>
5399
5400         * mpw-make.sed: Edit out shared library support.
5401         (@TDIRS@): Edit out, can't use genscripts.
5402
5403 Tue Feb 27 15:09:21 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5404
5405         * configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
5406         * emulparams/m68klinux.sh: New file.
5407         * emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
5408         Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
5409         bfd_linux_size_dynamic_sections.
5410         * Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
5411         (em68klinux.c): New target.
5412         * configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.
5413
5414 Tue Feb 27 12:55:46 1996  Ian Lance Taylor  <ian@cygnus.com>
5415
5416         * Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
5417         Fill in missing entries.
5418
5419         * lexsup.c (parse_args): Recognize --no-whole-archive.
5420         * ldlang.h (lang_input_statement_type): Add whole_archive field.
5421         * ldlang.c (new_afile): Set whole_archive field.
5422         (load_symbols): Check input file specific whole_archive field
5423         rather than global variable.
5424         * ld.texinfo, ld.1: Document --no-whole-archive.
5425
5426 Tue Feb 20 16:07:00 1996  Ian Lance Taylor  <ian@cygnus.com>
5427
5428         * configure.tgt: Correct gldi960 to gld960.
5429
5430 Mon Feb 19 11:16:44 1996  Ian Lance Taylor  <ian@cygnus.com>
5431
5432         * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
5433         the SONAME if it is available.
5434         (gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
5435         filename, when checking for conflicting library versions.  Don't
5436         assume that the suffix is only numbers and dots.
5437
5438         * ld.texinfo: Mention that -R can be used for -rpath.
5439
5440 Sun Feb 18 15:05:17 1996  Ian Lance Taylor  <ian@cygnus.com>
5441
5442         * configure.host: Check for 'do not mix' from native linker before
5443         trying to use -rpath.
5444
5445 Thu Feb 15 13:58:06 1996  Ian Lance Taylor  <ian@cygnus.com>
5446
5447         * configure.in: Remove explicit substitution of CFLAGS; autoconf
5448         does it anyhow.
5449         * configure: Rebuild.
5450         * Makefile.in (LDFLAGS): Set to @LDFLAGS@.
5451
5452         * configure.in: Call AC_PROG_CC before configure.host.
5453         * configure: Rebuild.
5454         * configure.host: Remove go32 host, since it should no longer be
5455         necessary.  Don't set CC for romp host.
5456
5457         * scripttempl/elf.sc: Don't skip a page in virtual memory space if
5458         the text segment ends exactly on a page boundary.
5459
5460         * configure.in: Substitute RPATH_ENVVAR.
5461         * configure: Rebuild.
5462         * configure.host: Set RPATH_ENVVAR.
5463         * Makefile.in (RPATH_ENVVAR): New variable.
5464         (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
5465
5466 Wed Feb 14 18:49:01 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>
5467
5468         * configure.in: Redo emulation handling so that each emulation
5469         searches the correct tool directory, based on the target alias.
5470         For example, "configure --enable-targets=m68k-coff i386-linux"
5471         will search /usr/local/i386-linux/lib for linux and
5472         /usr/local/m68k-coff/lib for m68k-coff.
5473         * configure: Rebuild.
5474         * configure.tgt: Add special tdir settings for Linux.
5475         * Makefile.in: Add @TDIRS@.  Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
5476         for each eEMUL.c target.
5477         * genscripts.sh: Accept specific alias as 9th argument, and use it
5478         in LIB_PATH.
5479
5480 Wed Feb 14 16:38:36 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
5481
5482         * ldlang.c (lang_set_startof): Don't do anything for a
5483         relocateable link.
5484
5485         * ldgram.y (mri_script_file): Call mri_draw_tree.
5486         * mri.c (mri_draw_tree): Make globally visible.  Don't bother to
5487         create memory regions.
5488         (mri_load): Don't call mri_draw_tree.
5489         * mri.h (mri_draw_tree): Declare.
5490
5491         * configure.tgt (m68*-*-psos): New target.
5492         * emulparams/m68kpsos.sh: New file.
5493         * scripttempl/psos.sc: New file.
5494         * Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
5495         (em68kpsos.c): New target.
5496
5497 Wed Feb 14 11:09:25 1996  Ian Lance Taylor  <ian@cygnus.com>
5498
5499         * configure.tgt (*-*-ieee*): New target; use vanilla.
5500
5501         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
5502         `:foo' from ${ARCH}.
5503
5504 Tue Feb 13 15:58:58 1996  Bryan Ford  <baford@snake.cs.utah.edu>
5505
5506         * scripttempl/i386msdos.sc: Don't pad the .text section.  Put
5507         .rodata in .data.
5508
5509 Tue Feb 13 14:04:19 1996  Ian Lance Taylor  <ian@cygnus.com>
5510
5511         * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
5512
5513         * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
5514         it looks like we might be linking in two different versions of the
5515         same shared library.  Based on a patch from H J Lu <hjl@zoom.com>.
5516
5517 Thu Feb  8 19:25:54 1996  Ian Lance Taylor  <ian@cygnus.com>
5518
5519         * ldlang.c (lang_size_sections): Increment the section size when a
5520         padding statement is encountered.
5521
5522 Wed Feb  7 14:01:33 1996  Ian Lance Taylor  <ian@cygnus.com>
5523
5524         * configure.in: Look for --enable-shared.  Change the value of
5525         BFDLIB when linking against a shared library on SunOS.
5526         * configure: Rebuild.
5527         * configure.host: If using a shared BFD library, try to pass a
5528         reasonable -rpath option when linking.
5529         * Makefile.in (BFDLIB): Set to @BFDLIB@.
5530
5531 Tue Feb  6 12:29:14 1996  Doug Evans  <dje@charmed.cygnus.com>
5532
5533         * emulparams/elf64_sparc.sh (ARCH): Change to `sparc:v9'.
5534         * emultempl/generic.em: Strip `:foo' from ${ARCH}.
5535
5536 Mon Feb  5 16:25:30 1996  Ian Lance Taylor  <ian@cygnus.com>
5537
5538         Support for building bfd and opcodes as shared libraries, based on
5539         patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
5540         * configure.in (HLDFLAGS): New substitution.
5541         * configure: Rebuild.
5542         * configure.host: Set HLDFLAGS on SunOS.
5543         * Makefile.in (HLDFLAGS): New variable.
5544         (BFDDEP): New variable.
5545         (BFDLIB): Change to -L../bfd -lbfd.
5546         ($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB).  Use
5547         $(HLDFLAGS) in link.
5548         (check): Set LD_LIBRARY_PATH in the environment.
5549
5550 Fri Feb  2 19:26:25 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
5551
5552         * scripttempl/elfppc.sc (.sdata2, .sbss2): Put .sdata2 and .sbss
5553         in the read-only section, not read/write unless we are making a
5554         shared library.
5555         (.debug*): Add dwarf debug sections.
5556         (.rela.{sdata*,sbss*}): Add sections.
5557
5558 Fri Feb  2 16:50:21 1996  Ian Lance Taylor  <ian@cygnus.com>
5559
5560         * configure: Regenerate.
5561
5562 Thu Feb  1 10:50:46 1996  Ian Lance Taylor  <ian@cygnus.com>
5563
5564         * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
5565         for SVR4 compatibility.
5566
5567         * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
5568
5569 Wed Jan 31 17:30:19 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5570
5571         * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
5572         * emultempl/pe.em (definfo init): Make the default stack reserve
5573         of a PPC larger.
5574
5575 Wed Jan 31 14:34:23 1996  Richard Henderson  <rth@tamu.edu>
5576
5577         * configure.tgt (m68*-apple-aux*): New target.
5578         * emulparams/m68kaux.sh: New file.
5579         * scripttempl/m68kaux.sc: New file.
5580         * Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
5581         (em68kaux.c): New target.
5582
5583 Tue Jan 30 13:18:56 1996  Ian Lance Taylor  <ian@cygnus.com>
5584
5585         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
5586         -bnoentry, since the right thing tends to happen anyhow.
5587
5588 Mon Jan 29 12:29:26 1996  Ian Lance Taylor  <ian@cygnus.com>
5589
5590         * ld.texinfo, ld.1: Document -export-dynamic.
5591
5592 Fri Jan 26 11:11:55 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5593
5594         * emultempl/sunos.em: Check for native compile by comparing
5595         ${target} and ${host}.
5596
5597 Thu Jan 25 16:46:58 1996  James G. Smith  <jsmith@cygnus.co.uk>
5598
5599         * emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
5600         TEXT_START_ADDR to allow use on IDT and PMON systems.
5601
5602 Wed Jan 24 20:59:40 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5603
5604         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
5605         correct spelling.
5606
5607 Wed Jan 24 16:59:19 1996  Doug Evans  <dje@charmed.cygnus.com>
5608
5609         * configure.tgt (sparc64-*-solaris2*): New configuration.
5610         (sparc64-*-aout*): Renamed from sparc64*.
5611
5612 Mon Jan 22 13:01:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5613
5614         * Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
5615         * genscripts.sh: Set host, target and target_alias variables.
5616         Check for native compile by comparing ${target} and ${host}.
5617         * emultempl/elf32.em: Likewise.
5618         * scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
5619
5620 Mon Jan 22 11:03:23 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5621
5622         * scripttempl/elfppc.sc: Refine eabi support to better support
5623         .sdata, .sdata2, .sbss, etc. sections.
5624
5625 Tue Jan 16 15:16:58 1996  Ian Lance Taylor  <ian@cygnus.com>
5626
5627         * ldgram.y (%union): Add phdr field.
5628         (phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
5629         (phdr_qualifiers): New nonterminal.  Add support for FLAGS.
5630         (opt_hdrs, hdr): Remove.
5631         (phdr_val): New nonterminal.
5632         * ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
5633         and phdrs parameters.  Add flags parameter.
5634         (lang_record_phdrs): Update for changes to lang_phdr.  Pass flags
5635         to bfd_record_phdr.
5636         * ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
5637         phdrs fields.  Add flags field.
5638         (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
5639         (lang_new_phdr): Update declaration.
5640         * ld.texinfo: Document FLAGS.
5641
5642 Mon Jan 15 15:07:19 1996  Ian Lance Taylor  <ian@cygnus.com>
5643
5644         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
5645         Don't make a shared library because of an undefined reference to
5646         __GLOBAL_OFFSET_TABLE_.
5647
5648         Add some Irix 5 support, mostly from Kazumoto Kojima
5649         <kkojima@info.kanagawa-u.ac.jp>:
5650         * emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
5651         (SHLIB_TEXT_START_ADDR): Define.
5652         (OTHER_GOT_SYMBOLS): Define.
5653         (OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
5654         (EXECUTABLE_SYMBOLS): Don't define.
5655         (DYNAMIC_LINK): Don't define.
5656         * emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
5657         * scripttempl/elfmips.sc: New file.
5658         * configure.host (mips*-dec-bsd*): Change mips to mips*.
5659         (mips*-sgi-irix4*): Likewise.
5660         (mips*-sgi-irix5*): New entry.
5661         * Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
5662         elf.sc.
5663         (eelf32lmip.c): Likewise.
5664
5665 Sat Jan 13 09:41:43 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5666
5667         * scripttempl/elfppc.sc: Remove support for .rel.* sections.  Add
5668         .rela.got.neg section.
5669
5670 Fri Jan 12 14:56:19 1996  Ian Lance Taylor  <ian@cygnus.com>
5671
5672         * scripttempl/sh.sc: Only build constructors when CONSTRUCTING.
5673
5674         * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
5675         ANSI_PROTOTYPES is defined.  Remove special handling of
5676         WINDOWS_NT.  Various indendation fixes.
5677         (vfinfo): Change fmt parameter to const char *.
5678         (info_msg): Write <stdarg.h> version.
5679         (einfo, minfo, finfo): Likewise.
5680         (info_assert): Change file parameter to const char *.
5681         * ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
5682         defined, use a real prototype.
5683         (info_assert): Change first parameter to be const char *.
5684
5685 Fri Jan 12 13:29:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5686
5687         * scripttempl/elfppc.sc: Add support for .sdata2/.sbss2, etc.  Add
5688         in old support that 2.7.2 needs, but the current compiler does
5689         not.
5690
5691         * Makefile.in (eelf32{,l}ppc.c): Fix up dependencies to use the
5692         correct Linker script template.
5693
5694         * emulparams/elf32{,l}ppc.sh (TEXT_START_ADDR): Set to 0x40000,
5695         not 0x400000.
5696         (DATA_ADDR,NONPAGED_TEXT_START_ADDR): Delete.
5697
5698 Tue Jan  9 15:53:02 1996  Ian Lance Taylor  <ian@cygnus.com>
5699
5700         * scripttempl/alpha.sc: Put .rconst right after .rdata.
5701
5702 Fri Jan  5 14:07:45 1996  Steve Chamberlain  <sac@slash.cygnus.com>
5703
5704         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
5705         sort using right pointer.
5706
5707 Fri Jan  5 12:25:47 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
5708
5709         * scripttempl/elfppc.sc: Remove support for creating special
5710         labels for eabi section begin/end here.  The compiler now uses
5711         crt{i,n}.o to create these symbols.
5712
5713 Thu Jan  4 17:08:58 1996  Ian Lance Taylor  <ian@cygnus.com>
5714
5715         * configure.host: Change existing Linux HOSTING_CRT0 to be used
5716         for a.out only, and put in appropriate HOSTING_CRT0 and
5717         HOSTING_LIBS values for Linux ELF.
5718
5719 Thu Jan  4 12:02:05 1996  Doug Evans  <dje@canuck.cygnus.com>
5720
5721         * scripttempl/h8300.sc: Use all 64K for ram.
5722         * scripttempl/h8300h.sc: Define 256K ram size.
5723
5724 Thu Dec 21 15:57:18 1995  Ian Lance Taylor  <ian@cygnus.com>
5725
5726         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Pass
5727         export_defines as true to bfd_xcoff_size_dynamic_sections if -unix
5728         was used, regardless of whether -bE was used.
5729
5730 Tue Dec 19 17:35:38 1995  Ian Lance Taylor  <ian@cygnus.com>
5731
5732         * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
5733         relocateable before calling ldctor_build_sets if the output file
5734         is in an XCOFF format.
5735
5736 Fri Dec 15 16:34:36 1995  Ian Lance Taylor  <ian@cygnus.com>
5737
5738         * ldwrite.c (build_link_order): When handling a data statement, if
5739         the endianness of the output file is unknown, use the endianness
5740         of the input file.
5741
5742 Tue Dec 12 13:55:41 1995  Stan Shebs  <shebs@andros.cygnus.com>
5743
5744         * mpw-config.in: Recognize mips-*-* as equivalent to
5745         mips-idt-ecoff.
5746         * mpw-eppcmacos.c: Rename to shorter mpw-eppcmac.c.
5747         * mpw-ld.r: Add version resources.
5748         (cfrg): Use symbolic instead of literal name for executable.
5749
5750 Mon Dec 11 15:13:41 1995  Kim Knuttila  <krk@cygnus.com>
5751
5752         * scripttempl/ppcpe.sc (FINI): Moved the .reloc section.
5753
5754 Wed Dec  6 14:33:50 1995  Doug Evans  <dje@canuck.cygnus.com>
5755
5756         * ldlang.c (print_statement{,s}): Delete duplicate prototype.
5757         (print_statement_list): Renamed from print_statement.  All callers
5758         updated.
5759         (print_statement): New function to print just one statement.
5760         (print_{data,reloc,padding}_statement): Don't crash if
5761         output_section == NULL.
5762         (dprint_statement): New function.
5763
5764         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
5765         call to sort_sections.
5766
5767 Wed Dec  6 14:59:06 1995  Ian Lance Taylor  <ian@cygnus.com>
5768
5769         * emultempl/aix.em (unix_ld): New static variable.
5770         (gld${EMULATION_NAME}_parse_args): Handle -unix.
5771         (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
5772         gc as false and export_defineds as true to size_dynamic_sections.
5773
5774         * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
5775         phase if the current section is abs_output_section.
5776
5777
5778 Tue Dec  5 09:49:39 1995  Doug Evans  <dje@canuck.cygnus.com>
5779
5780         * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix call
5781         to sort_sections.
5782
5783 Fri Dec  1 16:48:36 1995  Ian Lance Taylor  <ian@cygnus.com>
5784
5785         * ldgram.y (PHDRS): New token.
5786         (ifile_p1): Accept phdrs.
5787         (section): Accept phdr_opt at the end of the section definition.
5788         (phdr_op): New nonterminal.
5789         (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
5790         * ldlex.l: Accept PHDRS.
5791         * ldlang.h (struct lang_output_section_phdr_list): Define.
5792         (lang_output_section_statement_type): Add phdrs field.
5793         (struct lang_phdr): Define.
5794         (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
5795         (lang_new_phdr): Declare.
5796         * ldlang.c (lang_phdr_list): New static variable.
5797         (lang_output_section_statement_lookup): Initialize phdrs field.
5798         (lang_process): Call lang_record_phdrs.
5799         (lang_new_phdr): New function.
5800         (lang_section_in_phdr): New function.
5801         (lang_record_phdrs): New static function.
5802         * ld.texinfo: Document PHDRS.
5803
5804 Thu Nov 30 13:14:30 1995  Kim Knuttila  <krk@cygnus.com>
5805
5806         * scripttempl/ppcpe.sc: Moved .edata into its own section to
5807         expose it.
5808
5809 Thu Nov 30 11:32:34 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
5810
5811         * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
5812         HOSTING_LIBS for testing.
5813         (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
5814         testing.
5815
5816 Tue Nov 28 12:14:53 1995  Ian Lance Taylor  <ian@cygnus.com>
5817
5818         * lexsup.c (parse_args): Set config.dynamic_link to false for -N
5819         and -n.
5820
5821 Mon Nov 27 13:12:09 1995  Ian Lance Taylor  <ian@cygnus.com>
5822
5823         * configure: Rebuild with autoconf 2.7.
5824
5825 Fri Nov 24 18:35:35 1995  Doug Evans  <dje@canuck.cygnus.com>
5826
5827         * scripttempl/pe.sc: Two .junk's is too much junk.
5828
5829 Tue Nov 21 16:14:32 1995  Ian Lance Taylor  <ian@cygnus.com>
5830
5831         * configure.in: Use BFD_NEED_DECLARATION.
5832         * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
5833         * configure, config.in: Rebuild with autoconf 2.6.
5834
5835         * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
5836         being unsupported if this is not a relocateable link and the input
5837         BFD supports it, since ldctor_build_sets can cope with that case.
5838
5839 Fri Nov 17 16:23:15 1995  Stan Shebs  <shebs@andros.cygnus.com>
5840
5841         * configure.tgt (powerpc-*-macos*): New target.
5842         * emulparams/ppcmacos.sh: New file, PowerMac emulation.
5843         * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
5844         (eppcmacos.c): New target.
5845         * mpw-eppcmacos.c: Update.
5846         * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
5847
5848 Fri Nov 17 10:37:27 1995  Ian Lance Taylor  <ian@cygnus.com>
5849
5850         * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
5851         $(host_canonical) and $(target_canonical).
5852         (CXX_FOR_TARGET): Likewise.
5853
5854 Thu Nov 16 11:23:42 1995  Doug Evans  <dje@canuck.cygnus.com>
5855
5856         * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
5857         so the malloc heap begins at a sane place.
5858
5859 Thu Nov 16 03:09:32 1995  Ken Raeburn  <raeburn@cygnus.com>
5860
5861         Version 2.6 released.
5862         * ldver.c (ldversion): Update to 2.6.
5863
5864         * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not
5865         $(GENERATED_*FILES), since they need to be retained by distclean.
5866         (maintainer-clean, realclean): Delete them here.
5867
5868 Tue Nov 14 17:08:06 1995  Ian Lance Taylor  <ian@cygnus.com>
5869
5870         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the
5871         base file with FOPEN_WB, not "w".
5872
5873         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
5874         environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
5875         were used.
5876         (gld${EMULATION_NAME}_before_allocation): Use the environment
5877         variable LD_RUN_PATH if -rpath was not used.
5878         * ld.texinfo, ld.1: Document LD_RUN_PATH.
5879
5880 Thu Nov  9 13:09:29 1995  Ian Lance Taylor  <ian@cygnus.com>
5881
5882         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize
5883         -bl and -bloadmap options.
5884
5885         * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
5886         report a better error.
5887
5888         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
5889         new local variable special_sections, and pass it to
5890         size_dynamic_sections.  Look through the results, and move the
5891         sections around in the mapping so that they are defined correctly.
5892
5893 Wed Nov  8 11:40:59 1995  Ian Lance Taylor  <ian@cygnus.com>
5894
5895         * ldemul.c (ldemul_default_target): Cast getenv return value.
5896
5897 Tue Nov  7 11:15:36 1995  Kim Knuttila  <krk@cygnus.com>
5898
5899         * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable
5900         Executable support.
5901         * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable
5902         support.
5903
5904         * configure.tgt (targ_extra_emuls): Added powerpcle-pe target.
5905         * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target.
5906
5907         * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro
5908         (gld_$_before_allocation): added hooks for toc construction based
5909         on the above macro.
5910
5911 Tue Nov  7 11:47:23 1995  Ian Lance Taylor  <ian@cygnus.com>
5912
5913         * ld.texinfo: The linker does not use _main as an entry point.
5914
5915 Tue Nov  7 11:46:11 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
5916
5917         * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
5918         0x2000 not 0x200.
5919
5920 Mon Nov  6 10:59:21 1995  Ian Lance Taylor  <ian@cygnus.com>
5921
5922         * configure.in: Add test for whether free must be declared.
5923         * sysdep.h: Declare free if necessary.  Include "ansidecl.h".
5924         * acconfig.h: Explain NEED_DECLARATION_FREE.
5925         * configure, config.in: Rebuild.
5926
5927         * lexsup.c (parse_args): Take B:: out of shortopts.
5928
5929 Sun Nov  5 03:08:28 1995  Ken Raeburn  <raeburn@cygnus.com>
5930
5931         * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0
5932         for now, as with m68k4kbsd, until shared library support gets
5933         done.
5934
5935         * configure.host: For i386 BSD variants, crt0.o lives in
5936         /usr/lib.  (True for NetBSD at least, unconfirmed for others.)
5937
5938 Wed Nov  1 15:42:45 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
5939
5940         * Makefile.in (ALL_EMULATIONS): Add edelta68.o.
5941         (edelta68.c): New target.
5942         * configure.tgt (m68*-motorola-sysv*): New target.
5943         * emulparams/delta68.sh: New file.
5944         * scripttempl/delta68.sc: New file.
5945
5946         * scripttempl/m88kbcs.sc: Handle .init and .fini.  Change section
5947         addresses.
5948
5949 Wed Nov  1 11:41:56 1995  Ian Lance Taylor  <ian@cygnus.com>
5950
5951         * ldgram.y (mri_script_command): Accept ',' as well as '=' in
5952         ALIGN and ALIGNMOD statements.
5953
5954         * emultempl/aix.em: Include ldgram.h.
5955         (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
5956         AIX 4.1.
5957         * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
5958
5959 Tue Oct 31 18:22:24 1995  David Mosberger-Tang  <davidm@azstarnet.com>
5960
5961         * configure.host (alpha-*-linux*): New host.
5962         * configure.tgt (alpha-*-linux*): New target.
5963
5964 Tue Oct 31 12:36:52 1995  Ian Lance Taylor  <ian@cygnus.com>
5965
5966         * emultempl/aix.em (export_files): Remove.
5967         (import_files): Make static.
5968         (struct export_symbol_list): Define.
5969         (export_symbols): New static variable.
5970         (gld${EMULATION_NAME}_parse_args): Handle an initial -b option
5971         correctly.  Call read_file for an export file.
5972         (gld${EMULATION_NAME}_before_allocation): Call
5973         bfd_xcoff_export_symbol for each export symbol, rather than
5974         calling read_file for each export file.
5975         (gld${EMULATION_NAME}_read_file): For an export file, make the
5976         exported symbols undefined, and store them on the export_symbols
5977         list.
5978
5979 Sat Oct 28 00:10:03 1995  steve chamberlain  <sac@slash.cygnus.com>
5980
5981         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
5982         Don't hang if last option is unrecognised.
5983         (gld_${EMULATION_NAME}_set_symbols): Insert created
5984         symbols into ABS output section.
5985
5986 Fri Oct 27 18:03:17 1995  Niklas Hallqvist  <niklas@appli.se>
5987
5988         *  Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
5989         m68k4k arch.
5990         (em68k4knbsd.c): New rule.
5991
5992         * configure.tgt: Added support for the NetBSD m68k4k arch.
5993
5994         * genscripts.sh, ldint.texinfo,
5995         emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
5996         gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
5997         hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
5998         i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
5999         m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
6000         pc532machaout,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
6001         st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
6002         PAGE_SIZE to TARGET_PAGE_SIZE.
6003
6004         * emulparams/m68knbsd.h: Ditto.
6005         (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
6006         (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
6007         being.
6008
6009         * emulparams/m68k4knbsd.sh: New file.
6010
6011         * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
6012
6013 Fri Oct 27 17:59:09 1995  Ian Lance Taylor  <ian@cygnus.com>
6014
6015         * emultempl/aix.em: Include ldctor.h.
6016         (gld${EMULATION_NAME}_after_open): New static function.
6017         (gld${EMULATION_NAME}_before_allocation): Call find_relocs.
6018         (gld${EMULATION_NAME}_find_relocs): New static function.
6019         (gld${EMULATION_NAME}_find_exp_assignment): New static function.
6020         (ld_${EMULATION_NAME}_emulation): Use new after_open function.
6021         * scripttempl/aix.sc: Use CONSTRUCTORS in .data.
6022         * ldctor.c (struct set_info): Move definition into ldctor.h.
6023         (struct set_element): Likewise.
6024         (sets): Make non-static.
6025         (ldctor_add_set_entry): Add name parameter.  Save it in the new
6026         set element.
6027         (ldctor_build_sets): Avoid being called twice.  Pass set element
6028         name to lang_add_reloc.
6029         * ldctor.h (struct set_info): Move definition here from ldctor.c.
6030         (struct set_element): Likewise.  Add new field name.
6031         (sets): Declare.
6032         (ldctor_add_set_entry): Declare new name parameter.
6033         * ldwrite.c (build_link_order): Don't insist that either name or
6034         section be NULL in a lang_reloc_statement.
6035         * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
6036         new name parameter.
6037         (constructor_callback): Pass name to ldctor_add_new_set_entry for
6038         new name parameter.
6039
6040         * ldmisc.c (demangle): Fix indentation.  Remove a leading period.
6041
6042 Thu Oct 26 22:22:49 1995  Stan Shebs  <shebs@andros.cygnus.com>
6043
6044         * mpw-config.in: Add PowerMac target support, generate config.h.
6045         * mac-ld.r: New file, Mac resources.
6046         * mpw-make.sed: New file, edits Makefile.in into MPW syntax.
6047         * mpw-make.in: Remove.
6048         * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
6049
6050 Thu Oct 26 14:11:26 1995  Ian Lance Taylor  <ian@cygnus.com>
6051
6052         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
6053         -static as a synonym for -bnso.
6054
6055         * scripttempl/aix.sc: Move special symbols inside sections.
6056         Always start .data at 0.
6057
6058 Wed Oct 25 11:52:12 1995  Per Bothner  <bothner@kalessin.cygnus.com>
6059
6060         * Makefile.in (diststuff):  Also make info.
6061         (maintainer-clean realclean):  Also delete *.info*.
6062
6063 Wed Oct 25 11:27:25 1995  Ian Lance Taylor  <ian@cygnus.com>
6064
6065         * emultempl/aix.em: Add support for various AIX linker options,
6066         for AIX import and export files, and for AIX shared objects.
6067         * scripttempl/aix.sc: Add .pad.  Put .ds just before the TOC.
6068
6069         * ldmain.c (main): Initialize new field link_info.static_link.
6070
6071         * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
6072         (constructor_callback): Likewise.
6073         * ldmisc.c (vfinfo): Likewise.
6074         * ldwrite.c (build_link_order): Likewise.
6075
6076         * ld.texinfo: The MRI ALIGN directive is supported.
6077
6078 Mon Oct 23 11:46:43 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
6079
6080         * emulparams/elf32vr4300.sh: Deleted.
6081         * emulparams/elf32vr4300el.sh: Deleted.
6082         * emulparams/elf32b4300.sh: Added.
6083         * emulparams/elf32l4300.sh: Added.
6084         * configure.tgt, Makefile.in: Updated the build to use the
6085         new 8.3 unique names.
6086
6087 Thu Oct 19 17:41:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6088
6089         * ldlang.c (entry_symbol): Make non-static.
6090         * ldlang.h (entry_symbol): Declare.
6091
6092         * ldlex.l: Treat PROVIDE as a keyword in expression state.
6093
6094 Wed Oct 18 17:34:06 1995  steve chamberlain  <sac@slash.cygnus.com>
6095
6096         * scripttempl/pe.sc (.bss): Move to be after .text
6097
6098 Tue Oct 17 12:22:05 1995  Ian Lance Taylor  <ian@cygnus.com>
6099
6100         * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
6101         Search trinary.cond rather than searching trinary.lhs twice.  From
6102         linli@ihp.PHys.ethz.CH.
6103
6104         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
6105         directory searching code into gld${EMULATION_NAME}_search_dir.
6106         (gld${EMULATION_NAME}_search_dir): New static function, extracted
6107         from gld${EMULATION_NAME}_find_so.
6108         (global_needed, global_found): New static variables.
6109         (gld${EMULATION_NAME}_after_open): New static function.
6110         (gld${EMULATION_NAME}_search_needed): New static function.
6111         (gld${EMULATION_NAME}_try_needed): New static function.
6112         (gld${EMULATION_NAME}_check_needed): New static function.
6113         (ld_${EMULATION_NAME}_emulation): Use new after_open function.
6114         * ld.texinfo, ld.1: Mention -rpath-link on SunOS.
6115
6116         * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
6117         (eelf32lppc.c): Likewise.
6118         * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
6119         (GENERATE_SHLIB_SCRIPT): Define as yes.
6120
6121 Mon Oct 16 19:11:13 1995  Ian Lance Taylor  <ian@cygnus.com>
6122
6123         * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named
6124         bfd_link_needed-list; make appropriate changes.
6125
6126         * configure.tgt (powerpc-*-aix*): New target; use aixppc.
6127         (rs6000-*-aix*): New target; use aixrs6.
6128         * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
6129         * emultempl/aix.em: New file.
6130         * scripttempl/aix.sc: New file.
6131         * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
6132         (eaixppc.c, eaixrs6.c): New targets.
6133
6134 Fri Oct 13 14:00:37 1995  steve chamberlain  <sac@slash.cygnus.com>
6135
6136         * scripttemp/pe.sc (.reloc): Move to the end.
6137
6138 Tue Oct 10 17:53:22 1995  Ian Lance Taylor  <ian@cygnus.com>
6139
6140         * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
6141         section which was not linked into the final output.
6142
6143 Tue Oct 10 10:17:22 1995  steve chamberlain  <sac@slash.cygnus.com>
6144
6145         * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
6146         fatal typos.
6147
6148 Tue Oct 10 01:01:51 1995  Ian Lance Taylor  <ian@cygnus.com>
6149
6150         * ld.h (args_type): Add rpath_link field.
6151         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
6152         required dependencies in rpath_link path.  Only search
6153         LD_LIBRARY_PATH when configured native.
6154         * lexsup.c (parse_args): Recognize -rpath-link.
6155         * ld.1, ld.texinfo: Document -rpath-link.
6156
6157 Sat Oct  7 17:07:17 1995  Ian Lance Taylor  <ian@cygnus.com>
6158
6159         * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
6160         bother searching for needed libraries unless doing a final link.
6161
6162 Fri Oct  6 16:26:16 1995  Ken Raeburn  <raeburn@cygnus.com>
6163
6164         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6165
6166         * ld/ld.1: Fix formatting bugs.
6167
6168 Wed Oct  4 17:37:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6169
6170         * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
6171         * ldexp.h (exp_get_abs_int): Update declaration.
6172         * ldlang.c (print_output_section_statement): Use fprintf_vma to
6173         print return value of exp_get_abs_int.
6174
6175 Mon Oct  2 13:56:09 1995  Ian Lance Taylor  <ian@cygnus.com>
6176
6177         * emultempl/elf32.em (global_stat): New file static variable.
6178         (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
6179         that the file has not already been included under another name.
6180         (gld${EMULATION_NAME}_stat_needed): New static function.
6181
6182 Fri Sep 29 12:00:18 1995  Doug Evans  <dje@deneb.cygnus.com>
6183
6184         * scripttempl/armcoff.sc: Start .text at 0x8000.
6185         Start .data at 0x40000.
6186
6187 Fri Sep 29 11:09:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6188
6189         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
6190         command_line.rpath is set, use it, rather than the -L options, to
6191         build the rules section.
6192         * ld.texinfo: Document this use of -rpath.
6193
6194         * lexsup.c (parse_args): Don't set link_info.shared for -assert
6195         pure-text.  Pass true, not 1, to lang_add_entry.
6196         * emultempl/sunos.em (find_assign): New static variable.
6197         (found_assign): New static variable.
6198         (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
6199         If not a relocateable link, and no start symbol was specified on
6200         the command line, and there are any undefined symbols, set
6201         link_info.shared.  If link_info.shared is set, set the address of
6202         the .text section to 0x20.
6203         (gld${EMULATION_NAME}_find_assignment): Rename from
6204         gld${EMULATION_NAME}_find_statement_assignment.  If find_assign is
6205         set, then just set found_assign based on whether an assignment is
6206         found to find_assign.
6207         (gld${EMULATION_NAME}_get_script): Don't use a special script when
6208         producing a shared library.
6209         * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
6210         * scripttempl/aout.sc: Remove CREATE_SHLIB tests.
6211         * ldlang.c (entry_from_cmdline): New global variable.
6212         (lang_add_entry): Change cmdline parameter from int to boolean.
6213         Use global entry_from_cmdline rather than function static
6214         from_cmdline.
6215         * ldlang.h (entry_from_cmdline): Declare.
6216         (lang_add_entry): Change declaration of second parameter from int
6217         to boolean.
6218         * ldgram.y: Pass false, not 0, to lang_add_entry.
6219
6220 Thu Sep 28 12:34:13 1995  Ian Lance Taylor  <ian@cygnus.com>
6221
6222         * ld.h (parsing_defsym): Declare.
6223         * ldlex.h (lex_string): Declare.
6224         * ldlex.l (lex_string): Define.
6225         * lexsup.c (parsing_defsym): Define.
6226         (parse_args): In OPTION_DEFSYM case, set lex_string before calling
6227         lex_redirect, and clear it after calling yyparse.  Set
6228         parsing_defsym around call to yyparse.
6229         * ldmain.c (main): Set lex_string before calling lex_redirect, and
6230         clear it after calling yyparse.
6231         * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
6232         in linker scripts correctly.
6233
6234         * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
6235         COFF targets, allowing for the leading underscore used on SPARC
6236         COFF.
6237
6238         * lexsup.c (parse_args): Handle -assert.
6239         * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
6240         * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
6241         shared library script when appropriate.
6242         * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
6243         section at SIZEOF_HEADERS.
6244
6245 Thu Sep 28 01:40:37 1995  Doug Evans  <dje@deneb.cygnus.com>
6246
6247         * Makefile.in (earmcoff.c): Build.
6248         * configure.tgt (arm-*-coff): New target
6249         * emulparms/armcoff.sh: New file.
6250         * scripttempl/armcoff.sc: New file.
6251
6252 Tue Sep 26 10:59:32 1995  Ian Lance Taylor  <ian@cygnus.com>
6253
6254         * scripttempl/i386coff.sc: Remove .data2; no longer needed.
6255
6256 Fri Sep 22 18:09:02 1995  Ian Lance Taylor  <ian@cygnus.com>
6257
6258         * ldfile.c (ldfile_set_output_arch): Make arch const.
6259
6260 Thu Sep 21 17:55:24 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6261
6262         * scripttempl/elfppc.sc: Correctly locate __bss_start at the
6263         beginning of the .bss area, not at the end of data.  Add
6264         __sbss_{start,end} symbols.
6265
6266 Wed Sep 20 12:29:36 1995  Ian Lance Taylor  <ian@cygnus.com>
6267
6268         * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name).
6269         (CXX_FOR_TARGET, install): Likewise.
6270
6271 Mon Sep 18 14:53:22 1995  Ian Lance Taylor  <ian@cygnus.com>
6272
6273         Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
6274         * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
6275         (CXX_FOR_TARGET): Likewise.
6276         (install): Likewise.
6277         (GENERATED_HFILES): Remove config.h.
6278         (.dep): Depend upon config.h.
6279
6280 Mon Sep 18 14:39:38 1995  Arne H. Juul  <arnej@pvv.unit.no>
6281
6282         * configure.tgt (mips*-dec-netbsd*): New target.
6283
6284 Fri Sep 15 20:01:52 1995  Ken Raeburn  <raeburn@cygnus.com>
6285
6286         * configure.host (m88*-*-dgux*): Fix another shell syntax error.
6287
6288 Fri Sep 15 23:28:05 1995  Andrew Cagney  <cagney@highland.com.au>
6289
6290         * configure.host (i[345]86-*-bsd*): Fix shell syntax error.
6291
6292 Thu Sep 12 12:50:49 1995  steve chamberlain  <sac@slash.cygnus.com>
6293
6294         * scripttemp/pe.sc:  Allow both spellings of .ctors/.dtors.
6295         Start .text section on the right boundary. Always align
6296         stabs.
6297
6298 Tue Sep 12 12:24:17 1995  Ian Lance Taylor  <ian@cygnus.com>
6299
6300         * Makefile.in (maintainer-clean): New target.
6301
6302         * ldmain.c (struct warning_callback_info): Define.
6303         (warning_callback): Add new parameter symbol.  Call
6304         warning_find_reloc to try to find the section and VMA.
6305         (warning_find_reloc): New static function.
6306         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6307         Pass NULL as symbol parameter to warning callback.
6308
6309         * ld.texinfo: Clarify -L option.
6310
6311         * ldlang.c (lang_one_common): Add cast to avoid warning.
6312         (topower): Likewise.  Also, reindent.
6313         * ldwrite.c (clone_section): Change i to unsigned int.
6314         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
6315         cast to avoid warning.
6316
6317 Fri Sep  8 16:32:43 1995  Ian Lance Taylor  <ian@cygnus.com>
6318
6319         * Makefile.in (config.status): Depend upon configure.tgt.
6320
6321         * ldemul.h (ldemul_set_symbols): Declare.
6322         (ldemul_parse_args): Declare.
6323         * ldemul.c (ldemul_parse_args): Fix indentation.
6324
6325         * configure.in: Call AC_HEADER_DIRENT.
6326         * configure, config.in: Rebuild.
6327         * emultempl/sunos.em: Use autoconf recommend mechanism to define
6328         DIR and struct dirent.
6329
6330         * configure.tgt (mips*-*-bsd*): New case.
6331
6332         * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
6333         New case.
6334         * configure.tgt (i[345]86-*-ptx*): New case.
6335
6336 Thu Sep  7 10:48:26 1995  Ian Lance Taylor  <ian@cygnus.com>
6337
6338         * config.in: Rename from config.h.in.
6339         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
6340         Check for config.h:config.in when creating stamp-h.
6341         * configure: Rebuild.
6342         * Makefile.in (stamp-h): Depend upon config.in rather than
6343         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
6344         calling config.status.
6345
6346         * Makefile.in (distclean): Remove config.h and stamp-h.
6347
6348         * configure.host (sparc-*-sunos64*): Remove.
6349         * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
6350
6351         * ldexp.c (exp_fold_tree): Don't warn about moving the location
6352         counter backward in the absolute section.
6353
6354 Wed Sep  6 14:42:11 1995  Ian Lance Taylor  <ian@cygnus.com>
6355
6356         * configure.in: Rewrite to use autoconf.
6357         * configure.host: New file.
6358         * configure.tgt: New file.
6359         * aclocal.m4: New file.
6360         * configure: New file, built by autoconf.
6361         * acconfig.h: New file.
6362         * config.h.in: New file, built by autoheader.
6363         * sysdep.h: New file.
6364         * ld.h: Incorporate old contents of config.h.
6365         * config.h: Remove.
6366         * Makefile.in: Various changes for new configure script.  Also:
6367         (CC_FOR_BUILD): Remove.
6368         (ldmain.o): Don't bother to ensure that EMUL is non-empty.
6369         (dep.sed): Use @SRCDIR@, not @srcdir@.
6370         * dep-in.sed: Use @SRCDIR@, not @srcdir@.
6371         * genscripts.sh: Create ldscripts if it does not exist.
6372         * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
6373         * mpw-esh.c, emultemp/*.em: Likewise.
6374         * ldmain.c: Likewise.  Include <ctype.h>.  Don't try to set
6375         HAVE_SBRK here.
6376         * config/*.mt, config/*.mh: Remove.
6377
6378 Tue Sep  5 14:55:24 1995  Ken Raeburn  <raeburn@cygnus.com>
6379
6380         * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
6381         ns32k-pc532-lites* like ns32k-pc532-netbsd*.  From Ian Dall.
6382
6383 Fri Sep  1 22:29:52 1995  Doug Evans  <dje@canuck.cygnus.com>
6384
6385         * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors.
6386
6387 Fri Sep  1 13:13:29 1995  Ian Lance Taylor  <ian@cygnus.com>
6388
6389         * ldmain.c (warning_callback): Add abfd, section, and address
6390         parameters.
6391         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6392         Change call to warning accordingly.
6393
6394         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
6395         relocateable and not shared, put .gnu.warning.SYMBOL sections into
6396         the .text section.
6397
6398 Fri Sep  1 08:35:16 1995  James G. Smith  <jsmith@beauty.cygnus.com>
6399
6400         * configure.in: Added mips*vr4300-idt-elf* and
6401         mips*vr4300el-idt-elf* targets.
6402         * Makefile.in: Added eelf32vr4300* targets.
6403         * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
6404         * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
6405
6406 Fri Sep  1 10:51:45 1995  Ian Lance Taylor  <ian@cygnus.com>
6407
6408         * scripttempl/a29k.sc: Fix to be reasonable.  From Brendan Kehoe
6409         <brendan@cygnus.com>.
6410
6411 Thu Aug 31 16:37:07 1995  steve chamberlain  <sac@slash.cygnus.com>
6412
6413         * ldemul.c (ldemul_parse_args): New.
6414         * ldemul.h (ld_emulation_xfer_struct): Add parse_args.
6415         * lexsup.c (all pe stuff): Moved into pe.em
6416         (parse_args): Call emulation arg parser.
6417         * emultempl/pe.em (parse_args): handle PE specfic args.
6418
6419 Thu Aug 31 17:01:37 1995  Ian Lance Taylor  <ian@cygnus.com>
6420
6421         * ldlang.c (lang_memory_region_lookup): Don't use the first region
6422         as the default region.  Create a new region instead.
6423
6424 Tue Aug 29 14:21:41 1995  steve chamberlain  <sac@slash.cygnus.com>
6425
6426         * ldemul.c (ldemul_set_symbols): New function.
6427         * ldemul.h (ld_emulation_xfer_struct): Add set_symbols.
6428         * ldmain.c (main): Add call to ldemul_set_symbols.
6429         * lexsup.c (set_pe_value): New args.
6430         (set_pe_name): New.
6431         (parse_args): Cope with new set_pe_value args.
6432         * emultempl/pe.em (set_symbols): New function.
6433         (ld_emulation_xfer_struct): Add set_symbols.
6434         * scripttempl/pe.sc: Use new symbols.
6435
6436 Thu Aug 24 18:12:18 1995  Ian Lance Taylor  (ian@cygnus.com)
6437
6438         * lexsup.c (parse_args): Don't call set_default_dirlist for -O.
6439         For -Y, ignore a leading `P,', and only call set_default_dirlist
6440         after processing all the other arguments.
6441
6442 Tue Aug 22 07:36:58 1995  steve chamberlain  <sac@slash.cygnus.com>
6443
6444         * scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
6445         * emulparams/armpe.sh: Run PE script.
6446
6447 Mon Aug 21 18:30:42 1995  steve chamberlain  <sac@slash.cygnus.com>
6448
6449         * ldmain.c (main): Remove PE stuff.
6450         * lexsup.c (options): Load more PE options.
6451         (set_pe_value): New function.
6452
6453 Thu Aug 17 13:35:49 1995  steve chamberlain  <sac@slash.cygnus.com>
6454
6455
6456         * emultempl/{armpe.sc, i386pe.sc}: Deleted.
6457         * emultempl/pe.sc: New file performs generic PE support and sorts
6458         archive members.
6459         * emulparams/{armpe.sh,i386pe.sh}: Use new file.
6460         * scripttempl/{armpe.sc, i386pe.sc}: Deleted
6461         * scripttempl/pe.sc: New.
6462         * Makefile.in: Use new files.
6463
6464 Thu Aug 17 14:46:34 1995  Doug Evans  <dje@canuck.cygnus.com>
6465
6466         * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
6467         (.strings,.ctors,.dtors): Likewise.
6468
6469 Wed Aug 16 11:38:59 1995  steve chamberlain  <sac@slash.cygnus.com>
6470
6471         * scripttempl/armpe.sc: Always start code at 0x401000, even
6472         if -r.
6473         * ldwrite.c (strdup): New extern declaration.
6474         * ldgram.y (atype): New rule to clarify type parsing.
6475         * ldlang.c (init_os): Remove commented out code.
6476         (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
6477         unless told not to by the link script.
6478
6479 Wed Aug 16 11:45:11 1995  Ian Lance Taylor  <ian@cygnus.com>
6480
6481         * ldlang.c (lang_set_startof): New static function.
6482         (lang_process): Call it.
6483
6484         * ldgram.y: Tweak casesymlist to avoid bison errors.
6485
6486         * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
6487         Solaris compatibility.
6488
6489 Tue Aug 15 17:31:16 1995  Ian Lance Taylor  <ian@cygnus.com>
6490
6491         * ldgram.y (YYDEBUG): If not defined, define as 1.
6492         (CASE, EXTERN, START): New tokens.
6493         (mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
6494         (casesymlist): New nonterminal.
6495         (extern_name_list): New nonterminal.
6496         * ldlex.l: Accept lower case trailing base specifiers.  Don't
6497         ignore the first digit when the base is a suffix.  Accept many
6498         EXPRESSION state tokens in MRI state.  Support MRI continuation
6499         lines and MRI semicolon comments.  Accept all MRI keywords in
6500         lower case.  Add CASE, EXTERN, and START MRI keywords.
6501
6502 Tue Aug  8 19:14:58 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
6503
6504         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc
6505         instead of alloca.
6506
6507 Tue Aug  8 15:24:05 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
6508
6509         * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
6510         $r/../gcc/xgcc unless it is present.
6511
6512 Thu Aug  3 11:56:22 1995  Ian Lance Taylor  <ian@cygnus.com>
6513
6514         * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text
6515         when CONSTRUCTING.
6516         * scripttempl/m68klynx.sc: Likewise.
6517         * scripttempl/nw.sc: Likewise.
6518         * scripttempl/sa29200.sc: Likewise.
6519         * scripttempl/sparclynx.sc: Likewise.
6520
6521 Fri Jul 28 12:02:23 1995  steve chamberlain  <sac@slash.cygnus.com>
6522
6523         * emulparams/{z8001.sh, z8002.sh}: Fix typo.
6524
6525 Thu Jul 27 21:06:21 1995  Ken Raeburn  <raeburn@cygnus.com>
6526
6527         * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*.
6528
6529 Thu Jul 27 15:26:28 1995  steve chamberlain  <sac@slash.cygnus.com>
6530
6531         * scripttempl/i386pe.sc: Cope with constructors.
6532         * scripttempl/z8ksim.sc: Deleted.
6533         * scripttempl/z8000.sc: Resurrected as this, but
6534         can handle z8001 and z8002 formats.
6535         * emulparams/z8ksim.sh: Deleted.
6536         * emulparams/{z8001.sh, z8002.sh}: New files.
6537         * config/z8ksim.mt: Deleted
6538         * config/z8k-coff.mt: New, generates both emulations.
6539
6540 Tue Jul 25 14:53:02 1995  Ian Lance Taylor  <ian@cygnus.com>
6541
6542         * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using
6543         %B, in case it is in an archive.
6544
6545 Mon Jul 24 15:23:39 1995  Ian Lance Taylor  <ian@cygnus.com>
6546
6547         * ldlang.c (lang_process): Call reset_memory_regions for each
6548         relaxation pass.
6549
6550 Fri Jul 21 22:49:44 1995  Michael Meissner  <meissner@cygnus.com>
6551
6552         * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and
6553         _SDA_BASE.
6554
6555 Thu Jul 20 16:26:55 1995  Ken Raeburn  <raeburn@cygnus.com>
6556
6557         * ldmain.c (constructor_callback): Allocate set_name in stack
6558         frame, rather than always calling alloca with a fixed size.
6559
6560 Wed Jul 19 16:21:43 1995  Doug Evans  <dje@canuck.cygnus.com>
6561
6562         * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
6563         (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
6564
6565 Mon Jul 17 13:57:00 1995  Ian Lance Taylor  <ian@cygnus.com>
6566
6567         * ldwrite.c (clone_section): Set the alignment of the clone
6568         section to that of the section being cloned.
6569
6570         * ldwrite.c (split_sections): Don't split the first input section
6571         into a new output section.
6572
6573 Sat Jul 15 00:26:35 1995  Michael Meissner  <meissner@cygnus.com>
6574
6575         * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32.
6576         (GENERATE_SHLIB_SCRIPT): Define as yes.
6577
6578 Fri Jul 14 12:11:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6579
6580         * emultempl/mipsecoff.em (check_sections): Use %P, not %F.
6581
6582         * ldver.c (help): Update list of options to match currently
6583         supported list.
6584
6585 Thu Jul 13 13:52:10 1995  Ian Lance Taylor  <ian@cygnus.com>
6586
6587         * emultempl/lnk960.em (ld_lnk960_emulation): Initialize
6588         after_open field.
6589
6590         * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
6591         it takes a size_t anyhow.
6592         (exp_binop): Likewise.
6593         (exp_trinop): Likewise.
6594         (exp_unop): Likewise.
6595         (exp_nameop): Likewise.
6596         (exp_assop): Likewise.
6597         * ldlang.c (lang_memory_region_lookup): Likewise.
6598         (init_os): Likewise.
6599         (ldlang_add_undef): Likewise.
6600         (insert_pad): Likewise.
6601         * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
6602         bfd_size_type.
6603
6604         * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o.
6605
6606 Wed Jul 12 11:32:22 1995  Ian Lance Taylor  <ian@cygnus.com>
6607
6608         * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
6609         declaration.
6610         (ld_emulation_xfer_type): Add search parameter to
6611         open_dynamic_archive entry point.
6612         * ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
6613         * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
6614         make non-static.  Change all callers to use new name.
6615         (ldfile_open_file_search): Make static.  If entry is dynamic, call
6616         ldemul_open_dynamic_archive.
6617         (ldfile_open_file): Don't call ldemul_open_dynamic_archive.
6618         * ldfile.h (ldfile_open_file_search): Don't declare.
6619         (ldfile_try_open_bfd): Declare.
6620         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
6621         Accept search parameter.  Don't search for a library, just look in
6622         a single place.
6623         * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
6624         Likewise.
6625
6626 Tue Jul 11 16:44:21 1995  Ian Lance Taylor  <ian@cygnus.com>
6627
6628         * ldmain.c (set_scripts_dir): Don't base script directory on
6629         current directory.
6630
6631 Tue Jul 11 12:29:02 1995  Rick Sladkey  <jrs@world.std.com>
6632
6633         * ldmisc.c (vfinfo): Don't print the line number if it isn't
6634         meaningful.
6635
6636 Mon Jul 10 13:38:28 1995  Ian Lance Taylor  <ian@cygnus.com>
6637
6638         * ld.h (ld_config_type): Add field warn_constructors.
6639         * ldmain.c (add_to_set): Warn if config.warn_constructors.
6640         (constructor_callback): Likewise.
6641         * lexsup.c (parse_args): Handle -warn-constructors.
6642         * ld.texinfo, ld.1: Document -warn-constructors.
6643
6644         * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
6645         get confused by directory names if we searched for the file.
6646
6647         Based on patches from H.J. Lu <hjl@nynexst.com>:
6648         * ldlang.h (lang_input_statement_type): Add new field dynamic.
6649         * ldlang.c (new_afile): Set dynamic from config.dynamic_link.
6650         * ldfile.c: Include bfdlink.h.
6651         (ldfile_open_file): Check dynamic field of entry, not global
6652         dynamic_link field.  Don't do a dynamic search when doing a
6653         relocateable link.
6654         * ldmain.c (main): Don't warn about dynamic_link for a
6655         relocateable link.
6656         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
6657         dynamic is false.
6658         (gld${EMULATION_NAME}_create_output_section_statements): Always
6659         loop over input files.
6660         * Makefile.in: Rebuild dependencies.
6661
6662         * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
6663         -shared.
6664
6665 Mon Jul 10 13:29:43 1995  Eric Youngdale  <eric@aib.com>
6666
6667         * ldmain.c (main): Set link_info.symbolic to false.
6668         * lexsup.c (parse_args): Handle -Bsymbolic.
6669
6670 Wed Jul  5 00:12:11 1995  Fred Fish  (fnf@cygnus.com)
6671
6672         * ldmain.c (HAVE_SBRK):  Define for everything except
6673         specific systems that are known to not support sbrk.
6674         (main):  Use HAVE_SBRK to decide whether or not to use sbrk.
6675
6676 Tue Jul  4 12:55:48 1995  Ian Lance Taylor  <ian@cygnus.com>
6677
6678         * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
6679         Handle etree_provide.
6680
6681         * emultempl/elf32.em (global_needed): New static variable.
6682         (global_found): Likewise.
6683         (gld${EMULATION_NAME}_after_open): New static function.
6684         (gld${EMULATION_NAME}_search_needed): Likewise.
6685         (gld${EMULATION_NAME}_try_needed): Likewise.
6686         (gld${EMULATION_NAME}_check_needed): Likewise.
6687         (ld_${EMULATION_NAME}_emulation): Replace after_open_default with
6688         gld${EMULATION_NAME}_after_open.
6689
6690 Mon Jul  3 14:26:37 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6691
6692         * configure.in (i386-*-win32): New target.
6693
6694 Mon Jul  3 14:39:22 1995  Ian Lance Taylor  <ian@cygnus.com>
6695
6696         * lexsup.c (parse_args): Let -G either set the small data size or
6697         be equivalent to --shared, depending on the next argument.  Accept
6698         and ignore -z for Solaris compatibility.
6699
6700 Sun Jul  2 17:52:34 1995  Ian Lance Taylor  <ian@cygnus.com>
6701
6702         * lexsup.c (parse_args): Cast fopen result to PTR before storing
6703         it in link_info.base_file.  Fix indentation.
6704
6705 Wed Jun 28 17:11:25 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6706
6707         * ldmain.c (main): Always initialize PE info in link_info.
6708         * lexsup.c (OPTION_BASE_FILE): New option.
6709         (parse_args): Handle new option.
6710         * emulparams/armpe.sh: Output pei.
6711         * emultempl/i386pe.em: Add newline to end.
6712         * scripttempl/armpe.sc: Change output and quote the $s.
6713         * scripttempl/i386pe.sc: Change output and quote the $s.
6714
6715 Thu Jun 22 19:55:41 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
6716
6717         Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
6718
6719         * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
6720         * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
6721         (i386msdos.o): New target.
6722         * config/i386-msdos.mt: Created.
6723         * emulparams/i386msdos.sh: Created.
6724         * scripttempl/i386msdos.sc: Created.
6725
6726 Thu Jun 22 15:06:35 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6727
6728         * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section
6729         that contains pointers to be relocated.
6730
6731 Tue Jun 20 17:47:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
6732
6733         * mpw-esh.c: New file, modified for MPW from esh.c.
6734         * scripttempl/sh.sc: Reformatted to simplify MPWification,
6735         use *() to concat stab sections instead of [].
6736
6737 Thu Jun 15 08:48:16 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6738
6739         * scripttempl/armpe.sc: Add constructor support.
6740
6741 Tue Jun 13 09:11:20 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6742
6743         * ldlang.c (lang_size_sections):  Any section with a DATA
6744         statement has contents.
6745
6746 Sun Jun 11 15:20:46 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
6747
6748         * emulparams/m68kelf.sh (NOP): Define.
6749         (DYNAMIC_LINK): Don't define.
6750         (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers
6751         will come from the linker script.
6752
6753 Thu Jun  8 14:17:33 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6754
6755         * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack.
6756
6757 Mon Jun  5 02:16:24 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
6758
6759         * configure.in (i[345]86-*-gnu*): Use GNU elf config.
6760
6761 Thu May 25 11:49:28 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6762
6763         From Andrew Cagney <cagney@highland.com.au>
6764         * Makefile.in: Fixup more gotchas from renaming elf32ppcle to
6765         elf32lppc.
6766
6767 Wed May 24 11:23:21 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6768
6769         Add support for ARM-PE.
6770         * Makefile.in (ALL_EMULATIONS): Add armpe.o
6771         * configure.in: Recognize armpe.
6772         * config/arm-pe.mt: New file.
6773         * emulparams/armpe.sh: New file.
6774         * scripttempl/armpe.sc: New file.
6775
6776
6777 Mon May 22 15:19:26 1995  Doug Evans  <dje@chestnut.cygnus.com>
6778
6779         * configure.in (h8300h-*-hms): Deleted
6780         * config/cf-h8300h.mt: Deleted.
6781
6782 Thu May 18 04:26:10 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
6783
6784         Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
6785
6786         From David Taylor (dtaylor@armltd.co.uk)
6787         * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o
6788         * configure.in: Recognize arm{,e[lb]-*-aout.
6789         * config/arm[lb]-aout.mt: New files.
6790         * emulparams/armaout[lb].sh: New files.
6791         * scripttempl/armaout.sc: New file.
6792
6793 Tue May 16 18:27:11 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6794
6795         * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to
6796         be unique in 8 characters for DOS.
6797
6798         * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh.
6799         * emulparams/elf32ppcle.sh: Deleted.
6800
6801 Fri May 12 11:03:55 1995  Steve Chamberlain  <sac@slash.cygnus.com>
6802                           Tom Griest <griest@cs.yale.edu>
6803
6804         Initial support for PE executables (eg NT, win32)
6805
6806         * Makefile.in (configure.in, ei386pe): Add support.
6807         * ldmain.c (main): Initialize PE argument info.
6808         * ldwrite.c (print_file_stuff): Don't print out .drectve
6809         and .debug section info.
6810         * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
6811          OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
6812          Handle new arguments.
6813         * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
6814         New files
6815
6816 Wed May 10 18:37:59 1995  Stu Grossman  (grossman@andros.cygnus.com)
6817
6818         * scripttempl/hppaelf.sc:  Remove .PARISC.unwind section from text
6819         segment.  This allows ld -r to preserve unwind sections.
6820
6821 Tue May  9 17:19:57 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6822
6823         * configure.in: Add little endian PowerPC support.
6824
6825         * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o.
6826         (eelf32ppcle.c): Support for little endian PowerPC.
6827
6828         * config/ppcle-elf32.mt: New file for little endian PowerPC.
6829         * emulparams/elf32ppcle.sh: Ditto.
6830
6831 Wed May  3 12:56:32 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
6832
6833         * ldlang.c (print_output_section_statement): Check
6834         subsection_alignment, instead of checking section_alignment twice.
6835         Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>.
6836
6837 Tue May  2 16:36:07 1995  Jeff Law  (law@snake.cs.utah.edu)
6838
6839         * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
6840
6841 Mon Apr 24 19:21:02 1995  Michael Meissner  <meissner@cygnus.com>
6842
6843         * ldwrite.c (ldwrite): Before doing anything, reset the error
6844         code.  If bfd_final_link returns an error, but the error code is
6845         unset, don't issue an extra message.  Assume a correct error
6846         message was already set.
6847
6848 Fri Apr 14 16:31:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
6849
6850         * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
6851         (em68kelf.o): New target.
6852         * config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
6853         * configure.in: Use them for m68*-*-elf.
6854
6855 Tue Apr 11 12:02:03 1995  Stan Shebs  <shebs@andros.cygnus.com>
6856
6857         Merge in support for Mac MPW as a host.
6858         (Old change descriptions retained for informational value.)
6859
6860         * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
6861         (i386-unknown-coff): Remove.
6862         (sh-hitachi-hms): New target.
6863         (emulation_ofiles): Set correctly for each target.
6864         (version, TDEFINES): Add to makefile fragment.
6865         * mpw-make.in (BISON): Use byacc instead of bison.
6866         (em_*.c): Replace with e*.c everywhere.
6867         (ldgram.h): Separate action from ldgram.c generation.
6868         (LD_PROG): Depend on Version.r.
6869         (Version.r): generate from version info.
6870         * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
6871
6872         * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
6873         i386-unknown-aout, i386-unknown-coff): New targets.
6874         (m68k-aout, m68k-coff): Remove targets.
6875         (mk.tmp): Add definition of EMUL.
6876
6877         * mpw-config.in (emulname): Set based on target.
6878         (ldemul-list.h): Construct.
6879         * mpw-make.in (install-only): New target.
6880         (install): Depend on install-only.
6881
6882         * mpw-make.in (bindir): Fix pathname.
6883         (install): Move here from mpw-build.in.
6884
6885         * mpw-config.in: New file, MPW configuration fragment.
6886         * mpw-make.in: New file, MPW makefile fragment.
6887         (This file is semi-automatically generated from Makefile.in.)
6888         * ldfile.c (slash): If MPW, set to `:'.
6889         * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to
6890         prevent redefinition errors.
6891
6892 Tue Apr  4 17:55:18 1995  Steve Chamberlain  <sac@bang.hack.com>
6893
6894         * ldwrite.c (clone_section): Align clone sections on even
6895         boundaries.
6896
6897 Thu Mar 30 14:32:26 1995  H.J. Lu (hjl@nynexst.com)
6898
6899         * configure.in: Change linux to default to elf.  Using
6900         i[345]86-*-linuxaout will build a linker which defaults to a.out.
6901         * config/i386-laout.mt: Rename from old config/i386-linux.mt.
6902         * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
6903         * config/i386-lelf.mt: Remove.
6904
6905 Thu Mar 30 13:09:46 1995  Ian Lance Taylor  <ian@cygnus.com>
6906
6907         * ldmain.c (main): If opening the map file fails, call
6908         bfd_set_error before calling einfo.
6909
6910         * ld.texinfo, ld.1: Document the -no-keep-memory option.
6911
6912 Mon Mar 27 11:10:08 1995  Ian Lance Taylor  <ian@cygnus.com>
6913
6914         * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
6915         does mark shared libraries as executable.
6916
6917 Tue Mar 21 15:15:38 1995  Ian Lance Taylor  <ian@cygnus.com>
6918
6919         * ldlang.c (lang_common): Change power to int.  Pass larger values
6920         before smaller values.
6921         (lang_one_common): Treat info as int *.  Don't bother to check for
6922         last value, since it is now zero.
6923
6924 Sat Mar 18 01:49:14 1995  Ian Lance Taylor  <ian@cygnus.com>
6925
6926         * ldlang.c (load_symbols): An empty archive is OK.
6927
6928 Fri Mar 17 16:15:31 1995  Stan Shebs  <shebs@andros.cygnus.com>
6929
6930         * ldmain.c (progress.h): Include.
6931         (main): Call START_PROGRESS and END_PROGRESS.
6932
6933 Thu Mar 16 17:17:33 1995  Michael Meissner  <meissner@cygnus.com>
6934
6935         * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and
6936         .dtors sections, so that these pointers get relocated also.
6937         Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning
6938         and end of the constructors/destructors.
6939
6940 Thu Mar 16 13:59:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
6941
6942         * ldlang.c (load_symbols): If whole_archive is true and ENTRY
6943         describes an archive, call bfd_link_add_symbols on each member.
6944         * ldmain.c (whole_archive): New variable.
6945         (main): Initialize it to false.
6946         * ldmain.h: Declare whole_archive.
6947         * lexsup.c (parse_args): Grok --whole-archive switch.
6948         * ld.texinfo, ld.1: Document --whole-archive.
6949
6950 Thu Mar 16 11:38:48 1995  Ian Lance Taylor  <ian@cygnus.com>
6951
6952         * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
6953         using the default emulation.
6954
6955         * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
6956         LDEMULATION.
6957         * config/hppaelf.mh (HOSTING_EMU): Likewise.
6958
6959 Tue Mar 14 12:28:03 1995  Ian Lance Taylor  <ian@cygnus.com>
6960
6961         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
6962         for -lc.N.  From H.J. Lu <hjl@nynexst.com>.
6963
6964 Fri Mar 10 14:43:48 1995  Ian Lance Taylor  <ian@cygnus.com>
6965
6966         * ldmain.c (main): Don't set EXEC_P if link_info.shared is set.
6967
6968         * ldlex.l: Return -lFILENAME as the token LNAME.
6969         * ldgram.y: Add token LNAME.
6970         (input_list): Treat LNAME like NAME, but pass it to
6971         lang_add_input_file as lang_input_file_is_l_enum.
6972         * ld.texinfo: Document using -lFILENAME in INPUT.
6973
6974 Thu Mar  9 12:21:51 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
6975
6976         * ldlang.c (lang_check): If the architectures are compatible call
6977         bfd_merge_private_bfd_data to let the backend do additional
6978         checks.
6979
6980 Tue Mar  7 00:53:08 1995  Ian Lance Taylor  <ian@cygnus.com>
6981
6982         * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
6983         all supported emulations.
6984
6985 Mon Mar  6 14:03:50 1995  Ian Lance Taylor  <ian@cygnus.com>
6986
6987         * ldemul.c (ldemul_list_emulations): New function.
6988         * ldemul.h (ldemul_list_emulations): Declare.
6989         * ldver.c (help): List supported targets and emulations.
6990
6991 Fri Mar  3 15:40:36 1995  Doug Evans  <dje@canuck.cygnus.com>
6992
6993         * scripttempl/elf.sc (.debug): Relocate to address 0.
6994         (.debug_srcinfo, .debug_aranges, .debug_pubnames,
6995         .debug_sfnames, .line): Likewise.
6996
6997 Fri Mar  3 17:07:14 1995  Ian Lance Taylor  <ian@cygnus.com>
6998
6999         * emultempl/elf32.em (hold_rel): New static variable.
7000         (gld${EMULATION_NAME}_place_orphan): Place readonly sections with
7001         contents whose names begin with ".rel" after hold_rel.  Remove the
7002         assertion which checked for unplaced .rel sections.  Don't try to
7003         sort the section into place if place->bfd_section is NULL.
7004         (gld${EMULATION_NAME}_place_section): Set hold_rel to the first
7005         section beginning with ".rel".
7006
7007 Thu Mar  2 14:34:43 1995  Ian Lance Taylor  <ian@cygnus.com>
7008
7009         Doc note from pierre@phi.la.tce.com (Pierre Willard):
7010         * ld.texinfo: -X and -x work even if -s or -S are not specified.
7011         * ld.1: Similar change.
7012
7013 Wed Mar  1 13:51:16 1995  Ian Lance Taylor  <ian@cygnus.com>
7014
7015         * emulparams/gld960coff.sh (COFF_CTORS): Define.
7016         * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
7017
7018 Tue Feb 28 12:42:56 1995  Ian Lance Taylor  <ian@cygnus.com>
7019
7020         * configure.in (i[345]86-*-linuxelf*): New target.  Use i386-lelf.
7021         (i[345]86-*-gnuelf*): New target.  Use i386-gelf.
7022         * config/i386-lelf.mt: New file.
7023         * config/i386-gelf.mt: New file.
7024
7025 Tue Feb 28 10:27:54 1995  Rob Savoye  <rob@darkstar.cygnus.com>
7026
7027         * configure.in: Match on mips-ecoff, and default to the IDT
7028         configuration.
7029
7030 Fri Feb 17 13:06:47 1995  Michael Meissner  <meissner@cygnus.com>
7031
7032         * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections.
7033         Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area
7034         to double the size of the table.
7035
7036 Thu Feb  9 18:29:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
7037
7038         * Makefile.in (distclean): Do recursive deletion, since ldscripts
7039         is a directory.
7040
7041 Thu Feb  9 11:38:22 1995  Ian Lance Taylor  <ian@cygnus.com>
7042
7043         * ldmain.c (main): If trace_file_tries is true, and we are using
7044         an internal linker script, print out the script.
7045         * ldfile.c (try_open): Reindent function.  Make the messages about
7046         opening script files more informative.
7047
7048         * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
7049         * ld.texinfo, ld.1: Update accordingly.
7050
7051 Wed Feb  8 17:34:45 1995  Ian Lance Taylor  <ian@cygnus.com>
7052
7053         * ldlang.c (lang_one_common): Adjust references to common symbol
7054         information for new structure.
7055
7056 Mon Feb  6 12:17:24 1995  Ian Lance Taylor  <ian@cygnus.com>
7057
7058         * ldmain.c (undefined_symbol): Handle section being NULL.
7059
7060         * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak.
7061         * ldexp.c (fold_name): Likewise.
7062         * ldlang.c (print_one_symbol): Likewise.
7063         (lang_finish): Likewise.
7064         * ldmain.c (multiple_common): Likewise.
7065         * ldwrite.c (print_symbol): Likewise.  Also, bfd_link_hash_weak
7066         renamed to bfd_link_hash_undefweak.
7067
7068         * scripttempl/alpha.sc: Set address of .data section correctly
7069         when -n or -N is used.  Patch from Chris G Demetriou
7070         <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
7071         * scripttempl/mips.sc: Similar change.
7072
7073 Tue Jan 31 16:20:52 1995  Doug Evans  <dje@canuck.cygnus.com>
7074
7075         * ldlang.c (lang_size_sections): Clarify error message when user
7076         specified start addr conflicts with region.  Fix resetting of
7077         region pointer.
7078
7079 Tue Jan 31 12:37:09 1995  Ian Lance Taylor  <ian@cygnus.com>
7080
7081         * ldexp.c (fold_name): In case NAME, permit an absolute symbol
7082         in lang_allocating_phase_enum.
7083
7084 Mon Jan 30 11:33:25 1995  Ian Lance Taylor  <ian@cygnus.com>
7085
7086         * Makefile.in (distclean): Depend upon clean.  Don't bother to
7087         remove files which will be removed by clean.  From patch by
7088         alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra).
7089
7090 Fri Jan 27 16:27:34 1995  Ian Lance Taylor  <ian@cygnus.com>
7091
7092         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
7093         a MIPS target, clobber the size of all but the first input
7094         .reginfo section to be 0, so that lang_size_sections sets the
7095         correct size for the output .reginfo section.
7096
7097 Thu Jan 26 19:53:37 1995  Ian Lance Taylor  <ian@cygnus.com>
7098
7099         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
7100         Remove unused variable is.
7101
7102 Thu Jan 26 12:33:05 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
7103
7104         * configure.in: Add support for powerpc-*-eabi.
7105
7106         * scripttempl/elfppc.sc: New file for PowerPC embedded ABI
7107         support.
7108
7109         * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of
7110         elf.sc, which defines some new symbols PowerPC elf needs.
7111
7112 Tue Jan 24 10:32:15 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7113
7114         * ldctor.c (ldctor_add_set_entry): Don't dump core if a
7115         constructor entry is in the absolute section.
7116
7117 Mon Jan 23 13:58:13 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7118
7119         * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
7120         * config/i386-gnu.mt: New file.  Include ELF support.
7121
7122 Thu Jan 19 16:22:11 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7123
7124         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
7125         there are any input sections named .gnu.warning, treat them as
7126         containing a warning message to be printed by the linker, and
7127         clobber the size so that the message is not copied into the output
7128         file.
7129         * scripttempl/elf.sc: Put .gnu.warning sections into the .text
7130         section.
7131
7132 Sun Jan 15 16:45:00 1995  Steve Chamberlain  <sac@splat>
7133
7134         * configure.in (w65-*-*): New target.
7135         * Makefile.in: Update.
7136         * scripttempl/w65.sc: New.
7137         * config/coff-w65.mt: New.
7138
7139 Thu Jan 12 01:32:25 1995  Ian Lance Taylor  <ian@tweedledumb.cygnus.com>
7140
7141         * ldlang.c (lang_place_orphans): Don't ignore files with
7142         just_syms_flag set.  Instead, put all their sections in
7143         bfd_abs_section_ptr, using the section VMA as the output_offset.
7144
7145 Wed Jan 11 22:59:09 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
7146
7147         * ldctor.c (ldctor_build_sets): Don't use `const' with typedef
7148         name `reloc_howto_type', since it's now defined to be const.
7149         * ldlang.c (lang_add_reloc): Ditto.
7150         * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto.
7151
7152 Wed Jan 11 11:24:45 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7153
7154         * ldexp.c (fold_binary): Adding or subtracting an absolute value
7155         to a relative value does not require forcing the relative value to
7156         be absolute.  Also, reindent function.
7157
7158 Wed Dec 28 22:05:52 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7159
7160         * ldwrite.c (clone_section): Create a symbol with the
7161         same name as the section.
7162
7163 Mon Dec 19 14:02:13 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7164
7165         * ld.h (split_by_reloc, split_by_file): New flags.
7166         * ldwrite.c  (clone_section, split_sections): New functions.
7167         * lexsup.c (parse_args): Understand new split options.
7168
7169 Fri Dec  9 17:22:55 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7170
7171         * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
7172         .data segment.  They must be writable when creating a shared
7173         library.  From H.J. Lu <hjl@nynexst.com>.
7174
7175 Fri Dec  2 14:09:00 1994  Ian Lance Taylor  <ian@rtl.cygnus.com>
7176
7177         * emultempl/miposecoff.em: New file.
7178         * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
7179         * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
7180         * scripttempl/mips.sc: Put .rel.sdata sections in .text, and
7181         provide __runtime_reloc_start and __runtime_reloc_stop if they are
7182         used.   Align _fdata to a 16 byte boundary.
7183         * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
7184         generic.em.
7185         (emipsidtl.c): Likewise.
7186         (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
7187
7188         * ld.h (args_type): Add new field embedded_relocs.
7189         * ldemul.h (ldemul_after_open, after_open_default): Declare.
7190         (ld_emulation_xfer_struct): Add new field after_open.
7191         * ldemul.c (ldemul_after_open): New function.
7192         (after_open_default): New function.
7193         * ldlang.c (lang_process): Call ldemul_after_open.
7194         * lexsup.c (parse_args): Handle --embedded-relocs.
7195         * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
7196         new after_open field to after_open_default.
7197         * emultempl/generic.em, emultempl/gld960.em: Likewise.
7198         * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
7199         * emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
7200         * emultempl/sunos.em, emultempl/vanilla.em: Likewise.
7201         * ld.texinfo, ld.1: Mention -embedded-relocs.
7202
7203 Wed Nov 23 22:04:47 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7204
7205         * Makefile.in: Add eshl.o.
7206         * config/coff-sh.mt: Add shl emulation.
7207
7208 Tue Nov 22 11:55:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7209
7210         * scripttempl/elf.sc: Fill .text section with NOPS.  From Eric
7211         Youngdale <eric@aib.com>.
7212
7213 Thu Nov 17 14:39:48 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7214
7215         Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
7216         * config/i386linux.mh: New file; set HOSTING_CRT0.
7217         * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
7218         /usr/lib, since that is already in LIB_PATH.
7219
7220 Wed Nov 16 10:03:03 1994  Jeff Law  (law@snake.cs.utah.edu)
7221
7222         * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
7223         address.
7224         (.data, .bss): If "-N", then place the data/bss just after the end
7225         of the .text section rather than at the default 0x40000000.
7226
7227         * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
7228         text segment.
7229
7230 Sat Nov 12 15:55:56 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7231
7232         Patches from Eric Youngdale <eric@aib.com>:
7233         * ldlang.c (lang_finish): Don't warn if entry symbol not found
7234         when generating a shared library.
7235         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if
7236         attempting to place an orphaned relocation section when generating
7237         a dynamically linked object.
7238
7239         * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
7240         _start.
7241
7242 Fri Nov 11 14:27:23 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7243
7244         * ld.h (args_type): Add field export_dynamic.
7245         * lexsup.c (parse_args): Recognize --export-dynamic.
7246         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
7247         Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
7248
7249 Wed Nov  9 12:47:11 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7250
7251         * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
7252         we allocate common symbols.
7253
7254 Tue Nov  8 17:50:43 1994  Eric Youngdale  (eric@aib.com)
7255
7256         * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
7257         .rela.fini to the list of .rel* sections.
7258
7259 Tue Nov  8 17:47:45 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7260
7261         * ldlang.c (load_symbols): Add new argument place.  Only accept
7262         linker scripts if place is not NULL.  Put commands found in an
7263         assumed linker script into place.
7264         (lookup_name): Pass NULL as place argument to load_symbols.
7265         (open_input_bfds): In lang_input_statement_enum case, pass a place
7266         argument to load_symbols, and store any new statements after the
7267         current one.
7268
7269 Mon Nov  7 15:53:02 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
7270
7271         * ldver.c (ldversion): Bump to 2.5.3.
7272
7273 Fri Nov  4 15:11:26 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
7274
7275         * Makefile.in (e*nbsd.c): Fix typo in dependencies.
7276
7277 Thu Nov  3 19:35:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
7278
7279         * Makefile.in (check): Add missing "else true" clause.
7280
7281         * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
7282
7283         * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default
7284         entry point to "start".  Align at end of each section to 0x200.
7285         Start .text section 0x1000 later.  Add _etext, _edata, _end
7286         symbols.
7287
7288 Wed Nov  2 12:17:49 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7289
7290         * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
7291         composed of different object file formats.
7292         (ldctor_build_sets): If the output format does not support the
7293         reloc, and we are not generating a relocateable link, try getting
7294         the reloc from the input format.
7295
7296 Tue Nov  1 10:30:19 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
7297
7298         * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
7299           (em68knbsd.c): New target.
7300
7301         * config/m68k-nbsd.mt: New file.
7302         * emulparams/m68knbsd.sh: New file.
7303         * configure.in (m68*-*-netbsd*): Use above configs.
7304
7305 Mon Oct 31 19:35:17 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7306
7307         * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
7308         appropriately named static library, stop the search at that
7309         directory.
7310
7311 Wed Oct 26 13:59:12 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
7312
7313         * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
7314           and esparcnbsd.o; sorted entries.
7315           (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
7316
7317         * config/netbsd532.mt: Removed.
7318         * emulparams/netbsd532.sh: Removed.
7319
7320         * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
7321         * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
7322         * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
7323           sparc*-*-netbsd*): Use above configs.
7324
7325 Tue Oct 25 11:47:10 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7326
7327         * ldmain.c (multiple_common): One of the types may now be
7328         bfd_link_hash_indirect.  The old BFD argument may be NULL.
7329
7330 Thu Oct 20 22:01:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7331
7332         * configure.in: Add * at the end of m68k-hp-hpux.
7333
7334 Tue Oct 18 15:58:39 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7335
7336         * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
7337         YY_CHAR *.
7338
7339 Mon Oct 17 14:53:16 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
7340
7341         * scripttempl/nw.sc: Gather constructors and destructors and
7342           define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
7343
7344 Fri Oct 14 14:35:38 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
7345
7346         * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
7347           (ei386nw.c, eppcnw.c): New targets.
7348
7349         * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
7350           scripttempl/nw.sc: New files, for i386 and powerpc netware.
7351
7352         * configure.in: Changed netware ld_target name to be {i386,ppc}-nw
7353           instead of {i386,ppc}-elf.
7354
7355         * configure.in (sparc*-*-netware): Removed.  There is no such
7356           thing anymore.
7357
7358         * ldint.texinfo: Move misplaced `@end iftex'.
7359
7360 Fri Oct 14 12:02:18 1994  Eric Youngdale  (eric@aib.com)
7361
7362         * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
7363         .rela.dtors to the list of .rel* sections.
7364
7365 Thu Oct 13 14:16:27 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
7366
7367         * ldver.c (ldversion): Update to version 2.5.
7368         * Version 2.5 released.
7369
7370         * configure.in (all_targets): Handle i386-linux*.
7371
7372 Thu Oct 13 11:24:33 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7373
7374         * scripttempl/aout.sc: Set _etext and __etext to ., not
7375         ${DATA_ALIGNMENT}.  This is compatible with SunOS, and, with luck,
7376         will not break any other system.  From Eric Valette
7377         <ev@chorus.fr>.
7378
7379 Wed Oct 12 16:22:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
7380
7381         * lexsup.c (parse_args): Change -V to be a synonym for -v.  Add
7382         --verbose to get the old -V behaviour.
7383         * ld.1, ld.texinfo: Document this change.
7384
7385 Tue Sep 27 14:56:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7386
7387         * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
7388         assertion, since it could fail with a user defined linker script.
7389
7390         * ldexp.c (fold_name): For DEFINED case, don't try to look up the
7391         name in the hash table during the first phase--the hash table does
7392         not even exist at that point, much less have the right value.
7393
7394         * Makefile.in (CC): Define.
7395         (CXX): Move definition, change from g++ to gcc.
7396         (EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
7397         (RUNTEST_CC, RUNTEST_CFLAGS): Remove.
7398         (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
7399         (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
7400         (.cc.o): Comment out.
7401         (testdir): Remove.
7402         (site.exp): Don't create testdir or set tmpdir.
7403         (check): Run checks even if not running native.  Use CC_FOR_TARGET
7404         instead of RUNTEST_CC, and likewise for CXX.
7405         (cdtest targets): Comment out.
7406         * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
7407         * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
7408         * cdtest-main.cc, cdtest.exp: Remove.
7409
7410 Mon Sep 26 11:40:30 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7411
7412         * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
7413         file naming problems.
7414         * emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
7415         * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
7416         eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
7417         (eelf32bmip.c): Rename from eelf32mipb.c.  Use elf32bmip.sh.
7418         (eelf32lmip.c): Rename from eelf32mipl.c.  Use elf32lmip.sh.
7419         * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
7420         * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
7421
7422         * genscripts.sh: Always search /usr/local/TARGET/lib.
7423
7424         * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".".
7425
7426 Fri Sep 23 15:05:49 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
7427
7428         * configure.in: Handle i386-bsdi* targets like i386-bsd.
7429
7430 Fri Sep 23 00:06:59 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7431
7432         * lexsup.c (parse_args): Add support for -a for HP/UX
7433         compatibility.
7434
7435         * lexsup.c (parse_args): -c takes an argument.
7436
7437 Tue Sep 20 14:35:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7438
7439         * ld.h (args_type): Add new field endian.
7440         * lexsup.c (parse_args): Handle -EB and -EL by setting
7441         command_line.endian.
7442         * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
7443         * ldlang.c (lang_add_output_format): Add arguments big and little.
7444         If command_line.endian is set, use it to select big or little
7445         rather than the default.  Changed all callers.
7446         * ldlang.h (lang_add_output_format): Update declaration.
7447         * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
7448         LITTLE_OUTPUT_FORMAT.
7449         * emulparams/elf32mipl.sh: Likewise.
7450         * emulparams/mipsbig.sh: Likewise.
7451         * emulparams/mipsbsd.sh: Likewise.
7452         * emulparams/mipsidt.sh: Likewise.
7453         * emulparams/mipsidtl.sh: Likewise.
7454         * emulparams/mipslit.sh: Likewise.
7455         * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
7456         LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
7457         OUTPUT_FORMAT.
7458         * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
7459         LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
7460         * scripttempl/mipsbsd.sc: Likewise.
7461
7462         * Makefile.in (ldgram.h): Make separate target from ldgram.c,
7463         depending upon ldgram.c, so that a parallel make does not try to
7464         build both at once.
7465
7466         * configure.in (mips*el-elf*): New target.
7467         * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
7468         (eelf32mipl.c): New target.
7469
7470         * config/mipsl-elf32.mt: New file.
7471         * emulparams/elf32mipl.sh: New file.
7472
7473 Fri Sep 16 12:16:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7474
7475         * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
7476         ld -r -S -x.
7477
7478 Thu Sep 15 13:05:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7479
7480         * ldmisc.c (vfinfo): Print BFD file name as well as file name
7481         returned by find_nearest_line, in case the file name is something
7482         unhelpful such as a .h file.  Handle %u.
7483
7484 Wed Sep 14 12:49:12 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7485
7486         * ldlang.c (lang_do_assignments): Make sure output statement
7487         has an attached bfd_section before trying to dereference it.
7488
7489 Wed Sep 14 12:48:09 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7490
7491         * ld.h (ld_config_type): Add new field warn_once.
7492         * ldmain.c (undefined_symbol): Handle -warn-once.
7493         * lexsup.c (parse_args): Recognize -warn-once.
7494         * ld.texinfo (Options): Document -warn-once.
7495         * ld.1: Likewise.
7496
7497         * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
7498         name.  For %C, print the function name on a separate line, to keep
7499         the length of error messages under control.
7500         * ldmain.c (multiple_definition): Use %D for ``first defined
7501         here.''
7502         (undefined_symbol): Use %D for ``more undefined references
7503         follow''.
7504
7505         * ldmisc.c (multiple_warn): Remove; no longer used.
7506         * ldmisc.h (multiple_warn): Don't declare.
7507
7508 Tue Sep 13 20:47:58 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7509
7510         * ldlang.c (print_output_section_statement): Print all lines
7511         to the map file.
7512
7513 Tue Sep 13 16:30:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7514
7515         * ldlang.c (load_symbols): Check for archive before object.  Use
7516         bfd_check_format_matches, and, if ambiguous, print a list of
7517         matching formats.  If file format is not recognized, treat file as
7518         a linker script.
7519         * ldgram.y (yyerror): If assuming an object file is a script,
7520         mention that.  Tweak the format of the error messages.
7521         * ldlex.l (lex_warn_invalid): If assuming an object is a script,
7522         guess that this is not actually a script, and just report that the
7523         file format was not recognized.
7524         * ld.texinfo (Options): Admit that -( may be used more than once.
7525         Add note that unrecognized object files are now treated as linker
7526         scripts.
7527
7528         * ldfile.c (ldfile_input_filename): Make const.
7529         (ldfile_assumed_script): New variable.
7530         (try_open): Change arguments types to const.
7531         (ldfile_find_command_file): Likewise.
7532         (ldfile_open_command_file): Likewise.  Also, set lineno to 1.
7533         * ldfile.h: Update declarations for ldfile.c changes.
7534         * ldlex.l: Include <ctype.h>.
7535         (file_name_stack): Change to be const char *.
7536         (lineno_stack): New static variable.
7537         (<<EOF>>): Set lineno as well as ldfile_input_filename.
7538         (lex_push_file): Make name argument const.  Initialize
7539         lineno_stack entry.
7540         (lex_redirect): Initialize lineno_stack entry.
7541         (lex_warn_invalid): Handle non printable characters nicely.
7542         * ldlex.h (lex_push_file): Declare second argument as const.
7543
7544         * ldgram.y (ifile_p1): Recognize GROUP.
7545         * ldlex.l: Recognize GROUP.
7546         * ld.texinfo (Option Commands): Document GROUP.
7547
7548 Mon Sep 12 17:04:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7549
7550         * config/m68klynx.mh: New file.
7551
7552 Mon Sep 12 01:50:03 1994  Jeff Law  (law@snake.cs.utah.edu)
7553
7554         * emultempl/hppaelf.em: Add newlines to the error messages.
7555
7556 Sat Sep 10 16:05:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7557
7558         * config/i386lynx.mh: New file.
7559         * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
7560         unless CONSTRUCTING.
7561
7562 Thu Sep  8 13:25:24 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7563
7564         * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
7565         (GENERATE_SHLIB_SCRIPT): Define as yes.
7566         (DYNAMIC_LINK): Define as false.
7567         * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
7568         Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
7569         (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
7570         * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
7571         generic.em.
7572
7573 Thu Sep  8 16:30:37 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7574
7575         * scripttempl/h8500b.sc: Put rdata stuff into own segment.
7576
7577 Thu Sep  8 13:25:24 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7578
7579         * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
7580         .got section is now explicitly handled in elf.sc.
7581
7582 Wed Sep  7 13:08:34 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7583
7584         * scripttempl/alpha.sc: Redo script to set . outside of sections
7585         and not bother to explicitly specify section addresses.
7586         Explicitly place .sdata section.
7587
7588 Tue Sep  6 23:51:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7589
7590         * scripttempl/m68kcoff.sc: Put .bss in data segment.
7591
7592         * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
7593         0, and to only be marked as NOLOAD if relocating.
7594         * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
7595         * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
7596         * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
7597         * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
7598         * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
7599         * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
7600         * scripttempl/sparclynx.sc: Likewise.
7601
7602 Sun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
7603
7604         * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX.
7605         * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc:
7606         New files.
7607
7608 Tue Aug 30 11:48:08 1994  Eric Youngdale  (ericy@cais.cais.com)
7609
7610         * ld.h (args_type): Add field soname.
7611         * lexsup.c (parse_args): Handle -soname argument.
7612         * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
7613         pass soname.
7614         * ld.texinfo: Document -soname.
7615
7616 Mon Aug 29 15:21:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7617
7618         * ldlang.c (lang_check): Don't try to set the architecture if the
7619         input and output files are incompatible.  Just warn.
7620
7621 Wed Aug 24 12:52:30 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7622
7623         * configure.in: Change i[34]86 to i[345]86.
7624
7625 Sun Aug 21 16:17:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7626
7627         * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0.
7628
7629 Thu Aug 18 15:37:45 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7630
7631         Make the ELF linker handle orphaned sections reasonably.  Also,
7632         define __start_SECNAME and __stop_SECNAME around sections whose
7633         names can be represented in C, for the benefit of symbol sets in
7634         glibc.
7635         * ldemul.h (ldemul_place_orphan): Declare.
7636         (ld_emulation_xfer_type): Add place_orphan field.
7637         * ldemul.c (ldemul_place_orphan): New function.
7638         * ldlang.h (wild_doit): Declare.
7639         * ldlang.c (wild_doit): Make nonstatic.
7640         (lang_place_orphans): Call ldemul_place_orphan.
7641         * emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
7642         (hold_section, hold_use, hold_text, hold_data, hold_bss): New
7643         static variables.
7644         (gld${EMULATION_NAME}_place_orphan): New static function.
7645         (gld${EMULATION_NAME}_place_section): New static function.
7646         (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
7647
7648 Tue Aug 16 00:17:20 1994  Eric Youngdale  (ericy@cais.cais.com)
7649
7650         * scripttempl/aout.sc: Add .linux-dynamic after .data.
7651
7652 Tue Aug 16 00:08:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7653
7654         * lexsup.c (parse_args) Treat --dll-verbose as --version, for
7655         Linux compatibility.  From hjl@nynexst.com (H.J. Lu).
7656
7657 Mon Aug 15 17:17:33 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7658
7659         * ldexp.h (exp_get_abs_int): Declare.
7660
7661 Sat Aug  6 01:45:39 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
7662
7663         * ldlang.c (lang_do_assignments):  Handle complex AT's better.
7664         * ldexp.c (exp_get_abs_int):  New function.
7665
7666 Fri Aug  5 20:55:55 1994  Jason Molenda (crash@phydeaux.cygnus.com)
7667
7668         * configure.in: add i960-nindy-coff support.
7669
7670 Thu Aug  4 14:45:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7671
7672         * ldlex.l (yy_create_string_buffer): Handle change to internal
7673         interface in flex 2.4.7.
7674
7675 Tue Aug  2 11:52:06 1994  Eric Youngdale  (ericy@cais.cais.com)
7676
7677         * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
7678         New function; add 0x20 to any use of -Ttext.
7679         (gld${EMULATION_NAME}_create_output_section_statements): New
7680         function.
7681         (ld_${EMULATION_NAME}_emulation): Use the new function
7682         gld${EMULATION_NAME}_create_output_section_statements.
7683
7684 Mon Aug  1 15:50:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7685
7686         * scripttempl/mips.sc: Redo script to set . outside of sections
7687         and not bother to explicitly specify section addresses.
7688
7689 Tue Jul 26 11:02:35 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7690
7691         * scripttempl/elf.sc: Copy several more relocation sections into
7692         the output.  Put .got.plt sections into .got.
7693
7694 Fri Jul 22 12:15:36 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7695
7696         * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
7697
7698         Add a new script operator, PROVIDE, to define a symbol only if it
7699         is needed.
7700         * ldgram.y (PROVIDE): New token.
7701         (assignment): Accept PROVIDE.
7702         * ldlex.l (PROVIDE): New token.
7703         * ldexp.h (node_type): Add etree_provide to node_class enum.
7704         (exp_provide): Declare.
7705         * ldexp.c (exp_fold_tree): Handle etree_provide.
7706         (exp_provide): New function.
7707         (exp_print_tree): Handle etree_provide.
7708         * ld.texinfo: Document PROVIDE.
7709
7710         * ldlang.c (lang_common): Pass desired alignment to
7711         lang_one_common as power of two.
7712         (lang_one_common): Get common symbol alignment from linker hash
7713         table entry.  Treat desired alignment as a power of two.
7714
7715         * ldlang.c (wild_section): Attach all section with the given name,
7716         not just the first one.  If there is no name, attach all sections
7717         even if the SEC_IS_COMMON flag is set.
7718
7719 Wed Jul 20 15:49:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7720
7721         * ld.h (args_type): Add field rpath.
7722         * lexsup.c (S_ISDIR): Define if not already defined.
7723         (parse_args): Add support for -rpath.  If -R is used to name a
7724         directory, treat it as -rpath for Solaris compatibility.
7725         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
7726         Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
7727         * ldmain.c (main): Initialize command_line.rpath to NULL.
7728         * ld.texinfo: Document -rpath option.
7729
7730 Sun Jul 10 00:33:24 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
7731
7732         * emulparams/pc532machaout.sh: New file. Pc532 mach script
7733         parameters.
7734
7735         * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
7736
7737         * config/pc532mach.mt: New file. Pc532 mach target support.
7738
7739         * config/pc532mach.mh: New file. Pc532 mach host support.
7740
7741         * config/netbsd532.mt: New file. Netbsd 532 target support.
7742
7743         * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
7744
7745         * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
7746         dependency.
7747
7748 Fri Jul  8 10:57:02 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7749
7750         * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
7751         bfd_abs_section_ptr, not &bfd_abs_section.
7752
7753         * lexsup.c (parse_args): Changed "retain-symbols-file" from
7754         no_argument to required_argument.  From djm.
7755
7756 Thu Jul  7 12:29:53 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7757
7758         * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
7759         sections to force a VMA of 0; needed for ELF backends which have
7760         not been converted to the new linker style.
7761
7762 Mon Jul  4 19:35:45 1994  Jeff Law  (law@snake.cs.utah.edu)
7763
7764         * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
7765         it was for the HPUX dynamic loader's use and it creates problems
7766         with ELF GDB.
7767
7768 Fri Jul  1 12:53:47 1994  Jeff Law  (law@snake.cs.utah.edu)
7769
7770         * ldlang.c (lang_do_assignments): No longer static.  Delete decl.
7771         * ldlang.h (lang_do_assignments): Put external decl here.
7772         * emultempl/hppaelf.em: Minor cleanups throughout file.
7773         (hppa_elf_create_output_section_statements): Rewrite.
7774         (hppaelf_finish): Rewrite.
7775
7776 Wed Jun 29 16:50:00 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7777
7778         * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
7779
7780         * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic.  Do not
7781         accept plain -B.
7782         * ld.texinfo: -Bstatic is not ignored.
7783
7784 Tue Jun 28 12:13:34 1994  Stan Shebs  (shebs@andros.cygnus.com)
7785
7786         * ldlex.l: Recognize \r the same as \n.
7787
7788 Thu Jun 23 17:53:04 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7789
7790         Preliminary support for generating shared libraries, from Eric
7791         Youngdale <ericy@cais.cais.com>.
7792         * genscripts.sh: If the emulation parameter file sets
7793         GENERATE_SHLIB_SCRIPT, generate a .xs script file with
7794         CREATE_SHLIB defined.
7795         * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
7796         link_info.shared is set, use the .xs script file.
7797         * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
7798         .interp section, and don't include TEXT_START_ADDR in the starting
7799         address of the first section.
7800         * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
7801         * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
7802
7803 Thu Jun 23 12:52:22 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
7804
7805         * configure.in: Change --with-targets to --enable-targets.
7806
7807 Wed Jun 22 13:42:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7808
7809         * lexsup.c (parse_args): Add support for new options -( -) with
7810         synonyms --start-group --end-group.
7811         * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
7812         (lang_group_statement_type): Define new struct.
7813         (lang_statement_union_type): Add group_statement field.
7814         (lang_enter_group, lang_leave_group): Declare.
7815         * ldlang.c (lang_for_each_statement_worker): Handle
7816         lang_group_statement_enum.
7817         (map_input_to_output_sections, print_statement): Likewise.
7818         (lang_size_sections, lang_do_assignments): Likewise.
7819         (open_input_bfds): Completely rewrite.  Now does its own looping,
7820         rather than using lang_for_each_statement.  Handle groups.
7821         (lang_process): Update call to open_input_bfds.
7822         (print_group): New static function.
7823         (lang_enter_group, lang_leave_group): New static functions.
7824         * ldfile.c (ldfile_open_file): If the file has already been
7825         opened, just return rather than taking an assertion failure.
7826         * ldver.c (help): Mention new options.
7827         * ld.texinfo: Document new options.
7828
7829         * ldlang.c (end_of_data_section_statement_list): Don't define.
7830         (lang_leave_output_section_statement): Don't set obsolete variable
7831         end_of_data_section_statement_list.
7832
7833         * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
7834         ALIGN.
7835
7836         * ldlang.c (lang_size_sections): Adjust current region address
7837         even for sections with an explicit address.  From
7838         ralphc@pyramid.com (Ralph Campbell).
7839
7840         * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
7841         From jrs@world.std.com (Rick Sladkey).
7842
7843         * scripttempl/mipsbsd.sc: Let sections align to their natural
7844         boundaries.
7845
7846 Tue Jun 21 11:27:04 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
7847
7848         * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
7849         &bfd_abs_section.
7850         (lang_abs_symbol_at_beginning_of): Likewise.
7851         (lang_abs_symbol_at_end_of): Likewise.
7852         (lang_size_sections): Use bfd_is_abs_section to check for the
7853         absolute section.  Don't try to set the VMA or output_offset or
7854         size of the absolute section.
7855         * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
7856         undefined section.
7857
7858 Thu Jun 16 22:48:41 1994  Jeff Law  (law@snake.cs.utah.edu)
7859
7860         * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
7861         when generating relocatable objects.
7862
7863 Thu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
7864
7865         * emultempl/linux.em: New file providing support for linking
7866         against Linux shared libraries.
7867         * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
7868         * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
7869
7870 Thu Jun 16 12:22:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7871
7872         * lexsup.c (parse_args): Add -shared to longopts, and handle it.
7873         * ldmain.c (main): Initialize link_info.shared to false.  Give
7874         error if link_info.relocateable and link_info.shared are both set.
7875
7876         * configure.in: If EMUL_EXTRA* is defined in a config file, treat
7877         it as naming an emulation to be added to EMULATION_OFILES.
7878         * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
7879
7880         * Makefile.in: Rebuilt dependencies.
7881         (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
7882         eelf64_sparc.o.  Remove $(OTHER_EMULATIONS).
7883         (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
7884         * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
7885         (ei386linux.c): Remove; now in Makefile.in.
7886         * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
7887         * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
7888         * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
7889         * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
7890         (eelf64_sparc.c): Remove; now in Makefile.in.
7891         * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
7892         (eelf32_sparc.c): Remove; now in Makefile.in.
7893
7894         * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
7895         no owner--it might be bfd_abs_section.  From Eric Youngdale
7896         <ericy@cais.cais.com>.
7897
7898         * scripttempl/aout.sc: Let sections align to their natural
7899         boundaries.
7900
7901 Wed Jun 15 01:54:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7902
7903         * ldemul.h (ldemul_open_dynamic_archive): Declare.
7904         (ld_emulation_xfer_type): Add new field open_dynamic_archive.
7905         * ldemul.c: Include ldexp.h and ldlang.h.
7906         (ldemul_open_dynamic_archive): New function.
7907         * ldfile.h (ldfile_open_file_search): Declare.
7908         * ldfile.c: Include ldemul.h.
7909         (try_open_bfd): Rename from cache_bfd_openr.  Return boolean
7910         argument, not bfd *.  Change all callers.
7911         (ldfile_open_file_search): Rename from open_a.  Return boolean
7912         argument, not bfd *.  Clean up.  Change all callers.
7913         (ldfile_open_file): If doing a dynamic link, call
7914         ldemul_open_dynamic_archive rather than assuming the extension of
7915         a dynamic object is ".so".
7916         * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
7917         New function.
7918         (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
7919         field.
7920         * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
7921
7922         * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
7923         * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
7924         Accept -static as a synonym for -non_shared.
7925
7926         Let the user change the dynamic linker used by ELF code.
7927         * ld.h (args_type): Add new field interpreter.
7928         * lexsup.c (parse_args): Add dynamic-linker to longopts, and
7929         handle it.
7930         * ldmain.c (main): Initialize command_line.interpreter to NULL.
7931         * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
7932         the ELF backend to return the .interp section.  If
7933         command_line.interpreter is not NULL, set the contents of .interp
7934         to it.
7935         * ld.texinfo: Mention -dynamic-linker.
7936
7937         * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
7938         generic.em.
7939
7940         * lexsup.c (parse_args): Sort out the option macros and change the
7941         definitions to make it easier to add a new option.
7942
7943         * scripttempl/aout.sc: Define __etext and __edata to go along with
7944         _etext and _edata.
7945
7946         * ld.h (ld_config_type): Add new field traditional_format.
7947         * lexsup.c (parse_args): Add traditional-format to longopts, and
7948         handle it.
7949         * ldmain.c (main): Initialize config.traditional_format to false.
7950         * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
7951         flags of output_bfd according to config.traditional_format.
7952         * ldver.c (help): Mention -traditional-format.
7953         * ld.texinfo: Document -traditional-format.
7954
7955 Tue Jun 14 23:10:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7956
7957         * ldctor.c (ldctor_add_entry): Add entries to a set in the order
7958         they are encountered.
7959
7960 Tue Jun 14 18:05:09 1994  Eric Youngdale  (ericy@cais.cais.com)
7961
7962         * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
7963         (NONPAGED_TEXT_START_ADDR): Define as 0x20.
7964
7965 Mon Jun 13 15:46:09 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7966
7967         * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
7968         _FTEXT, _ETEXT and _FDATA.  Dont define _END.
7969
7970         * ldfile.c (open_a): If this is not an archive, try to open it in
7971         the current directory before searching for it.
7972
7973         * lexsup.c (parse_args): Treat -i as a synonym for -r.
7974
7975         * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
7976         BLOCK works in a section address as documented.
7977
7978         * ldgram.y (YYDEBUG): Don't define.
7979
7980 Fri Jun 10 16:45:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7981
7982         * emultempl/gld960.em: Pass false for new argument to
7983         ldfile_add_library_path.
7984         * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
7985
7986         * emultempl/sunos.em: Only look for .so files if doing a dynamic
7987         link.
7988
7989 Thu Jun  9 08:35:17 1994  Ian Lance Taylor  (ian@cygnus.com)
7990
7991         * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
7992
7993 Thu Jun  9 06:52:29 1994  Bill Cox  (bill@rtl.cygnus.com)
7994
7995         * Makefile.in (check): Delete ld.new dependency so that a regression
7996           test doesn't trigger a rebuild of the linker.
7997
7998 Thu Jun  9 00:17:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7999
8000         * ldlang.c (map_input_to_output_sections): For lang_address, call
8001         init_os if it hasn't already been called.
8002
8003 Thu Jun  2 17:24:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8004
8005         Add support for SunOS shared libraries.
8006         * aout.sc: Don't define __DYNAMIC here.  Add new sections used by
8007         shared library support code.
8008         * emultempl/sunos.em: New file.
8009         * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
8010         * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
8011         * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
8012         (esun3.c): Likewise.
8013
8014         * ldlang.c: Minor formatting cleanups.
8015         (lang_for_each_input_file): New function.
8016         * ldlang.h (lang_for_each_input_file): Declare.
8017
8018         * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
8019         field.
8020         (search_head): Declare.
8021         (ldfile_add_library_path): Add new cmdline argument in prototype.
8022         * ldfile.c (search_head): Make non-static.
8023         (search_dirs_type): Move to ldfile.h.
8024         (ldfile_add_library_path): Accept cmdline argument, and save it.
8025         * lexsup.c (parse_args): Pass true for new cmdline argument of
8026         ldfile_add_library_path.
8027         (set_default_dirlist): Likewise.
8028         * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
8029         argument of ldfile_add_library_path.
8030         * ldgram.y (ifile_p1): Likewise.
8031
8032 Wed Jun  1 14:24:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8033
8034         * ldlang.h (lang_input_statement_type): Remove fields subfiles,
8035         total_size, superfile and chain.
8036         * ldfile.c (open_a): Don't clear search_dirs_flag.
8037         (ldfile_open_file): Don't try to open superfile.  Assert that file
8038         has not already been opened.
8039         * ldlang.c (new_afile): Don't initialize superfile.
8040         * ldmain.c (add_archive_element): Don't initialize subfiles or
8041         chain or superfile.  Initialize search_dirs_flag to false.
8042
8043 Fri May 27 12:25:33 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8044
8045         * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
8046
8047         Changes from binutils-2.4 release:
8048
8049         * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
8050         variables, use whitespace, so scripts don't break.
8051
8052         * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
8053
8054         * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
8055
8056         * cdtest-bar.cc: Renamed from cdtest-func.cc.
8057         * Makefile.in: Noted change.
8058
8059         * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
8060         don't know where that's supposed to come from, or why it's
8061         necessary.
8062
8063         Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
8064
8065         * configure.bat: update to latest makefile.in
8066         * emulpara/go32.sh: set to coff-go32 not aout
8067         * emultemp/generic.em: strength-reduce the structure of
8068           this shell script, since the only available shell for
8069           DOS can't handle complex syntax.
8070         * emultemp/stringify.sed: for "sed -f" instead of inline.
8071         * makefile.in: depend on stringify.sed as well as genscripts.sh
8072         * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
8073         * genscripts.sh: empty variables aren't always considered "set",
8074           so set them to "y" instead.
8075
8076 Fri May 27 01:08:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8077
8078         * ldlang.c (entry_symbol): Make static.
8079         (lang_add_entry): Add cmdline argument.
8080         * ldlang.h (lang_add_entry): Change prototype.
8081         * ldgram.y (statement_anywhere): Change lang_add_entry call.
8082         * lexsup.c (parse_args): Likewise.
8083
8084 Tue May 24 16:13:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8085
8086         * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
8087         .reginfo an address.
8088         (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
8089         (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
8090         * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
8091
8092 Thu May 19 13:31:33 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8093
8094         Add support for ELF shared libraries.
8095         * ld.h (ld_config_type): Add field dynamic_link.
8096         * ldmain.c (main): Initialize config.dynamic_link to false.  Warn
8097         on attempts to use -r with -relax, -call_shared or -s.
8098         * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
8099         OPTION_NON_SHARED.  Add OPTION_IGNORE.  Adjust macro values
8100         accordingly.  Add "dy" and "non_shared" options.  Change "Qy" to
8101         OPTION_IGNORE for now.  Handle OPTION_CALL_SHARED and
8102         OPTION_NON_SHARED by setting dynamic_link field accordingly.
8103         Handle OPTION_IGNORE by ignoring it.  Clear dynamic_link field for
8104         -r and -Ur.
8105         * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
8106         opening a file with a .so extension first.
8107         * emultempl/elf32.em: New file.
8108         * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
8109         (NONPAGED_TEXT_START_ADDR): Likewise.
8110         (TEMPLATE_NAME): Define as elf32.
8111         (DATA_PLT): Define.
8112         * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
8113         * scripttempl/elf.sc: Add placement for new dynamic sections.
8114         Don't use CREATE_OBJECT_SYMBOLS.  Define _etext, _edata and _end
8115         outside of any section.  Don't use ALIGN(8); just let one section
8116         VMA follow another.  Put .dynbss in .bss.  Don't mention debugging
8117         sections; they'll be handled correctly anyhow.
8118         * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
8119
8120 Wed May 18 10:15:39 1994  Ian Lance Taylor  (ian@cygnus.com)
8121
8122         * Makefile.in (install): Redirect output of ln to /dev/null.
8123
8124 Mon May 16 13:35:08 1994  Jeff Law  (law@snake.cs.utah.edu)
8125
8126         * emultempl/hppaelf.em: Change all references of
8127         .hppa_linker_stubs to .PARISC.stubs.
8128         * scripttempl/hppaelf.sc: Likewise.
8129
8130 Fri May 13 13:00:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8131
8132         * ldlang.c (print_output_section_statement): Change ``no attached
8133         output section'' message slightly.
8134         (lang_do_assignments): Don't recurse down if there is no real
8135         section.
8136
8137         * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
8138         match corresponding change in emulation templates.
8139         * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
8140         * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
8141
8142 Wed May 11 18:16:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8143
8144         * ldver.c (ldversion): Updated version number.
8145
8146         * cdtest-foo.cc: Use explicit "#pragma implementation".
8147         * cdtest-bar.cc: Renamed from cdtest-func.cc.
8148         * Makefile.in: References to cdtest-func.o changed to
8149         cdtest-bar.o.
8150
8151 Wed May 11 16:24:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8152
8153         Don't create unnecessary output sections.
8154         * ldlang.c (out_bfd_get_section_by_name): Remove.
8155         (wild_section): Call bfd_get_section_by_name rather than
8156         our_bfd_get_section_by_name.  Don't call wild_doit if there is no
8157         section.
8158         (lang_create_output_section_statements): Remove.
8159         (map_input_to_output_sections): For several cases, call init_os if
8160         it has not already been called.
8161         (lang_size_sections): If output section was not created, skip it.
8162         (lang_process): Don't call lan_create_output_section_statements.
8163         (lang_place_orphans): Skip files with just_syms_flags set to true.
8164         * ld.texinfo: Document change.
8165
8166 Tue May 10 14:31:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8167
8168         * ldlang.c (wild_doit): Don't bother initializing the vma and
8169         section size.  Don't special case SEC_SHARED_LIBRARY.
8170         (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
8171         specially.
8172
8173 Fri May  6 12:24:27 1994  Steve Chamberlain  (sac@cygnus.com)
8174
8175         * config/go32.mh : New file for Xgo32X.
8176
8177 Fri May  6 15:15:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8178
8179         * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
8180         before calling einfo, since we are reporting an fopen failure.
8181         From jrs@world.std.com (Rick Sladkey).
8182
8183         * configure.in: Use "e" rather than "em_" as prefix for
8184         emulations.
8185
8186 Fri May  6 01:08:14 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
8187
8188         * emultempl/generic.em: Use "e" rather than "em_" as prefix for
8189         filename.
8190         * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
8191         emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
8192         Ditto.
8193         * Makefile.in: Changed all generated file names.
8194         (ldemul-list.h): Depend on Makefile, not config.status.  Changed
8195         sed patterns to handle new filenames.
8196
8197         * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
8198         * configure.in: Adjusted.
8199
8200 Thu May  5 15:07:32 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8201
8202         * Makefile.in (install-info): Don't use "$<*", it doesn't always
8203         work.  Instead, check build dir and $srcdir explicitly, and use
8204         `echo' to get all the filenames.
8205
8206         * configure.in (h8300h-*-hms): Changed ld_target name to
8207         cf-h8300h.
8208         * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
8209         unique in 8.3.
8210
8211         * config/i960coff.mt: New file.
8212         * emulparams/gld960coff.sh: New file.
8213         * emultempl/gld960c.em: New file.
8214         * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
8215         i960coff configuration.
8216         * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
8217
8218         * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
8219         code isn't included in FSF releases, and it can still be
8220         explicitly selected.
8221         (distclean): Remove site.bak and tmpdir.
8222         (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
8223         (mostlyclean): Delete them explicitly here.  Also remove tmpdir.
8224
8225         Patches from Ralph Campbell:
8226         * config/mipsbsd.mh: New file.
8227         * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
8228         * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
8229         * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
8230         instead of `aout'.
8231
8232         * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
8233
8234 Wed May  4 11:59:40 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8235
8236         * config/m68k.mt (EMUL): Set to m68kaout.
8237         * emulparams/m68kaout.sh: New file.
8238         * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
8239         (em_m68kaout.c): New target.
8240
8241         * ldlang.c (lang_size_sections): If dot moves because of an
8242         assignment, don't try to insert a pad into the absolute output
8243         section, just change the address of the default memory region
8244         instead.
8245
8246         * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
8247         cdtest-ur.out, and cdtest-ur.tmp.
8248
8249 Wed Apr 27 16:03:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8250
8251         * scripttempl/sa29200.sc: Align all sections to four byte
8252         boundaries.
8253
8254 Wed Apr 27 10:48:03 1994  Steve Chamberlain  (sac@cygnus.com)
8255
8256         * Makefile.in, configure.in: Support for go32 coff.
8257         * config/i386-go32.mt: New file
8258         * emulparams/i386go32.sh: New file
8259         * scripttempl/i386go32.sc: New file
8260
8261 Tue Apr 26 17:20:03 1994  Stan Shebs  (shebs@andros.cygnus.com)
8262
8263         * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
8264         Lynx-specific script templates.
8265         * configure.in (sparclite*-*-coff): Use coff-sparc.
8266         * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
8267         * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
8268         (ENTRY): Set to __main.
8269         * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
8270         * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
8271         * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
8272
8273 Tue Apr 26 12:41:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8274
8275         * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
8276         byte boundary, in case the global constructors do not take up an
8277         even 16 bytes.
8278
8279         * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
8280         exist, get crtbegin based on gcc -print-libgcc-file-name.
8281         (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
8282
8283 Mon Apr 25 15:27:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8284
8285         * ldlang.c (lang_size_sections): When no address is given for a
8286         section, align it according to its requirements.
8287
8288 Thu Apr 21 17:24:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8289
8290         * Makefile.in (clean, distclean): Remove configdoc.texi.
8291
8292 Tue Apr 19 12:12:15 1994  Bill Cox  (bill@rtl.cygnus.com)
8293
8294         * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
8295
8296 Fri Apr 15 14:35:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8297
8298         * ldlang.c (lang_size_sections): When relaxing, adjust the
8299         position of a padding statement, and adjust dot accordingly.
8300
8301 Mon Apr 11 17:37:09 1994  Bill Cox  (bill@rtl.cygnus.com)
8302
8303         * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
8304
8305 Mon Apr 11 12:32:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8306
8307         * scripttempl/i386coff.sc: If relocating, don't put .init and
8308         .fini sections into .text; keep them separate.
8309         * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
8310         exist, get crtbegin based on gcc -print-libgcc-file-name.
8311         (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
8312
8313 Mon Apr 11 10:31:00 1994  Bill Cox  (bill@rtl.cygnus.com)
8314
8315         * Makefile.in (check): Set TCL_LIBRARY for runtest.
8316
8317 Wed Apr  6 00:09:37 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8318
8319         * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
8320         manufacturer.
8321
8322         * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
8323         if building a final executable.
8324
8325 Tue Apr  5 12:17:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8326
8327         * ldmain.c (main): Check the return value of bfd_close.
8328
8329 Thu Mar 31 18:07:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8330
8331         * scripttempl/alpha.sc: Clean up section alignment to ensure that
8332         sections never overlap when using -r.
8333
8334 Wed Mar 30 15:51:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8335
8336         * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
8337         changes: get_symtab_upper_bound renamed and returns long,
8338         bfd_canonicalize_symtab returns long, check for error indications.
8339
8340 Fri Mar 25 17:20:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8341
8342         * ldlang.c (print_input_section): For section size, use
8343         _cooked_size if it is non-zero, size otherwise.
8344         (size_input_section): Likewise.
8345         (lang_do_assignments): Likewise (case lang_input_section_enum).
8346
8347 Thu Mar 24 15:20:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8348
8349         * ldlang.c (new_afile): Add new argument add_to_list.  Don't set
8350         real to true for lang_input_file_is_marker_enum.  Clear the_bfd.
8351         (lang_add_input_file): Pass true to new_afile for add_to_list.
8352         (lookup_name): Remove force_load argument.  Changed all callers.
8353         Pass false to new_afile for add_to_list.  Split loading of symbols
8354         out into separate function.
8355         (load_symbols): New function split out of lookup_name.  Don't load
8356         the symbols if they are already loaded.
8357         (open_input_bfds): For lang_input_statement_enum call load_symbols
8358         rather than lookup_name.
8359         (lang_process): Pass abs_output_section rather than NULL to
8360         lang_size_sections.
8361         (lang_startup): Set real field of first_file to true.
8362
8363 Wed Mar 23 14:15:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8364
8365         * ldlang.c (had_relax): Removed.
8366         (relax_again): New static variable.
8367         (lang_size_sections): Change call to bfd_relax_section to
8368         correspond to BFD changes.  Set relax_again appropriately.
8369         (lang_process): Remove #if 0 code.  When relaxing, keep calling
8370         lang_do_assignments and lang_size_sections until relax_again
8371         becomes false.
8372
8373         * emultemp/gld960.em: Include libiberty.h
8374         (gld960_before_parse): Pass NULL as final argument to concat.
8375
8376 Tue Mar 22 13:08:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8377
8378         * scripttempl/aout.sc: Force _end and __end to be aligned to a
8379         four byte boundary.
8380
8381         * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
8382         building a bfd_data_link_order, rather than by setting the section
8383         contents immediately.
8384
8385 Mon Mar 21 18:28:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8386
8387         Changes to make -Ur work again.
8388         * ldmain.c (add_to_set): Now takes reloc argument rather than
8389         bitsize.  Check config.build_constructors here.  If an new hash
8390         table entry is created, mark it as undefined.
8391         (constructor_callback): No longer takes bitsize argument.  Pass
8392         BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
8393         BFD backend supports it.
8394         (reloc_overflow): Handle a NULL abfd argument.
8395         (reloc_dangerous, unattached_reloc): Likewise.
8396         * ldctor.c: Include ldmain.h.
8397         (struct set_info): Change bitsize field to reloc.
8398         (ldctor_add_set_entry): Now takes reloc argument rather than
8399         bitsize.  Don't bother to check config.build_constructors here.
8400         (ldctor_build_sets): Get the size from the reloc howto.  If
8401         generating relocateable output, call lang_add_reloc rather than
8402         lang_add_data.
8403         * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
8404         instead of bitsize.
8405         * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
8406         (lang_reloc_statement_type): New structure.
8407         (lang_statement_union_type): Add reloc_statement field.
8408         (lang_add_reloc): Declare new function.
8409         * ldlang.c (lang_for_each_statement_worker): Handle
8410         lang_reloc_statement_enum.
8411         (map_input_to_output_sections, print_statement): Likewise.
8412         (lang_size_sections, lang_do_assignments): Likewise.
8413         (print_reloc_statement): New function.
8414         (lang_add_reloc): New function.
8415         * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
8416
8417         * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
8418         (cdtest-ur, cdtest-ur.out): New targets.
8419         (check-cdtest): Now also check that -Ur works correctly.
8420
8421         * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
8422
8423 Thu Mar 17 12:45:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8424
8425         * ldlang.c (lang_process): Move lang_common call before
8426         map_input_to_output_sections, to ensure that any alignment
8427         constraints set by common symbols are copied over to the output
8428         sections.
8429
8430 Fri Mar 11 22:17:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8431
8432         * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
8433         (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
8434         * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
8435         * emultempl/ppc.em: Remove ugly stub code; turns out not to be
8436         needed for ELF.
8437
8438 Tue Mar  8 04:22:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8439
8440         * config/i386bsd.mh: New file.
8441
8442 Mon Mar  7 15:23:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8443
8444         * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
8445         defined.
8446         * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
8447         (DATA_START_SYMBOLS): Define _fdata.
8448
8449 Mon Feb 28 10:59:14 1994  Stan Shebs  (shebs@andros.cygnus.com)
8450
8451         * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
8452
8453 Sun Feb 27 16:29:38 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8454
8455         * emultempl/hppaelf.em (hppaelf_finish): Update comments.  This
8456         works again.  Attach some output symbols to the stub file bfd.
8457
8458         * emultempl/hppaelf.em: Include elf32-hppa.h.
8459         (file_chain): Add decl.
8460         (hppa_look_for_stubs_in_section): Delete decl.
8461         (hppaelf_finish): Reenable code.  Do not pass symbols
8462         down to hppa_look_for_stubs_in_section.
8463
8464 Sat Feb 26 10:58:25 1994  Ian Lance Taylor  (ian@cygnus.com)
8465
8466         * ldmain.c (write_map): Don't define.  Removed all references.
8467         Just use map_file or map_filename instead.
8468         (add_archive_element): Use minfo to write map information, not
8469         info_msg.
8470         (constructor_callback): Use fprintf to write map information, not
8471         info_msg.
8472         * ldmain.h (write_map): Don't declare.
8473         * ldgram.y (mri_script_command): Removed reference to write_map.
8474         * ldlang.c (lang_one_common): Likewise.
8475         * lexsup.c (parse_args): Likewise.
8476
8477 Fri Feb 25 19:12:03 1994  Ian Lance Taylor  (ian@cygnus.com)
8478
8479         * scripttempl/elf.sc: Force all sections to be aligned.
8480
8481         * ldgram.y (section): Reverse the order of memspec_opt and
8482         fill_opt to avoid an ambiguity when both are used.
8483         * ld.texinfo: Changed accordingly.
8484
8485         * ldgram.y: Move include of ldlex.h back with other includes.
8486         * ldlex.h (input_type): Don't initialize enum constants to
8487         particular values.
8488         * ldlex.l: Use a switch to return the right token based on
8489         input_type, rather than knowing that input_type has a value based
8490         on a token type.
8491
8492         * ldgram.y (dirlist_ptr): Removed; not used.
8493         * lexsup.c: Include ldver.h.
8494         * Makefile.in: Rebuilt dependencies.
8495
8496 Fri Feb 25 18:55:54 1994  Ted Lemon  (mellon@pepper.ncd.com)
8497
8498         * ldlang.c (lookup_name): don't call bfd_set_gp_size.
8499         (ldlang_add_file): call it here instead.
8500
8501 Fri Feb 25 18:13:46 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8502
8503         * ldgram.y: Include ldlex.h after %token decls, for byacc.
8504
8505 Fri Feb 25 10:47:25 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8506
8507         * emultempl/hppaelf.em: First attempt to clean this file up.
8508         Add comments in several functions as to their purpose and
8509         how they function (or my current best guess).  Clean up horrible
8510         spacing and indention that never should have been accepted in the
8511         first place.  Add FIXMEs for issues which need to be resolved.
8512         Disable linker-stub generation until it gets fixed.  This allows
8513         the linker to at least work on simple code for testing purposes.
8514
8515         * ldlang.c (lang_size_sections): No longer static (PA ELF calls
8516         it via hppaelf_finish).  Prototype moved into ldlang.h.
8517         (lang_process): Move problematic extra call to lang_size_sections
8518         into the PA ELF specific code.
8519         * emultempl/hppaelf.em (hppaelf_finish): Extra call to
8520         lang_size_sections moved here.
8521
8522 Thu Feb 24 16:47:33 1994  Ian Lance Taylor  (ian@cygnus.com)
8523
8524         * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
8525         * config/ppc-elf32.mt: New file.
8526         * emulparams/elf32ppc.sh: New file.
8527         * emultempl/ppc.em: New file.
8528         * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
8529         (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
8530         (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
8531
8532 Thu Feb 24 12:27:07 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8533
8534         * lexsup.c (parse_args): Use symbolic numbers for long options.
8535         Fix misunderstanding in -Y and -call_shared et al.
8536
8537         Use getopt instead of lex and yacc to parse the command line.
8538
8539         * ld.texinfo (Options): Document changes to option syntax.
8540         * Makefile.in: Update dependencies.
8541         * ldver.c (help): Tweak dashes in usage message.
8542         * ldgram.y (%union): Remove unused members.
8543         Remove %tokens for command line options; add ones for input types.
8544         (command_line): Rules removed.
8545         (file): Instead of command line, recognize an
8546         input type indicator, then use the nonterminal for that type.
8547         (defsym_expr): New nonterminal from code formerly in command_line.
8548         * ldlex.h: Declare parser input type enum and variable.
8549         Don't declare parse_line.
8550         * ldlex.l: Remove unused variables.  Make some used ones static
8551         and comment them.
8552         (COMMAND): Start state and its rules removed.
8553         At start of yylex, return input state token if at start of input.
8554         (lex_redirect): Don't need to set yyout.
8555         (ldlex_command): Function removed.
8556         * ldmain.c (main): Instead of calling parse_line, set up the
8557         redirections and call yyparse directly.
8558         * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
8559         "command line".
8560         * lexsup.c: Remove #if 0'd code.
8561         (parse_line): Function removed.
8562         (parse_args): Rewrite to use getopt_long_only.
8563         (set_default_dirlist): New function from code formerly in
8564         ldgram.y:command_line.
8565         (set_section_start): New function.
8566         * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
8567         emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
8568         compiled-in link scripts in "{" and "}", as the grammar no longer
8569         wants them to be.
8570
8571 Thu Feb 24 08:43:26 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)
8572
8573         * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
8574         require that it be in $(srcdir).
8575
8576 Tue Feb 22 09:21:18 1994  Ian Lance Taylor  (ian@cygnus.com)
8577
8578         * ldlang.c (lang_size_sections): Only align section to alignment
8579         required by linker script, not to maximum alignment of input
8580         sections.
8581
8582         * ldlang.h (largest_section): Don't declare.
8583         * ldlang.c (largest_section): Don't define.
8584         (size_input_section): Don't set largest_section; not used.
8585
8586 Mon Feb 21 15:15:29 1994  Ian Lance Taylor  (ian@cygnus.com)
8587
8588         * ldlang.c (new_afile): Pass NULL as last argument to concat.
8589
8590 Thu Feb 17 15:51:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8591
8592         * ldlang.c, ldmain.c: Include libiberty.h.
8593
8594         * ldmisc.h (concat): Don't declare.
8595         * ldmisc.c (concat): Don't define; just use the one in libiberty.
8596
8597         * ld.h (as_output_section_statement): Removed; not used.
8598
8599 Thu Feb 17 09:32:14 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8600
8601         * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
8602         bfd_set_error and new error names.
8603
8604 Tue Feb 15 20:14:53 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8605
8606         * ldwrite.c (build_link_order): If the cooked size of the section
8607         has been set, use it, for determining link_order size.
8608         (ldwrite): In the error message displayed if bfd_final_link fails,
8609         indicate that it was in fact the final link step that failed.
8610
8611         * ldlang.c (lang_size_sections): Clear bfd_error before calling
8612         bfd_relax_section, in case it returns false but doesn't flag an
8613         error.  If an error is returned, indicate which one it is in the
8614         error message.
8615
8616         * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
8617         it'll get picked up from $(srcdir) if appropriate.
8618
8619 Tue Feb 15 16:32:04 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8620
8621         * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
8622         * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
8623
8624 Fri Feb 11 17:02:49 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8625
8626         * ldlex.l (comment): Increment line number when newline is read.
8627
8628 Fri Feb 11 17:36:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8629
8630         * ldlang.c (lookup_name): Take new argument, force_load.  If true,
8631         reload the file even if it is already loaded.
8632         (wild): Call lookup_name with force_load argument of 0.
8633         (open_input_bfds): Call lookup_name with force_load argument of 1.
8634         (print_symbol): Remove declaration of non-existent function.
8635         (print_one_symbol): Return true rather than falling off end.
8636
8637 Thu Feb 10 11:52:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8638
8639         * ldmain.c (main): Use %ld when printing long values.
8640
8641         * scripttempl/elf.sc: Move _edata after the .sdata section.
8642         Permit OTHER_BSS_SYMBOLS to be defined.
8643         * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
8644
8645 Mon Feb  7 16:31:15 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8646
8647         * Rename all "hppaosf" files to "hppaelf".
8648         * Change all "osf" references to "elf" in hppaelf files.
8649         * Makefile.in: Likewise.
8650         * configure.in: Likewise.
8651
8652 Sun Feb  6 20:31:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8653
8654         * ldmain.c (main): Call xatexit, not atexit.
8655         Call xmalloc_set_program_name.
8656
8657         * ldlang.c (lang_size_sections): Check if bfd_relax_section set
8658         bfd_errno.
8659
8660 Sat Feb  5 03:54:34 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8661
8662         * emultempl/lnk960.em (append), emultempl/hppaosf.em
8663         (hppaosf_finish): Call xmalloc, not ldmalloc.
8664         * ldmain.c (preserve_output): Function removed.
8665         (main): Do it here instead.
8666
8667 Fri Feb  4 23:02:19 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8668
8669         * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
8670         GNU C specific macros.
8671
8672         * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
8673         call to LANG_FOR_EACH_INPUT_SECTION.
8674
8675 Fri Feb  4 16:26:08 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8676
8677         * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
8678         deleted; will use libiberty versions instead.
8679         * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
8680         mri.c Makefile.in: Change callers.
8681
8682         * ldmisc.c (vfinfo): Remove cleanup code.
8683         * ldmain.c (remove_output): Put it here (new function).
8684         (preserve_output): New function.
8685         (main): Register remove_output and preserve_output with atexit.
8686         * ldmain.c ldgram.y: Call xexit instead of exit.
8687         * ldmisc.h: Declare xexit.
8688
8689 Fri Feb  4 15:19:01 1994  Steve Chamberlain  (sac@cygnus.com)
8690
8691         * Makefile.in: Lots of new H8/500 memory models.
8692
8693 Sun Jan 30 14:33:40 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8694
8695         * ldlex.l: Removed duplicate rules.
8696         (yywrap): Provide default definition, needed with some versions of
8697         flex.
8698
8699 Fri Jan 28 09:12:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8700
8701         * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
8702         the archive filename too.
8703
8704         * ldlex.l: Add rule to catch invalid input characters instead of
8705         printing them.  Include "ldmain.h" for program_name decl.
8706         (lex_warn_invalid): New function.
8707         * Makefile.in: Add dependency.
8708
8709 Fri Jan 28 12:58:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8710
8711         * Makefile.in (check): Don't bother running any tests of
8712         cross-linker until the test suite no longer assumes native mode.
8713
8714 Thu Jan 27 17:19:54 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
8715
8716         * ldlang.c (print_one_symbol, print_input_section):  Print
8717         global symbols in symbol table again.
8718
8719 Thu Jan 27 12:35:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8720
8721         * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
8722         exit successfully instead of complaining if no input files are
8723         given.
8724
8725 Tue Jan 25 13:19:41 1994  Stan Shebs  (shebs@andros.cygnus.com)
8726
8727         * Makefile.in: Format variable definitions consistently.
8728         (LD_PROG): Remove unnecessary variables from link command,
8729         change variable LOADLIBES to EXTRALIBS.
8730
8731         * ldmain.c (main): Compute and display total execution time.
8732         * ld.texinfo (-stats): Document the option.
8733
8734 Mon Jan 24 12:56:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8735
8736         * ldmain.c (reloc_overflow): Added name, reloc_name and addend
8737         arguments.
8738
8739         * ldlang.c (lookup_name): Set BFD GP size to -G argument value
8740         after opening BFD.
8741
8742         * ldlang.c (relaxing): Removed global variable.
8743         (lang_size_sections): If the canonical symbols have not already
8744         been read in, read them in before relaxing.
8745         * ldlang.h (relaxing): Removed declaration.
8746
8747 Fri Jan 21 00:44:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8748
8749         * ldlang.c (new_afile): Initialize loaded field to false.
8750         (lookup_name): If file was already loaded, don't call the
8751         add_symbols entry point again.
8752
8753 Wed Jan 19 13:57:00 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8754
8755         * ld.texinfo: Clarify what -T option does.
8756
8757 Tue Jan 18 16:18:15 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
8758
8759         * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
8760         for a.out.
8761
8762 Tue Jan 11 13:22:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8763
8764         * ldmain.c (add_archive_element): If trace_files or
8765         trace_file_tries, print file name.
8766         * ldlang.c (lookup_name): Likewise.
8767         (ldlang_add_file): Don't put files on input_bfds list in reverse
8768         order.
8769
8770         * scripttempl/elf.sc: Correct typo.
8771
8772 Mon Jan 10 19:49:05 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8773
8774         * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
8775         their arguments optional, for compatibility with the old GNU ld.
8776
8777 Fri Jan  7 20:00:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8778
8779         * scripttempl/elf.c: Define __bss_start before the .sbss section.
8780
8781 Thu Jan  6 00:13:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8782
8783         * ldmain.c (add_to_set): Add bitsize argument.
8784         (constructor_callback): New function.
8785         (link_callbacks): Add constructor_callback.
8786         * ldctor.c (struct set_info): Add bitsize field.
8787         (ldctor_add_set_entry): Add bitsize argument.
8788         (ldctor_build_sets): Base the size of the elements of the set on
8789         the bitsize, rather than always using LONG.
8790         * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
8791
8792         * ld.h (QUAD_SIZE): Define.
8793         * ldgram.y (QUAD): New token.
8794         (length): Handle it.
8795         * ldlex.l: Return QUAD.
8796         * lexsup.c (keywords): Add QUAD.
8797         * ldwrite.c (build_link_order): Handle QUAD.
8798         * ldlang.c (print_data_statement): Handle QUAD.
8799         (lang_size_sections): Likewise.
8800         (lang_do_assignments): Likewise.
8801         * ldexp.c (exp_print_token): Add QUAD to table.
8802         * ld.texinfo: Describe QUAD.
8803
8804         * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
8805         since the Alpha doesn't use them.
8806
8807 Wed Jan  5 17:42:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8808
8809         * ldemul.h (ld_emulation_xfer_struct): Comment the members.
8810
8811 Sat Jan  1 13:39:31 1994  Rob Savoye  (rob@darkstar.cygnus.com)
8812
8813         * Makefile.in, configure.in: Add support for VSTa micro-kernel.
8814         * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
8815
8816 Sat Jan  1 10:53:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8817
8818         * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
8819         needed for i386mach.  (Should be a no-op on other systems.)
8820
8821         * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
8822         (PAGE_SIZE): Don't define; not used.
8823
8824 Fri Dec 31 16:12:06 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8825
8826         * ldgram.y (yyerror): Make argument const char *, and actually
8827         print it out rather than assuming it is a syntax error.
8828         * ldmisc.h: Change declaration of yyerror.
8829         * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
8830
8831 Fri Dec 31 11:37:28 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
8832
8833         * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
8834         exec header offset, since the exec header isn't loaded.
8835         (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
8836
8837 Thu Dec 30 13:01:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8838
8839         A major rewrite to move the bulk of the linker into BFD so that
8840         more efficient backend code can be written for specific object
8841         files.
8842         * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
8843         ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
8844         * ldctor.c, ldctor.h: Complete rewrite.
8845         * ldwrite.c, ldwrite.h: Complete rewrite.
8846         * ld.h (strip_symbols_type, strip_symbols): Removed.  Use
8847         link_info.strip instead.  Changed all uses.
8848         (discard_locals_type, discard_locals): Removed.  Use
8849         link_info.discard instead.  Changed all uses.
8850         (ld_config_type): Removed relocateable_output field; use
8851         link_info.relocateable instead; changed all uses.  Added stats
8852         field.
8853         (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
8854         set_loader_symbol): Removed.
8855         * ldexp.h (node_class): Added etree_rel.
8856         (etree_type): Added rel field.
8857         * ldexp.c (exp_print_token): Bracketed table initialization.
8858         (exp_relop): New function.
8859         (fold_name): Use linker hash table rather than ldsym functions.
8860         (exp_fold_tree): Likewise.  Also, handle etree_rel case.
8861         (exp_print_tree): Handle etree_rel.
8862         * ldgram.y (strip_symbols, discard_locals): Removed.
8863         (OPTION_stats, OPTION_no_keep_memory): New tokens.  Handle them.
8864         (REL): New token.  Does not appear in grammar, but needed for
8865         expression code.
8866         (file): Don't call lang_final; it's called by main anyhow.
8867         * ldlex.l: Accept -stats and -no-keep-memory options.
8868         * ldlang.h (fill_type): Make unsigned int, not unsigned short.
8869         * ldlang.c: Consistently use fill_type for fill argument.
8870         (lang_init_script_file, script_file): Removed.
8871         (create_object_symbols): Removed.  Use
8872         link_info.create_object_symbols_section instead.  Changed all
8873         uses.
8874         (lang_add_keepsyms_file): Removed.
8875         (lookup_name): Call bfd_link_add_symbols instead of
8876         ldmain_open_file_read_symbol.
8877         (wild): Don't iterate over script_file.
8878         (open_output): Create link hash table.
8879         (lang_place_undefineds): Rewrote.
8880         (lang_size_sections): Handle relaxing (doesn't work yet).
8881         (lang_relocate_globals): Removed.
8882         (lang_finish): Use link hash table rather than ldsym functions.
8883         (lang_common): Rewrote.
8884         (lang_one_common): New function.
8885         (ldlang_add_file): Add file to link_info.input_bfds list.  Set
8886         usrdata.
8887         (create_symbol): Removed.
8888         (lang_process): Don't call lang_init_script_file.  Call
8889         ldctor_build_sets rather than find_constructors.  Don't call
8890         lang_relocate_globals.
8891         (lang_abs_symbol_at_beginning_of): Rewrote.
8892         (lang_abs_symbol_at_end_of): Rewrote.
8893         * ldmain.c (had_y): Removed.
8894         (lprefix, lprefix_len): Removed; use link_info fields instead.
8895         Changed all uses.
8896         (multiple_def_count, commons_pending, undefined_global_sym_count,
8897         total_symbols_seen, total_files_seen): Removed.
8898         (link_callbacks, link_info): New variables.
8899         (main): Initialize link_info.  Don't call init_bfd_error_vector or
8900         ldsym_init.  Don't set now unused variables.  Handle -stats.
8901         (get_emulation): Removed obsolete and nonfunctional GNU960 code.
8902         (add_ysym): Rewrote.
8903         (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
8904         search_library, gnu960_check_format, decode_library_subfile,
8905         linear_library, symdef_library, clear_syms, subfile_wanted_p):
8906         Removed.
8907         (add_keepsyms_file, add_archive_element, multiple_definition,
8908         multiple_common, add_to_set, warning_callback, undefined_symbol,
8909         reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
8910         New functions.
8911         * ldmisc.c (vfinfo): Accept a string for %T, not a symbol.  Don't
8912         require symbols for %C; look them up instead.
8913         * emultempl/hppaosf.em: Pass link_info to
8914         hppa_look_for_stubs_in_section.
8915         * Makefile.in: Rebuilt dependencies.
8916         (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
8917         relax.c.
8918         (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
8919         relax.h.
8920         (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
8921         ldlang.h and ldctor.h.
8922
8923         * Makefile.in (ldlex.c): Don't depend on ldgram.h.  Remove
8924         declarations of free and malloc from flex output.  Change malloc
8925         to ldmalloc in flex output.
8926
8927 Thu Dec 16 21:19:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
8928
8929         * ldmain.c (lprefix): Change default from a char to a string
8930         with only one character.
8931         (lprefix_len): Set default to one.
8932
8933         * ldmain.h (lprefix_len): Declare.
8934
8935         * ldsym.c (write_file_locals): Use strncmp rather than a character
8936         comparison for lprefix.
8937
8938         * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
8939         correctly.
8940
8941         * emultmpl/hppaosf.em: Include ldexp.h.
8942         (before_parse): Set lprefix and lprefix_len correctly.
8943
8944 Tue Dec 14 17:19:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8945
8946         * ldlex.h: Don't declare yywrap if it is a macro.
8947         * ldlex.l: Include sysdep.h.
8948         * ldlang.c (lang_for_each_statement_worker,
8949         lang_for_each_statement): Forgot to use PARAMS.
8950
8951 Mon Dec 13 14:30:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8952
8953         * Makefile.in: Added .PHONY targets where appropriate.  Added some
8954         comments.  Also:
8955         (gcclibdir, version): Removed unused variables.
8956         (DEP): New variable, set to mkdep.
8957         (ALL_CFLAGS): New variable.  Used in .c.o target.
8958         (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
8959         variables.
8960         (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
8961         GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
8962         mostly obsolete variables.  Adjusted remaining uses.
8963         (DEF_EMUL): Removed variable.
8964         (ldmain.o): Handle undefined EMUL error correctly.
8965         (ldemul-list.h): Depend on config.status rather than Makefile.
8966         Create via temporary file.
8967         (ver960.c, roll, make): Removed obsolete targets.
8968         (.dep, .dep1, dep.sed, dep, dep-in): New targets.  Used to rebuild
8969         dependencies.
8970         * dep-in.sed: New file, used when rebuilding dependencies.
8971
8972 Sat Dec 11 14:43:44 1993  Ian Lance Taylor  (ian@deneb.cygnus.com)
8973
8974         Made many changes to eliminate gcc warnings.  Made various
8975         cosmetic changes, declared various things in header files, removed
8976         various extern declarations from .c files.  No substantive
8977         changes.
8978
8979         * ldlang.c (lang_process): Ifdef out final call to
8980         lang_size_sections again (reverting change of Nove 2), since it
8981         breaks the Sun4 linker.
8982
8983 Thu Dec  2 16:31:47 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8984
8985         * configure.in (alpha-*-netware*): New target; use alpha.
8986
8987 Wed Dec  1 14:04:20 1993  Ken Raeburn  (raeburn@cygnus.com)
8988
8989         * configure.in: Group targets by CPU.  Merge some m68k target
8990         entries with different CPU specs that use the same ld_target
8991         values.
8992
8993         * configure.in: Add sparc*-*-coff.
8994         * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
8995         * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
8996         (em_coff_sparc.c): Add dependencies and build rules.
8997
8998         * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
8999
9000 Wed Dec  1 12:19:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9001
9002         * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
9003         New tokens.
9004         (command_line_option): Accept and ignore them (for now).
9005         * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
9006         where n is a number.
9007
9008 Mon Nov 22 14:14:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9009
9010         * ldmain.c (subfile_wanted_p): If merging a common symbol which is
9011         not in bfd_com_section, create the section in the BFD so that it
9012         can be placed in the right output section.
9013
9014 Fri Nov 19 14:12:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9015
9016         * configure.in (mips*-sgi-irix5*): New target.  Use mipsb-elf32.
9017         * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
9018         (OTHER_READONLY_SECTIONS): Define for .reginfo.
9019         (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
9020         * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
9021         Move OTHER_READONLY_SECTIONS after all the other readonly
9022         sections.  Don't use DATA_ADDR twice.
9023
9024         * ldmain.c (enter_file_symbols): Removed duplicate tests of p.  If
9025         p is in a common section, make sure the BFD has a section of that
9026         name.
9027
9028         * ldlang.c (lang_common): Add newline to error message.
9029
9030 Thu Nov 11 15:54:41 1993  Stan Shebs  (shebs@rtl.cygnus.com)
9031
9032         * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
9033         Lynx-specific script instead of m68kcoff.
9034         (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
9035         (ENTRY): Define as __main.
9036         (TEXT_START_ADDR): Define as 0.
9037         (PAGE_SIZE): Define as 0x1000.
9038         * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
9039         * scripttempl/m68klynx.sc: New file.
9040
9041 Mon Nov  8 12:00:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9042
9043         * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
9044         arguments rather than treating them as emulation names.
9045
9046 Fri Nov  5 09:02:52 1993  D. V. Henkel-Wallace  (gumby@blues.cygnus.com)
9047
9048         * configure.in: Support x86 unixware and netware plus generic netware.
9049
9050 Fri Nov  5 21:47:55 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9051
9052         * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
9053         Correct values (?).
9054
9055 Wed Nov  3 15:10:15 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
9056
9057         * Makefile.in (distclean): Don't delete dvi or info files.
9058         (ld.info): Update dependency list.
9059         (ld.dvi): Ditto.  Extend TEXINPUTS to get bfdsumm.texi.
9060
9061 Wed Nov  3 12:07:39 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9062
9063         * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
9064         Set output_filename instead of creating a new node.
9065         (open_output): Don't set output_filename.
9066         (lang_final): Create the new node here.
9067         * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
9068
9069 Tue Nov  2 15:45:51 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
9070
9071         From Pete Hoogenboom (hoogen@cs.utah.edu):
9072
9073         * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
9074         edata, _edata, end): Add definitions of these symbols.
9075         (__end):  Remove definition of this symbol.
9076         (__data_start): Move definition of this symbol.
9077
9078         * emultempl/hppaosf.em:  Various fixes and support for linker stub
9079         generation.
9080         (hppaosf_finish, hppaosf_search_for_padding_statements,
9081         hppaosf_create_output_section_statements): New functions in
9082         support of linker stub generation.
9083         (ld_hppaosf_emulation):  Redefine to include new
9084         emulation-specific routines.
9085
9086         * ldlang.c (lang_process): Re-enable last call lang_size_sections.
9087         Pass abs_output_section rather than NULL to avoid invalidating
9088         absolute symbols.
9089
9090 Thu Oct 28 21:16:42 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9091
9092         * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
9093         (em_i386mach.c): New rule.
9094         * configure.in (i[34]86-*-mach*): New case.
9095         * config/i386-mach.mt: New file.
9096         * emulparams/i386mach.sh: New file.
9097
9098 Fri Oct 29 14:55:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9099
9100         * ld.h (flag_is_*): Removed macros.
9101         * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
9102         Consistently check the BFD symbol flags directly, rather than
9103         using file_is_* macros.
9104
9105 Thu Oct 28 19:08:42 1993  Stan Shebs  (shebs@rtl.cygnus.com)
9106
9107         * configure.in (sparc*-*-lynxos*): New target.
9108         * Makefile.in: Add rule for em_sparclynx.c.
9109         (ALL_EMULATIONS): Add Lynx emulations.
9110         * config/sparc-lynx.mt: New file.
9111         * emulparams/sparclynx.sh: New file.
9112         * scripttempl/sparccoff.sc: New file.
9113
9114 Thu Oct 28 13:50:25 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9115
9116         * Makefile.in: Add dependency for $(EMULATION_OFILES).
9117
9118 Mon Oct 25 16:09:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9119
9120         * relax.c (write_relax): Check return value of bfd_seclet_link.
9121
9122 Mon Oct 25 09:31:21 1993  Ken Raeburn  (raeburn@cygnus.com)
9123
9124         * ldlang.c (delete_output_file_on_failure): New variable.
9125         (open_output): Set it after bfd open succeeds.
9126         * ldmisc.c (vfinfo): Test it.
9127
9128         Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
9129
9130         * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
9131         symbols.
9132
9133         * ldemul.c: Support was added to allow emulation-specific
9134         processing to occur.  This support was added primarily for linker
9135         stub generation in the elf32-hppa gld.
9136         (ldemul_finish, ldemul_create_output_section_statements):  New
9137         functions.
9138         * ldemul.h: Support was added to allow emulation-specific
9139         processing to occur. (As described above.)  Added finish and
9140         create_output_section_statements fields to
9141         ld_emulation_xfer_struct structure.
9142         * ldlang.c: Add calls to emulation-specific routines.
9143         (lang_process):  Add call to
9144         ldemul_create_output_section_statements function.
9145         (lang_process):  Add call to a emulation-specific routine (and
9146         some processing after the call).
9147
9148 Fri Oct 22 20:54:13 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
9149
9150         * configure.in: mips*- instead of mips-, mips*el changes
9151
9152 Tue Oct 19 15:46:28 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9153
9154         * configure.in (alpha-*-osf*): New target; use alpha.mt.
9155         * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
9156         (em_alpha.c): New target; use alpha.sh and alpha.sc.
9157         * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
9158         * config/alpha.mt: New file.
9159         * emulparams/alpha.sh: New file.
9160         * scripttempl/alpha.sc: New file.
9161
9162 Fri Oct 15 02:20:04 1993  Doug Evans  (dje@canuck.cygnus.com)
9163
9164         * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
9165         types of different sizes (eg: 64 and 32 bits), so coerce.
9166         * ld.h (ALIGN_N): Add warning about usage.
9167
9168 Wed Oct 13 16:02:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9169
9170         * ldmain.c (enter_global_ref): Just ignore any weak symbol for
9171         which we already have a definition, rather than checking in
9172         several different places whether the symbol is weak.
9173
9174 Tue Oct 12 17:30:51 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9175
9176         * configure.in (mips-*-elf*): New target; use mipsb-elf32.
9177         * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
9178         OTHER_READWRITE_SECTIONS if relocating.  Shell variables are not
9179         expanded within them.
9180         * config/mipsb-elf32.mt: New file.
9181         * emulparams/elf32mipb.sh: New file.
9182         * Makefile.in (em_elf32mipb.c): New target.
9183
9184 Thu Sep 30 17:00:36 1993  Rob Savoye  (rob@darkstar.cygnus.com)
9185
9186         * ldgram.y: In input_list, change lang_input_file_is_file_enum to
9187         lang_input_file_is_search_file_enum so objects brought in using
9188         INPUT() do a path lookup.
9189
9190 Tue Sep 28 13:31:23 1993  Stan Shebs  (shebs@rtl.cygnus.com)
9191
9192         * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
9193         instead of {i386,m68k}-coff.
9194         * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
9195         * config/i386-lynx.mt: New file.
9196         * config/m68k-lynx.mt: New file.
9197         * emulparams/i386lynx.sh: New file.
9198         * emulparams/m68klynx.sh: New file.
9199
9200         * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
9201         but defaulting to _start.
9202
9203         * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
9204         ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
9205         LynxOS libc.
9206
9207 Thu Sep 23 14:51:03 1993  Ian Lance Taylor  (ian@cygnus.com)
9208
9209         * config/solaris2.mh: New file.  Define HOSTING_CRT0 and
9210         HOSTING_LIBS for testing.
9211
9212 Fri Sep 17 17:52:24 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9213
9214         Finish up support for i386-sysv4 (without shared libraries):
9215         * ld.h (flag_is_weak): Define.
9216         * ldlang.c (print_symbol): Mention whether symbol is weak.
9217         (print_input_section): Print weak symbols as globals.
9218         * ldmain.c (refize): Do not zero out BSF_WEAK flag.
9219         (enter_global_ref): Do not warn if a weak symbol redefines a
9220         global symbol.  Do not let a weak symbol redefine a common symbol.
9221         (enter_file_symbols): Treat weak symbols as global symbols.
9222         (subfile_wanted_p): Do not pull in an object file from a archive
9223         just to resolve an undefined weak symbol.
9224         * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
9225         error; the error might be that malloc has run out of space.
9226         * ldsym.c (write_file_locals): Treat weak symbols as global.
9227         * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
9228         use i386-elf.
9229         * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
9230         * config/i386-elf.mt: New file; set EMUL to elf_i386.
9231         * emulparams/elf_i386.sh: New file.
9232         * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
9233         * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
9234         (ALL_EMULATIONS): Add em_elf_i386.o.
9235         (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
9236         (em_elf_i386.c): New target, like other em_*.c targets.
9237         ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
9238         * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument.  If
9239         nonempty, and configured for native, add it to LIB_PATH.
9240
9241 Fri Sep 17 13:07:39 1993  Stan Shebs  (shebs@rtl.cygnus.com)
9242
9243         * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
9244         Added statements to pass stab and stabstr sections through and
9245         mark them as NOLOAD, which makes GDB happier.
9246
9247 Wed Sep 15 16:02:29 1993  Stan Shebs  (shebs@rtl.cygnus.com)
9248
9249         * configure.in: Accept m68k-lynx-lynxos config.
9250
9251         * Makefile.in: Use $(SHELL) to run genscripts.sh.
9252
9253 Sun Sep 12 16:04:40 1993  Doug Evans  (dje@cygnus.com)
9254
9255         * config/coff-h8300.mt: Add EMUL=h8300h.
9256
9257         * ldmain.c (main): Call set_scripts_dir after argv has been processed.
9258
9259 Fri Sep 10 09:36:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
9260
9261         * Makefile.in: Changed CXX back to g++.
9262
9263 Fri Sep 10 09:34:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
9264
9265         * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
9266
9267 Fri Sep 10 07:26:57 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9268
9269         * Makefile.in (TAGS): Use shell wildcards.
9270
9271 Tue Sep  7 18:04:54 1993  Jeffrey Osier  (jeffrey@cygnus.com)
9272
9273         * Makefile.in:  add TEXINPUTS variable and use it in ld.dvi target
9274
9275 Fri Sep  3 16:46:41 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
9276
9277         * ld.texinfo: re-enable included config file; conditionalize doc
9278         for -oformat to interact properly with SingleFormat doc config
9279         var; rename @up/@down to @raisesections/@lowersections.
9280
9281 Wed Aug 25 16:29:56 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
9282
9283         * configure.in: recognize m88110.
9284
9285 Tue Aug 24 18:49:40 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9286
9287         From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
9288         * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
9289         ELF emulation is "elf32-hppa" not "elf-big".
9290         (hppaosf_before_parse): Remove unneeded processing of environment
9291         variables.
9292         * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
9293         .text segment of output file.
9294         * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
9295
9296 Tue Aug 24 16:17:00 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
9297
9298         * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
9299           longer in bfd.h.
9300
9301         * ldlang.c, ld.h: updated copyright.
9302
9303 Tue Aug 17 15:22:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9304
9305         * ldlang.c (open_output, lang_check): Check return value of
9306         bfd_set_arch_mach.
9307
9308 Tue Aug 17 07:02:19 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
9309
9310         * scripttempl/h8500.sc: Start all sections in a different segment.
9311         * scripttempl/z8ksim.sc: Handle constructors
9312
9313 Thu Aug 12 16:05:37 1993  Jeffrey Wheat  (cassidy@cygnus.com)
9314
9315         * Makefile.in: revert earlier changes back to execute runtest
9316           with make check. cdtest and bootstrap now function as they
9317           did within the Makefile.
9318
9319 Thu Aug 12 10:20:05 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9320
9321         * Makefile.in:  Update dependencies.
9322
9323         * configure.in: Set EMULATION_OFILES in Makefile based on
9324         --with-targets option.
9325
9326 Thu Aug 12 08:52:29 1993  Jeffrey Wheat  (cassidy@cygnus.com)
9327
9328         * Makefile.in: check targets reimplemented to old way.
9329
9330 Wed Aug 11 08:26:11 1993  Ian Lance Taylor  (ian@cygnus.com)
9331
9332         * config/i386v.mh, config/irix4.mh: Use gcc
9333         -print-libgcc-file-name rather than $(libdir)/libgcc.a.
9334         * config/i386sco.mh: New file; copy of i386v.mh to correspond to
9335         bfd/configure.host change.
9336
9337 Mon Aug  9 14:25:35 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9338
9339         * scripttempl/elf.sc: Handle .line and .debug* sections.
9340
9341         * ldlex.l: Use bfd_scan_vma, not strtoul.
9342
9343 Fri Aug  6 08:57:39 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9344
9345         * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
9346         Remove inital caps in some error messages, change "can't" to
9347         "cannot", add missing colons.
9348         * ldmisc.c (vfinfo): Print "%%" as a single %.
9349         For '%' followed by unrecognized character, print them both
9350         verbatim instead of expecting a char * arg.
9351         For '%C', don't put the function name in parens.
9352
9353         * ldexp.c (invalid): Pass "%%", not "% ".
9354
9355 Fri Aug  6 14:31:22 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9356
9357         * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
9358         (BSS_VAR): Removed; now always define _fbss.
9359         * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
9360         Removed.
9361
9362 Thu Aug  5 15:55:19 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
9363
9364         * configure.in: z8k-coff is the same as z8k-sim
9365
9366 Wed Aug  4 21:00:18 1993  Jeffrey Wheat  (cassidy@cygnus.com)
9367
9368         * testsuite/lib/ld.exp: new file
9369         * testsuite/config/unix-ld.exp: new file
9370         * testsuite/ld.bootstrap/bootstrap.exp: new file
9371         * Makefile.in: add dejagnu support for make check
9372
9373 Wed Aug  4 17:52:32 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9374
9375         * ldlex.l (comment): Add missing newline in message.
9376         * ldindr.c (add_indirect): Ditto.
9377         * ldexp.c (exp_fold_tree): Ditto.
9378
9379 Tue Aug  3 10:57:41 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9380
9381         * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
9382         into externs.
9383
9384         * ldmisc.c (multiple_warn): New function.
9385         * ldmisc.h: Declare it.
9386         * ldmain.c (enter_global_ref): Call it.
9387         * ld.h (ld_config_type): Add warn_common.
9388         * ldlex.l, ldgram.y: Set it with -warn-common option.
9389         * ldver.c (help): Document it.
9390
9391 Mon Aug  2 12:04:36 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9392
9393         * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
9394         target-specific sections, and for changing data section vma.
9395
9396 Mon Jul 26 14:00:02 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
9397
9398         * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
9399         terminals, for Solaris.
9400         (dirlist_ptr): New static variable.
9401         (command_line_option): Accept new options.
9402
9403         * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
9404         "-YP,...".
9405
9406         * config/sun4sol2.mt: Pass emulation name without ".sh".
9407
9408         * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
9409         * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
9410
9411 Fri Jul 23 13:51:09 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9412
9413         * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
9414         .dtors, .data1, .rodata1 sections, instead of combining them into
9415         other sections.  For `-r', set all section start addresses to
9416         zero.
9417
9418         * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
9419         NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
9420         (MAXPAGESIZE): Renamed from PAGE_SIZE.
9421
9422 Wed Jul 21 14:28:42 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9423
9424         * genscripts.sh: If this is the default emulation, set
9425         COMPILE_IN.
9426         * emultempl/*.em: Use it to determine whether to compile in the
9427         scripts.
9428
9429         * Makefile.in (GENSCRIPTS): Pass the default emulation name to
9430         genscripts.sh.  Pass the current emulation name without ".sh" on
9431         the end.
9432         * genscripts.sh: Take an default emulation arg.
9433         Use the current emulation name as EMULATION_NAME.
9434         Make default lib path for cross-compiling ':', not null.
9435         * emulparams/*.sh: Don't set EMULATION_NAME.
9436         * ldemul.c (ldemul_get_script): Take isfile arg.
9437         Pass it to emulation's get_script function.
9438         * ldemul.h: Adjust get_script prototypes.
9439         * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
9440         No longer static.
9441         * ldfile.h: Declare it.
9442         * ldgram.y: Accept a script on the command line again,
9443         for parsing compiled-in scripts.
9444         * ldmain.c (main): If ld script is a file, parse it as a -T
9445         option, otherwise parse it directly.
9446         * emultempl/*.em (*get_script): Return the scripts themselves if
9447         this is the default emulation; otherwise return their file names.
9448         * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
9449         generic.em.
9450         * emulparams/m88kbcs.sh: Use it.
9451
9452         * ld.h (ld_config_type::unix_relocate): Remove unused element.
9453
9454 Tue Jul 20 12:01:49 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9455
9456         * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
9457         there's no change log entry yet, tsk tsk) from the list of
9458         emulations compiled in until Mark gets around to checking in
9459         emulparams/i386linux.sh.
9460         (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
9461         changed, this file gets updated.
9462
9463 Fri Jul 16 14:14:32 1993  Ian Lance Taylor  (ian@cygnus.com)
9464
9465         * ldgram.y (OPTION_Lfile): New token.
9466         (command_line_option): Accept OPTION_L NAME (whitespace after -L).
9467         * ldlex.l (<COMMAND>): Accept -L without FILENAME.
9468
9469 Fri Jul 16 13:44:26 1993  Doug Evans  (dje@canuck.cygnus.com)
9470
9471         * configure.in: h8/300h support needs own .mt file.
9472         config/coff-h8300h.mt: New file.
9473
9474 Thu Jul 15 12:44:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9475
9476         * ldmain.c: Don't include sys/stat.h; it already got included
9477         somewhere along the way.
9478
9479 Thu Jul 15 14:43:34 1993  Doug Evans  (dje@canuck.cygnus.com)
9480
9481         * Makefile.in: Add h8300h support.
9482         emulparams/h8300h.sh: New file.
9483         scripttempl/h8300h.sc: New file.
9484
9485 Thu Jul 15 12:44:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9486
9487         * ldfile.c (ldfile_open_file): In error message, use the name the
9488         user gave (e.g., "-lc"), rather than the base file name.
9489
9490         * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
9491
9492         * ldmain.[ch]: Remove initial Q_ from function names.
9493         * ldexp.c, ldindr.c, ldlang.c: Change callers.
9494
9495         * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
9496
9497         * ldlang.c (lang_process): Move loading of default script from
9498         here to main.  Add a "/" to start of script name to prevent
9499         finding it in "." first.
9500
9501         * ldmain.c (set_scripts_dir): Don't look in "." first.
9502
9503         * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
9504         option_longmap.
9505
9506 Thu Jul 15 10:55:59 1993  Ian Lance Taylor  (ian@cygnus.com)
9507
9508         * Makefile.in (em_m88kbcs.c): Correct dependency.
9509         * scripttempl/m88kbcs.sc: It's ARCH, not arch.  Removed TARGET
9510         statement.  Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
9511         * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
9512
9513 Wed Jul 14 21:42:53 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9514
9515         * ldfile.c (ldlang_open_file, ldfile_open_command_file),
9516         main.c (main): Print the errno string in the error message.
9517
9518 Tue Jul 13 20:00:30 1993  Doug Evans  (dje@canuck.cygnus.com)
9519
9520         * configure.in: Accept h8300h for target cpu.
9521
9522         * ldmisc.c (vfinfo): Have demangle remove leading underscore if
9523         present (demangle is smart enough to know whether to do it or not).
9524
9525 Mon Jul 12 11:45:48 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9526
9527         * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
9528         ldscripts, as well as <ld bin dir> and SCRIPTDIR.
9529
9530         * ldlang.c (lang_process): Use sizeof instead of magic constant.
9531
9532         * ldmain.c (get_emulation, check_for_scripts_dir,
9533         set_scripts_dir):  New functions.
9534         (main): Call them.
9535
9536 Mon Jul 12 10:57:03 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
9537
9538         * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
9539         Create symbol "end" instead of "__end".  Comment out some parts
9540         that may not be needed (yet) for elf.
9541
9542         * configure.in: Accept sparc-elf and sparc-solaris2 configs.
9543
9544 Thu Jul  8 15:33:32 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9545
9546         * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
9547
9548         * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
9549         when no prototype is being supplied.
9550         (ldmalloc, ldrealloc): Size argument is now size_t.
9551
9552         * ldmisc.c (finfo): New function, accepts FILE* argument.
9553         (vfinfo, case 'v'): New format character; displays bfd_vma in hex
9554         without leading zeros.
9555         (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
9556         bfd_vma value, instead of fprintf(%x) which won't hold a long long
9557         value.
9558         (concat, buystring): String lengths are size_t.
9559         (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
9560
9561         * ldlang.c (new_statement): Size argument is now size_t.  Added
9562         forward declaration with prototype.
9563
9564 Thu Jul  8 10:53:47 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9565
9566         * ldgram.y (OPTION_v): Don't turn on verbose output.
9567
9568 Wed Jul  7 17:10:45 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9569
9570         * ldlex.l: Get rid of local typedef for bfd_vma!  Get it from
9571         bfd.h instead.
9572
9573 Wed Jul  7 11:33:12 1993  Ian Lance Taylor  (ian@cygnus.com)
9574
9575         * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
9576         collect2 doesn't look for gld any more anyhow.
9577
9578 Mon Jul  5 14:29:48 1993  Ian Lance Taylor  (ian@cygnus.com)
9579
9580         * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
9581         now have a non NULL srefs_chain.
9582
9583         * config/hp300hpux.mt: Use emulation hp3hpux rather than
9584         hp300hpux, since the latter does not exist.
9585
9586 Fri Jul  2 18:06:05 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9587
9588         * genscripts.sh: Put the scripts in the ldscripts directory, not
9589         emulations.
9590         * configure.in (ldscripts): Make, instead of emulations.
9591         * Makefile.in (scriptdir): Take off the "ld" part.
9592         (install, clean, distclean): Use ldscripts, not emulations.
9593         In tests, don't pass -Lemulations.
9594         Don't pass tooldir/lib to genscripts.sh.
9595         * genscripts.sh: Don't take tooldir/lib arg.
9596         * ldlang.c (lang_process): Add "ldscripts/" to the name of the
9597         default script file.
9598
9599 Fri Jul  2 17:13:35 1993  Doug Evans  (dje@canuck.cygnus.com)
9600
9601         * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
9602
9603 Thu Jul  1 16:38:45 1993  Doug Evans  (dje@canuck.cygnus.com)
9604
9605         * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
9606
9607 Wed Jun 30 15:45:55 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
9608
9609         * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
9610           run in parallel without colliding on yacc's static file names.
9611           Without the stub rule, make will try to start two yacc's
9612           concurrently which fails because of yacc's static file names.
9613
9614 Tue Jun 29 12:20:36 1993  Ian Lance Taylor  (ian@cygnus.com)
9615
9616         * ldmain.c (subfile_wanted_p): Don't dump core if there are no
9617         symbols.
9618
9619 Mon Jun 28 12:22:11 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9620
9621         * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
9622         different from libdir.
9623
9624         * Makefile.in (scriptdir): Base on tooldir, not datadir.
9625
9626 Sat Jun 26 12:03:57 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9627
9628         * ldver.c (help): New function.
9629         * ldver.h: Declare it.
9630         * ldlex.l, ldgram.y: Recognize new options --help and --version.
9631
9632 Mon Jun 21 20:39:48 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
9633
9634         * Makefile.in (INCLUDES): Don't need ../include any more.
9635
9636 Mon Jun 21 16:38:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9637
9638         * ldlex.l, ldgram.y: Support new -oformat option.
9639         Remove attempt at supporting script fragments on the command line.
9640         * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
9641         * mri.c (mri_format), ldgram.y: Change callers.
9642         * ldlang.h: Change prototype.
9643
9644 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn (zoo@cygnus.com)
9645
9646         * Makefile.in: canonicalize install.sh; for use within
9647         this directory (and subdirs)
9648
9649 Thu Jun 17 14:33:09 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9650
9651         * ldgram.y: Tweak grammar to make reporting of invalid options work.
9652
9653         * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
9654         and .cc.o rule.
9655
9656 Wed Jun 16 11:45:32 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9657
9658         * ldfile.c (ldfile_open_command): Don't try .ld extension.
9659         It wasn't documented (or likely used) and wastes time.
9660         (try_open): If EXTEN is empty, don't try it.
9661
9662         * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
9663         ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
9664         ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
9665         with normal function declarations.
9666
9667         * Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
9668         Move *.sc-sh to scripttempl/*.sc.
9669         * {emultempl,emulparams,scripttempl}/README: New files.
9670         * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
9671         removed, replaced with generic.em.
9672         * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
9673          h8[35]00hms.s[ch].  Change their contents to omit the "hms".
9674
9675         * *.em (*_get_script): Return script name instead of script contents.
9676         * ldlang.c (lang_process): Change caller.
9677
9678         * ldlex.l, ldgram.y: Recognize -m option.
9679         Check for input files after *all* options in grammar.
9680         * ldmain.c (main): Check for -m options.  Add default directory
9681         for -m.
9682
9683         * mkscript.c: File removed.
9684         * genscripts.sh: Take two more parameters, tooldirlib and libdir,
9685         to add to the default LIB_PATH.
9686         Look for input files in the new subdirectories.
9687         Create the scripts in emulations subdirectory and don't filter
9688         them through mkscript.
9689         * configure.in: Make the emulations subdirectory.
9690
9691         * Makefile.in: Account for all of the above changes.
9692         Remove unused .SUFFIXES.  Get libgcc.a path with gcc
9693         -print-libgcc-file-name instead of $(libdir)/libgcc.a.
9694         Put CFLAGS last in the compilation rules.
9695         Add -I../bfd to INCLUDES so sysdep.h is found.
9696
9697 Tue Jun 15 23:04:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9698
9699         * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
9700
9701         * aout.sc-sh: Add SHLIB_PATH like STACKZERO.  Make STACKZERO
9702         dependent on RELOCATING, not RELOCATION.
9703         * hp3hpux.sh (SHLIB_PATH): Define it.
9704
9705 Mon Jun 14 19:06:15 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
9706
9707         * ldfile.c (try_open): If opening without the extension fails,
9708         try with the extension even if -v or -V was given.
9709         had_script is imported (from ldgram.y), not exported.
9710
9711 Mon Jun 14 16:26:10 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
9712
9713         * Makefile.in: remove parentdir support, use INSTALL_XFORM
9714
9715 Thu Jun 10 14:00:06 1993  Ian Lance Taylor  (ian@cygnus.com)
9716
9717         * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
9718         * ldgram.y (statement_list_opt): New nonterminal, either empty or
9719         statement_list.
9720         (section): Use statement_list_opt, not statement_list.
9721         * m68kcoff.sc-sh: Gather constructors and destructors and define
9722         __CTOR_LIST__ and __DTOR_LIST__ appropriately.
9723         * sa29200.sc-sh: Gather constructors and destructors and define
9724         ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
9725
9726 Mon Jun  7 12:53:28 1993  Per Bothner  (bothner@rtl.cygnus.com)
9727
9728         * Makefile.in (INCLUDES):  Add -I../bfd for sysdep.h and bfd.h.
9729         * configure.in:  No longer need to configure to get sysdep.h.
9730
9731 Fri Jun  4 16:18:24 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9732
9733         * Makefile.in: remove install:all and install-info:info
9734         dependencies (these cause some spurious rebuilds at 'make install'
9735         time)
9736
9737 Fri Jun  4 08:50:14 1993  Ian Lance Taylor  (ian@cygnus.com)
9738
9739         * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
9740         (mips-idt-ecoff*): Added trailing '*'.
9741         * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
9742         * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
9743         * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
9744
9745         * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
9746         incorrect definitions.
9747
9748 Tue Jun  1 14:56:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
9749
9750         * ldsym.c (write_file_locals):  Write BSF_CONSTRUCTOR
9751         symbols, unless stripping.
9752
9753 Tue May 25 15:34:25 1993  Ian Lance Taylor  (ian@cygnus.com)
9754
9755         * Makefile.in: configure looks for ####, so remove lines with many
9756         '#' characters.
9757         * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
9758         and HOSTING_LIBS correctly so that ``make check'' will work.
9759
9760 Thu May 20 13:56:16 1993  Per Bothner  (bothner@deneb.cygnus.com)
9761
9762         * mips.sc-sh:  Define _etext, _edata, and _end, in addition
9763         to etext, edata, and end.  Needed for IRIX 4.0.5F.
9764         Patch from mwp@iconix.oz.au (Michael Paddon).
9765
9766         * Version 2.2.1 released.
9767
9768 Thu May 20 11:42:06 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9769
9770         * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
9771         * mipsbsd.sh (EMULATION_NAME): Use new file name.
9772
9773 Tue May 18 17:10:24 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9774
9775         * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
9776         properly right now.
9777
9778         * Version 2.2 released.
9779
9780 Mon May 17 15:37:28 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
9781
9782         * ldver.c (ldversion): Bump version number to 2.2.
9783
9784 Mon May 17 12:44:31 1993  Per Bothner  (bothner@cygnus.com)
9785
9786         * NEWS:  New file.
9787
9788 Fri May 14 11:26:24 1993  Ian Lance Taylor  (ian@cygnus.com)
9789
9790         * mips.sc-sh: Don't define BSS_VAR unless relocating.
9791
9792 Wed May 12 13:33:29 1993  Ian Lance Taylor  (ian@cygnus.com)
9793
9794         * Makefile.in (mkscript.o, mkscript): Build mkscript via
9795         mkscript.o, rather than directly from mkscript.c.
9796
9797 Tue May  4 21:58:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9798
9799         * configure.in: Look for ${target_makefile_frag} relative to
9800         ${srcdir}, not relative to build directory.
9801
9802         * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
9803         * configure.in: Recognize hppa*-hp-osf.
9804         * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
9805         (em_hppaosf.c): Build it.
9806         * config/hppaosf.mh, hppaosf.mt: New files.
9807
9808         * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
9809         some system header files.  All uses changed.
9810
9811         * configure.in: Recognize i386-aix configurations as i386-coff
9812         targets.
9813
9814         * configure.in: Recognize m68*-*-hpux.
9815         * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
9816         the value of STACKZERO.
9817         * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
9818         (em_hp3hpux.c): Build it.
9819         * hp3hpux.sh, config/hp300hpux.mt: New files.
9820
9821 Tue May  4 12:37:35 1993  Ian Lance Taylor  (ian@cygnus.com)
9822
9823         * mips.sc-sh: Put constructors in the .data section.
9824         * Makefile.in (cdtest): Added dependency on ld.new.
9825
9826 Mon May  3 19:43:39 1993  Per Bothner  (bothner@cygnus.com)
9827
9828         * Makefile.in:  Change definition of $(tooldir) to match FSF.
9829         * vax.sh, config/vax.mt, configure.in, Makefile.in:
9830         Support VAX Ultrix and BSD.
9831
9832 Mon Apr 26 18:35:47 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
9833
9834         * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
9835
9836 Wed Apr 14 21:01:51 1993  John Gilmore  (gnu@cygnus.com)
9837
9838         * ldlang.h (struct memory_region):  Change `length' and
9839         `old_length' fields to bfd_size_type.  Eliminate use of bfd_offset.
9840         * ldlang.c, mri.c:  Corresponding changes, plus lint.
9841
9842 Thu Apr  8 22:08:18 1993  Ian Lance Taylor  (ian@cygnus.com)
9843
9844         * configure.in: For all i386 targets, accept i486 as well.
9845
9846 Mon Apr  5 17:33:39 1993  Ian Lance Taylor  (ian@cygnus.com)
9847
9848         * ldlang.c (wild_doit): Preserve all flags for a
9849         SEC_SHARED_LIBRARY section.
9850         (size_input_section): Consider any SEC_HAS_CONTENTS section when
9851         computing largest_section.
9852
9853 Fri Apr  2 14:33:52 1993  Ian Lance Taylor  (ian@cygnus.com)
9854
9855         * ldlang.c (lang_output_section_statement_lookup): Initialize all
9856         fields of newly created structure.
9857
9858 Wed Mar 31 18:19:15 1993  Ian Lance Taylor  (ian@cygnus.com)
9859
9860         * ldmain.c (g_switch_value): New variable.
9861         * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
9862         (command_line_option): Accept -G and set g_switch_value.
9863         * ldlex.l (COMMAND): Accept -G.
9864         * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
9865
9866 Tue Mar 30 09:40:25 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
9867
9868         Support for linking and loading at different places:
9869
9870         * ldlex.l: Add "AT" keyword.
9871         * ldgram.y: Cleanup, and parse AT.
9872         * ldlang.c (print_output_section_statement): Print output address
9873         of section in map. (lang_size_sections): Fill sections' lma with
9874         load address.
9875         * ldlang.h (lang_output_section_statement_type): Add load_base
9876         information.
9877
9878         * ldindr.c (add_indirect): Keep more information in the alias
9879         symbol chain.
9880         * ldlang.c (wild_doit):  Don't inherit NEVER_LOAD section
9881         attribute from an input section.
9882         * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
9883         default. (Q_enter_file_symbos): Indirect symbols now are known by
9884         their section, not a special symbol flag.
9885         * ldsym.c (write_file_locals): Indirect symbols aren't local.
9886         (write_file_globals): Write the mapping for an indirect symbol.
9887         * relax.c (build_it): When forced to write a NEVER_LOAD section,
9888         fill it with zeros.
9889
9890 Tue Mar 23 13:24:10 1993  Jeffrey Osier  (jeffrey@fowanton.cygnus.com)
9891
9892         * ld.texinfo:  changes for q1
9893
9894 Tue Mar 23 00:13:29 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9895
9896         * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
9897
9898 Mon Mar  8 20:30:35 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9899
9900         * Makefile.in: rename HOST_CC to CC_FOR_BUILD
9901
9902 Thu Mar  4 12:44:33 1993  Ian Lance Taylor  (ian@cygnus.com)
9903
9904         * mips.sc-sh: Added variables which may be overridden by a
9905         specific emulation.
9906         * mipsidt.sh: New file; emulation for IDT MIPS board.
9907         * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
9908         (em_mipsidt.c): New target.  Uses mipsidt.sh and mips.sc-sh.
9909         * config/mips-idt.mt: New file; sets EMUL to mipsidt.
9910         * configure.in (mips-idt-ecoff): New target; uses mips-idt.
9911
9912 Sat Feb 27 00:00:14 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
9913
9914         * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
9915         ralphc@pyramid.com.
9916         * i386bsd.sh, config/i386bsd.mt: New files.
9917         * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
9918
9919 Thu Feb 25 15:33:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
9920
9921         * mri.c:  Add extern declaration of strdup.
9922         * ldsym.c (KEEP macro):  Add spaces around '=' for the
9923         sake of old (e.g. PCC) compilers.
9924
9925 Wed Feb 24 19:49:31 1993  Per Bothner  (bothner@rtl.cygnus.com)
9926
9927         * ldver.c:  Bump to version 2.1.
9928
9929 Fri Feb 12 08:09:11 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
9930
9931         * ldgram.y: allow section types without address  expressions.
9932         * ldlang.c (lang_relocate_globals): avoid possible hang with
9933         undefined but unreferenced symbols.
9934         * relax.c (relax_section): don't complain if the script file isn't
9935         relaxable but -relax is set
9936
9937 Thu Feb 18 17:58:45 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9938
9939         * configure.in: go32 is the 3rd part of the triple, not the 2nd
9940
9941 Wed Feb  3 09:05:56 1993  Ian Lance Taylor  (ian@cygnus.com)
9942
9943         * mipsbig.sh: New file.  Big endian MIPS emulation.
9944         * config/mips-big.mt: New file.  Use mipsbig emulation.
9945         * configure.in (mips-sgi-irix*): Use target mips-big.
9946         * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
9947         (em_mipsbig.c): New target.  Uses mipsbig.sh.
9948
9949 Tue Feb  2 11:32:27 1993  Ian Lance Taylor  (ian@cygnus.com)
9950
9951         * mips.sc-sh: Put .scommon sections into .sbss section.
9952
9953         * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
9954         rather than always putting them in bfd_com_section.
9955         * ldlang.c (lang_common): If a common symbol is not in
9956         bfd_com_section, put in a section of the same name, rather than
9957         always putting it in section COMMON.
9958
9959 Fri Jan 29 09:57:58 1993  Ian Lance Taylor  (ian@cygnus.com)
9960
9961         * ldmain.c (subfile_wanted_p): If we already have a common
9962         definition of a symbol, don't necessarily pull in an object file
9963         that provides a non-common definition.
9964
9965         * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
9966         returning OPTION_EB and OPTION_EL.  gcc passes these to a MIPS
9967         linker.
9968         * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
9969         (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
9970
9971 Thu Jan 28 15:12:04 1993  Ian Lance Taylor  (ian@cygnus.com)
9972
9973         * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
9974         the link to it.
9975
9976 Tue Jan 26 11:49:50 1993  Ian Lance Taylor  (ian@cygnus.com)
9977
9978         * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
9979         checking for equality to bfd_com_section.
9980
9981 Fri Jan 22 14:22:44 1993  Ian Lance Taylor  (ian@cygnus.com)
9982
9983         * mips.sc-sh: New file.  Ultrix, and hopefully other MIPS ECOFF
9984         targets, linker script.
9985         * mipslit.sh: New file.  Little endian MIPS emulation.
9986         * config/mips-lit.mt: New file.  Use mipslit emulation.
9987         * configure.in (mips-dec-ultrix*): Use target mips-lit.
9988         * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
9989         (em_mipslit.c): New target.  Uses mipslit.sh.
9990
9991 Thu Jan 14 15:30:27 1993  Ian Lance Taylor  (ian@cygnus.com)
9992
9993         * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
9994         $(tooldir)/bin/gld, so that gcc can find it with or without
9995         collect2.
9996
9997 Mon Jan 11 18:50:07 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9998
9999         * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
10000         write_norel.  All linking is now done via write_relax.  Call
10001         ldsym_write before calling write_relax.
10002         * relax.c: Added copyright.
10003         (write_relax): Renamed from write_relaxnorel.  Added relocateable
10004         argument.  seclet_dump renamed to bfd_seclet_link.
10005         * relax.h: Added copyright.
10006
10007 Mon Jan 11 15:41:56 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
10008
10009         * ldmain.c (decode_library_subfile): Patch from
10010         hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
10011
10012 Fri Jan  8 18:04:33 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10013
10014         * config/vxworks960.mt renamed to config/i960.mt
10015
10016         * configure.in: sparc-aout emulates a sun4, as does
10017         sparc*-vxworks, i960-nindy uses gld960 emulation
10018
10019 Fri Jan  8 14:39:07 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
10020
10021          Fix support for NOLOAD, add INCLUDE
10022         * ldfile.c (ldfile_open_command_file): pass file name to
10023         lex_push_file.
10024         * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
10025         * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
10026         attribute.
10027
10028 Thu Jan  7 10:22:19 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10029
10030         * Makefile.in, config.h: no more default emulation.  Make the lack
10031         of emulation a compile time error
10032
10033 Wed Jan  6 01:08:37 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10034
10035         * configure.in: recognise all sparclite variants, not just 'sparclite'
10036
10037 Mon Dec 28 11:15:35 1992  Ian Lance Taylor  (ian@cygnus.com)
10038
10039         * m68kcoff.sc-sh: define _end as well as end, for consistency with
10040         aout.sc-sh.
10041
10042         * configure.in: accept *-ericsson-ose for any m68k CPU.
10043
10044         * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
10045         for each output section.
10046
10047 Mon Dec 21 16:06:59 1992  Per Bothner  (bothner@rtl.cygnus.com)
10048
10049         * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c:  Use new
10050         macro bfd_asymbol_bfd as appropriate.
10051         * Makefile.in:  Un-duplicate ldlex.c dependency.
10052         * condigure.in:  Replace my_host case table by sourcing
10053         ../bfd/configure.host.  Allow std-host as the default.
10054         * ldmisc.c:  Change logic for C++ name demangling:  There is
10055         no initial '_' to remove from stab-derived function names.
10056
10057 Sun Dec 13 16:31:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10058
10059         * ldlang.c (lang_init_script_file): don't attach the output file
10060         sections to the script file.
10061
10062 Wed Dec  9 08:38:05 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10063         * ldlang.c (wild): run expansion loop over command line bfd too.
10064         (lang_ini_script_file): initialize more parts of the command line
10065         bfd.
10066         * ldlex.l: fix DEFINED start states.
10067
10068 Mon Dec  7 08:43:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10069          -y support
10070         * ld.texinfo: new doc.
10071         * ldgram.y, ldlex.l: understand -y<symbol>
10072         * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
10073         print info. (add_ysym): new function.
10074         * ldsym.h: (ldsym_type): new define SYM_Y.
10075
10076 Sat Nov 21 03:15:27 1992  John Gilmore  (gnu@cygnus.com)
10077
10078         * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
10079         ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
10080         ldwrite.h, relax.h:  Replace all uses of EXFUN and PROTO ansi-glue
10081         macros with PARAMS.  Recreational cleanup.  Update copyrights.
10082
10083 Tue Nov 10 00:23:37 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10084
10085         * Makefile.in: pass down the bfd source directory for includes
10086
10087 Thu Nov  5 15:41:55 1992  Ian Lance Taylor  (ian@cygnus.com)
10088
10089         * ldlang.c (lang_size_sections): don't change size and address for
10090         SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
10091         sections.
10092
10093 Thu Nov  5 11:33:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10094
10095         * relax.c (build_it): re-enable the processing of data_statements
10096         in scripts, makes counted contructor lists work again.
10097
10098 Thu Nov  5 05:43:01 1992  John Gilmore  (gnu@cygnus.com)
10099
10100         * ldemul.h:  Remove uses of SDEF and PROTO macros (use PARAMS).
10101
10102 Tue Oct 20 10:56:06 1992  Ian Lance Taylor  (ian@cygnus.com)
10103
10104         * m68kcoff.sc-sh: don't use initial underscores for etext, edata
10105         and end.
10106
10107 Mon Oct 19 09:45:38 1992  Ian Lance Taylor  (ian@cygnus.com)
10108
10109         * Support for i386-sysv.
10110         configure.in: check for i386-*-sysv* and i386-*-sco*.
10111         i386coff.sc-sh: rewrote to support SVR3 by default.
10112         ldctor.c (find_constructors): preserve stat_ptr.
10113         ldlang.c (wild_doit): initialize vma and size of new output
10114         section to corresponding input section.  This is required for
10115         shared library support.
10116         (lang_size_sections): don't modify vma and size of sections which
10117         are never loaded (for shared libraries).
10118         ldwrite.c (copy_and_relocate): copy the contents of any section
10119         which has contents, not just sections which are loaded (for shared
10120         libraries).
10121
10122 Thu Oct 15 15:20:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10123
10124         * ldlang.c (size_input_section): count the sizes of all sections
10125         we allocate.
10126
10127 Thu Oct  8 09:05:25 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10128
10129         * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
10130         to demangle symbols better
10131
10132 Tue Oct  6 13:08:54 1992  Ian Lance Taylor  (ian@cygnus.com)
10133
10134         * ldlang.c (lang_finish): don't warn if -e start symbol does not
10135         exist when linking with -r.
10136
10137 Mon Oct  5 14:07:37 1992  Ian Lance Taylor  (ian@cygnus.com)
10138
10139         * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
10140         .bss segment.
10141
10142 Mon Oct  5 08:55:14 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10143
10144         * ldmain.c (linear_library): don't even think about processing
10145         an object file if it's already been done
10146
10147 Thu Oct  1 23:14:59 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10148
10149         * configure.in: the hp9000/300 config file is now hp300
10150
10151 Wed Sep 30 07:34:09 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10152
10153         * config/z8ksim.mt: new file
10154
10155 Fri Sep 25 13:49:52 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
10156
10157         * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
10158         lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
10159
10160         * ld.h (strip_symbols_type): Add value STRIP_SOME.
10161         * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
10162         * ldlang.c (lang_add_keepsyms_file): New function.
10163         * ldlex.l: Handle "-retain-symbols-file".
10164         * ldsym.c (keepsyms_file, kept_syms): New vars.
10165         (process_keepsyms): New functihon; reads file, marks symbols for
10166         saving.
10167         (write_file_locals): File symbols should always be kept.
10168         (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
10169         and "-s".  Process retain-symbols file before setting symtab.
10170         * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
10171         (keepsyms_file, kept_syms): Declare them.
10172
10173         * ldmain.c (main): Non-fatal errors should still cause non-zero
10174         exit status even with -r.
10175
10176 Fri Sep 25 11:08:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10177
10178         Added initial support for the z8k
10179         * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
10180         * configure.in, Makefile.in: modified to reflect above
10181
10182         * ldlang.c (lang_check): when linking conflicting architectures,
10183         make the output file reflect at least one of the bad inputs.
10184
10185 Tue Sep 15 15:35:38 1992  Ian Lance Taylor  (ian@cygnus.com)
10186
10187         * Makefile.in (install): if $(tooldir) exists, install ld in
10188         $(tooldir)/bin.
10189
10190 Fri Sep 11 10:24:22 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10191
10192         * Makefile.in, configure.in: modified to support i386-coff
10193         * i386coff.sh: new file
10194
10195 Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
10196
10197         * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
10198         added m68k-coff emulation mode, stolen from a29k emulation.
10199         Almost certainly wrong, but perhaps better than sun3.
10200
10201 Thu Sep  3 14:19:30 1992  Per Bothner  (bothner@rtl.cygnus.com)
10202
10203         * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
10204         gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
10205         vanilla.em:  Rename all (generated) ld__*.c files to em_.c.
10206         This is one character shorter, and lets people build on
10207         SVR3 system. (ld__h8300xray.[co] was the killer there;
10208         h8300xray.sc-sh is also overlong, but seems harmless.)
10209         Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
10210         * Makefile.in (clean):  Fix typo mostclean -> mostlyclean.
10211         * configure.in:  Add host isc.
10212
10213         * ldver.c:  Call it version 2.0.
10214
10215 Wed Sep  2 00:21:33 1992  Per Bothner  (bothner@rtl.cygnus.com)
10216
10217         * ldver.c:  Bump to version 0.98.
10218         * TODO:  New file.
10219
10220         * Makefile.in:  Added mostlyclean, distclean, realclean rules.
10221
10222 Tue Sep  1 23:42:16 1992  Per Bothner  (bothner@rtl.cygnus.com)
10223
10224         * ldmisc.c (xrealloc):  New (needed by ../libiberty/cplus.dem.c).
10225         * ldlex.l: Moved comment() to end, since some compilers
10226         otherwise have problems with input() used before it is defined.
10227
10228 Tue Sep  1 17:45:51 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10229
10230         * configure.in: added Solaris 2 and Irix 4 host support.
10231
10232 Mon Aug 31 19:27:11 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10233
10234         * Makefile.in: remove -S flag from the FLEX definition
10235
10236         * configure.in: rewrote, using new style case statement.  use
10237         m68k.mt for m68k-aout systems
10238
10239 Sun Aug 30 21:38:53 1992  Ian Lance Taylor  (ian@cygnus.com)
10240
10241         * Makefile.in: map "ld" through program_transform_name when
10242         installing.
10243
10244 Sun Aug 30 18:12:13 1992  Per Bothner  (bothner@rtl.cygnus.com)
10245
10246         * cplus-dem.c:  Removed.  Use the version in libiberty now.
10247         * ldmisc.c:  Use new libiberty version of cplus_demangle().
10248
10249 Thu Aug 27 16:38:42 1992  Ian Lance Taylor  (ian@cygnus.com)
10250
10251         * gld960.em (gld960_choose_target): default to little endian, not
10252         big endian.
10253
10254 Wed Aug 26 17:28:51 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10255
10256         * ldlang.c (lang_process): don't pass null pointers when
10257         abs_output_section is what is required.
10258         * ldwrite.c (ldwrite): use malloc to allocate the largest space
10259         used, and pass that down.
10260         * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
10261         than alloca.
10262
10263 Mon Aug 24 14:42:06 1992  Ian Lance Taylor  (ian@cygnus.com)
10264
10265         * configure.in, config/ose68.mt: renamed OSE to ose.
10266
10267 Thu Aug 20 19:55:22 1992  Ken Raeburn  (raeburn@cygnus.com)
10268
10269         * ldsym.c (write_file_locals): Reorder check for common or
10270         undefined symbols so that it works.
10271
10272 Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)
10273
10274         * configure.in: accept all m68K family members.
10275
10276         * Makefile.in: always create installation directories.
10277
10278 Thu Aug 13 11:49:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10279
10280         * ldlex.l: now parses comment correctly, added ~ to acceptable
10281         chars in filenames
10282
10283         * ldexp.c (exp_unop): pass down abs_output_section - now can have
10284         unary -ve constants.
10285
10286         * ldlang.c (lang_finish): warn when an entry symbol supplied on
10287         the command line can't be found.
10288
10289 Fri Aug  7 12:31:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10290
10291         * ldlang.h: add new field "loadable" to output_section_statement.
10292         * ldlang.c (lang_output_section_statement_lookup): initilize new
10293         field. (wild_doit): if new field is not set, then stop output
10294         section from being loadable.
10295         (lang_enter_output_section_statement): set the field from the
10296         NOLOAD keyword
10297         * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
10298         * h8300hms.sc-sh, h8300hms.em: get -r right.
10299
10300 Thu Aug  6 18:35:21 1992  Per Bothner  (bothner@rtl.cygnus.com)
10301
10302         * ldint.texinfo:  New internals manual (beginnings thereof).
10303         * PORTING:  Removed, merged into ldint.texinfo.
10304
10305 Tue Aug  4 21:12:29 1992  Per Bothner  (bothner@rtl.cygnus.com)
10306
10307         * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
10308         cdtest.exp:  A test program (copied from libg++/test-install)
10309         that tests that constructor and destructors are handled
10310         corrrectly.
10311
10312 Mon Aug  3 14:58:19 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10313
10314         * Makefile.in (install): install from ld.new, renaming during the
10315         copy, or else the next 'make install' needs to re-link ld.
10316
10317 Mon Jul 20 03:37:06 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
10318
10319         * configure.in: generalise hp recognition (from sef).
10320
10321 Sat Jul 18 14:46:04 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
10322
10323         * configure.in: recognize bsd and hpux hppa configurations.
10324         error messages echo to stderr, not stdout
10325
10326 Fri Jul 17 22:06:11 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
10327
10328         * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
10329           ldmisc.c: removed rcsid's.
10330
10331 Tue Jul 14 08:34:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10332
10333         * ldlang.c (lang_map): print changes in sizes due to relaxing
10334         (size_input_section): maintain the delta information.
10335         * ldlang.h: add new field to struct to contain delta info.
10336         * relax.c  (relax_section): complain if input not relaxable.
10337         * ldlex.l : add '_', ',' and '$' to chars which can appear at the
10338         start of a filename
10339
10340 Mon Jul 13 17:33:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10341
10342         * ldmain.c(main): prevent -r and -relax from being on at the same
10343         time.
10344
10345 Wed Jul  1 17:51:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10346
10347         * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
10348         aliasing problems
10349
10350
10351 Thu Jun 18 09:38:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10352
10353         * h8300hms.em, h8300hms.sc-sh:  do the right thing for -r
10354         * ldexp.c:  lint
10355         * ldlang.c(open_output): set the target arch and machine as soon
10356         as we can. (lang_size_sections): use new macros for setting vma
10357         * ldwrite.c: lint
10358
10359 Mon Jun 15 08:47:43 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
10360
10361         * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
10362         Also deleted an unreachable path to wrs.
10363
10364 Wed May 27 23:24:19 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
10365
10366         * Makefile.in (install): use -d test for $tooldir before
10367         installing ld there so that $tooldir can be inherited from
10368         top-level Makefile.
10369
10370 Wed May 27 16:56:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
10371
10372         * ldlang.c:  Two non-substantial changes for the sake of
10373         the old Portable C Compiler.
10374
10375 Wed May 27 15:15:58 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10376
10377         * ldgram.y, ldlex.l: parse ABSOLUTE
10378         * ldexp.c: add support for ABSOLUTE
10379
10380 Wed May 27 13:07:20 1992  Per Bothner  (bothner@rtl.cygnus.com)
10381
10382         * Makefile.in:  Added default definitions for HOSTING_CRT0,
10383         HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
10384         * config/*.mh:  Miscellaneous clean-up:  Removed definitions
10385         of YACC (since it is not longer used in the Makefile).
10386         Remove HOSTING_* definitions that are subsumed by the
10387         ones added to Makefile.in.  Removed most definitions of CC.
10388         * config/{sparc,news,hp300bsd,decstation}.mh:  Removed;
10389         These are no longer needed.
10390
10391 Fri May 22 13:47:19 1992  Per Bothner  (bothner@cygnus.com)
10392
10393         * Makefile.in:  Use srcdir instead of VPATH in ldgram/ldlex
10394         rules, since these are used when building a distribution.
10395         * Makefile.in (ldlex.c):  Don't re-direct output, since that
10396         leaves a bogus output files if it fails.
10397
10398         * config/sparc.mh:  Fix HOSTING_LIBS so it has a chance of working.
10399         * ldlex.c:  Fix some unnecessary flex-specific-isms.
10400
10401 Fri May  8 11:49:43 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10402
10403         * ldgram.y: move spurious semicolon
10404         * ldexp.h: fix prototype
10405
10406 Thu May  7 17:01:12 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
10407
10408         * ld.texinfo: references to linker now say "ld" not "gld".
10409
10410 Wed May  6 13:26:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10411
10412         changed calling convention for Q_enter_global_ref
10413         * ldexp.c, ldlang.c, ldmain.c: reflect this
10414         * ldver.c: bump version to 1.97.1
10415         * ldindr.c (add_indirect): when an edict declaring an indirect
10416         symbol is found, make sure that any ideas about the symbol being
10417         common are changed if it now known to be defined.
10418         * ldmain.c (linear_library): complain once if archive isn't
10419         ranlibbed.
10420         * ldlang.h, ldlang.c: make room for and initialize the complain
10421         once field.
10422
10423 Wed May  6 11:07:35 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
10424
10425         * Makefile.in: use flex & bison from ../ if they exist.
10426
10427 Tue May  5 17:47:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10428
10429         * relax.c (build_it): don't allocate space in the output file for
10430         stuff if -R flag applys to it.
10431         * ldfile.c: merge in VMS filename support
10432         * ldmain.c (main): take out ./ from library path, and close file
10433         before unlinking. Make multiple defs of a symbol create an
10434         unexecable file.
10435         * ldmisc.c: fatal errosrs delete output file
10436
10437 Tue May  5 14:05:05 1992  Per Bothner  (bothner@rtl.cygnus.com)
10438
10439         * ldver.c:  Increase version number to 1.97, for consistency
10440         with ../binutils.
10441
10442 Tue May  5 12:12:24 1992  K. Richard Pixley  (rich@cygnus.com)
10443
10444         * Makefile.in: FLEX -> LEX.
10445
10446         * ld.texinfo: {} -> @{@}.
10447
10448 Mon May  4 17:52:41 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
10449
10450         * ld.texinfo: describe alternate, MRI-compatible linker scripts
10451         (and associated change in -c option, now used for these scripts)
10452
10453 Mon May  4 16:10:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10454
10455         * ldver.c: Bumped version to 1.96 - new release, resync with the
10456         bfd too #.
10457         * ldexp.c, ldlang.c: now build memory shape tree in obstacks
10458         rather than with raw malloc, makes it easier to track where memory
10459         is going.
10460         * ldsym.h, ldsym.c: create obstack for all global symbols too.
10461         * ldwrite.c (ldwrite): moved malloc so only used when needed.
10462         * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
10463
10464
10465 Fri May  1 18:17:52 1992  K. Richard Pixley  (rich@cygnus.com)
10466
10467         * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
10468
10469         * Makefile.in: use bootstrap for check.
10470
10471 Fri May  1 13:03:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10472
10473         * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
10474         PUBLIC.
10475         * Makefile.in: now use flex, not lex
10476         * ldlex.l, ldlang.c, ldctor.c: lint
10477
10478 Wed Apr 22 12:48:42 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10479
10480         * ldlex.l: added CMDFILENAMECHAR state so that you can lex
10481         different sorts of filenames on the command line than in a script.
10482
10483 Mon Apr 20 22:37:04 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
10484
10485         * Makefile.in: rework CFLAGS so that they can be passed on the
10486           make command line.  Remove MINUS_G.  Default CFLAGS to -g.
10487
10488 Fri Apr 17 08:57:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10489
10490         * relax.c: added handling for new "padding" seclet type, used to
10491         fill out gaps between section.
10492         * ldgram.y, ldlex.l: now -defsym on the command line is done
10493         properly.
10494
10495 Wed Apr 15 21:20:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
10496
10497         * Makefile.in: the tooldir copy of ld goes directly in tooldir.
10498
10499 Wed Apr 15 16:09:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10500
10501         * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
10502         scripts.
10503
10504 Thu Apr  9 05:52:02 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
10505
10506         * Makefile.in (install): Install second copy in $(tooldir)/bin
10507         without $(program_prefix), since that's what gcc expects.
10508
10509 Sat Apr  4 17:44:06 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10510
10511         * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
10512         * h8300*: fix bit rot and add support for h8300xray target
10513         * go32.sh: target emulation for go32.
10514
10515 Mon Mar 16 14:53:29 1992  Steve Chamberlain  (sac@rtl.cygnus.com)
10516
10517         * gld960.em, i960.sc-sh. Fix i960 bit rot
10518
10519 Fri Mar 13 19:47:22 1992  K. Richard Pixley  (rich@cygnus.com)
10520
10521         * Makefile.in: install man page.
10522
10523 Fri Mar 13 08:23:59 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10524
10525         * config/mt-<foo> renamed to <foo>.mt
10526         * config/mh-<foo> renamed to <foo>.mt
10527         * configure.in changed to reflect this
10528         * genscripts.sh now make .xbn files rather than .xN files
10529
10530 Sat Mar  7 03:40:40 1992  K. Richard Pixley  (rich@cygnus.com)
10531
10532         * ldver.h: fix decl of ldversion.
10533
10534 Fri Mar  6 22:00:35 1992  K. Richard Pixley  (rich@cygnus.com)
10535
10536         * Makefile.in: added check target.
10537
10538 Fri Mar  6 06:59:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10539
10540         * ldmain.c (Q_enter_file_symbols): now aliases work again
10541
10542 Thu Mar  5 21:39:29 1992  K. Richard Pixley  (rich@cygnus.com)
10543
10544         * Makefile.in: added clean-info target.
10545
10546 Thu Mar  5 16:55:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
10547
10548         * ldexp.c (exp_print_tree): don't try and follow null pointers
10549         around.
10550         * ldgram.y: remove 11 shift reduce errors
10551
10552 Tue Mar  3 15:46:39 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
10553
10554         * Makefile.in: added tooldir and program_prefix.
10555
10556 Fri Feb 28 08:17:45 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
10557
10558         * ldlang.c (size_input_section): don't move absolute sections
10559         around!
10560
10561
10562 Thu Feb 27 09:20:41 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
10563
10564         * cplus-dem.c: yet another copy of this - maybe it should go into
10565         libiberty ?
10566         * ldgram.y: now -V and -v have different actions
10567         * ldver.c: if -V, prints list of emulations compiled in
10568         * ldmisc.c: support for cplus demangling
10569
10570
10571 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
10572
10573         * Makefile.in, configure.in: removed traces of namesubdir,
10574           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
10575           copyrights to '92, changed some from Cygnus to FSF.
10576
10577 Thu Feb 20 17:43:46 1992  Per Bothner  (bothner at cygnus.com)
10578
10579         * Makefile.in:  Change mkscript rule into one for ./mkscript
10580         (for the sake of makes that don't realize they're the same).
10581         * PORTING:  Add more details.
10582         * genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
10583
10584 Mon Feb 17 12:04:36 1992  Per Bothner  (bothner at cygnus.com)
10585
10586         * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
10587         config/mt-hp300bsd:  New port to hp300 running BSD.
10588
10589 Sat Feb 15 13:59:54 1992  Per Bothner  (bothner at cygnus.com)
10590
10591         Major rewrite of how ld is configured.  The major idea
10592         is to use shell scripts to generate everything.
10593         * generic.em replaces ldtemplate.
10594         * Other *.em files replace various *.c files.
10595         A *.em file is a shell script that generates the corresponding
10596         ld__*.c file that implements an emulation.  This is usually
10597         a straight 'cat' of a here-document, possibly with substitutions.
10598         * Script files (*.sc) are places by *.sc-sh scripts.
10599         Again, these are simple shell scripts that 'cat'
10600         here-documents, usually with some substitutions.
10601         The output a *.sc-sh is a script file.
10602         * Each emulation is defined by a short shell script with
10603         extension *.sh that specifies the emulation-specific
10604         parameters (such as the name of the *.sh-sc and *.em
10605         files to use).
10606         * genscript.sh is the master shell script used to generate
10607         an emulation.  It is passed various argument, including
10608         the name a the emulation-speciic *.sh file that it
10609         "sources" to set variables to emulation-specifc parameters.
10610         * config/mt-foo:  Changed EMUL=GLDFOO_EMULATION_NAME
10611         to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
10612         * config/mh-foo:  Rename LDEMULATION names as appropriate
10613         (usually 'gldfoo' -> plain 'foo').
10614         * ldwrite.c:  Fixed a typo in a comment.
10615         * Makefile.in:  Major changes.  Removed some the sed
10616         magic to converts scripts, since that is now handled
10617         by genscripts.sh and the *.sc-sh scipt generators.
10618         * config.h:  Remove a bunch of macros defining emulations
10619         and targets.  This becomes one less file to edit when
10620         adding emulations or targets.
10621         * ldemul.h (struct ld_emulation_xfer_struct):  Add
10622         emulation_name and target_name fields.
10623         * ldemul.c, ldemul.h:  Define some default functions used
10624         by most emulations (and remove from the *.em scripts).
10625         * ldemul.c (ldemul_choose_target):  Search the new
10626         ld_emulations array using a loop (instead of a hardwired
10627         nested if statement).
10628         Define the ld_emulation from the automatically-geenrated
10629         ldemul-list.h.  This means you no longer have to edit ldemul.c
10630         to add a new emulation.
10631         * ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
10632         their expansions, since the former no longer exist.
10633         * PORTING:  A very rough first draft of a porting guide.
10634
10635         * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
10636         to be terminated by a new-line (instead of requiring a semicolon).
10637
10638 Mon Feb 10 16:21:02 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10639
10640         * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
10641         tests for NULL pointers all over the place.
10642         * ldlang.c (lang_process): remember to relocate global symbols
10643         *after* relaxing has done it stuff.
10644
10645 Thu Feb  6 11:40:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10646
10647         * config/mt-coff-h8300: use EMUL like everything else
10648         * ldlang.c: (print_padding_statement): print the right address.
10649         * Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
10650
10651
10652 Tue Feb  4 15:28:01 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10653
10654         * ldlex.l: Put pack -noinhibit-exec and -sort-common
10655         * ldlang.c (print_data_statement): print the right address.
10656
10657 Thu Jan 30 17:51:53 1992  Per Bothner  (bothner at cygnus.com)
10658
10659         * Makefile.in:  The rule for testing ld by re-linking itself
10660         via an intermediate -r link was moved to the ld1 rule
10661         instead of the ld2 rule.  This allows ld2 and ld3 to be identical,
10662         which allows the bootstrap rule to work.
10663         * ldctor.c (find_constructors):  Don't create a constructor
10664         list if it is already defined (as would happen if ld is
10665         invoked by collect).
10666
10667 Wed Jan 29 08:35:39 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10668
10669         * config/mh-sparc.h: now uses libgcc.a
10670         * ldmain.c: quit using exit
10671         * *sc: use *(COMMON) rather than [COMMON]
10672         * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
10673         to allow preprocessing of .l file.
10674         * Makefile.in: New ldlex.l mangling
10675         * ldexp.c (fold_binary): perform expressions with % and / in
10676         integer.
10677         * ldfile.c (open_a): open archives on VMS in a special way
10678
10679
10680 Tue Jan 28 10:18:16 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10681
10682         * ldgram.y: map -M behave in the same way as -Map (sets file name
10683         to be "-".
10684         * ldsym.c, ldlang.c: remember that size of a section is dependent on
10685         whether or not relaxing has been done.
10686         * ldmain.c: don't open a map file if it doesn't have a name
10687         * relax.c: all the brains have moved into bfd.
10688         * ldwrite.c: ammend comment
10689
10690 Fri Jan 24 14:23:46 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
10691
10692         * Makefile.in: added relax, also made three stage go through a
10693         partial link stage.
10694         * relax.c : added
10695         * config.h: if GNU960 defined, then default emulation mode is
10696         GLD960
10697         * ldexp.h, ldexp.c: map to file hooks
10698         * ldlang.c: map to file hooks
10699         * ldgram.y: added -Map -relax
10700         * ldlex.l: added -relax, -Map
10701         * ldmain.c: open map file
10702         * ldmisc.c: support for map file
10703         * ldwrite.c: new relax magic
10704
10705 Thu Dec 19 18:49:51 1991  John Gilmore  (gnu at cygnus.com)
10706
10707         * Makefile.in, config/tm-*.h:  Clean up make output, only
10708         pass DEFAULT_EMULATION to ldmain.c.
10709
10710 Wed Dec 18 15:02:47 1991  Per Bothner  (bothner at cygnus.com)
10711
10712         * ldver.c:  Bump to version 1.94.
10713
10714 Tue Dec 10 04:07:23 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
10715
10716         * Makefile.in: infodir belongs in datadir.
10717
10718 Mon Dec  9 16:26:43 1991  Per Bothner  (bothner at cygnus.com)
10719
10720         * Makefile.in:  Pass -y to bison.  (Again;
10721         accidentally deleted by Rich.)
10722         * news.sc, ldgld68k.sc:  Define __end as well as _end.
10723
10724 Sat Dec  7 17:19:26 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
10725
10726         * ldindr.h: added to contain prototypes of ldindr.c
10727         * ldfile.c: include ctype.h
10728         * ldmain.c: include the requried prototype headers
10729         * ldwrite.c: get_reloc_upper_bound has been renamed
10730         bfd_get_reloc_upper_bound
10731
10732 Fri Dec  6 23:29:26 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
10733
10734         * Makefile.in: punt "fundamental" mode because it breaks my emacs
10735           macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
10736           spaces following hyphens, bsd make can't cope.  added
10737           standards.text support and made it look like all the other
10738           makefiles.
10739
10740         * configure.in: configure now runs entirely in objdir so make file
10741           existence checks against ${srcdir}.  Mark this directory as
10742           target dependent.
10743
10744 Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
10745
10746         * Makefile.in: idestdir and ddestdir go away.  Added copyrights
10747           and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
10748           and mandir now keyed off datadir by default.
10749
10750 Wed Dec  4 23:36:55 1991  Per Bothner  (bothner at cygnus.com)
10751
10752         * ldver.c:  Bumped version to 1.93.
10753         * Makefile.in:  Pass -y to bison.
10754
10755 Mon Nov 25 18:28:40 1991  Steve Chamberlain  (sac at cygnus.com)
10756
10757         * config.h: h8 is now coff, not ieee
10758         * h8300hds.sc: reflect the same
10759
10760 Thu Nov 14 19:55:09 1991  Per Bothner  (bothner at cygnus.com)
10761
10762         * ldver.c (ldversion()):  Update to 1.92.
10763         * ldctor.c: There are two places constructor sets
10764         can be defined.  One of them checked for an existing
10765         duplicate, the other didn't.  Unfortunately, the latter
10766         was called after the former ...
10767         So, factor out code for inserting a new element into
10768         constructor_name_list (after checking for a duplicate)
10769         into a new function add_constructor_name, and call
10770         it from both aforementioned places (ldlang_add_constructor
10771         and ldlang_check_for_constructors).
10772
10773 Wed Nov 13 15:17:43 1991  Per Bothner  (bothner at cygnus.com)
10774
10775         * Makefile.in:  Rename .c files generated from ldtemplate
10776         to have names starting with ld__.  This helps 'make clean'.
10777
10778 Tue Nov 12 18:36:50 1991  Steve Chamberlain  (sac at cygnus.com)
10779
10780         * Makefile.in: Take out the version number for install
10781         * m88kbcs.sc: put in contructor blocks.
10782
10783 Mon Nov 11 18:47:33 1991  Per Bothner  (bothner at cygnus.com)
10784
10785         * ldmisc.c, ldmisc.h:  Re-write info() to take a filename
10786         parameter, a format, and an arg pointer, and rename it to
10787         vfinfo().  Write info() in terms of new vfinfo().
10788         New einfo() is the same as info(), except it writes to stderr.
10789         * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
10790         ldmisc.c:  Replace "error" calls to info() by new einfo().
10791
10792 Mon Nov 11 09:57:32 1991  Steve Chamberlain  (steve at cygnus.com)
10793
10794         * ldlex.l ldgram.y: made -V option do same as -v
10795         * Makefile.in: Added $(MINUS_G) flag so debugging can be
10796         turned off
10797
10798 Sun Nov  3 16:37:37 1991  Steve Chamberlain  (steve at cygnus.com)
10799          i386 aout changes from Bob Kukura
10800         * Makefile.in, config.h: added i386aout support
10801         * configure.in: fixed /h-{myhost} typo
10802         * ldgram.y: -MM now gives more boring map.
10803         * ldlang.c: now does D_PAGED flag the right way.
10804         * ldsym.c: -MM flags does the right thing.
10805
10806 Sun Nov  3 15:00:03 1991  Per Bothner  (bothner at cygnus.com)
10807
10808         * configure.in:  Fixed typo.  Also, a fix for hp300bsd.
10809         * ldlang.c (init_os):  Compensate for BFD change,
10810         where bfd_make_section now returns NULL for a duplicate
10811         section request, instead of the old section.
10812
10813 Thu Oct 17 15:27:13 1991  Per Bothner  (bothner at cygnus.com)
10814
10815         * ldver.c: Bump to version 1.91 (consistent with binutils).
10816
10817 Wed Oct 16 12:27:08 1991  Per Bothner  (bothner at cygnus.com)
10818
10819         * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
10820         ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
10821         ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
10822         ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
10823         Add or update copyright notices.
10824
10825 Mon Oct 14 23:55:27 1991  Per Bothner  (bothner at cygnus.com)
10826
10827         * README: New file.
10828         * Makefile.in:  Changed installation directory name scheme
10829         to be consistent with gcc.  Also changed 'install'.
10830
10831 Mon Oct 14 17:30:02 1991  Roland H. Pesch  (pesch at cygnus.com)
10832
10833         * Makefile.in: new targets ld.mm, ld.me
10834
10835 Mon Oct 14 17:27:24 1991  Per Bothner  (bothner at cygnus.com)
10836
10837         * Makefile.in, ldtemplate:  Need to use separate scripts
10838         for -n and -N options.  Yet more complication.
10839
10840 Fri Oct 11 22:40:46 1991  John Gilmore  (gnu at cygnus.com)
10841
10842         * Makefile.in:  Avoid using $< in explicit Make rules (it doesn't
10843         work).  Add some lines to avoid Sun Make VPATH bugs.
10844
10845 Fri Oct 11 16:42:22 1991  Per Bothner  (bothner at cygnus.com)
10846
10847         * news.sc: Add alignment for data segment.
10848         * ldtemplate: Add (yet another) script to get for -n or -N
10849         options.  (These need different alignment than ZMAGIC files.)
10850         * Makefile.in:  Add stuff for new foo.xn scripts.
10851         These are generated by replacing "ALIGN(0x...00)" by ".".
10852
10853 Fri Oct 11 15:43:04 1991  Roland H. Pesch  (pesch at cygnus.com)
10854
10855         * Makefile.in: new targets ld.ms, ld-index.ms
10856         ld.texinfo: remove tabs, other cleanups for texi2roff
10857
10858 Fri Oct 11 13:51:54 1991  Per Bothner  (bothner at cygnus.com)
10859
10860         * ldmain.c (main): Make config.magic_demand_paged be true
10861         by default.  Don't set the WP_TEXT and D_PAGED flags of
10862         output_bfd here; it's too late, so set it when output_bfd
10863         is created (in ldlang.c).  Also fix setting of EXEC_P flag
10864         * ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
10865         * ldlang.c: Remove some duplicate extern declarations.
10866         * ldgram.y: Fixes to -N and -n options.
10867         * Makefile.in:  Recognize upper case letters in sed script
10868         to remove assignments from script files.
10869         * ldtemplate:  Don't assukme that -N or -n options
10870         imply use of -r script.
10871         * mkscript.c:  Tweaking to correctly handle \n and \\ in input.
10872
10873 Fri Oct 11 10:29:27 1991  Steve Chamberlain  (steve at cygnus.com)
10874
10875         * ldtemplate: include bfd.h before sysdep.h.
10876
10877 Fri Oct 11 04:24:45 1991  John Gilmore  (gnu at cygnus.com)
10878
10879         Restructure configuration scheme for bfd, binutils, ld.
10880
10881         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
10882         * configure.in:  Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
10883         Change some config names to match other dirs.
10884         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
10885         get defined first.
10886         * config/:  Rename some config files to match up h-*.h names.
10887         Remove all the HOST_SYS definitions from the config files.
10888
10889 Tue Oct  8 16:00:57 1991  Per Bothner  (bothner at cygnus.com)
10890
10891         * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
10892         * ldtemplate: Remove ldfile_add_library_path calls;
10893         just use the SEARCH_DIR commands in the script files.
10894         * Makefile.in: Add LIB_PATH macro, which if set is used to replace
10895         the SEARCH_DIR commands in the scripts (using ugly sed magic).
10896         This is primarily intended for cross-linking, where you would
10897         place libaries in a different place than native libraries.
10898         Also, emulations made from ldtemplate now use $(srcdir).
10899         * ldglda29k.sc:  Change SEARCH_DIR commands to a conventional
10900         form; people can use the Makefile's LIB_PATH to override.
10901
10902 Tue Oct  8 14:51:21 1991  Roland H. Pesch  (pesch at cygnus.com)
10903
10904         * Makefile.in: fix target ld.dvi, add target ld.info
10905         ld.texinfo: make info filename ld.info
10906
10907 Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
10908
10909         * Makefile.in:  Avoid using $< in non-suffix rules (breaks on Sun
10910         Make).
10911         * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
10912         few BFD types & enums.
10913
10914 \f
10915 Local Variables:
10916 mode: change-log
10917 left-margin: 8
10918 fill-column: 74
10919 version-control: never
10920 End: