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