* emultempl/aix.em (unix_ld): New static variable.
[deliverable/binutils-gdb.git] / ld / ChangeLog
1 Wed Dec 6 14:33:50 1995 Doug Evans <dje@canuck.cygnus.com>
2
3 * ldlang.c (print_statement{,s}): Delete duplicate prototype.
4 (print_statement_list): Renamed from print_statement. All callers
5 updated.
6 (print_statement): New function to print just one statement.
7 (print_{data,reloc,padding}_statement): Don't crash if
8 output_section == NULL.
9 (dprint_statement): New function.
10
11 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
12 call to sort_sections.
13
14 Wed Dec 6 14:59:06 1995 Ian Lance Taylor <ian@cygnus.com>
15
16 * emultempl/aix.em (unix_ld): New static variable.
17 (gld${EMULATION_NAME}_parse_args): Handle -unix.
18 (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
19 gc as false and export_defineds as true to size_dynamic_sections.
20
21 * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
22 phase if the current section is abs_output_section.
23
24 Fri Dec 1 16:48:36 1995 Ian Lance Taylor <ian@cygnus.com>
25
26 * ldgram.y (PHDRS): New token.
27 (ifile_p1): Accept phdrs.
28 (section): Accept phdr_opt at the end of the section definition.
29 (phdr_op): New nonterminal.
30 (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
31 * ldlex.l: Accept PHDRS.
32 * ldlang.h (struct lang_output_section_phdr_list): Define.
33 (lang_output_section_statement_type): Add phdrs field.
34 (struct lang_phdr): Define.
35 (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
36 (lang_new_phdr): Declare.
37 * ldlang.c (lang_phdr_list): New static variable.
38 (lang_output_section_statement_lookup): Initialize phdrs field.
39 (lang_process): Call lang_record_phdrs.
40 (lang_new_phdr): New function.
41 (lang_section_in_phdr): New function.
42 (lang_record_phdrs): New static function.
43 * ld.texinfo: Document PHDRS.
44
45 Thu Nov 30 13:14:30 1995 Kim Knuttila <krk@cygnus.com>
46
47 * scripttempl/ppcpe.sc: Moved .edata into its own section to
48 expose it.
49
50 Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
51
52 * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
53 HOSTING_LIBS for testing.
54 (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
55 testing.
56
57 Tue Nov 28 12:14:53 1995 Ian Lance Taylor <ian@cygnus.com>
58
59 * lexsup.c (parse_args): Set config.dynamic_link to false for -N
60 and -n.
61
62 Mon Nov 27 13:12:09 1995 Ian Lance Taylor <ian@cygnus.com>
63
64 * configure: Rebuild with autoconf 2.7.
65
66 Fri Nov 24 18:35:35 1995 Doug Evans <dje@canuck.cygnus.com>
67
68 * scripttempl/pe.sc: Two .junk's is too much junk.
69
70 Tue Nov 21 16:14:32 1995 Ian Lance Taylor <ian@cygnus.com>
71
72 * configure.in: Use BFD_NEED_DECLARATION.
73 * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
74 * configure, config.in: Rebuild with autoconf 2.6.
75
76 * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
77 being unsupported if this is not a relocateable link and the input
78 BFD supports it, since ldctor_build_sets can cope with that case.
79
80 Fri Nov 17 16:23:15 1995 Stan Shebs <shebs@andros.cygnus.com>
81
82 * configure.tgt (powerpc-*-macos*): New target.
83 * emulparams/ppcmacos.sh: New file, PowerMac emulation.
84 * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
85 (eppcmacos.c): New target.
86 * mpw-eppcmacos.c: Update.
87 * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
88
89 Fri Nov 17 10:37:27 1995 Ian Lance Taylor <ian@cygnus.com>
90
91 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
92 $(host_canonical) and $(target_canonical).
93 (CXX_FOR_TARGET): Likewise.
94
95 Thu Nov 16 11:23:42 1995 Doug Evans <dje@canuck.cygnus.com>
96
97 * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
98 so the malloc heap begins at a sane place.
99
100 Thu Nov 16 03:09:32 1995 Ken Raeburn <raeburn@cygnus.com>
101
102 Version 2.6 released.
103 * ldver.c (ldversion): Update to 2.6.
104
105 * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not
106 $(GENERATED_*FILES), since they need to be retained by distclean.
107 (maintainer-clean, realclean): Delete them here.
108
109 Tue Nov 14 17:08:06 1995 Ian Lance Taylor <ian@cygnus.com>
110
111 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the
112 base file with FOPEN_WB, not "w".
113
114 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
115 environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
116 were used.
117 (gld${EMULATION_NAME}_before_allocation): Use the environment
118 variable LD_RUN_PATH if -rpath was not used.
119 * ld.texinfo, ld.1: Document LD_RUN_PATH.
120
121 Thu Nov 9 13:09:29 1995 Ian Lance Taylor <ian@cygnus.com>
122
123 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize
124 -bl and -bloadmap options.
125
126 * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
127 report a better error.
128
129 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
130 new local variable special_sections, and pass it to
131 size_dynamic_sections. Look through the results, and move the
132 sections around in the mapping so that they are defined correctly.
133
134 Wed Nov 8 11:40:59 1995 Ian Lance Taylor <ian@cygnus.com>
135
136 * ldemul.c (ldemul_default_target): Cast getenv return value.
137
138 Tue Nov 7 11:15:36 1995 Kim Knuttila <krk@cygnus.com>
139
140 * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable
141 Executable support.
142 * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable
143 support.
144
145 * configure.tgt (targ_extra_emuls): Added powerpcle-pe target.
146 * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target.
147
148 * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro
149 (gld_$_before_allocation): added hooks for toc construction based
150 on the above macro.
151
152 Tue Nov 7 11:47:23 1995 Ian Lance Taylor <ian@cygnus.com>
153
154 * ld.texinfo: The linker does not use _main as an entry point.
155
156 Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
157
158 * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
159 0x2000 not 0x200.
160
161 Mon Nov 6 10:59:21 1995 Ian Lance Taylor <ian@cygnus.com>
162
163 * configure.in: Add test for whether free must be declared.
164 * sysdep.h: Declare free if necessary. Include "ansidecl.h".
165 * acconfig.h: Explain NEED_DECLARATION_FREE.
166 * configure, config.in: Rebuild.
167
168 * lexsup.c (parse_args): Take B:: out of shortopts.
169
170 Sun Nov 5 03:08:28 1995 Ken Raeburn <raeburn@cygnus.com>
171
172 * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0
173 for now, as with m68k4kbsd, until shared library support gets
174 done.
175
176 * configure.host: For i386 BSD variants, crt0.o lives in
177 /usr/lib. (True for NetBSD at least, unconfirmed for others.)
178
179 Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
180
181 * Makefile.in (ALL_EMULATIONS): Add edelta68.o.
182 (edelta68.c): New target.
183 * configure.tgt (m68*-motorola-sysv*): New target.
184 * emulparams/delta68.sh: New file.
185 * scripttempl/delta68.sc: New file.
186
187 * scripttempl/m88kbcs.sc: Handle .init and .fini. Change section
188 addresses.
189
190 Wed Nov 1 11:41:56 1995 Ian Lance Taylor <ian@cygnus.com>
191
192 * ldgram.y (mri_script_command): Accept ',' as well as '=' in
193 ALIGN and ALIGNMOD statements.
194
195 * emultempl/aix.em: Include ldgram.h.
196 (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
197 AIX 4.1.
198 * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
199
200 Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com>
201
202 * configure.host (alpha-*-linux*): New host.
203 * configure.tgt (alpha-*-linux*): New target.
204
205 Tue Oct 31 12:36:52 1995 Ian Lance Taylor <ian@cygnus.com>
206
207 * emultempl/aix.em (export_files): Remove.
208 (import_files): Make static.
209 (struct export_symbol_list): Define.
210 (export_symbols): New static variable.
211 (gld${EMULATION_NAME}_parse_args): Handle an initial -b option
212 correctly. Call read_file for an export file.
213 (gld${EMULATION_NAME}_before_allocation): Call
214 bfd_xcoff_export_symbol for each export symbol, rather than
215 calling read_file for each export file.
216 (gld${EMULATION_NAME}_read_file): For an export file, make the
217 exported symbols undefined, and store them on the export_symbols
218 list.
219
220 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
221
222 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
223 Don't hang if last option is unrecognised.
224 (gld_${EMULATION_NAME}_set_symbols): Insert created
225 symbols into ABS output section.
226
227 Fri Oct 27 18:03:17 1995 Niklas Hallqvist <niklas@appli.se>
228
229 * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
230 m68k4k arch.
231 (em68k4knbsd.c): New rule.
232
233 * configure.tgt: Added support for the NetBSD m68k4k arch.
234
235 * genscripts.sh, ldint.texinfo,
236 emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
237 gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
238 hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
239 i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
240 m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
241 pc532machaout,rce,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
242 st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
243 PAGE_SIZE to TARGET_PAGE_SIZE.
244
245 * emulparams/m68knbsd.h: Ditto.
246 (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
247 (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
248 being.
249
250 * emulparams/m68k4knbsd.sh: New file.
251
252 * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
253
254 Fri Oct 27 17:59:09 1995 Ian Lance Taylor <ian@cygnus.com>
255
256 * emultempl/aix.em: Include ldctor.h.
257 (gld${EMULATION_NAME}_after_open): New static function.
258 (gld${EMULATION_NAME}_before_allocation): Call find_relocs.
259 (gld${EMULATION_NAME}_find_relocs): New static function.
260 (gld${EMULATION_NAME}_find_exp_assignment): New static function.
261 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
262 * scripttempl/aix.sc: Use CONSTRUCTORS in .data.
263 * ldctor.c (struct set_info): Move definition into ldctor.h.
264 (struct set_element): Likewise.
265 (sets): Make non-static.
266 (ldctor_add_set_entry): Add name parameter. Save it in the new
267 set element.
268 (ldctor_build_sets): Avoid being called twice. Pass set element
269 name to lang_add_reloc.
270 * ldctor.h (struct set_info): Move definition here from ldctor.c.
271 (struct set_element): Likewise. Add new field name.
272 (sets): Declare.
273 (ldctor_add_set_entry): Declare new name parameter.
274 * ldwrite.c (build_link_order): Don't insist that either name or
275 section be NULL in a lang_reloc_statement.
276 * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
277 new name parameter.
278 (constructor_callback): Pass name to ldctor_add_new_set_entry for
279 new name parameter.
280
281 * ldmisc.c (demangle): Fix indentation. Remove a leading period.
282
283 Thu Oct 26 22:22:49 1995 Stan Shebs <shebs@andros.cygnus.com>
284
285 * mpw-config.in: Add PowerMac target support, generate config.h.
286 * mac-ld.r: New file, Mac resources.
287 * mpw-make.sed: New file, edits Makefile.in into MPW syntax.
288 * mpw-make.in: Remove.
289 * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
290
291 Thu Oct 26 14:11:26 1995 Ian Lance Taylor <ian@cygnus.com>
292
293 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
294 -static as a synonym for -bnso.
295
296 * scripttempl/aix.sc: Move special symbols inside sections.
297 Always start .data at 0.
298
299 Wed Oct 25 11:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
300
301 * Makefile.in (diststuff): Also make info.
302 (maintainer-clean realclean): Also delete *.info*.
303
304 Wed Oct 25 11:27:25 1995 Ian Lance Taylor <ian@cygnus.com>
305
306 * emultempl/aix.em: Add support for various AIX linker options,
307 for AIX import and export files, and for AIX shared objects.
308 * scripttempl/aix.sc: Add .pad. Put .ds just before the TOC.
309
310 * ldmain.c (main): Initialize new field link_info.static_link.
311
312 * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
313 (constructor_callback): Likewise.
314 * ldmisc.c (vfinfo): Likewise.
315 * ldwrite.c (build_link_order): Likewise.
316
317 * ld.texinfo: The MRI ALIGN directive is supported.
318
319 Mon Oct 23 11:46:43 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
320
321 * emulparams/elf32vr4300.sh: Deleted.
322 * emulparams/elf32vr4300el.sh: Deleted.
323 * emulparams/elf32b4300.sh: Added.
324 * emulparams/elf32l4300.sh: Added.
325 * configure.tgt, Makefile.in: Updated the build to use the
326 new 8.3 unique names.
327
328 Thu Oct 19 17:41:46 1995 Ian Lance Taylor <ian@cygnus.com>
329
330 * ldlang.c (entry_symbol): Make non-static.
331 * ldlang.h (entry_symbol): Declare.
332
333 * ldlex.l: Treat PROVIDE as a keyword in expression state.
334
335 Wed Oct 18 17:34:06 1995 steve chamberlain <sac@slash.cygnus.com>
336
337 * scripttempl/pe.sc (.bss): Move to be after .text
338
339 Tue Oct 17 12:22:05 1995 Ian Lance Taylor <ian@cygnus.com>
340
341 * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
342 Search trinary.cond rather than searching trinary.lhs twice. From
343 linli@ihp.PHys.ethz.CH.
344
345 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
346 directory searching code into gld${EMULATION_NAME}_search_dir.
347 (gld${EMULATION_NAME}_search_dir): New static function, extracted
348 from gld${EMULATION_NAME}_find_so.
349 (global_needed, global_found): New static variables.
350 (gld${EMULATION_NAME}_after_open): New static function.
351 (gld${EMULATION_NAME}_search_needed): New static function.
352 (gld${EMULATION_NAME}_try_needed): New static function.
353 (gld${EMULATION_NAME}_check_needed): New static function.
354 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
355 * ld.texinfo, ld.1: Mention -rpath-link on SunOS.
356
357 * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
358 (eelf32lppc.c): Likewise.
359 * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
360 (GENERATE_SHLIB_SCRIPT): Define as yes.
361
362 Mon Oct 16 19:11:13 1995 Ian Lance Taylor <ian@cygnus.com>
363
364 * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named
365 bfd_link_needed-list; make appropriate changes.
366
367 * configure.tgt (powerpc-*-aix*): New target; use aixppc.
368 (rs6000-*-aix*): New target; use aixrs6.
369 * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
370 * emultempl/aix.em: New file.
371 * scripttempl/aix.sc: New file.
372 * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
373 (eaixppc.c, eaixrs6.c): New targets.
374
375 Fri Oct 13 14:00:37 1995 steve chamberlain <sac@slash.cygnus.com>
376
377 * scripttemp/pe.sc (.reloc): Move to the end.
378
379 Tue Oct 10 17:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
380
381 * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
382 section which was not linked into the final output.
383
384 Tue Oct 10 10:17:22 1995 steve chamberlain <sac@slash.cygnus.com>
385
386 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
387 fatal typos.
388
389 Tue Oct 10 01:01:51 1995 Ian Lance Taylor <ian@cygnus.com>
390
391 * ld.h (args_type): Add rpath_link field.
392 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
393 required dependencies in rpath_link path. Only search
394 LD_LIBRARY_PATH when configured native.
395 * lexsup.c (parse_args): Recognize -rpath-link.
396 * ld.1, ld.texinfo: Document -rpath-link.
397
398 Sat Oct 7 17:07:17 1995 Ian Lance Taylor <ian@cygnus.com>
399
400 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
401 bother searching for needed libraries unless doing a final link.
402
403 Fri Oct 6 16:26:16 1995 Ken Raeburn <raeburn@cygnus.com>
404
405 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
406
407 * ld/ld.1: Fix formatting bugs.
408
409 Wed Oct 4 17:37:46 1995 Ian Lance Taylor <ian@cygnus.com>
410
411 * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
412 * ldexp.h (exp_get_abs_int): Update declaration.
413 * ldlang.c (print_output_section_statement): Use fprintf_vma to
414 print return value of exp_get_abs_int.
415
416 Mon Oct 2 13:56:09 1995 Ian Lance Taylor <ian@cygnus.com>
417
418 * emultempl/elf32.em (global_stat): New file static variable.
419 (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
420 that the file has not already been included under another name.
421 (gld${EMULATION_NAME}_stat_needed): New static function.
422
423 Fri Sep 29 12:00:18 1995 Doug Evans <dje@deneb.cygnus.com>
424
425 * scripttempl/armcoff.sc: Start .text at 0x8000.
426 Start .data at 0x40000.
427
428 Fri Sep 29 11:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
429
430 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
431 command_line.rpath is set, use it, rather than the -L options, to
432 build the rules section.
433 * ld.texinfo: Document this use of -rpath.
434
435 * lexsup.c (parse_args): Don't set link_info.shared for -assert
436 pure-text. Pass true, not 1, to lang_add_entry.
437 * emultempl/sunos.em (find_assign): New static variable.
438 (found_assign): New static variable.
439 (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
440 If not a relocateable link, and no start symbol was specified on
441 the command line, and there are any undefined symbols, set
442 link_info.shared. If link_info.shared is set, set the address of
443 the .text section to 0x20.
444 (gld${EMULATION_NAME}_find_assignment): Rename from
445 gld${EMULATION_NAME}_find_statement_assignment. If find_assign is
446 set, then just set found_assign based on whether an assignment is
447 found to find_assign.
448 (gld${EMULATION_NAME}_get_script): Don't use a special script when
449 producing a shared library.
450 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
451 * scripttempl/aout.sc: Remove CREATE_SHLIB tests.
452 * ldlang.c (entry_from_cmdline): New global variable.
453 (lang_add_entry): Change cmdline parameter from int to boolean.
454 Use global entry_from_cmdline rather than function static
455 from_cmdline.
456 * ldlang.h (entry_from_cmdline): Declare.
457 (lang_add_entry): Change declaration of second parameter from int
458 to boolean.
459 * ldgram.y: Pass false, not 0, to lang_add_entry.
460
461 Thu Sep 28 12:34:13 1995 Ian Lance Taylor <ian@cygnus.com>
462
463 * ld.h (parsing_defsym): Declare.
464 * ldlex.h (lex_string): Declare.
465 * ldlex.l (lex_string): Define.
466 * lexsup.c (parsing_defsym): Define.
467 (parse_args): In OPTION_DEFSYM case, set lex_string before calling
468 lex_redirect, and clear it after calling yyparse. Set
469 parsing_defsym around call to yyparse.
470 * ldmain.c (main): Set lex_string before calling lex_redirect, and
471 clear it after calling yyparse.
472 * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
473 in linker scripts correctly.
474
475 * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
476 COFF targets, allowing for the leading underscore used on SPARC
477 COFF.
478
479 * lexsup.c (parse_args): Handle -assert.
480 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
481 * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
482 shared library script when appropriate.
483 * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
484 section at SIZEOF_HEADERS.
485
486 Thu Sep 28 01:40:37 1995 Doug Evans <dje@deneb.cygnus.com>
487
488 * Makefile.in (earmcoff.c): Build.
489 * configure.tgt (arm-*-coff): New target
490 * emulparms/armcoff.sh: New file.
491 * scripttempl/armcoff.sc: New file.
492
493 Tue Sep 26 10:59:32 1995 Ian Lance Taylor <ian@cygnus.com>
494
495 * scripttempl/i386coff.sc: Remove .data2; no longer needed.
496
497 Fri Sep 22 18:09:02 1995 Ian Lance Taylor <ian@cygnus.com>
498
499 * ldfile.c (ldfile_set_output_arch): Make arch const.
500
501 Thu Sep 21 17:55:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
502
503 * scripttempl/elfppc.sc: Correctly locate __bss_start at the
504 beginning of the .bss area, not at the end of data. Add
505 __sbss_{start,end} symbols.
506
507 Wed Sep 20 12:29:36 1995 Ian Lance Taylor <ian@cygnus.com>
508
509 * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name).
510 (CXX_FOR_TARGET, install): Likewise.
511
512 Mon Sep 18 14:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
513
514 Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
515 * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
516 (CXX_FOR_TARGET): Likewise.
517 (install): Likewise.
518 (GENERATED_HFILES): Remove config.h.
519 (.dep): Depend upon config.h.
520
521 Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no>
522
523 * configure.tgt (mips*-dec-netbsd*): New target.
524
525 Fri Sep 15 20:01:52 1995 Ken Raeburn <raeburn@cygnus.com>
526
527 * configure.host (m88*-*-dgux*): Fix another shell syntax error.
528
529 Fri Sep 15 23:28:05 1995 Andrew Cagney <cagney@highland.com.au>
530
531 * configure.host (i[345]86-*-bsd*): Fix shell syntax error.
532
533 Thu Sep 12 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com>
534
535 * scripttemp/pe.sc: Allow both spellings of .ctors/.dtors.
536 Start .text section on the right boundary. Always align
537 stabs.
538
539 Tue Sep 12 12:24:17 1995 Ian Lance Taylor <ian@cygnus.com>
540
541 * Makefile.in (maintainer-clean): New target.
542
543 * ldmain.c (struct warning_callback_info): Define.
544 (warning_callback): Add new parameter symbol. Call
545 warning_find_reloc to try to find the section and VMA.
546 (warning_find_reloc): New static function.
547 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
548 Pass NULL as symbol parameter to warning callback.
549
550 * ld.texinfo: Clarify -L option.
551
552 * ldlang.c (lang_one_common): Add cast to avoid warning.
553 (topower): Likewise. Also, reindent.
554 * ldwrite.c (clone_section): Change i to unsigned int.
555 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
556 cast to avoid warning.
557
558 Fri Sep 8 16:32:43 1995 Ian Lance Taylor <ian@cygnus.com>
559
560 * Makefile.in (config.status): Depend upon configure.tgt.
561
562 * ldemul.h (ldemul_set_symbols): Declare.
563 (ldemul_parse_args): Declare.
564 * ldemul.c (ldemul_parse_args): Fix indentation.
565
566 * configure.in: Call AC_HEADER_DIRENT.
567 * configure, config.in: Rebuild.
568 * emultempl/sunos.em: Use autoconf recommend mechanism to define
569 DIR and struct dirent.
570
571 * configure.tgt (mips*-*-bsd*): New case.
572
573 * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
574 New case.
575 * configure.tgt (i[345]86-*-ptx*): New case.
576
577 Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com>
578
579 * config.in: Rename from config.h.in.
580 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
581 Check for config.h:config.in when creating stamp-h.
582 * configure: Rebuild.
583 * Makefile.in (stamp-h): Depend upon config.in rather than
584 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
585 calling config.status.
586
587 * Makefile.in (distclean): Remove config.h and stamp-h.
588
589 * configure.host (sparc-*-sunos64*): Remove.
590 * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
591
592 * ldexp.c (exp_fold_tree): Don't warn about moving the location
593 counter backward in the absolute section.
594
595 Wed Sep 6 14:42:11 1995 Ian Lance Taylor <ian@cygnus.com>
596
597 * configure.in: Rewrite to use autoconf.
598 * configure.host: New file.
599 * configure.tgt: New file.
600 * aclocal.m4: New file.
601 * configure: New file, built by autoconf.
602 * acconfig.h: New file.
603 * config.h.in: New file, built by autoheader.
604 * sysdep.h: New file.
605 * ld.h: Incorporate old contents of config.h.
606 * config.h: Remove.
607 * Makefile.in: Various changes for new configure script. Also:
608 (CC_FOR_BUILD): Remove.
609 (ldmain.o): Don't bother to ensure that EMUL is non-empty.
610 (dep.sed): Use @SRCDIR@, not @srcdir@.
611 * dep-in.sed: Use @SRCDIR@, not @srcdir@.
612 * genscripts.sh: Create ldscripts if it does not exist.
613 * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
614 * mpw-esh.c, emultemp/*.em: Likewise.
615 * ldmain.c: Likewise. Include <ctype.h>. Don't try to set
616 HAVE_SBRK here.
617 * config/*.mt, config/*.mh: Remove.
618
619 Tue Sep 5 14:55:24 1995 Ken Raeburn <raeburn@cygnus.com>
620
621 * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
622 ns32k-pc532-lites* like ns32k-pc532-netbsd*. From Ian Dall.
623
624 Fri Sep 1 22:29:52 1995 Doug Evans <dje@canuck.cygnus.com>
625
626 * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors.
627
628 Fri Sep 1 13:13:29 1995 Ian Lance Taylor <ian@cygnus.com>
629
630 * ldmain.c (warning_callback): Add abfd, section, and address
631 parameters.
632 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
633 Change call to warning accordingly.
634
635 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
636 relocateable and not shared, put .gnu.warning.SYMBOL sections into
637 the .text section.
638
639 Fri Sep 1 08:35:16 1995 James G. Smith <jsmith@beauty.cygnus.com>
640
641 * configure.in: Added mips*vr4300-idt-elf* and
642 mips*vr4300el-idt-elf* targets.
643 * Makefile.in: Added eelf32vr4300* targets.
644 * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
645 * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
646
647 Fri Sep 1 10:51:45 1995 Ian Lance Taylor <ian@cygnus.com>
648
649 * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe
650 <brendan@cygnus.com>.
651
652 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
653
654 * ldemul.c (ldemul_parse_args): New.
655 * ldemul.h (ld_emulation_xfer_struct): Add parse_args.
656 * lexsup.c (all pe stuff): Moved into pe.em
657 (parse_args): Call emulation arg parser.
658 * emultempl/pe.em (parse_args): handle PE specfic args.
659
660 Thu Aug 31 17:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
661
662 * ldlang.c (lang_memory_region_lookup): Don't use the first region
663 as the default region. Create a new region instead.
664
665 Tue Aug 29 14:21:41 1995 steve chamberlain <sac@slash.cygnus.com>
666
667 * ldemul.c (ldemul_set_symbols): New function.
668 * ldemul.h (ld_emulation_xfer_struct): Add set_symbols.
669 * ldmain.c (main): Add call to ldemul_set_symbols.
670 * lexsup.c (set_pe_value): New args.
671 (set_pe_name): New.
672 (parse_args): Cope with new set_pe_value args.
673 * emultempl/pe.em (set_symbols): New function.
674 (ld_emulation_xfer_struct): Add set_symbols.
675 * scripttempl/pe.sc: Use new symbols.
676
677 Thu Aug 24 18:12:18 1995 Ian Lance Taylor (ian@cygnus.com)
678
679 * lexsup.c (parse_args): Don't call set_default_dirlist for -O.
680 For -Y, ignore a leading `P,', and only call set_default_dirlist
681 after processing all the other arguments.
682
683 Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
684
685 * scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
686 * emulparams/armpe.sh: Run PE script.
687
688 Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
689
690 * ldmain.c (main): Remove PE stuff.
691 * lexsup.c (options): Load more PE options.
692 (set_pe_value): New function.
693
694 Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
695
696
697 * emultempl/{armpe.sc, i386pe.sc}: Deleted.
698 * emultempl/pe.sc: New file performs generic PE support and sorts
699 archive members.
700 * emulparams/{armpe.sh,i386pe.sh}: Use new file.
701 * scripttempl/{armpe.sc, i386pe.sc}: Deleted
702 * scripttempl/pe.sc: New.
703 * Makefile.in: Use new files.
704
705 Thu Aug 17 14:46:34 1995 Doug Evans <dje@canuck.cygnus.com>
706
707 * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
708 (.strings,.ctors,.dtors): Likewise.
709
710 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
711
712 * scripttempl/armpe.sc: Always start code at 0x401000, even
713 if -r.
714 * ldwrite.c (strdup): New extern declaration.
715 * ldgram.y (atype): New rule to clarify type parsing.
716 * ldlang.c (init_os): Remove commented out code.
717 (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
718 unless told not to by the link script.
719
720 Wed Aug 16 11:45:11 1995 Ian Lance Taylor <ian@cygnus.com>
721
722 * ldlang.c (lang_set_startof): New static function.
723 (lang_process): Call it.
724
725 * ldgram.y: Tweak casesymlist to avoid bison errors.
726
727 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
728 Solaris compatibility.
729
730 Tue Aug 15 17:31:16 1995 Ian Lance Taylor <ian@cygnus.com>
731
732 * ldgram.y (YYDEBUG): If not defined, define as 1.
733 (CASE, EXTERN, START): New tokens.
734 (mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
735 (casesymlist): New nonterminal.
736 (extern_name_list): New nonterminal.
737 * ldlex.l: Accept lower case trailing base specifiers. Don't
738 ignore the first digit when the base is a suffix. Accept many
739 EXPRESSION state tokens in MRI state. Support MRI continuation
740 lines and MRI semicolon comments. Accept all MRI keywords in
741 lower case. Add CASE, EXTERN, and START MRI keywords.
742
743 Tue Aug 8 19:14:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
744
745 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc
746 instead of alloca.
747
748 Tue Aug 8 15:24:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
749
750 * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
751 $r/../gcc/xgcc unless it is present.
752
753 Thu Aug 3 11:56:22 1995 Ian Lance Taylor <ian@cygnus.com>
754
755 * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text
756 when CONSTRUCTING.
757 * scripttempl/m68klynx.sc: Likewise.
758 * scripttempl/nw.sc: Likewise.
759 * scripttempl/sa29200.sc: Likewise.
760 * scripttempl/sparclynx.sc: Likewise.
761
762 Fri Jul 28 12:02:23 1995 steve chamberlain <sac@slash.cygnus.com>
763
764 * emulparams/{z8001.sh, z8002.sh}: Fix typo.
765
766 Thu Jul 27 21:06:21 1995 Ken Raeburn <raeburn@cygnus.com>
767
768 * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*.
769
770 Thu Jul 27 15:26:28 1995 steve chamberlain <sac@slash.cygnus.com>
771
772 * scripttempl/i386pe.sc: Cope with constructors.
773 * scripttempl/z8ksim.sc: Deleted.
774 * scripttempl/z8000.sc: Resurrected as this, but
775 can handle z8001 and z8002 formats.
776 * emulparams/z8ksim.sh: Deleted.
777 * emulparams/{z8001.sh, z8002.sh}: New files.
778 * config/z8ksim.mt: Deleted
779 * config/z8k-coff.mt: New, generates both emulations.
780
781 Tue Jul 25 14:53:02 1995 Ian Lance Taylor <ian@cygnus.com>
782
783 * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using
784 %B, in case it is in an archive.
785
786 Mon Jul 24 15:23:39 1995 Ian Lance Taylor <ian@cygnus.com>
787
788 * ldlang.c (lang_process): Call reset_memory_regions for each
789 relaxation pass.
790
791 Fri Jul 21 22:49:44 1995 Michael Meissner <meissner@cygnus.com>
792
793 * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and
794 _SDA_BASE.
795
796 Thu Jul 20 16:26:55 1995 Ken Raeburn <raeburn@cygnus.com>
797
798 * ldmain.c (constructor_callback): Allocate set_name in stack
799 frame, rather than always calling alloca with a fixed size.
800
801 Wed Jul 19 16:21:43 1995 Doug Evans <dje@canuck.cygnus.com>
802
803 * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
804 (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
805
806 Mon Jul 17 13:57:00 1995 Ian Lance Taylor <ian@cygnus.com>
807
808 * ldwrite.c (clone_section): Set the alignment of the clone
809 section to that of the section being cloned.
810
811 * ldwrite.c (split_sections): Don't split the first input section
812 into a new output section.
813
814 Sat Jul 15 00:26:35 1995 Michael Meissner <meissner@cygnus.com>
815
816 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32.
817 (GENERATE_SHLIB_SCRIPT): Define as yes.
818
819 Fri Jul 14 12:11:46 1995 Ian Lance Taylor <ian@cygnus.com>
820
821 * emultempl/mipsecoff.em (check_sections): Use %P, not %F.
822
823 * ldver.c (help): Update list of options to match currently
824 supported list.
825
826 Thu Jul 13 13:52:10 1995 Ian Lance Taylor <ian@cygnus.com>
827
828 * emultempl/lnk960.em (ld_lnk960_emulation): Initialize
829 after_open field.
830
831 * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
832 it takes a size_t anyhow.
833 (exp_binop): Likewise.
834 (exp_trinop): Likewise.
835 (exp_unop): Likewise.
836 (exp_nameop): Likewise.
837 (exp_assop): Likewise.
838 * ldlang.c (lang_memory_region_lookup): Likewise.
839 (init_os): Likewise.
840 (ldlang_add_undef): Likewise.
841 (insert_pad): Likewise.
842 * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
843 bfd_size_type.
844
845 * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o.
846
847 Wed Jul 12 11:32:22 1995 Ian Lance Taylor <ian@cygnus.com>
848
849 * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
850 declaration.
851 (ld_emulation_xfer_type): Add search parameter to
852 open_dynamic_archive entry point.
853 * ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
854 * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
855 make non-static. Change all callers to use new name.
856 (ldfile_open_file_search): Make static. If entry is dynamic, call
857 ldemul_open_dynamic_archive.
858 (ldfile_open_file): Don't call ldemul_open_dynamic_archive.
859 * ldfile.h (ldfile_open_file_search): Don't declare.
860 (ldfile_try_open_bfd): Declare.
861 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
862 Accept search parameter. Don't search for a library, just look in
863 a single place.
864 * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
865 Likewise.
866
867 Tue Jul 11 16:44:21 1995 Ian Lance Taylor <ian@cygnus.com>
868
869 * ldmain.c (set_scripts_dir): Don't base script directory on
870 current directory.
871
872 Tue Jul 11 12:29:02 1995 Rick Sladkey <jrs@world.std.com>
873
874 * ldmisc.c (vfinfo): Don't print the line number if it isn't
875 meaningful.
876
877 Mon Jul 10 13:38:28 1995 Ian Lance Taylor <ian@cygnus.com>
878
879 * ld.h (ld_config_type): Add field warn_constructors.
880 * ldmain.c (add_to_set): Warn if config.warn_constructors.
881 (constructor_callback): Likewise.
882 * lexsup.c (parse_args): Handle -warn-constructors.
883 * ld.texinfo, ld.1: Document -warn-constructors.
884
885 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
886 get confused by directory names if we searched for the file.
887
888 Based on patches from H.J. Lu <hjl@nynexst.com>:
889 * ldlang.h (lang_input_statement_type): Add new field dynamic.
890 * ldlang.c (new_afile): Set dynamic from config.dynamic_link.
891 * ldfile.c: Include bfdlink.h.
892 (ldfile_open_file): Check dynamic field of entry, not global
893 dynamic_link field. Don't do a dynamic search when doing a
894 relocateable link.
895 * ldmain.c (main): Don't warn about dynamic_link for a
896 relocateable link.
897 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
898 dynamic is false.
899 (gld${EMULATION_NAME}_create_output_section_statements): Always
900 loop over input files.
901 * Makefile.in: Rebuild dependencies.
902
903 * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
904 -shared.
905
906 Mon Jul 10 13:29:43 1995 Eric Youngdale <eric@aib.com>
907
908 * ldmain.c (main): Set link_info.symbolic to false.
909 * lexsup.c (parse_args): Handle -Bsymbolic.
910
911 Wed Jul 5 00:12:11 1995 Fred Fish (fnf@cygnus.com)
912
913 * ldmain.c (HAVE_SBRK): Define for everything except
914 specific systems that are known to not support sbrk.
915 (main): Use HAVE_SBRK to decide whether or not to use sbrk.
916
917 Tue Jul 4 12:55:48 1995 Ian Lance Taylor <ian@cygnus.com>
918
919 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
920 Handle etree_provide.
921
922 * emultempl/elf32.em (global_needed): New static variable.
923 (global_found): Likewise.
924 (gld${EMULATION_NAME}_after_open): New static function.
925 (gld${EMULATION_NAME}_search_needed): Likewise.
926 (gld${EMULATION_NAME}_try_needed): Likewise.
927 (gld${EMULATION_NAME}_check_needed): Likewise.
928 (ld_${EMULATION_NAME}_emulation): Replace after_open_default with
929 gld${EMULATION_NAME}_after_open.
930
931 Mon Jul 3 14:26:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
932
933 * configure.in (i386-*-win32): New target.
934
935 Mon Jul 3 14:39:22 1995 Ian Lance Taylor <ian@cygnus.com>
936
937 * lexsup.c (parse_args): Let -G either set the small data size or
938 be equivalent to --shared, depending on the next argument. Accept
939 and ignore -z for Solaris compatibility.
940
941 Sun Jul 2 17:52:34 1995 Ian Lance Taylor <ian@cygnus.com>
942
943 * lexsup.c (parse_args): Cast fopen result to PTR before storing
944 it in link_info.base_file. Fix indentation.
945
946 Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
947
948 * ldmain.c (main): Always initialize PE info in link_info.
949 * lexsup.c (OPTION_BASE_FILE): New option.
950 (parse_args): Handle new option.
951 * emulparams/armpe.sh: Output pei.
952 * emultempl/i386pe.em: Add newline to end.
953 * scripttempl/armpe.sc: Change output and quote the $s.
954 * scripttempl/i386pe.sc: Change output and quote the $s.
955
956 Thu Jun 22 19:55:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
957
958 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
959
960 * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
961 * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
962 (i386msdos.o): New target.
963 * config/i386-msdos.mt: Created.
964 * emulparams/i386msdos.sh: Created.
965 * scripttempl/i386msdos.sc: Created.
966
967 Thu Jun 22 15:06:35 1995 Michael Meissner <meissner@tiktok.cygnus.com>
968
969 * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section
970 that contains pointers to be relocated.
971
972 Tue Jun 20 17:47:20 1995 Stan Shebs <shebs@andros.cygnus.com>
973
974 * mpw-esh.c: New file, modified for MPW from esh.c.
975 * scripttempl/sh.sc: Reformatted to simplify MPWification,
976 use *() to concat stab sections instead of [].
977
978 Thu Jun 15 08:48:16 1995 Steve Chamberlain <sac@slash.cygnus.com>
979
980 * scripttempl/armpe.sc: Add constructor support.
981
982 Tue Jun 13 09:11:20 1995 Steve Chamberlain <sac@slash.cygnus.com>
983
984 * ldlang.c (lang_size_sections): Any section with a DATA
985 statement has contents.
986
987 Sun Jun 11 15:20:46 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
988
989 * emulparams/m68kelf.sh (NOP): Define.
990 (DYNAMIC_LINK): Don't define.
991 (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers
992 will come from the linker script.
993
994 Thu Jun 8 14:17:33 1995 Steve Chamberlain <sac@slash.cygnus.com>
995
996 * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack.
997
998 Mon Jun 5 02:16:24 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
999
1000 * configure.in (i[345]86-*-gnu*): Use GNU elf config.
1001
1002 Thu May 25 11:49:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1003
1004 From Andrew Cagney <cagney@highland.com.au>
1005 * Makefile.in: Fixup more gotchas from renaming elf32ppcle to
1006 elf32lppc.
1007
1008 Wed May 24 11:23:21 1995 Steve Chamberlain <sac@slash.cygnus.com>
1009
1010 Add support for ARM-PE.
1011 * Makefile.in (ALL_EMULATIONS): Add armpe.o
1012 * configure.in: Recognize armpe.
1013 * config/arm-pe.mt: New file.
1014 * emulparams/armpe.sh: New file.
1015 * scripttempl/armpe.sc: New file.
1016
1017
1018 Mon May 22 15:19:26 1995 Doug Evans <dje@chestnut.cygnus.com>
1019
1020 * configure.in (h8300h-*-hms): Deleted
1021 * config/cf-h8300h.mt: Deleted.
1022
1023 Thu May 18 04:26:10 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
1024
1025 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
1026
1027 From David Taylor (dtaylor@armltd.co.uk)
1028 * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o
1029 * configure.in: Recognize arm{,e[lb]-*-aout.
1030 * config/arm[lb]-aout.mt: New files.
1031 * emulparams/armaout[lb].sh: New files.
1032 * scripttempl/armaout.sc: New file.
1033
1034 Tue May 16 18:27:11 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1035
1036 * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to
1037 be unique in 8 characters for DOS.
1038
1039 * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh.
1040 * emulparams/elf32ppcle.sh: Deleted.
1041
1042 Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com>
1043 Tom Griest <griest@cs.yale.edu>
1044
1045 Initial support for PE executables (eg NT, win32)
1046
1047 * Makefile.in (configure.in, ei386pe): Add support.
1048 * ldmain.c (main): Initialize PE argument info.
1049 * ldwrite.c (print_file_stuff): Don't print out .drectve
1050 and .debug section info.
1051 * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
1052 OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
1053 Handle new arguments.
1054 * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
1055 New files
1056
1057 Wed May 10 18:37:59 1995 Stu Grossman (grossman@andros.cygnus.com)
1058
1059 * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text
1060 segment. This allows ld -r to preserve unwind sections.
1061
1062 Tue May 9 17:19:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1063
1064 * configure.in: Add little endian PowerPC support.
1065
1066 * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o.
1067 (eelf32ppcle.c): Support for little endian PowerPC.
1068
1069 * config/ppcle-elf32.mt: New file for little endian PowerPC.
1070 * emulparams/elf32ppcle.sh: Ditto.
1071
1072 Wed May 3 12:56:32 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1073
1074 * ldlang.c (print_output_section_statement): Check
1075 subsection_alignment, instead of checking section_alignment twice.
1076 Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>.
1077
1078 Tue May 2 16:36:07 1995 Jeff Law (law@snake.cs.utah.edu)
1079
1080 * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
1081
1082 Mon Apr 24 19:21:02 1995 Michael Meissner <meissner@cygnus.com>
1083
1084 * ldwrite.c (ldwrite): Before doing anything, reset the error
1085 code. If bfd_final_link returns an error, but the error code is
1086 unset, don't issue an extra message. Assume a correct error
1087 message was already set.
1088
1089 Fri Apr 14 16:31:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1090
1091 * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
1092 (em68kelf.o): New target.
1093 * config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
1094 * configure.in: Use them for m68*-*-elf.
1095
1096 Tue Apr 11 12:02:03 1995 Stan Shebs <shebs@andros.cygnus.com>
1097
1098 Merge in support for Mac MPW as a host.
1099 (Old change descriptions retained for informational value.)
1100
1101 * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
1102 (i386-unknown-coff): Remove.
1103 (sh-hitachi-hms): New target.
1104 (emulation_ofiles): Set correctly for each target.
1105 (version, TDEFINES): Add to makefile fragment.
1106 * mpw-make.in (BISON): Use byacc instead of bison.
1107 (em_*.c): Replace with e*.c everywhere.
1108 (ldgram.h): Separate action from ldgram.c generation.
1109 (LD_PROG): Depend on Version.r.
1110 (Version.r): generate from version info.
1111 * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
1112
1113 * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
1114 i386-unknown-aout, i386-unknown-coff): New targets.
1115 (m68k-aout, m68k-coff): Remove targets.
1116 (mk.tmp): Add definition of EMUL.
1117
1118 * mpw-config.in (emulname): Set based on target.
1119 (ldemul-list.h): Construct.
1120 * mpw-make.in (install-only): New target.
1121 (install): Depend on install-only.
1122
1123 * mpw-make.in (bindir): Fix pathname.
1124 (install): Move here from mpw-build.in.
1125
1126 * mpw-config.in: New file, MPW configuration fragment.
1127 * mpw-make.in: New file, MPW makefile fragment.
1128 (This file is semi-automatically generated from Makefile.in.)
1129 * ldfile.c (slash): If MPW, set to `:'.
1130 * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to
1131 prevent redefinition errors.
1132
1133 start-sanitize-arc
1134 Thu Apr 6 20:38:36 1995 Doug Evans <dje@chestnut.cygnus.com>
1135
1136 * emulparams/arcelf.sh (ENTRY): Define.
1137 end-sanitize-arc
1138
1139 Tue Apr 4 17:55:18 1995 Steve Chamberlain <sac@bang.hack.com>
1140
1141 * ldwrite.c (clone_section): Align clone sections on even
1142 boundaries.
1143
1144 Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
1145
1146 * configure.in: Change linux to default to elf. Using
1147 i[345]86-*-linuxaout will build a linker which defaults to a.out.
1148 * config/i386-laout.mt: Rename from old config/i386-linux.mt.
1149 * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
1150 * config/i386-lelf.mt: Remove.
1151
1152 Thu Mar 30 13:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
1153
1154 * ldmain.c (main): If opening the map file fails, call
1155 bfd_set_error before calling einfo.
1156
1157 * ld.texinfo, ld.1: Document the -no-keep-memory option.
1158
1159 Mon Mar 27 11:10:08 1995 Ian Lance Taylor <ian@cygnus.com>
1160
1161 * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
1162 does mark shared libraries as executable.
1163
1164 Tue Mar 21 15:15:38 1995 Ian Lance Taylor <ian@cygnus.com>
1165
1166 * ldlang.c (lang_common): Change power to int. Pass larger values
1167 before smaller values.
1168 (lang_one_common): Treat info as int *. Don't bother to check for
1169 last value, since it is now zero.
1170
1171 Sat Mar 18 01:49:14 1995 Ian Lance Taylor <ian@cygnus.com>
1172
1173 * ldlang.c (load_symbols): An empty archive is OK.
1174
1175 Fri Mar 17 16:15:31 1995 Stan Shebs <shebs@andros.cygnus.com>
1176
1177 * ldmain.c (progress.h): Include.
1178 (main): Call START_PROGRESS and END_PROGRESS.
1179
1180 Thu Mar 16 17:17:33 1995 Michael Meissner <meissner@cygnus.com>
1181
1182 * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and
1183 .dtors sections, so that these pointers get relocated also.
1184 Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning
1185 and end of the constructors/destructors.
1186
1187 Thu Mar 16 13:59:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
1188
1189 * ldlang.c (load_symbols): If whole_archive is true and ENTRY
1190 describes an archive, call bfd_link_add_symbols on each member.
1191 * ldmain.c (whole_archive): New variable.
1192 (main): Initialize it to false.
1193 * ldmain.h: Declare whole_archive.
1194 * lexsup.c (parse_args): Grok --whole-archive switch.
1195 * ld.texinfo, ld.1: Document --whole-archive.
1196
1197 Thu Mar 16 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com>
1198
1199 * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
1200 using the default emulation.
1201
1202 * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
1203 LDEMULATION.
1204 * config/hppaelf.mh (HOSTING_EMU): Likewise.
1205
1206 Tue Mar 14 12:28:03 1995 Ian Lance Taylor <ian@cygnus.com>
1207
1208 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
1209 for -lc.N. From H.J. Lu <hjl@nynexst.com>.
1210
1211 Fri Mar 10 14:43:48 1995 Ian Lance Taylor <ian@cygnus.com>
1212
1213 * ldmain.c (main): Don't set EXEC_P if link_info.shared is set.
1214
1215 * ldlex.l: Return -lFILENAME as the token LNAME.
1216 * ldgram.y: Add token LNAME.
1217 (input_list): Treat LNAME like NAME, but pass it to
1218 lang_add_input_file as lang_input_file_is_l_enum.
1219 * ld.texinfo: Document using -lFILENAME in INPUT.
1220
1221 Thu Mar 9 12:21:51 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1222
1223 * ldlang.c (lang_check): If the architectures are compatible call
1224 bfd_merge_private_bfd_data to let the backend do additional
1225 checks.
1226
1227 start-sanitize-arc
1228 Tue Mar 7 21:10:28 1995 Doug Evans <dje@chestnut.cygnus.com>
1229
1230 * emulparams/arcelf.sh (OUTPUT_FORMAT): Change to elf32-littlearc.
1231 (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
1232 end-sanitize-arc
1233
1234 Tue Mar 7 00:53:08 1995 Ian Lance Taylor <ian@cygnus.com>
1235
1236 * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
1237 all supported emulations.
1238
1239 Mon Mar 6 14:03:50 1995 Ian Lance Taylor <ian@cygnus.com>
1240
1241 * ldemul.c (ldemul_list_emulations): New function.
1242 * ldemul.h (ldemul_list_emulations): Declare.
1243 * ldver.c (help): List supported targets and emulations.
1244
1245 Fri Mar 3 15:40:36 1995 Doug Evans <dje@canuck.cygnus.com>
1246
1247 * scripttempl/elf.sc (.debug): Relocate to address 0.
1248 (.debug_srcinfo, .debug_aranges, .debug_pubnames,
1249 .debug_sfnames, .line): Likewise.
1250
1251 Fri Mar 3 17:07:14 1995 Ian Lance Taylor <ian@cygnus.com>
1252
1253 * emultempl/elf32.em (hold_rel): New static variable.
1254 (gld${EMULATION_NAME}_place_orphan): Place readonly sections with
1255 contents whose names begin with ".rel" after hold_rel. Remove the
1256 assertion which checked for unplaced .rel sections. Don't try to
1257 sort the section into place if place->bfd_section is NULL.
1258 (gld${EMULATION_NAME}_place_section): Set hold_rel to the first
1259 section beginning with ".rel".
1260
1261 Thu Mar 2 14:34:43 1995 Ian Lance Taylor <ian@cygnus.com>
1262
1263 Doc note from pierre@phi.la.tce.com (Pierre Willard):
1264 * ld.texinfo: -X and -x work even if -s or -S are not specified.
1265 * ld.1: Similar change.
1266
1267 Wed Mar 1 13:51:16 1995 Ian Lance Taylor <ian@cygnus.com>
1268
1269 * emulparams/gld960coff.sh (COFF_CTORS): Define.
1270 * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
1271
1272 Tue Feb 28 12:42:56 1995 Ian Lance Taylor <ian@cygnus.com>
1273
1274 * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
1275 (i[345]86-*-gnuelf*): New target. Use i386-gelf.
1276 * config/i386-lelf.mt: New file.
1277 * config/i386-gelf.mt: New file.
1278
1279 Tue Feb 28 10:27:54 1995 Rob Savoye <rob@darkstar.cygnus.com>
1280
1281 * configure.in: Match on mips-ecoff, and default to the IDT
1282 configuration.
1283
1284 Fri Feb 17 13:06:47 1995 Michael Meissner <meissner@cygnus.com>
1285
1286 * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections.
1287 Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area
1288 to double the size of the table.
1289
1290 start-sanitize-arc
1291 Thu Feb 9 19:03:25 1995 Doug Evans <dje@canuck.cygnus.com>
1292
1293 * emulparms/arcelf.sh (TEMPLATE_NAME): Comment out.
1294 end-sanitize-arc
1295
1296 Thu Feb 9 18:29:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1297
1298 * Makefile.in (distclean): Do recursive deletion, since ldscripts
1299 is a directory.
1300
1301 Thu Feb 9 11:38:22 1995 Ian Lance Taylor <ian@cygnus.com>
1302
1303 * ldmain.c (main): If trace_file_tries is true, and we are using
1304 an internal linker script, print out the script.
1305 * ldfile.c (try_open): Reindent function. Make the messages about
1306 opening script files more informative.
1307
1308 * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
1309 * ld.texinfo, ld.1: Update accordingly.
1310
1311 Wed Feb 8 17:34:45 1995 Ian Lance Taylor <ian@cygnus.com>
1312
1313 * ldlang.c (lang_one_common): Adjust references to common symbol
1314 information for new structure.
1315
1316 Mon Feb 6 12:17:24 1995 Ian Lance Taylor <ian@cygnus.com>
1317
1318 * ldmain.c (undefined_symbol): Handle section being NULL.
1319
1320 * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak.
1321 * ldexp.c (fold_name): Likewise.
1322 * ldlang.c (print_one_symbol): Likewise.
1323 (lang_finish): Likewise.
1324 * ldmain.c (multiple_common): Likewise.
1325 * ldwrite.c (print_symbol): Likewise. Also, bfd_link_hash_weak
1326 renamed to bfd_link_hash_undefweak.
1327
1328 * scripttempl/alpha.sc: Set address of .data section correctly
1329 when -n or -N is used. Patch from Chris G Demetriou
1330 <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
1331 * scripttempl/mips.sc: Similar change.
1332
1333 Tue Jan 31 16:20:52 1995 Doug Evans <dje@canuck.cygnus.com>
1334
1335 * ldlang.c (lang_size_sections): Clarify error message when user
1336 specified start addr conflicts with region. Fix resetting of
1337 region pointer.
1338
1339 Tue Jan 31 12:37:09 1995 Ian Lance Taylor <ian@cygnus.com>
1340
1341 * ldexp.c (fold_name): In case NAME, permit an absolute symbol
1342 in lang_allocating_phase_enum.
1343
1344 Mon Jan 30 11:33:25 1995 Ian Lance Taylor <ian@cygnus.com>
1345
1346 * Makefile.in (distclean): Depend upon clean. Don't bother to
1347 remove files which will be removed by clean. From patch by
1348 alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra).
1349
1350 Fri Jan 27 16:27:34 1995 Ian Lance Taylor <ian@cygnus.com>
1351
1352 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
1353 a MIPS target, clobber the size of all but the first input
1354 .reginfo section to be 0, so that lang_size_sections sets the
1355 correct size for the output .reginfo section.
1356
1357 Thu Jan 26 19:53:37 1995 Ian Lance Taylor <ian@cygnus.com>
1358
1359 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
1360 Remove unused variable is.
1361
1362 Thu Jan 26 12:33:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1363
1364 * configure.in: Add support for powerpc-*-eabi.
1365
1366 * scripttempl/elfppc.sc: New file for PowerPC embedded ABI
1367 support.
1368
1369 * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of
1370 elf.sc, which defines some new symbols PowerPC elf needs.
1371
1372 Tue Jan 24 10:32:15 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1373
1374 * ldctor.c (ldctor_add_set_entry): Don't dump core if a
1375 constructor entry is in the absolute section.
1376
1377 Mon Jan 23 13:58:13 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1378
1379 * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
1380 * config/i386-gnu.mt: New file. Include ELF support.
1381
1382 Thu Jan 19 16:22:11 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1383
1384 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
1385 there are any input sections named .gnu.warning, treat them as
1386 containing a warning message to be printed by the linker, and
1387 clobber the size so that the message is not copied into the output
1388 file.
1389 * scripttempl/elf.sc: Put .gnu.warning sections into the .text
1390 section.
1391
1392 Sun Jan 15 16:45:00 1995 Steve Chamberlain <sac@splat>
1393
1394 * configure.in (w65-*-*): New target.
1395 * Makefile.in: Update.
1396 * scripttempl/w65.sc: New.
1397 * config/coff-w65.mt: New.
1398
1399 Thu Jan 12 01:32:25 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
1400
1401 * ldlang.c (lang_place_orphans): Don't ignore files with
1402 just_syms_flag set. Instead, put all their sections in
1403 bfd_abs_section_ptr, using the section VMA as the output_offset.
1404
1405 Wed Jan 11 22:59:09 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
1406
1407 * ldctor.c (ldctor_build_sets): Don't use `const' with typedef
1408 name `reloc_howto_type', since it's now defined to be const.
1409 * ldlang.c (lang_add_reloc): Ditto.
1410 * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto.
1411
1412 Wed Jan 11 11:24:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
1413
1414 * ldexp.c (fold_binary): Adding or subtracting an absolute value
1415 to a relative value does not require forcing the relative value to
1416 be absolute. Also, reindent function.
1417
1418 Wed Dec 28 22:05:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1419
1420 * ldwrite.c (clone_section): Create a symbol with the
1421 same name as the section.
1422
1423 Mon Dec 19 14:02:13 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1424
1425 * ld.h (split_by_reloc, split_by_file): New flags.
1426 * ldwrite.c (clone_section, split_sections): New functions.
1427 * lexsup.c (parse_args): Understand new split options.
1428
1429 start-sanitize-arc
1430 Tue Dec 13 16:45:18 1994 Doug Evans <dje@canuck.cygnus.com>
1431
1432 * configure.in (arc-elf): New target.
1433 * Makefile.in (earcelf.c): New target.
1434 * config/arc-elf.mt: New file.
1435 * emulparms/arcelf.sh: New file.
1436 end-sanitize-arc
1437
1438 Fri Dec 9 17:22:55 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1439
1440 * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
1441 .data segment. They must be writable when creating a shared
1442 library. From H.J. Lu <hjl@nynexst.com>.
1443
1444 Fri Dec 2 14:09:00 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
1445
1446 * emultempl/miposecoff.em: New file.
1447 * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
1448 * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
1449 * scripttempl/mips.sc: Put .rel.sdata sections in .text, and
1450 provide __runtime_reloc_start and __runtime_reloc_stop if they are
1451 used. Align _fdata to a 16 byte boundary.
1452 * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
1453 generic.em.
1454 (emipsidtl.c): Likewise.
1455 (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
1456
1457 * ld.h (args_type): Add new field embedded_relocs.
1458 * ldemul.h (ldemul_after_open, after_open_default): Declare.
1459 (ld_emulation_xfer_struct): Add new field after_open.
1460 * ldemul.c (ldemul_after_open): New function.
1461 (after_open_default): New function.
1462 * ldlang.c (lang_process): Call ldemul_after_open.
1463 * lexsup.c (parse_args): Handle --embedded-relocs.
1464 * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
1465 new after_open field to after_open_default.
1466 * emultempl/generic.em, emultempl/gld960.em: Likewise.
1467 * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
1468 * emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
1469 * emultempl/sunos.em, emultempl/vanilla.em: Likewise.
1470 * ld.texinfo, ld.1: Mention -embedded-relocs.
1471
1472 Wed Nov 23 22:04:47 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1473
1474 * Makefile.in: Add eshl.o.
1475 * config/coff-sh.mt: Add shl emulation.
1476
1477 Tue Nov 22 11:55:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1478
1479 * scripttempl/elf.sc: Fill .text section with NOPS. From Eric
1480 Youngdale <eric@aib.com>.
1481
1482 Thu Nov 17 14:39:48 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1483
1484 Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
1485 * config/i386linux.mh: New file; set HOSTING_CRT0.
1486 * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
1487 /usr/lib, since that is already in LIB_PATH.
1488
1489 Wed Nov 16 10:03:03 1994 Jeff Law (law@snake.cs.utah.edu)
1490
1491 * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
1492 address.
1493 (.data, .bss): If "-N", then place the data/bss just after the end
1494 of the .text section rather than at the default 0x40000000.
1495
1496 * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
1497 text segment.
1498
1499 Sat Nov 12 15:55:56 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1500
1501 Patches from Eric Youngdale <eric@aib.com>:
1502 * ldlang.c (lang_finish): Don't warn if entry symbol not found
1503 when generating a shared library.
1504 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if
1505 attempting to place an orphaned relocation section when generating
1506 a dynamically linked object.
1507
1508 * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
1509 _start.
1510
1511 Fri Nov 11 14:27:23 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1512
1513 * ld.h (args_type): Add field export_dynamic.
1514 * lexsup.c (parse_args): Recognize --export-dynamic.
1515 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
1516 Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
1517
1518 Wed Nov 9 12:47:11 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1519
1520 * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
1521 we allocate common symbols.
1522
1523 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
1524
1525 * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
1526 .rela.fini to the list of .rel* sections.
1527
1528 Tue Nov 8 17:47:45 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1529
1530 * ldlang.c (load_symbols): Add new argument place. Only accept
1531 linker scripts if place is not NULL. Put commands found in an
1532 assumed linker script into place.
1533 (lookup_name): Pass NULL as place argument to load_symbols.
1534 (open_input_bfds): In lang_input_statement_enum case, pass a place
1535 argument to load_symbols, and store any new statements after the
1536 current one.
1537
1538 Mon Nov 7 15:53:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1539
1540 * ldver.c (ldversion): Bump to 2.5.3.
1541
1542 Fri Nov 4 15:11:26 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1543
1544 * Makefile.in (e*nbsd.c): Fix typo in dependencies.
1545
1546 Thu Nov 3 19:35:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1547
1548 * Makefile.in (check): Add missing "else true" clause.
1549
1550 * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
1551
1552 * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default
1553 entry point to "start". Align at end of each section to 0x200.
1554 Start .text section 0x1000 later. Add _etext, _edata, _end
1555 symbols.
1556
1557 Wed Nov 2 12:17:49 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1558
1559 * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
1560 composed of different object file formats.
1561 (ldctor_build_sets): If the output format does not support the
1562 reloc, and we are not generating a relocateable link, try getting
1563 the reloc from the input format.
1564
1565 Tue Nov 1 10:30:19 1994 J.T. Conklin (jtc@rtl.cygnus.com)
1566
1567 * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
1568 (em68knbsd.c): New target.
1569
1570 * config/m68k-nbsd.mt: New file.
1571 * emulparams/m68knbsd.sh: New file.
1572 * configure.in (m68*-*-netbsd*): Use above configs.
1573
1574 Mon Oct 31 19:35:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1575
1576 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
1577 appropriately named static library, stop the search at that
1578 directory.
1579
1580 Wed Oct 26 13:59:12 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1581
1582 * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
1583 and esparcnbsd.o; sorted entries.
1584 (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
1585
1586 * config/netbsd532.mt: Removed.
1587 * emulparams/netbsd532.sh: Removed.
1588
1589 * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
1590 * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
1591 * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
1592 sparc*-*-netbsd*): Use above configs.
1593
1594 Tue Oct 25 11:47:10 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1595
1596 * ldmain.c (multiple_common): One of the types may now be
1597 bfd_link_hash_indirect. The old BFD argument may be NULL.
1598
1599 Thu Oct 20 22:01:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1600
1601 * configure.in: Add * at the end of m68k-hp-hpux.
1602
1603 Tue Oct 18 15:58:39 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1604
1605 * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
1606 YY_CHAR *.
1607
1608 Mon Oct 17 14:53:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
1609
1610 * scripttempl/nw.sc: Gather constructors and destructors and
1611 define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
1612
1613 Fri Oct 14 14:35:38 1994 J.T. Conklin (jtc@rtl.cygnus.com)
1614
1615 * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
1616 (ei386nw.c, eppcnw.c): New targets.
1617
1618 * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
1619 scripttempl/nw.sc: New files, for i386 and powerpc netware.
1620
1621 * configure.in: Changed netware ld_target name to be {i386,ppc}-nw
1622 instead of {i386,ppc}-elf.
1623
1624 * configure.in (sparc*-*-netware): Removed. There is no such
1625 thing anymore.
1626
1627 * ldint.texinfo: Move misplaced `@end iftex'.
1628
1629 Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com)
1630
1631 * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
1632 .rela.dtors to the list of .rel* sections.
1633
1634 Thu Oct 13 14:16:27 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1635
1636 * ldver.c (ldversion): Update to version 2.5.
1637 * Version 2.5 released.
1638
1639 * configure.in (all_targets): Handle i386-linux*.
1640
1641 Thu Oct 13 11:24:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1642
1643 * scripttempl/aout.sc: Set _etext and __etext to ., not
1644 ${DATA_ALIGNMENT}. This is compatible with SunOS, and, with luck,
1645 will not break any other system. From Eric Valette
1646 <ev@chorus.fr>.
1647
1648 Wed Oct 12 16:22:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
1649
1650 * lexsup.c (parse_args): Change -V to be a synonym for -v. Add
1651 --verbose to get the old -V behaviour.
1652 * ld.1, ld.texinfo: Document this change.
1653
1654 Tue Sep 27 14:56:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1655
1656 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
1657 assertion, since it could fail with a user defined linker script.
1658
1659 * ldexp.c (fold_name): For DEFINED case, don't try to look up the
1660 name in the hash table during the first phase--the hash table does
1661 not even exist at that point, much less have the right value.
1662
1663 * Makefile.in (CC): Define.
1664 (CXX): Move definition, change from g++ to gcc.
1665 (EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
1666 (RUNTEST_CC, RUNTEST_CFLAGS): Remove.
1667 (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
1668 (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
1669 (.cc.o): Comment out.
1670 (testdir): Remove.
1671 (site.exp): Don't create testdir or set tmpdir.
1672 (check): Run checks even if not running native. Use CC_FOR_TARGET
1673 instead of RUNTEST_CC, and likewise for CXX.
1674 (cdtest targets): Comment out.
1675 * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
1676 * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
1677 * cdtest-main.cc, cdtest.exp: Remove.
1678
1679 Mon Sep 26 11:40:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1680
1681 * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
1682 file naming problems.
1683 * emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
1684 * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
1685 eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
1686 (eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh.
1687 (eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh.
1688 * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
1689 * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
1690
1691 * genscripts.sh: Always search /usr/local/TARGET/lib.
1692
1693 * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".".
1694
1695 Fri Sep 23 15:05:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
1696
1697 * configure.in: Handle i386-bsdi* targets like i386-bsd.
1698
1699 Fri Sep 23 00:06:59 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1700
1701 * lexsup.c (parse_args): Add support for -a for HP/UX
1702 compatibility.
1703
1704 * lexsup.c (parse_args): -c takes an argument.
1705
1706 Tue Sep 20 14:35:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1707
1708 * ld.h (args_type): Add new field endian.
1709 * lexsup.c (parse_args): Handle -EB and -EL by setting
1710 command_line.endian.
1711 * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
1712 * ldlang.c (lang_add_output_format): Add arguments big and little.
1713 If command_line.endian is set, use it to select big or little
1714 rather than the default. Changed all callers.
1715 * ldlang.h (lang_add_output_format): Update declaration.
1716 * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
1717 LITTLE_OUTPUT_FORMAT.
1718 * emulparams/elf32mipl.sh: Likewise.
1719 * emulparams/mipsbig.sh: Likewise.
1720 * emulparams/mipsbsd.sh: Likewise.
1721 * emulparams/mipsidt.sh: Likewise.
1722 * emulparams/mipsidtl.sh: Likewise.
1723 * emulparams/mipslit.sh: Likewise.
1724 * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
1725 LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
1726 OUTPUT_FORMAT.
1727 * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
1728 LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
1729 * scripttempl/mipsbsd.sc: Likewise.
1730
1731 * Makefile.in (ldgram.h): Make separate target from ldgram.c,
1732 depending upon ldgram.c, so that a parallel make does not try to
1733 build both at once.
1734
1735 * configure.in (mips*el-elf*): New target.
1736 * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
1737 (eelf32mipl.c): New target.
1738
1739 * config/mipsl-elf32.mt: New file.
1740 * emulparams/elf32mipl.sh: New file.
1741
1742 Fri Sep 16 12:16:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1743
1744 * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
1745 ld -r -S -x.
1746
1747 Thu Sep 15 13:05:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1748
1749 * ldmisc.c (vfinfo): Print BFD file name as well as file name
1750 returned by find_nearest_line, in case the file name is something
1751 unhelpful such as a .h file. Handle %u.
1752
1753 Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1754
1755 * ldlang.c (lang_do_assignments): Make sure output statement
1756 has an attached bfd_section before trying to dereference it.
1757
1758 Wed Sep 14 12:48:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1759
1760 * ld.h (ld_config_type): Add new field warn_once.
1761 * ldmain.c (undefined_symbol): Handle -warn-once.
1762 * lexsup.c (parse_args): Recognize -warn-once.
1763 * ld.texinfo (Options): Document -warn-once.
1764 * ld.1: Likewise.
1765
1766 * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
1767 name. For %C, print the function name on a separate line, to keep
1768 the length of error messages under control.
1769 * ldmain.c (multiple_definition): Use %D for ``first defined
1770 here.''
1771 (undefined_symbol): Use %D for ``more undefined references
1772 follow''.
1773
1774 * ldmisc.c (multiple_warn): Remove; no longer used.
1775 * ldmisc.h (multiple_warn): Don't declare.
1776
1777 Tue Sep 13 20:47:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1778
1779 * ldlang.c (print_output_section_statement): Print all lines
1780 to the map file.
1781
1782 Tue Sep 13 16:30:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1783
1784 * ldlang.c (load_symbols): Check for archive before object. Use
1785 bfd_check_format_matches, and, if ambiguous, print a list of
1786 matching formats. If file format is not recognized, treat file as
1787 a linker script.
1788 * ldgram.y (yyerror): If assuming an object file is a script,
1789 mention that. Tweak the format of the error messages.
1790 * ldlex.l (lex_warn_invalid): If assuming an object is a script,
1791 guess that this is not actually a script, and just report that the
1792 file format was not recognized.
1793 * ld.texinfo (Options): Admit that -( may be used more than once.
1794 Add note that unrecognized object files are now treated as linker
1795 scripts.
1796
1797 * ldfile.c (ldfile_input_filename): Make const.
1798 (ldfile_assumed_script): New variable.
1799 (try_open): Change arguments types to const.
1800 (ldfile_find_command_file): Likewise.
1801 (ldfile_open_command_file): Likewise. Also, set lineno to 1.
1802 * ldfile.h: Update declarations for ldfile.c changes.
1803 * ldlex.l: Include <ctype.h>.
1804 (file_name_stack): Change to be const char *.
1805 (lineno_stack): New static variable.
1806 (<<EOF>>): Set lineno as well as ldfile_input_filename.
1807 (lex_push_file): Make name argument const. Initialize
1808 lineno_stack entry.
1809 (lex_redirect): Initialize lineno_stack entry.
1810 (lex_warn_invalid): Handle non printable characters nicely.
1811 * ldlex.h (lex_push_file): Declare second argument as const.
1812
1813 * ldgram.y (ifile_p1): Recognize GROUP.
1814 * ldlex.l: Recognize GROUP.
1815 * ld.texinfo (Option Commands): Document GROUP.
1816
1817 Mon Sep 12 17:04:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1818
1819 * config/m68klynx.mh: New file.
1820
1821 Mon Sep 12 01:50:03 1994 Jeff Law (law@snake.cs.utah.edu)
1822
1823 * emultempl/hppaelf.em: Add newlines to the error messages.
1824
1825 Sat Sep 10 16:05:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1826
1827 * config/i386lynx.mh: New file.
1828 * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
1829 unless CONSTRUCTING.
1830
1831 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1832
1833 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
1834 (GENERATE_SHLIB_SCRIPT): Define as yes.
1835 (DYNAMIC_LINK): Define as false.
1836 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
1837 Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
1838 (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
1839 * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
1840 generic.em.
1841
1842 Thu Sep 8 16:30:37 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1843
1844 * scripttempl/h8500b.sc: Put rdata stuff into own segment.
1845
1846 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1847
1848 * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
1849 .got section is now explicitly handled in elf.sc.
1850
1851 Wed Sep 7 13:08:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1852
1853 * scripttempl/alpha.sc: Redo script to set . outside of sections
1854 and not bother to explicitly specify section addresses.
1855 Explicitly place .sdata section.
1856
1857 Tue Sep 6 23:51:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1858
1859 * scripttempl/m68kcoff.sc: Put .bss in data segment.
1860
1861 * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
1862 0, and to only be marked as NOLOAD if relocating.
1863 * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
1864 * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
1865 * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
1866 * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
1867 * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
1868 * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
1869 * scripttempl/sparclynx.sc: Likewise.
1870
1871 Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
1872
1873 * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX.
1874 * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc:
1875 New files.
1876
1877 Tue Aug 30 11:48:08 1994 Eric Youngdale (ericy@cais.cais.com)
1878
1879 * ld.h (args_type): Add field soname.
1880 * lexsup.c (parse_args): Handle -soname argument.
1881 * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
1882 pass soname.
1883 * ld.texinfo: Document -soname.
1884
1885 Mon Aug 29 15:21:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1886
1887 * ldlang.c (lang_check): Don't try to set the architecture if the
1888 input and output files are incompatible. Just warn.
1889
1890 Wed Aug 24 12:52:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1891
1892 * configure.in: Change i[34]86 to i[345]86.
1893
1894 Sun Aug 21 16:17:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1895
1896 * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0.
1897
1898 Thu Aug 18 15:37:45 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1899
1900 Make the ELF linker handle orphaned sections reasonably. Also,
1901 define __start_SECNAME and __stop_SECNAME around sections whose
1902 names can be represented in C, for the benefit of symbol sets in
1903 glibc.
1904 * ldemul.h (ldemul_place_orphan): Declare.
1905 (ld_emulation_xfer_type): Add place_orphan field.
1906 * ldemul.c (ldemul_place_orphan): New function.
1907 * ldlang.h (wild_doit): Declare.
1908 * ldlang.c (wild_doit): Make nonstatic.
1909 (lang_place_orphans): Call ldemul_place_orphan.
1910 * emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
1911 (hold_section, hold_use, hold_text, hold_data, hold_bss): New
1912 static variables.
1913 (gld${EMULATION_NAME}_place_orphan): New static function.
1914 (gld${EMULATION_NAME}_place_section): New static function.
1915 (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
1916
1917 Tue Aug 16 00:17:20 1994 Eric Youngdale (ericy@cais.cais.com)
1918
1919 * scripttempl/aout.sc: Add .linux-dynamic after .data.
1920
1921 Tue Aug 16 00:08:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1922
1923 * lexsup.c (parse_args) Treat --dll-verbose as --version, for
1924 Linux compatibility. From hjl@nynexst.com (H.J. Lu).
1925
1926 Mon Aug 15 17:17:33 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1927
1928 * ldexp.h (exp_get_abs_int): Declare.
1929
1930 Sat Aug 6 01:45:39 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1931
1932 * ldlang.c (lang_do_assignments): Handle complex AT's better.
1933 * ldexp.c (exp_get_abs_int): New function.
1934
1935 Fri Aug 5 20:55:55 1994 Jason Molenda (crash@phydeaux.cygnus.com)
1936
1937 * configure.in: add i960-nindy-coff support.
1938
1939 Thu Aug 4 14:45:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1940
1941 * ldlex.l (yy_create_string_buffer): Handle change to internal
1942 interface in flex 2.4.7.
1943
1944 Tue Aug 2 11:52:06 1994 Eric Youngdale (ericy@cais.cais.com)
1945
1946 * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
1947 New function; add 0x20 to any use of -Ttext.
1948 (gld${EMULATION_NAME}_create_output_section_statements): New
1949 function.
1950 (ld_${EMULATION_NAME}_emulation): Use the new function
1951 gld${EMULATION_NAME}_create_output_section_statements.
1952
1953 Mon Aug 1 15:50:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1954
1955 * scripttempl/mips.sc: Redo script to set . outside of sections
1956 and not bother to explicitly specify section addresses.
1957
1958 Tue Jul 26 11:02:35 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1959
1960 * scripttempl/elf.sc: Copy several more relocation sections into
1961 the output. Put .got.plt sections into .got.
1962
1963 Fri Jul 22 12:15:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1964
1965 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
1966
1967 Add a new script operator, PROVIDE, to define a symbol only if it
1968 is needed.
1969 * ldgram.y (PROVIDE): New token.
1970 (assignment): Accept PROVIDE.
1971 * ldlex.l (PROVIDE): New token.
1972 * ldexp.h (node_type): Add etree_provide to node_class enum.
1973 (exp_provide): Declare.
1974 * ldexp.c (exp_fold_tree): Handle etree_provide.
1975 (exp_provide): New function.
1976 (exp_print_tree): Handle etree_provide.
1977 * ld.texinfo: Document PROVIDE.
1978
1979 * ldlang.c (lang_common): Pass desired alignment to
1980 lang_one_common as power of two.
1981 (lang_one_common): Get common symbol alignment from linker hash
1982 table entry. Treat desired alignment as a power of two.
1983
1984 * ldlang.c (wild_section): Attach all section with the given name,
1985 not just the first one. If there is no name, attach all sections
1986 even if the SEC_IS_COMMON flag is set.
1987
1988 Wed Jul 20 15:49:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
1989
1990 * ld.h (args_type): Add field rpath.
1991 * lexsup.c (S_ISDIR): Define if not already defined.
1992 (parse_args): Add support for -rpath. If -R is used to name a
1993 directory, treat it as -rpath for Solaris compatibility.
1994 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
1995 Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
1996 * ldmain.c (main): Initialize command_line.rpath to NULL.
1997 * ld.texinfo: Document -rpath option.
1998
1999 Sun Jul 10 00:33:24 1994 Ian Dall (dall@hfrd.dsto.gov.au)
2000
2001 * emulparams/pc532machaout.sh: New file. Pc532 mach script
2002 parameters.
2003
2004 * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
2005
2006 * config/pc532mach.mt: New file. Pc532 mach target support.
2007
2008 * config/pc532mach.mh: New file. Pc532 mach host support.
2009
2010 * config/netbsd532.mt: New file. Netbsd 532 target support.
2011
2012 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
2013
2014 * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
2015 dependency.
2016
2017 Fri Jul 8 10:57:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2018
2019 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
2020 bfd_abs_section_ptr, not &bfd_abs_section.
2021
2022 * lexsup.c (parse_args): Changed "retain-symbols-file" from
2023 no_argument to required_argument. From djm.
2024
2025 Thu Jul 7 12:29:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2026
2027 * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
2028 sections to force a VMA of 0; needed for ELF backends which have
2029 not been converted to the new linker style.
2030
2031 Mon Jul 4 19:35:45 1994 Jeff Law (law@snake.cs.utah.edu)
2032
2033 * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
2034 it was for the HPUX dynamic loader's use and it creates problems
2035 with ELF GDB.
2036
2037 Fri Jul 1 12:53:47 1994 Jeff Law (law@snake.cs.utah.edu)
2038
2039 * ldlang.c (lang_do_assignments): No longer static. Delete decl.
2040 * ldlang.h (lang_do_assignments): Put external decl here.
2041 * emultempl/hppaelf.em: Minor cleanups throughout file.
2042 (hppa_elf_create_output_section_statements): Rewrite.
2043 (hppaelf_finish): Rewrite.
2044
2045 Wed Jun 29 16:50:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2046
2047 * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
2048
2049 * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not
2050 accept plain -B.
2051 * ld.texinfo: -Bstatic is not ignored.
2052
2053 Tue Jun 28 12:13:34 1994 Stan Shebs (shebs@andros.cygnus.com)
2054
2055 * ldlex.l: Recognize \r the same as \n.
2056
2057 Thu Jun 23 17:53:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2058
2059 Preliminary support for generating shared libraries, from Eric
2060 Youngdale <ericy@cais.cais.com>.
2061 * genscripts.sh: If the emulation parameter file sets
2062 GENERATE_SHLIB_SCRIPT, generate a .xs script file with
2063 CREATE_SHLIB defined.
2064 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
2065 link_info.shared is set, use the .xs script file.
2066 * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
2067 .interp section, and don't include TEXT_START_ADDR in the starting
2068 address of the first section.
2069 * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
2070 * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
2071
2072 Thu Jun 23 12:52:22 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2073
2074 * configure.in: Change --with-targets to --enable-targets.
2075
2076 Wed Jun 22 13:42:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2077
2078 * lexsup.c (parse_args): Add support for new options -( -) with
2079 synonyms --start-group --end-group.
2080 * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
2081 (lang_group_statement_type): Define new struct.
2082 (lang_statement_union_type): Add group_statement field.
2083 (lang_enter_group, lang_leave_group): Declare.
2084 * ldlang.c (lang_for_each_statement_worker): Handle
2085 lang_group_statement_enum.
2086 (map_input_to_output_sections, print_statement): Likewise.
2087 (lang_size_sections, lang_do_assignments): Likewise.
2088 (open_input_bfds): Completely rewrite. Now does its own looping,
2089 rather than using lang_for_each_statement. Handle groups.
2090 (lang_process): Update call to open_input_bfds.
2091 (print_group): New static function.
2092 (lang_enter_group, lang_leave_group): New static functions.
2093 * ldfile.c (ldfile_open_file): If the file has already been
2094 opened, just return rather than taking an assertion failure.
2095 * ldver.c (help): Mention new options.
2096 * ld.texinfo: Document new options.
2097
2098 * ldlang.c (end_of_data_section_statement_list): Don't define.
2099 (lang_leave_output_section_statement): Don't set obsolete variable
2100 end_of_data_section_statement_list.
2101
2102 * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
2103 ALIGN.
2104
2105 * ldlang.c (lang_size_sections): Adjust current region address
2106 even for sections with an explicit address. From
2107 ralphc@pyramid.com (Ralph Campbell).
2108
2109 * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
2110 From jrs@world.std.com (Rick Sladkey).
2111
2112 * scripttempl/mipsbsd.sc: Let sections align to their natural
2113 boundaries.
2114
2115 Tue Jun 21 11:27:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2116
2117 * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
2118 &bfd_abs_section.
2119 (lang_abs_symbol_at_beginning_of): Likewise.
2120 (lang_abs_symbol_at_end_of): Likewise.
2121 (lang_size_sections): Use bfd_is_abs_section to check for the
2122 absolute section. Don't try to set the VMA or output_offset or
2123 size of the absolute section.
2124 * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
2125 undefined section.
2126
2127 Thu Jun 16 22:48:41 1994 Jeff Law (law@snake.cs.utah.edu)
2128
2129 * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
2130 when generating relocatable objects.
2131
2132 Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
2133
2134 * emultempl/linux.em: New file providing support for linking
2135 against Linux shared libraries.
2136 * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
2137 * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
2138
2139 Thu Jun 16 12:22:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2140
2141 * lexsup.c (parse_args): Add -shared to longopts, and handle it.
2142 * ldmain.c (main): Initialize link_info.shared to false. Give
2143 error if link_info.relocateable and link_info.shared are both set.
2144
2145 * configure.in: If EMUL_EXTRA* is defined in a config file, treat
2146 it as naming an emulation to be added to EMULATION_OFILES.
2147 * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
2148
2149 * Makefile.in: Rebuilt dependencies.
2150 (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
2151 eelf64_sparc.o. Remove $(OTHER_EMULATIONS).
2152 (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
2153 * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
2154 (ei386linux.c): Remove; now in Makefile.in.
2155 * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
2156 * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
2157 * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
2158 * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
2159 (eelf64_sparc.c): Remove; now in Makefile.in.
2160 * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
2161 (eelf32_sparc.c): Remove; now in Makefile.in.
2162
2163 * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
2164 no owner--it might be bfd_abs_section. From Eric Youngdale
2165 <ericy@cais.cais.com>.
2166
2167 * scripttempl/aout.sc: Let sections align to their natural
2168 boundaries.
2169
2170 Wed Jun 15 01:54:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2171
2172 * ldemul.h (ldemul_open_dynamic_archive): Declare.
2173 (ld_emulation_xfer_type): Add new field open_dynamic_archive.
2174 * ldemul.c: Include ldexp.h and ldlang.h.
2175 (ldemul_open_dynamic_archive): New function.
2176 * ldfile.h (ldfile_open_file_search): Declare.
2177 * ldfile.c: Include ldemul.h.
2178 (try_open_bfd): Rename from cache_bfd_openr. Return boolean
2179 argument, not bfd *. Change all callers.
2180 (ldfile_open_file_search): Rename from open_a. Return boolean
2181 argument, not bfd *. Clean up. Change all callers.
2182 (ldfile_open_file): If doing a dynamic link, call
2183 ldemul_open_dynamic_archive rather than assuming the extension of
2184 a dynamic object is ".so".
2185 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
2186 New function.
2187 (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
2188 field.
2189 * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
2190
2191 * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
2192 * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
2193 Accept -static as a synonym for -non_shared.
2194
2195 Let the user change the dynamic linker used by ELF code.
2196 * ld.h (args_type): Add new field interpreter.
2197 * lexsup.c (parse_args): Add dynamic-linker to longopts, and
2198 handle it.
2199 * ldmain.c (main): Initialize command_line.interpreter to NULL.
2200 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
2201 the ELF backend to return the .interp section. If
2202 command_line.interpreter is not NULL, set the contents of .interp
2203 to it.
2204 * ld.texinfo: Mention -dynamic-linker.
2205
2206 * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
2207 generic.em.
2208
2209 * lexsup.c (parse_args): Sort out the option macros and change the
2210 definitions to make it easier to add a new option.
2211
2212 * scripttempl/aout.sc: Define __etext and __edata to go along with
2213 _etext and _edata.
2214
2215 * ld.h (ld_config_type): Add new field traditional_format.
2216 * lexsup.c (parse_args): Add traditional-format to longopts, and
2217 handle it.
2218 * ldmain.c (main): Initialize config.traditional_format to false.
2219 * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
2220 flags of output_bfd according to config.traditional_format.
2221 * ldver.c (help): Mention -traditional-format.
2222 * ld.texinfo: Document -traditional-format.
2223
2224 Tue Jun 14 23:10:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2225
2226 * ldctor.c (ldctor_add_entry): Add entries to a set in the order
2227 they are encountered.
2228
2229 Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com)
2230
2231 * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
2232 (NONPAGED_TEXT_START_ADDR): Define as 0x20.
2233
2234 Mon Jun 13 15:46:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2235
2236 * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
2237 _FTEXT, _ETEXT and _FDATA. Dont define _END.
2238
2239 * ldfile.c (open_a): If this is not an archive, try to open it in
2240 the current directory before searching for it.
2241
2242 * lexsup.c (parse_args): Treat -i as a synonym for -r.
2243
2244 * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
2245 BLOCK works in a section address as documented.
2246
2247 * ldgram.y (YYDEBUG): Don't define.
2248
2249 Fri Jun 10 16:45:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2250
2251 * emultempl/gld960.em: Pass false for new argument to
2252 ldfile_add_library_path.
2253 * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
2254
2255 * emultempl/sunos.em: Only look for .so files if doing a dynamic
2256 link.
2257
2258 Thu Jun 9 08:35:17 1994 Ian Lance Taylor (ian@cygnus.com)
2259
2260 * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
2261
2262 Thu Jun 9 06:52:29 1994 Bill Cox (bill@rtl.cygnus.com)
2263
2264 * Makefile.in (check): Delete ld.new dependency so that a regression
2265 test doesn't trigger a rebuild of the linker.
2266
2267 Thu Jun 9 00:17:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2268
2269 * ldlang.c (map_input_to_output_sections): For lang_address, call
2270 init_os if it hasn't already been called.
2271
2272 Thu Jun 2 17:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2273
2274 Add support for SunOS shared libraries.
2275 * aout.sc: Don't define __DYNAMIC here. Add new sections used by
2276 shared library support code.
2277 * emultempl/sunos.em: New file.
2278 * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
2279 * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
2280 * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
2281 (esun3.c): Likewise.
2282
2283 * ldlang.c: Minor formatting cleanups.
2284 (lang_for_each_input_file): New function.
2285 * ldlang.h (lang_for_each_input_file): Declare.
2286
2287 * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
2288 field.
2289 (search_head): Declare.
2290 (ldfile_add_library_path): Add new cmdline argument in prototype.
2291 * ldfile.c (search_head): Make non-static.
2292 (search_dirs_type): Move to ldfile.h.
2293 (ldfile_add_library_path): Accept cmdline argument, and save it.
2294 * lexsup.c (parse_args): Pass true for new cmdline argument of
2295 ldfile_add_library_path.
2296 (set_default_dirlist): Likewise.
2297 * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
2298 argument of ldfile_add_library_path.
2299 * ldgram.y (ifile_p1): Likewise.
2300
2301 Wed Jun 1 14:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2302
2303 * ldlang.h (lang_input_statement_type): Remove fields subfiles,
2304 total_size, superfile and chain.
2305 * ldfile.c (open_a): Don't clear search_dirs_flag.
2306 (ldfile_open_file): Don't try to open superfile. Assert that file
2307 has not already been opened.
2308 * ldlang.c (new_afile): Don't initialize superfile.
2309 * ldmain.c (add_archive_element): Don't initialize subfiles or
2310 chain or superfile. Initialize search_dirs_flag to false.
2311
2312 Fri May 27 12:25:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2313
2314 * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
2315
2316 Changes from binutils-2.4 release:
2317
2318 * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
2319 variables, use whitespace, so scripts don't break.
2320
2321 * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
2322
2323 * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
2324
2325 * cdtest-bar.cc: Renamed from cdtest-func.cc.
2326 * Makefile.in: Noted change.
2327
2328 * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
2329 don't know where that's supposed to come from, or why it's
2330 necessary.
2331
2332 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
2333
2334 * configure.bat: update to latest makefile.in
2335 * emulpara/go32.sh: set to coff-go32 not aout
2336 * emultemp/generic.em: strength-reduce the structure of
2337 this shell script, since the only available shell for
2338 DOS can't handle complex syntax.
2339 * emultemp/stringify.sed: for "sed -f" instead of inline.
2340 * makefile.in: depend on stringify.sed as well as genscripts.sh
2341 * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
2342 * genscripts.sh: empty variables aren't always considered "set",
2343 so set them to "y" instead.
2344
2345 Fri May 27 01:08:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2346
2347 * ldlang.c (entry_symbol): Make static.
2348 (lang_add_entry): Add cmdline argument.
2349 * ldlang.h (lang_add_entry): Change prototype.
2350 * ldgram.y (statement_anywhere): Change lang_add_entry call.
2351 * lexsup.c (parse_args): Likewise.
2352
2353 Tue May 24 16:13:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2354
2355 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
2356 .reginfo an address.
2357 (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
2358 (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
2359 * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
2360
2361 Thu May 19 13:31:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2362
2363 Add support for ELF shared libraries.
2364 * ld.h (ld_config_type): Add field dynamic_link.
2365 * ldmain.c (main): Initialize config.dynamic_link to false. Warn
2366 on attempts to use -r with -relax, -call_shared or -s.
2367 * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
2368 OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
2369 accordingly. Add "dy" and "non_shared" options. Change "Qy" to
2370 OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
2371 OPTION_NON_SHARED by setting dynamic_link field accordingly.
2372 Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
2373 -r and -Ur.
2374 * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
2375 opening a file with a .so extension first.
2376 * emultempl/elf32.em: New file.
2377 * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
2378 (NONPAGED_TEXT_START_ADDR): Likewise.
2379 (TEMPLATE_NAME): Define as elf32.
2380 (DATA_PLT): Define.
2381 * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
2382 * scripttempl/elf.sc: Add placement for new dynamic sections.
2383 Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
2384 outside of any section. Don't use ALIGN(8); just let one section
2385 VMA follow another. Put .dynbss in .bss. Don't mention debugging
2386 sections; they'll be handled correctly anyhow.
2387 * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
2388
2389 Wed May 18 10:15:39 1994 Ian Lance Taylor (ian@cygnus.com)
2390
2391 * Makefile.in (install): Redirect output of ln to /dev/null.
2392
2393 Mon May 16 13:35:08 1994 Jeff Law (law@snake.cs.utah.edu)
2394
2395 * emultempl/hppaelf.em: Change all references of
2396 .hppa_linker_stubs to .PARISC.stubs.
2397 * scripttempl/hppaelf.sc: Likewise.
2398
2399 Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2400
2401 * ldlang.c (print_output_section_statement): Change ``no attached
2402 output section'' message slightly.
2403 (lang_do_assignments): Don't recurse down if there is no real
2404 section.
2405
2406 * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
2407 match corresponding change in emulation templates.
2408 * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
2409 * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
2410
2411 Wed May 11 18:16:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2412
2413 * ldver.c (ldversion): Updated version number.
2414
2415 * cdtest-foo.cc: Use explicit "#pragma implementation".
2416 * cdtest-bar.cc: Renamed from cdtest-func.cc.
2417 * Makefile.in: References to cdtest-func.o changed to
2418 cdtest-bar.o.
2419
2420 Wed May 11 16:24:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2421
2422 Don't create unnecessary output sections.
2423 * ldlang.c (out_bfd_get_section_by_name): Remove.
2424 (wild_section): Call bfd_get_section_by_name rather than
2425 our_bfd_get_section_by_name. Don't call wild_doit if there is no
2426 section.
2427 (lang_create_output_section_statements): Remove.
2428 (map_input_to_output_sections): For several cases, call init_os if
2429 it has not already been called.
2430 (lang_size_sections): If output section was not created, skip it.
2431 (lang_process): Don't call lan_create_output_section_statements.
2432 (lang_place_orphans): Skip files with just_syms_flags set to true.
2433 * ld.texinfo: Document change.
2434
2435 Tue May 10 14:31:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2436
2437 * ldlang.c (wild_doit): Don't bother initializing the vma and
2438 section size. Don't special case SEC_SHARED_LIBRARY.
2439 (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
2440 specially.
2441
2442 Fri May 6 12:24:27 1994 Steve Chamberlain (sac@cygnus.com)
2443
2444 * config/go32.mh : New file for Xgo32X.
2445
2446 Fri May 6 15:15:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2447
2448 * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
2449 before calling einfo, since we are reporting an fopen failure.
2450 From jrs@world.std.com (Rick Sladkey).
2451
2452 * configure.in: Use "e" rather than "em_" as prefix for
2453 emulations.
2454
2455 Fri May 6 01:08:14 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
2456
2457 * emultempl/generic.em: Use "e" rather than "em_" as prefix for
2458 filename.
2459 * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
2460 emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
2461 Ditto.
2462 * Makefile.in: Changed all generated file names.
2463 (ldemul-list.h): Depend on Makefile, not config.status. Changed
2464 sed patterns to handle new filenames.
2465
2466 * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
2467 * configure.in: Adjusted.
2468
2469 Thu May 5 15:07:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2470
2471 * Makefile.in (install-info): Don't use "$<*", it doesn't always
2472 work. Instead, check build dir and $srcdir explicitly, and use
2473 `echo' to get all the filenames.
2474
2475 * configure.in (h8300h-*-hms): Changed ld_target name to
2476 cf-h8300h.
2477 * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
2478 unique in 8.3.
2479
2480 * config/i960coff.mt: New file.
2481 * emulparams/gld960coff.sh: New file.
2482 * emultempl/gld960c.em: New file.
2483 * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
2484 i960coff configuration.
2485 * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
2486
2487 * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
2488 code isn't included in FSF releases, and it can still be
2489 explicitly selected.
2490 (distclean): Remove site.bak and tmpdir.
2491 (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
2492 (mostlyclean): Delete them explicitly here. Also remove tmpdir.
2493
2494 Patches from Ralph Campbell:
2495 * config/mipsbsd.mh: New file.
2496 * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
2497 * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
2498 * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
2499 instead of `aout'.
2500
2501 * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
2502
2503 Wed May 4 11:59:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2504
2505 * config/m68k.mt (EMUL): Set to m68kaout.
2506 * emulparams/m68kaout.sh: New file.
2507 * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
2508 (em_m68kaout.c): New target.
2509
2510 * ldlang.c (lang_size_sections): If dot moves because of an
2511 assignment, don't try to insert a pad into the absolute output
2512 section, just change the address of the default memory region
2513 instead.
2514
2515 * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
2516 cdtest-ur.out, and cdtest-ur.tmp.
2517
2518 Wed Apr 27 16:03:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2519
2520 * scripttempl/sa29200.sc: Align all sections to four byte
2521 boundaries.
2522
2523 Wed Apr 27 10:48:03 1994 Steve Chamberlain (sac@cygnus.com)
2524
2525 * Makefile.in, configure.in: Support for go32 coff.
2526 * config/i386-go32.mt: New file
2527 * emulparams/i386go32.sh: New file
2528 * scripttempl/i386go32.sc: New file
2529
2530 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
2531
2532 * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
2533 Lynx-specific script templates.
2534 * configure.in (sparclite*-*-coff): Use coff-sparc.
2535 * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
2536 * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
2537 (ENTRY): Set to __main.
2538 * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
2539 * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
2540 * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
2541
2542 Tue Apr 26 12:41:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2543
2544 * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
2545 byte boundary, in case the global constructors do not take up an
2546 even 16 bytes.
2547
2548 * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
2549 exist, get crtbegin based on gcc -print-libgcc-file-name.
2550 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
2551
2552 Mon Apr 25 15:27:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2553
2554 * ldlang.c (lang_size_sections): When no address is given for a
2555 section, align it according to its requirements.
2556
2557 Thu Apr 21 17:24:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2558
2559 * Makefile.in (clean, distclean): Remove configdoc.texi.
2560
2561 Tue Apr 19 12:12:15 1994 Bill Cox (bill@rtl.cygnus.com)
2562
2563 * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
2564
2565 Fri Apr 15 14:35:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2566
2567 * ldlang.c (lang_size_sections): When relaxing, adjust the
2568 position of a padding statement, and adjust dot accordingly.
2569
2570 Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com)
2571
2572 * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
2573
2574 Mon Apr 11 12:32:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2575
2576 * scripttempl/i386coff.sc: If relocating, don't put .init and
2577 .fini sections into .text; keep them separate.
2578 * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
2579 exist, get crtbegin based on gcc -print-libgcc-file-name.
2580 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
2581
2582 Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com)
2583
2584 * Makefile.in (check): Set TCL_LIBRARY for runtest.
2585
2586 Wed Apr 6 00:09:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2587
2588 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
2589 manufacturer.
2590
2591 * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
2592 if building a final executable.
2593
2594 Tue Apr 5 12:17:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2595
2596 * ldmain.c (main): Check the return value of bfd_close.
2597
2598 Thu Mar 31 18:07:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2599
2600 * scripttempl/alpha.sc: Clean up section alignment to ensure that
2601 sections never overlap when using -r.
2602
2603 Wed Mar 30 15:51:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2604
2605 * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
2606 changes: get_symtab_upper_bound renamed and returns long,
2607 bfd_canonicalize_symtab returns long, check for error indications.
2608
2609 Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2610
2611 * ldlang.c (print_input_section): For section size, use
2612 _cooked_size if it is non-zero, size otherwise.
2613 (size_input_section): Likewise.
2614 (lang_do_assignments): Likewise (case lang_input_section_enum).
2615
2616 Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2617
2618 * ldlang.c (new_afile): Add new argument add_to_list. Don't set
2619 real to true for lang_input_file_is_marker_enum. Clear the_bfd.
2620 (lang_add_input_file): Pass true to new_afile for add_to_list.
2621 (lookup_name): Remove force_load argument. Changed all callers.
2622 Pass false to new_afile for add_to_list. Split loading of symbols
2623 out into separate function.
2624 (load_symbols): New function split out of lookup_name. Don't load
2625 the symbols if they are already loaded.
2626 (open_input_bfds): For lang_input_statement_enum call load_symbols
2627 rather than lookup_name.
2628 (lang_process): Pass abs_output_section rather than NULL to
2629 lang_size_sections.
2630 (lang_startup): Set real field of first_file to true.
2631
2632 Wed Mar 23 14:15:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2633
2634 * ldlang.c (had_relax): Removed.
2635 (relax_again): New static variable.
2636 (lang_size_sections): Change call to bfd_relax_section to
2637 correspond to BFD changes. Set relax_again appropriately.
2638 (lang_process): Remove #if 0 code. When relaxing, keep calling
2639 lang_do_assignments and lang_size_sections until relax_again
2640 becomes false.
2641
2642 * emultemp/gld960.em: Include libiberty.h
2643 (gld960_before_parse): Pass NULL as final argument to concat.
2644
2645 Tue Mar 22 13:08:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2646
2647 * scripttempl/aout.sc: Force _end and __end to be aligned to a
2648 four byte boundary.
2649
2650 * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
2651 building a bfd_data_link_order, rather than by setting the section
2652 contents immediately.
2653
2654 Mon Mar 21 18:28:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2655
2656 Changes to make -Ur work again.
2657 * ldmain.c (add_to_set): Now takes reloc argument rather than
2658 bitsize. Check config.build_constructors here. If an new hash
2659 table entry is created, mark it as undefined.
2660 (constructor_callback): No longer takes bitsize argument. Pass
2661 BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
2662 BFD backend supports it.
2663 (reloc_overflow): Handle a NULL abfd argument.
2664 (reloc_dangerous, unattached_reloc): Likewise.
2665 * ldctor.c: Include ldmain.h.
2666 (struct set_info): Change bitsize field to reloc.
2667 (ldctor_add_set_entry): Now takes reloc argument rather than
2668 bitsize. Don't bother to check config.build_constructors here.
2669 (ldctor_build_sets): Get the size from the reloc howto. If
2670 generating relocateable output, call lang_add_reloc rather than
2671 lang_add_data.
2672 * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
2673 instead of bitsize.
2674 * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
2675 (lang_reloc_statement_type): New structure.
2676 (lang_statement_union_type): Add reloc_statement field.
2677 (lang_add_reloc): Declare new function.
2678 * ldlang.c (lang_for_each_statement_worker): Handle
2679 lang_reloc_statement_enum.
2680 (map_input_to_output_sections, print_statement): Likewise.
2681 (lang_size_sections, lang_do_assignments): Likewise.
2682 (print_reloc_statement): New function.
2683 (lang_add_reloc): New function.
2684 * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
2685
2686 * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
2687 (cdtest-ur, cdtest-ur.out): New targets.
2688 (check-cdtest): Now also check that -Ur works correctly.
2689
2690 * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
2691
2692 Thu Mar 17 12:45:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2693
2694 * ldlang.c (lang_process): Move lang_common call before
2695 map_input_to_output_sections, to ensure that any alignment
2696 constraints set by common symbols are copied over to the output
2697 sections.
2698
2699 Fri Mar 11 22:17:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2700
2701 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
2702 (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
2703 * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
2704 * emultempl/ppc.em: Remove ugly stub code; turns out not to be
2705 needed for ELF.
2706
2707 Tue Mar 8 04:22:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2708
2709 * config/i386bsd.mh: New file.
2710
2711 Mon Mar 7 15:23:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2712
2713 * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
2714 defined.
2715 * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
2716 (DATA_START_SYMBOLS): Define _fdata.
2717
2718 Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com)
2719
2720 * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
2721
2722 Sun Feb 27 16:29:38 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2723
2724 * emultempl/hppaelf.em (hppaelf_finish): Update comments. This
2725 works again. Attach some output symbols to the stub file bfd.
2726
2727 * emultempl/hppaelf.em: Include elf32-hppa.h.
2728 (file_chain): Add decl.
2729 (hppa_look_for_stubs_in_section): Delete decl.
2730 (hppaelf_finish): Reenable code. Do not pass symbols
2731 down to hppa_look_for_stubs_in_section.
2732
2733 Sat Feb 26 10:58:25 1994 Ian Lance Taylor (ian@cygnus.com)
2734
2735 * ldmain.c (write_map): Don't define. Removed all references.
2736 Just use map_file or map_filename instead.
2737 (add_archive_element): Use minfo to write map information, not
2738 info_msg.
2739 (constructor_callback): Use fprintf to write map information, not
2740 info_msg.
2741 * ldmain.h (write_map): Don't declare.
2742 * ldgram.y (mri_script_command): Removed reference to write_map.
2743 * ldlang.c (lang_one_common): Likewise.
2744 * lexsup.c (parse_args): Likewise.
2745
2746 Fri Feb 25 19:12:03 1994 Ian Lance Taylor (ian@cygnus.com)
2747
2748 * scripttempl/elf.sc: Force all sections to be aligned.
2749
2750 * ldgram.y (section): Reverse the order of memspec_opt and
2751 fill_opt to avoid an ambiguity when both are used.
2752 * ld.texinfo: Changed accordingly.
2753
2754 * ldgram.y: Move include of ldlex.h back with other includes.
2755 * ldlex.h (input_type): Don't initialize enum constants to
2756 particular values.
2757 * ldlex.l: Use a switch to return the right token based on
2758 input_type, rather than knowing that input_type has a value based
2759 on a token type.
2760
2761 * ldgram.y (dirlist_ptr): Removed; not used.
2762 * lexsup.c: Include ldver.h.
2763 * Makefile.in: Rebuilt dependencies.
2764
2765 Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com)
2766
2767 * ldlang.c (lookup_name): don't call bfd_set_gp_size.
2768 (ldlang_add_file): call it here instead.
2769
2770 Fri Feb 25 18:13:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2771
2772 * ldgram.y: Include ldlex.h after %token decls, for byacc.
2773
2774 Fri Feb 25 10:47:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2775
2776 * emultempl/hppaelf.em: First attempt to clean this file up.
2777 Add comments in several functions as to their purpose and
2778 how they function (or my current best guess). Clean up horrible
2779 spacing and indention that never should have been accepted in the
2780 first place. Add FIXMEs for issues which need to be resolved.
2781 Disable linker-stub generation until it gets fixed. This allows
2782 the linker to at least work on simple code for testing purposes.
2783
2784 * ldlang.c (lang_size_sections): No longer static (PA ELF calls
2785 it via hppaelf_finish). Prototype moved into ldlang.h.
2786 (lang_process): Move problematic extra call to lang_size_sections
2787 into the PA ELF specific code.
2788 * emultempl/hppaelf.em (hppaelf_finish): Extra call to
2789 lang_size_sections moved here.
2790
2791 Thu Feb 24 16:47:33 1994 Ian Lance Taylor (ian@cygnus.com)
2792
2793 * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
2794 * config/ppc-elf32.mt: New file.
2795 * emulparams/elf32ppc.sh: New file.
2796 * emultempl/ppc.em: New file.
2797 * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
2798 (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
2799 (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
2800
2801 Thu Feb 24 12:27:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2802
2803 * lexsup.c (parse_args): Use symbolic numbers for long options.
2804 Fix misunderstanding in -Y and -call_shared et al.
2805
2806 Use getopt instead of lex and yacc to parse the command line.
2807
2808 * ld.texinfo (Options): Document changes to option syntax.
2809 * Makefile.in: Update dependencies.
2810 * ldver.c (help): Tweak dashes in usage message.
2811 * ldgram.y (%union): Remove unused members.
2812 Remove %tokens for command line options; add ones for input types.
2813 (command_line): Rules removed.
2814 (file): Instead of command line, recognize an
2815 input type indicator, then use the nonterminal for that type.
2816 (defsym_expr): New nonterminal from code formerly in command_line.
2817 * ldlex.h: Declare parser input type enum and variable.
2818 Don't declare parse_line.
2819 * ldlex.l: Remove unused variables. Make some used ones static
2820 and comment them.
2821 (COMMAND): Start state and its rules removed.
2822 At start of yylex, return input state token if at start of input.
2823 (lex_redirect): Don't need to set yyout.
2824 (ldlex_command): Function removed.
2825 * ldmain.c (main): Instead of calling parse_line, set up the
2826 redirections and call yyparse directly.
2827 * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
2828 "command line".
2829 * lexsup.c: Remove #if 0'd code.
2830 (parse_line): Function removed.
2831 (parse_args): Rewrite to use getopt_long_only.
2832 (set_default_dirlist): New function from code formerly in
2833 ldgram.y:command_line.
2834 (set_section_start): New function.
2835 * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
2836 emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
2837 compiled-in link scripts in "{" and "}", as the grammar no longer
2838 wants them to be.
2839
2840 Thu Feb 24 08:43:26 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
2841
2842 * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
2843 require that it be in $(srcdir).
2844
2845 Tue Feb 22 09:21:18 1994 Ian Lance Taylor (ian@cygnus.com)
2846
2847 * ldlang.c (lang_size_sections): Only align section to alignment
2848 required by linker script, not to maximum alignment of input
2849 sections.
2850
2851 * ldlang.h (largest_section): Don't declare.
2852 * ldlang.c (largest_section): Don't define.
2853 (size_input_section): Don't set largest_section; not used.
2854
2855 Mon Feb 21 15:15:29 1994 Ian Lance Taylor (ian@cygnus.com)
2856
2857 * ldlang.c (new_afile): Pass NULL as last argument to concat.
2858
2859 Thu Feb 17 15:51:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2860
2861 * ldlang.c, ldmain.c: Include libiberty.h.
2862
2863 * ldmisc.h (concat): Don't declare.
2864 * ldmisc.c (concat): Don't define; just use the one in libiberty.
2865
2866 * ld.h (as_output_section_statement): Removed; not used.
2867
2868 Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2869
2870 * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
2871 bfd_set_error and new error names.
2872
2873 Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2874
2875 * ldwrite.c (build_link_order): If the cooked size of the section
2876 has been set, use it, for determining link_order size.
2877 (ldwrite): In the error message displayed if bfd_final_link fails,
2878 indicate that it was in fact the final link step that failed.
2879
2880 * ldlang.c (lang_size_sections): Clear bfd_error before calling
2881 bfd_relax_section, in case it returns false but doesn't flag an
2882 error. If an error is returned, indicate which one it is in the
2883 error message.
2884
2885 * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
2886 it'll get picked up from $(srcdir) if appropriate.
2887
2888 Tue Feb 15 16:32:04 1994 David J. Mackenzie (djm@rtl.cygnus.com)
2889
2890 * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
2891 * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
2892
2893 Fri Feb 11 17:02:49 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2894
2895 * ldlex.l (comment): Increment line number when newline is read.
2896
2897 Fri Feb 11 17:36:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2898
2899 * ldlang.c (lookup_name): Take new argument, force_load. If true,
2900 reload the file even if it is already loaded.
2901 (wild): Call lookup_name with force_load argument of 0.
2902 (open_input_bfds): Call lookup_name with force_load argument of 1.
2903 (print_symbol): Remove declaration of non-existent function.
2904 (print_one_symbol): Return true rather than falling off end.
2905
2906 Thu Feb 10 11:52:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2907
2908 * ldmain.c (main): Use %ld when printing long values.
2909
2910 * scripttempl/elf.sc: Move _edata after the .sdata section.
2911 Permit OTHER_BSS_SYMBOLS to be defined.
2912 * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
2913
2914 Mon Feb 7 16:31:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2915
2916 * Rename all "hppaosf" files to "hppaelf".
2917 * Change all "osf" references to "elf" in hppaelf files.
2918 * Makefile.in: Likewise.
2919 * configure.in: Likewise.
2920
2921 Sun Feb 6 20:31:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2922
2923 * ldmain.c (main): Call xatexit, not atexit.
2924 Call xmalloc_set_program_name.
2925
2926 * ldlang.c (lang_size_sections): Check if bfd_relax_section set
2927 bfd_errno.
2928
2929 Sat Feb 5 03:54:34 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2930
2931 * emultempl/lnk960.em (append), emultempl/hppaosf.em
2932 (hppaosf_finish): Call xmalloc, not ldmalloc.
2933 * ldmain.c (preserve_output): Function removed.
2934 (main): Do it here instead.
2935
2936 Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
2937
2938 * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
2939 GNU C specific macros.
2940
2941 * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
2942 call to LANG_FOR_EACH_INPUT_SECTION.
2943
2944 Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2945
2946 * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
2947 deleted; will use libiberty versions instead.
2948 * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
2949 mri.c Makefile.in: Change callers.
2950
2951 * ldmisc.c (vfinfo): Remove cleanup code.
2952 * ldmain.c (remove_output): Put it here (new function).
2953 (preserve_output): New function.
2954 (main): Register remove_output and preserve_output with atexit.
2955 * ldmain.c ldgram.y: Call xexit instead of exit.
2956 * ldmisc.h: Declare xexit.
2957
2958 Fri Feb 4 15:19:01 1994 Steve Chamberlain (sac@cygnus.com)
2959
2960 * Makefile.in: Lots of new H8/500 memory models.
2961
2962 Sun Jan 30 14:33:40 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2963
2964 * ldlex.l: Removed duplicate rules.
2965 (yywrap): Provide default definition, needed with some versions of
2966 flex.
2967
2968 Fri Jan 28 09:12:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2969
2970 * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
2971 the archive filename too.
2972
2973 * ldlex.l: Add rule to catch invalid input characters instead of
2974 printing them. Include "ldmain.h" for program_name decl.
2975 (lex_warn_invalid): New function.
2976 * Makefile.in: Add dependency.
2977
2978 Fri Jan 28 12:58:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
2979
2980 * Makefile.in (check): Don't bother running any tests of
2981 cross-linker until the test suite no longer assumes native mode.
2982
2983 Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com)
2984
2985 * ldlang.c (print_one_symbol, print_input_section): Print
2986 global symbols in symbol table again.
2987
2988 Thu Jan 27 12:35:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
2989
2990 * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
2991 exit successfully instead of complaining if no input files are
2992 given.
2993
2994 Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
2995
2996 * Makefile.in: Format variable definitions consistently.
2997 (LD_PROG): Remove unnecessary variables from link command,
2998 change variable LOADLIBES to EXTRALIBS.
2999
3000 * ldmain.c (main): Compute and display total execution time.
3001 * ld.texinfo (-stats): Document the option.
3002
3003 Mon Jan 24 12:56:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3004
3005 * ldmain.c (reloc_overflow): Added name, reloc_name and addend
3006 arguments.
3007
3008 * ldlang.c (lookup_name): Set BFD GP size to -G argument value
3009 after opening BFD.
3010
3011 * ldlang.c (relaxing): Removed global variable.
3012 (lang_size_sections): If the canonical symbols have not already
3013 been read in, read them in before relaxing.
3014 * ldlang.h (relaxing): Removed declaration.
3015
3016 Fri Jan 21 00:44:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3017
3018 * ldlang.c (new_afile): Initialize loaded field to false.
3019 (lookup_name): If file was already loaded, don't call the
3020 add_symbols entry point again.
3021
3022 Wed Jan 19 13:57:00 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3023
3024 * ld.texinfo: Clarify what -T option does.
3025
3026 Tue Jan 18 16:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
3027
3028 * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
3029 for a.out.
3030
3031 Tue Jan 11 13:22:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3032
3033 * ldmain.c (add_archive_element): If trace_files or
3034 trace_file_tries, print file name.
3035 * ldlang.c (lookup_name): Likewise.
3036 (ldlang_add_file): Don't put files on input_bfds list in reverse
3037 order.
3038
3039 * scripttempl/elf.sc: Correct typo.
3040
3041 Mon Jan 10 19:49:05 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3042
3043 * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
3044 their arguments optional, for compatibility with the old GNU ld.
3045
3046 Fri Jan 7 20:00:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3047
3048 * scripttempl/elf.c: Define __bss_start before the .sbss section.
3049
3050 Thu Jan 6 00:13:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3051
3052 * ldmain.c (add_to_set): Add bitsize argument.
3053 (constructor_callback): New function.
3054 (link_callbacks): Add constructor_callback.
3055 * ldctor.c (struct set_info): Add bitsize field.
3056 (ldctor_add_set_entry): Add bitsize argument.
3057 (ldctor_build_sets): Base the size of the elements of the set on
3058 the bitsize, rather than always using LONG.
3059 * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
3060
3061 * ld.h (QUAD_SIZE): Define.
3062 * ldgram.y (QUAD): New token.
3063 (length): Handle it.
3064 * ldlex.l: Return QUAD.
3065 * lexsup.c (keywords): Add QUAD.
3066 * ldwrite.c (build_link_order): Handle QUAD.
3067 * ldlang.c (print_data_statement): Handle QUAD.
3068 (lang_size_sections): Likewise.
3069 (lang_do_assignments): Likewise.
3070 * ldexp.c (exp_print_token): Add QUAD to table.
3071 * ld.texinfo: Describe QUAD.
3072
3073 * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
3074 since the Alpha doesn't use them.
3075
3076 Wed Jan 5 17:42:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3077
3078 * ldemul.h (ld_emulation_xfer_struct): Comment the members.
3079
3080 Sat Jan 1 13:39:31 1994 Rob Savoye (rob@darkstar.cygnus.com)
3081
3082 * Makefile.in, configure.in: Add support for VSTa micro-kernel.
3083 * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
3084
3085 Sat Jan 1 10:53:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3086
3087 * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
3088 needed for i386mach. (Should be a no-op on other systems.)
3089
3090 * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
3091 (PAGE_SIZE): Don't define; not used.
3092
3093 Fri Dec 31 16:12:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3094
3095 * ldgram.y (yyerror): Make argument const char *, and actually
3096 print it out rather than assuming it is a syntax error.
3097 * ldmisc.h: Change declaration of yyerror.
3098 * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
3099
3100 Fri Dec 31 11:37:28 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3101
3102 * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
3103 exec header offset, since the exec header isn't loaded.
3104 (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
3105
3106 Thu Dec 30 13:01:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3107
3108 A major rewrite to move the bulk of the linker into BFD so that
3109 more efficient backend code can be written for specific object
3110 files.
3111 * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
3112 ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
3113 * ldctor.c, ldctor.h: Complete rewrite.
3114 * ldwrite.c, ldwrite.h: Complete rewrite.
3115 * ld.h (strip_symbols_type, strip_symbols): Removed. Use
3116 link_info.strip instead. Changed all uses.
3117 (discard_locals_type, discard_locals): Removed. Use
3118 link_info.discard instead. Changed all uses.
3119 (ld_config_type): Removed relocateable_output field; use
3120 link_info.relocateable instead; changed all uses. Added stats
3121 field.
3122 (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
3123 set_loader_symbol): Removed.
3124 * ldexp.h (node_class): Added etree_rel.
3125 (etree_type): Added rel field.
3126 * ldexp.c (exp_print_token): Bracketed table initialization.
3127 (exp_relop): New function.
3128 (fold_name): Use linker hash table rather than ldsym functions.
3129 (exp_fold_tree): Likewise. Also, handle etree_rel case.
3130 (exp_print_tree): Handle etree_rel.
3131 * ldgram.y (strip_symbols, discard_locals): Removed.
3132 (OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them.
3133 (REL): New token. Does not appear in grammar, but needed for
3134 expression code.
3135 (file): Don't call lang_final; it's called by main anyhow.
3136 * ldlex.l: Accept -stats and -no-keep-memory options.
3137 * ldlang.h (fill_type): Make unsigned int, not unsigned short.
3138 * ldlang.c: Consistently use fill_type for fill argument.
3139 (lang_init_script_file, script_file): Removed.
3140 (create_object_symbols): Removed. Use
3141 link_info.create_object_symbols_section instead. Changed all
3142 uses.
3143 (lang_add_keepsyms_file): Removed.
3144 (lookup_name): Call bfd_link_add_symbols instead of
3145 ldmain_open_file_read_symbol.
3146 (wild): Don't iterate over script_file.
3147 (open_output): Create link hash table.
3148 (lang_place_undefineds): Rewrote.
3149 (lang_size_sections): Handle relaxing (doesn't work yet).
3150 (lang_relocate_globals): Removed.
3151 (lang_finish): Use link hash table rather than ldsym functions.
3152 (lang_common): Rewrote.
3153 (lang_one_common): New function.
3154 (ldlang_add_file): Add file to link_info.input_bfds list. Set
3155 usrdata.
3156 (create_symbol): Removed.
3157 (lang_process): Don't call lang_init_script_file. Call
3158 ldctor_build_sets rather than find_constructors. Don't call
3159 lang_relocate_globals.
3160 (lang_abs_symbol_at_beginning_of): Rewrote.
3161 (lang_abs_symbol_at_end_of): Rewrote.
3162 * ldmain.c (had_y): Removed.
3163 (lprefix, lprefix_len): Removed; use link_info fields instead.
3164 Changed all uses.
3165 (multiple_def_count, commons_pending, undefined_global_sym_count,
3166 total_symbols_seen, total_files_seen): Removed.
3167 (link_callbacks, link_info): New variables.
3168 (main): Initialize link_info. Don't call init_bfd_error_vector or
3169 ldsym_init. Don't set now unused variables. Handle -stats.
3170 (get_emulation): Removed obsolete and nonfunctional GNU960 code.
3171 (add_ysym): Rewrote.
3172 (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
3173 search_library, gnu960_check_format, decode_library_subfile,
3174 linear_library, symdef_library, clear_syms, subfile_wanted_p):
3175 Removed.
3176 (add_keepsyms_file, add_archive_element, multiple_definition,
3177 multiple_common, add_to_set, warning_callback, undefined_symbol,
3178 reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
3179 New functions.
3180 * ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't
3181 require symbols for %C; look them up instead.
3182 * emultempl/hppaosf.em: Pass link_info to
3183 hppa_look_for_stubs_in_section.
3184 * Makefile.in: Rebuilt dependencies.
3185 (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
3186 relax.c.
3187 (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
3188 relax.h.
3189 (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
3190 ldlang.h and ldctor.h.
3191
3192 * Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove
3193 declarations of free and malloc from flex output. Change malloc
3194 to ldmalloc in flex output.
3195
3196 Thu Dec 16 21:19:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3197
3198 * ldmain.c (lprefix): Change default from a char to a string
3199 with only one character.
3200 (lprefix_len): Set default to one.
3201
3202 * ldmain.h (lprefix_len): Declare.
3203
3204 * ldsym.c (write_file_locals): Use strncmp rather than a character
3205 comparison for lprefix.
3206
3207 * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
3208 correctly.
3209
3210 * emultmpl/hppaosf.em: Include ldexp.h.
3211 (before_parse): Set lprefix and lprefix_len correctly.
3212
3213 Tue Dec 14 17:19:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3214
3215 * ldlex.h: Don't declare yywrap if it is a macro.
3216 * ldlex.l: Include sysdep.h.
3217 * ldlang.c (lang_for_each_statement_worker,
3218 lang_for_each_statement): Forgot to use PARAMS.
3219
3220 Mon Dec 13 14:30:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3221
3222 * Makefile.in: Added .PHONY targets where appropriate. Added some
3223 comments. Also:
3224 (gcclibdir, version): Removed unused variables.
3225 (DEP): New variable, set to mkdep.
3226 (ALL_CFLAGS): New variable. Used in .c.o target.
3227 (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
3228 variables.
3229 (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
3230 GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
3231 mostly obsolete variables. Adjusted remaining uses.
3232 (DEF_EMUL): Removed variable.
3233 (ldmain.o): Handle undefined EMUL error correctly.
3234 (ldemul-list.h): Depend on config.status rather than Makefile.
3235 Create via temporary file.
3236 (ver960.c, roll, make): Removed obsolete targets.
3237 (.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild
3238 dependencies.
3239 * dep-in.sed: New file, used when rebuilding dependencies.
3240
3241 Sat Dec 11 14:43:44 1993 Ian Lance Taylor (ian@deneb.cygnus.com)
3242
3243 Made many changes to eliminate gcc warnings. Made various
3244 cosmetic changes, declared various things in header files, removed
3245 various extern declarations from .c files. No substantive
3246 changes.
3247
3248 * ldlang.c (lang_process): Ifdef out final call to
3249 lang_size_sections again (reverting change of Nove 2), since it
3250 breaks the Sun4 linker.
3251
3252 Thu Dec 2 16:31:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3253
3254 * configure.in (alpha-*-netware*): New target; use alpha.
3255
3256 Wed Dec 1 14:04:20 1993 Ken Raeburn (raeburn@cygnus.com)
3257
3258 * configure.in: Group targets by CPU. Merge some m68k target
3259 entries with different CPU specs that use the same ld_target
3260 values.
3261
3262 * configure.in: Add sparc*-*-coff.
3263 * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
3264 * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
3265 (em_coff_sparc.c): Add dependencies and build rules.
3266
3267 * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
3268
3269 Wed Dec 1 12:19:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3270
3271 * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
3272 New tokens.
3273 (command_line_option): Accept and ignore them (for now).
3274 * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
3275 where n is a number.
3276
3277 Mon Nov 22 14:14:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3278
3279 * ldmain.c (subfile_wanted_p): If merging a common symbol which is
3280 not in bfd_com_section, create the section in the BFD so that it
3281 can be placed in the right output section.
3282
3283 Fri Nov 19 14:12:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3284
3285 * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
3286 * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
3287 (OTHER_READONLY_SECTIONS): Define for .reginfo.
3288 (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
3289 * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
3290 Move OTHER_READONLY_SECTIONS after all the other readonly
3291 sections. Don't use DATA_ADDR twice.
3292
3293 * ldmain.c (enter_file_symbols): Removed duplicate tests of p. If
3294 p is in a common section, make sure the BFD has a section of that
3295 name.
3296
3297 * ldlang.c (lang_common): Add newline to error message.
3298
3299 Thu Nov 11 15:54:41 1993 Stan Shebs (shebs@rtl.cygnus.com)
3300
3301 * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
3302 Lynx-specific script instead of m68kcoff.
3303 (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
3304 (ENTRY): Define as __main.
3305 (TEXT_START_ADDR): Define as 0.
3306 (PAGE_SIZE): Define as 0x1000.
3307 * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
3308 * scripttempl/m68klynx.sc: New file.
3309
3310 Mon Nov 8 12:00:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3311
3312 * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
3313 arguments rather than treating them as emulation names.
3314
3315 Fri Nov 5 09:02:52 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
3316
3317 * configure.in: Support x86 unixware and netware plus generic netware.
3318
3319 Fri Nov 5 21:47:55 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3320
3321 * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
3322 Correct values (?).
3323
3324 Wed Nov 3 15:10:15 1993 Ken Raeburn (raeburn@rover.cygnus.com)
3325
3326 * Makefile.in (distclean): Don't delete dvi or info files.
3327 (ld.info): Update dependency list.
3328 (ld.dvi): Ditto. Extend TEXINPUTS to get bfdsumm.texi.
3329
3330 Wed Nov 3 12:07:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3331
3332 * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
3333 Set output_filename instead of creating a new node.
3334 (open_output): Don't set output_filename.
3335 (lang_final): Create the new node here.
3336 * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
3337
3338 Tue Nov 2 15:45:51 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
3339
3340 From Pete Hoogenboom (hoogen@cs.utah.edu):
3341
3342 * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
3343 edata, _edata, end): Add definitions of these symbols.
3344 (__end): Remove definition of this symbol.
3345 (__data_start): Move definition of this symbol.
3346
3347 * emultempl/hppaosf.em: Various fixes and support for linker stub
3348 generation.
3349 (hppaosf_finish, hppaosf_search_for_padding_statements,
3350 hppaosf_create_output_section_statements): New functions in
3351 support of linker stub generation.
3352 (ld_hppaosf_emulation): Redefine to include new
3353 emulation-specific routines.
3354
3355 * ldlang.c (lang_process): Re-enable last call lang_size_sections.
3356 Pass abs_output_section rather than NULL to avoid invalidating
3357 absolute symbols.
3358
3359 Thu Oct 28 21:16:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3360
3361 * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
3362 (em_i386mach.c): New rule.
3363 * configure.in (i[34]86-*-mach*): New case.
3364 * config/i386-mach.mt: New file.
3365 * emulparams/i386mach.sh: New file.
3366
3367 Fri Oct 29 14:55:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3368
3369 * ld.h (flag_is_*): Removed macros.
3370 * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
3371 Consistently check the BFD symbol flags directly, rather than
3372 using file_is_* macros.
3373
3374 Thu Oct 28 19:08:42 1993 Stan Shebs (shebs@rtl.cygnus.com)
3375
3376 * configure.in (sparc*-*-lynxos*): New target.
3377 * Makefile.in: Add rule for em_sparclynx.c.
3378 (ALL_EMULATIONS): Add Lynx emulations.
3379 * config/sparc-lynx.mt: New file.
3380 * emulparams/sparclynx.sh: New file.
3381 * scripttempl/sparccoff.sc: New file.
3382
3383 Thu Oct 28 13:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3384
3385 * Makefile.in: Add dependency for $(EMULATION_OFILES).
3386
3387 Mon Oct 25 16:09:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3388
3389 * relax.c (write_relax): Check return value of bfd_seclet_link.
3390
3391 Mon Oct 25 09:31:21 1993 Ken Raeburn (raeburn@cygnus.com)
3392
3393 * ldlang.c (delete_output_file_on_failure): New variable.
3394 (open_output): Set it after bfd open succeeds.
3395 * ldmisc.c (vfinfo): Test it.
3396
3397 Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
3398
3399 * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
3400 symbols.
3401
3402 * ldemul.c: Support was added to allow emulation-specific
3403 processing to occur. This support was added primarily for linker
3404 stub generation in the elf32-hppa gld.
3405 (ldemul_finish, ldemul_create_output_section_statements): New
3406 functions.
3407 * ldemul.h: Support was added to allow emulation-specific
3408 processing to occur. (As described above.) Added finish and
3409 create_output_section_statements fields to
3410 ld_emulation_xfer_struct structure.
3411 * ldlang.c: Add calls to emulation-specific routines.
3412 (lang_process): Add call to
3413 ldemul_create_output_section_statements function.
3414 (lang_process): Add call to a emulation-specific routine (and
3415 some processing after the call).
3416
3417 Fri Oct 22 20:54:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
3418
3419 * configure.in: mips*- instead of mips-, mips*el changes
3420
3421 Tue Oct 19 15:46:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3422
3423 * configure.in (alpha-*-osf*): New target; use alpha.mt.
3424 * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
3425 (em_alpha.c): New target; use alpha.sh and alpha.sc.
3426 * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
3427 * config/alpha.mt: New file.
3428 * emulparams/alpha.sh: New file.
3429 * scripttempl/alpha.sc: New file.
3430
3431 Fri Oct 15 02:20:04 1993 Doug Evans (dje@canuck.cygnus.com)
3432
3433 * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
3434 types of different sizes (eg: 64 and 32 bits), so coerce.
3435 * ld.h (ALIGN_N): Add warning about usage.
3436
3437 Wed Oct 13 16:02:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3438
3439 * ldmain.c (enter_global_ref): Just ignore any weak symbol for
3440 which we already have a definition, rather than checking in
3441 several different places whether the symbol is weak.
3442
3443 Tue Oct 12 17:30:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3444
3445 * configure.in (mips-*-elf*): New target; use mipsb-elf32.
3446 * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
3447 OTHER_READWRITE_SECTIONS if relocating. Shell variables are not
3448 expanded within them.
3449 * config/mipsb-elf32.mt: New file.
3450 * emulparams/elf32mipb.sh: New file.
3451 * Makefile.in (em_elf32mipb.c): New target.
3452
3453 Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com)
3454
3455 * ldgram.y: In input_list, change lang_input_file_is_file_enum to
3456 lang_input_file_is_search_file_enum so objects brought in using
3457 INPUT() do a path lookup.
3458
3459 Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com)
3460
3461 * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
3462 instead of {i386,m68k}-coff.
3463 * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
3464 * config/i386-lynx.mt: New file.
3465 * config/m68k-lynx.mt: New file.
3466 * emulparams/i386lynx.sh: New file.
3467 * emulparams/m68klynx.sh: New file.
3468
3469 * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
3470 but defaulting to _start.
3471
3472 * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
3473 ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
3474 LynxOS libc.
3475
3476 Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com)
3477
3478 * config/solaris2.mh: New file. Define HOSTING_CRT0 and
3479 HOSTING_LIBS for testing.
3480
3481 Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3482
3483 Finish up support for i386-sysv4 (without shared libraries):
3484 * ld.h (flag_is_weak): Define.
3485 * ldlang.c (print_symbol): Mention whether symbol is weak.
3486 (print_input_section): Print weak symbols as globals.
3487 * ldmain.c (refize): Do not zero out BSF_WEAK flag.
3488 (enter_global_ref): Do not warn if a weak symbol redefines a
3489 global symbol. Do not let a weak symbol redefine a common symbol.
3490 (enter_file_symbols): Treat weak symbols as global symbols.
3491 (subfile_wanted_p): Do not pull in an object file from a archive
3492 just to resolve an undefined weak symbol.
3493 * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
3494 error; the error might be that malloc has run out of space.
3495 * ldsym.c (write_file_locals): Treat weak symbols as global.
3496 * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
3497 use i386-elf.
3498 * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
3499 * config/i386-elf.mt: New file; set EMUL to elf_i386.
3500 * emulparams/elf_i386.sh: New file.
3501 * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
3502 * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
3503 (ALL_EMULATIONS): Add em_elf_i386.o.
3504 (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
3505 (em_elf_i386.c): New target, like other em_*.c targets.
3506 ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
3507 * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If
3508 nonempty, and configured for native, add it to LIB_PATH.
3509
3510 Fri Sep 17 13:07:39 1993 Stan Shebs (shebs@rtl.cygnus.com)
3511
3512 * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
3513 Added statements to pass stab and stabstr sections through and
3514 mark them as NOLOAD, which makes GDB happier.
3515
3516 Wed Sep 15 16:02:29 1993 Stan Shebs (shebs@rtl.cygnus.com)
3517
3518 * configure.in: Accept m68k-lynx-lynxos config.
3519
3520 * Makefile.in: Use $(SHELL) to run genscripts.sh.
3521
3522 Sun Sep 12 16:04:40 1993 Doug Evans (dje@cygnus.com)
3523
3524 * config/coff-h8300.mt: Add EMUL=h8300h.
3525
3526 * ldmain.c (main): Call set_scripts_dir after argv has been processed.
3527
3528 Fri Sep 10 09:36:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
3529
3530 * Makefile.in: Changed CXX back to g++.
3531
3532 Fri Sep 10 09:34:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
3533
3534 * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
3535
3536 Fri Sep 10 07:26:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3537
3538 * Makefile.in (TAGS): Use shell wildcards.
3539
3540 Tue Sep 7 18:04:54 1993 Jeffrey Osier (jeffrey@cygnus.com)
3541
3542 * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target
3543
3544 Fri Sep 3 16:46:41 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
3545
3546 * ld.texinfo: re-enable included config file; conditionalize doc
3547 for -oformat to interact properly with SingleFormat doc config
3548 var; rename @up/@down to @raisesections/@lowersections.
3549
3550 Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com)
3551
3552 * configure.in: recognize m88110.
3553
3554 Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3555
3556 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
3557 * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
3558 ELF emulation is "elf32-hppa" not "elf-big".
3559 (hppaosf_before_parse): Remove unneeded processing of environment
3560 variables.
3561 * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
3562 .text segment of output file.
3563 * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
3564
3565 Tue Aug 24 16:17:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
3566
3567 * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
3568 longer in bfd.h.
3569
3570 * ldlang.c, ld.h: updated copyright.
3571
3572 Tue Aug 17 15:22:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3573
3574 * ldlang.c (open_output, lang_check): Check return value of
3575 bfd_set_arch_mach.
3576
3577 Tue Aug 17 07:02:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
3578
3579 * scripttempl/h8500.sc: Start all sections in a different segment.
3580 * scripttempl/z8ksim.sc: Handle constructors
3581
3582 Thu Aug 12 16:05:37 1993 Jeffrey Wheat (cassidy@cygnus.com)
3583
3584 * Makefile.in: revert earlier changes back to execute runtest
3585 with make check. cdtest and bootstrap now function as they
3586 did within the Makefile.
3587
3588 Thu Aug 12 10:20:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3589
3590 * Makefile.in: Update dependencies.
3591
3592 * configure.in: Set EMULATION_OFILES in Makefile based on
3593 --with-targets option.
3594
3595 Thu Aug 12 08:52:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
3596
3597 * Makefile.in: check targets reimplemented to old way.
3598
3599 Wed Aug 11 08:26:11 1993 Ian Lance Taylor (ian@cygnus.com)
3600
3601 * config/i386v.mh, config/irix4.mh: Use gcc
3602 -print-libgcc-file-name rather than $(libdir)/libgcc.a.
3603 * config/i386sco.mh: New file; copy of i386v.mh to correspond to
3604 bfd/configure.host change.
3605
3606 Mon Aug 9 14:25:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3607
3608 * scripttempl/elf.sc: Handle .line and .debug* sections.
3609
3610 * ldlex.l: Use bfd_scan_vma, not strtoul.
3611
3612 Fri Aug 6 08:57:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3613
3614 * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
3615 Remove inital caps in some error messages, change "can't" to
3616 "cannot", add missing colons.
3617 * ldmisc.c (vfinfo): Print "%%" as a single %.
3618 For '%' followed by unrecognized character, print them both
3619 verbatim instead of expecting a char * arg.
3620 For '%C', don't put the function name in parens.
3621
3622 * ldexp.c (invalid): Pass "%%", not "% ".
3623
3624 Fri Aug 6 14:31:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
3625
3626 * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
3627 (BSS_VAR): Removed; now always define _fbss.
3628 * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
3629 Removed.
3630
3631 Thu Aug 5 15:55:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
3632
3633 * configure.in: z8k-coff is the same as z8k-sim
3634
3635 Wed Aug 4 21:00:18 1993 Jeffrey Wheat (cassidy@cygnus.com)
3636
3637 * testsuite/lib/ld.exp: new file
3638 * testsuite/config/unix-ld.exp: new file
3639 * testsuite/ld.bootstrap/bootstrap.exp: new file
3640 * Makefile.in: add dejagnu support for make check
3641
3642 Wed Aug 4 17:52:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3643
3644 * ldlex.l (comment): Add missing newline in message.
3645 * ldindr.c (add_indirect): Ditto.
3646 * ldexp.c (exp_fold_tree): Ditto.
3647
3648 Tue Aug 3 10:57:41 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3649
3650 * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
3651 into externs.
3652
3653 * ldmisc.c (multiple_warn): New function.
3654 * ldmisc.h: Declare it.
3655 * ldmain.c (enter_global_ref): Call it.
3656 * ld.h (ld_config_type): Add warn_common.
3657 * ldlex.l, ldgram.y: Set it with -warn-common option.
3658 * ldver.c (help): Document it.
3659
3660 Mon Aug 2 12:04:36 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3661
3662 * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
3663 target-specific sections, and for changing data section vma.
3664
3665 Mon Jul 26 14:00:02 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3666
3667 * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
3668 terminals, for Solaris.
3669 (dirlist_ptr): New static variable.
3670 (command_line_option): Accept new options.
3671
3672 * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
3673 "-YP,...".
3674
3675 * config/sun4sol2.mt: Pass emulation name without ".sh".
3676
3677 * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
3678 * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
3679
3680 Fri Jul 23 13:51:09 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3681
3682 * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
3683 .dtors, .data1, .rodata1 sections, instead of combining them into
3684 other sections. For `-r', set all section start addresses to
3685 zero.
3686
3687 * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
3688 NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
3689 (MAXPAGESIZE): Renamed from PAGE_SIZE.
3690
3691 Wed Jul 21 14:28:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3692
3693 * genscripts.sh: If this is the default emulation, set
3694 COMPILE_IN.
3695 * emultempl/*.em: Use it to determine whether to compile in the
3696 scripts.
3697
3698 * Makefile.in (GENSCRIPTS): Pass the default emulation name to
3699 genscripts.sh. Pass the current emulation name without ".sh" on
3700 the end.
3701 * genscripts.sh: Take an default emulation arg.
3702 Use the current emulation name as EMULATION_NAME.
3703 Make default lib path for cross-compiling ':', not null.
3704 * emulparams/*.sh: Don't set EMULATION_NAME.
3705 * ldemul.c (ldemul_get_script): Take isfile arg.
3706 Pass it to emulation's get_script function.
3707 * ldemul.h: Adjust get_script prototypes.
3708 * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
3709 No longer static.
3710 * ldfile.h: Declare it.
3711 * ldgram.y: Accept a script on the command line again,
3712 for parsing compiled-in scripts.
3713 * ldmain.c (main): If ld script is a file, parse it as a -T
3714 option, otherwise parse it directly.
3715 * emultempl/*.em (*get_script): Return the scripts themselves if
3716 this is the default emulation; otherwise return their file names.
3717 * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
3718 generic.em.
3719 * emulparams/m88kbcs.sh: Use it.
3720
3721 * ld.h (ld_config_type::unix_relocate): Remove unused element.
3722
3723 Tue Jul 20 12:01:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3724
3725 * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
3726 there's no change log entry yet, tsk tsk) from the list of
3727 emulations compiled in until Mark gets around to checking in
3728 emulparams/i386linux.sh.
3729 (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
3730 changed, this file gets updated.
3731
3732 Fri Jul 16 14:14:32 1993 Ian Lance Taylor (ian@cygnus.com)
3733
3734 * ldgram.y (OPTION_Lfile): New token.
3735 (command_line_option): Accept OPTION_L NAME (whitespace after -L).
3736 * ldlex.l (<COMMAND>): Accept -L without FILENAME.
3737
3738 Fri Jul 16 13:44:26 1993 Doug Evans (dje@canuck.cygnus.com)
3739
3740 * configure.in: h8/300h support needs own .mt file.
3741 config/coff-h8300h.mt: New file.
3742
3743 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3744
3745 * ldmain.c: Don't include sys/stat.h; it already got included
3746 somewhere along the way.
3747
3748 Thu Jul 15 14:43:34 1993 Doug Evans (dje@canuck.cygnus.com)
3749
3750 * Makefile.in: Add h8300h support.
3751 emulparams/h8300h.sh: New file.
3752 scripttempl/h8300h.sc: New file.
3753
3754 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3755
3756 * ldfile.c (ldfile_open_file): In error message, use the name the
3757 user gave (e.g., "-lc"), rather than the base file name.
3758
3759 * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
3760
3761 * ldmain.[ch]: Remove initial Q_ from function names.
3762 * ldexp.c, ldindr.c, ldlang.c: Change callers.
3763
3764 * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
3765
3766 * ldlang.c (lang_process): Move loading of default script from
3767 here to main. Add a "/" to start of script name to prevent
3768 finding it in "." first.
3769
3770 * ldmain.c (set_scripts_dir): Don't look in "." first.
3771
3772 * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
3773 option_longmap.
3774
3775 Thu Jul 15 10:55:59 1993 Ian Lance Taylor (ian@cygnus.com)
3776
3777 * Makefile.in (em_m88kbcs.c): Correct dependency.
3778 * scripttempl/m88kbcs.sc: It's ARCH, not arch. Removed TARGET
3779 statement. Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
3780 * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
3781
3782 Wed Jul 14 21:42:53 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3783
3784 * ldfile.c (ldlang_open_file, ldfile_open_command_file),
3785 main.c (main): Print the errno string in the error message.
3786
3787 Tue Jul 13 20:00:30 1993 Doug Evans (dje@canuck.cygnus.com)
3788
3789 * configure.in: Accept h8300h for target cpu.
3790
3791 * ldmisc.c (vfinfo): Have demangle remove leading underscore if
3792 present (demangle is smart enough to know whether to do it or not).
3793
3794 Mon Jul 12 11:45:48 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3795
3796 * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
3797 ldscripts, as well as <ld bin dir> and SCRIPTDIR.
3798
3799 * ldlang.c (lang_process): Use sizeof instead of magic constant.
3800
3801 * ldmain.c (get_emulation, check_for_scripts_dir,
3802 set_scripts_dir): New functions.
3803 (main): Call them.
3804
3805 Mon Jul 12 10:57:03 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
3806
3807 * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
3808 Create symbol "end" instead of "__end". Comment out some parts
3809 that may not be needed (yet) for elf.
3810
3811 * configure.in: Accept sparc-elf and sparc-solaris2 configs.
3812
3813 Thu Jul 8 15:33:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3814
3815 * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
3816
3817 * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
3818 when no prototype is being supplied.
3819 (ldmalloc, ldrealloc): Size argument is now size_t.
3820
3821 * ldmisc.c (finfo): New function, accepts FILE* argument.
3822 (vfinfo, case 'v'): New format character; displays bfd_vma in hex
3823 without leading zeros.
3824 (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
3825 bfd_vma value, instead of fprintf(%x) which won't hold a long long
3826 value.
3827 (concat, buystring): String lengths are size_t.
3828 (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
3829
3830 * ldlang.c (new_statement): Size argument is now size_t. Added
3831 forward declaration with prototype.
3832
3833 Thu Jul 8 10:53:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3834
3835 * ldgram.y (OPTION_v): Don't turn on verbose output.
3836
3837 Wed Jul 7 17:10:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3838
3839 * ldlex.l: Get rid of local typedef for bfd_vma! Get it from
3840 bfd.h instead.
3841
3842 Wed Jul 7 11:33:12 1993 Ian Lance Taylor (ian@cygnus.com)
3843
3844 * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
3845 collect2 doesn't look for gld any more anyhow.
3846
3847 Mon Jul 5 14:29:48 1993 Ian Lance Taylor (ian@cygnus.com)
3848
3849 * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
3850 now have a non NULL srefs_chain.
3851
3852 * config/hp300hpux.mt: Use emulation hp3hpux rather than
3853 hp300hpux, since the latter does not exist.
3854
3855 Fri Jul 2 18:06:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3856
3857 * genscripts.sh: Put the scripts in the ldscripts directory, not
3858 emulations.
3859 * configure.in (ldscripts): Make, instead of emulations.
3860 * Makefile.in (scriptdir): Take off the "ld" part.
3861 (install, clean, distclean): Use ldscripts, not emulations.
3862 In tests, don't pass -Lemulations.
3863 Don't pass tooldir/lib to genscripts.sh.
3864 * genscripts.sh: Don't take tooldir/lib arg.
3865 * ldlang.c (lang_process): Add "ldscripts/" to the name of the
3866 default script file.
3867
3868 Fri Jul 2 17:13:35 1993 Doug Evans (dje@canuck.cygnus.com)
3869
3870 * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
3871
3872 Thu Jul 1 16:38:45 1993 Doug Evans (dje@canuck.cygnus.com)
3873
3874 * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
3875
3876 Wed Jun 30 15:45:55 1993 K. Richard Pixley (rich@sendai.cygnus.com)
3877
3878 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
3879 run in parallel without colliding on yacc's static file names.
3880 Without the stub rule, make will try to start two yacc's
3881 concurrently which fails because of yacc's static file names.
3882
3883 Tue Jun 29 12:20:36 1993 Ian Lance Taylor (ian@cygnus.com)
3884
3885 * ldmain.c (subfile_wanted_p): Don't dump core if there are no
3886 symbols.
3887
3888 Mon Jun 28 12:22:11 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3889
3890 * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
3891 different from libdir.
3892
3893 * Makefile.in (scriptdir): Base on tooldir, not datadir.
3894
3895 Sat Jun 26 12:03:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3896
3897 * ldver.c (help): New function.
3898 * ldver.h: Declare it.
3899 * ldlex.l, ldgram.y: Recognize new options --help and --version.
3900
3901 Mon Jun 21 20:39:48 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
3902
3903 * Makefile.in (INCLUDES): Don't need ../include any more.
3904
3905 Mon Jun 21 16:38:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3906
3907 * ldlex.l, ldgram.y: Support new -oformat option.
3908 Remove attempt at supporting script fragments on the command line.
3909 * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
3910 * mri.c (mri_format), ldgram.y: Change callers.
3911 * ldlang.h: Change prototype.
3912
3913 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
3914
3915 * Makefile.in: canonicalize install.sh; for use within
3916 this directory (and subdirs)
3917
3918 Thu Jun 17 14:33:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3919
3920 * ldgram.y: Tweak grammar to make reporting of invalid options work.
3921
3922 * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
3923 and .cc.o rule.
3924
3925 Wed Jun 16 11:45:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3926
3927 * ldfile.c (ldfile_open_command): Don't try .ld extension.
3928 It wasn't documented (or likely used) and wastes time.
3929 (try_open): If EXTEN is empty, don't try it.
3930
3931 * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
3932 ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
3933 ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
3934 with normal function declarations.
3935
3936 * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh.
3937 Move *.sc-sh to scripttempl/*.sc.
3938 * {emultempl,emulparams,scripttempl}/README: New files.
3939 * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
3940 removed, replaced with generic.em.
3941 * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
3942 h8[35]00hms.s[ch]. Change their contents to omit the "hms".
3943
3944 * *.em (*_get_script): Return script name instead of script contents.
3945 * ldlang.c (lang_process): Change caller.
3946
3947 * ldlex.l, ldgram.y: Recognize -m option.
3948 Check for input files after *all* options in grammar.
3949 * ldmain.c (main): Check for -m options. Add default directory
3950 for -m.
3951
3952 * mkscript.c: File removed.
3953 * genscripts.sh: Take two more parameters, tooldirlib and libdir,
3954 to add to the default LIB_PATH.
3955 Look for input files in the new subdirectories.
3956 Create the scripts in emulations subdirectory and don't filter
3957 them through mkscript.
3958 * configure.in: Make the emulations subdirectory.
3959
3960 * Makefile.in: Account for all of the above changes.
3961 Remove unused .SUFFIXES. Get libgcc.a path with gcc
3962 -print-libgcc-file-name instead of $(libdir)/libgcc.a.
3963 Put CFLAGS last in the compilation rules.
3964 Add -I../bfd to INCLUDES so sysdep.h is found.
3965
3966 Tue Jun 15 23:04:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
3967
3968 * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
3969
3970 * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO
3971 dependent on RELOCATING, not RELOCATION.
3972 * hp3hpux.sh (SHLIB_PATH): Define it.
3973
3974 Mon Jun 14 19:06:15 1993 David J. Mackenzie (djm@thepub.cygnus.com)
3975
3976 * ldfile.c (try_open): If opening without the extension fails,
3977 try with the extension even if -v or -V was given.
3978 had_script is imported (from ldgram.y), not exported.
3979
3980 Mon Jun 14 16:26:10 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
3981
3982 * Makefile.in: remove parentdir support, use INSTALL_XFORM
3983
3984 Thu Jun 10 14:00:06 1993 Ian Lance Taylor (ian@cygnus.com)
3985
3986 * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
3987 * ldgram.y (statement_list_opt): New nonterminal, either empty or
3988 statement_list.
3989 (section): Use statement_list_opt, not statement_list.
3990 * m68kcoff.sc-sh: Gather constructors and destructors and define
3991 __CTOR_LIST__ and __DTOR_LIST__ appropriately.
3992 * sa29200.sc-sh: Gather constructors and destructors and define
3993 ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
3994
3995 Mon Jun 7 12:53:28 1993 Per Bothner (bothner@rtl.cygnus.com)
3996
3997 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
3998 * configure.in: No longer need to configure to get sysdep.h.
3999
4000 Fri Jun 4 16:18:24 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4001
4002 * Makefile.in: remove install:all and install-info:info
4003 dependencies (these cause some spurious rebuilds at 'make install'
4004 time)
4005
4006 Fri Jun 4 08:50:14 1993 Ian Lance Taylor (ian@cygnus.com)
4007
4008 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
4009 (mips-idt-ecoff*): Added trailing '*'.
4010 * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
4011 * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
4012 * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
4013
4014 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
4015 incorrect definitions.
4016
4017 Tue Jun 1 14:56:10 1993 Per Bothner (bothner@rtl.cygnus.com)
4018
4019 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
4020 symbols, unless stripping.
4021
4022 Tue May 25 15:34:25 1993 Ian Lance Taylor (ian@cygnus.com)
4023
4024 * Makefile.in: configure looks for ####, so remove lines with many
4025 '#' characters.
4026 * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
4027 and HOSTING_LIBS correctly so that ``make check'' will work.
4028
4029 Thu May 20 13:56:16 1993 Per Bothner (bothner@deneb.cygnus.com)
4030
4031 * mips.sc-sh: Define _etext, _edata, and _end, in addition
4032 to etext, edata, and end. Needed for IRIX 4.0.5F.
4033 Patch from mwp@iconix.oz.au (Michael Paddon).
4034
4035 * Version 2.2.1 released.
4036
4037 Thu May 20 11:42:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4038
4039 * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
4040 * mipsbsd.sh (EMULATION_NAME): Use new file name.
4041
4042 Tue May 18 17:10:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4043
4044 * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
4045 properly right now.
4046
4047 * Version 2.2 released.
4048
4049 Mon May 17 15:37:28 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
4050
4051 * ldver.c (ldversion): Bump version number to 2.2.
4052
4053 Mon May 17 12:44:31 1993 Per Bothner (bothner@cygnus.com)
4054
4055 * NEWS: New file.
4056
4057 Fri May 14 11:26:24 1993 Ian Lance Taylor (ian@cygnus.com)
4058
4059 * mips.sc-sh: Don't define BSS_VAR unless relocating.
4060
4061 Wed May 12 13:33:29 1993 Ian Lance Taylor (ian@cygnus.com)
4062
4063 * Makefile.in (mkscript.o, mkscript): Build mkscript via
4064 mkscript.o, rather than directly from mkscript.c.
4065
4066 Tue May 4 21:58:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4067
4068 * configure.in: Look for ${target_makefile_frag} relative to
4069 ${srcdir}, not relative to build directory.
4070
4071 * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
4072 * configure.in: Recognize hppa*-hp-osf.
4073 * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
4074 (em_hppaosf.c): Build it.
4075 * config/hppaosf.mh, hppaosf.mt: New files.
4076
4077 * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
4078 some system header files. All uses changed.
4079
4080 * configure.in: Recognize i386-aix configurations as i386-coff
4081 targets.
4082
4083 * configure.in: Recognize m68*-*-hpux.
4084 * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
4085 the value of STACKZERO.
4086 * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
4087 (em_hp3hpux.c): Build it.
4088 * hp3hpux.sh, config/hp300hpux.mt: New files.
4089
4090 Tue May 4 12:37:35 1993 Ian Lance Taylor (ian@cygnus.com)
4091
4092 * mips.sc-sh: Put constructors in the .data section.
4093 * Makefile.in (cdtest): Added dependency on ld.new.
4094
4095 Mon May 3 19:43:39 1993 Per Bothner (bothner@cygnus.com)
4096
4097 * Makefile.in: Change definition of $(tooldir) to match FSF.
4098 * vax.sh, config/vax.mt, configure.in, Makefile.in:
4099 Support VAX Ultrix and BSD.
4100
4101 Mon Apr 26 18:35:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4102
4103 * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
4104
4105 Wed Apr 14 21:01:51 1993 John Gilmore (gnu@cygnus.com)
4106
4107 * ldlang.h (struct memory_region): Change `length' and
4108 `old_length' fields to bfd_size_type. Eliminate use of bfd_offset.
4109 * ldlang.c, mri.c: Corresponding changes, plus lint.
4110
4111 Thu Apr 8 22:08:18 1993 Ian Lance Taylor (ian@cygnus.com)
4112
4113 * configure.in: For all i386 targets, accept i486 as well.
4114
4115 Mon Apr 5 17:33:39 1993 Ian Lance Taylor (ian@cygnus.com)
4116
4117 * ldlang.c (wild_doit): Preserve all flags for a
4118 SEC_SHARED_LIBRARY section.
4119 (size_input_section): Consider any SEC_HAS_CONTENTS section when
4120 computing largest_section.
4121
4122 Fri Apr 2 14:33:52 1993 Ian Lance Taylor (ian@cygnus.com)
4123
4124 * ldlang.c (lang_output_section_statement_lookup): Initialize all
4125 fields of newly created structure.
4126
4127 Wed Mar 31 18:19:15 1993 Ian Lance Taylor (ian@cygnus.com)
4128
4129 * ldmain.c (g_switch_value): New variable.
4130 * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
4131 (command_line_option): Accept -G and set g_switch_value.
4132 * ldlex.l (COMMAND): Accept -G.
4133 * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
4134
4135 Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4136
4137 Support for linking and loading at different places:
4138
4139 * ldlex.l: Add "AT" keyword.
4140 * ldgram.y: Cleanup, and parse AT.
4141 * ldlang.c (print_output_section_statement): Print output address
4142 of section in map. (lang_size_sections): Fill sections' lma with
4143 load address.
4144 * ldlang.h (lang_output_section_statement_type): Add load_base
4145 information.
4146
4147 * ldindr.c (add_indirect): Keep more information in the alias
4148 symbol chain.
4149 * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
4150 attribute from an input section.
4151 * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
4152 default. (Q_enter_file_symbos): Indirect symbols now are known by
4153 their section, not a special symbol flag.
4154 * ldsym.c (write_file_locals): Indirect symbols aren't local.
4155 (write_file_globals): Write the mapping for an indirect symbol.
4156 * relax.c (build_it): When forced to write a NEVER_LOAD section,
4157 fill it with zeros.
4158
4159 Tue Mar 23 13:24:10 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
4160
4161 * ld.texinfo: changes for q1
4162
4163 Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4164
4165 * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
4166
4167 Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4168
4169 * Makefile.in: rename HOST_CC to CC_FOR_BUILD
4170
4171 Thu Mar 4 12:44:33 1993 Ian Lance Taylor (ian@cygnus.com)
4172
4173 * mips.sc-sh: Added variables which may be overridden by a
4174 specific emulation.
4175 * mipsidt.sh: New file; emulation for IDT MIPS board.
4176 * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
4177 (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
4178 * config/mips-idt.mt: New file; sets EMUL to mipsidt.
4179 * configure.in (mips-idt-ecoff): New target; uses mips-idt.
4180
4181 Sat Feb 27 00:00:14 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
4182
4183 * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
4184 ralphc@pyramid.com.
4185 * i386bsd.sh, config/i386bsd.mt: New files.
4186 * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
4187
4188 Thu Feb 25 15:33:10 1993 Per Bothner (bothner@rtl.cygnus.com)
4189
4190 * mri.c: Add extern declaration of strdup.
4191 * ldsym.c (KEEP macro): Add spaces around '=' for the
4192 sake of old (e.g. PCC) compilers.
4193
4194 Wed Feb 24 19:49:31 1993 Per Bothner (bothner@rtl.cygnus.com)
4195
4196 * ldver.c: Bump to version 2.1.
4197
4198 Fri Feb 12 08:09:11 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4199
4200 * ldgram.y: allow section types without address expressions.
4201 * ldlang.c (lang_relocate_globals): avoid possible hang with
4202 undefined but unreferenced symbols.
4203 * relax.c (relax_section): don't complain if the script file isn't
4204 relaxable but -relax is set
4205
4206 Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4207
4208 * configure.in: go32 is the 3rd part of the triple, not the 2nd
4209
4210 Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com)
4211
4212 * mipsbig.sh: New file. Big endian MIPS emulation.
4213 * config/mips-big.mt: New file. Use mipsbig emulation.
4214 * configure.in (mips-sgi-irix*): Use target mips-big.
4215 * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
4216 (em_mipsbig.c): New target. Uses mipsbig.sh.
4217
4218 Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com)
4219
4220 * mips.sc-sh: Put .scommon sections into .sbss section.
4221
4222 * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
4223 rather than always putting them in bfd_com_section.
4224 * ldlang.c (lang_common): If a common symbol is not in
4225 bfd_com_section, put in a section of the same name, rather than
4226 always putting it in section COMMON.
4227
4228 Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
4229
4230 * ldmain.c (subfile_wanted_p): If we already have a common
4231 definition of a symbol, don't necessarily pull in an object file
4232 that provides a non-common definition.
4233
4234 * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
4235 returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS
4236 linker.
4237 * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
4238 (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
4239
4240 Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com)
4241
4242 * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
4243 the link to it.
4244
4245 Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com)
4246
4247 * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
4248 checking for equality to bfd_com_section.
4249
4250 Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com)
4251
4252 * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF
4253 targets, linker script.
4254 * mipslit.sh: New file. Little endian MIPS emulation.
4255 * config/mips-lit.mt: New file. Use mipslit emulation.
4256 * configure.in (mips-dec-ultrix*): Use target mips-lit.
4257 * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
4258 (em_mipslit.c): New target. Uses mipslit.sh.
4259
4260 Thu Jan 14 15:30:27 1993 Ian Lance Taylor (ian@cygnus.com)
4261
4262 * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
4263 $(tooldir)/bin/gld, so that gcc can find it with or without
4264 collect2.
4265
4266 Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4267
4268 * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
4269 write_norel. All linking is now done via write_relax. Call
4270 ldsym_write before calling write_relax.
4271 * relax.c: Added copyright.
4272 (write_relax): Renamed from write_relaxnorel. Added relocateable
4273 argument. seclet_dump renamed to bfd_seclet_link.
4274 * relax.h: Added copyright.
4275
4276 Mon Jan 11 15:41:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4277
4278 * ldmain.c (decode_library_subfile): Patch from
4279 hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
4280
4281 Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4282
4283 * config/vxworks960.mt renamed to config/i960.mt
4284
4285 * configure.in: sparc-aout emulates a sun4, as does
4286 sparc*-vxworks, i960-nindy uses gld960 emulation
4287
4288 Fri Jan 8 14:39:07 1993 Steve Chamberlain (sac@thepub.cygnus.com)
4289
4290 Fix support for NOLOAD, add INCLUDE
4291 * ldfile.c (ldfile_open_command_file): pass file name to
4292 lex_push_file.
4293 * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
4294 * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
4295 attribute.
4296
4297 Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4298
4299 * Makefile.in, config.h: no more default emulation. Make the lack
4300 of emulation a compile time error
4301
4302 Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4303
4304 * configure.in: recognise all sparclite variants, not just 'sparclite'
4305
4306 Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com)
4307
4308 * m68kcoff.sc-sh: define _end as well as end, for consistency with
4309 aout.sc-sh.
4310
4311 * configure.in: accept *-ericsson-ose for any m68k CPU.
4312
4313 * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
4314 for each output section.
4315
4316 Mon Dec 21 16:06:59 1992 Per Bothner (bothner@rtl.cygnus.com)
4317
4318 * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new
4319 macro bfd_asymbol_bfd as appropriate.
4320 * Makefile.in: Un-duplicate ldlex.c dependency.
4321 * condigure.in: Replace my_host case table by sourcing
4322 ../bfd/configure.host. Allow std-host as the default.
4323 * ldmisc.c: Change logic for C++ name demangling: There is
4324 no initial '_' to remove from stab-derived function names.
4325
4326 Sun Dec 13 16:31:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4327
4328 * ldlang.c (lang_init_script_file): don't attach the output file
4329 sections to the script file.
4330
4331 Wed Dec 9 08:38:05 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4332 * ldlang.c (wild): run expansion loop over command line bfd too.
4333 (lang_ini_script_file): initialize more parts of the command line
4334 bfd.
4335 * ldlex.l: fix DEFINED start states.
4336
4337 Mon Dec 7 08:43:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4338 -y support
4339 * ld.texinfo: new doc.
4340 * ldgram.y, ldlex.l: understand -y<symbol>
4341 * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
4342 print info. (add_ysym): new function.
4343 * ldsym.h: (ldsym_type): new define SYM_Y.
4344
4345 Sat Nov 21 03:15:27 1992 John Gilmore (gnu@cygnus.com)
4346
4347 * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
4348 ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
4349 ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue
4350 macros with PARAMS. Recreational cleanup. Update copyrights.
4351
4352 Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4353
4354 * Makefile.in: pass down the bfd source directory for includes
4355
4356 Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com)
4357
4358 * ldlang.c (lang_size_sections): don't change size and address for
4359 SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
4360 sections.
4361
4362 Thu Nov 5 11:33:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4363
4364 * relax.c (build_it): re-enable the processing of data_statements
4365 in scripts, makes counted contructor lists work again.
4366
4367 Thu Nov 5 05:43:01 1992 John Gilmore (gnu@cygnus.com)
4368
4369 * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS).
4370
4371 Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com)
4372
4373 * m68kcoff.sc-sh: don't use initial underscores for etext, edata
4374 and end.
4375
4376 Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
4377
4378 * Support for i386-sysv.
4379 configure.in: check for i386-*-sysv* and i386-*-sco*.
4380 i386coff.sc-sh: rewrote to support SVR3 by default.
4381 ldctor.c (find_constructors): preserve stat_ptr.
4382 ldlang.c (wild_doit): initialize vma and size of new output
4383 section to corresponding input section. This is required for
4384 shared library support.
4385 (lang_size_sections): don't modify vma and size of sections which
4386 are never loaded (for shared libraries).
4387 ldwrite.c (copy_and_relocate): copy the contents of any section
4388 which has contents, not just sections which are loaded (for shared
4389 libraries).
4390
4391 Thu Oct 15 15:20:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4392
4393 * ldlang.c (size_input_section): count the sizes of all sections
4394 we allocate.
4395
4396 Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4397
4398 * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
4399 to demangle symbols better
4400
4401 Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com)
4402
4403 * ldlang.c (lang_finish): don't warn if -e start symbol does not
4404 exist when linking with -r.
4405
4406 Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com)
4407
4408 * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
4409 .bss segment.
4410
4411 Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4412
4413 * ldmain.c (linear_library): don't even think about processing
4414 an object file if it's already been done
4415
4416 Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4417
4418 * configure.in: the hp9000/300 config file is now hp300
4419
4420 Wed Sep 30 07:34:09 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4421
4422 * config/z8ksim.mt: new file
4423
4424 Fri Sep 25 13:49:52 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
4425
4426 * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
4427 lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
4428
4429 * ld.h (strip_symbols_type): Add value STRIP_SOME.
4430 * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
4431 * ldlang.c (lang_add_keepsyms_file): New function.
4432 * ldlex.l: Handle "-retain-symbols-file".
4433 * ldsym.c (keepsyms_file, kept_syms): New vars.
4434 (process_keepsyms): New functihon; reads file, marks symbols for
4435 saving.
4436 (write_file_locals): File symbols should always be kept.
4437 (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
4438 and "-s". Process retain-symbols file before setting symtab.
4439 * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
4440 (keepsyms_file, kept_syms): Declare them.
4441
4442 * ldmain.c (main): Non-fatal errors should still cause non-zero
4443 exit status even with -r.
4444
4445 Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4446
4447 Added initial support for the z8k
4448 * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
4449 * configure.in, Makefile.in: modified to reflect above
4450
4451 * ldlang.c (lang_check): when linking conflicting architectures,
4452 make the output file reflect at least one of the bad inputs.
4453
4454 Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com)
4455
4456 * Makefile.in (install): if $(tooldir) exists, install ld in
4457 $(tooldir)/bin.
4458
4459 Fri Sep 11 10:24:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4460
4461 * Makefile.in, configure.in: modified to support i386-coff
4462 * i386coff.sh: new file
4463
4464 Wed Sep 9 11:52:58 1992 Ian Lance Taylor (ian@cygnus.com)
4465
4466 * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
4467 added m68k-coff emulation mode, stolen from a29k emulation.
4468 Almost certainly wrong, but perhaps better than sun3.
4469
4470 Thu Sep 3 14:19:30 1992 Per Bothner (bothner@rtl.cygnus.com)
4471
4472 * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
4473 gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
4474 vanilla.em: Rename all (generated) ld__*.c files to em_.c.
4475 This is one character shorter, and lets people build on
4476 SVR3 system. (ld__h8300xray.[co] was the killer there;
4477 h8300xray.sc-sh is also overlong, but seems harmless.)
4478 Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
4479 * Makefile.in (clean): Fix typo mostclean -> mostlyclean.
4480 * configure.in: Add host isc.
4481
4482 * ldver.c: Call it version 2.0.
4483
4484 Wed Sep 2 00:21:33 1992 Per Bothner (bothner@rtl.cygnus.com)
4485
4486 * ldver.c: Bump to version 0.98.
4487 * TODO: New file.
4488
4489 * Makefile.in: Added mostlyclean, distclean, realclean rules.
4490
4491 Tue Sep 1 23:42:16 1992 Per Bothner (bothner@rtl.cygnus.com)
4492
4493 * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c).
4494 * ldlex.l: Moved comment() to end, since some compilers
4495 otherwise have problems with input() used before it is defined.
4496
4497 Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4498
4499 * configure.in: added Solaris 2 and Irix 4 host support.
4500
4501 Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4502
4503 * Makefile.in: remove -S flag from the FLEX definition
4504
4505 * configure.in: rewrote, using new style case statement. use
4506 m68k.mt for m68k-aout systems
4507
4508 Sun Aug 30 21:38:53 1992 Ian Lance Taylor (ian@cygnus.com)
4509
4510 * Makefile.in: map "ld" through program_transform_name when
4511 installing.
4512
4513 Sun Aug 30 18:12:13 1992 Per Bothner (bothner@rtl.cygnus.com)
4514
4515 * cplus-dem.c: Removed. Use the version in libiberty now.
4516 * ldmisc.c: Use new libiberty version of cplus_demangle().
4517
4518 Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com)
4519
4520 * gld960.em (gld960_choose_target): default to little endian, not
4521 big endian.
4522
4523 Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4524
4525 * ldlang.c (lang_process): don't pass null pointers when
4526 abs_output_section is what is required.
4527 * ldwrite.c (ldwrite): use malloc to allocate the largest space
4528 used, and pass that down.
4529 * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
4530 than alloca.
4531
4532 Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com)
4533
4534 * configure.in, config/ose68.mt: renamed OSE to ose.
4535
4536 Thu Aug 20 19:55:22 1992 Ken Raeburn (raeburn@cygnus.com)
4537
4538 * ldsym.c (write_file_locals): Reorder check for common or
4539 undefined symbols so that it works.
4540
4541 Tue Aug 18 13:41:36 1992 Ian Lance Taylor (ian@cygnus.com)
4542
4543 * configure.in: accept all m68K family members.
4544
4545 * Makefile.in: always create installation directories.
4546
4547 Thu Aug 13 11:49:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4548
4549 * ldlex.l: now parses comment correctly, added ~ to acceptable
4550 chars in filenames
4551
4552 * ldexp.c (exp_unop): pass down abs_output_section - now can have
4553 unary -ve constants.
4554
4555 * ldlang.c (lang_finish): warn when an entry symbol supplied on
4556 the command line can't be found.
4557
4558 Fri Aug 7 12:31:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4559
4560 * ldlang.h: add new field "loadable" to output_section_statement.
4561 * ldlang.c (lang_output_section_statement_lookup): initilize new
4562 field. (wild_doit): if new field is not set, then stop output
4563 section from being loadable.
4564 (lang_enter_output_section_statement): set the field from the
4565 NOLOAD keyword
4566 * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
4567 * h8300hms.sc-sh, h8300hms.em: get -r right.
4568
4569 Thu Aug 6 18:35:21 1992 Per Bothner (bothner@rtl.cygnus.com)
4570
4571 * ldint.texinfo: New internals manual (beginnings thereof).
4572 * PORTING: Removed, merged into ldint.texinfo.
4573
4574 Tue Aug 4 21:12:29 1992 Per Bothner (bothner@rtl.cygnus.com)
4575
4576 * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
4577 cdtest.exp: A test program (copied from libg++/test-install)
4578 that tests that constructor and destructors are handled
4579 corrrectly.
4580
4581 Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4582
4583 * Makefile.in (install): install from ld.new, renaming during the
4584 copy, or else the next 'make install' needs to re-link ld.
4585
4586 Mon Jul 20 03:37:06 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
4587
4588 * configure.in: generalise hp recognition (from sef).
4589
4590 Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
4591
4592 * configure.in: recognize bsd and hpux hppa configurations.
4593 error messages echo to stderr, not stdout
4594
4595 Fri Jul 17 22:06:11 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4596
4597 * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
4598 ldmisc.c: removed rcsid's.
4599
4600 Tue Jul 14 08:34:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4601
4602 * ldlang.c (lang_map): print changes in sizes due to relaxing
4603 (size_input_section): maintain the delta information.
4604 * ldlang.h: add new field to struct to contain delta info.
4605 * relax.c (relax_section): complain if input not relaxable.
4606 * ldlex.l : add '_', ',' and '$' to chars which can appear at the
4607 start of a filename
4608
4609 Mon Jul 13 17:33:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4610
4611 * ldmain.c(main): prevent -r and -relax from being on at the same
4612 time.
4613
4614 Wed Jul 1 17:51:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4615
4616 * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
4617 aliasing problems
4618
4619
4620 Thu Jun 18 09:38:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4621
4622 * h8300hms.em, h8300hms.sc-sh: do the right thing for -r
4623 * ldexp.c: lint
4624 * ldlang.c(open_output): set the target arch and machine as soon
4625 as we can. (lang_size_sections): use new macros for setting vma
4626 * ldwrite.c: lint
4627
4628 Mon Jun 15 08:47:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
4629
4630 * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
4631 Also deleted an unreachable path to wrs.
4632
4633 Wed May 27 23:24:19 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
4634
4635 * Makefile.in (install): use -d test for $tooldir before
4636 installing ld there so that $tooldir can be inherited from
4637 top-level Makefile.
4638
4639 Wed May 27 16:56:48 1992 Per Bothner (bothner@rtl.cygnus.com)
4640
4641 * ldlang.c: Two non-substantial changes for the sake of
4642 the old Portable C Compiler.
4643
4644 Wed May 27 15:15:58 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4645
4646 * ldgram.y, ldlex.l: parse ABSOLUTE
4647 * ldexp.c: add support for ABSOLUTE
4648
4649 Wed May 27 13:07:20 1992 Per Bothner (bothner@rtl.cygnus.com)
4650
4651 * Makefile.in: Added default definitions for HOSTING_CRT0,
4652 HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
4653 * config/*.mh: Miscellaneous clean-up: Removed definitions
4654 of YACC (since it is not longer used in the Makefile).
4655 Remove HOSTING_* definitions that are subsumed by the
4656 ones added to Makefile.in. Removed most definitions of CC.
4657 * config/{sparc,news,hp300bsd,decstation}.mh: Removed;
4658 These are no longer needed.
4659
4660 Fri May 22 13:47:19 1992 Per Bothner (bothner@cygnus.com)
4661
4662 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
4663 rules, since these are used when building a distribution.
4664 * Makefile.in (ldlex.c): Don't re-direct output, since that
4665 leaves a bogus output files if it fails.
4666
4667 * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working.
4668 * ldlex.c: Fix some unnecessary flex-specific-isms.
4669
4670 Fri May 8 11:49:43 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4671
4672 * ldgram.y: move spurious semicolon
4673 * ldexp.h: fix prototype
4674
4675 Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
4676
4677 * ld.texinfo: references to linker now say "ld" not "gld".
4678
4679 Wed May 6 13:26:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4680
4681 changed calling convention for Q_enter_global_ref
4682 * ldexp.c, ldlang.c, ldmain.c: reflect this
4683 * ldver.c: bump version to 1.97.1
4684 * ldindr.c (add_indirect): when an edict declaring an indirect
4685 symbol is found, make sure that any ideas about the symbol being
4686 common are changed if it now known to be defined.
4687 * ldmain.c (linear_library): complain once if archive isn't
4688 ranlibbed.
4689 * ldlang.h, ldlang.c: make room for and initialize the complain
4690 once field.
4691
4692 Wed May 6 11:07:35 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4693
4694 * Makefile.in: use flex & bison from ../ if they exist.
4695
4696 Tue May 5 17:47:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4697
4698 * relax.c (build_it): don't allocate space in the output file for
4699 stuff if -R flag applys to it.
4700 * ldfile.c: merge in VMS filename support
4701 * ldmain.c (main): take out ./ from library path, and close file
4702 before unlinking. Make multiple defs of a symbol create an
4703 unexecable file.
4704 * ldmisc.c: fatal errosrs delete output file
4705
4706 Tue May 5 14:05:05 1992 Per Bothner (bothner@rtl.cygnus.com)
4707
4708 * ldver.c: Increase version number to 1.97, for consistency
4709 with ../binutils.
4710
4711 Tue May 5 12:12:24 1992 K. Richard Pixley (rich@cygnus.com)
4712
4713 * Makefile.in: FLEX -> LEX.
4714
4715 * ld.texinfo: {} -> @{@}.
4716
4717 Mon May 4 17:52:41 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
4718
4719 * ld.texinfo: describe alternate, MRI-compatible linker scripts
4720 (and associated change in -c option, now used for these scripts)
4721
4722 Mon May 4 16:10:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4723
4724 * ldver.c: Bumped version to 1.96 - new release, resync with the
4725 bfd too #.
4726 * ldexp.c, ldlang.c: now build memory shape tree in obstacks
4727 rather than with raw malloc, makes it easier to track where memory
4728 is going.
4729 * ldsym.h, ldsym.c: create obstack for all global symbols too.
4730 * ldwrite.c (ldwrite): moved malloc so only used when needed.
4731 * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
4732
4733
4734 Fri May 1 18:17:52 1992 K. Richard Pixley (rich@cygnus.com)
4735
4736 * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
4737
4738 * Makefile.in: use bootstrap for check.
4739
4740 Fri May 1 13:03:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4741
4742 * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
4743 PUBLIC.
4744 * Makefile.in: now use flex, not lex
4745 * ldlex.l, ldlang.c, ldctor.c: lint
4746
4747 Wed Apr 22 12:48:42 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4748
4749 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
4750 different sorts of filenames on the command line than in a script.
4751
4752 Mon Apr 20 22:37:04 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4753
4754 * Makefile.in: rework CFLAGS so that they can be passed on the
4755 make command line. Remove MINUS_G. Default CFLAGS to -g.
4756
4757 Fri Apr 17 08:57:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4758
4759 * relax.c: added handling for new "padding" seclet type, used to
4760 fill out gaps between section.
4761 * ldgram.y, ldlex.l: now -defsym on the command line is done
4762 properly.
4763
4764 Wed Apr 15 21:20:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4765
4766 * Makefile.in: the tooldir copy of ld goes directly in tooldir.
4767
4768 Wed Apr 15 16:09:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4769
4770 * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
4771 scripts.
4772
4773 Thu Apr 9 05:52:02 1992 Ken Raeburn (Raeburn@Cygnus.COM)
4774
4775 * Makefile.in (install): Install second copy in $(tooldir)/bin
4776 without $(program_prefix), since that's what gcc expects.
4777
4778 Sat Apr 4 17:44:06 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4779
4780 * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
4781 * h8300*: fix bit rot and add support for h8300xray target
4782 * go32.sh: target emulation for go32.
4783
4784 Mon Mar 16 14:53:29 1992 Steve Chamberlain (sac@rtl.cygnus.com)
4785
4786 * gld960.em, i960.sc-sh. Fix i960 bit rot
4787
4788 Fri Mar 13 19:47:22 1992 K. Richard Pixley (rich@cygnus.com)
4789
4790 * Makefile.in: install man page.
4791
4792 Fri Mar 13 08:23:59 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4793
4794 * config/mt-<foo> renamed to <foo>.mt
4795 * config/mh-<foo> renamed to <foo>.mt
4796 * configure.in changed to reflect this
4797 * genscripts.sh now make .xbn files rather than .xN files
4798
4799 Sat Mar 7 03:40:40 1992 K. Richard Pixley (rich@cygnus.com)
4800
4801 * ldver.h: fix decl of ldversion.
4802
4803 Fri Mar 6 22:00:35 1992 K. Richard Pixley (rich@cygnus.com)
4804
4805 * Makefile.in: added check target.
4806
4807 Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4808
4809 * ldmain.c (Q_enter_file_symbols): now aliases work again
4810
4811 Thu Mar 5 21:39:29 1992 K. Richard Pixley (rich@cygnus.com)
4812
4813 * Makefile.in: added clean-info target.
4814
4815 Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
4816
4817 * ldexp.c (exp_print_tree): don't try and follow null pointers
4818 around.
4819 * ldgram.y: remove 11 shift reduce errors
4820
4821 Tue Mar 3 15:46:39 1992 K. Richard Pixley (rich@rtl.cygnus.com)
4822
4823 * Makefile.in: added tooldir and program_prefix.
4824
4825 Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com)
4826
4827 * ldlang.c (size_input_section): don't move absolute sections
4828 around!
4829
4830
4831 Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
4832
4833 * cplus-dem.c: yet another copy of this - maybe it should go into
4834 libiberty ?
4835 * ldgram.y: now -V and -v have different actions
4836 * ldver.c: if -V, prints list of emulations compiled in
4837 * ldmisc.c: support for cplus demangling
4838
4839
4840 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
4841
4842 * Makefile.in, configure.in: removed traces of namesubdir,
4843 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
4844 copyrights to '92, changed some from Cygnus to FSF.
4845
4846 Thu Feb 20 17:43:46 1992 Per Bothner (bothner at cygnus.com)
4847
4848 * Makefile.in: Change mkscript rule into one for ./mkscript
4849 (for the sake of makes that don't realize they're the same).
4850 * PORTING: Add more details.
4851 * genscripts.sh: Add more tailorability of DATA_ALIGNMENT.
4852
4853 Mon Feb 17 12:04:36 1992 Per Bothner (bothner at cygnus.com)
4854
4855 * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
4856 config/mt-hp300bsd: New port to hp300 running BSD.
4857
4858 Sat Feb 15 13:59:54 1992 Per Bothner (bothner at cygnus.com)
4859
4860 Major rewrite of how ld is configured. The major idea
4861 is to use shell scripts to generate everything.
4862 * generic.em replaces ldtemplate.
4863 * Other *.em files replace various *.c files.
4864 A *.em file is a shell script that generates the corresponding
4865 ld__*.c file that implements an emulation. This is usually
4866 a straight 'cat' of a here-document, possibly with substitutions.
4867 * Script files (*.sc) are places by *.sc-sh scripts.
4868 Again, these are simple shell scripts that 'cat'
4869 here-documents, usually with some substitutions.
4870 The output a *.sc-sh is a script file.
4871 * Each emulation is defined by a short shell script with
4872 extension *.sh that specifies the emulation-specific
4873 parameters (such as the name of the *.sh-sc and *.em
4874 files to use).
4875 * genscript.sh is the master shell script used to generate
4876 an emulation. It is passed various argument, including
4877 the name a the emulation-speciic *.sh file that it
4878 "sources" to set variables to emulation-specifc parameters.
4879 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
4880 to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
4881 * config/mh-foo: Rename LDEMULATION names as appropriate
4882 (usually 'gldfoo' -> plain 'foo').
4883 * ldwrite.c: Fixed a typo in a comment.
4884 * Makefile.in: Major changes. Removed some the sed
4885 magic to converts scripts, since that is now handled
4886 by genscripts.sh and the *.sc-sh scipt generators.
4887 * config.h: Remove a bunch of macros defining emulations
4888 and targets. This becomes one less file to edit when
4889 adding emulations or targets.
4890 * ldemul.h (struct ld_emulation_xfer_struct): Add
4891 emulation_name and target_name fields.
4892 * ldemul.c, ldemul.h: Define some default functions used
4893 by most emulations (and remove from the *.em scripts).
4894 * ldemul.c (ldemul_choose_target): Search the new
4895 ld_emulations array using a loop (instead of a hardwired
4896 nested if statement).
4897 Define the ld_emulation from the automatically-geenrated
4898 ldemul-list.h. This means you no longer have to edit ldemul.c
4899 to add a new emulation.
4900 * ldmain.c: Replace {GLD,LNK}960_EMULATION_NAME by
4901 their expansions, since the former no longer exist.
4902 * PORTING: A very rough first draft of a porting guide.
4903
4904 * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
4905 to be terminated by a new-line (instead of requiring a semicolon).
4906
4907 Mon Feb 10 16:21:02 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4908
4909 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
4910 tests for NULL pointers all over the place.
4911 * ldlang.c (lang_process): remember to relocate global symbols
4912 *after* relaxing has done it stuff.
4913
4914 Thu Feb 6 11:40:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4915
4916 * config/mt-coff-h8300: use EMUL like everything else
4917 * ldlang.c: (print_padding_statement): print the right address.
4918 * Makefile.in, config.h, ldemul.c: renamed h8300hds to h8300hms
4919
4920
4921 Tue Feb 4 15:28:01 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4922
4923 * ldlex.l: Put pack -noinhibit-exec and -sort-common
4924 * ldlang.c (print_data_statement): print the right address.
4925
4926 Thu Jan 30 17:51:53 1992 Per Bothner (bothner at cygnus.com)
4927
4928 * Makefile.in: The rule for testing ld by re-linking itself
4929 via an intermediate -r link was moved to the ld1 rule
4930 instead of the ld2 rule. This allows ld2 and ld3 to be identical,
4931 which allows the bootstrap rule to work.
4932 * ldctor.c (find_constructors): Don't create a constructor
4933 list if it is already defined (as would happen if ld is
4934 invoked by collect).
4935
4936 Wed Jan 29 08:35:39 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4937
4938 * config/mh-sparc.h: now uses libgcc.a
4939 * ldmain.c: quit using exit
4940 * *sc: use *(COMMON) rather than [COMMON]
4941 * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
4942 to allow preprocessing of .l file.
4943 * Makefile.in: New ldlex.l mangling
4944 * ldexp.c (fold_binary): perform expressions with % and / in
4945 integer.
4946 * ldfile.c (open_a): open archives on VMS in a special way
4947
4948
4949 Tue Jan 28 10:18:16 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4950
4951 * ldgram.y: map -M behave in the same way as -Map (sets file name
4952 to be "-".
4953 * ldsym.c, ldlang.c: remember that size of a section is dependent on
4954 whether or not relaxing has been done.
4955 * ldmain.c: don't open a map file if it doesn't have a name
4956 * relax.c: all the brains have moved into bfd.
4957 * ldwrite.c: ammend comment
4958
4959 Fri Jan 24 14:23:46 1992 Steve Chamberlain (sac at rtl.cygnus.com)
4960
4961 * Makefile.in: added relax, also made three stage go through a
4962 partial link stage.
4963 * relax.c : added
4964 * config.h: if GNU960 defined, then default emulation mode is
4965 GLD960
4966 * ldexp.h, ldexp.c: map to file hooks
4967 * ldlang.c: map to file hooks
4968 * ldgram.y: added -Map -relax
4969 * ldlex.l: added -relax, -Map
4970 * ldmain.c: open map file
4971 * ldmisc.c: support for map file
4972 * ldwrite.c: new relax magic
4973
4974 Thu Dec 19 18:49:51 1991 John Gilmore (gnu at cygnus.com)
4975
4976 * Makefile.in, config/tm-*.h: Clean up make output, only
4977 pass DEFAULT_EMULATION to ldmain.c.
4978
4979 Wed Dec 18 15:02:47 1991 Per Bothner (bothner at cygnus.com)
4980
4981 * ldver.c: Bump to version 1.94.
4982
4983 Tue Dec 10 04:07:23 1991 K. Richard Pixley (rich at rtl.cygnus.com)
4984
4985 * Makefile.in: infodir belongs in datadir.
4986
4987 Mon Dec 9 16:26:43 1991 Per Bothner (bothner at cygnus.com)
4988
4989 * Makefile.in: Pass -y to bison. (Again;
4990 accidentally deleted by Rich.)
4991 * news.sc, ldgld68k.sc: Define __end as well as _end.
4992
4993 Sat Dec 7 17:19:26 1991 Steve Chamberlain (sac at rtl.cygnus.com)
4994
4995 * ldindr.h: added to contain prototypes of ldindr.c
4996 * ldfile.c: include ctype.h
4997 * ldmain.c: include the requried prototype headers
4998 * ldwrite.c: get_reloc_upper_bound has been renamed
4999 bfd_get_reloc_upper_bound
5000
5001 Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
5002
5003 * Makefile.in: punt "fundamental" mode because it breaks my emacs
5004 macros. install using INSTALL_PROGRAM and INSTALL_DATA. remove
5005 spaces following hyphens, bsd make can't cope. added
5006 standards.text support and made it look like all the other
5007 makefiles.
5008
5009 * configure.in: configure now runs entirely in objdir so make file
5010 existence checks against ${srcdir}. Mark this directory as
5011 target dependent.
5012
5013 Thu Dec 5 22:46:16 1991 K. Richard Pixley (rich at rtl.cygnus.com)
5014
5015 * Makefile.in: idestdir and ddestdir go away. Added copyrights
5016 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
5017 and mandir now keyed off datadir by default.
5018
5019 Wed Dec 4 23:36:55 1991 Per Bothner (bothner at cygnus.com)
5020
5021 * ldver.c: Bumped version to 1.93.
5022 * Makefile.in: Pass -y to bison.
5023
5024 Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com)
5025
5026 * config.h: h8 is now coff, not ieee
5027 * h8300hds.sc: reflect the same
5028
5029 Thu Nov 14 19:55:09 1991 Per Bothner (bothner at cygnus.com)
5030
5031 * ldver.c (ldversion()): Update to 1.92.
5032 * ldctor.c: There are two places constructor sets
5033 can be defined. One of them checked for an existing
5034 duplicate, the other didn't. Unfortunately, the latter
5035 was called after the former ...
5036 So, factor out code for inserting a new element into
5037 constructor_name_list (after checking for a duplicate)
5038 into a new function add_constructor_name, and call
5039 it from both aforementioned places (ldlang_add_constructor
5040 and ldlang_check_for_constructors).
5041
5042 Wed Nov 13 15:17:43 1991 Per Bothner (bothner at cygnus.com)
5043
5044 * Makefile.in: Rename .c files generated from ldtemplate
5045 to have names starting with ld__. This helps 'make clean'.
5046
5047 Tue Nov 12 18:36:50 1991 Steve Chamberlain (sac at cygnus.com)
5048
5049 * Makefile.in: Take out the version number for install
5050 * m88kbcs.sc: put in contructor blocks.
5051
5052 Mon Nov 11 18:47:33 1991 Per Bothner (bothner at cygnus.com)
5053
5054 * ldmisc.c, ldmisc.h: Re-write info() to take a filename
5055 parameter, a format, and an arg pointer, and rename it to
5056 vfinfo(). Write info() in terms of new vfinfo().
5057 New einfo() is the same as info(), except it writes to stderr.
5058 * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
5059 ldmisc.c: Replace "error" calls to info() by new einfo().
5060
5061 Mon Nov 11 09:57:32 1991 Steve Chamberlain (steve at cygnus.com)
5062
5063 * ldlex.l ldgram.y: made -V option do same as -v
5064 * Makefile.in: Added $(MINUS_G) flag so debugging can be
5065 turned off
5066
5067 Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com)
5068 i386 aout changes from Bob Kukura
5069 * Makefile.in, config.h: added i386aout support
5070 * configure.in: fixed /h-{myhost} typo
5071 * ldgram.y: -MM now gives more boring map.
5072 * ldlang.c: now does D_PAGED flag the right way.
5073 * ldsym.c: -MM flags does the right thing.
5074
5075 Sun Nov 3 15:00:03 1991 Per Bothner (bothner at cygnus.com)
5076
5077 * configure.in: Fixed typo. Also, a fix for hp300bsd.
5078 * ldlang.c (init_os): Compensate for BFD change,
5079 where bfd_make_section now returns NULL for a duplicate
5080 section request, instead of the old section.
5081
5082 Thu Oct 17 15:27:13 1991 Per Bothner (bothner at cygnus.com)
5083
5084 * ldver.c: Bump to version 1.91 (consistent with binutils).
5085
5086 Wed Oct 16 12:27:08 1991 Per Bothner (bothner at cygnus.com)
5087
5088 * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
5089 ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
5090 ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
5091 ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
5092 Add or update copyright notices.
5093
5094 Mon Oct 14 23:55:27 1991 Per Bothner (bothner at cygnus.com)
5095
5096 * README: New file.
5097 * Makefile.in: Changed installation directory name scheme
5098 to be consistent with gcc. Also changed 'install'.
5099
5100 Mon Oct 14 17:30:02 1991 Roland H. Pesch (pesch at cygnus.com)
5101
5102 * Makefile.in: new targets ld.mm, ld.me
5103
5104 Mon Oct 14 17:27:24 1991 Per Bothner (bothner at cygnus.com)
5105
5106 * Makefile.in, ldtemplate: Need to use separate scripts
5107 for -n and -N options. Yet more complication.
5108
5109 Fri Oct 11 22:40:46 1991 John Gilmore (gnu at cygnus.com)
5110
5111 * Makefile.in: Avoid using $< in explicit Make rules (it doesn't
5112 work). Add some lines to avoid Sun Make VPATH bugs.
5113
5114 Fri Oct 11 16:42:22 1991 Per Bothner (bothner at cygnus.com)
5115
5116 * news.sc: Add alignment for data segment.
5117 * ldtemplate: Add (yet another) script to get for -n or -N
5118 options. (These need different alignment than ZMAGIC files.)
5119 * Makefile.in: Add stuff for new foo.xn scripts.
5120 These are generated by replacing "ALIGN(0x...00)" by ".".
5121
5122 Fri Oct 11 15:43:04 1991 Roland H. Pesch (pesch at cygnus.com)
5123
5124 * Makefile.in: new targets ld.ms, ld-index.ms
5125 ld.texinfo: remove tabs, other cleanups for texi2roff
5126
5127 Fri Oct 11 13:51:54 1991 Per Bothner (bothner at cygnus.com)
5128
5129 * ldmain.c (main): Make config.magic_demand_paged be true
5130 by default. Don't the WP_TEXT and D_PAGED flags of
5131 output_bfd here; it's too late, so set it when output_bfd
5132 is created (in ldlang.c). Also fix setting of EXEC_P flag
5133 * ldlang.c (ldlang_open_output): Set output_bfd->flags here.
5134 * ldlang.c: Remove some duplicate extern declarations.
5135 * ldgram.y: Fixes to -N and -n options.
5136 * Makefile.in: Recognize upper case letters in sed script
5137 to remove assignments from script files.
5138 * ldtemplate: Don't assukme that -N or -n options
5139 imply use of -r script.
5140 * mkscript.c: Tweaking to correctly handle \n and \\ in input.
5141
5142 Fri Oct 11 10:29:27 1991 Steve Chamberlain (steve at cygnus.com)
5143
5144 * ldtemplate: include bfd.h before sysdep.h.
5145
5146 Fri Oct 11 04:24:45 1991 John Gilmore (gnu at cygnus.com)
5147
5148 Restructure configuration scheme for bfd, binutils, ld.
5149
5150 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
5151 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
5152 Change some config names to match other dirs.
5153 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
5154 get defined first.
5155 * config/: Rename some config files to match up h-*.h names.
5156 Remove all the HOST_SYS definitions from the config files.
5157
5158 Tue Oct 8 16:00:57 1991 Per Bothner (bothner at cygnus.com)
5159
5160 * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
5161 * ldtemplate: Remove ldfile_add_library_path calls;
5162 just use the SEARCH_DIR commands in the script files.
5163 * Makefile.in: Add LIB_PATH macro, which if set is used to replace
5164 the SEARCH_DIR commands in the scripts (using ugly sed magic).
5165 This is primarily intended for cross-linking, where you would
5166 place libaries in a different place than native libraries.
5167 Also, emulations made from ldtemplate now use $(srcdir).
5168 * ldglda29k.sc: Change SEARCH_DIR commands to a conventional
5169 form; people can use the Makefile's LIB_PATH to override.
5170
5171 Tue Oct 8 14:51:21 1991 Roland H. Pesch (pesch at cygnus.com)
5172
5173 * Makefile.in: fix target ld.dvi, add target ld.info
5174 ld.texinfo: make info filename ld.info
5175
5176 Fri Oct 4 21:51:58 1991 John Gilmore (gnu at cygnus.com)
5177
5178 * Makefile.in: Avoid using $< in non-suffix rules (breaks on Sun
5179 Make).
5180 * ldfile.c, ldlang.c, ldmain.c, ldwrite.c: Cope with renames of a
5181 few BFD types & enums.
5182
5183 \f
5184 Local Variables:
5185 mode: indented-text
5186 left-margin: 8
5187 fill-column: 74
5188 version-control: never
5189 End:
This page took 0.139359 seconds and 4 git commands to generate.