ldmisc,ldlang,Makefile changes
[external/binutils.git] / ld / ChangeLog
1 Thu Jul  8 15:33:32 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
2
3         * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
4
5         * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
6         when no prototype is being supplied.
7         (ldmalloc, ldrealloc): Size argument is now size_t.
8
9         * ldmisc.c (finfo): New function, accepts FILE* argument.
10         (vfinfo, case 'v'): New format character; displays bfd_vma in hex
11         without leading zeros.
12         (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
13         bfd_vma value, instead of fprintf(%x) which won't hold a long long
14         value.
15         (concat, buystring): String lengths are size_t.
16         (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
17
18         * ldlang.c (new_statement): Size argument is now size_t.  Added
19         forward declaration with prototype.
20
21 Thu Jul  8 10:53:47 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
22
23         * ldgram.y (OPTION_v): Don't turn on verbose output.
24
25 Wed Jul  7 17:10:45 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
26
27         * ldlex.l: Get rid of local typedef for bfd_vma!  Get it from
28         bfd.h instead.
29
30 Wed Jul  7 11:33:12 1993  Ian Lance Taylor  (ian@cygnus.com)
31
32         * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
33         collect2 doesn't look for gld any more anyhow.
34
35 Mon Jul  5 14:29:48 1993  Ian Lance Taylor  (ian@cygnus.com)
36
37         * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
38         now have a non NULL srefs_chain.
39
40         * config/hp300hpux.mt: Use emulation hp3hpux rather than
41         hp300hpux, since the latter does not exist.
42
43 Fri Jul  2 18:06:05 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
44
45         * genscripts.sh: Put the scripts in the ldscripts directory, not
46         emulations. 
47         * configure.in (ldscripts): Make, instead of emulations.
48         * Makefile.in (scriptdir): Take off the "ld" part.
49         (install, clean, distclean): Use ldscripts, not emulations.
50         In tests, don't pass -Lemulations.
51         Don't pass tooldir/lib to genscripts.sh.
52         * genscripts.sh: Don't take tooldir/lib arg.
53         * ldlang.c (lang_process): Add "ldscripts/" to the name of the
54         default script file.
55
56 Fri Jul  2 17:13:35 1993  Doug Evans  (dje@canuck.cygnus.com)
57
58         * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
59
60 Thu Jul  1 16:38:45 1993  Doug Evans  (dje@canuck.cygnus.com)
61
62         * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
63
64 Wed Jun 30 15:45:55 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
65
66         * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
67           run in parallel without colliding on yacc's static file names.
68           Without the stub rule, make will try to start two yacc's
69           concurrently which fails because of yacc's static file names.
70
71 Tue Jun 29 12:20:36 1993  Ian Lance Taylor  (ian@cygnus.com)
72
73         * ldmain.c (subfile_wanted_p): Don't dump core if there are no
74         symbols.
75
76 Mon Jun 28 12:22:11 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
77
78         * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
79         different from libdir.
80
81         * Makefile.in (scriptdir): Base on tooldir, not datadir.
82
83 Sat Jun 26 12:03:57 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
84
85         * ldver.c (help): New function.
86         * ldver.h: Declare it.
87         * ldlex.l, ldgram.y: Recognize new options --help and --version.
88
89 Mon Jun 21 20:39:48 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
90
91         * Makefile.in (INCLUDES): Don't need ../include any more.
92
93 Mon Jun 21 16:38:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
94
95         * ldlex.l, ldgram.y: Support new -oformat option.
96         Remove attempt at supporting script fragments on the command line.
97         * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
98         * mri.c (mri_format), ldgram.y: Change callers.
99         * ldlang.h: Change prototype.
100
101 Thu Jun 17 16:53:56 1993  david d `zoo' zuhn (zoo@cygnus.com)
102         
103         * Makefile.in: canonicalize install.sh; for use within
104         this directory (and subdirs)
105
106 Thu Jun 17 14:33:09 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
107
108         * ldgram.y: Tweak grammar to make reporting of invalid options work.
109
110         * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
111         and .cc.o rule.
112
113 Wed Jun 16 11:45:32 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
114
115         * ldfile.c (ldfile_open_command): Don't try .ld extension.
116         It wasn't documented (or likely used) and wastes time.
117         (try_open): If EXTEN is empty, don't try it.
118
119         * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
120         ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
121         ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
122         with normal function declarations.
123
124         * Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
125         Move *.sc-sh to scripttempl/*.sc.
126         * {emultempl,emulparams,scripttempl}/README: New files.
127         * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
128         removed, replaced with generic.em.
129         * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
130          h8[35]00hms.s[ch].  Change their contents to omit the "hms".
131
132         * *.em (*_get_script): Return script name instead of script contents.
133         * ldlang.c (lang_process): Change caller.
134
135         * ldlex.l, ldgram.y: Recognize -m option.
136         Check for input files after *all* options in grammar.
137         * ldmain.c (main): Check for -m options.  Add default directory
138         for -m.
139
140         * mkscript.c: File removed.
141         * genscripts.sh: Take two more parameters, tooldirlib and libdir,
142         to add to the default LIB_PATH.
143         Look for input files in the new subdirectories.
144         Create the scripts in emulations subdirectory and don't filter
145         them through mkscript.
146         * configure.in: Make the emulations subdirectory.
147
148         * Makefile.in: Account for all of the above changes.
149         Remove unused .SUFFIXES.  Get libgcc.a path with gcc
150         -print-libgcc-file-name instead of $(libdir)/libgcc.a.
151         Put CFLAGS last in the compilation rules.
152         Add -I../bfd to INCLUDES so sysdep.h is found.
153
154 Tue Jun 15 23:04:46 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
155
156         * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
157
158         * aout.sc-sh: Add SHLIB_PATH like STACKZERO.  Make STACKZERO
159         dependent on RELOCATING, not RELOCATION.
160         * hp3hpux.sh (SHLIB_PATH): Define it.
161
162 Mon Jun 14 19:06:15 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
163
164         * ldfile.c (try_open): If opening without the extension fails,
165         try with the extension even if -v or -V was given.
166         had_script is imported (from ldgram.y), not exported.
167
168 Mon Jun 14 16:26:10 1993  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
169
170         * Makefile.in: remove parentdir support, use INSTALL_XFORM
171
172 Thu Jun 10 14:00:06 1993  Ian Lance Taylor  (ian@cygnus.com)
173
174         * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
175         * ldgram.y (statement_list_opt): New nonterminal, either empty or
176         statement_list.
177         (section): Use statement_list_opt, not statement_list.
178         * m68kcoff.sc-sh: Gather constructors and destructors and define
179         __CTOR_LIST__ and __DTOR_LIST__ appropriately.
180         * sa29200.sc-sh: Gather constructors and destructors and define
181         ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
182
183 Mon Jun  7 12:53:28 1993  Per Bothner  (bothner@rtl.cygnus.com)
184
185         * Makefile.in (INCLUDES):  Add -I../bfd for sysdep.h and bfd.h.
186         * configure.in:  No longer need to configure to get sysdep.h.
187
188 Fri Jun  4 16:18:24 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
189
190         * Makefile.in: remove install:all and install-info:info 
191         dependencies (these cause some spurious rebuilds at 'make install'
192         time)
193
194 Fri Jun  4 08:50:14 1993  Ian Lance Taylor  (ian@cygnus.com)
195
196         * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
197         (mips-idt-ecoff*): Added trailing '*'.
198         * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
199         * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
200         * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
201
202         * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
203         incorrect definitions.
204
205 Tue Jun  1 14:56:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
206
207         * ldsym.c (write_file_locals):  Write BSF_CONSTRUCTOR
208         symbols, unless stripping.
209
210 Tue May 25 15:34:25 1993  Ian Lance Taylor  (ian@cygnus.com)
211
212         * Makefile.in: configure looks for ####, so remove lines with many
213         '#' characters.
214         * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
215         and HOSTING_LIBS correctly so that ``make check'' will work.
216
217 Thu May 20 13:56:16 1993  Per Bothner  (bothner@deneb.cygnus.com)
218
219         * mips.sc-sh:  Define _etext, _edata, and _end, in addition
220         to etext, edata, and end.  Needed for IRIX 4.0.5F.
221         Patch from mwp@iconix.oz.au (Michael Paddon).
222
223         * Version 2.2.1 released.
224
225 Thu May 20 11:42:06 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
226
227         * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
228         * mipsbsd.sh (EMULATION_NAME): Use new file name.
229
230 Tue May 18 17:10:24 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
231
232         * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
233         properly right now.
234
235         * Version 2.2 released.
236
237 Mon May 17 15:37:28 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
238
239         * ldver.c (ldversion): Bump version number to 2.2.
240
241 Mon May 17 12:44:31 1993  Per Bothner  (bothner@cygnus.com)
242
243         * NEWS:  New file.
244
245 Fri May 14 11:26:24 1993  Ian Lance Taylor  (ian@cygnus.com)
246
247         * mips.sc-sh: Don't define BSS_VAR unless relocating.
248
249 Wed May 12 13:33:29 1993  Ian Lance Taylor  (ian@cygnus.com)
250
251         * Makefile.in (mkscript.o, mkscript): Build mkscript via
252         mkscript.o, rather than directly from mkscript.c.
253
254 Tue May  4 21:58:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
255
256         * configure.in: Look for ${target_makefile_frag} relative to
257         ${srcdir}, not relative to build directory.
258
259         * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
260         * configure.in: Recognize hppa*-hp-osf.
261         * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
262         (em_hppaosf.c): Build it.
263         * config/hppaosf.mh, hppaosf.mt: New files.
264
265         * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
266         some system header files.  All uses changed.
267
268         * configure.in: Recognize i386-aix configurations as i386-coff
269         targets.
270
271         * configure.in: Recognize m68*-*-hpux.
272         * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
273         the value of STACKZERO.
274         * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
275         (em_hp3hpux.c): Build it.
276         * hp3hpux.sh, config/hp300hpux.mt: New files.
277
278 Tue May  4 12:37:35 1993  Ian Lance Taylor  (ian@cygnus.com)
279
280         * mips.sc-sh: Put constructors in the .data section.
281         * Makefile.in (cdtest): Added dependency on ld.new.
282
283 Mon May  3 19:43:39 1993  Per Bothner  (bothner@cygnus.com)
284
285         * Makefile.in:  Change definition of $(tooldir) to match FSF.
286         * vax.sh, config/vax.mt, configure.in, Makefile.in:
287         Support VAX Ultrix and BSD.
288
289 Mon Apr 26 18:35:47 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
290
291         * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
292
293 Wed Apr 14 21:01:51 1993  John Gilmore  (gnu@cygnus.com)
294
295         * ldlang.h (struct memory_region):  Change `length' and
296         `old_length' fields to bfd_size_type.  Eliminate use of bfd_offset.
297         * ldlang.c, mri.c:  Corresponding changes, plus lint.
298
299 Thu Apr  8 22:08:18 1993  Ian Lance Taylor  (ian@cygnus.com)
300
301         * configure.in: For all i386 targets, accept i486 as well.
302
303 Mon Apr  5 17:33:39 1993  Ian Lance Taylor  (ian@cygnus.com)
304
305         * ldlang.c (wild_doit): Preserve all flags for a
306         SEC_SHARED_LIBRARY section.
307         (size_input_section): Consider any SEC_HAS_CONTENTS section when
308         computing largest_section.
309
310 Fri Apr  2 14:33:52 1993  Ian Lance Taylor  (ian@cygnus.com)
311
312         * ldlang.c (lang_output_section_statement_lookup): Initialize all
313         fields of newly created structure.
314
315 Wed Mar 31 18:19:15 1993  Ian Lance Taylor  (ian@cygnus.com)
316
317         * ldmain.c (g_switch_value): New variable.
318         * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
319         (command_line_option): Accept -G and set g_switch_value.
320         * ldlex.l (COMMAND): Accept -G.
321         * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
322
323 Tue Mar 30 09:40:25 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
324
325         Support for linking and loading at different places:
326
327         * ldlex.l: Add "AT" keyword.
328         * ldgram.y: Cleanup, and parse AT.
329         * ldlang.c (print_output_section_statement): Print output address
330         of section in map. (lang_size_sections): Fill sections' lma with
331         load address.
332         * ldlang.h (lang_output_section_statement_type): Add load_base
333         information.
334
335         * ldindr.c (add_indirect): Keep more information in the alias
336         symbol chain.
337         * ldlang.c (wild_doit):  Don't inherit NEVER_LOAD section
338         attribute from an input section.
339         * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
340         default. (Q_enter_file_symbos): Indirect symbols now are known by
341         their section, not a special symbol flag.
342         * ldsym.c (write_file_locals): Indirect symbols aren't local.
343         (write_file_globals): Write the mapping for an indirect symbol.
344         * relax.c (build_it): When forced to write a NEVER_LOAD section,
345         fill it with zeros.
346
347 Tue Mar 23 13:24:10 1993  Jeffrey Osier  (jeffrey@fowanton.cygnus.com)
348
349         * ld.texinfo:  changes for q1
350
351 Tue Mar 23 00:13:29 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
352
353         * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
354
355 Mon Mar  8 20:30:35 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
356
357         * Makefile.in: rename HOST_CC to CC_FOR_BUILD
358
359 Thu Mar  4 12:44:33 1993  Ian Lance Taylor  (ian@cygnus.com)
360
361         * mips.sc-sh: Added variables which may be overridden by a
362         specific emulation.
363         * mipsidt.sh: New file; emulation for IDT MIPS board.
364         * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
365         (em_mipsidt.c): New target.  Uses mipsidt.sh and mips.sc-sh.
366         * config/mips-idt.mt: New file; sets EMUL to mipsidt.
367         * configure.in (mips-idt-ecoff): New target; uses mips-idt.
368
369 Sat Feb 27 00:00:14 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
370
371         * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
372         ralphc@pyramid.com.
373         * i386bsd.sh, config/i386bsd.mt: New files.
374         * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
375
376 Thu Feb 25 15:33:10 1993  Per Bothner  (bothner@rtl.cygnus.com)
377
378         * mri.c:  Add extern declaration of strdup.
379         * ldsym.c (KEEP macro):  Add spaces around '=' for the
380         sake of old (e.g. PCC) compilers.
381
382 Wed Feb 24 19:49:31 1993  Per Bothner  (bothner@rtl.cygnus.com)
383
384         * ldver.c:  Bump to version 2.1.
385
386 Fri Feb 12 08:09:11 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
387
388         * ldgram.y: allow section types without address  expressions.
389         * ldlang.c (lang_relocate_globals): avoid possible hang with
390         undefined but unreferenced symbols.
391         * relax.c (relax_section): don't complain if the script file isn't
392         relaxable but -relax is set
393
394 Thu Feb 18 17:58:45 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
395
396         * configure.in: go32 is the 3rd part of the triple, not the 2nd
397
398 Wed Feb  3 09:05:56 1993  Ian Lance Taylor  (ian@cygnus.com)
399
400         * mipsbig.sh: New file.  Big endian MIPS emulation.
401         * config/mips-big.mt: New file.  Use mipsbig emulation.
402         * configure.in (mips-sgi-irix*): Use target mips-big.
403         * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
404         (em_mipsbig.c): New target.  Uses mipsbig.sh.
405
406 Tue Feb  2 11:32:27 1993  Ian Lance Taylor  (ian@cygnus.com)
407
408         * mips.sc-sh: Put .scommon sections into .sbss section.
409
410         * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
411         rather than always putting them in bfd_com_section.
412         * ldlang.c (lang_common): If a common symbol is not in
413         bfd_com_section, put in a section of the same name, rather than
414         always putting it in section COMMON.
415
416 Fri Jan 29 09:57:58 1993  Ian Lance Taylor  (ian@cygnus.com)
417
418         * ldmain.c (subfile_wanted_p): If we already have a common
419         definition of a symbol, don't necessarily pull in an object file
420         that provides a non-common definition.
421
422         * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
423         returning OPTION_EB and OPTION_EL.  gcc passes these to a MIPS
424         linker.
425         * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
426         (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
427
428 Thu Jan 28 15:12:04 1993  Ian Lance Taylor  (ian@cygnus.com)
429
430         * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
431         the link to it.
432
433 Tue Jan 26 11:49:50 1993  Ian Lance Taylor  (ian@cygnus.com)
434
435         * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
436         checking for equality to bfd_com_section.
437
438 Fri Jan 22 14:22:44 1993  Ian Lance Taylor  (ian@cygnus.com)
439
440         * mips.sc-sh: New file.  Ultrix, and hopefully other MIPS ECOFF
441         targets, linker script.
442         * mipslit.sh: New file.  Little endian MIPS emulation.
443         * config/mips-lit.mt: New file.  Use mipslit emulation.
444         * configure.in (mips-dec-ultrix*): Use target mips-lit.
445         * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
446         (em_mipslit.c): New target.  Uses mipslit.sh.
447
448 Thu Jan 14 15:30:27 1993  Ian Lance Taylor  (ian@cygnus.com)
449
450         * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
451         $(tooldir)/bin/gld, so that gcc can find it with or without
452         collect2.
453
454 Mon Jan 11 18:50:07 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
455
456         * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
457         write_norel.  All linking is now done via write_relax.  Call
458         ldsym_write before calling write_relax.
459         * relax.c: Added copyright.
460         (write_relax): Renamed from write_relaxnorel.  Added relocateable
461         argument.  seclet_dump renamed to bfd_seclet_link.
462         * relax.h: Added copyright.
463
464 Mon Jan 11 15:41:56 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
465
466         * ldmain.c (decode_library_subfile): Patch from
467         hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
468
469 Fri Jan  8 18:04:33 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
470
471         * config/vxworks960.mt renamed to config/i960.mt
472
473         * configure.in: sparc-aout emulates a sun4, as does
474         sparc*-vxworks, i960-nindy uses gld960 emulation
475
476 Fri Jan  8 14:39:07 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
477
478          Fix support for NOLOAD, add INCLUDE
479         * ldfile.c (ldfile_open_command_file): pass file name to
480         lex_push_file.
481         * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD 
482         * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
483         attribute.
484
485 Thu Jan  7 10:22:19 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
486
487         * Makefile.in, config.h: no more default emulation.  Make the lack
488         of emulation a compile time error
489
490 Wed Jan  6 01:08:37 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
491
492         * configure.in: recognise all sparclite variants, not just 'sparclite'
493
494 Mon Dec 28 11:15:35 1992  Ian Lance Taylor  (ian@cygnus.com)
495
496         * m68kcoff.sc-sh: define _end as well as end, for consistency with
497         aout.sc-sh.
498
499         * configure.in: accept *-ericsson-ose for any m68k CPU.
500
501         * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
502         for each output section.
503
504 Mon Dec 21 16:06:59 1992  Per Bothner  (bothner@rtl.cygnus.com)
505
506         * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c:  Use new
507         macro bfd_asymbol_bfd as appropriate.
508         * Makefile.in:  Un-duplicate ldlex.c dependency.
509         * condigure.in:  Replace my_host case table by sourcing
510         ../bfd/configure.host.  Allow std-host as the default.
511         * ldmisc.c:  Change logic for C++ name demangling:  There is
512         no initial '_' to remove from stab-derived function names.
513
514 Sun Dec 13 16:31:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
515
516         * ldlang.c (lang_init_script_file): don't attach the output file
517         sections to the script file.
518
519 Wed Dec  9 08:38:05 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
520         * ldlang.c (wild): run expansion loop over command line bfd too.
521         (lang_ini_script_file): initialize more parts of the command line
522         bfd.
523         * ldlex.l: fix DEFINED start states.
524
525 Mon Dec  7 08:43:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
526          -y support
527         * ld.texinfo: new doc.
528         * ldgram.y, ldlex.l: understand -y<symbol>
529         * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
530         print info. (add_ysym): new function.
531         * ldsym.h: (ldsym_type): new define SYM_Y.
532
533 Sat Nov 21 03:15:27 1992  John Gilmore  (gnu@cygnus.com)
534
535         * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
536         ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
537         ldwrite.h, relax.h:  Replace all uses of EXFUN and PROTO ansi-glue
538         macros with PARAMS.  Recreational cleanup.  Update copyrights.
539
540 Tue Nov 10 00:23:37 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
541
542         * Makefile.in: pass down the bfd source directory for includes
543
544 Thu Nov  5 15:41:55 1992  Ian Lance Taylor  (ian@cygnus.com)
545
546         * ldlang.c (lang_size_sections): don't change size and address for
547         SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
548         sections.
549
550 Thu Nov  5 11:33:57 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
551
552         * relax.c (build_it): re-enable the processing of data_statements
553         in scripts, makes counted contructor lists work again.
554
555 Thu Nov  5 05:43:01 1992  John Gilmore  (gnu@cygnus.com)
556
557         * ldemul.h:  Remove uses of SDEF and PROTO macros (use PARAMS).
558
559 Tue Oct 20 10:56:06 1992  Ian Lance Taylor  (ian@cygnus.com)
560
561         * m68kcoff.sc-sh: don't use initial underscores for etext, edata
562         and end.
563
564 Mon Oct 19 09:45:38 1992  Ian Lance Taylor  (ian@cygnus.com)
565
566         * Support for i386-sysv.
567         configure.in: check for i386-*-sysv* and i386-*-sco*.
568         i386coff.sc-sh: rewrote to support SVR3 by default.
569         ldctor.c (find_constructors): preserve stat_ptr.
570         ldlang.c (wild_doit): initialize vma and size of new output
571         section to corresponding input section.  This is required for
572         shared library support.
573         (lang_size_sections): don't modify vma and size of sections which
574         are never loaded (for shared libraries).
575         ldwrite.c (copy_and_relocate): copy the contents of any section
576         which has contents, not just sections which are loaded (for shared
577         libraries).
578
579 Thu Oct 15 15:20:26 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
580
581         * ldlang.c (size_input_section): count the sizes of all sections
582         we allocate.
583
584 Thu Oct  8 09:05:25 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
585
586         * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to 
587         to demangle symbols better
588
589 Tue Oct  6 13:08:54 1992  Ian Lance Taylor  (ian@cygnus.com)
590
591         * ldlang.c (lang_finish): don't warn if -e start symbol does not
592         exist when linking with -r.
593
594 Mon Oct  5 14:07:37 1992  Ian Lance Taylor  (ian@cygnus.com)
595
596         * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
597         .bss segment.
598
599 Mon Oct  5 08:55:14 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
600
601         * ldmain.c (linear_library): don't even think about processing 
602         an object file if it's already been done
603
604 Thu Oct  1 23:14:59 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
605
606         * configure.in: the hp9000/300 config file is now hp300
607
608 Wed Sep 30 07:34:09 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
609
610         * config/z8ksim.mt: new file
611
612 Fri Sep 25 13:49:52 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
613
614         * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
615         lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
616
617         * ld.h (strip_symbols_type): Add value STRIP_SOME.
618         * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
619         * ldlang.c (lang_add_keepsyms_file): New function.
620         * ldlex.l: Handle "-retain-symbols-file".
621         * ldsym.c (keepsyms_file, kept_syms): New vars.
622         (process_keepsyms): New functihon; reads file, marks symbols for
623         saving.
624         (write_file_locals): File symbols should always be kept.
625         (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
626         and "-s".  Process retain-symbols file before setting symtab.
627         * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
628         (keepsyms_file, kept_syms): Declare them.
629
630         * ldmain.c (main): Non-fatal errors should still cause non-zero
631         exit status even with -r.
632
633 Fri Sep 25 11:08:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
634
635         Added initial support for the z8k
636         * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
637         * configure.in, Makefile.in: modified to reflect above
638
639         * ldlang.c (lang_check): when linking conflicting architectures,
640         make the output file reflect at least one of the bad inputs.
641
642 Tue Sep 15 15:35:38 1992  Ian Lance Taylor  (ian@cygnus.com)
643
644         * Makefile.in (install): if $(tooldir) exists, install ld in
645         $(tooldir)/bin.
646
647 Fri Sep 11 10:24:22 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
648
649         * Makefile.in, configure.in: modified to support i386-coff
650         * i386coff.sh: new file
651
652 Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
653
654         * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
655         added m68k-coff emulation mode, stolen from a29k emulation.
656         Almost certainly wrong, but perhaps better than sun3.
657
658 Thu Sep  3 14:19:30 1992  Per Bothner  (bothner@rtl.cygnus.com)
659
660         * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
661         gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
662         vanilla.em:  Rename all (generated) ld__*.c files to em_.c.
663         This is one character shorter, and lets people build on
664         SVR3 system. (ld__h8300xray.[co] was the killer there;
665         h8300xray.sc-sh is also overlong, but seems harmless.)
666         Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
667         * Makefile.in (clean):  Fix typo mostclean -> mostlyclean.
668         * configure.in:  Add host isc.
669
670         * ldver.c:  Call it version 2.0.
671
672 Wed Sep  2 00:21:33 1992  Per Bothner  (bothner@rtl.cygnus.com)
673
674         * ldver.c:  Bump to version 0.98.
675         * TODO:  New file.
676
677         * Makefile.in:  Added mostlyclean, distclean, realclean rules.
678
679 Tue Sep  1 23:42:16 1992  Per Bothner  (bothner@rtl.cygnus.com)
680
681         * ldmisc.c (xrealloc):  New (needed by ../libiberty/cplus.dem.c).
682         * ldlex.l: Moved comment() to end, since some compilers
683         otherwise have problems with input() used before it is defined.
684
685 Tue Sep  1 17:45:51 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
686
687         * configure.in: added Solaris 2 and Irix 4 host support.
688
689 Mon Aug 31 19:27:11 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
690
691         * Makefile.in: remove -S flag from the FLEX definition
692
693         * configure.in: rewrote, using new style case statement.  use
694         m68k.mt for m68k-aout systems
695
696 Sun Aug 30 21:38:53 1992  Ian Lance Taylor  (ian@cygnus.com)
697
698         * Makefile.in: map "ld" through program_transform_name when
699         installing.
700
701 Sun Aug 30 18:12:13 1992  Per Bothner  (bothner@rtl.cygnus.com)
702
703         * cplus-dem.c:  Removed.  Use the version in libiberty now.
704         * ldmisc.c:  Use new libiberty version of cplus_demangle().
705
706 Thu Aug 27 16:38:42 1992  Ian Lance Taylor  (ian@cygnus.com)
707
708         * gld960.em (gld960_choose_target): default to little endian, not
709         big endian.
710
711 Wed Aug 26 17:28:51 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
712
713         * ldlang.c (lang_process): don't pass null pointers when
714         abs_output_section is what is required.
715         * ldwrite.c (ldwrite): use malloc to allocate the largest space
716         used, and pass that down.
717         * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
718         than alloca. 
719         
720 Mon Aug 24 14:42:06 1992  Ian Lance Taylor  (ian@cygnus.com)
721
722         * configure.in, config/ose68.mt: renamed OSE to ose.
723
724 Thu Aug 20 19:55:22 1992  Ken Raeburn  (raeburn@cygnus.com)
725
726         * ldsym.c (write_file_locals): Reorder check for common or
727         undefined symbols so that it works.
728
729 Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)
730
731         * configure.in: accept all m68K family members.
732
733         * Makefile.in: always create installation directories.
734
735 Thu Aug 13 11:49:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
736
737         * ldlex.l: now parses comment correctly, added ~ to acceptable
738         chars in filenames
739         
740         * ldexp.c (exp_unop): pass down abs_output_section - now can have
741         unary -ve constants.
742
743         * ldlang.c (lang_finish): warn when an entry symbol supplied on
744         the command line can't be found.
745
746 Fri Aug  7 12:31:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
747
748         * ldlang.h: add new field "loadable" to output_section_statement.
749         * ldlang.c (lang_output_section_statement_lookup): initilize new
750         field. (wild_doit): if new field is not set, then stop output
751         section from being loadable.
752         (lang_enter_output_section_statement): set the field from the
753         NOLOAD keyword
754         * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
755         * h8300hms.sc-sh, h8300hms.em: get -r right.
756
757 Thu Aug  6 18:35:21 1992  Per Bothner  (bothner@rtl.cygnus.com)
758
759         * ldint.texinfo:  New internals manual (beginnings thereof).
760         * PORTING:  Removed, merged into ldint.texinfo.
761
762 Tue Aug  4 21:12:29 1992  Per Bothner  (bothner@rtl.cygnus.com)
763
764         * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
765         cdtest.exp:  A test program (copied from libg++/test-install)
766         that tests that constructor and destructors are handled
767         corrrectly.
768
769 Mon Aug  3 14:58:19 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
770
771         * Makefile.in (install): install from ld.new, renaming during the
772         copy, or else the next 'make install' needs to re-link ld.
773
774 Mon Jul 20 03:37:06 1992  D. V. Henkel-Wallace  (gumby@cygnus.com)
775
776         * configure.in: generalise hp recognition (from sef).
777
778 Sat Jul 18 14:46:04 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
779
780         * configure.in: recognize bsd and hpux hppa configurations.
781         error messages echo to stderr, not stdout
782
783 Fri Jul 17 22:06:11 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
784
785         * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
786           ldmisc.c: removed rcsid's.
787
788 Tue Jul 14 08:34:34 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
789
790         * ldlang.c (lang_map): print changes in sizes due to relaxing
791         (size_input_section): maintain the delta information. 
792         * ldlang.h: add new field to struct to contain delta info.
793         * relax.c  (relax_section): complain if input not relaxable.
794         * ldlex.l : add '_', ',' and '$' to chars which can appear at the
795         start of a filename
796
797 Mon Jul 13 17:33:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
798
799         * ldmain.c(main): prevent -r and -relax from being on at the same
800         time.
801
802 Wed Jul  1 17:51:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
803
804         * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
805         aliasing problems
806         
807
808 Thu Jun 18 09:38:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
809
810         * h8300hms.em, h8300hms.sc-sh:  do the right thing for -r
811         * ldexp.c:  lint
812         * ldlang.c(open_output): set the target arch and machine as soon
813         as we can. (lang_size_sections): use new macros for setting vma
814         * ldwrite.c: lint
815
816 Mon Jun 15 08:47:43 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
817
818         * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
819         Also deleted an unreachable path to wrs.
820
821 Wed May 27 23:24:19 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
822
823         * Makefile.in (install): use -d test for $tooldir before
824         installing ld there so that $tooldir can be inherited from
825         top-level Makefile.
826
827 Wed May 27 16:56:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
828
829         * ldlang.c:  Two non-substantial changes for the sake of
830         the old Portable C Compiler.
831
832 Wed May 27 15:15:58 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
833
834         * ldgram.y, ldlex.l: parse ABSOLUTE
835         * ldexp.c: add support for ABSOLUTE
836
837 Wed May 27 13:07:20 1992  Per Bothner  (bothner@rtl.cygnus.com)
838
839         * Makefile.in:  Added default definitions for HOSTING_CRT0,
840         HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
841         * config/*.mh:  Miscellaneous clean-up:  Removed definitions
842         of YACC (since it is not longer used in the Makefile).
843         Remove HOSTING_* definitions that are subsumed by the
844         ones added to Makefile.in.  Removed most definitions of CC.
845         * config/{sparc,news,hp300bsd,decstation}.mh:  Removed;
846         These are no longer needed.
847
848 Fri May 22 13:47:19 1992  Per Bothner  (bothner@cygnus.com)
849
850         * Makefile.in:  Use srcdir instead of VPATH in ldgram/ldlex
851         rules, since these are used when building a distribution.
852         * Makefile.in (ldlex.c):  Don't re-direct output, since that
853         leaves a bogus output files if it fails.
854
855         * config/sparc.mh:  Fix HOSTING_LIBS so it has a chance of working.
856         * ldlex.c:  Fix some unnecessary flex-specific-isms.
857
858 Fri May  8 11:49:43 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
859
860         * ldgram.y: move spurious semicolon
861         * ldexp.h: fix prototype
862
863 Thu May  7 17:01:12 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
864
865         * ld.texinfo: references to linker now say "ld" not "gld".
866
867 Wed May  6 13:26:19 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
868
869         changed calling convention for Q_enter_global_ref
870         * ldexp.c, ldlang.c, ldmain.c: reflect this
871         * ldver.c: bump version to 1.97.1
872         * ldindr.c (add_indirect): when an edict declaring an indirect
873         symbol is found, make sure that any ideas about the symbol being
874         common are changed if it now known to be defined.
875         * ldmain.c (linear_library): complain once if archive isn't
876         ranlibbed.
877         * ldlang.h, ldlang.c: make room for and initialize the complain
878         once field.
879
880 Wed May  6 11:07:35 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
881
882         * Makefile.in: use flex & bison from ../ if they exist.
883
884 Tue May  5 17:47:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
885
886         * relax.c (build_it): don't allocate space in the output file for
887         stuff if -R flag applys to it.
888         * ldfile.c: merge in VMS filename support
889         * ldmain.c (main): take out ./ from library path, and close file
890         before unlinking. Make multiple defs of a symbol create an
891         unexecable file.
892         * ldmisc.c: fatal errosrs delete output file 
893
894 Tue May  5 14:05:05 1992  Per Bothner  (bothner@rtl.cygnus.com)
895
896         * ldver.c:  Increase version number to 1.97, for consistency
897         with ../binutils.
898
899 Tue May  5 12:12:24 1992  K. Richard Pixley  (rich@cygnus.com)
900
901         * Makefile.in: FLEX -> LEX.
902
903         * ld.texinfo: {} -> @{@}.
904
905 Mon May  4 17:52:41 1992  Roland H. Pesch  (pesch@fowanton.cygnus.com)
906
907         * ld.texinfo: describe alternate, MRI-compatible linker scripts
908         (and associated change in -c option, now used for these scripts)
909
910 Mon May  4 16:10:10 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
911
912         * ldver.c: Bumped version to 1.96 - new release, resync with the
913         bfd too #.
914         * ldexp.c, ldlang.c: now build memory shape tree in obstacks
915         rather than with raw malloc, makes it easier to track where memory
916         is going.
917         * ldsym.h, ldsym.c: create obstack for all global symbols too.
918         * ldwrite.c (ldwrite): moved malloc so only used when needed.
919         * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
920
921
922 Fri May  1 18:17:52 1992  K. Richard Pixley  (rich@cygnus.com)
923
924         * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
925
926         * Makefile.in: use bootstrap for check.
927
928 Fri May  1 13:03:41 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
929
930         * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
931         PUBLIC.
932         * Makefile.in: now use flex, not lex
933         * ldlex.l, ldlang.c, ldctor.c: lint
934
935 Wed Apr 22 12:48:42 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
936
937         * ldlex.l: added CMDFILENAMECHAR state so that you can lex
938         different sorts of filenames on the command line than in a script.
939
940 Mon Apr 20 22:37:04 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
941
942         * Makefile.in: rework CFLAGS so that they can be passed on the
943           make command line.  Remove MINUS_G.  Default CFLAGS to -g.
944
945 Fri Apr 17 08:57:17 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
946
947         * relax.c: added handling for new "padding" seclet type, used to
948         fill out gaps between section.
949         * ldgram.y, ldlex.l: now -defsym on the command line is done
950         properly.
951
952 Wed Apr 15 21:20:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
953
954         * Makefile.in: the tooldir copy of ld goes directly in tooldir.
955
956 Wed Apr 15 16:09:33 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
957
958         * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
959         scripts.
960
961 Thu Apr  9 05:52:02 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
962
963         * Makefile.in (install): Install second copy in $(tooldir)/bin
964         without $(program_prefix), since that's what gcc expects.
965
966 Sat Apr  4 17:44:06 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
967
968         * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer. 
969         * h8300*: fix bit rot and add support for h8300xray target
970         * go32.sh: target emulation for go32.
971
972 Mon Mar 16 14:53:29 1992  Steve Chamberlain  (sac@rtl.cygnus.com)
973
974         * gld960.em, i960.sc-sh. Fix i960 bit rot
975
976 Fri Mar 13 19:47:22 1992  K. Richard Pixley  (rich@cygnus.com)
977
978         * Makefile.in: install man page.
979
980 Fri Mar 13 08:23:59 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
981
982         * config/mt-<foo> renamed to <foo>.mt
983         * config/mh-<foo> renamed to <foo>.mt
984         * configure.in changed to reflect this
985         * genscripts.sh now make .xbn files rather than .xN files
986
987 Sat Mar  7 03:40:40 1992  K. Richard Pixley  (rich@cygnus.com)
988
989         * ldver.h: fix decl of ldversion.
990
991 Fri Mar  6 22:00:35 1992  K. Richard Pixley  (rich@cygnus.com)
992
993         * Makefile.in: added check target.
994
995 Fri Mar  6 06:59:04 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
996
997         * ldmain.c (Q_enter_file_symbols): now aliases work again
998
999 Thu Mar  5 21:39:29 1992  K. Richard Pixley  (rich@cygnus.com)
1000
1001         * Makefile.in: added clean-info target.
1002
1003 Thu Mar  5 16:55:56 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
1004
1005         * ldexp.c (exp_print_tree): don't try and follow null pointers
1006         around.
1007         * ldgram.y: remove 11 shift reduce errors
1008
1009 Tue Mar  3 15:46:39 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
1010
1011         * Makefile.in: added tooldir and program_prefix.
1012
1013 Fri Feb 28 08:17:45 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
1014
1015         * ldlang.c (size_input_section): don't move absolute sections
1016         around!
1017
1018
1019 Thu Feb 27 09:20:41 1992  Steve Chamberlain  (sac at thepub.cygnus.com)
1020     
1021         * cplus-dem.c: yet another copy of this - maybe it should go into
1022         libiberty ?
1023         * ldgram.y: now -V and -v have different actions
1024         * ldver.c: if -V, prints list of emulations compiled in
1025         * ldmisc.c: support for cplus demangling
1026
1027
1028 Wed Feb 26 18:04:40 1992  K. Richard Pixley  (rich@cygnus.com)
1029
1030         * Makefile.in, configure.in: removed traces of namesubdir,
1031           -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
1032           copyrights to '92, changed some from Cygnus to FSF.
1033
1034 Thu Feb 20 17:43:46 1992  Per Bothner  (bothner at cygnus.com)
1035
1036         * Makefile.in:  Change mkscript rule into one for ./mkscript
1037         (for the sake of makes that don't realize they're the same).
1038         * PORTING:  Add more details.
1039         * genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
1040
1041 Mon Feb 17 12:04:36 1992  Per Bothner  (bothner at cygnus.com)
1042
1043         * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
1044         config/mt-hp300bsd:  New port to hp300 running BSD.
1045
1046 Sat Feb 15 13:59:54 1992  Per Bothner  (bothner at cygnus.com)
1047
1048         Major rewrite of how ld is configured.  The major idea
1049         is to use shell scripts to generate everything.
1050         * generic.em replaces ldtemplate.
1051         * Other *.em files replace various *.c files.
1052         A *.em file is a shell script that generates the corresponding
1053         ld__*.c file that implements an emulation.  This is usually
1054         a straight 'cat' of a here-document, possibly with substitutions.
1055         * Script files (*.sc) are places by *.sc-sh scripts.
1056         Again, these are simple shell scripts that 'cat'
1057         here-documents, usually with some substitutions.
1058         The output a *.sc-sh is a script file.
1059         * Each emulation is defined by a short shell script with
1060         extension *.sh that specifies the emulation-specific
1061         parameters (such as the name of the *.sh-sc and *.em
1062         files to use).
1063         * genscript.sh is the master shell script used to generate
1064         an emulation.  It is passed various argument, including
1065         the name a the emulation-speciic *.sh file that it
1066         "sources" to set variables to emulation-specifc parameters.
1067         * config/mt-foo:  Changed EMUL=GLDFOO_EMULATION_NAME
1068         to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
1069         * config/mh-foo:  Rename LDEMULATION names as appropriate
1070         (usually 'gldfoo' -> plain 'foo').
1071         * ldwrite.c:  Fixed a typo in a comment.
1072         * Makefile.in:  Major changes.  Removed some the sed
1073         magic to converts scripts, since that is now handled
1074         by genscripts.sh and the *.sc-sh scipt generators.
1075         * config.h:  Remove a bunch of macros defining emulations
1076         and targets.  This becomes one less file to edit when
1077         adding emulations or targets.
1078         * ldemul.h (struct ld_emulation_xfer_struct):  Add
1079         emulation_name and target_name fields.
1080         * ldemul.c, ldemul.h:  Define some default functions used
1081         by most emulations (and remove from the *.em scripts).
1082         * ldemul.c (ldemul_choose_target):  Search the new
1083         ld_emulations array using a loop (instead of a hardwired
1084         nested if statement).
1085         Define the ld_emulation from the automatically-geenrated
1086         ldemul-list.h.  This means you no longer have to edit ldemul.c
1087         to add a new emulation.
1088         * ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
1089         their expansions, since the former no longer exist.
1090         * PORTING:  A very rough first draft of a porting guide.
1091
1092         * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
1093         to be terminated by a new-line (instead of requiring a semicolon).
1094
1095 Mon Feb 10 16:21:02 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1096
1097         * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
1098         tests for NULL pointers all over the place.
1099         * ldlang.c (lang_process): remember to relocate global symbols
1100         *after* relaxing has done it stuff.
1101
1102 Thu Feb  6 11:40:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1103
1104         * config/mt-coff-h8300: use EMUL like everything else
1105         * ldlang.c: (print_padding_statement): print the right address.
1106         * Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
1107         
1108
1109 Tue Feb  4 15:28:01 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1110
1111         * ldlex.l: Put pack -noinhibit-exec and -sort-common
1112         * ldlang.c (print_data_statement): print the right address.
1113
1114 Thu Jan 30 17:51:53 1992  Per Bothner  (bothner at cygnus.com)
1115
1116         * Makefile.in:  The rule for testing ld by re-linking itself
1117         via an intermediate -r link was moved to the ld1 rule
1118         instead of the ld2 rule.  This allows ld2 and ld3 to be identical,
1119         which allows the bootstrap rule to work.
1120         * ldctor.c (find_constructors):  Don't create a constructor
1121         list if it is already defined (as would happen if ld is
1122         invoked by collect).
1123
1124 Wed Jan 29 08:35:39 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1125
1126         * config/mh-sparc.h: now uses libgcc.a
1127         * ldmain.c: quit using exit
1128         * *sc: use *(COMMON) rather than [COMMON]
1129         * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
1130         to allow preprocessing of .l file.
1131         * Makefile.in: New ldlex.l mangling
1132         * ldexp.c (fold_binary): perform expressions with % and / in
1133         integer.
1134         * ldfile.c (open_a): open archives on VMS in a special way
1135
1136
1137 Tue Jan 28 10:18:16 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1138
1139         * ldgram.y: map -M behave in the same way as -Map (sets file name
1140         to be "-".
1141         * ldsym.c, ldlang.c: remember that size of a section is dependent on
1142         whether or not relaxing has been done.
1143         * ldmain.c: don't open a map file if it doesn't have a name
1144         * relax.c: all the brains have moved into bfd.
1145         * ldwrite.c: ammend comment
1146
1147 Fri Jan 24 14:23:46 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
1148
1149         * Makefile.in: added relax, also made three stage go through a
1150         partial link stage.
1151         * relax.c : added
1152         * config.h: if GNU960 defined, then default emulation mode is
1153         GLD960
1154         * ldexp.h, ldexp.c: map to file hooks
1155         * ldlang.c: map to file hooks
1156         * ldgram.y: added -Map -relax
1157         * ldlex.l: added -relax, -Map
1158         * ldmain.c: open map file
1159         * ldmisc.c: support for map file
1160         * ldwrite.c: new relax magic
1161
1162 Thu Dec 19 18:49:51 1991  John Gilmore  (gnu at cygnus.com)
1163
1164         * Makefile.in, config/tm-*.h:  Clean up make output, only
1165         pass DEFAULT_EMULATION to ldmain.c.
1166
1167 Wed Dec 18 15:02:47 1991  Per Bothner  (bothner at cygnus.com)
1168
1169         * ldver.c:  Bump to version 1.94.
1170
1171 Tue Dec 10 04:07:23 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
1172
1173         * Makefile.in: infodir belongs in datadir.
1174
1175 Mon Dec  9 16:26:43 1991  Per Bothner  (bothner at cygnus.com)
1176
1177         * Makefile.in:  Pass -y to bison.  (Again;
1178         accidentally deleted by Rich.)
1179         * news.sc, ldgld68k.sc:  Define __end as well as _end.
1180
1181 Sat Dec  7 17:19:26 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
1182
1183         * ldindr.h: added to contain prototypes of ldindr.c
1184         * ldfile.c: include ctype.h
1185         * ldmain.c: include the requried prototype headers
1186         * ldwrite.c: get_reloc_upper_bound has been renamed
1187         bfd_get_reloc_upper_bound 
1188
1189 Fri Dec  6 23:29:26 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
1190
1191         * Makefile.in: punt "fundamental" mode because it breaks my emacs
1192           macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
1193           spaces following hyphens, bsd make can't cope.  added
1194           standards.text support and made it look like all the other
1195           makefiles.
1196
1197         * configure.in: configure now runs entirely in objdir so make file
1198           existence checks against ${srcdir}.  Mark this directory as
1199           target dependent.
1200
1201 Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
1202
1203         * Makefile.in: idestdir and ddestdir go away.  Added copyrights
1204           and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
1205           and mandir now keyed off datadir by default.
1206
1207 Wed Dec  4 23:36:55 1991  Per Bothner  (bothner at cygnus.com)
1208
1209         * ldver.c:  Bumped version to 1.93.
1210         * Makefile.in:  Pass -y to bison.
1211
1212 Mon Nov 25 18:28:40 1991  Steve Chamberlain  (sac at cygnus.com)
1213
1214         * config.h: h8 is now coff, not ieee
1215         * h8300hds.sc: reflect the same
1216
1217 Thu Nov 14 19:55:09 1991  Per Bothner  (bothner at cygnus.com)
1218
1219         * ldver.c (ldversion()):  Update to 1.92.
1220         * ldctor.c: There are two places constructor sets
1221         can be defined.  One of them checked for an existing
1222         duplicate, the other didn't.  Unfortunately, the latter
1223         was called after the former ...
1224         So, factor out code for inserting a new element into
1225         constructor_name_list (after checking for a duplicate)
1226         into a new function add_constructor_name, and call
1227         it from both aforementioned places (ldlang_add_constructor
1228         and ldlang_check_for_constructors).
1229
1230 Wed Nov 13 15:17:43 1991  Per Bothner  (bothner at cygnus.com)
1231
1232         * Makefile.in:  Rename .c files generated from ldtemplate
1233         to have names starting with ld__.  This helps 'make clean'.     
1234
1235 Tue Nov 12 18:36:50 1991  Steve Chamberlain  (sac at cygnus.com)
1236
1237         * Makefile.in: Take out the version number for install
1238         * m88kbcs.sc: put in contructor blocks.
1239
1240 Mon Nov 11 18:47:33 1991  Per Bothner  (bothner at cygnus.com)
1241
1242         * ldmisc.c, ldmisc.h:  Re-write info() to take a filename
1243         parameter, a format, and an arg pointer, and rename it to
1244         vfinfo().  Write info() in terms of new vfinfo().
1245         New einfo() is the same as info(), except it writes to stderr.
1246         * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
1247         ldmisc.c:  Replace "error" calls to info() by new einfo().
1248
1249 Mon Nov 11 09:57:32 1991  Steve Chamberlain  (steve at cygnus.com)
1250
1251         * ldlex.l ldgram.y: made -V option do same as -v
1252         * Makefile.in: Added $(MINUS_G) flag so debugging can be
1253         turned off
1254
1255 Sun Nov  3 16:37:37 1991  Steve Chamberlain  (steve at cygnus.com)
1256          i386 aout changes from Bob Kukura
1257         * Makefile.in, config.h: added i386aout support
1258         * configure.in: fixed /h-{myhost} typo
1259         * ldgram.y: -MM now gives more boring map.
1260         * ldlang.c: now does D_PAGED flag the right way.
1261         * ldsym.c: -MM flags does the right thing.
1262
1263 Sun Nov  3 15:00:03 1991  Per Bothner  (bothner at cygnus.com)
1264
1265         * configure.in:  Fixed typo.  Also, a fix for hp300bsd.
1266         * ldlang.c (init_os):  Compensate for BFD change,
1267         where bfd_make_section now returns NULL for a duplicate
1268         section request, instead of the old section.
1269
1270 Thu Oct 17 15:27:13 1991  Per Bothner  (bothner at cygnus.com)
1271
1272         * ldver.c: Bump to version 1.91 (consistent with binutils).
1273
1274 Wed Oct 16 12:27:08 1991  Per Bothner  (bothner at cygnus.com)
1275
1276         * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
1277         ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
1278         ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
1279         ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
1280         Add or update copyright notices.        
1281
1282 Mon Oct 14 23:55:27 1991  Per Bothner  (bothner at cygnus.com)
1283
1284         * README: New file.
1285         * Makefile.in:  Changed installation directory name scheme
1286         to be consistent with gcc.  Also changed 'install'.
1287
1288 Mon Oct 14 17:30:02 1991  Roland H. Pesch  (pesch at cygnus.com)
1289
1290         * Makefile.in: new targets ld.mm, ld.me
1291
1292 Mon Oct 14 17:27:24 1991  Per Bothner  (bothner at cygnus.com)
1293
1294         * Makefile.in, ldtemplate:  Need to use separate scripts
1295         for -n and -N options.  Yet more complication.
1296
1297 Fri Oct 11 22:40:46 1991  John Gilmore  (gnu at cygnus.com)
1298
1299         * Makefile.in:  Avoid using $< in explicit Make rules (it doesn't
1300         work).  Add some lines to avoid Sun Make VPATH bugs.
1301
1302 Fri Oct 11 16:42:22 1991  Per Bothner  (bothner at cygnus.com)
1303
1304         * news.sc: Add alignment for data segment.
1305         * ldtemplate: Add (yet another) script to get for -n or -N
1306         options.  (These need different alignment than ZMAGIC files.)
1307         * Makefile.in:  Add stuff for new foo.xn scripts.
1308         These are generated by replacing "ALIGN(0x...00)" by ".".
1309
1310 Fri Oct 11 15:43:04 1991  Roland H. Pesch  (pesch at cygnus.com)
1311
1312         * Makefile.in: new targets ld.ms, ld-index.ms
1313         ld.texinfo: remove tabs, other cleanups for texi2roff
1314
1315 Fri Oct 11 13:51:54 1991  Per Bothner  (bothner at cygnus.com)
1316
1317         * ldmain.c (main): Make config.magic_demand_paged be true
1318         by default.  Don't the WP_TEXT and D_PAGED flags of
1319         output_bfd here; it's too late, so set it when output_bfd
1320         is created (in ldlang.c).  Also fix setting of EXEC_P flag
1321         * ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
1322         * ldlang.c: Remove some duplicate extern declarations.
1323         * ldgram.y: Fixes to -N and -n options.
1324         * Makefile.in:  Recognize upper case letters in sed script
1325         to remove assignments from script files.
1326         * ldtemplate:  Don't assukme that -N or -n options
1327         imply use of -r script.
1328         * mkscript.c:  Tweaking to correctly handle \n and \\ in input.
1329
1330 Fri Oct 11 10:29:27 1991  Steve Chamberlain  (steve at cygnus.com)
1331
1332         * ldtemplate: include bfd.h before sysdep.h.
1333
1334 Fri Oct 11 04:24:45 1991  John Gilmore  (gnu at cygnus.com)
1335
1336         Restructure configuration scheme for bfd, binutils, ld.
1337
1338         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
1339         * configure.in:  Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
1340         Change some config names to match other dirs.
1341         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
1342         get defined first.
1343         * config/:  Rename some config files to match up h-*.h names.
1344         Remove all the HOST_SYS definitions from the config files.
1345
1346 Tue Oct  8 16:00:57 1991  Per Bothner  (bothner at cygnus.com)
1347
1348         * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
1349         * ldtemplate: Remove ldfile_add_library_path calls;
1350         just use the SEARCH_DIR commands in the script files.
1351         * Makefile.in: Add LIB_PATH macro, which if set is used to replace
1352         the SEARCH_DIR commands in the scripts (using ugly sed magic).
1353         This is primarily intended for cross-linking, where you would
1354         place libaries in a different place than native libraries.
1355         Also, emulations made from ldtemplate now use $(srcdir).
1356         * ldglda29k.sc:  Change SEARCH_DIR commands to a conventional
1357         form; people can use the Makefile's LIB_PATH to override.
1358
1359 Tue Oct  8 14:51:21 1991  Roland H. Pesch  (pesch at cygnus.com)
1360
1361         * Makefile.in: fix target ld.dvi, add target ld.info
1362         ld.texinfo: make info filename ld.info
1363
1364 Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
1365
1366         * Makefile.in:  Avoid using $< in non-suffix rules (breaks on Sun
1367         Make). 
1368         * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
1369         few BFD types & enums.
1370