* Makefile.in: Major changes. Removed some the sed
[external/binutils.git] / ld / ChangeLog
1 Sat Feb 15 13:59:54 1992  Per Bothner  (bothner at cygnus.com)
2
3         Major rewrite of how ld is configured.  The major idea
4         is to use shell scripts to generate everything.
5         * generic.em replaces ldtemplate.
6         * Other *.em files replace various *.c files.
7         A *.em file is a shell script that generates the corresponding
8         ld__*.c file that implements an emulation.  This is usually
9         a straight 'cat' of a here-document, possibly with substitutions.
10         * Script files (*.sc) are places by *.sc-sh scripts.
11         Again, these are simple shell scripts that 'cat'
12         here-documents, usually with some substitutions.
13         The output a *.sc-sh is a script file.
14         * Each emulation is defined by a short shell script with
15         extension *.sh that specifies the emulation-specific
16         parameters (such as the name of the *.sh-sc and *.em
17         files to use).
18         * genscript.sh is the master shell script used to generate
19         an emulation.  It is passed various argument, including
20         the name a the emulation-speciic *.sh file that it
21         "sources" to set variables to emulation-specifc parameters.
22         * config/mt-foo:  Changed EMUL=GLDFOO_EMULATION_NAME
23         to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
24         * config/mh-foo:  Rename LDEMULATION names as appropriate
25         (usually 'gldfoo' -> plain 'foo').
26         * ldwrite.c:  Fixed a typo in a comment.
27         * Makefile.in:  Major changes.  Removed some the sed
28         magic to converts scripts, since that is now handled
29         by genscripts.sh and the *.sc-sh scipt generators.
30         * config.h:  Remove a bunch of macros defining emulations
31         and targets.  This becomes one less file to edit when
32         adding emulations or targets.
33         * ldemul.h (struct ld_emulation_xfer_struct):  Add
34         emulation_name and target_name fields.
35         * ldemul.c, ldemul.h:  Define some default functions used
36         by most emulations (and remove from the *.em scripts).
37         * ldemul.c (ldemul_choose_target):  Search the new
38         ld_emulations array using a loop (instead of a hardwired
39         nested if statement).
40         Define the ld_emulation from the automatically-geenrated
41         ldemul-list.h.  This means you no longer have to edit ldemul.c
42         to add a new emulation.
43         * ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
44         their expansions, since the former no longer exist.
45         * PORTING:  A very rough first draft of a porting guide.
46
47         * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
48         to be terminated by a new-line (instead of requiring a semicolon).
49
50 Mon Feb 10 16:21:02 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
51
52         * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
53         tests for NULL pointers all over the place.
54         * ldlang.c (lang_process): remember to relocate global symbols
55         *after* relaxing has done it stuff.
56
57 Thu Feb  6 11:40:15 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
58
59         * config/mt-coff-h8300: use EMUL like everything else
60         * ldlang.c: (print_padding_statement): print the right address.
61         * Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
62         
63
64 Tue Feb  4 15:28:01 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
65
66         * ldlex.l: Put pack -noinhibit-exec and -sort-common
67         * ldlang.c (print_data_statement): print the right address.
68
69 Thu Jan 30 17:51:53 1992  Per Bothner  (bothner at cygnus.com)
70
71         * Makefile.in:  The rule for testing ld by re-linking itself
72         via an intermediate -r link was moved to the ld1 rule
73         instead of the ld2 rule.  This allows ld2 and ld3 to be identical,
74         which allows the bootstrap rule to work.
75         * ldctor.c (find_constructors):  Don't create a constructor
76         list if it is already defined (as would happen if ld is
77         invoked by collect).
78
79 Wed Jan 29 08:35:39 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
80
81         * config/mh-sparc.h: now uses libgcc.a
82         * ldmain.c: quit using exit
83         * *sc: use *(COMMON) rather than [COMMON]
84         * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
85         to allow preprocessing of .l file.
86         * Makefile.in: New ldlex.l mangling
87         * ldexp.c (fold_binary): perform expressions with % and / in
88         integer.
89         * ldfile.c (open_a): open archives on VMS in a special way
90
91
92 Tue Jan 28 10:18:16 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
93
94         * ldgram.y: map -M behave in the same way as -Map (sets file name
95         to be "-".
96         * ldsym.c, ldlang.c: remember that size of a section is dependent on
97         whether or not relaxing has been done.
98         * ldmain.c: don't open a map file if it doesn't have a name
99         * relax.c: all the brains have moved into bfd.
100         * ldwrite.c: ammend comment
101
102 Fri Jan 24 14:23:46 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
103
104         * Makefile.in: added relax, also made three stage go through a
105         partial link stage.
106         * relax.c : added
107         * config.h: if GNU960 defined, then default emulation mode is
108         GLD960
109         * ldexp.h, ldexp.c: map to file hooks
110         * ldlang.c: map to file hooks
111         * ldgram.y: added -Map -relax
112         * ldlex.l: added -relax, -Map
113         * ldmain.c: open map file
114         * ldmisc.c: support for map file
115         * ldwrite.c: new relax magic
116
117 Thu Dec 19 18:49:51 1991  John Gilmore  (gnu at cygnus.com)
118
119         * Makefile.in, config/tm-*.h:  Clean up make output, only
120         pass DEFAULT_EMULATION to ldmain.c.
121
122 Wed Dec 18 15:02:47 1991  Per Bothner  (bothner at cygnus.com)
123
124         * ldver.c:  Bump to version 1.94.
125
126 Tue Dec 10 04:07:23 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
127
128         * Makefile.in: infodir belongs in datadir.
129
130 Mon Dec  9 16:26:43 1991  Per Bothner  (bothner at cygnus.com)
131
132         * Makefile.in:  Pass -y to bison.  (Again;
133         accidentally deleted by Rich.)
134         * news.sc, ldgld68k.sc:  Define __end as well as _end.
135
136 Sat Dec  7 17:19:26 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
137
138         * ldindr.h: added to contain prototypes of ldindr.c
139         * ldfile.c: include ctype.h
140         * ldmain.c: include the requried prototype headers
141         * ldwrite.c: get_reloc_upper_bound has been renamed
142         bfd_get_reloc_upper_bound 
143
144 Fri Dec  6 23:29:26 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
145
146         * Makefile.in: punt "fundamental" mode because it breaks my emacs
147           macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
148           spaces following hyphens, bsd make can't cope.  added
149           standards.text support and made it look like all the other
150           makefiles.
151
152         * configure.in: configure now runs entirely in objdir so make file
153           existence checks against ${srcdir}.  Mark this directory as
154           target dependent.
155
156 Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
157
158         * Makefile.in: idestdir and ddestdir go away.  Added copyrights
159           and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
160           and mandir now keyed off datadir by default.
161
162 Wed Dec  4 23:36:55 1991  Per Bothner  (bothner at cygnus.com)
163
164         * ldver.c:  Bumped version to 1.93.
165         * Makefile.in:  Pass -y to bison.
166
167 Mon Nov 25 18:28:40 1991  Steve Chamberlain  (sac at cygnus.com)
168
169         * config.h: h8 is now coff, not ieee
170         * h8300hds.sc: reflect the same
171
172 Thu Nov 14 19:55:09 1991  Per Bothner  (bothner at cygnus.com)
173
174         * ldver.c (ldversion()):  Update to 1.92.
175         * ldctor.c: There are two places constructor sets
176         can be defined.  One of them checked for an existing
177         duplicate, the other didn't.  Unfortunately, the latter
178         was called after the former ...
179         So, factor out code for inserting a new element into
180         constructor_name_list (after checking for a duplicate)
181         into a new function add_constructor_name, and call
182         it from both aforementioned places (ldlang_add_constructor
183         and ldlang_check_for_constructors).
184
185 Wed Nov 13 15:17:43 1991  Per Bothner  (bothner at cygnus.com)
186
187         * Makefile.in:  Rename .c files generated from ldtemplate
188         to have names starting with ld__.  This helps 'make clean'.     
189
190 Tue Nov 12 18:36:50 1991  Steve Chamberlain  (sac at cygnus.com)
191
192         * Makefile.in: Take out the version number for install
193         * m88kbcs.sc: put in contructor blocks.
194
195 Mon Nov 11 18:47:33 1991  Per Bothner  (bothner at cygnus.com)
196
197         * ldmisc.c, ldmisc.h:  Re-write info() to take a filename
198         parameter, a format, and an arg pointer, and rename it to
199         vfinfo().  Write info() in terms of new vfinfo().
200         New einfo() is the same as info(), except it writes to stderr.
201         * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
202         ldmisc.c:  Replace "error" calls to info() by new einfo().
203
204 Mon Nov 11 09:57:32 1991  Steve Chamberlain  (steve at cygnus.com)
205
206         * ldlex.l ldgram.y: made -V option do same as -v
207         * Makefile.in: Added $(MINUS_G) flag so debugging can be
208         turned off
209
210 Sun Nov  3 16:37:37 1991  Steve Chamberlain  (steve at cygnus.com)
211          i386 aout changes from Bob Kukura
212         * Makefile.in, config.h: added i386aout support
213         * configure.in: fixed /h-{myhost} typo
214         * ldgram.y: -MM now gives more boring map.
215         * ldlang.c: now does D_PAGED flag the right way.
216         * ldsym.c: -MM flags does the right thing.
217
218 Sun Nov  3 15:00:03 1991  Per Bothner  (bothner at cygnus.com)
219
220         * configure.in:  Fixed typo.  Also, a fix for hp300bsd.
221         * ldlang.c (init_os):  Compensate for BFD change,
222         where bfd_make_section now returns NULL for a duplicate
223         section request, instead of the old section.
224
225 Thu Oct 17 15:27:13 1991  Per Bothner  (bothner at cygnus.com)
226
227         * ldver.c: Bump to version 1.91 (consistent with binutils).
228
229 Wed Oct 16 12:27:08 1991  Per Bothner  (bothner at cygnus.com)
230
231         * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
232         ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
233         ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
234         ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
235         Add or update copyright notices.        
236
237 Mon Oct 14 23:55:27 1991  Per Bothner  (bothner at cygnus.com)
238
239         * README: New file.
240         * Makefile.in:  Changed installation directory name scheme
241         to be consistent with gcc.  Also changed 'install'.
242
243 Mon Oct 14 17:30:02 1991  Roland H. Pesch  (pesch at cygnus.com)
244
245         * Makefile.in: new targets ld.mm, ld.me
246
247 Mon Oct 14 17:27:24 1991  Per Bothner  (bothner at cygnus.com)
248
249         * Makefile.in, ldtemplate:  Need to use separate scripts
250         for -n and -N options.  Yet more complication.
251
252 Fri Oct 11 22:40:46 1991  John Gilmore  (gnu at cygnus.com)
253
254         * Makefile.in:  Avoid using $< in explicit Make rules (it doesn't
255         work).  Add some lines to avoid Sun Make VPATH bugs.
256
257 Fri Oct 11 16:42:22 1991  Per Bothner  (bothner at cygnus.com)
258
259         * news.sc: Add alignment for data segment.
260         * ldtemplate: Add (yet another) script to get for -n or -N
261         options.  (These need different alignment than ZMAGIC files.)
262         * Makefile.in:  Add stuff for new foo.xn scripts.
263         These are generated by replacing "ALIGN(0x...00)" by ".".
264
265 Fri Oct 11 15:43:04 1991  Roland H. Pesch  (pesch at cygnus.com)
266
267         * Makefile.in: new targets ld.ms, ld-index.ms
268         ld.texinfo: remove tabs, other cleanups for texi2roff
269
270 Fri Oct 11 13:51:54 1991  Per Bothner  (bothner at cygnus.com)
271
272         * ldmain.c (main): Make config.magic_demand_paged be true
273         by default.  Don't the WP_TEXT and D_PAGED flags of
274         output_bfd here; it's too late, so set it when output_bfd
275         is created (in ldlang.c).  Also fix setting of EXEC_P flag
276         * ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
277         * ldlang.c: Remove some duplicate extern declarations.
278         * ldgram.y: Fixes to -N and -n options.
279         * Makefile.in:  Recognize upper case letters in sed script
280         to remove assignments from script files.
281         * ldtemplate:  Don't assukme that -N or -n options
282         imply use of -r script.
283         * mkscript.c:  Tweaking to correctly handle \n and \\ in input.
284
285 Fri Oct 11 10:29:27 1991  Steve Chamberlain  (steve at cygnus.com)
286
287         * ldtemplate: include bfd.h before sysdep.h.
288
289 Fri Oct 11 04:24:45 1991  John Gilmore  (gnu at cygnus.com)
290
291         Restructure configuration scheme for bfd, binutils, ld.
292
293         * include/sys/h-*.h:  Move to bfd/hosts/h-*.h.
294         * configure.in:  Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
295         Change some config names to match other dirs.
296         * *.c:  Include bfd.h before sysdep.h, so ansidecl and PROTO()
297         get defined first.
298         * config/:  Rename some config files to match up h-*.h names.
299         Remove all the HOST_SYS definitions from the config files.
300
301 Tue Oct  8 16:00:57 1991  Per Bothner  (bothner at cygnus.com)
302
303         * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
304         * ldtemplate: Remove ldfile_add_library_path calls;
305         just use the SEARCH_DIR commands in the script files.
306         * Makefile.in: Add LIB_PATH macro, which if set is used to replace
307         the SEARCH_DIR commands in the scripts (using ugly sed magic).
308         This is primarily intended for cross-linking, where you would
309         place libaries in a different place than native libraries.
310         Also, emulations made from ldtemplate now use $(srcdir).
311         * ldglda29k.sc:  Change SEARCH_DIR commands to a conventional
312         form; people can use the Makefile's LIB_PATH to override.
313
314 Tue Oct  8 14:51:21 1991  Roland H. Pesch  (pesch at cygnus.com)
315
316         * Makefile.in: fix target ld.dvi, add target ld.info
317         ld.texinfo: make info filename ld.info
318
319 Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
320
321         * Makefile.in:  Avoid using $< in non-suffix rules (breaks on Sun
322         Make). 
323         * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
324         few BFD types & enums.
325