* ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
[external/binutils.git] / ld / ChangeLog
1 Sat Nov 21 03:15:27 1992  John Gilmore  (gnu@cygnus.com)
2
3         * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
4         ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
5         ldwrite.h, relax.h:  Replace all uses of EXFUN and PROTO ansi-glue
6         macros with PARAMS.  Recreational cleanup.  Update copyrights.
7
8 Tue Nov 10 00:23:37 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9
10         * Makefile.in: pass down the bfd source directory for includes
11
12 Thu Nov  5 15:41:55 1992  Ian Lance Taylor  (ian@cygnus.com)
13
14         * ldlang.c (lang_size_sections): don't change size and address for
15         SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
16         sections.
17
18 Thu Nov  5 11:33:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
19
20         * relax.c (build_it): re-enable the processing of data_statements
21         in scripts, makes counted contructor lists work again.
22
23 Thu Nov  5 05:43:01 1992  John Gilmore  (gnu@cygnus.com)
24
25         * ldemul.h:  Remove uses of SDEF and PROTO macros (use PARAMS).
26
27 Tue Oct 20 10:56:06 1992  Ian Lance Taylor  (ian@cygnus.com)
28
29         * m68kcoff.sc-sh: don't use initial underscores for etext, edata
30         and end.
31
32 Mon Oct 19 09:45:38 1992  Ian Lance Taylor  (ian@cygnus.com)
33
34         * Support for i386-sysv.
35         configure.in: check for i386-*-sysv* and i386-*-sco*.
36         i386coff.sc-sh: rewrote to support SVR3 by default.
37         ldctor.c (find_constructors): preserve stat_ptr.
38         ldlang.c (wild_doit): initialize vma and size of new output
39         section to corresponding input section.  This is required for
40         shared library support.
41         (lang_size_sections): don't modify vma and size of sections which
42         are never loaded (for shared libraries).
43         ldwrite.c (copy_and_relocate): copy the contents of any section
44         which has contents, not just sections which are loaded (for shared
45         libraries).
46
47 Thu Oct 15 15:20:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
48
49         * ldlang.c (size_input_section): count the sizes of all sections
50         we allocate.
51
52 Thu Oct  8 09:05:25 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
53
54         * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to 
55         to demangle symbols better
56
57 Tue Oct  6 13:08:54 1992  Ian Lance Taylor  (ian@cygnus.com)
58
59         * ldlang.c (lang_finish): don't warn if -e start symbol does not
60         exist when linking with -r.
61
62 Mon Oct  5 14:07:37 1992  Ian Lance Taylor  (ian@cygnus.com)
63
64         * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
65         .bss segment.
66
67 Mon Oct  5 08:55:14 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
68
69         * ldmain.c (linear_library): don't even think about processing 
70         an object file if it's already been done
71
72 Thu Oct  1 23:14:59 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
73
74         * configure.in: the hp9000/300 config file is now hp300
75
76 Wed Sep 30 07:34:09 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
77
78         * config/z8ksim.mt: new file
79
80 Fri Sep 25 13:49:52 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
81
82         * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
83         lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
84
85         * ld.h (strip_symbols_type): Add value STRIP_SOME.
86         * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
87         * ldlang.c (lang_add_keepsyms_file): New function.
88         * ldlex.l: Handle "-retain-symbols-file".
89         * ldsym.c (keepsyms_file, kept_syms): New vars.
90         (process_keepsyms): New functihon; reads file, marks symbols for
91         saving.
92         (write_file_locals): File symbols should always be kept.
93         (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
94         and "-s".  Process retain-symbols file before setting symtab.
95         * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
96         (keepsyms_file, kept_syms): Declare them.
97
98         * ldmain.c (main): Non-fatal errors should still cause non-zero
99         exit status even with -r.
100
101 Fri Sep 25 11:08:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
102
103         Added initial support for the z8k
104         * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
105         * configure.in, Makefile.in: modified to reflect above
106
107         * ldlang.c (lang_check): when linking conflicting architectures,
108         make the output file reflect at least one of the bad inputs.
109
110 Tue Sep 15 15:35:38 1992  Ian Lance Taylor  (ian@cygnus.com)
111
112         * Makefile.in (install): if $(tooldir) exists, install ld in
113         $(tooldir)/bin.
114
115 Fri Sep 11 10:24:22 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
116
117         * Makefile.in, configure.in: modified to support i386-coff
118         * i386coff.sh: new file
119
120 Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
121
122         * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
123         added m68k-coff emulation mode, stolen from a29k emulation.
124         Almost certainly wrong, but perhaps better than sun3.
125
126 Thu Sep  3 14:19:30 1992  Per Bothner  (bothner@rtl.cygnus.com)
127
128         * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
129         gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
130         vanilla.em:  Rename all (generated) ld__*.c files to em_.c.
131         This is one character shorter, and lets people build on
132         SVR3 system. (ld__h8300xray.[co] was the killer there;
133         h8300xray.sc-sh is also overlong, but seems harmless.)
134         Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
135         * Makefile.in (clean):  Fix typo mostclean -> mostlyclean.
136         * configure.in:  Add host isc.
137
138         * ldver.c:  Call it version 2.0.
139
140 Wed Sep  2 00:21:33 1992  Per Bothner  (bothner@rtl.cygnus.com)
141
142         * ldver.c:  Bump to version 0.98.
143         * TODO:  New file.
144
145         * Makefile.in:  Added mostlyclean, distclean, realclean rules.
146
147 Tue Sep  1 23:42:16 1992  Per Bothner  (bothner@rtl.cygnus.com)
148
149         * ldmisc.c (xrealloc):  New (needed by ../libiberty/cplus.dem.c).
150         * ldlex.l: Moved comment() to end, since some compilers
151         otherwise have problems with input() used before it is defined.
152
153 Tue Sep  1 17:45:51 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
154
155         * configure.in: added Solaris 2 and Irix 4 host support.
156
157 Mon Aug 31 19:27:11 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
158
159         * Makefile.in: remove -S flag from the FLEX definition
160
161         * configure.in: rewrote, using new style case statement.  use
162         m68k.mt for m68k-aout systems
163
164 Sun Aug 30 21:38:53 1992  Ian Lance Taylor  (ian@cygnus.com)
165
166         * Makefile.in: map "ld" through program_transform_name when
167         installing.
168
169 Sun Aug 30 18:12:13 1992  Per Bothner  (bothner@rtl.cygnus.com)
170
171         * cplus-dem.c:  Removed.  Use the version in libiberty now.
172         * ldmisc.c:  Use new libiberty version of cplus_demangle().
173
174 Thu Aug 27 16:38:42 1992  Ian Lance Taylor  (ian@cygnus.com)
175
176         * gld960.em (gld960_choose_target): default to little endian, not
177         big endian.
178
179 Wed Aug 26 17:28:51 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
180
181         * ldlang.c (lang_process): don't pass null pointers when
182         abs_output_section is what is required.
183         * ldwrite.c (ldwrite): use malloc to allocate the largest space
184         used, and pass that down.
185         * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
186         than alloca. 
187         
188 Mon Aug 24 14:42:06 1992  Ian Lance Taylor  (ian@cygnus.com)
189
190         * configure.in, config/ose68.mt: renamed OSE to ose.
191
192 Thu Aug 20 19:55:22 1992  Ken Raeburn  (raeburn@cygnus.com)
193
194         * ldsym.c (write_file_locals): Reorder check for common or
195         undefined symbols so that it works.
196
197 Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)
198
199         * configure.in: accept all m68K family members.
200
201         * Makefile.in: always create installation directories.
202
203 Thu Aug 13 11:49:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
204
205         * ldlex.l: now parses comment correctly, added ~ to acceptable
206         chars in filenames
207         
208         * ldexp.c (exp_unop): pass down abs_output_section - now can have
209         unary -ve constants.
210
211         * ldlang.c (lang_finish): warn when an entry symbol supplied on
212         the command line can't be found.
213
214 Fri Aug  7 12:31:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
215
216         * ldlang.h: add new field "loadable" to output_section_statement.
217         * ldlang.c (lang_output_section_statement_lookup): initilize new
218         field. (wild_doit): if new field is not set, then stop output
219         section from being loadable.
220         (lang_enter_output_section_statement): set the field from the
221         NOLOAD keyword
222         * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
223         * h8300hms.sc-sh, h8300hms.em: get -r right.
224
225 Thu Aug  6 18:35:21 1992  Per Bothner  (bothner@rtl.cygnus.com)
226
227         * ldint.texinfo:  New internals manual (beginnings thereof).
228         * PORTING:  Removed, merged into ldint.texinfo.
229
230 Tue Aug  4 21:12:29 1992  Per Bothner  (bothner@rtl.cygnus.com)
231
232         * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
233         cdtest.exp:  A test program (copied from libg++/test-install)
234         that tests that constructor and destructors are handled
235         corrrectly.
236
237 Mon Aug  3 14:58:19 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
238
239         * Makefile.in (install): install from ld.new, renaming during the
240         copy, or else the next 'make install' needs to re-link ld.
241
242 Mon Jul 20 03:37:06 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
243
244         * configure.in: generalise hp recognition (from sef).
245
246 Sat Jul 18 14:46:04 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
247
248         * configure.in: recognize bsd and hpux hppa configurations.
249         error messages echo to stderr, not stdout
250
251 Fri Jul 17 22:06:11 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
252
253         * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
254           ldmisc.c: removed rcsid's.
255
256 Tue Jul 14 08:34:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
257
258         * ldlang.c (lang_map): print changes in sizes due to relaxing
259         (size_input_section): maintain the delta information. 
260         * ldlang.h: add new field to struct to contain delta info.
261         * relax.c  (relax_section): complain if input not relaxable.
262         * ldlex.l : add '_', ',' and '$' to chars which can appear at the
263         start of a filename
264
265 Mon Jul 13 17:33:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
266
267         * ldmain.c(main): prevent -r and -relax from being on at the same
268         time.
269
270 Wed Jul  1 17:51:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
271
272         * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
273         aliasing problems
274         
275
276 Thu Jun 18 09:38:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
277
278         * h8300hms.em, h8300hms.sc-sh:  do the right thing for -r
279         * ldexp.c:  lint
280         * ldlang.c(open_output): set the target arch and machine as soon
281         as we can. (lang_size_sections): use new macros for setting vma
282         * ldwrite.c: lint
283
284 Mon Jun 15 08:47:43 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
285
286         * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
287         Also deleted an unreachable path to wrs.
288
289 Wed May 27 23:24:19 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
290
291         * Makefile.in (install): use -d test for $tooldir before
292         installing ld there so that $tooldir can be inherited from
293         top-level Makefile.
294
295 Wed May 27 16:56:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
296
297         * ldlang.c:  Two non-substantial changes for the sake of
298         the old Portable C Compiler.
299
300 Wed May 27 15:15:58 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
301
302         * ldgram.y, ldlex.l: parse ABSOLUTE
303         * ldexp.c: add support for ABSOLUTE
304
305 Wed May 27 13:07:20 1992  Per Bothner  (bothner@rtl.cygnus.com)
306
307         * Makefile.in:  Added default definitions for HOSTING_CRT0,
308         HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
309         * config/*.mh:  Miscellaneous clean-up:  Removed definitions
310         of YACC (since it is not longer used in the Makefile).
311         Remove HOSTING_* definitions that are subsumed by the
312         ones added to Makefile.in.  Removed most definitions of CC.
313         * config/{sparc,news,hp300bsd,decstation}.mh:  Removed;
314         These are no longer needed.
315
316 Fri May 22 13:47:19 1992  Per Bothner  (bothner@cygnus.com)
317
318         * Makefile.in:  Use srcdir instead of VPATH in ldgram/ldlex
319         rules, since these are used when building a distribution.
320         * Makefile.in (ldlex.c):  Don't re-direct output, since that
321         leaves a bogus output files if it fails.
322
323         * config/sparc.mh:  Fix HOSTING_LIBS so it has a chance of working.
324         * ldlex.c:  Fix some unnecessary flex-specific-isms.
325
326 Fri May  8 11:49:43 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
327
328         * ldgram.y: move spurious semicolon
329         * ldexp.h: fix prototype
330
331 Thu May  7 17:01:12 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
332
333         * ld.texinfo: references to linker now say "ld" not "gld".
334
335 Wed May  6 13:26:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
336
337         changed calling convention for Q_enter_global_ref
338         * ldexp.c, ldlang.c, ldmain.c: reflect this
339         * ldver.c: bump version to 1.97.1
340         * ldindr.c (add_indirect): when an edict declaring an indirect
341         symbol is found, make sure that any ideas about the symbol being
342         common are changed if it now known to be defined.
343         * ldmain.c (linear_library): complain once if archive isn't
344         ranlibbed.
345         * ldlang.h, ldlang.c: make room for and initialize the complain
346         once field.
347
348 Wed May  6 11:07:35 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
349
350         * Makefile.in: use flex & bison from ../ if they exist.
351
352 Tue May  5 17:47:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
353
354         * relax.c (build_it): don't allocate space in the output file for
355         stuff if -R flag applys to it.
356         * ldfile.c: merge in VMS filename support
357         * ldmain.c (main): take out ./ from library path, and close file
358         before unlinking. Make multiple defs of a symbol create an
359         unexecable file.
360         * ldmisc.c: fatal errosrs delete output file 
361
362 Tue May  5 14:05:05 1992  Per Bothner  (bothner@rtl.cygnus.com)
363
364         * ldver.c:  Increase version number to 1.97, for consistency
365         with ../binutils.
366
367 Tue May  5 12:12:24 1992  K. Richard Pixley  (rich@cygnus.com)
368
369         * Makefile.in: FLEX -> LEX.
370
371         * ld.texinfo: {} -> @{@}.
372
373 Mon May  4 17:52:41 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
374
375         * ld.texinfo: describe alternate, MRI-compatible linker scripts
376         (and associated change in -c option, now used for these scripts)
377
378 Mon May  4 16:10:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
379
380         * ldver.c: Bumped version to 1.96 - new release, resync with the
381         bfd too #.
382         * ldexp.c, ldlang.c: now build memory shape tree in obstacks
383         rather than with raw malloc, makes it easier to track where memory
384         is going.
385         * ldsym.h, ldsym.c: create obstack for all global symbols too.
386         * ldwrite.c (ldwrite): moved malloc so only used when needed.
387         * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
388
389
390 Fri May  1 18:17:52 1992  K. Richard Pixley  (rich@cygnus.com)
391
392         * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
393
394         * Makefile.in: use bootstrap for check.
395
396 Fri May  1 13:03:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
397
398         * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
399         PUBLIC.
400         * Makefile.in: now use flex, not lex
401         * ldlex.l, ldlang.c, ldctor.c: lint
402
403 Wed Apr 22 12:48:42 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
404
405         * ldlex.l: added CMDFILENAMECHAR state so that you can lex
406         different sorts of filenames on the command line than in a script.
407
408 Mon Apr 20 22:37:04 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
409
410         * Makefile.in: rework CFLAGS so that they can be passed on the
411           make command line.  Remove MINUS_G.  Default CFLAGS to -g.
412
413 Fri Apr 17 08:57:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
414
415         * relax.c: added handling for new "padding" seclet type, used to
416         fill out gaps between section.
417         * ldgram.y, ldlex.l: now -defsym on the command line is done
418         properly.
419
420 Wed Apr 15 21:20:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
421
422         * Makefile.in: the tooldir copy of ld goes directly in tooldir.
423
424 Wed Apr 15 16:09:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
425
426         * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
427         scripts.
428
429 Thu Apr  9 05:52:02 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
430
431         * Makefile.in (install): Install second copy in $(tooldir)/bin
432         without $(program_prefix), since that's what gcc expects.
433
434 Sat Apr  4 17:44:06 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
435
436         * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer. 
437         * h8300*: fix bit rot and add support for h8300xray target
438         * go32.sh: target emulation for go32.
439
440 Mon Mar 16 14:53:29 1992  Steve Chamberlain  (sac@rtl.cygnus.com)
441
442         * gld960.em, i960.sc-sh. Fix i960 bit rot
443
444 Fri Mar 13 19:47:22 1992  K. Richard Pixley  (rich@cygnus.com)
445
446         * Makefile.in: install man page.
447
448 Fri Mar 13 08:23:59 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
449
450         * config/mt-<foo> renamed to <foo>.mt
451         * config/mh-<foo> renamed to <foo>.mt
452         * configure.in changed to reflect this
453         * genscripts.sh now make .xbn files rather than .xN files
454
455 Sat Mar  7 03:40:40 1992  K. Richard Pixley  (rich@cygnus.com)
456
457         * ldver.h: fix decl of ldversion.
458
459 Fri Mar  6 22:00:35 1992  K. Richard Pixley  (rich@cygnus.com)
460
461         * Makefile.in: added check target.
462
463 Fri Mar  6 06:59:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
464
465         * ldmain.c (Q_enter_file_symbols): now aliases work again
466
467 Thu Mar  5 21:39:29 1992  K. Richard Pixley  (rich@cygnus.com)
468
469         * Makefile.in: added clean-info target.
470
471 Thu Mar  5 16:55:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
472
473         * ldexp.c (exp_print_tree): don't try and follow null pointers
474         around.
475         * ldgram.y: remove 11 shift reduce errors
476
477 Tue Mar  3 15:46:39 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
478
479         * Makefile.in: added tooldir and program_prefix.
480
481 Fri Feb 28 08:17:45 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
482
483         * ldlang.c (size_input_section): don't move absolute sections
484         around!
485
486
487 Thu Feb 27 09:20:41 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
488     
489         * cplus-dem.c: yet another copy of this - maybe it should go into
490         libiberty ?
491         * ldgram.y: now -V and -v have different actions
492         * ldver.c: if -V, prints list of emulations compiled in
493         * ldmisc.c: support for cplus demangling
494
495
496 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
497
498         * Makefile.in, configure.in: removed traces of namesubdir,
499           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
500           copyrights to '92, changed some from Cygnus to FSF.
501
502 Thu Feb 20 17:43:46 1992  Per Bothner  (bothner at cygnus.com)
503
504         * Makefile.in:  Change mkscript rule into one for ./mkscript
505         (for the sake of makes that don't realize they're the same).
506         * PORTING:  Add more details.
507         * genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
508
509 Mon Feb 17 12:04:36 1992  Per Bothner  (bothner at cygnus.com)
510
511         * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
512         config/mt-hp300bsd:  New port to hp300 running BSD.
513
514 Sat Feb 15 13:59:54 1992  Per Bothner  (bothner at cygnus.com)
515
516         Major rewrite of how ld is configured.  The major idea
517         is to use shell scripts to generate everything.
518         * generic.em replaces ldtemplate.
519         * Other *.em files replace various *.c files.
520         A *.em file is a shell script that generates the corresponding
521         ld__*.c file that implements an emulation.  This is usually
522         a straight 'cat' of a here-document, possibly with substitutions.
523         * Script files (*.sc) are places by *.sc-sh scripts.
524         Again, these are simple shell scripts that 'cat'
525         here-documents, usually with some substitutions.
526         The output a *.sc-sh is a script file.
527         * Each emulation is defined by a short shell script with
528         extension *.sh that specifies the emulation-specific
529         parameters (such as the name of the *.sh-sc and *.em
530         files to use).
531         * genscript.sh is the master shell script used to generate
532         an emulation.  It is passed various argument, including
533         the name a the emulation-speciic *.sh file that it
534         "sources" to set variables to emulation-specifc parameters.
535         * config/mt-foo:  Changed EMUL=GLDFOO_EMULATION_NAME
536         to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
537         * config/mh-foo:  Rename LDEMULATION names as appropriate
538         (usually 'gldfoo' -> plain 'foo').
539         * ldwrite.c:  Fixed a typo in a comment.
540         * Makefile.in:  Major changes.  Removed some the sed
541         magic to converts scripts, since that is now handled
542         by genscripts.sh and the *.sc-sh scipt generators.
543         * config.h:  Remove a bunch of macros defining emulations
544         and targets.  This becomes one less file to edit when
545         adding emulations or targets.
546         * ldemul.h (struct ld_emulation_xfer_struct):  Add
547         emulation_name and target_name fields.
548         * ldemul.c, ldemul.h:  Define some default functions used
549         by most emulations (and remove from the *.em scripts).
550         * ldemul.c (ldemul_choose_target):  Search the new
551         ld_emulations array using a loop (instead of a hardwired
552         nested if statement).
553         Define the ld_emulation from the automatically-geenrated
554         ldemul-list.h.  This means you no longer have to edit ldemul.c
555         to add a new emulation.
556         * ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
557         their expansions, since the former no longer exist.
558         * PORTING:  A very rough first draft of a porting guide.
559
560         * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
561         to be terminated by a new-line (instead of requiring a semicolon).
562
563 Mon Feb 10 16:21:02 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
564
565         * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
566         tests for NULL pointers all over the place.
567         * ldlang.c (lang_process): remember to relocate global symbols
568         *after* relaxing has done it stuff.
569
570 Thu Feb  6 11:40:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
571
572         * config/mt-coff-h8300: use EMUL like everything else
573         * ldlang.c: (print_padding_statement): print the right address.
574         * Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
575         
576
577 Tue Feb  4 15:28:01 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
578
579         * ldlex.l: Put pack -noinhibit-exec and -sort-common
580         * ldlang.c (print_data_statement): print the right address.
581
582 Thu Jan 30 17:51:53 1992  Per Bothner  (bothner at cygnus.com)
583
584         * Makefile.in:  The rule for testing ld by re-linking itself
585         via an intermediate -r link was moved to the ld1 rule
586         instead of the ld2 rule.  This allows ld2 and ld3 to be identical,
587         which allows the bootstrap rule to work.
588         * ldctor.c (find_constructors):  Don't create a constructor
589         list if it is already defined (as would happen if ld is
590         invoked by collect).
591
592 Wed Jan 29 08:35:39 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
593
594         * config/mh-sparc.h: now uses libgcc.a
595         * ldmain.c: quit using exit
596         * *sc: use *(COMMON) rather than [COMMON]
597         * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
598         to allow preprocessing of .l file.
599         * Makefile.in: New ldlex.l mangling
600         * ldexp.c (fold_binary): perform expressions with % and / in
601         integer.
602         * ldfile.c (open_a): open archives on VMS in a special way
603
604
605 Tue Jan 28 10:18:16 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
606
607         * ldgram.y: map -M behave in the same way as -Map (sets file name
608         to be "-".
609         * ldsym.c, ldlang.c: remember that size of a section is dependent on
610         whether or not relaxing has been done.
611         * ldmain.c: don't open a map file if it doesn't have a name
612         * relax.c: all the brains have moved into bfd.
613         * ldwrite.c: ammend comment
614
615 Fri Jan 24 14:23:46 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
616
617         * Makefile.in: added relax, also made three stage go through a
618         partial link stage.
619         * relax.c : added
620         * config.h: if GNU960 defined, then default emulation mode is
621         GLD960
622         * ldexp.h, ldexp.c: map to file hooks
623         * ldlang.c: map to file hooks
624         * ldgram.y: added -Map -relax
625         * ldlex.l: added -relax, -Map
626         * ldmain.c: open map file
627         * ldmisc.c: support for map file
628         * ldwrite.c: new relax magic
629
630 Thu Dec 19 18:49:51 1991  John Gilmore  (gnu at cygnus.com)
631
632         * Makefile.in, config/tm-*.h:  Clean up make output, only
633         pass DEFAULT_EMULATION to ldmain.c.
634
635 Wed Dec 18 15:02:47 1991  Per Bothner  (bothner at cygnus.com)
636
637         * ldver.c:  Bump to version 1.94.
638
639 Tue Dec 10 04:07:23 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
640
641         * Makefile.in: infodir belongs in datadir.
642
643 Mon Dec  9 16:26:43 1991  Per Bothner  (bothner at cygnus.com)
644
645         * Makefile.in:  Pass -y to bison.  (Again;
646         accidentally deleted by Rich.)
647         * news.sc, ldgld68k.sc:  Define __end as well as _end.
648
649 Sat Dec  7 17:19:26 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
650
651         * ldindr.h: added to contain prototypes of ldindr.c
652         * ldfile.c: include ctype.h
653         * ldmain.c: include the requried prototype headers
654         * ldwrite.c: get_reloc_upper_bound has been renamed
655         bfd_get_reloc_upper_bound 
656
657 Fri Dec  6 23:29:26 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
658
659         * Makefile.in: punt "fundamental" mode because it breaks my emacs
660           macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
661           spaces following hyphens, bsd make can't cope.  added
662           standards.text support and made it look like all the other
663           makefiles.
664
665         * configure.in: configure now runs entirely in objdir so make file
666           existence checks against ${srcdir}.  Mark this directory as
667           target dependent.
668
669 Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
670
671         * Makefile.in: idestdir and ddestdir go away.  Added copyrights
672           and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
673           and mandir now keyed off datadir by default.
674
675 Wed Dec  4 23:36:55 1991  Per Bothner  (bothner at cygnus.com)
676
677         * ldver.c:  Bumped version to 1.93.
678         * Makefile.in:  Pass -y to bison.
679
680 Mon Nov 25 18:28:40 1991  Steve Chamberlain  (sac at cygnus.com)
681
682         * config.h: h8 is now coff, not ieee
683         * h8300hds.sc: reflect the same
684
685 Thu Nov 14 19:55:09 1991  Per Bothner  (bothner at cygnus.com)
686
687         * ldver.c (ldversion()):  Update to 1.92.
688         * ldctor.c: There are two places constructor sets
689         can be defined.  One of them checked for an existing
690         duplicate, the other didn't.  Unfortunately, the latter
691         was called after the former ...
692         So, factor out code for inserting a new element into
693         constructor_name_list (after checking for a duplicate)
694         into a new function add_constructor_name, and call
695         it from both aforementioned places (ldlang_add_constructor
696         and ldlang_check_for_constructors).
697
698 Wed Nov 13 15:17:43 1991  Per Bothner  (bothner at cygnus.com)
699
700         * Makefile.in:  Rename .c files generated from ldtemplate
701         to have names starting with ld__.  This helps 'make clean'.     
702
703 Tue Nov 12 18:36:50 1991  Steve Chamberlain  (sac at cygnus.com)
704
705         * Makefile.in: Take out the version number for install
706         * m88kbcs.sc: put in contructor blocks.
707
708 Mon Nov 11 18:47:33 1991  Per Bothner  (bothner at cygnus.com)
709
710         * ldmisc.c, ldmisc.h:  Re-write info() to take a filename
711         parameter, a format, and an arg pointer, and rename it to
712         vfinfo().  Write info() in terms of new vfinfo().
713         New einfo() is the same as info(), except it writes to stderr.
714         * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
715         ldmisc.c:  Replace "error" calls to info() by new einfo().
716
717 Mon Nov 11 09:57:32 1991  Steve Chamberlain  (steve at cygnus.com)
718
719         * ldlex.l ldgram.y: made -V option do same as -v
720         * Makefile.in: Added $(MINUS_G) flag so debugging can be
721         turned off
722
723 Sun Nov  3 16:37:37 1991  Steve Chamberlain  (steve at cygnus.com)
724          i386 aout changes from Bob Kukura
725         * Makefile.in, config.h: added i386aout support
726         * configure.in: fixed /h-{myhost} typo
727         * ldgram.y: -MM now gives more boring map.
728         * ldlang.c: now does D_PAGED flag the right way.
729         * ldsym.c: -MM flags does the right thing.
730
731 Sun Nov  3 15:00:03 1991  Per Bothner  (bothner at cygnus.com)
732
733         * configure.in:  Fixed typo.  Also, a fix for hp300bsd.
734         * ldlang.c (init_os):  Compensate for BFD change,
735         where bfd_make_section now returns NULL for a duplicate
736         section request, instead of the old section.
737
738 Thu Oct 17 15:27:13 1991  Per Bothner  (bothner at cygnus.com)
739
740         * ldver.c: Bump to version 1.91 (consistent with binutils).
741
742 Wed Oct 16 12:27:08 1991  Per Bothner  (bothner at cygnus.com)
743
744         * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
745         ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
746         ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
747         ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
748         Add or update copyright notices.        
749
750 Mon Oct 14 23:55:27 1991  Per Bothner  (bothner at cygnus.com)
751
752         * README: New file.
753         * Makefile.in:  Changed installation directory name scheme
754         to be consistent with gcc.  Also changed 'install'.
755
756 Mon Oct 14 17:30:02 1991  Roland H. Pesch  (pesch at cygnus.com)
757
758         * Makefile.in: new targets ld.mm, ld.me
759
760 Mon Oct 14 17:27:24 1991  Per Bothner  (bothner at cygnus.com)
761
762         * Makefile.in, ldtemplate:  Need to use separate scripts
763         for -n and -N options.  Yet more complication.
764
765 Fri Oct 11 22:40:46 1991  John Gilmore  (gnu at cygnus.com)
766
767         * Makefile.in:  Avoid using $< in explicit Make rules (it doesn't
768         work).  Add some lines to avoid Sun Make VPATH bugs.
769
770 Fri Oct 11 16:42:22 1991  Per Bothner  (bothner at cygnus.com)
771
772         * news.sc: Add alignment for data segment.
773         * ldtemplate: Add (yet another) script to get for -n or -N
774         options.  (These need different alignment than ZMAGIC files.)
775         * Makefile.in:  Add stuff for new foo.xn scripts.
776         These are generated by replacing "ALIGN(0x...00)" by ".".
777
778 Fri Oct 11 15:43:04 1991  Roland H. Pesch  (pesch at cygnus.com)
779
780         * Makefile.in: new targets ld.ms, ld-index.ms
781         ld.texinfo: remove tabs, other cleanups for texi2roff
782
783 Fri Oct 11 13:51:54 1991  Per Bothner  (bothner at cygnus.com)
784
785         * ldmain.c (main): Make config.magic_demand_paged be true
786         by default.  Don't the WP_TEXT and D_PAGED flags of
787         output_bfd here; it's too late, so set it when output_bfd
788         is created (in ldlang.c).  Also fix setting of EXEC_P flag
789         * ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
790         * ldlang.c: Remove some duplicate extern declarations.
791         * ldgram.y: Fixes to -N and -n options.
792         * Makefile.in:  Recognize upper case letters in sed script
793         to remove assignments from script files.
794         * ldtemplate:  Don't assukme that -N or -n options
795         imply use of -r script.
796         * mkscript.c:  Tweaking to correctly handle \n and \\ in input.
797
798 Fri Oct 11 10:29:27 1991  Steve Chamberlain  (steve at cygnus.com)
799
800         * ldtemplate: include bfd.h before sysdep.h.
801
802 Fri Oct 11 04:24:45 1991  John Gilmore  (gnu at cygnus.com)
803
804         Restructure configuration scheme for bfd, binutils, ld.
805
806         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
807         * configure.in:  Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
808         Change some config names to match other dirs.
809         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
810         get defined first.
811         * config/:  Rename some config files to match up h-*.h names.
812         Remove all the HOST_SYS definitions from the config files.
813
814 Tue Oct  8 16:00:57 1991  Per Bothner  (bothner at cygnus.com)
815
816         * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
817         * ldtemplate: Remove ldfile_add_library_path calls;
818         just use the SEARCH_DIR commands in the script files.
819         * Makefile.in: Add LIB_PATH macro, which if set is used to replace
820         the SEARCH_DIR commands in the scripts (using ugly sed magic).
821         This is primarily intended for cross-linking, where you would
822         place libaries in a different place than native libraries.
823         Also, emulations made from ldtemplate now use $(srcdir).
824         * ldglda29k.sc:  Change SEARCH_DIR commands to a conventional
825         form; people can use the Makefile's LIB_PATH to override.
826
827 Tue Oct  8 14:51:21 1991  Roland H. Pesch  (pesch at cygnus.com)
828
829         * Makefile.in: fix target ld.dvi, add target ld.info
830         ld.texinfo: make info filename ld.info
831
832 Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
833
834         * Makefile.in:  Avoid using $< in non-suffix rules (breaks on Sun
835         Make). 
836         * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
837         few BFD types & enums.
838