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