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