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