2000-08-11 Kazu Hirata <kazu@hxi.com>
[deliverable/binutils-gdb.git] / ld / ChangeLog
1 2000-08-10 Geoff Keating <geoffk@cygnus.com>
2
3 * scripttempl/elf.sc: Add a comment giving the correspondence
4 between sections, per-datum sections, and linkonce sections. Make
5 the comment true even for .bss, .sdata, .sdata2, .sbss, and
6 .sbss2.
7
8 2000-08-10 Jason Eckhardt <jle@cygnus.com>
9
10 * emulparams/elf32_i860.sh: New file.
11 * configure.tgt: Recognize new target i860-stardent-{sysv4*|elf*}.
12 * Makefile.am (ALL_EMULATIONS): Add eelf32_i860.o.
13 (eelf32_i860.c): New rule.
14 * Makefile.in: Regenerate.
15
16 2000-08-10 Nick Clifton <nickc@cygnus.com>
17
18 * emulparams/mipspe.sh (ENTRY): Add definition.
19
20 2000-08-08 Peter Jeremy <peter.jeremy@alcatel.com.au>
21
22 * emultempl/elf32.em (_after_close): Refer to -rpath not --rpath
23 in error message.
24
25 2000-08-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
26
27 * scripttempl/elfm68hc11.sc: Define __bss_size symbol to indicate
28 the final size of .bss section.
29 * scripttempl/elfm68hc12.sc: Likewise.
30
31 2000-08-04 Alan Modra <alan@linuxcare.com.au>
32
33 * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Rename to
34 gld${EMULATION_NAME}_parse_args for consistency. Combine
35 lastoptind and prevoptind vars, and keep track of last optind.
36 (gld_${EMULATION_NAME}_list_options): Rename to
37 gld${EMULATION_NAME}_list_options.
38
39 2000-08-03 Rodney Brown <RodneyBrown@pmsc.com>
40
41 * configure.tgt: Select targ_emul=elf_i386 for Unixware 7
42 (i586-sco-sysv5uw7.1.0).
43
44 2000-07-27 H.J. Lu <hjl@gnu.org>
45
46 * emulparams/elf64alpha.sh (PARSE_AND_LIST_ARGS): Removed.
47 (PARSE_AND_LIST_PROLOGUE): New.
48 (PARSE_AND_LIST_LONGOPTS): Likewise.
49 (PARSE_AND_LIST_OPTIONS): Likewise.
50 (PARSE_AND_LIST_ARGS_CASES): Likewise.
51 (PARSE_AND_LIST_EPILOGUE): Likewise.
52
53 2000-07-28 Alan Modra <alan@linuxcare.com.au>
54
55 * emultempl/armelf.em: Elide functions common to elf32.em,
56 ie. most of the file.
57 (arm_elf_after_open): New. Do arm specific things then call
58 gld${EMULATION_NAME}_after_open.
59 (arm_elf_before_allocation): New. Call
60 gld${EMULATION_NAME}_before_allocation then do arm specifics.
61 (PARSE_AND_LIST_PROLOGUE): Define.
62 (PARSE_AND_LIST_SHORTOPTS): Define.
63 (PARSE_AND_LIST_LONGOPTS): Define.
64 (PARSE_AND_LIST_OPTIONS): Define.
65 (PARSE_AND_LIST_ARGS_CASES): Define.
66 (LDEMUL_AFTER_OPEN): Define.
67 (LDEMUL_BEFORE_ALLOCATION): Define.
68 (LDEMUL_BEFORE_PARSE): Define.
69 (LDEMUL_FINISH): Define.
70
71 * emultempl/hppaelf.em: Similarly zap most of this file.
72 (hppaelf_add_stub_section): Prototype.
73 (hppaelf_layaout_sections_again): Prototype.
74 (hook_in_stub): Prototype.
75 (LDEMUL_SET_OUTPUT_ARCH): Define.
76 (LDEMUL_FINISH): Define.
77 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
78
79 * emulparams/armelf.sh (TEMPLATE_NAME): Use elf32.
80 (EXTRA_EM_FILE): New.
81 * emulparams/armelf_linux.sh: Likewise.
82 * emulparams/armelf_linux26.sh: Likewise.
83 * emulparams/hppalinux.sh: Likewise.
84 * emulparams/hppaelf.sh: Likewise.
85 (NOP): Define.
86
87 * emultempl/elf32.em: Fix formatting.
88 (EXTRA_EM_FILE): Source it.
89 (LDEMUL_BEFORE_PARSE, LDEMUL_SYSLIB, LDEMUL_HLL,
90 LDEMUL_AFTER_PARSE, LDEMUL_AFTER_OPEN, LDEMUL_AFTER_ALLOCATION,
91 LDEMUL_SET_OUTPUT_ARCH, LDEMUL_CHOOSE_TARGET,
92 LDEMUL_BEFORE_ALLOCATION, LDEMUL_GET_SCRIPT, LDEMUL_FINISH,
93 LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS,
94 LDEMUL_OPEN_DYNAMIC_ARCHIVE, LDEMUL_PLACE_ORPHAN,
95 LDEMUL_SET_SYMBOLS, LDEMUL_PARSE_ARGS, LDEMUL_UNRECOGNIZED_FILE,
96 LDEMUL_LIST_OPTIONS, LDEMUL_RECOGNIZED_FILE,
97 LDEMUL_FIND_POTENTIAL_LIBRARIES): New shell vars. Add code to
98 allow functions in this file to be overridden.
99 (PARSE_AND_LIST_SHORTOPTS): Handle it.
100
101 * emultempl/m68kcoff.em: Include ldfile.h before ldemul.h.
102
103 * emultempl/elf32.em: Reorganize file.
104
105 2000-07-27 Ivan Kokshaysky <ink@jurassic.park.msu.ru>
106
107 * emulparams/elf64alpha.sh: Implement "-taso" emulation
108 specific option to fit 64-bit executable in the lower
109 31-bit address range. This is done by changing start
110 address of .interp (the very first section of executable)
111 and then setting EF_ALPHA_32BIT elf header flag.
112
113 2000-07-21 Michael Sokolov <msokolov@ivan.Harhan.ORG>
114
115 * emultempl/m68kcoff.em: New file.
116 * emulparams/m68kcoff.sh (TEMPLATE_NAME): Use m68kcoff template.
117 * Makefile.am (em68kcoff.c): Depend on m68kcoff.em rather than
118 generic.em.
119 * Makefile.in: Regenerate.
120
121 2000-07-20 H.J. Lu <hjl@gnu.org>
122
123 * emultempl/elf32.em (longopts): Duplicate "disable-new-dtags"
124 and "disable-new-dtags" to stop getopt from treating -d/-e as
125 abbreviations for these options.
126
127 2000-07-20 H.J. Lu <hjl@gnu.org>
128
129 * ld.texinfo: Add documentation for --disable-new-dtags and
130 --enable-new-dtags.
131
132 * ldmain.c (main): Initialize link_info.new_dtags to false.
133
134 * emultempl/elf32.em (gld_${EMULATION_NAME}_parse_args): Add
135 --disable-new-dtags and --enable-new-dtags.
136 (gld_${EMULATION_NAME}_list_options): Likewise.
137
138 2000-07-05 Kenneth Block <krblock@computer.org>
139
140 * ld/lexsup.c: Add optional style to demangle switch
141 * ld/ld.texinfo: Document optional style to demangle switch.
142
143 2000-07-20 Hans-Peter Nilsson <hp@axis.com>
144
145 * Makefile.am (ALL_EMULATIONS): Add ecrisaout.o, ecriself.o,
146 ecrislinux.o.
147 (ecrisaout.c, ecriself.c, ecrislinux.c): New rules.
148 Regenerate dependencies.
149 * Makefile.in: Rebuild.
150 * configure.tgt (cris-*-*): New target.
151 * emulparams/crisaout.sh, emulparams/criself.sh,
152 emulparams/crislinux.sh, scripttempl/crisaout.sc: New files.
153 * po/POTFILES.in, po/ld.pot: Regenerate.
154
155 2000-07-20 H.J. Lu <hjl@gnu.org>
156
157 * emultempl/elf32.em (gld_${EMULATION_NAME}_list_options):
158 Print out ignored -z options.
159
160 2000-07-19 H.J. Lu <hjl@gnu.org>
161
162 * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Removed.
163 (PARSE_AND_LIST_PROLOGUE): New.
164 (PARSE_AND_LIST_LONGOPTS): Likewise.
165 (PARSE_AND_LIST_OPTIONS): Likewise.
166 (PARSE_AND_LIST_ARGS_CASES): Likewise.
167
168 * ldmain.c (main): Clear link_info.flags and link_info.flags_1.
169
170 * lexsup.c (ld_options): Comment out 'z'.
171 (parse_args): Likewise.
172
173 * emultempl/elf32.em: Include "elf/common.h".
174 (gld_${EMULATION_NAME}_parse_args): Defined. Handle some -z
175 options.
176 (gld_${EMULATION_NAME}_list_options): Likewise.
177
178 * ld.texinfo: Add documentation for the recognized -z options.
179
180 2000-07-19 H.J. Lu <hjl@gnu.org>
181
182 * emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Call
183 bfd_elf_set_dt_needed_soname ().
184
185 2000-07-18 DJ Delorie <dj@cygnus.com>
186
187 * pe-dll.c (pe_dll_id_target): check object target name also
188
189 2000-07-18 Hans-Peter Nilsson <hp@axis.com>
190
191 * scripttempl/elf.sc (.init): Only do ${INIT_START} and
192 ${INIT_END} if relocating.
193 (.fini): Likewise ${FINI_START} and ${FINI_END}.
194
195 2000-07-16 Charles Wilson <cwilson@ece.gatech.edu>
196
197 * src/ld/emultempl/pe.em (gld_*_open_dynamic_archive): New search
198 order for dynamic library '-lfoo' on pei386: libfoo.dll.a,
199 foo.dll.a, libfoo.a, libfoo.dll, foo.dll. This fixes compatibility
200 errors introduced by the old dynamic lib search order.
201
202 2000-07-17 DJ Delorie <dj@cygnus.com>
203
204 * pe-dll.c (process_def_file): auto-export data items also
205 (pe_process_import_defs): also see if _imp_ form needed
206
207 2000-07-12 Charles Wilson <cwilson@ece.gatech.edu>
208
209 * pe-dll.c (make_one): fix a typo in the __imp_ name decoration
210 for dll import libraries
211
212 2000-07-12 Mark Elbrecht <snowball3@bigfoot.com>
213
214 * scripttempl/i386go32.sc: Support the g++ attribute init_priority in
215 gcc 2.95.2 and later.
216
217 2000-07-11 Kazu Hirata <kazu@hxi.com>
218
219 * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
220 message.
221
222 2000-07-10 Alan Modra <alan@linuxcare.com.au>
223
224 * ldemul.h (struct lang_input_statement_struct): Remove forward
225 declaration.
226 (struct search_dirs): Likewise.
227 * ldfile.h (struct lang_input_statement_struct): Likewise.
228 Protect file from multiple inclusion.
229 * ldlang.h (LANG_FOR_EACH_INPUT_STATEMENT): Move file_chain
230 declaration from macro to file scope.
231
232 * ldemul.c: ldexp.h,ldlang.h,ldfile.h,ldemul.h go in this order.
233 * ldgram.y: Likewise here.
234 * ldlang.c: And here.
235 * ldmain.c: And here.
236 * mpw-elfmips.c: And here.
237 * mpw-eppcmac.c: And here.
238 * emultempl/aix.em: And here.
239 * emultempl/armcoff.em: And here.
240 * emultempl/armelf.em: And here.
241 * emultempl/armelf_oabi.em: And here.
242 * emultempl/beos.em: And here.
243 * emultempl/elf32.em: And here.
244 * emultempl/hppaelf.em: And here.
245 * emultempl/linux.em: And here.
246 * emultempl/lnk960.em: And here.
247 * emultempl/pe.em: And here.
248 * emultempl/sunos.em: And here.
249 * mpw-esh.c: And here. Include ldexp.h and ldlang.h too.
250 * mpw-idtmips.c: Ditto.
251 * emultempl/generic.em: Ditto.
252 * emultempl/gld960.em: Ditto.
253 * emultempl/gld960c.em: Ditto.
254 * emultempl/mipsecoff.em: Ditto.
255 * emultempl/ticoff.em: Ditto.
256 * emultempl/vanilla.em: Ditto.
257
258 * pe-dll.c: Include ldfile.h
259 * ldver.c: Include ldexp.h, ldlang.h, ldfile.h
260
261 * mpw-elfmips.c: (gldelf32ebmip_before_allocation): Add missing
262 arguments to bfd_elf32_size_dynamic_sections call.
263 (gldelf32ebmip_place_orphan): Add missing arguments to
264 lang_leave_output_section_statement call.
265
266 2000-07-10 H.J. Lu <hjl@gnu.org>
267
268 * emultempl/pe.em (pe_enable_stdcall_fixup): Protect with
269 DLL_SUPPORT.
270 (strhash): Likewise.
271 (compute_dll_image_base): Likewise.
272 (pe_undef_found_sym): Likewise.
273 (pe_undef_cdecl_match): Likewise.
274 (gld_${EMULATION_NAME}_open_dynamic_archive): Mark the
275 argument "arch" with ATTRIBUTE_UNUSED.
276
277 2000-07-10 Alan Modra <alan@linuxcare.com.au>
278
279 * configure.tgt: Remove extraneous hppa*-*-linux-gnu*.
280
281 From Ryan Bradetich <rbradetich@uswest.net>
282 * ldwrite.c (SSIZE): Remove to cure macro redefinition warning.
283
284 2000-07-09 Alan Modra <alan@linuxcare.com.au>
285
286 Changes to create multiple linker stubs, positioned immediately
287 before the section where they are required.
288 * emultempl/hppaelf.em: Include elf32-hppa.h.
289 (stub_sec, file_chain): Delete.
290 (hppaelf_create_output_section_statements): Don't make a stub
291 section here.
292 (hook_stub_info): New struct.
293 (hook_in_stub): New function.
294 (hppaelf_add_stub_section): New function.
295 (hppaelf_finish): Do nothing for relocateable links. Modify the
296 call to elf32_hppa_size_stubs. Move code for updating section
297 layout from here...
298 (hppaelf_layaout_sections_again): ..to here, a new function.
299
300 * emultempl/hppaelf.em (hppaelf_delete_padding_statements): Fix
301 broken list handling. Pass in a pointer to the list.
302 (hppaelf_finish): Update call to hppaelf_delete_padding_statements
303 for above changes.
304 (hppaelf_before_parse): Prototype.
305 (hppaelf_set_output_arch): Prototype.
306 (hppaelf_create_output_section_statements): Prototype.
307 (hppaelf_delete_padding_statements): Prototype.
308 (hppaelf_finish): Prototype.
309
310 Merge from elf32.em
311 * emultempl/hppaelf.em: Include ctype.h.
312 (struct orphan_save): New.
313 (gld${EMULATION_NAME}_place_orphan): New.
314 (output_rel_find): New.
315 (hppaelf_get_script): Update from elf32.em.
316 (ld_hppaelf_emulation): Rename to ld_${EMULATION_NAME}_emulation.
317 Change emulation_name field to "${EMULATION_NAME}". Add
318 gld${EMULATION_NAME}_place_orphan.
319
320 * Makefile.am (ALL_EMULATIONS): Reinstate ehppaelf.o, add
321 ehppalinux.o, sort it. Regenerate dependencies.
322 (ehppalinux.c): Depend on hppaelf.em
323 * Makefile.in: Regenerate.
324
325 * configure.tgt: targ_emul=hppalinux for hppa*linux
326
327 * emulparams/hppalinux.sh: New.
328 * emulparams/hppaelf.sh (TARGET_PAGE_SIZE): Write in hex.
329
330 2000-07-08 Alan Modra <alan@linuxcare.com.au>
331
332 * lexsup.c (parse_args): Copy section name.
333
334 2000-07-07 Charles Wilson <cwilson@ece.gatech.edu>
335
336 * emultempl/pe.em: institute the following search order for
337 dynamic libraries on pei386: libfoo.dll.a, foo.dll.a (import
338 libs), libfoo.dll, foo.dll (link direct to dll). Fall back to
339 static lib (libfoo.a) if none of the above are found.
340
341 2000-07-07 Mumit Khan <khan@xraylith.wisc.edu>
342
343 * emultempl/pe.em (pe_enable_auto_image_base): New variable.
344 (longopts): New --{enable,disable}-auto-image-base options.
345 (gld_${EMULATION_NAME}_list_options): Document.
346 (gld_${EMULATION_NAME}_parse): Handle.
347 (strhash): New static function.
348 (compute_dll_image_base): New static function.
349 (gld_${EMULATION_NAME}_set_symbols): Use.
350
351 2000-07-05 DJ Delorie <dj@redhat.com>
352
353 * MAINTAINERS: new
354
355 2000-07-01 Koundinya K <kk@ddeorg.soft.net>
356
357 * configure.tgt: Add traditional mips (mips*-*-sysv4*) target.
358 * emulparams/elf32btsmip.sh: New file.
359 * Makefile.am: Add traditional mips target.
360 * Makefile.in: Rebuild.
361
362 2000-07-01 H.J. Lu <hjl@gnu.org>
363
364 * Makefile.am (EXTRA_ld_new_SOURCES): Set to deffilep.y for
365 automake to use YLWRAP.
366 * Makefile.in: Rebuild.
367
368 2000-07-01 Alan Modra <alan@linuxcare.com.au>
369
370 * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
371 (CLEANFILES): Add DEPA.
372 * Makefile.in: Regenerate.
373
374 2000-06-30 Timothy Wall <twall@ppc>
375
376 * scripttempl/tic54xcoff.sc: PAGE N is not implemented, so encode
377 the page in the upper octet of the address.
378
379 2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
380
381 * emulparams/avrmega161.sh (ARCH): Change to avr:5.
382
383 2000-06-24 Alan Modra <alan@linuxcare.com.au>
384
385 * NEWS: arm-elf does --gc-sections too.
386
387 2000-06-22 Alan Modra <alan@linuxcare.com.au>
388
389 * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
390 find one.
391 * Makefile.in: Regenerate.
392
393 2000-06-21 H.J. Lu <hjl@gnu.org>
394
395 * Makefile.am: Rebuild dependency.
396 * Makefile.in: Rebuild.
397
398 2000-06-20 H.J. Lu <hjl@gnu.org>
399
400 * Makefile.am: Rebuild dependency.
401 * Makefile.in: Rebuild.
402
403 2000-06-20 Timothy Wall <twall@cygnus.com>
404
405 * scripttempl/tic54xcoff.sc: New.
406 * ldlang.c (wild_doit): Propagate SEC_BLOCK flag.
407 * gen-doc.texi: Add flag for TI COFF.
408 * ld.texinfo: Add documentation for TI COFF handling switches.
409 * emultempl/ticoff.em: New. TI COFF handling.
410 * configure.tgt: Add tic54x target.
411 * Makefile.am: Add tic54x target.
412 * Makefile.in: Ditto.
413
414 2000-06-20 Alan Modra <alan@linuxcare.com.au>
415
416 * ldmain.c (set_scripts_dir): Correct pointer comparison when
417 checking for backslashes.
418
419 2000-06-19 Alan Modra <alan@linuxcare.com.au>
420
421 * NEWS: Move entries not in 2.10 above "Changes in version 2.10".
422
423 2000-06-18 Alan Modra <alan@linuxcare.com.au>
424
425 * NEWS: Update list of targets supporting --gc-sections.
426
427 * scripttempl/elf.sc: KEEP .eh_frame contents.
428 * scripttempl/elfd30v.sc: Same here.
429
430 2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
431
432 * Makefile.am (ALL_EMULATIONS): Added new emulation for m68hc12
433 and m68hc11 (elf).
434 * Makefile.in: Rebuild.
435 * configure.tgt: Recognize m68hc12 and m68hc11.
436 * scripttempl/elfm68hc12.sc: New file.
437 * emulparams/m68hc12elfb: New emulation.
438 * emulparams/m68hc12elf: New emulation.
439 * emulparams/m68hc11elfb.sh: New file. User configurable emulation
440 (includes a memory.x script to define the ROM and RAM banks).
441 * scripttempl/elfm68hc11.sc, emulparams/m68hc11elf.sh:
442 New configuration files for support of Motorola 68hc11
443
444 2000-06-15 Alan Modra <alan@linuxcare.com.au>
445
446 * ldmain.c (main): Only change SEC_READONLY for final link.
447
448 2000-06-13 H.J. Lu <hjl@gnu.org>
449
450 * configure: Regenerate.
451
452 2000-06-08 David O'Brien <obrien@FreeBSD.org>
453
454 * configure.in (VERSION): Update to show this is the CVS mainline.
455
456 2000-06-07 Michael Sokolov <msokolov@ivan.Harhan.ORG>
457
458 * emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all
459 input objects to be ECOFF.
460 (check_sections): einfo takes %B, not %P, to print a BFD name.
461
462 2000-06-05 Michael Matz <matz@ifh.de>
463
464 * ldgram.y (vers_defns): Handle 'extern "C++" { ... }' in
465 version scripts.
466
467 * ldlex.l (V_IDENTIFIER): Accept `::' in symbols.
468
469 2000-05-23 Marek Michalkiewicz <marekm@linux.org.pl>
470
471 * emulparams/avr1200.sh (STACK): Define as 0.
472 * emulparams/avr23xx.sh (STACK): Define as last internal SRAM address.
473 * emulparams/avr4433.sh (STACK): Likewise.
474 * emulparams/avr44x4.sh (STACK): Likewise.
475 * emulparams/avr85xx.sh (STACK): Likewise.
476 * emulparams/avrmega103.sh (STACK): Likewise.
477 * emulparams/avrmega161.sh (STACK): Likewise.
478 * emulparams/avrmega603.sh (STACK): Likewise.
479 * scripttempl/elf32avr.sc (__data_start): Define for gcrt1.
480 (__stack): Define from ${STACK} for main().
481
482 2000-05-26 Alan Modra <alan@linuxcare.com.au>
483
484 * Makefile.am: Update dependencies with "make dep-am"
485 * Makefile.in: Regenerate.
486
487 2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
488
489 * ldmain.c: Include filenames.h.
490 (set_scripts_dir): Support backslashes in program name.
491
492 2000-05-22 Igor Shevlyakov <igor@windriver.com>
493
494 * ldmain.c (main): When deciding if ".text" section should be
495 read-only, don't forget to reset SEC_READONLY because it
496 could be already set.
497
498 2000-05-22 Thomas de Lellis <tdel@windriver.com>
499
500 * ld.1: Add documentation for new command line option:
501 --section-start <sectionname>=<sectionorg>
502 This is a generic version of -Ttext etc. which accepts
503 any section name as a parameter instead of just text/data/
504 bss.
505 * ld.texinfo: More docs.
506 * NEWS: More docs.
507 * lexsup.c: (parse_args): Recognize new command line option.
508 (ld_options): Add new option.
509
510 2000-05-18 H.J. Lu <hjl@gnu.org>
511
512 * lexsup.c (parse_args): `i' == `r', not `q'.
513
514 Thu May 18 10:47:57 2000 Jeffrey A Law (law@cygnus.com)
515
516 * configure.tgt (hppa*64*-*-*): Enable PA64 target.
517
518 2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
519 Rick Gorton <gorton@scrugs.lkg.dec.com>
520
521 Add support for '-q' == '--emit-relocs' switch.
522 * ldmain.c (main): Default to false.
523 * lexsup.c (parse_args): Turn on emitrelocations flag if set.
524 * NEWS: Describe the emitrelocations switch.
525 * ld.texinfo: Describe the emitrelocations switch.
526
527 2000-05-16 Charles Wilson <cwilson@ece.gatech.edu>
528
529 * ld/emultempl/pe.em (_open_dynamic_archive): New function: Search
530 the library path for "foo.dll" and "libfoo.dll" dynamic libraries
531 before searching for 'libfoo.a' in response to a '-Bdynamic -lfoo'
532 link options.
533
534 2000-05-15 David O'Brien <obrien@FreeBSD.org>
535
536 * lexsup.c (parse_args): Update the year in the copyright notice.
537
538 2000-05-13 Alan Modra <alan@linuxcare.com.au>
539
540 * ld.h (gettext, dgettext, dcgettext, textdomain, bindtextdomain):
541 Replace defines with those from intl/libgettext.h to quieten gcc
542 warnings.
543
544 2000-05-10 H.J. Lu <hjl@gnu.org>
545
546 * ldlang.c (open_input_bfds): Don't load the same file within
547 a group again if the whole archive has been loaded already.
548
549 2000-05-03 Alan Modra <alan@linuxcare.com.au>
550
551 From Ulf Carlsson <ulfc@engr.sgi.com> and Andreas Jaeger <aj@suse.de>
552 * lexsup.c (set_section_start): Use bfd_scan_vma rather than
553 strtoul.
554
555 Mon May 1 17:34:34 2000 Jim Wilson <wilson@cygnus.com>
556
557 * configure.host (ia64-*-linux-gnu*): Change gcc to ${CC}.
558
559 * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
560 host "ia64-*-linux-gnu*".
561
562 2000-04-29 Andreas Jaeger <aj@suse.de>
563
564 * ld.h: Correctly check GCC version.
565
566 Tue Apr 25 11:20:43 2000 Jeffrey A Law (law@cygnus.com)
567
568 * Makefile.am: Add PA64 support. Add missing dependencies for
569 PA32 elf support.
570 * Makefile.in: Rebuilt.
571 * configure.tgt: Add PA64 support (currently disabled).
572
573 2000-04-25 Alan Modra <alan@linuxcare.com.au>
574
575 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete.
576 (output_rel_find): New function.
577 (hold_section, hold_use): Delete.
578 (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
579 hold_interp): Make local to place_orphan.
580 (gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find
581 rather than place_section to find possible previous use of orphan.
582 Similarly find the place-holder output sections. Use returned
583 value from lang_enter_output_section_statement rather than calling
584 lang_output_section_statement_lookup.
585 * emultempl/armelf.em: Same here.
586 * emultempl/pe.em: Similar to above, but no need for output_rel_find.
587
588 * ldlang.c (lang_enter_output_section_statement): Return output
589 section statement.
590 * ldlang.h (lang_enter_output_section_statement): Change
591 declaration too.
592
593 * ldlang.h (lang_output_section_statement): Export it.
594 * ldlang.c (lang_output_section_statement): Ditto.
595
596 2000-04-24 Nick Clifton <nickc@cygnus.com>
597
598 * ld.texinfo (Output Section Data): Add note that section data
599 commands cannot appear outside of section directives.
600
601 2000-04-2 Matthew Green <mrg@cygnus.com>
602
603 * configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support.
604
605 Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com>
606 David Mosberger <davidm@hpl.hp.com>
607
608 * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o.
609 (eelf64_ia64.c): New rule.
610 * Makefile.in: Rebuild.
611 * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets.
612 * emulparams/elf64_ia64.sh: New file.
613
614 2000-04-21 Richard Henderson <rth@cygnus.com>
615
616 * scripttempl/elfd30v.sc: Place .gcc_except_table.
617
618 2000-04-19 Alan Modra <alan@linuxcare.com.au>
619
620 * dep-in.sed: Match space at start of file name, not at end.
621
622 2000-04-18 H.J. Lu <hjl@gnu.org>
623
624 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
625 lang_leave_output_section_statement () after calling
626 lang_enter_output_section_statement ().
627 * emultempl/armelf.em: Likewise.
628
629 2000-04-18 Alan Modra <alan@linuxcare.com.au>
630
631 * emultempl/elf32.em (struct orphan_save): Add section field.
632 (gld${EMULATION_NAME}_place_orphan): Use above to keep sections in
633 better order, and place first orphan section as we did before the
634 2000-04-12 patch. Ignore ~SEC_ALLOC sections when choosing place.
635 Don't call make_bfd_section here, let wild_doit do the job for us.
636 Don't build a statement list when we'll only throw it away.
637 * emultempl/armelf.em: Ditto.
638 * emultempl/pe.em: Similarly.
639
640 2000-04-14 Geoff Keating <geoffk@cygnus.com>
641
642 * scripttempl/elfppc.sc: Remove.
643 * emulparams/elf32ppc.sh: Use elf.sc.
644 * emulparams/elf32lppc.sh: Use elf.sc.
645 * emulparams/elf32ppclinux.sh: Use elf.sc.
646 * emulparams/elf32ppcsim.sh: New file.
647 * emulparams/elf32lppcsim.sh: New file.
648 * Makefile.am: Update dependencies. Add elf32ppcsim ad elf32lppcsim.
649 (ALL_EMULATIONS): Add elf32ppcsim ad elf32lppcsim.
650 * Makefile.in: Regenerate.
651 * configure.tgt (powerpc-*): Add elf32ppcsim and elf32lppcsim.
652
653 2000-04-14 Alan Modra <alan@linuxcare.com.au>
654
655 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process
656 ~SEC_ALLOC sections too. Init start address of debug sections.
657 * emultempl/armelf.em (gld${EMULATION_NAME}_place_orphan): Ditto.
658 * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Ditto.
659 Also set all relocateable section start addresses.
660
661 2000-04-13 Geoff Keating <geoffk@cygnus.com>
662
663 * scripttempl/elf.sc: Add support for .sbss2 and .sdata2 sections.
664 Add new BSS_PLT variable for when .plt need not be contained in
665 the file. Move _etext so that it is also after .fini, and provide
666 both etext and _etext with a leading underscore. Mark the start
667 and end of .sbss.
668
669 2000-04-12 Alan Modra <alan@linuxcare.com.au>
670
671 * emultempl/elf32.em (struct orphan_save): New.
672 (hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
673 hold_interp): Make them struct orphan_save.
674 (gld${EMULATION_NAME}_place_section): Modify for new hold_*.
675 (gld${EMULATION_NAME}_place_orphan): Add new orphan sections to
676 the end of the relevant section list. Also add associated section
677 statements to the end of any previous orphan statements.
678 * emultempl/armelf.em: Similarly.
679 * emultempl/pe.em: Similarly.
680
681 2000-04-11 Alan Modra <alan@linuxcare.com.au>
682
683 * ld.texinfo (Simple Example): Remove extraneous paragraph.
684
685 Fri Apr 7 15:56:57 2000 Andrew Cagney <cagney@b1.cygnus.com>
686
687 * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
688 --enable-build-warnings option.
689 * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
690 * Makefile.in, configure: Re-generate.
691
692 2000-04-04 Alan Modra <alan@linuxcare.com.au>
693
694 * po/ld.pot: Regenerate.
695
696 * lexsup.c (help): Restore translated part of bug string.
697
698 * Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
699 (DEP): Quote when passing vars to sub-make. Add warning message
700 to end.
701 (DEP1): Rewrite for "gcc -MM".
702 (CLEANFILES): Add DEP2.
703 Update dependencies.
704 * Makefile.in: Regenerate.
705
706 2000-04-03 Alan Modra <alan@linuxcare.com.au>
707
708 * ld.h: #include "bin-bugs.h"
709 * lexsup.c (help): Use REPORT_BUGS_TO.
710
711 2000-03-27 Denis Chertykov <denisc@overta.ru>
712
713 * configure.tgt (avr-*-*): New target support.
714 * Makefile.am: Likewise.
715 * scripttempl/elf32avr.sc: New script file.
716 * emulparams/avr1200.sh: New file.
717 * emulparams/avr23xx.sh: New file.
718 * emulparams/avr4433.sh New file.
719 * emulparams/avr44x4.sh New file.
720 * emulparams/avr85xx.sh New file.
721 * emulparams/avrmega103.sh New file.
722 * emulparams/avrmega161.sh New file.
723 * emulparams/avrmega603.sh New file.
724 * Makefile.in: Regenerate.
725
726 2000-03-09 Andreas Jaeger <aj@suse.de>
727
728 * Makefile.am (check-DEJAGNU): Also unset LANG.
729 * Makefile.in: Rebuild.
730
731 2000-03-06 Ian Lance Taylor <ian@zembu.com>
732
733 * ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty
734 archive.
735
736 2000-03-02 H.J. Lu <hjl@gnu.org>
737
738 * emulparams/elf32mcore.sh: Include "getopt.h".
739
740 2000-03-01 Ian Lance Taylor <ian@zembu.com>
741
742 * configure.tgt: Remove *-*-aout, *-*-coff, and *-*-netware.
743
744 2000-03-01 H.J. Lu <hjl@gnu.org>
745
746 * emulparams/mipspe.sh: Add SUBSYSTEM and INITIAL_SYMBOL_CHAR.
747 * emulparams/shpe.sh: Likewise.
748
749 2000-03-01 Nick Clifton <nickc@cygnus.com>
750
751 * pe-dll.c: Remove unused variables and add ATTRIBUTE_UNUSED
752 to unused parameters.
753
754 * emultempl/pe.em: Add "#ifdef DLL_SUPPORT" around static
755 functions only used by DLL code.
756 (_place_orphan): Initialise 'dollar'.
757
758 2000-03-01 H.J. Lu <hjl@gnu.org>
759
760 * ldmain.c (undefined_symbol): Take one more arg, fatal, to
761 indicate if the undefined symbol is a fatal error or not.
762 Don't delete the output file if "fatal" is false.
763
764 2000-02-29 H.J. Lu <hjl@gnu.org>
765
766 * Makefile.am (check-DEJAGNU): Also pass LIBS="$(LIBS)".
767 Set LC_COLLATE and LC_ALL to null and export them. It is for
768 sort which expects the C locale.
769 Add $(LIBS) to all $(HOSTING_LIBS).
770 * Makefile.in: Rebuild.
771
772 2000-02-29 Alan Modra <alan@spri.levels.unisa.edu.au>
773
774 * emultempl/{aix.em, armcoff.em, armelf.em, armelf_oabi.em,
775 beos.em, elf32.em, generic.em, gld960.em, gld960c.em, hppaelf.em,
776 linux.em, lnk960.em, mipsecoff.em, sunos.em, vanilla.em}
777 (ld_emulation_xfer_struct): Add missing NULL initialiser for
778 find_potential_libraries.
779
780 2000-02-28 Jim Blandy <jimb@redhat.com>
781
782 * ldgram.y (exclude_name_list): Don't require a comma to separate
783 list entries; the lexer considers commas to be valid part of a
784 filename, so in something like `foo, bar' the comma is considered
785 part of the first filename, `foo,'.
786 * ld.texinfo: Update section on EXCLUDE_FILE lists.
787
788 2000-02-27 Loren J. Rittle <ljrittle@acm.org>
789
790 * configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
791 host "i[3456]86-*-freebsdelf*".
792
793 2000-02-27 Mark Elbrecht <snowball3@bigfoot.com>
794
795 * scripttempl/i386go32.sc: Move misplaced semicolons.
796
797 2000-02-25 Ian Lance Taylor <ian@zembu.com>
798
799 * Makefile.am (ALL_EMULATIONS): Remove ehppaelf.o.
800 (ALL_64_EMULATIONS): Remove eelf64hppa.o.
801 (eelf64hppa.c, ehppaelf.c): Remove targets.
802 * Makefile.in: Rebuild.
803
804 2000-02-25 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
805
806 * configure.tgt (targ_extra_ofiles): Enable elf64_sparc on
807 GNU/Linux/sparc, but keep the default as 32.
808
809 * configure.tgt: Enable elf64_sparc on Solaris7+/sparc. And make
810 it default if sparcv9 or sparc64.
811
812 2000-02-24 Nick Clifton <nickc@cygnus.com>
813
814 * Makefile.am: Add rules to build emipspe.o and earmpe.o.
815 * Makefile.in: Regenerate.
816 * configure.tgt: Add targets for arm-wince, sh-pe and mips-pe.
817
818 * ldemul.h (ld_emulation_xfer_struct): Add new field:
819 find_potential_libraries.
820 * ldemul.c (ldemul_find_potential_libraries): New function.
821
822 * ldfile.c (ldfile_open_file_search): Allow function to be
823 exported.
824 (ldfile_open_file): Call ldemul_find_potential_libraries.
825 * ldfile.h: Add prototype for ldfile_open_file_search.
826
827 * pe-dll.c: Add support for ARM, MIPS and SH targets.
828
829 * emulparams/mipspe.sh: New file. Parameters for mips-pe target.
830 * emulparams/shpe.sh: New file. Parameters for sh-pe target.
831
832 * emultempl/pe.em: Add support for ARM, MIPS and SH DLLs.
833 (gld_X_find_potential_libraries): New function. Search for
834 libraries called "*.lib".
835
836 * scriptempl/pe.sc: Add .pdata section.
837
838 2000-02-23 Richard Henderson <rth@cygnus.com>
839
840 * scripttempl/elfd10v.sc: Remove dynamic linking hooks.
841 Add and use memory regions.
842
843 2000-02-23 Linas Vepstas (linas@linas.org)
844
845 * emulparams/elf32i370.sh, scripttempl/elfi370.sc: New.
846
847 * Makefile.am: Add support for Linux/IBM 370.
848 * configure.tgt: Likewise.
849
850 * Makefile.in: Regenerate.
851
852 2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
853
854 * ldlang.c (print_input_section, print_data_statement,
855 print_reloc_statement, print_padding_statement, insert_pad,
856 size_input_section, lang_check_section_addresses,
857 lang_size_sections, lang_do_assignments, lang_set_startof,
858 lang_one_common): Change `opb' to unsigned.
859 (lang_do_assignments): Also change `size' to unsigned.
860
861 2000-02-16 Richard Henderson <rth@cygnus.com>
862
863 * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION.
864
865 2000-02-16 Timothy Wall <twall@cygnus.com>
866
867 * mri.c (mri_draw_tree): Add default LMA region argument to call
868 to lang_leave_output_section_statement.
869 * ldlang.h: Update prototypes with LMA region arguments.
870 * ldlang.c (lang_size_sections): Encapsulate region bounds
871 checking in os_check_region call.
872 (os_check_region): New function.
873 (lang_output_section_statement_lookup): Initialize lma_region.
874 (lang_leave_output_section_statement): Add LMA region argument.
875 (lang_leave_overlay): Ditto.
876 * ldgram.y: Handle LMA region syntax.
877 * ld.texinfo (Output Section Description): Describe LMA region usage.
878 * emultempl/armelf.em (gld$place_orphan): Add default value for
879 lma region in call to lang_leave_output_section_statement.
880 * emultempl/elf32.em (gld$place_orphan): Add default value for
881 lma region in call to lang_leave_output_section_statement.
882 * emultempl/pe.em (gld$place_orphan): Add default value for
883 lma region in call to lang_leave_output_section_statement.
884
885
886 2000-02-04 Timothy Wall <twall@redhat.com>
887
888 * ldlang.c (lang_check_section_addresses): Use bytes instead of
889 octets when calculating section end addresses.
890
891 2000-02-04 Timothy Wall <twall@redhat.com>
892
893 * ldlang.c (lang_size_sections): Fix typo in ALIGN_N invocation.
894
895 2000-02-03 Timothy Wall <twall@redhat.com>
896
897 * ld/ldexp.c (fold_name): Make SIZEOF operator return byte count, not
898 octet count.
899 * ld/ldlang.c (print_input_section, print_data_statement,
900 print_reloc_statement, print_padding_statement): Print target
901 address values and section sizes as bytes, not octets.
902 (insert_pad) Calculate padding size in octets, and adjust "dot"
903 by bytes.
904 (size_input_section) Always adjust "dot" by bytes, not octets.
905 (lang_check_section_addresses, lang_do_assignments) Adjust
906 "dot" by bytes, not octets. Use the larger of the directive size
907 or octets_per_byte for the number of octets actually allocated in
908 the output section.
909 (lang_set_startof) Make sure STARTOF returns a target address.
910 (lang_one_common) Record size changes in octets.
911 (lang_abs_symbol_at_end_of) Section end symbol's value is
912 recorded in target bytes.
913 * ld.texinfo: Updated description of BYTE, SHORT, LONG, etc.
914 to be clear about behavior when an octet is smaller than one byte.
915
916 2000-01-27 Alan Modra <alan@spri.levels.unisa.edu.au>
917
918 * ldcref.c (output_cref): Don't pass message strings to printf
919 as format arg.
920 Update copyright.
921
922 * ldmisc.c (vfinfo): Same here.
923 Update copyright.
924
925 2000-01-23 Alan Modra <alan@spri.levels.unisa.edu.au>
926
927 * emultempl/{armcoff.em,armelf.em,armelf_oabi.em,beos.em,
928 generic.em,gld960.em,gld960c.em,hppaelf.em,linux.em,lnk960.em,
929 mipsecoff.em,sunos.em,vanilla.em} (ld_emulation_xfer_struct):
930 Add missing NULL initialisers, and comments.
931
932 * testsuite/ld-srec/sr3.cc (__rethrow): New.
933
934 2000-01-21 Nick Clifton <nickc@cygnus.com>
935
936 * ldlang.c (lang_size_sections): Fix typo in comment.
937
938 2000-01-18 H.J. Lu <hjl@gnu.org>
939
940 * ldlang.c (lang_size_sections): Also update the current
941 address of a region if the SEC_NEVER_LOAD bit is not set.
942
943 2000-01-10 Philip Blundell <pb@futuretv.com>
944
945 * configure.tgt (arm*-*-conix*): New target.
946
947 2000-01-07 Nick Clifton <nickc@cygnus.com>
948
949 * ld.texinfo (Options): Remind users to preceed linker command
950 line switches with -Wl, (or whatever is appropriate) if it is
951 being invoked by a comnpiler driver program.
952 Fix description of the behaviour of the -n command line switch.
953
954 Wed Jan 5 08:02:12 2000 Catherine Moore <clm@cygnus.com>
955
956 * ld.h (wildcard_spec): Change exclude_name to exclude_name_list.
957 (name_list): New.
958 * ld.texinfo (EXCLUDE_FILE): Update documentation.
959 * ldgram.y (wildcard_spec): Support a list of excluded_files.
960 (exclude_name_list): New.
961 ldlang.c (walk_wild_section): Support list of excluded files.
962 (print_wild_statement): Likewise.
963 (lang_add_wild): Likewise.
964 * ldlang.h (lang_wild_statement_type): Likewise.
965 * scripttempl/elf.sc (OTHER_EXCLUDE_FILES): Support.
966
967 2000-01-04 Mumit Khan <khan@xraylith.wisc.edu>
968
969 * pe-dll.c (pe_dll_warn_dup_exports): New variable.
970 (process_def_file): Use.
971 (pe_dll_compat_implib): New variable.
972 (make_one): Use.
973
974 * pe-dll.h: Add exports of pe_dll_warn_dup_exports and
975 pe_dll_compat_implib.
976
977 * emultempl/pe.em (longopts): Add warn-duplicate-exports and
978 compat-implib options.
979 (gld_${EMULATION_NAME}_list_options): List new options.
980 (gld_${EMULATION_NAME}_parse_args): Handle.
981
982 * pe-dll.c (pe_dll_generate_implib): Use the correct name for output
983 dll.
984
985 * deffilep.y (opt_name): Allow "." in name.
986
987 1999-12-02 Nick Clifton <nickc@cygnus.com>
988
989 * Makefile.am: Fix arm-epoc-pe dependencies.
990 * Makefile.in: Regenerate.
991
992 * emulparams/arm_epoc_pe.sh (SCRIPT_NAME): Set to epocpe.
993
994 * scripttempl/epocpe.sc: New file: copy of pe.sc, customised for
995 EPOC by placing .rdata into .text.
996
997 1999-11-26 Andreas Schwab <schwab@suse.de>
998
999 * configure.in: Put AC_MSG_CHECKING/AC_MSG_RESULT around check for
1000 STRINGIFY. Use yes/no instead of true/false as value for cache
1001 variable.
1002 * configure: Regenerate.
1003
1004 1999-11-24 Nick Clifton <nickc@cygnus.com>
1005
1006 * ldlang.c (IGNORE_SECTION): Section must have both ALLOC and LOAD
1007 attributes in order to be checked.
1008
1009 1999-11-22 Nick Clifton <nickc@cygnus.com>
1010
1011 * ldlang.c (lang_check_section_addresses): Fix test to determine
1012 if a section should be tested.
1013 (IGNORE_SECTION): New macro.
1014
1015 Wed Nov 3 23:31:19 1999 Jeffrey A Law (law@cygnus.com)
1016
1017 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1018 Clean up code to use EXTRA_SHLIB_EXTENSION.
1019
1020 1999-11-03 Nick Clifton <nickc@cygnus.com>
1021
1022 * emulparams/elf32mcore.sh (OUTPUT_FORMAT): Change to little endian.
1023 * emulparams/mcorepe.sh (OUTPUT_FORMAT): Change to little endian.
1024
1025 1999-11-01 Steve Chamberlain <sac@pobox.com>
1026
1027 * ldlang.c (section_already_linked): Rework to use hash table.
1028 (already_linked_newfunc): New function.
1029 (already_linked_table_init): New function.
1030 (already_linked_table_free): New function.
1031 (lang_process): Initialize and free the already_linked hash table.
1032
1033 1999-10-27 Andreas Jaeger <aj@suse.de>
1034
1035 * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1036 target "mips*-*-linux-gnu*".
1037
1038 1999-10-27 Scott Bambrough <scottb@netwinder.org>
1039
1040 * emultempl/armelf.em: Include ctype.h to prevent compile time
1041 warnings.
1042
1043 1999-10-26 Nick Clifton <nickc@cygnus.com>
1044
1045 * emultempl/armcoff.em (gld{}_finish): Remove extraneous
1046 underscore from prototype.
1047 * emultempl/armelf.em (gld{}_finish): Remove extraneous
1048 underscore from prototype.
1049
1050 1999-10-07 Geoffrey Keating <geoffk@cygnus.com>
1051
1052 * scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
1053 being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*.
1054 (.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*.
1055 (.rel.sbss): Make like .rel.bss.
1056 (.rela.sbss): Make like .rel.bss.
1057 (.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
1058 ld -r.
1059 (.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS,
1060 .dynsbss.
1061
1062 1999-09-29 Andrew Haley <aph@cygnus.com>
1063
1064 * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Defer
1065 merging sections when not relocating.
1066
1067 1999-09-28 Mumit Khan <khan@xraylith.wisc.edu>
1068
1069 * pe-dll.c (process_def_file): Move the offset lookup from here to
1070 (fill_exported_offsets): here. New static function.
1071 (fill_edata): Use.
1072
1073 1999-09-28 Mumit Khan <khan@xraylith.wisc.edu>
1074
1075 * deffilep.y (tokens): Add upper and lower case versions of DATA,
1076 CONSTANT, NONAME and PRIVATE tokens.
1077 (command): Use DATAU.
1078 (expline): Allow for drectve syntax as well.
1079 (exp_opt_list): Likewise.
1080 (exp_opt): Likewise.
1081 * pe-dll.c (make_one): Only generate the idata entries for data
1082 symbols.
1083
1084 1999-09-28 Geoffrey Keating <geoffk@cygnus.com>
1085
1086 * scripttempl/elf.sc (.sdata): Include .gnu.linkonce.s.* sections
1087 in .sdata too.
1088
1089 1999-09-26 Nick Clifton <nickc@cygnus.com>
1090
1091 * scripttempl/elf.sc (.bss): Accept sections named .bss.*
1092 (.sbss): Accept sections names .sbss.*
1093
1094 1999-09-22 Nick Clifton <nickc@cygnus.com>
1095
1096 * Makefile.am: Add earm_epoc_pe.c build target.
1097
1098 Sat Sep 18 07:57:10 1999 Jeffrey A Law (law@cygnus.com)
1099
1100 * emulparms/elf64hppa.sh (OTHER_READONLY_SYMBOLS): Remove ".stubs",
1101 they've been renamed to ".stub", which is handled automatically
1102 by elf.sc.
1103
1104 Fri Sep 17 11:00:33 1999 Jeffrey A Law (law@cygnus.com)
1105
1106 * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Kill completely.
1107 (DATA_START_SYMBOLS): Kill __hp_load_map definition
1108
1109 Thu Sep 16 10:59:56 1999 Jeffrey A Law (law@cygnus.com)
1110
1111 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1112 Use the same filename extension for the bfd_elf_dt_needed_name call
1113 as we did for finding the library.
1114
1115 * emulparms/elf64hppa.sh (DATA_START_SYMBOLS): Define.
1116 (OTHER_READWRITE_SECTIONS): No longer define __hp_load_map.
1117
1118 * emulparms/elf64hppa.sh (TEXT_START_SYMBOLS): Define.
1119
1120 Wed Sep 15 02:47:43 1999 Jeffrey A Law (law@cygnus.com)
1121
1122 * emulparms/elf64hppa.sh (SHLIB_TEXT_START_ADDR): Define.
1123 (SHLIB_DATA_ADDR): Likewise.
1124
1125 * emulparms/elf64hppa.sh (TEXT_DYNAMIC): Define.
1126
1127 * emulparms/elf64hppa.h (OTHER_READWRITE_SECTIONS): No longer combine
1128 the .plt, .dlt, .opd into a single output section. Provide values
1129 for __gp and __hp_load_map.
1130
1131 1999-09-14 Michael Meissner <meissner@cygnus.com>
1132
1133 * configure.in (Canonicalization of target names): Remove adding
1134 ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
1135 generates $ac_config_sub with a ${CONFIG_SHELL} already.
1136 * configure: Regenerate.
1137
1138 1999-09-14 Donn Terry <donn@interix.com>
1139
1140 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): allow for
1141 terminating null.
1142
1143 1999-09-14 Ulrich Drepper <drepper@cygnus.com>
1144
1145 * configure.in: Define EXTRA_SHLIB_EXTENSION to ".sl" for HP target.
1146 * config.in: Add EXTRA_SHLIB_EXTENSION.
1147
1148 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1149 Search for second shared lib extension only if EXTRA_SHLIB_EXTENSION
1150 is defined.
1151
1152 1999-09-14 Nick Clifton <nickc@cygnus.com>
1153
1154 * Makefile.in: Add earm_epoc_pe.c build target.
1155
1156 Tue Sep 14 05:26:34 1999 Jeffrey A Law (law@cygnus.com)
1157
1158 * emulparms/elf64hppa.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.dlt.
1159
1160 1999-09-13 Donn Terry <donn@interix.com>
1161
1162 * emultempl/pe.em: Remove the output file at the start, in case it
1163 is not writable.
1164
1165 Mon Sep 13 00:17:18 1999 Jeffrey A Law (law@cygnus.com)
1166
1167 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
1168 Search for file with .sl extension if no file with a .so extension
1169 is found.
1170
1171 * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Put .plt
1172 at the start of the .dlt output section.
1173
1174 1999-09-12 Ian Lance Taylor <ian@zembu.com>
1175
1176 * pe.em: Don't include "../bfd/libbfd.h".
1177 (gld_${EMULATION_NAME}_after_open): Use xmalloc rather than
1178 bfd_alloc.
1179
1180 * pe-dll.h: New file.
1181 * pe-dll.c: Include "pe-dll.h". Mark unused arguments as needed
1182 to avoid warnings.
1183 (edata_sz, reloc_sz): Change from int to size_t.
1184 (pe_details_type): Change type of imagebase_reloc from int to
1185 unsigned int.
1186 (pe_detail_list): Fully initialize last entry.
1187 (pe_dll_id_target): Change parameter to const.
1188 (pe_dll_generate_def_file): Likewise.
1189 (pe_dll_generate_implib): Likewise.
1190 (pe_implied_import_dll): Likewise. Change dll_name to const.
1191 * emultempl/pe.em: Include "pe-dll.h". Remove declarations now in
1192 pe-dll.h.
1193 (init): Fully initialize __dll__ entry.
1194 (gld_${EMULATION_NAME}_after_open): Remove unused variables
1195 sequence, elt, and i.
1196 * deffile.h: Add preprocessor guard.
1197 * deffilep.y (def_debug): Remove.
1198 * Makefile.am: Rebuild dependencies.
1199 (HFILES): Add pe-dll.h.
1200
1201 1999-09-12 Donn Terry <donn@interix.com>
1202
1203 * ld.h (ld_abort): Declare.
1204 (abort): Define.
1205 * ldmisc.c (ld_abort): Define.
1206
1207 * scripttempl/pe.sc: Use ${ENTRY} rather than _mainCRTStartup.
1208 Move .bss section after .rdata. Move .reloc section after .rsrc.
1209
1210 * lexsup.c (parse_args): Use strtoul for --split-by-reloc
1211 argument.
1212
1213 * lexsup.c (parse_args): If we get an unrecognized argument,
1214 mention --help.
1215
1216 * ldlang.c (section_already_linked): Use comdat information if it
1217 is available.
1218
1219 * emultempl/pe.em (PE_DEF_SECTION_ALIGNMENT): If
1220 OVERRIDE_SECTION_ALIGNMENT is defined, change to that.
1221 (gld_${EMULATION_NAME}_before_parse): Use EXECUTABLE_NAME if it is
1222 defined, rather than a.exe.
1223 (init): Define __subsystem__ as ${SUBSYSTEM}.
1224 (set_pe_subsystem): Add ${INITIAL_SYMBOL_CHAR} before entry symbol
1225 name.
1226
1227 1999-09-12 Ian Lance Taylor <ian@zembu.com>
1228
1229 * ldlang.c (open_output): Change local variable desired_endian
1230 from int to enum bfd_endian.
1231
1232 * emulparams/arm_epoc_pe.sh: Define ENTRY, SUBSYSTEM and
1233 INITIAL_SYMBOL_CHAR.
1234 * emulparams/armpe.sh: Likewise.
1235 * emulparams/morepe.sh: Likewise.
1236 * emulparams/ppcpe.sh: Likewise.
1237 * emulparams/i386pe.sh (ENTRY): Define as _mainCRTStartup.
1238 (SUBSYSTEM): Define as PE_DEF_SUBSYSTEM.
1239
1240 Fri Sep 10 00:22:50 1999 Jeffrey A Law (law@cygnus.com)
1241
1242 * emulparms/elf64hppa.sh (LIB_PATH): Define.
1243
1244 * emulparms/elf64hppa.sh (OTHER_READONLY_SECTIONS): Put stubs before
1245 unwinders so that they are closer to the text section.
1246 (OTHER_BSS_SECTIONS): Define.
1247 (EXECUTABLE_SYMBOLS): Provide __SYSTEM_ID and _FPU_STATUS.
1248 (INIT_START, INIT_END): Define.
1249 (FINI_START, FINI_END): Define.
1250 * scripttempl/elf.sc: Add support for INIT_START, INIT_END,
1251 FINI_START, FINI_END and OTHER_BSS_SECTIONS.
1252
1253 Thu Sep 9 21:43:58 1999 Jeffrey A Law (law@cygnus.com)
1254
1255 * emulparms/elf64hppa.sh (TEXT_START_ADDR): Move up one page.
1256 (DATA_ADDR): Define.
1257
1258 1999-09-09 Stan Shebs <shebs@andros.cygnus.com>
1259
1260 * emulparams/d10velf.sh (READONLY_START_ADDR): Set to 0x2000004.
1261
1262 1999-09-09 Andreas Schwab <schwab@suse.de>
1263
1264 * ld.texinfo: Fix arguments of @var to not contain punctuation.
1265
1266 Thu Sep 9 05:52:34 1999 Jeffrey A Law (law@cygnus.com)
1267
1268 * emulparms/elf64hppa.sh (OTHER_READWRITE_SECTIONS): Define.
1269
1270 1999-09-08 Ulrich Drepper <drepper@cygnus.com>
1271
1272 * emulparams/elf64hppa.sh (ELFSIZE): New. Set to 64.
1273
1274 Wed Sep 8 00:07:39 1999 Jeffrey A Law (law@cygnus.com)
1275
1276 * emulparms/elf64hppa.sh (ENTRY): Define to main.
1277
1278 1999-09-03 Scott Bambrough <scottb@netwinder.org>
1279
1280 * ld/configure.host: Added HOSTING_CRT0, HOSTING_LIBS for
1281 target "arm*-*-linux-gnu*"
1282
1283 1999-09-04 Steve Chamberlain <sac@pobox.com>
1284
1285 * configure.tgt (pjl-*-*, pj-*-*): New targets.
1286 * emulparams/pjelf.sh: New file.
1287 * emulparams/pjlelf.sh: New file.
1288 * scripttempl/pj.sc: New file.
1289 * Makefile.am (ALL_EMULATIONS): Add epjelf.o and epjlelf.o.
1290 (epjelf.o, epjlelf.o): New targets.
1291 * Makefile.in: Rebuild.
1292
1293 Fri Sep 3 20:17:08 1999 Jeffrey A Law (law@cygnus.com)
1294
1295 * emulparams/elf64hppa.sh (MAXPAGESIZE): Define.
1296 (OTHER_READONLY_SECTIONS, DATA_PLT): Likewise.
1297
1298 Thu Sep 2 14:32:03 1999 Jeffrey A Law (law@cygnus.com)
1299
1300 * emulparams/elf64hppa.sh: New file.
1301 * configure.tgt (hppa*w-*-*): Use elf64hppa emulation.
1302 * Makefile.am (ALL_64_EMULATIONS): Add eelf64hppa.o
1303 (eelf64hppa.c): Add dependencies.
1304 * Makefile.in: Rebuilt.
1305
1306 1999-08-25 Philip Blundell <pb@nexus.co.uk>
1307
1308 * emulparams/armelf.sh (OTHER_BSS_SYMBOLS): Add __end__.
1309 * emulparams/armelf_linux.sh: Likewise.
1310 * emulparams/armelf_linux26.sh: Likewise.
1311
1312 1999-08-24 Nick Clifton <nickc@cygnus.com>
1313
1314 From a patch submitted by Roland McGrath <roland@baalperazim.frob.com>
1315
1316 * configure.tgt (arm-*-netbsd*): New target.
1317 * Makefile.am (ALL_EMULATIONS): Add earmnbsd.o.
1318 (earmnbsd.c): New rule with deps.
1319 * Makefile.on: Regenerate.
1320 * emulparams/armnbsd.sh: New file.
1321
1322 1999-08-23 Nick Clifton <nickc@cygnus.com>
1323
1324 * emulparams/elf32mcore.sh (PARSE_AND_LIST_ARGS): Define.
1325 Implement --base-file command line switch.
1326
1327 * emultempl/elf32.em: Add ability for individual targets to have
1328 their own command line switches by defining PARSE_AND_LIST_ARGS.
1329
1330 1999-08-19 Andreas Schwab <schwab@suse.de>
1331
1332 * configure.host: Use ${CC} instead of gcc for finding compiler
1333 related files.
1334
1335 1999-08-11 Nick Clifton <nickc@cygnus.com>
1336
1337 * scripttempl/mcorepe.sc (OUTPUT_FORMAT): Fix typo.
1338
1339 1999-08-09 Mark Elbrecht <snowball3@bigfoot.com>
1340
1341 * scripttempl/i386go32.sc: Handle g++ exception sections.
1342
1343 1999-08-09 Ian Lance Taylor <ian@zembu.com>
1344
1345 From Wally Iimura <iimura@microunity.com>:
1346 * ldlang.c (lang_size_sections): When checking whether an address
1347 is within a region, don't get confused by wrapping around at the
1348 end of the address space.
1349
1350 1999-08-08 Ian Lance Taylor <ian@zembu.com>
1351
1352 * ldlang.c (wild_doit): Update for renaming of SEC_SHORT to
1353 SEC_SMALL_DATA.
1354
1355 * Makefile.am: Rename .dep* files to DEP*. Change DEP variable to
1356 MKDEP. Rebuild dependencies.
1357 * Makefile.in: Rebuild.
1358
1359 1999-08-08 Jakub Jelinek <jj@ultra.linux.cz>
1360
1361 * configure.host (sparc-*-linux-gnu*): New host.
1362 (sparc64-*-linux-gnu*): New host.
1363
1364 1999-08-06 Ian Lance Taylor <ian@zembu.com>
1365
1366 * lexsup.c (is_num): Reindent.
1367 (parse_args): Mention program name in error message.
1368
1369 * emultempl/ostring.sed: Rename from stringify.sed.
1370 * emultempl/astring.sed: New file.
1371 * Makefile.am (stringify.sed): New target.
1372 (GEN_DEPENDS): Change $(srcdir)/emultempl/stringify.sed to
1373 stringify.sed.
1374 * configure.in: Define and substitute STRINGIFY.
1375 * emultempl/*.em: Use stringify.sed from build directory rather
1376 than source directory.
1377 * emultempl/elf32.em: Use stringify.sed rather than inline sed
1378 script.
1379 * emultempl/gld960.em, emultempl/gld960c.em: Likewise.
1380 * emultempl/hppaelf.em, emultempl/linux.em: Likewise.
1381 * emultempl/lnk960.em, emultempl/sunos.em: Likewise.
1382 * configure, Makefile.in: Rebuild.
1383
1384 1999-08-05 Donn Terry <donn@interix.com>
1385
1386 * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and
1387 INITIAL_SYMBOL_CHAR.
1388 * emulparams/i386pe_posix.sh: New file.
1389 * Makefile.am (YACC): If bison is not in the source tree, use
1390 @YACC@ rather than bison -y.
1391 (LEX): If flex is not in the source tree, use @LEX@ rather than
1392 flex.
1393 (ALL_EMULATIONS): Add ei386pe_posix.o.
1394 (ei386pe_posix.c): New target.
1395 * configure.tgt (i[3456]86-*-interix*): New target.
1396 * configure.host (i[3456]86-pc-interix*): New host.
1397 * Makefile.in: Rebuild.
1398
1399 1999-08-03 Ian Lance Taylor <ian@zembu.com>
1400
1401 * emulparams/elf32ppc.sh (MAXPAGESIZE): Change to 0x10000.
1402 * emulparams/elf32ppclinux.sh (MAXPAGESIZE): Likewise.
1403
1404 1999-08-03 H.J. Lu <hjl@gnu.org>
1405
1406 * Makefile.am (ALL_EMULATIONS): Remove ego32.o.
1407 (ego32.c): Remove.
1408 * Makefile.in: Rebuild.
1409
1410 1999-07-22 Philip Blundell <pb@nexus.co.uk>
1411
1412 * emulparams/armelf_linux26.sh (DATA_START_SYMBOLS): Define.
1413 (OTHER_BSS_SYMBOLS, OTHER_BSS_END_SYMBOLS): Likewise.
1414 * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Define.
1415
1416 * configure.tgt (arm*-*-uclinux*, thumb-*-uclinux*,
1417 thumb-*-linux-gnu*): New targets.
1418
1419 1999-07-21 Mark Elbrecht <snowball3@bigfoot.com>
1420
1421 * scripttempl/i386go32.sc: Add handling of linkonce sections.
1422
1423 * configure.bat: Remove; obsolete.
1424 * emulparams/go32.sh: Remove; obsolete.
1425 * scripttempl/go32coff.sc: Remove; obsolete.
1426
1427 1999-07-21 H.J. Lu <hjl@gnu.org>
1428
1429 * configure.tgt (mips*el-*-vxworks*): New target.
1430
1431 1999-07-21 Brad M. Garcia <bgarcia@fore.com>
1432
1433 * configure.tgt (i[3456]86-*-vxworks*): New target.
1434
1435 Tue Jul 20 15:18:46 1999 Bob Manson <manson@charmed.cygnus.com>
1436
1437 * ldlang.c (lang_gc_sections): Only handle the start symbol
1438 specially if there is one.
1439
1440 Mon Jul 19 14:19:14 1999 Mark P. Mitchell <mark@codesourcery.com>
1441
1442 * emulparams/elf32bmipn32.sh (OTHER_RELOCATING_SECTIONS): Add
1443 .MIPS.events and .MIPS.content handling.
1444 * emulparams/elf64bmip.sh (OTHER_RELOCATING_SECTIONS): Likewise.
1445
1446 1999-07-17 Nick Clifton <nickc@cygnus.com>
1447
1448 * ldlang.c (get_target): New function: Return true iff the
1449 given target is the target being sought.
1450 (stricpy): New function: Like strcpy but convert to lower
1451 case as well.
1452 (strcut): New function: Like strstr but remove the located
1453 substring as well.
1454 (name_compare): New function: Compute a compatability rating
1455 for two target names.
1456 (winner): New variable: Best target found by
1457 closest_target_match() so far.
1458 (closest_target_match): New function: Find the target which is
1459 the closest match to the original target.
1460 (get_first_input_target): New function: Find the target format
1461 of the first of the linker's input file.
1462 (open_output): Be more clever about deciding the output target
1463 format.
1464
1465 1999-07-16 Jakub Jelinek <jj@ultra.linux.cz>
1466
1467 * emulparams/elf64_sparc.sh: Add 64-bit directories to native LIB_PATH.
1468
1469 Thu Jul 15 15:55:15 1999 Mark P. Mitchell <mark@codesourcery.com>
1470
1471 * configure.host: Set up HOSTING_CRT0 and HOSTING_LIBS for IRIX6.
1472
1473 1999-07-15 Ian Lance Taylor <ian@zembu.com>
1474
1475 * configure.in: Bump version number to 2.9.5.
1476 * configure: Rebuild.
1477
1478 1999-07-14 Richard Henderson <rth@cygnus.com>
1479
1480 * ldlang.c (wild_doit): Copy SEC_SHORT to output section.
1481
1482 * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
1483 same order seen for the main sections. Add
1484 OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
1485
1486 1999-07-12 Andreas Schwab <schwab@suse.de>
1487
1488 * emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Fill in
1489 structure initializations.
1490
1491 * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Add missing
1492 comma in initializer.
1493
1494 1999-07-11 Ian Lance Taylor <ian@zembu.com>
1495
1496 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
1497 as appropriate. Fill in structure initializations.
1498
1499 1999-07-10 Ian Lance Taylor <ian@zembu.com>
1500
1501 * ldfile.c: Revert patch of 1999-07-08.
1502 (ldfile_try_open_bfd): If we are searching for the file, skip
1503 files with an incompatible architecture.
1504
1505 1999-07-09 Nick Clifton <nickc@cygnus.com>
1506
1507 * scripttempl/armcoff.sc (OUTPUT_FORMAT): Include big endian and
1508 little endian formats.
1509
1510 1999-07-08 Felix Lee <flee@cygnus.com>
1511
1512 * scripttempl/mcorepe.sc: fix quoting problem, for bash 2.x
1513
1514 1999-07-08 Jakub Jelinek <jj@ultra.linux.cz>
1515
1516 * ldfile.c (ldfile_open_file_search): Skip libraries made for
1517 incompatible architectures in the search path. Let the user know
1518 about any such skips.
1519
1520 Thu Jul 8 12:32:23 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
1521
1522 * configure.tgt (hppa*-linux-gnu*): New target.
1523
1524 1999-07-07 Mark Mitchell <mark@codesourcery.com>
1525
1526 * Makefile.am (ALL_64_EMULATIONS): Add eelf64bmip.
1527 (eelf64bmip): New target.
1528 * Makefile.in: Regenerated.
1529 * configure.tgt (mips-sgi-irix6*): Add 64-bit emulation.
1530 * emulparams/elf64bmip.sh: New file.
1531
1532 1999-07-05 Nick Clifton <nickc@cygnus.com>
1533
1534 * emultempl/pe.em (after_open): Abort if input format is ARM and
1535 output format is not.
1536 * emultempl/armcoff.em (after_open): Abort if input format is ARM
1537 and output format is not.
1538 * emultempl/armelf.em (after_open): Abort if input format is ARM
1539 and output format is not.
1540
1541 1999-07-02 Ian Lance Taylor <ian@zembu.com>
1542
1543 * ldlang.c: Revert change of 1999-06-23.
1544
1545 1999-06-30 Mark Mitchell <mark@codesourcery.com>
1546
1547 * Makefile.am (ALL_EMULATIONS): Add eelf32bmipn32.o.
1548 (eelf32bmipn32.c): New target.
1549 * Makefile.in: Regenerated.
1550 * configure.tgt (mips-sgi-irix6*): Make n32 the default
1551 emulation.
1552 * emulparams/elf32bmipn32.sh: New file.
1553
1554 1999-06-28 Jim Pick <jim@jimpick.com>
1555
1556 * emultempl/armelf.em: Added code so that .xs linker scripts are
1557 called so that ARM shared libraries are built correctly.
1558
1559 1999-06-22 Mark Mitchell <mark@codesourcery.com>
1560
1561 * ldmain.c (main): Initialize link_info.init_function and
1562 link_info.fini_function.
1563 * lexsup.c (OPTION_INIT): New macro.
1564 (OPTION_FINI): Likewise.
1565 (ld_options): Add descriptions for them.
1566 (parse_args): Handle them.
1567
1568 1999-06-23 Ian Lance Taylor <ian@zembu.com>
1569
1570 * ldlang.c (section_already_linked): Only discard link once
1571 sections if we are building constructors.
1572
1573 1999-06-22 Nick Clifton <nickc@cygnus.com>
1574
1575 * ld.texinfo (Location Counter): Describe behaviour of
1576 location counter inside section statements.
1577
1578 1999-06-20 Mark Mitchell <mark@codesourcery.com>
1579
1580 * scripttempl/elf.sc (WRITABLE_RODATA): New variable for
1581 controlling whether or not .rodata is in the data segment or the
1582 text segment.
1583
1584 1999-06-18 Nick Clifton <nickc@cygnus.com>
1585
1586 * emultempl/pe.em: Add new command line switch --thumb-entry.
1587 * emultempl/armelf.em: Add new command line switch --thumb-entry.
1588 * emultempl/armcoff.em: Add new command line switch --thumb-entry.
1589 * ld.texinfo: Document new ARM command line switch: --thumb-entry.
1590 1999-06-20 H.J. Lu <hjl@gnu.org>
1591
1592 * configure.in (all_libpath): Accumulate across all enabled targets.
1593
1594 Sun Jun 20 14:10:33 1999 Richard Henderson <rth@cygnus.com>
1595
1596 * emultempl/armelf.em: Watch EMULATION_LIBPATH instead of
1597 DEFAULT_EMULATION.
1598 * emultempl/elf32.em: Likewise.
1599 * emultempl/sunos.em: Likewise.
1600
1601 Fri Jun 18 15:24:48 1999 Richard Henderson <rth@cygnus.com>
1602
1603 * Makefile.am (GENSCRIPTS): Pass EMULATION_LIBPATH, not EMUL.
1604 * configure.in (all_emuls): Add targ_extra_libpath.
1605 (all_libpath, EMULATION_LIBPATH): Define.
1606 * configure.tgt (powerpc-*-linux-gnu*): Define targ_extra_libpath.
1607 * genscripts.sh (LIB_PATH): Define if emulation in EMULATION_LIBPATH.
1608
1609 Mon Jun 14 10:38:36 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1610
1611 * ld.texinfo: Fix use of @item vs. @itemx.
1612
1613 1999-06-13 Ian Lance Taylor <ian@zembu.com>
1614
1615 From Thomas Zenker <thz@lennartz-electronic.de>:
1616 * ldgram.y (attributes_opt): Use attributes_list instead of NAME.
1617 (attributes_list, attributes_string): New nonterminals.
1618 * ldlang.c (lang_set_flags): Add invert parameter. Don't handle
1619 '!'.
1620 * ldlang.c (lang_set_flags): Update declaration.
1621
1622 1999-06-12 Ian Lance Taylor <ian@zembu.com>
1623
1624 * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Don't add
1625 entry_symbol as an undefined symbol when doing a relocateable
1626 link. From <jeffdb@goodnet.com>.
1627
1628 1999-06-12 David O'Brien <obrien@freebsd.org>
1629
1630 * configure.tgt: (i[3456]86-*-freebsd*): Now defaults to ELF.
1631
1632 1999-06-09 Nick Clifton <nickc@cygnus.com>
1633
1634 * lexsup.c (help): Restore previous format of output.
1635
1636 1999-06-04 Nick Clifton <nickc@cygnus.com>
1637
1638 * emultempl/pe.em: If compiling for arm_epoc_pe rename
1639 interworking functions to avoid a name space clash.
1640
1641 1999-06-02 Jason Merrill <jason@yorick.cygnus.com>
1642
1643 * scripttempl/v850.sc: Add initp support.
1644
1645 1999-06-02 Nick Clifton <nickc@cygnus.com>
1646
1647 * emultempl/pe.em: Rename global arm interworking functions to
1648 avoid name collision when all targets BFD is built.
1649
1650 1999-05-30 Cort Dougan <cort@attis.cs.nmt.edu>
1651
1652 * Makefile.am (ALL_EMULATIONS): Add eelf32ppclinux.o.
1653 * configure.tgt (powerpc-*-linux-gnu): Use it.
1654 * emulparams/elf32ppclinux.sh: New file.
1655
1656 1999-05-29 Ian Lance Taylor <ian@zembu.com>
1657
1658 * ld.texinfo (Options): Clarify that options which refer to files
1659 must be properly ordered.
1660
1661 1999-05-29 Nick Clifton <nickc@cygnus.com>
1662
1663 * emultempl/armelf.em (..._parse_args): New function: Parse
1664 command line option. Accept arm-elf specific command line option
1665 '-p' or '--no-pipeline-knowledge'.
1666 (..._list_options): New function: Describe the new command line
1667 option.
1668 (..._before_allocation): Pass the value of the new variable
1669 no_pipeline_knowledge to bfd_elf32_arm_process_before_allocation.
1670
1671 * emultemp/armelf_oabi.em (..._before_allocation): Pass zero as
1672 the third parameter to bfd_elf32_arm_process_before_allocation.
1673
1674 1999-05-28 Nick Clifton <nickc@cygnus.com>
1675
1676 * lexsup.c (help): Minor formatting changes.
1677
1678 1999-05-28 Martin Dorey <mdorey@madge.com>
1679
1680 * configure.tgt (i960-*-elf*): New target.
1681 * emulparams/elf32_i960.sh: New file.
1682 * Makefile.am (ALL_EMULATIONS): Add eelf32_i960.o.
1683 (eelf32_i960.c): New target.
1684 * Makefile.in: Rebuild.
1685
1686 1999-05-26 Nick Clifton <nickc@cygnus.com>
1687
1688 * emulparams/armelf_oabi.sh (TEMPLATE_NAME): Set to armelf_oabi.
1689
1690 1999-05-24 Philip Blundell <philb@gnu.org>
1691
1692 * emultempl/armelf.em (before_parse): Set config.dynamic_link and
1693 config.has_shared.
1694 * emulparams/armelf.sh (GENERATE_SHLIB_SCRIPT): Define.
1695 * emulparams/armelf_linux.sh (GENERATE_SHLIB_SCRIPT): Likewise.
1696
1697 1999-04-13 Philip Blundell <philb@gnu.org>
1698
1699 * emultempl/armelf.em: Add definitions related to shared objects
1700 (copied from elf32.em).
1701
1702 Wed May 19 12:44:26 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1703
1704 * Makefile.am (ALL_EMULATIONS): Remove earmlinux.o and
1705 earm26linux.o, add earmelf_linux.o and earmelf_linux26.o.
1706 * Makefile.in: Regenerated.
1707
1708 1999-05-16 Nick Clifton <nickc@cygnus.com>
1709
1710 * emulparams/elf32mcore.sh (GENERATE_SHLIB_SCRIPT): Define.
1711 (TEMPLATE_NAME): Define.
1712
1713 Thu May 13 09:48:09 1999 Joel Sherrill (joel@OARcorp.com)
1714
1715 * configure.tgt (i386-*-rtemself*, sh-*-rtemself*): New targets.
1716 (mips*el-*-rtems*, powerpcle-*-rtems*): New targets.
1717
1718 1999-05-10 DJ Delorie <dj@cygnus.com>
1719
1720 * scripttempl/pe.sc: Specify the output arch, which Ian says is
1721 the Right Thing to do.
1722
1723 * emultempl/pe.em: various changes to parameterize the
1724 target-specific information.
1725 (gld_i386pe_after_open): Detect and fix MS import libraries
1726 by renaming the member objects (which are all named the same).
1727
1728 * pe-dll.c: various changes to parameterize the target-specific
1729 information.
1730 (generate_reloc): support relocs more generically to allow for
1731 expansion.
1732 (pe_exe_build_sections): new; used to add .relocs to .exes
1733 (pe_exe_fill_sections): ditto
1734
1735 1999-05-10 Catherine Moore <clm@cygnus.com>
1736
1737 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):
1738 Check for TARGET_IS_arm_epoc_pe.
1739 (gld_${EMULATION_NAME}_before_allocation): Likewise.
1740
1741 1999-05-12 Anthony Green <green@cygnus.com>
1742
1743 * ldlang.c (walk_wild, walk_wild_file, walk_wild_section,
1744 output_section_callback, gc_section_callback): New functions for
1745 generic section walks.
1746 (wild, lang_gc_wild): Use walk_wild.
1747 (wild_file, lang_gc_wild_file): Deleted. Common logic moved to
1748 walk_wild_file.
1749 (wild_section, lang_gc_wild_section): Deleted. Common logic moved
1750 to walk_fild_section. Unique logic moved into callbacks
1751 output_section_callback and gc_section_callback.
1752
1753 1999-04-26 Tom Tromey <tromey@cygnus.com>
1754
1755 * aclocal.m4, configure: Updated for new version of libtool.
1756
1757 1999-04-12 Philip Blundell <pb@nexus.co.uk>
1758
1759 * emulparams/armelf_linux.sh: New file. Support for ARM
1760 GNU/Linux ELF ABI.
1761 * emulparams/armelf_linux26.sh: New file. APCS-26 version of above.
1762 * configure.tgt: For arm*-*-linux-gnu*, set default emulation to
1763 `armelf_linux', and also include `armelf_linux26' and `armelf'.
1764 * Makefile.am: Add rules to make earmlinux.c and earmlinux26.c.
1765 (ALL_EMULATIONS): Add earmlinux.o and earmlinux26.o.
1766 * Makefile.in: Regenerate.
1767
1768 1999-04-11 Richard Henderson <rth@cygnus.com>
1769
1770 * Makefile.am (ALL_EMULATIONS): Add elf_i386_be.o.
1771 * configure.tgt (i[3456]86-*-beos*): Use it.
1772 * emulparams/elf_i386_be.sh: New file.
1773 * Makefile.in: Rebuild.
1774
1775 * configure.in (environ): Detect declaration.
1776 * ldmain.c (main): Don't declare environ.
1777 * sysdep.h (environ): Declare if needed.
1778 * configure, config.in: Rebuild.
1779
1780 1999-04-11 Richard Henderson <rth@cygnus.com>
1781
1782 * ldgram.y (ldgram_vers_current_lang): New.
1783 (vers_defns): Accept `extern "lang" { }' syntax.
1784 * ldlex.l (vers_node_nesting): New.
1785 (V_IDENTIFIER): Accept . and $ in symbols.
1786 (VERS_NODE): Accept `extern "lang" { }' tokens. Nest VERS_NODE states.
1787 * ldlang.c (lang_new_vers_regex): New `lang' argument. Update callers.
1788 (lang_vers_match_lang_c): New function.
1789 (lang_vers_match_lang_cplusplus): New function.
1790 (lang_vers_match_lang_java): New function.
1791 (lang_do_version_exports_section): Fix iteration. Don't free
1792 section contents, as it is still in use by the patterns.
1793
1794 1999-04-10 Richard Henderson <rth@cygnus.com>
1795
1796 * ldmain.c (main): Init link_info.no_undefined.
1797 * lexsup.c: Add command-line option --no-undefined.
1798
1799 1999-04-06 Ian Lance Taylor <ian@zembu.com>
1800
1801 * ld.h (LC_MESSAGES): Never define.
1802 * ldmain.c (main): Don't pass LC_MESSAGES to setlocale if the
1803 system does not define it.
1804
1805 1999-04-06 H.J. Lu <hjl@gnu.org>
1806
1807 * ldmain.h (demangling): Declare.
1808 * ldmain.c (demangling): New global variable.
1809 (main): Initialize demangling.
1810 * ldmisc.c (vfinfo): Don't demangle symbol if ! demangling.
1811 * lexsup.c (ld_options, parse_args): Handle --demangle and
1812 --no-demangle.
1813 * ld.texinfo, ld.1: Document --demangle/--no-demangle.
1814
1815 * ldlex.l (V_IDENTIFIER): Allow '.' in symbol.
1816
1817 1999-04-05 Chris Torek <torek@BSDI.COM>
1818
1819 * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Check that
1820 a shared library really exists, avoiding broken symlinks.
1821
1822 * ldfile.c (ldfile_open_file): Generate a better error message if
1823 we can't find a -l file.
1824
1825 1999-04-05 DJ Delorie <dj@cygnus.com>
1826
1827 * configure.tgt (i386-*-pe): add targ_extra_ofiles for other PE
1828 targets (i386-pe and i386-winnt)
1829
1830 1999-04-04 Ian Lance Taylor <ian@zembu.com>
1831
1832 * deffilep.y: Include "sysdep.h" and "ldmisc.h".
1833 (def_file_add_directive): Change return type to void. Remove
1834 unused locals sh_reserve, sh_commit, and j.
1835 (def_ungetc): Always return a value.
1836 (def_lex): Correct parenthesization of || within &&.
1837 * deffile.h (def_file_add_directive): Update declaration.
1838 * pe-dll.c: Include <time.h>, <ctype.h>, and "ldemul.h".
1839 (generate_edata): Remove unused local i.
1840 (quoteput): Add cast to avoid warning.
1841 (pe_dll_generate_def_file): Fix type in format string.
1842 (quick_symbol): Remove unused local blhe.
1843 (pe_dll_generate_implib): Add cast to avoid warning.
1844 (pe_process_import_defs): Remove unused locals ar_head, ar_tail,
1845 and n.
1846 (pe_as16): Comment out.
1847
1848 1999-04-04 Don Bowman <don@pixsci.com>
1849
1850 * configure.tgt: Add mips*-*-vxworks* target.
1851
1852 1999-03-31 Nick Clifton <nickc@cygnus.com>
1853
1854 * Makefile.in (ALL_EMULATIONS): Add earm_epoc_pe.o
1855 Add build rule and dependencies for earm_epoc_pe.c.
1856
1857 * emulparams/arm_epoc_pe.sh: New file.
1858
1859 * configure.tgt: Add 'targ_extra_ofiles' for ARM based PE
1860 targets.
1861
1862 1999-03-31 Philip Blundell <pb@nexus.co.uk>
1863
1864 * configure.tgt: Match `arm*-*-linux-gnu*' not
1865 `armv*-*-linux-gnu'.
1866
1867 1999-03-26 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1868
1869 * scripttempl/elf.sc: Put the .eh_frame and .gcc_except_table
1870 sections in the data segment.
1871
1872 Fri Mar 26 12:05:51 1999 Catherine Moore <clm@cygnus.com>
1873
1874 * ld.h (wildcard_spec): Add exclude_name.
1875 * ldgram.y (EXCLUDE_FILE): New token.
1876 (wildcard_spec): Set exclude_name.
1877 (file_NAME_list): Recognize EXCLUDE_FILE.
1878 * ldlang.c (wild_section): Check for excluded files.
1879 (print_wild_statement): Print excluded files.
1880 (lang_add_wild): New argument exclude_filename.
1881 Set exclude_filename.
1882 * ldlang.h (lang_wild_statement_type): Add exclude_filename.
1883 * ldlex.l: New token EXCLUDE_FILE.
1884 * mri.c (mri_draw_tree): Add argument to lang_add_wild.
1885 * scripttempl/elf.sc (CTOR, DTOR): Exclude crtend.o from ctor wildcard.
1886 Reorder sorted and unsorted ctors.
1887 * scripttempl/elfd10v.sc (CTOR, DTOR): Likewise.
1888 * scripttempl/elfd30v.sc (CTOR, DTOR): Likewise.
1889 * scripttempl/elfppc.sc (CTOR, DTOR): Likewise.
1890
1891 1999-03-26 Nick Clifton <nickc@cygnus.com>
1892
1893 * ldlang.c (lang_gc_sections): If entry_symbol is not defined,
1894 default to "start".
1895
1896 1999-03-03 Nick Clifton <nickc@cygnus.com>
1897
1898 * scripttempl/elf.sc: Add explicit placements for the .eh_frame
1899 and .gcc_except_table sections.
1900
1901 Wed Mar 3 09:13:34 1999 Catherine Moore <clm@cygnus.clm>
1902
1903 * scripttempl/elf.sc: Remove .end.ctors and .end.dtors
1904 sections. Reorder .ctors section entries.
1905 * scripttempl/elfd10v.sc: Likewise.
1906 * scripttempl/elfd30v.sc: Likewise.
1907 * scripttempl/elfppc.sc: Likewise.
1908
1909 1999-02-26 Jim Lemke <jlemke@cygnus.com>
1910
1911 * ldmain.c (main): Wrong error msg for -r and --mpc860c0.
1912
1913 1999-02-25 Nick Clifton <nickc@cygnus.com>
1914
1915 * ldlang.c (lang_check_section_addresses): Remove extraneous
1916 backslash.
1917
1918 Thu Feb 25 15:07:24 1999 Catherine Moore <clm@cygnus.com>
1919
1920 * scripttempl/elf.sc: Don't gather .ctor and .dtor sections
1921 for relocateable links.
1922 * scripttempl/elfd10v.sc: Likewise.
1923 * scripttempl/elfd30v.sc: Likewise.
1924 * scripttempl/elfppc.sc: Likewise.
1925
1926 1999-02-22 Jim Lemke <jlemke@cygnus.com>
1927
1928 * ldint.texinfo: remove extraneous right brace.
1929 * ldmain.c (main): initialize and check option "mpc860c0".
1930 * lexsup.c (ld_options, parse_args): add option "mpc860c0".
1931
1932 Wed Feb 17 12:10:06 1999 Stan Cox <scox@cygnus.com>
1933
1934 * mpw-elfmips.c (gldelf32ebmip_before_allocation): Remove special
1935 .reginfo section handling.
1936 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Likewise.
1937 * emulparams/elf32elmip.sh (INITIAL_READONLY_SECTIONS): Removed
1938 * emulparams/elf32ebmip.sh (INITIAL_READONLY_SECTIONS): Removed
1939
1940 1999-02-17 Nick Clifton <nickc@cygnus.com>
1941
1942 Patch from: Scott Bambrough <scottb@corelcomputer.com>
1943
1944 * configure.tgt: Added armv*-*-linux-gnu to $targ_emul
1945 recognition.
1946
1947 Wed Feb 17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1948
1949 * emultempl/armelf_oabi.em
1950 (bfd_elf32_arm_allocate_interworking_sections,
1951 bfd_elf32_arm_get_bfd_for_interworking,
1952 bfd_elf32_arm_process_before_allocation): Define them to use the
1953 old ABI versions of the functions.
1954
1955 Tue Feb 16 16:48:19 1999 Ian Lance Taylor <ian@cygnus.com>
1956
1957 * configure.in: Change AC_PREREQ to 2.13. Change AM_PROG_INSTALL
1958 to AC_PROG_INSTALL. Change AM_EXEEXT to AC_EXEEXT.
1959 * Makefile.am (earmelf_oabi.c): Changes spaces to tab.
1960 * acconfig.h: Remove.
1961 * aclocal.m4: Rebuild.
1962 * configure: Rebuild.
1963 * Makefile.in: Rebuild.
1964
1965 Mon Feb 15 18:21:48 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
1966
1967 * ldexp.h (struct etree_value_type): Change valid onto valid_p.
1968
1969 * ldexp.c (new_abs): Ditto.
1970 (new_rel, new_rel_from_section, fold_binary, invalid, fold_name,
1971 exp_fold_tree, exp_binop, exp_trinop, stat_alloc,
1972 exp_get_abs_int): Ditto
1973
1974 * ldlang.c (print_assignment, lang_size_sections,
1975 lang_do_assignments): Ditto.
1976
1977 1999-02-11 Nick Clifton <nickc@cygnus.com>
1978
1979 * ldlang.c (lang_check_section_addresses): New function: Check
1980 addresses assigned to section for overlaps.
1981 (lang_process): Call lang_check_section_addresses if suitable.
1982
1983 * ld.h: Add new boolean field to args_type structure:
1984 'check_section_addresses'.
1985
1986 * ldmain.c: Initialise check_section_addresses field to true.
1987
1988 * lexsup.c: Add new command line options '--no-check-sections' and
1989 '--check-sections'.
1990
1991 * ld.texinfo: Document new command line options '--check-sections'
1992 and '--no-check-sections'.
1993
1994 1999-02-08 Nick Clifton <nickc@cygnus.com>
1995
1996 * configure.tgt: Add support for StrongARM target.
1997
1998 Wed Feb 3 19:41:01 1999 Ian Lance Taylor <ian@cygnus.com>
1999
2000 * ldctor.c (ldctor_build_sets): Just set SEC_KEEP once. Check for
2001 an owner of a section before using it to look up a reloc type.
2002 Don't set SEC_KEEP for the absolute section.
2003
2004 Mon Feb 1 11:39:46 1999 Catherine Moore <clm@cygnus.com>
2005
2006 * Makefile.am (earmelf_oabi.o): New.
2007 * Makefile.in: Regenerate.
2008 * configure.tgt (arm-*-oabi): New.
2009 (thumb-*-oabi): New.
2010 * emulparams/armelf_oabi.sh: New.
2011 * emultempl/armelf_oabi.em: New.
2012
2013 1999-01-31 17:57:31 1998 Michael Meissner <meissner@cygnus.com>
2014
2015 * scripttempl/elfppc.sc: Add support for -fleading-underscores
2016 switch in all linker generated symbols.
2017
2018 * configure.tgt (powerpc{,le}*-*-vxworks): Add as aliases for
2019 powerpc{,le}-*-eabi.
2020
2021 Wed Jan 20 17:01:48 1999 Ian Lance Taylor <ian@cygnus.com>
2022
2023 * configure.tgt (i[3456]86-*-solaris2*): New target. From Pavel
2024 Roskin <pavel_roskin@geocities.com>.
2025
2026 1999-01-19 Nick Clifton <nickc@cygnus.com>
2027
2028 * ldlang.c (lang_size_sections): Count loadable sections as
2029 contributing to the size of the current segment.
2030
2031 1999-01-15 Nick Clifton <nickc@cygnus.com>
2032
2033 * ldlang.c (lang_size_sections): Only update the current
2034 address of a region if the section just placed into it is an
2035 allocated section.
2036
2037 1999-01-12 Nick Clifton <nickc@cygnus.com>
2038
2039 * Makefile.am: Replace efr30.o with eelf32fr30.o.
2040 * Makefile.in: Regenerate.
2041
2042 * configure.tgt: Replace fr30 with elf32fr30.
2043
2044 * emulparams/elf32fr30.sh: New file: Replaces fr30.sh, and uses
2045 generic elf.sc script. Also replaces the .stack section with a
2046 user definable symbol __stack.
2047
2048 1999-01-11 Nick Clifton <nickc@cygnus.com>
2049
2050 * scripttempl/fr30.sc: Fill .init and .fini sections with NOP
2051 pattern.
2052
2053 1999-01-03 Ken Raeburn <raeburn@cygnus.com>
2054
2055 * Makefile.am (check-DEJAGNU): No longer provide HOSTING_EMU,
2056 HOSTING_CRT0, HOSTING_LIBS; the test suite can extract them from
2057 configure.host and configure.tgt now.
2058 * Makefile.in: Rebuild.
2059
2060 1998-12-27 Ulrich Drepper <drepper@cygnus.com>
2061
2062 * lexsup.c (parse_args, case OPTION_RPATH): Avoid adding duplicate
2063 elements to rpath.
2064
2065 Thu Dec 10 11:12:28 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2066
2067 * Makefile.am (ALL_EMULATIONS): Remove pe-dll.o and deffilep.o.
2068 (ALL_EMUL_EXTRA_OFILES): New variable. Put them here instead.
2069 * configure.in: Set EMUL_EXTRA_OFILES to $(ALL_EMUL_EXTRA_OFILES)
2070 if configuring with all targets.
2071 * configure, Makefile.in, aclocal.m4: Rebuild.
2072
2073 * emultempl/pe.em (pe_enable_stdcall_fixup): Make static.
2074 (pe_dll_do_default_excludes): Removed, unused.
2075 (pe_def_file, pe_dll_export_everything, pe_dll_kill_ats,
2076 pe_dll_stdcall_aliases): Don't initialize them, this file may be
2077 compiled more than once.
2078 * pe-dll.c (pe_def_file, pe_dll_export_everything,
2079 pe_dll_do_default_excludes, pe_dll_kill_ats,
2080 pe_dll_stdcall_aliases): Define and initialize them here instead.
2081 (generate_reloc): Fix allocation of reloc_addresses array to use
2082 bfd_vma instead of unsigned long. Fix element size in qsort call.
2083 (reloc_sort): Compare pointers to bfd_vma instead of unsigned
2084 long.
2085
2086 Mon Dec 7 21:10:09 1998 J.J. van der Heijden <j.j.vanderheijden@student.utwente.nl>
2087
2088 * configure.tgt (i[3456]86-*-mingw32*): Add cygwin target specific
2089 files.
2090
2091 Sun Dec 6 16:33:33 1998 Ian Lance Taylor <ian@cygnus.com>
2092
2093 * configure.tgt (m68*-*-gnu*): New target. From Aymeric Vincent
2094 <aymeric.vincent@emi.u-bordeaux.fr>.
2095
2096 1998-12-04 Nick Clifton <nickc@cygnus.com>
2097
2098 * emulparams/fr30.sh (TEXT_START_ADDR): Change TEXT_START_ADDR
2099 from 0x100000 to 0x10000 so that it fits in 20 bits.
2100
2101 Sat Nov 28 22:32:20 1998 Ian Lance Taylor <ian@cygnus.com>
2102
2103 * ldemul.h (ldemul_recognized_file): Declare.
2104
2105 Sat Nov 28 22:30:55 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
2106
2107 * ldlang.c (lang_add_wild): Don't pretend that there is an input
2108 file if the filename is a wildcard pattern.
2109
2110 1998-11-25 DJ Delorie <dj@cygnus.com>
2111
2112 * ldemul.h (ld_emulation_xfer_struct): new hook "recognized_file"
2113 * ldemul.c (ldemul_recognized_file): new function, new hook
2114 * ldint.texinfo: document new hook.
2115 * ldlang.c (load_symbols): call recognized_hook for all objects we
2116 do recognize, in case the emulation needs to handle them
2117 specially. PE DLLs use this.
2118 * pe-dll.c (pe_dll_generate_def_file): take out hack and debug
2119 printfs
2120 * emultempl/pe.em (gld_i386_recognized_file): new function
2121 (gld_i486_unrecognized_file): take out hack
2122
2123 1998-11-23 DJ Delorie <dj@cygnus.com>
2124
2125 * pe-dll.c (fill_edata): fill in timestamp
2126 (make_head): name object files sequentially to ensure
2127 they link in the right order.
2128 (make_tail): same here
2129 (pe_process_import_defs): use sequential names for bfds to ensure
2130 proper link order.
2131 (pe_implied_import_dll): new function; handles linking directly
2132 against DLLs by simulating IMPORTS directives. * emultempl/pe.em
2133 (gld_i386pe_before_parse): hack bfd to not recognize .dll files
2134 via bfd_pe_dll_not_recognized_hack
2135
2136 1998-11-23 DJ Delorie <dj@cygnus.com>
2137
2138 * emultempl/pe.em (gld_i386pe_parse_args): Conditionalize call to
2139 pe_dll_add_excludes
2140
2141 Mon Nov 23 14:36:18 1998 Nick Clifton <nickc@cygnus.com>
2142
2143 * emultempl/pe.em (after_parse): Only create an undefined entry
2144 symbol if one has been specified.
2145
2146 1998-11-23 DJ Delorie <dj@cygnus.com>
2147
2148 * emultempl/pe.em (gld_i386pe_after_open): call
2149 pe_process_import_defs
2150 * pe-dll.c (pe_dll_generate_def_file): calculate BASE from
2151 pe_data, only print if actually set. Print version only if
2152 set.
2153 (save_relocs): save relocs for both input and output.
2154 (make_one): support internal/external different names.
2155 (pe_dll_generate_implib): support new make_one
2156 (pe_process_import_defs): new function; handles IMPORT
2157 directives in .def files.
2158
2159 Fri Nov 20 13:06:49 1998 Nick Clifton <nickc@cygnus.com>
2160
2161 * ldmisc.c (vfinfo): Cope with empty symbol names.
2162
2163 Thu Nov 19 13:31:15 1998 Nick Clifton <nickc@cygnus.com>
2164
2165 * scripttempl/pe.sc: Add provision of '_end' symbol.
2166
2167 Wed Nov 18 18:18:43 1998 Geoffrey Noer <noer@cygnus.com>
2168
2169 * configure.tgt: change refs from cygwin32* to cygwin*.
2170 * aclocal.m4: regenerate
2171 * configure.in: don't need to call AM_CYGWIN32.
2172 * configure: regenerate
2173
2174 Mon Nov 16 22:14:07 1998 DJ Delorie <dj@cygnus.com>
2175
2176 * emultempl/pe.em (gld_i386_finish): generate import library
2177 * deffile.h: add hint member.
2178 * pe-dll.c (pe_dll_generate_implib): New function with helpers;
2179 generates the import library directly from the export table.
2180 (fill_edata): remember the actual hint for the import library.
2181
2182 Sat Nov 14 14:36:24 1998 Ian Lance Taylor <ian@cygnus.com>
2183
2184 * ld.1: Some cleanups from NOKUBI Hirotaka <hnokubi@yyy.or.jp>.
2185
2186 Thu Nov 12 19:21:57 1998 Dave Brolley <brolley@cygnus.com>
2187
2188 * po/ld.pot: Regenerated.
2189 * po/POTFILES.in: Regenerated.
2190 * configure: Regenerated.
2191 * aclocal.m4: Regenerated.
2192 * Makefile.in: Regenerated.
2193
2194 Wed Nov 11 18:10:15 1998 DJ Delorie <dj@cygnus.com>
2195
2196 * pe-dll.c (generate_reloc): don't output PE relocs for sections
2197 that won't be loaded.
2198
2199 Wed Nov 11 13:44:54 1998 DJ Delorie <dj@cygnus.com>
2200
2201 * pe-dll.c (fill_edata): don't strip underscores
2202
2203 Tue Nov 10 21:28:19 1998 DJ Delorie <dj@cygnus.com>
2204
2205 * ld.texinfo: added i386pe option summary
2206
2207 Tue Nov 10 17:53:17 1998 DJ Delorie <dj@cygnus.com>
2208
2209 * pe-dll.c (process_def_file): properly note undefined exported
2210 symbols, clean up old code.
2211 (pe_dll_generate_def_file): don't crash if pe_def_file is NULL
2212 * emultempl/pe.em (gld_i386_parse_args): add
2213 (en/dis)able-stdcall-fixups
2214 (pe_fixup_stdcalls): warn about stdcall fixups
2215 (gld_i386_unrecognized_file): make exported symbols undefs so that
2216 archive members get pulled in
2217
2218 Tue Nov 10 14:50:51 1998 Catherine Moore <clm@cygnus.com>
2219
2220 * scripttempl/elfd10v.sc: Add KEEP attribute to .init,
2221 .fini, .dtors and .ctors. Add .data and .text
2222 wildcards to support section garbage collection.
2223
2224 Mon Nov 9 22:52:50 1998 DJ Delorie <dj@indy.delorie.com>
2225
2226 * deffilep.y: properly handle relocs with multiple def_files,
2227 cache import module names
2228
2229 Mon Nov 9 22:44:58 1998 DJ Delorie <dj@cygnus.com>
2230
2231 * pe-dll.c (process_def_file): don't assume exports won't move
2232 during a realloc
2233
2234 Mon Nov 9 16:41:30 1998 DJ Delorie <dj@cygnus.com>
2235
2236 * pe-dll.c: New file; direct support for PE DLLs
2237 * deffile.h: New file; direct support for PE DLLs
2238 * deffilep.y: New file; direct support for PE DLLs
2239 * emultempl/pe.em: add direct support for PE DLLs
2240 * configure.tgt: allow target-specific extra files
2241 * configure.in: allow target-specific extra files
2242 * ldlang.c (lang_add_assignment): return the assignment so that
2243 one can change the value later based on the object files (pe-dll
2244 DEF files do this)
2245 * ldint.texinfo: add section for emulation walkthrough
2246 * Makefile.am: add new files and target-specific extra files
2247 * emultempl/pe.em (gld_i386_list_options): list dll-specific
2248 options.
2249 * pe-dll.c (process_def_file): auto-export everything if
2250 nothing is otherwise exported.
2251
2252 Wed Nov 4 16:39:18 1998 Nick Clifton <nickc@cygnus.com>
2253
2254 * Makefile.am: Add support for FR30 target.
2255 * configure.tgt: Add support for FR30 target.
2256 * Makefile.in: Regenerate.
2257 * emulparams/fr30.sh: New file.
2258 * scripttemp/fr30.sc: New file.
2259
2260 Mon Nov 2 14:47:15 1998 Catherine Moore <clm@cygnus.com>
2261
2262 * ldmain.c (main): Don't report error for dynamic links and
2263 --gc-sections.
2264
2265 1998-10-26 16:05 Ulrich Drepper <drepper@cygnus.com>
2266
2267 * lexsup.c (ld_options): Change text of -O to Optimize output file".
2268 (parse_args): Set link_info.optimize based on -O argument.
2269 * ldmain.c (main): Initialize link_info.optimze to false.
2270 * ld.texinfo: Describe -O option.
2271 * ld.1: Likewise.
2272
2273 Mon Oct 12 14:29:56 1998 Nick Clifton <nickc@cygnus.com>
2274
2275 * scripttempl/v850.sc: Move .sbss and .scommon sections into their
2276 own segment, so that they can be next to the .bss section and so
2277 initialised by the same piece of code.
2278
2279 Fri Oct 9 15:59:52 1998 Catherine Moore <clm@cygnus.com>
2280
2281 * scripttempl/elf.sc: Merge .sdata.* etc sections.
2282 * ldctor.c (ldctor_build_sets): Set SEC_KEEP for
2283 ctor sections.
2284
2285 Mon Oct 5 09:40:43 1998 Catherine Moore <clm@cygnus.com>
2286
2287 * ldmain.c (main): Error if --gc-sections and
2288 dyanmic linking.
2289 * scripttempl/v850.sc: Add KEEP attribute to .init,
2290 .fini, .dtors and .ctors. Add .data and .text
2291 wildcards to support section garbage collection.
2292
2293 Wed Sep 30 11:19:15 1998 Nick Clifton <nickc@cygnus.com>
2294
2295 * scripttempl/v850.sc: Rename .call_table section to
2296 .call_table_data and create a new section called
2297 .call_table_text.
2298
2299 Sun Sep 20 00:43:26 1998 Ian Lance Taylor <ian@cygnus.com>
2300
2301 * scripttempl/elf.sc: Add alignment at the end of the .bss
2302 section, so that it is included in the memsize of the segment.
2303
2304 Fri Sep 18 13:42:42 1998 Catherine Moore <clm@cygnus.com>
2305
2306 * emultempl/elf32.em (gld_place_orphan): Don't process for
2307 sections with SEC_EXCLUDE flag.
2308
2309 Fri Sep 4 09:24:02 1998 Nick Clifton <nickc@cygnus.com>
2310
2311 * emulparams/d30velf.sh (TEXT_SIZE): Increased to 2000K.
2312 (DATA_SIZE): Increased to 2000K.
2313
2314 Thu Sep 3 17:30:58 1998 Richard Henderson <rth@cygnus.com>
2315
2316 * emulparams/d10velf.sh (TEMPLATE_NAME): Use elf32.
2317
2318 Mon Aug 31 01:06:00 1998 Catherine Moore <clm@cygnus.com>
2319
2320 * Makefile.am: Change armelf.sc to elf.sc
2321 * Makefile.in: Regenerate.
2322
2323 Mon Aug 31 11:12:04 1998 Catherine Moore <clm@cygnus.com>
2324
2325 * emulparams/armelf.sh: Change SCRIPT_NAME to
2326 elf. Change TEXT_START_ADDR to 0x8000. Define
2327 OTHER_TEXT_SECTIONS, OTHER_BSS_SYMBOLS and
2328 OTHER_BSS_END_SYMBOLS.
2329 * scripttempl/elf.sc: Modify to use
2330 OTHER_BSS_END_SYMBOLS.
2331 * scripttempl/elfarm.sc: Remove file.
2332
2333 Tue Aug 18 12:05:34 1998 Catherine Moore <clm@cygnus.com>
2334
2335 * emultempl/armelf.em (gld_armelf_before_allocation):
2336 Add bfd_ prefix to elf32_arm_process_before_allocation
2337 and elf32_arm_allocate_interworking_sections.
2338 (gld_armelf_after_open): Add bfd_ prefix to
2339 elf32_arm_get_bfd_for_interworking.
2340
2341 Fri Aug 14 15:34:29 1998 Ian Lance Taylor <ian@cygnus.com>
2342
2343 * Makefile.am: Rebuild dependencies.
2344 * Makefile.in: Rebuild.
2345
2346 * ldgram.y: Include "ldctor.h".
2347 (statement): Accept SORT around CONSTRUCTORS.
2348 * ldctor.c: Include <ctype.h>.
2349 (constructors_sorted): New global variable.
2350 (ctor_prio, ctor_cmp): New static functions.
2351 (ldctor_build_sets): Sort constructors if requested.
2352 * ldctor.h (constructors_sorted): Declare.
2353 * ldlang.c (print_statement): Print sorted CONSTRUCTORS
2354 correctly.
2355 * scripttempl/elf.sc: Add sort around CONSTRUCTORS.
2356 * ld.texinfo (Output Section Keywords): Document SORT
2357 (CONSTRUCTORS).
2358
2359 Thu Aug 13 12:20:39 1998 Catherine Moore <clm@cygnus.com>
2360
2361 * emulparams/armelf.sh: Define TEMPLATE_NAME to armelf.
2362 * scripttempl/elfarm.sc: Include .glue_7t and .glue7
2363 sections.
2364 * emultempl/armelf.em: New file.
2365
2366 Thu Aug 13 12:52:45 1998 H.J. Lu <hjl@gnu.org>
2367
2368 * Makefile.am (ld.dvi): Use " instead of ' for MAKEINFO.
2369 * Makefile.in: Rebuild.
2370
2371 Tue Aug 11 16:17:01 1998 Catherine Moore <clm@cygnus.com>
2372
2373 * scripttempl/elfarm.sc: Change text start address
2374 back to zero.
2375
2376 Tue Aug 11 10:01:12 1998 Jeffrey A Law (law@cygnus.com)
2377
2378 * emulparms/mn10200.sh (MAX_PAGESIZE): Define to 1.
2379 * emulparms/mn10300.sh (MAX_PAGESIZE): Define to 1.
2380
2381 Sun Aug 9 20:31:27 1998 Catherine Moore <clm@cygnus.com>
2382
2383 * scripttempl/elfarm.sc: Set text start address to
2384 0x8000. Add __bss_end definition.
2385
2386 Sat Aug 1 11:47:37 1998 Catherine Moore <clm@cygnus.com>
2387
2388 * scripttempl/elfarm.sc: New file.
2389 * emulparams/armelf.sh: Set SCRIPT_NAME to elfarm.
2390
2391 Fri Jul 31 15:56:16 1998 Catherine Moore <clm@cygnus.com>
2392
2393 * emulparams/armelf.sh: New file.
2394 * configure.tgt: Recognize thumb-elf and arm-elf.
2395 * Makefile.am (earmelf.o): New.
2396 * Makefile.in: Rebuild.
2397
2398 Fri Jul 24 12:00:57 1998 Ian Lance Taylor <ian@cygnus.com>
2399
2400 * Makefile.am (install-exec-local): Don't remove the file before
2401 checking whether $(bindir) == $(tooldir)/bin. From Maciej
2402 W. Rozycki <macro@ds2.pg.gda.pl>.
2403 * Makefile.in: Rebuild.
2404
2405 * configure.tgt: Recognize h8[35]00*-coff* as well as -hms*.
2406
2407 Thu Jul 23 11:15:12 1998 Ian Lance Taylor <ian@cygnus.com>
2408
2409 * scripttempl/aout.sc: If ALIGNMENT is defined, use it to set
2410 alignment of end symbol.
2411 * scripttempl/elf.sc: Likewise.
2412 * emulparams/sun4.sh (ALIGNMENT): Define.
2413 * emulparams/elf32_sparc.sh (ALIGNMENT): Define.
2414 * ldint.texinfo (emulation parameters): Document ALIGNMENT.
2415
2416 * lexsup.c (parse_args): Add missing break statement.
2417
2418 * ldlang.c (lang_gc_sections_1): Add default case to switch to
2419 avoid warnings.
2420
2421 Tue Jul 14 15:42:17 1998 Richard Henderson <rth@cygnus.com>
2422
2423 * configure.tgt (i?86-*-beos{pe,elf,}*): Recognize.
2424 * Makefile.am (ei386beos.o): New.
2425 * emulparams/i386beos.sh: New file.
2426 * emultempl/beos.em, scripttempl/i386beos.sc: New file.
2427
2428 Tue Jul 14 15:35:42 1998 Richard Henderson <rth@cygnus.com>
2429
2430 * lexsup.c: New option --version-exports-section.
2431 * ld.h (struct args_type): Add version_exports_section.
2432 * ldlang.c (lang_do_version_exports_section): New function.
2433 (lang_process): Call it.
2434
2435 Mon Jul 13 13:20:23 1998 Steve Chamberlain <sac@transmeta.com>
2436
2437 * ldlex.l: Accept ASSERT.
2438 * ldgram.y (exp): Add ASSERT_K case.
2439 * ldexp.h (node_type): Add etree_assert to node_class enum.
2440 (etree_type): Add assert_s field.
2441 (exp_assert): Declare.
2442 * ldexp.c (exp_fold_tree): Handle etree_assert.
2443 (exp_assert): New function.
2444 (exp_print_tree): Handle etree_assert.
2445 * ld.texinfo (Miscellaneous Commands): Document ASSERT.
2446
2447 Wed Jul 8 14:03:12 1998 Ian Lance Taylor <ian@cygnus.com>
2448
2449 * ldgram.y: Change MAX to MAX_K and MIN to MIN_K, to avoid
2450 conflicts with system header files. Change all uses.
2451
2452 * Makefile.am (MAINTAINERCLEANFILES): Define.
2453 * Makefile.in: Rebuild.
2454
2455 Tue Jul 7 18:03:22 1998 Ian Lance Taylor <ian@cygnus.com>
2456
2457 * Makefile.am (ldver.texi): New target.
2458 (ld.info, ld.dvi): Depend upon ldver.texi.
2459 * ld.texinfo: Include ldver.texi. Mention version number on title
2460 page and in top node.
2461 * Makefile.in: Rebuild.
2462
2463 Mon Jul 6 14:55:13 1998 Ian Lance Taylor <ian@cygnus.com>
2464
2465 * configure.tgt (i[3456]86-*-solaris*): New target.
2466
2467 Fri Jul 3 14:19:06 1998 Ian Lance Taylor <ian@cygnus.com>
2468
2469 * ldlang.c (wild_section): Don't get an assertion failure if the
2470 section is discarded.
2471
2472 * scripttempl/pe.sc: Use SORT to sort sections appropriately.
2473 * emultempl/pe.em (sort_by_file_name): Remove.
2474 (sort_by_section_name): Remove.
2475 (sort_sections_1, sort_sections): Remove.
2476 (gld_${EMULATION_NAME}_before_allocation): Don't call
2477 sort_sections.
2478 (hold_section, hold_section_name): New static variables.
2479 (hold_use, hold_text, hold_rdata, hold_data, hold_bss): Likewise.
2480 (gld_${EMULATION_NAME}_place_orphan): Rewrite. Look for a good
2481 place to put the section. Align the section. Sort the input
2482 sections by name.
2483 (gld_${EMULATION_NAME}_place_section): New static function.
2484
2485 * ldlang.c (wild_sort): When sorting by file name, sort by archive
2486 name first.
2487
2488 * emultempl/pe.em (set_pe_subsystem): Don't call
2489 ldlang_add_undef.
2490 (gld_${EMULATION_NAME}_after_parse): New static function.
2491 (ld_${EMULATION_NAME}_emulation): Use new after_parse function
2492 rather than after_parse_default.
2493
2494 * ldgram.y (extern_name_list): Do not require symbols to be
2495 separated by commas.
2496 (ifile_p1): Add EXTERN.
2497 * ldlex.l: Accept EXTERN in BOTH and SCRIPT mode as well as MRI
2498 mode.
2499 * ld.texinfo (Options): Mention that EXTERN is equivalent to -u.
2500 (Miscellaneous Commands): Document EXTERN.
2501
2502 Wed Jul 1 19:40:34 1998 Richard Henderson <rth@cygnus.com>
2503
2504 * ld.h (args_type): Add gc_sections.
2505 * ldgram.y (ldgram_had_keep, KEEP): New.
2506 (input_section_spec_no_keep): Rename from old input_section_spec.
2507 (input_section_spec): New. Recognize KEEP.
2508 * ldlang.c (wild_section): Handle keep sections.
2509 (lang_gc_wild_section, lang_gc_wild_file, lang_gc_wild): New.
2510 (lang_gc_sections_1, lang_gc_sections): New.
2511 (lang_process): Invoke lang_gc_sections.
2512 (lang_add_wild): Add keep argument. Update all callers.
2513 * ldlang.h (lang_wild_statement_struct): Add keep_sections.
2514 * ldlex.l (KEEP): Match it.
2515 * ldmain.c (main): Error on -r and --gc-sections.
2516 * lexsup.c: Add --gc-sections.
2517
2518 * scripttempl/elf.sc: Merge .text.* etc sections appropriately.
2519 Mark startup sections with KEEP.
2520 * scripttempl/elfppc.sc: Likewise.
2521
2522 * ld.texinfo: Update for --gc-sections and KEEP.
2523
2524 Wed Jul 1 15:21:20 1998 Ian Lance Taylor <ian@cygnus.com>
2525
2526 From Peter Jordan <pjordan@chla.usc.edu>:
2527 * scripttempl/i386go32.sc: Correct constructor handling for -u.
2528
2529 Tue Jun 23 15:17:27 1998 Ian Lance Taylor <ian@cygnus.com>
2530
2531 * Makefile.am (install-data-local): Make ldscripts subdirectory.
2532 * Makefile.in: Rebuild.
2533
2534 Tue Jun 23 15:17:04 1998 Mike Stump <mrs@wrs.com>
2535
2536 * Makefile.am (install-exec-local): Don't let EXEEXT interfere
2537 with the program transform name.
2538 * Makefile.in: Rebuild.
2539
2540 Sun Jun 21 23:55:16 1998 Jeffrey A Law (law@cygnus.com)
2541
2542 * ld.texinfo: Note that -relax may make symbolic debugging
2543 impossible on some platforms.
2544
2545 Tue Jun 16 12:51:13 1998 Geoff Keating <geoffk@ozemail.com.au>
2546
2547 * Makefile.am (Makefile): Remove target.
2548 (config.status): New target.
2549 * Makefile.in: Rebuild.
2550
2551 * configure.host (powerpc*-*-linux-gnu*): New host.
2552
2553 Fri Jun 12 17:38:07 1998 Doug Evans <devans@seba.cygnus.com>
2554
2555 * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
2556
2557 * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of
2558 stack to 8MB.
2559
2560 Fri Jun 12 19:33:17 1998 Ian Lance Taylor <ian@cygnus.com>
2561
2562 * Makefile.am (HFILES): Remove config.h.
2563 (EMULATION_OFILES, POTFILES): Move patch of May 14 from
2564 Makefile.in to Makefile.am.
2565 (earmcoff.c): Depend upon armcoff.em, not generic.em.
2566 * po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
2567 ($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
2568 * Makefile.in, po/POTFILES.in, po/ld.pot: Rebuild.
2569
2570 Fri Jun 12 13:43:17 1998 Tom Tromey <tromey@cygnus.com>
2571
2572 * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
2573 ($(PACKAGE).pot): Unconditionally depend on POTFILES.
2574
2575 Tue Jun 9 09:36:48 1998 Nick Clifton <nickc@cygnus.com>
2576
2577 * ldlang.c (lang_finish): Add CONST type modifier to declaration
2578 of 'send'.
2579
2580 Fri Jun 5 18:19:59 1998 Ian Lance Taylor <ian@cygnus.com>
2581
2582 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
2583 config.has_shared to true.
2584 * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
2585 Likewise.
2586 * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
2587 Likewise.
2588
2589 Tue Jun 2 12:55:03 1998 Ian Lance Taylor <ian@cygnus.com>
2590
2591 * ldlang.c (lang_finish): If the entry symbol is not found, try
2592 parsing it as a number.
2593 * ld.texinfo (Options): Document this.
2594
2595 Mon Jun 1 14:01:20 1998 Ian Lance Taylor <ian@cygnus.com>
2596
2597 * ld.texinfo (Input Section Wildcards): Document SORT keyword.
2598
2599 Mon May 18 12:42:53 1998 Doug Evans <devans@canuck.cygnus.com>
2600
2601 * ld.h (ld_config_type): New member has_shared.
2602 * ldmain.c (main): Initialize it.
2603 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
2604 * lexsup.c (parse_args): Treat -shared as error if not supported.
2605
2606 Mon May 18 13:14:43 1998 Ian Lance Taylor <ian@cygnus.com>
2607
2608 From Jason Merrill <jason@cygnus.com>:
2609 * ldlang.c (wild_sort): Correct order of sort.
2610 * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
2611 .dtors.
2612 * scripttempl/elfd10v.sc: Likewise.
2613 * scripttempl/elfd30v.sc: Likewise.
2614 * scripttempl/elfppc.sc: Likewise.
2615
2616 Fri May 15 00:22:35 1998 Ian Lance Taylor <ian@cygnus.com>
2617
2618 * ldlex.l: Recognize keyword SORT.
2619 * ldgram.y (current_file): Change to struct wildcard_spec.
2620 (%union): Add new fields cname and wildcard.
2621 (wildcard_name, wildcard_spec): New nonterminals.
2622 (file_NAME_list): Use wildcard_spec.
2623 (input_section_spec): Change current_file usage.
2624 * ld.h (struct wildcard_spec): Define.
2625 * ldlang.h (lang_wild_statement_struct): Add new fields
2626 sections_sorted and filenames_sorted.
2627 (lang_add_wild): Update declaration.
2628 * ldlang.c (wild_sort): New static function.
2629 (wild_section): Use wild_sort.
2630 (print_wild_statement): Print sorting information.
2631 (lang_add_wild): Add new parameters sections_sorted and
2632 filenames_sorted. Change all callers.
2633 * mri.c (mri_draw_tree): Update calls to lang_add_wild.
2634 * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
2635 * scripttempl/elfd10v.sc: Likewise.
2636 * scripttempl/elfd30v.sc: Likewise.
2637 * scripttempl/elfppc.sc: Likewise.
2638
2639 Thu May 14 18:39:16 1998 Richard Henderson <rth@cygnus.com>
2640
2641 * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
2642
2643 Thu May 14 14:51:24 1998 Nick Clifton <nickc@cygnus.com>
2644
2645 * ldemul.h: Add new prototype: ldemul_list_emulation_options.
2646 (ld_emulation_xfer_struct): Add new field: list_options.
2647 * ldemul.c (ldemul_list_options): New function. Call the
2648 list_options field of the ld_emulation_xfer_struct for each
2649 supported emulation, if such a function is present.
2650 * lexsup.c (help): Call ldemul_list_emulation_options.
2651 * emultempl/pe.em (gld_<>_list_options): New function. Describe
2652 the pe emulation specific command line options.
2653 * emultempl/armcoff.em (gld<>_list_options): New function.
2654 Describe the armcoff emulation specific command line options.
2655
2656 * emultempl/pe.em: Add a new command line option:
2657 --support-old-code.
2658 * emultempl/armcoff.em: Ditto.
2659 * ld.texinfo: Document the --support-old-code option.
2660
2661 * Makefile.in: Add emulation files for POTFILES.in target.
2662 * emultempl/pe.em: Internationalise suitable strings.
2663 * emultempl/armcoff.em: Internationalise suitable strings.
2664 * po/POTFILES.in: Rebuilt.
2665
2666 Sun May 10 22:36:30 1998 Jeffrey A Law (law@cygnus.com)
2667
2668 * po/Make-in (install-info): New target.
2669
2670 Tue Apr 28 19:18:30 1998 Tom Tromey <tromey@cygnus.com>
2671
2672 * ldmain.c (main): Conditionally call setlocale.
2673 * ld.h: Include <locale.h> if HAVE_LOCALE_H.
2674 (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
2675
2676 Mon Apr 27 11:56:21 1998 Ian Lance Taylor <ian@cygnus.com>
2677
2678 * configure.in: Change version number to 2.9.4
2679 * configure: Rebuild.
2680
2681 * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
2682
2683 Based on patch from H.J. Lu <hjl@gnu.org>:
2684 * emultempl/elf32.em (global_vercheck_needed): New file static
2685 variable.
2686 (global_vercheck_failed): New file static variable.
2687 (gld${EMULATION_NAME}_after_open): Check for shared libraries
2688 twice, once with force set to 0 and once with it set to 1.
2689 (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
2690 Change all callers.
2691 (gld${EMULATION_NAME}_search_needed): Likewise.
2692 (gld${EMULATION_NAME}_try_needed): Likewise. If not force, check
2693 whether the libraries needs any incompatible versions.
2694 (gld${EMULATION_NAME}_vercheck): New static function.
2695
2696 Wed Apr 22 16:01:35 1998 Tom Tromey <tromey@cygnus.com>
2697
2698 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
2699
2700 Wed Apr 22 12:40:56 1998 Ian Lance Taylor <ian@cygnus.com>
2701
2702 * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
2703 invoking runtest.
2704 * Makefile.in: Rebuild.
2705
2706 * lexsup.c (parse_args): Change -l options into --library options
2707 to avoid confusion between -li and -library.
2708
2709 * ld.texinfo (MEMORY): Clarify use of >REGION.
2710
2711 Tue Apr 21 23:12:40 1998 Tom Tromey <tromey@scribbles.cygnus.com>
2712
2713 * Many files: Added gettext invocations around user-visible
2714 strings.
2715 * ld.h: Added gettext-related includes and defines.
2716 * ldmain.c: Call setlocale, bindtextdomain, textdomain.
2717 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
2718 HAVE_LC_MESSAGES): Define.
2719 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
2720 po/Makefile. Use AM_PROG_LEX.
2721 (TDIRS): AC_SUBST early on, to avoid having value split when it
2722 happens to cross line 90 of the generated sed script.
2723 * Makefile.am (SUBDIRS): New macro.
2724 (POTFILES): Likewise.
2725 (po/POTFILES.in): New target.
2726 (ld_new_LDADD): Added INTLLIBS.
2727 (ld_new_DEPENDENCIES): Added INTLDEPS.
2728 * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
2729
2730 Tue Apr 21 23:07:07 1998 Ian Lance Taylor <ian@cygnus.com>
2731
2732 * ld.texinfo (Simple Example): Rewrite a few things as suggested
2733 by Nick Clifton <nickc@cygnus.com>.
2734 (PROVIDE): Likewise.
2735
2736 Tue Apr 21 09:55:06 1998 Nick Clifton <nickc@cygnus.com>
2737
2738 * emultempl/pe.em: Rename external arm interworking functions
2739 to conform to BFD naming conventions. Add code to _after_open()
2740 function to obtain a bfd for use by the interworking code.
2741
2742 * emultempl/armcoff.em: Rename external arm interworking functions
2743 to conform to BFD naming conventions. Add new _after_open()
2744 function to obtain a bfd for use by the interworking code.
2745
2746 Sun Apr 19 19:23:09 1998 Richard Henderson <rth@cygnus.com>
2747
2748 * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
2749 Update dot and the default memory section even when relaxing.
2750
2751 Sat Apr 18 18:41:12 1998 Richard Henderson <rth@cygnus.com>
2752
2753 * ldlang.c (lang_one_common): Manipulate the section's cooked size
2754 rather than its raw size.
2755
2756 Tue Apr 7 13:35:29 1998 H.J. Lu <hjl@gnu.org>
2757
2758 * configure.in (TESTBFDLIB): New. Defined and substituted.
2759 * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
2760 * configure, Makefile.in: Rebuild.
2761
2762 Mon Apr 6 15:33:39 1998 Ian Lance Taylor <ian@cygnus.com>
2763
2764 * Makefile.am (ld.info): Invoke makeinfo with -I options directly
2765 rather than relying on default rule. Don't depend upon
2766 bfdsumm.texi.
2767 (ld.dvi): Likewise.
2768 (bfdsumm.texi): Remove target.
2769 (CLEANFILES): Take bfdsumm.texi out of value.
2770 * Makefile.in: Rebuild.
2771
2772 Sun Apr 5 13:07:57 1998 Ian Lance Taylor <ian@cygnus.com>
2773
2774 * scripttempl/pe.sc: Use shell variables to avoid depending upon
2775 how $ is handled when expanding a shell substitution.
2776
2777 Fri Apr 3 00:56:50 1998 Ian Lance Taylor <ian@cygnus.com>
2778
2779 * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
2780 (DISTCLEANFILES): Add site.exp and site.bak.
2781 * Makefile.in: Rebuild.
2782
2783 * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
2784 rather than in a shell variable and using AC_SUBST.
2785 * Makefile.am (DISTCLEANFILES): Remove ldscripts. Add tdirs.
2786 (distclean-local): New target.
2787 * configure, Makefile.in: Rebuild.
2788
2789 * ld.texinfo: Completely rewrite linker script documentation.
2790
2791 Mon Mar 30 12:47:33 1998 Ian Lance Taylor <ian@cygnus.com>
2792
2793 * configure.in: Set version to 2.9.1.
2794 * configure: Rebuild.
2795
2796 * Branched binutils 2.9.
2797
2798 Sat Mar 28 16:48:19 1998 Ian Lance Taylor <ian@cygnus.com>
2799
2800 * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
2801 (mostlyclean-local): New target to remove tmpdir.
2802 * Makefile.in: Rebuild.
2803
2804 Fix some gcc -Wall warnings:
2805 * ldcref.c (output_cref): Add casts to avoid warnings.
2806 * ldfile.c (ldfile_add_arch): Likewise.
2807 * ldlang.c (lang_leave_overlay_section): Likewise.
2808 * lexsup.c (OPTION_COUNT): Likewise.
2809 (parse_args): Likewise.
2810 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
2811 Likewise.
2812 * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
2813 * ldlang.c (lang_check): Initialize variables to avoid warnings.
2814 * ldwrite.c (build_link_order): Likewise.
2815 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
2816 * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
2817 Remove unused variables.
2818
2819 * Makefile.am (MOSTLYCLEANFILES): Correct name (was
2820 MOSTCLEANFILES).
2821 * Makefile.in: Rebuild.
2822
2823 Fri Mar 27 16:39:25 1998 Ian Lance Taylor <ian@cygnus.com>
2824
2825 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
2826 ARM code inside ifdef TARGET_IS_armpe.
2827
2828 Wed Mar 25 11:34:13 1998 Ian Lance Taylor <ian@cygnus.com>
2829
2830 Based on patch from H.J. Lu <hjl@gnu.org>:
2831 * Makefile.am (LDDISTSTUFF): New variable.
2832 (diststuff): New target.
2833 * Makefile.in: Rebuild.
2834
2835 * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
2836 relocating.
2837
2838 Tue Mar 24 15:59:29 1998 Nick Clifton <nickc@cygnus.com>
2839
2840 * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
2841 hold Arm/Thumb stubs.
2842
2843 * emultempl/pe.em (gld_pe_before_allocation): Call
2844 arm_process_before_allocation (for ARM/Thumb targets) in order to
2845 gather interworking stb information.
2846
2847 Mon Mar 23 18:54:15 1998 Joel Sherrill <joel@OARcorp.com>
2848
2849 * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
2850
2851 Fri Mar 20 19:17:13 1998 Ian Lance Taylor <ian@cygnus.com>
2852
2853 * aclocal.m4, configure: Rebuild with libtool 1.2.
2854
2855 Thu Mar 19 14:54:45 1998 Geoffrey Noer <noer@cygnus.com>
2856
2857 * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
2858 section to avoid copying certain data on fork. The linker used to
2859 include this between __data_start__ and __data_end__, but that
2860 breaks building the cygwin32 dll. The fix is to rename the
2861 section ".data_cygwin_nocopy" and explictly include it after
2862 __data_end__.
2863
2864 Wed Mar 18 09:42:24 1998 Nick Clifton <nickc@cygnus.com>
2865
2866 * configure.tgt (targ_extra_emuls): Add thumb-pe target.
2867
2868 Sun Mar 8 23:34:14 1998 Stan Cox <scox@equinox.cygnus.com>
2869
2870 * configure.tgt (sparclite*-*-elf): Added.
2871
2872 Mon Mar 2 19:24:08 1998 Michael Meissner <meissner@cygnus.com>
2873
2874 * ldlang.c (lang_size_sections): If the default memory region is
2875 *default*, see if there is a memory region that could be used.
2876
2877 Thu Feb 26 17:09:53 1998 Michael Meissner <meissner@cygnus.com>
2878
2879 * scripttempl/elfd30v.sc: Add support for .eit_v section and put
2880 it at 0xfffff020.
2881 * emulparams/d30v{elf,_o,_e}.sh: Ditto.
2882
2883 Mon Feb 23 17:46:51 1998 Ian Lance Taylor <ian@cygnus.com>
2884
2885 * emultempl/pe.em (sort_sections): Permit the wildcard to include
2886 a trailing '*' when sorting grouped sections.
2887 * scripttempl/pe.sc: Include grouped sections using NAME\$*. Only
2888 include them when relocating.
2889
2890 Wed Feb 18 23:39:46 1998 Richard Henderson <rth@cygnus.com>
2891
2892 * Makefile.am (install-exec-local): Install properly when ln
2893 fails or tooldir == prefix.
2894
2895 Fri Feb 13 15:24:06 1998 Ian Lance Taylor <ian@cygnus.com>
2896
2897 * Makefile.am (AUTOMAKE_OPTIONS): Define.
2898 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
2899
2900 Thu Feb 12 14:10:44 1998 Ian Lance Taylor <ian@cygnus.com>
2901
2902 * scripttempl/elf.sc: Align the _end symbol according to the ELF
2903 format size. From Gordon W. Ross <gwr@mc.com>.
2904
2905 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
2906 * configure.host (alpha*-*-netbsd*): New host.
2907 * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
2908 targets.
2909
2910 * lexsup.c (help): Update bug-gnu-utils address.
2911 * ld.texinfo (Bug Reporting): Likewise.
2912
2913 Tue Feb 10 18:05:56 1998 Ian Lance Taylor <ian@cygnus.com>
2914
2915 * ldlang.c (lang_size_sections): Warn if some memory regions were
2916 defined, but a loadable section is going into the default memory
2917 region.
2918
2919 Tue Feb 10 16:17:20 1998 H.J. Lu <hjl@gnu.org>
2920
2921 * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
2922
2923 Tue Feb 10 15:09:45 1998 Ian Lance Taylor <ian@cygnus.com>
2924
2925 * Makefile.am (Makefile): Add target, for dependencies on
2926 configure.host and configure.tgt.
2927 * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
2928 * Makefile.in: Rebuild.
2929
2930 Mon Feb 9 13:44:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
2931
2932 * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
2933
2934 * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
2935 moved to 0x00.....4.
2936
2937 Sat Feb 7 15:41:26 1998 Ian Lance Taylor <ian@cygnus.com>
2938
2939 * configure, aclocal.m4: Rebuild with new libtool.
2940
2941 Thu Feb 5 12:16:11 1998 Ian Lance Taylor <ian@cygnus.com>
2942
2943 * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
2944 From Thomas de Lellis <tdel@wrs.com>.
2945
2946 * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
2947
2948 Wed Feb 4 13:02:32 1998 Ian Lance Taylor <ian@cygnus.com>
2949
2950 * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
2951 * Makefile.in: Rebuild.
2952
2953 Mon Feb 2 19:34:54 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
2954
2955 Add tms320c30 support:
2956 * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
2957 * emulparams/tic30aout.sh: New file.
2958 * emulparams/tic30coff.sh: New file.
2959 * scripttempl/tic30aout.sc: New file.
2960 * scripttempl/tic30coff.sc: New file.
2961 * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
2962 etic30coff.o.
2963 (etic30aout.c, etic30coff.c): New targets.
2964 * Makefile.in: Rebuild.
2965
2966 Mon Feb 2 14:10:59 1998 Ian Lance Taylor <ian@cygnus.com>
2967
2968 * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
2969 accept either ld.so or ld-linux.so.
2970
2971 Fri Jan 30 19:16:28 1998 Doug Evans <devans@canuck.cygnus.com>
2972
2973 * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
2974 to transform.
2975 * Makefile.in: Regenerate.
2976
2977 Fri Jan 30 19:15:17 1998 Geoff Keating <geoffk@ozemail.com.au>
2978
2979 * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
2980
2981 Fri Jan 30 11:43:49 1998 H.J. Lu <hjl@gnu.ai.mit.edu>
2982
2983 * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
2984 * Makefile.in: Rebuild.
2985
2986 Thu Jan 29 16:04:21 1998 Mumit Khan <khan@xraylith.wisc.edu>
2987
2988 * ldfile.c (slash): Set to backslash if _WIN32 but not
2989 __CYGWIN32__.
2990 (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
2991 leading backslash or a leading x: as an absolute path.
2992 (ldfile_find_command_file): Use slash rather than / when
2993 generating name to try.
2994 * lexsup.c (PATH_SEPARATOR): Define.
2995 (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
2996
2997 Wed Jan 28 14:06:30 1998 Richard Henderson <rth@cygnus.com>
2998
2999 * emulparams/elf64_sparc.sh (ELFSIZE): 64
3000 (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
3001 (DATA_PLT): Needed by v9 abi.
3002
3003 Wed Jan 28 16:37:27 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
3004
3005 * configure.tgt (i[3456]86-*-mingw32*): New entry.
3006
3007 Wed Jan 28 15:51:58 1998 Ian Lance Taylor <ian@cygnus.com>
3008
3009 * scripttempl/elf.sc: Only include linkonce sections in final
3010 sections when relocating.
3011
3012 Wed Jan 28 14:10:01 1998 Ian Lance Taylor <ian@cygnus.com>
3013
3014 * ld.texinfo (Options): Add a brief description of the types of
3015 information included in a link map.
3016
3017 * ld.texinfo (Options): Mention LDEMULATION in description of -m.
3018 (Environment): Mention LDEMULATION.
3019
3020 * ld.texinfo (Options): Clarify --export-dynamic a bit.
3021
3022 Thu Jan 22 16:07:23 1998 Richard Henderson <rth@cygnus.com>
3023
3024 * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
3025 pattern could match.
3026
3027 Wed Jan 21 22:26:46 1998 Ian Lance Taylor <ian@cygnus.com>
3028
3029 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
3030 a relocateable link, set the image base to 0, and don't define the
3031 various symbols.
3032 * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
3033 * scripttempl/pe.sc: Swap the .data and .bss sections so that
3034 .data comes first. If doing a relocateable link, use
3035 RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
3036 sections at 0, and don't define any symbols.
3037
3038 * ldlang.c (lang_memory_default): Correct parenthisization of
3039 expression.
3040
3041 Wed Jan 21 21:20:32 1998 Manfred Hollstein <manfred@s-direktnet.de>
3042
3043 * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
3044 here; they are included already via sysdep.h.
3045
3046 Tue Jan 6 13:40:02 1998 Richard Henderson <rth@cygnus.com>
3047
3048 * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
3049
3050 Fri Jan 2 20:15:37 1998 Michael Meissner <meissner@cygnus.com>
3051
3052 * ldgram.y (attributes_opt): Pass region pointer to
3053 lang_set_flags, not &region->flags.
3054
3055 * ldlang.c (lang_memory_default): New function to figure out a
3056 default memory region for a section if it was not specified.
3057 (lang_memory_region_lookup): Zero flags, not_flags field.
3058 (lang_map{,_flags}): Print attribute flags in memory map.
3059 (lang_size_sections): Call lang_memory_default to get default
3060 memory region.
3061 (lang_set_flags): Implement attribute flags for real. Take new
3062 argument to give the flags we are to skip for this region.
3063
3064 * ldlang.h (memory_region_struct): Add not_flags field, make both
3065 flags fields flagword type.
3066 (lang_output_section_state): Make flags field flagword type.
3067 (lang_set_flags): Update prototype to match new calling sequence.
3068 (lang_memory_region_default): Add prototype.
3069
3070 * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
3071 Define whether or not the region gets default sections, and if so,
3072 what sections.
3073
3074 * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
3075 default sections.
3076
3077 Thu Jan 1 22:58:04 1998 Michael Meissner <meissner@cygnus.com>
3078
3079 * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
3080
3081 Thu Jan 1 18:04:51 1998 Jeffrey A Law (law@cygnus.com)
3082
3083 * scripttempl/h8300h.sc: Fix typo.
3084 * scripttempl/h8300s.sc: Likewise.
3085
3086 Sun Dec 21 12:51:49 1997 Ian Lance Taylor <ian@cygnus.com>
3087
3088 * ldexp.c (fold_name): Don't crash if the symbol is defined in a
3089 section with no output section, such as a shared library section.
3090
3091 Wed Dec 17 12:14:11 1997 Ian Lance Taylor <ian@cygnus.com>
3092
3093 * lexsup.c (parse_args): Keep track of where we are in the option
3094 parsing before calling ldemul_parse_args, so that we don't call it
3095 multiple times on the same argument and confuse the getopt
3096 internals.
3097
3098 Thu Dec 11 09:00:15 1997 Michael Meissner <meissner@cygnus.com>
3099
3100 * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and
3101 d30velf_o to d30v_o to work in DOS environments.
3102 * Makefile.{am,in}: Ditto.
3103
3104 * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}.
3105 * emulparams/d30velf_{o,e}: Deleted.
3106
3107 Wed Dec 10 17:40:08 1997 Nick Clifton <nickc@cygnus.com>
3108
3109 * scripttempl/armcoff.sc: Add glue sections (code taken from Arm
3110 branch).
3111
3112 * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff.
3113
3114 * emultempl/armcoff.em: New file, imported from Arm branch.
3115
3116 Wed Dec 10 14:10:44 1997 Michael Meissner <meissner@cygnus.com>
3117
3118 * scripttempl/elfd30v.sc: Add .rel and .rela sections for all
3119 defined sections. Set up __{D,C}TOR_{LIST,END}__. Add onchip and
3120 external memory sections for rodata. Delete .string, .rodata1,
3121 and .data1 sections.
3122
3123 Tue Dec 9 15:28:17 1997 Michael Meissner <meissner@cygnus.com>
3124
3125 * Makefile.am: Add Oct 23 changes to Makefile.in here.
3126
3127 * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o.
3128
3129 * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o.
3130
3131 * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o.
3132 (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in
3133 external memory.
3134 (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in
3135 onchip memory.
3136
3137 * emulparams/d30velf.sh (STACK_START_ADDR): Top of default
3138 stack.
3139 ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas.
3140 ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and
3141 .bss should go in.
3142
3143 * emulparams/d30velf_{e,o}.sh: New files to be explicit whether
3144 .text, .data, etc go in external memory or onchip memory.
3145
3146 * configure.tgt (d30v-*-*ext*): New configuration to default
3147 .text, .data, etc. in external memory.
3148 (d30v-*-*onchip*): New configuration to default .text, .data,
3149 etc. in onchip memory.
3150 (d30v-*-*): Add d30velf_{e,o} emulations.
3151
3152 * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in
3153 either the onchip text/data areas or the external memory area.
3154 (MEMORY): Get sizes from d30velf.sh.
3155 (.e{data,text,bss}): Put sections in the external memory region.
3156 (.stext): Put section in the onchip text region.
3157 (.s{data,bss}): Put sections in the onchip data region.
3158 (__stack): Assign from ${STACK_START_ADDR}.
3159 (.text): Put in ${TEXT_MEMORY} memory region.
3160 (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory
3161 region.
3162 (.bss): Put in ${BSS_MEMORY} memory region.
3163
3164 Tue Dec 2 10:14:47 1997 Nick Clifton <nickc@cygnus.com>
3165
3166 * configure.tgt (targ_extra_emuls): Add support for Thumb target.
3167
3168 Sat Nov 22 15:23:19 1997 Ian Lance Taylor <ian@cygnus.com>
3169
3170 * ldlex.l: Don't define hex_mode. Correct number regexp to not
3171 accept hex digits without a leading $ or 0x. Handle leading $
3172 correctly. Pass 0 rather than hex_mode to bfd_scan_vma.
3173 * ldlex.h (hex_mode): Don't declare.
3174
3175 Sun Nov 16 20:16:45 1997 Michael Meissner <meissner@cygnus.com>
3176
3177 * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start
3178 of internal data area and external memory on chip.
3179
3180 * scripttempl/elfd30v.sc: Define a MEMORY region that describes
3181 the 3 regions of memory on the chip. Put .text/.init/.fini into
3182 the text memory region, put other segments into the data memory
3183 region. Add more of the standard elf sections. Default __stack
3184 to be 0x20008000, which is 1 byte beyond end of the internal data
3185 region.
3186
3187 Thu Nov 13 13:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
3188
3189 * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
3190 variant.
3191
3192 Sun Nov 2 14:51:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3193
3194 * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0. Set
3195 HOSTING_LIBS.
3196
3197 Thu Oct 30 12:25:55 1997 Ian Lance Taylor <ian@cygnus.com>
3198
3199 * ld.h (args_type): Add warn_mismatch field.
3200 * ldmain.c (main): Initialize warn_mismatch field.
3201 * lexsup.c (parse_args): Handle --no-warn-mismatch option.
3202 * ldlang.c (ignore_bfd_error): New static function.
3203 (lang_check): If warn_mismatch is false, don't warn about
3204 mismatched input files.
3205 * ld.texinfo, ld.1: Document new option.
3206
3207 Thu Oct 23 14:38:18 1997 Nick Clifton <nickc@cygnus.com>
3208
3209 * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack'
3210 to avoid conflicts with C code which is defining a variable called
3211 'stack'.
3212
3213 Thu Oct 23 00:57:45 1997 Richard Henderson <rth@dot.cygnus.com>
3214
3215 * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ...
3216 (ALL_64_EMULATIONS): ... here.
3217 (eelf64_sparc.c): Template should be elf32 not generic.
3218 * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition.
3219
3220 Thu Oct 23 00:44:20 1997 Richard Henderson <rth@dot.cygnus.com>
3221
3222 * configure.tgt: Add sparc64-*-linux*.
3223 * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New.
3224
3225 Wed Oct 22 11:29:25 1997 Ian Lance Taylor <ian@cygnus.com>
3226
3227 * scripttempl/pe.sc: Put .eh_frame in .rdata.
3228
3229 Fri Oct 17 00:00:13 1997 Richard Henderson <rth@cygnus.com>
3230
3231 * ldlang.c (lang_register_vers_node): Only check globals<=>locals,
3232 since we need to be able to export different versions of the same
3233 symbol.
3234
3235 Wed Oct 15 14:52:36 1997 Ian Lance Taylor <ian@cygnus.com>
3236
3237 * scripttempl/pe.sc: Put .stab and .stabstr sections at end.
3238
3239 Wed Oct 8 12:37:05 1997 Richard Henderson <rth@cygnus.com>
3240
3241 * configure.tgt, configure.host: Change alpha-*-* to alpha*-*-*;
3242 config.guess now recognizes alphaev5 etc.
3243
3244 Fri Oct 3 14:23:02 1997 Ian Lance Taylor <ian@cygnus.com>
3245
3246 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Don't treat
3247 -s and -u as -static and -unix.
3248
3249 Thu Oct 2 18:40:28 1997 Ian Lance Taylor <ian@cygnus.com>
3250
3251 * ldlang.c (wild_doit): Rewrite flag handling for clarity. If we
3252 are not adding the first input section, and SEC_READONLY is clear
3253 on the output section, then don't copy it from the input section.
3254 If SEC_READONLY is not set on the input section, then clear it on
3255 the output section.
3256
3257 * configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
3258 elf32bmip.
3259 (mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip
3260 to elf32bsmip.
3261 (mips*-*-linux*): Likewise.
3262 * emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but
3263 setting ENTRY to __start.
3264 * emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but
3265 setting ENTRY to __start.
3266 * scripttempl/elf.sc: Always set ENTRY to _start if it was not
3267 already set.
3268
3269 Wed Oct 1 16:41:00 1997 Nick Clifton <nickc@cygnus.com>
3270
3271 * emulparams/v850.sh (ROZDATA_START_ADDR, ROSDATA_START_ADDR): New
3272 Variables.
3273
3274 * scripttempl/v850.sc: Move read only areas out of zero and small
3275 data sections and into their own sections.
3276
3277 Wed Sep 24 16:59:15 1997 Joel Sherrill <joel@oarcorp.com>
3278
3279 * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
3280
3281 Wed Sep 24 11:33:14 1997 Ian Lance Taylor <ian@cygnus.com>
3282
3283 * ld.texinfo (Section Options): Improve documentation of NOLOAD
3284 directive.
3285
3286 * aclocal.m4: Rebuild with new libtool.
3287 * configure: Rebuild.
3288
3289 Mon Sep 22 17:24:06 1997 Ian Lance Taylor <ian@cygnus.com>
3290
3291 * ldlang.c (wild_doit): Revert patch of September 3.
3292
3293 Wed Sep 17 16:45:34 1997 Nick Clifton <nickc@cygnus.com>
3294
3295 * Makefile.am, Makefile.in: Add rule for ev850.c
3296 * configure.tgt (targ_extra_emuls): Add v850 target.
3297
3298 Wed Sep 17 16:43:39 1997 Nick Clifton <nickc@cygnus.com>
3299
3300 * emulparams/v850.sh (CALL_TABLE_START_ADDR): New entry.
3301 * scripttempl/v850.sc: Add call table data area
3302
3303 Mon Sep 15 11:29:13 1997 Ken Raeburn <raeburn@cygnus.com>
3304
3305 Merge change from Martin Hunt:
3306
3307 * scripttempl/elfd30v.sc: Put .rodata in the .text section.
3308
3309 Tue Sep 9 07:49:56 1997 Fred Fish <fnf@ninemoons.com>
3310
3311 * ldlang.c (lang_memory_region_lookup): Remove extraneous
3312 initialization of p.
3313
3314 Thu Sep 4 09:03:33 1997 Ian Lance Taylor <ian@cygnus.com>
3315
3316 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): In
3317 expression produced for -bpT and -bpD options, align to a 32 byte
3318 boundary rather than an 8 byte boundary.
3319 * scripttempl/aix.sc: Put .tocbss at start of .bss section.
3320
3321 * ldmisc.h, ldmisc.c, ldcref.c: Rename finfo to lfinfo, to avoid
3322 function name conflict with AIX 4.2 unistd.h header file.
3323
3324 Wed Sep 3 15:12:32 1997 Ian Lance Taylor <ian@cygnus.com>
3325
3326 * ldlang.c (wild_doit): Clear SEC_HAS_CONTENTS from a
3327 noload_section.
3328
3329 Fri Aug 29 00:32:31 1997 Ian Lance Taylor <ian@cygnus.com>
3330
3331 * Makefile.am (ld_new_DEPENDENCIES): Remove @LEXLIB@.
3332 * Makefile.in: Rebuild.
3333
3334 Thu Aug 28 10:12:10 1997 Doug Evans <dje@canuck.cygnus.com>
3335
3336 * configure.tgt (arc-*-elf*): Recognize.
3337 * Makefile.am (ALL_EMULATIONS): Add earcelf.o.
3338 * Makefile.in: Regenerate.
3339 * emulparams/arcelf.sh: New file.
3340
3341 Wed Aug 20 11:14:13 1997 Ian Lance Taylor <ian@cygnus.com>
3342
3343 * ldlang.c (wildcardp): Don't let a backslash by itself cause a
3344 pattern to be treated as a wildcard pattern.
3345
3346 * ldgram.y (atype): Accept parentheses with no type.
3347
3348 * ld.texinfo (Section Definition): Clarify use of whitespace.
3349 (Section Placement): Likewise.
3350
3351 Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com>
3352
3353 * configure.tgt (targ_extra_emuls): Add support for v850e target.
3354
3355 Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com>
3356
3357 * configure.tgt (targ_extra_emuls): Add support for v850e target.
3358
3359 Sat Aug 9 00:42:27 1997 Ian Lance Taylor <ian@cygnus.com>
3360
3361 * Makefile.am (ld.info): Change dependency from
3362 $(BFDDIR)/doc/bfdsumm.texi to bfdsumm.texi.
3363 (ld.dvi): Likewise.
3364 (bfdsumm.texi): New target.
3365 (CLEANFILES): Add bfdsumm.texi.
3366 * Makefile.in: Rebuild.
3367
3368 * Makefile.am: New file, based on old Makefile.in.
3369 * acinclude.m4: New file, from old aclocal.m4.
3370 * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove
3371 shared library handling; now handled by libtool. Replace
3372 AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC,
3373 AC_PROG_LEX, and AC_DECL_YYTEXT. Call AM_MAINTAINER_MODE,
3374 AM_CYGWIN32, and AM_EXEEXT. Don't call CY_CYGWIN32 or CY_EXEEXT.
3375 * configure.host: Don't set HLDFLAGS, HLDENV, or RPATH_ENVVAR.
3376 * acconfig.h: Mention PACKAGE and VERSION.
3377 * stamp-h.in: New file.
3378 * ldver.c (ld_program_version): Set ld_program_version from
3379 VERSION.
3380 * ldgram.y, ldlex.l: Replace VERSION with VERSIONK.
3381 * Makefile.in: Now built with automake.
3382 * aclocal.m4: Now built with aclocal.
3383 * configure, config.in: Rebuild.
3384
3385 Mon Jul 28 19:04:50 1997 Rob Savoye <rob@chinadoll.cygnus.com>
3386
3387 * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
3388 win32 dependencies.
3389 * configure: Regenerated with autoconf 2.12.
3390 * Makefile.in: Add $(EXEEXT) to executable.
3391
3392 Tue Jul 22 18:50:38 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
3393
3394 * emulparams/i386go32.sh (OUTPUT_FORMAT): Set to "coff-go32".
3395 (SEGMENT_SIZE): Set to 0x200.
3396 * scripttempl/i386go32.sc: Rewrite.
3397 * configure.tgt (i[3456]86-*-msdosdjgpp*): New target.
3398
3399 Mon Jul 7 12:39:42 1997 Ian Lance Taylor <ian@cygnus.com>
3400
3401 From Manfred Hollstein <manfred@s-direktnet.de>:
3402 * configure.host (i[3456]86-*-linux*libc1*): Renamed from
3403 i[3456]86-*-linux*.
3404 (i[3456]86-*-linux*): New host.
3405
3406 Thu Jun 26 13:54:03 1997 Ian Lance Taylor <ian@cygnus.com>
3407
3408 * scripttempl/pe.sc: Put .rsrc after .reloc. Put input .rsrc
3409 sections in the output .rsrc section.
3410
3411 Wed Jun 25 12:48:41 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3412
3413 * configure.host (m68*-*-linux*libc1*): Renamed from
3414 `m68*-*-linux*'.
3415 (m68*-*-linux*): New configuration for use with GNU libc 2.
3416
3417 Mon Jun 16 19:18:21 1997 Geoff Keating <geoffk@ozemail.com.au>
3418
3419 * scripttempl/elfppc.sc: Correct .rela.sdata entries.
3420
3421 * scripttempl/elfppc.sc: Put the PLT between the small and large
3422 BSS segments.
3423 * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
3424 program base of 0x02000000 is recommended...' because otherwise
3425 shared libraries are less efficient. We use 0x01800000 because
3426 otherwise it's impossible to branch to location 0, for instance if
3427 you have an undefined weak symbol.
3428
3429 Mon Jun 16 12:49:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3430
3431 * ldlang.c (lang_place_undefineds): Add \n in einfo call.
3432 (lang_size_sections): Likewise.
3433 * ldlex.l: Likewise.
3434 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
3435 * emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
3436 Likewise.
3437 (check_sections): Likewise.
3438 (gld${EMULATION_NAME}_after_allocation): Likewise.
3439 * emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
3440 Likewise.
3441 * mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
3442 * mpw-idtmips.c (gldmipsidt_after_open): Likewise.
3443 (check_sections): Likewise.
3444 (gldmipsidt_after_allocation): Likewise.
3445
3446 * ldemul.c (ldemul_choose_mode): Remove unused einfo argument.
3447
3448 Fri Jun 6 23:47:42 1997 Ian Lance Taylor <ian@cygnus.com>
3449
3450 * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
3451 the import list.
3452
3453 Thu May 29 13:13:22 1997 Ian Lance Taylor <ian@cygnus.com>
3454
3455 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't
3456 crash if an output section has no BFD section.
3457
3458 Fri May 23 15:23:25 1997 Fred Fish <fnf@cygnus.com>
3459
3460 * lexsup.c (ld_options): Add entry for the new "task-link" option.
3461 (parse_args): Handle the "task-link" option.
3462 (OPTION_TASK_LINK): Add define.
3463
3464 Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com>
3465
3466 * ldmain.c (main): Correct check of fclose return value when
3467 handling --force-exe-suffix.
3468
3469 Thu May 15 11:35:29 1997 Nick Clifton <nickc@cygnus.com>
3470
3471 * ldlang.c (lang_check): Add test of the return value from the
3472 call to bfd_merge_private_bfd_data().
3473
3474 Mon May 12 23:22:58 1997 Ian Lance Taylor <ian@cygnus.com>
3475
3476 * scripttempl/elfmips.sc: Remove.
3477 * scripttempl/elf.sc: Set ENTRY based on target. Permit
3478 TEXT_DYNAMIC to control .dynamic segment. Permit
3479 SHLIB_TEXT_START_ADDR to set start of shared object. Support
3480 INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put
3481 .gnu.linkonce.t* in .text when relocating. Support
3482 OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as
3483 DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
3484 * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
3485 (DATA_ADDR): Don't set.
3486 (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
3487 (OTHER_TEXT_SECTIONS): Set.
3488 (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
3489 (MACHINE): Set to empty string.
3490 * emulparams/elf32l4300.sh: Likewise.
3491 * emulparams/elf32ebmip.sh: Likewise.
3492 * emulparams/elf32elmip.sh: Likewise.
3493 * emulparams/elf32bmip.sh: Likewise. Also:
3494 (TEXT_DYNAMIC): Set.
3495 * emulparams/elf32lmips.sh: Likewise.
3496 * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
3497 elfmips.sc.
3498 (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
3499
3500 Mon May 12 11:11:06 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3501
3502 * scripttempl/elf.sc: Don't align the data segment on the next 8
3503 byte boundary, instead let the linker use whatever the individual
3504 sections require.
3505
3506 Fri May 9 17:45:46 1997 Ian Lance Taylor <ian@cygnus.com>
3507
3508 * configure.tgt (i[3456]86-*-gnu*): Don't include Mach support.
3509
3510 Tue May 6 13:21:19 1997 Ian Lance Taylor <ian@cygnus.com>
3511
3512 From Sean McNeil <sean@mcneil.com>:
3513 * emultempl/pe.em (sort_by_file_name): Sort by archive name
3514 first.
3515 (sort_sections): Sort all sections, not just sections in the same
3516 archive.
3517
3518 Mon May 5 18:19:55 1997 Philip Blundell <pjb27@cam.ac.uk>
3519
3520 * configure.tgt, configure.host: cope with '*-*-linux-gnuaout'
3521 targets.
3522
3523 Fri May 2 15:54:28 1997 Mike Meissner <meissner@cygnus.com>
3524
3525 * scripttempl/tic80coff.sc (.text): Add a leading underscore to
3526 __{D,C}TOR_{LIST,END}__ definations. Rearrange the order of items
3527 in the .text section. Move .const, .ctors, .dtors into separate
3528 sections.
3529
3530 Wed Apr 30 12:23:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
3531
3532 * scripttempl/m88kbcs.sc (__.initp.end, _etext): Added whitespace
3533 around assignment of current location pointer.
3534
3535 Thu Apr 17 13:07:18 1997 Ian Lance Taylor <ian@cygnus.com>
3536
3537 * ldctor.c (ldctor_build_sets): Make sure the set is aligned
3538 appropriately.
3539
3540 Tue Apr 15 13:19:26 1997 Ian Lance Taylor <ian@cygnus.com>
3541
3542 * Makefile.in (INSTALL): Set to @INSTALL@.
3543 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
3544 (install): Depend upon ld.new and installdirs. Use
3545 $(program_transform_name) directly, rather than using
3546 $(INSTALL_XFORM) and $(INSTALL_XFORM1).
3547 (installdirs): New target.
3548 (install-info): Run mkinstalldirs.
3549
3550 Mon Apr 14 12:06:15 1997 Ian Lance Taylor <ian@cygnus.com>
3551
3552 * Makefile.in (INSTALL): Change install.sh to install-sh.
3553
3554 From Thomas Graichen <graichen@rzpd.de>:
3555 * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
3556 * configure: Rebuild.
3557
3558 Fri Apr 4 11:42:41 1997 Ian Lance Taylor <ian@cygnus.com>
3559
3560 * emultempl/pe.em: Include "libiberty.h".
3561 (sort_sections_1): Use xmalloc rather than alloca.
3562
3563 * ldlex.l: Recognize SQUAD.
3564 * ldgram.y (length): Add SQUAD.
3565 * ldctor.c (ldctor_build_sets): Use SQUAD for a signed 8 byte
3566 reloc.
3567 * ldlang.c (print_data_statement): Handle SQUAD.
3568 (lang_size_sections, lang_do_assignments): Likewise.
3569 * ldexp.c (exp_print_token): Add SQUAD to table.
3570 * ldwrite.c (build_link_order): Handle SQUAD.
3571 * ld.texinfo (Section Data Expressions): Document SQUAD.
3572
3573 Thu Apr 3 13:19:40 1997 Ian Lance Taylor <ian@cygnus.com>
3574
3575 * ldver.c (ld_program_version): Set to 2.8.1.
3576
3577 * Branched binutils 2.8.
3578
3579 Wed Apr 2 11:55:27 1997 Ian Lance Taylor <ian@cygnus.com>
3580
3581 * mpw-idtmips.c: Rename from mpw-emipsidt.c.
3582 * mpw-elfmips.c: Rename from mpw-emipself.c.
3583 * mpw-config.in: Update accordingly.
3584
3585 * ldlang.c (lang_process): Call lang_check immediately after
3586 opening the input files, rather than at the end of the link.
3587
3588 Mon Mar 31 23:44:00 1997 Ian Lance Taylor <ian@cygnus.com>
3589
3590 * emultempl/pe.em (init): Fully bracket initializer.
3591 (set_pe_stack_heap): Remove locals begin_commit and end.
3592 (gld_${EMULATION_NAME}_after_open): Remove unused local i.
3593 (gld${EMULATION_NAME}_place_orphan): Remove unused local ptr.
3594
3595 Mon Mar 31 16:35:51 1997 Joel Sherrill <joel@oarcorp.com>
3596
3597 * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
3598
3599 Fri Mar 28 15:29:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3600
3601 Contributed by David S. Miller <davem@caip.rutgers.edu>:
3602 * configure.tgt (sparc*-*-linuxaout*): New target.
3603 (sparc*-*-linux*): New target.
3604 * emulparams/sparclinux.sh: New file.
3605 * Makefile.in (ALL_EMULATIONS): Add esparclinux.o.
3606 (esparclinux.c): New target.
3607
3608 Fri Mar 28 14:30:12 1997 Ian Lance Taylor <ian@cygnus.com>
3609
3610 From Ralf Baechle <ralf@gnu.ai.mit.edu>:
3611 * configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and
3612 mips*-*-linux*. Use elf32bmip and elf32lmip, not elf32ebmip and
3613 elf32elmip.
3614
3615 Thu Mar 27 17:14:32 1997 Ian Lance Taylor <ian@cygnus.com>
3616
3617 * lexsup.c (parse_args): Update copyright date in version
3618 message.
3619
3620 Fri Mar 21 12:28:41 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3621
3622 * emulparams/delta68.sh (OUTPUT_FORMAT): Set to "coff-m68k-sysv".
3623
3624 Tue Mar 18 11:16:23 1997 Ian Lance Taylor <ian@cygnus.com>
3625
3626 * Makefile.in: Rebuild dependencies.
3627
3628 * emultempl/aix.em: Include "obstack.h".
3629
3630 Mon Mar 17 19:26:06 1997 Ian Lance Taylor <ian@cygnus.com>
3631
3632 * ldlang.c: Include "obstack.h".
3633
3634 Sat Mar 15 23:23:46 1997 Fred Fish <fnf@cygnus.com>
3635
3636 * configure.tgt (powerpc-*-beos*): Use aixppc for targ_emul.
3637
3638 Sat Mar 15 18:10:38 1997 H.J. Lu <hjl@lucon.org>
3639
3640 * ldemul.h (ldemul_list_emulations): Use full prototype.
3641 * ldlang.c (print_one_symbol): Add declaration.
3642 * ldlang.h (dprint_statements): Declare.
3643 * ldmain.c (remove_output): Declare.
3644 * ldmisc.c (vfinfo): Declare.
3645 * ldwrite.c (clone_section): Declare.
3646 (split_sections): Make static. Declare.
3647 * mri.c: Include libiberty.h.
3648 (strdup): Don't declare.
3649 (mri_alias): Use xstrdup rather than strdup.
3650
3651 Fri Mar 14 21:30:06 1997 Ian Lance Taylor <ian@cygnus.com>
3652
3653 * scripttempl/elfmips.sc: Change handling of data area when
3654 generating a shared library to not skip a large block of memory.
3655 From Per Fogelstrom <pefo@cvs.openbsd.org>.
3656
3657 Wed Mar 12 21:33:09 1997 Ian Lance Taylor <ian@cygnus.com>
3658
3659 * ldmain.c (multiple_definition): Only skip the warning if the
3660 output section is absolute when the input section is not
3661 absolute.
3662
3663 * ldlex.l: Accept whitespace in VERS_START state. Warn about
3664 invalid characters in VERS_* states.
3665
3666 Tue Mar 11 13:51:31 1997 Ian Lance Taylor <ian@cygnus.com>
3667
3668 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Don't let a
3669 trailing space lead us to think that there is a zero address.
3670
3671 Sun Mar 9 23:06:35 1997 Eric Youngdale <eric@andante.jic.com>
3672
3673 * ldgram.y (vers_node): Correct typo of '(' for '{'.
3674
3675 Fri Mar 7 18:40:12 1997 Fred Fish <fnf@cygnus.com>
3676
3677 * scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start
3678 rather than _start.
3679 (__edata): Define this rather than "edata".
3680 (__end): Define this rather than "end".
3681
3682 Tue Mar 4 17:18:35 1997 Michael Meissner <meissner@cygnus.com>
3683
3684 * configure.tgt (tic80-*-*): Allow dropping of -coff.
3685
3686 Sun Mar 2 22:59:49 1997 Fred Fish <fnf@cygnus.com>
3687
3688 * Makefile.in (ld.dvi): Set MAKEINFO environment variable as well
3689 as TEXINPUTS. Needed for building in separate build dir.
3690 * ldint.texinfo (SCRIPT_NAME): Fix typo.
3691 * emulparams/tic80coff.sh: Rewrite to include internal documentation
3692 about each shell variable that is set (or not set).
3693 * scripttempl/tic80coff.sc: Complete rewrite.
3694
3695 Fri Feb 28 17:42:27 1997 Ian Lance Taylor <ian@cygnus.com>
3696
3697 * ldmain.c (main): Call bfd_set_default_target.
3698 * Makefile.in (ldmain.o): Define TARGET when compiling.
3699
3700 Thu Feb 27 11:41:03 1997 Ian Lance Taylor <ian@cygnus.com>
3701
3702 * ldmain.c (main): Don't initialize link_info.lprefix or
3703 link_info.lprefix_len.
3704 * emultempl/hppaelf.em (hppaelf_before_parse): Likewise.
3705
3706 * emultempl/m88kbcs.em: Remove.
3707 * emulparams/m88kbcs.sh (TEMPLATE_NAME): Don't set.
3708 * Makefile.in (em88kbcs.c): Depend upon generic.em rather than
3709 m88kbcs.em.
3710
3711 * mri.c (mri_draw_tree): Pass noload_section, not SEC_NEVER_LOAD,
3712 to lang_enter_output_section_statement. From Mark Rasin
3713 <mark.rasin@telrad.co.il>.
3714
3715 Wed Feb 26 11:51:44 1997 Ian Lance Taylor <ian@cygnus.com>
3716
3717 * ldlang.c (lang_one_common): Clear SEC_IS_COMMON from common
3718 section.
3719
3720 Tue Feb 25 20:38:11 1997 Stan Shebs <shebs@andros.cygnus.com>
3721
3722 * configure.tgt (mips*-*-lnews*): New target.
3723 * Makefile.in (emipslnews.c): New target.
3724 * emulparams/mipslnews.sh: New file.
3725
3726 Tue Feb 25 16:04:09 1997 Ian Lance Taylor <ian@cygnus.com>
3727
3728 * emultempl/elf32.em (hold_interp): New static variable.
3729 (gld${EMULATION_NAME}_place_orphan): Put loadable .note sections
3730 after hold_interp. Choose a unique output section name.
3731 (gld${EMULATION_NAME}_place_section): Don't set hold_use if the
3732 SEC_LOAD or SEC_ALLOC flags differ. Set hold_interp.
3733
3734 Mon Feb 24 18:16:09 1997 Ian Lance Taylor <ian@cygnus.com>
3735
3736 From Eric Youngdale <eric@andante.jic.com>:
3737 * ldlex.l (V_TAG, V_IDENTIFIER): New macros.
3738 (VERS_START, VERS_SCRIPT, VERS_NODE): New states to parse version
3739 information.
3740 (ldlex_version_script, ldlex_version_file): New functions.
3741 * ldlex.h (enum input_enum): Add input_version_script.
3742 (ldlex_version_script): Declare.
3743 (ldlex_version_file): Declare.
3744 * ldgram.y (%union): Add deflist, versyms, and versnode.
3745 (VERS_TAG, VERS_IDENTIFIER): New terminals.
3746 (GLOBAL, LOCAL, VERSION, INPUT_VERSION_SCRIPT): New terminals.
3747 (file): Accept INPUT_VERSION_SCRIPT.
3748 (ifile_p1): Accept version.
3749 (version_script_file): New nonterminal.
3750 (version, vers_nodes, vers_node): Likewise.
3751 (verdep, vers_tag, ver_defns): Likewise.
3752 * ldlang.c (lang_elf_version_info): New global variable.
3753 (lang_new_vers_regex): New function.
3754 (lang_new_vers_node): New function.
3755 (version_index): New static variable.
3756 (lang_register_vers_node): New function.
3757 (lang_add_vers_depend): New function.
3758 * ldlang.h (lang_elf_version_info): Declare.
3759 (lang_new_vers_regex, lang_new_vers_node): Declare.
3760 (lang_add_vers_depend, lang_register_vers_node): Declare.
3761 * lexsup.c (OPTION_VERSION_SCRIPT): Define.
3762 (ld_options): Add "version-script".
3763 (parse_args): Handle OPTION_VERSION_SCRIPT.
3764 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
3765 Pass lang_elf_version_info to size_dynamic_sections.
3766 * scripttempl/elf.sc: Add .gnu.version sections.
3767 * ld.texinfo: Document symbol versioning.
3768
3769 Fri Feb 21 17:37:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
3770
3771 * Makefile.in (ed30velf.c): New target.
3772 * configure.tgt (d30v-*-*): New target.
3773 * emulparams/d30velf.sh: New file.
3774 * scripttempl/elfd30v.sc: New file.
3775
3776 Fri Feb 14 18:28:31 1997 Ian Lance Taylor <ian@cygnus.com>
3777
3778 * ld.texinfo (Option Commands): Document the INCLUDE command.
3779
3780 Thu Feb 13 20:31:37 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3781
3782 * configure.in: Call BFD_NEED_DECLARATION on getenv.
3783 * acconfig.h (NEED_DECLARATION_GETENV): New macro.
3784 * sysdep.h (getenv): Declare if NEED_DECLARATION_GETENV.
3785 * ldemul.c (ld_emul_default_target): Do not cast getenv return
3786 value.
3787 * ldmain.c (get_emulation): Likewise.
3788 * configure, config.in: Rebuild.
3789
3790 Tue Feb 11 15:34:26 1997 Ian Lance Taylor <ian@cygnus.com>
3791
3792 * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and
3793 .mips16.call.* in .text.
3794
3795 Sun Feb 9 18:09:13 1997 Fred Fish <fnf@cygnus.com>
3796
3797 * emulparams/tic80coff.sh: New (dummy) file for TIc80.
3798 * scripttempl/tic80coff.sc: New (dummy) file for TIc80.
3799 * Makefile.in (etic80coff.c): Add target and rule to build it.
3800 * configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
3801
3802 Fri Jan 31 13:16:53 1997 Ian Lance Taylor <ian@cygnus.com>
3803
3804 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for
3805 ".so" in the name, not ".so.".
3806 (gld${EMULATION_NAME}_search_dir): Accept a plain .so file.
3807
3808 * Makefile.in (ld.info): Add -I$(srcdir). From Alan Modra
3809 <alan@spri.levels.unisa.edu.au>.
3810
3811 Thu Jan 30 11:31:52 1997 Ian Lance Taylor <ian@cygnus.com>
3812
3813 * emultempl/sunos.em: Include <ctype.h>.
3814 (gld${EMULATION_NAME}_find_so): Skip the directory name when
3815 searching for ".so.".
3816 (gld${EMULATION_NAME}_search_dir): Make sure that the library name
3817 has a version number, and that only version numbers follow .so.
3818
3819 Wed Jan 29 18:15:00 1997 Geoffrey Noer <noer@cygnus.com>
3820
3821 * scripttempl/pe.sc:
3822 * scripttempl/ppcpe.sc: add *(.gcc_except_table) to the text
3823 section so Win32 executables are valid.
3824
3825 Mon Jan 27 12:28:43 1997 Ian Lance Taylor <ian@cygnus.com>
3826
3827 * scripttempl/elf.sc: Put linkonce reloc section in other
3828 appropriate reloc sections.
3829 * scripttempl/elfmips.sc: Add linkonce support.
3830 * scripttempl/elfppc.sc: Likewise.
3831
3832 Fri Jan 24 10:44:09 1997 Jeffrey A Law (law@cygnus.com)
3833
3834 * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the
3835 stack up to 0x80000.
3836 * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise.
3837
3838 Tue Jan 21 12:11:10 1997 Doug Evans <dje@seba.cygnus.com>
3839
3840 * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Use PROVIDE
3841 to define `_stack'.
3842
3843 Thu Jan 16 17:07:52 1997 Ian Lance Taylor <ian@cygnus.com>
3844
3845 * ld.h (args_type): Rename auxiliary_filter_shlib to
3846 auxiliary_filters, and make it char **.
3847 * lexsup.c (parse_args): Handle -f by setting up an array.
3848 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use
3849 new name of auxiliary_filters.
3850
3851 * ld.texinfo (Options): Improve documentation of --filter and
3852 --auxiliary.
3853
3854 Tue Jan 14 15:44:28 1997 Ian Lance Taylor <ian@cygnus.com>
3855
3856 * ld.texinfo (Options): Clarify that the normal usage is -T.
3857 (Commands): Likewise.
3858
3859 Thu Jan 9 11:26:27 1997 Ian Lance Taylor <ian@cygnus.com>
3860
3861 * scripttempl/armcoff.sc: Correct mask used for .data address.
3862
3863 Wed Jan 8 15:14:59 1997 Geoffrey Noer <noer@cygnus.com>
3864
3865 * emultempl/pe.em: make default executable a.exe instead of
3866 a.out
3867
3868 Fri Jan 3 17:33:34 1997 Richard Henderson <rth@tamu.edu>
3869
3870 * scripttempl/elf.sc: Move .got closer to .sdata and .sbss by
3871 shifting .plt back. Rumour has it that the NetBSD ld.so depends
3872 on .dynamic being after .got, so we leave that.
3873
3874 Fri Jan 3 14:04:40 1997 Ian Lance Taylor <ian@cygnus.com>
3875
3876 * Makefile.in (clean): Don't remove configdoc.texi.
3877 (maintainer-clean): Do remove configdoc.texi.
3878
3879 * ld.texinfo (Operators): Remove '@' from @smallexmple in comment
3880 to avoid confusing texi2roff.
3881
3882 Fri Jan 3 11:27:02 1997 Michael Meissner <meissner@tiktok.cygnus.com>
3883
3884 * scripttempl/v850.sc (.zdata): Add .zcommon section.
3885 (.tdata): Add .tcommon and .tcommon_byte sections.
3886
3887 Thu Jan 2 18:14:32 1997 Ian Lance Taylor <ian@cygnus.com>
3888
3889 * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets.
3890 * scripttempl/elfmips.sc: Use __start as the entry address for
3891 mips*-*-linux*.
3892
3893 Tue Dec 31 14:48:30 1996 Ian Lance Taylor <ian@cygnus.com>
3894
3895 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
3896
3897 * ld.h (args_type): Add filter_shlib and auxiliary_filter_shlib
3898 fields.
3899 * lexsup.c (parse_args): Recognize --auxiliary/-f and
3900 --filter/-F.
3901 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
3902 Pass filter_shlib and auxiliary_filter_shlib to
3903 size_dynamic_sections.
3904 * ld.texinfo, ld.1: Document --filter/-F and --auxiliary/-f.
3905
3906 Mon Dec 30 13:55:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3907
3908 * scripttempl/v850.sc (.tdata) Add .tbss and .tbyte sections.
3909
3910 Wed Dec 18 22:57:35 1996 Stan Shebs <shebs@andros.cygnus.com>
3911
3912 * mpw-make.sed: Use NewFolderRecursive for installation.
3913
3914 Fri Dec 13 14:08:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3915
3916 * scripttempl/v850.sc: Make sure __{e,g}p start relative to the
3917 {s,t}data sections. Do not emit any linker generated symbols if
3918 -r. Use {TEXT,{Z,S,T}DATA}_START_ADDR variables to initialize
3919 where the different sections go. Change some whitespace.
3920
3921 * emulparams/v850.sh ({TEXT,{Z,S,T}DATA}_START_ADDR): Define
3922 appropriately. Remove crud not used anymore.
3923
3924 Fri Dec 13 10:19:57 1996 Jeffrey A Law (law@cygnus.com)
3925
3926 * Makefile.in (emn10200.c): Add dependencies.
3927 * configure.tgt: Handle mn10200.
3928 * emulparms/mn10200.sh: New file.
3929
3930 Thu Dec 12 17:04:55 1996 Ian Lance Taylor <ian@cygnus.com>
3931
3932 * emultempl/gld960c.em: Include <ctype.h>.
3933 (gld960_set_output_arch): Get the machine type from the -A option
3934 if there is one, rather than always using core.
3935
3936 Sat Dec 7 10:07:51 1996 Jeffrey A Law (law@cygnus.com)
3937
3938 * emulparms/mn10300.sh: Handle leading underscores.
3939
3940 Thu Dec 5 13:45:58 1996 Ian Lance Taylor <ian@cygnus.com>
3941
3942 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Only
3943 set hold_rel if SEC_ALLOC is set.
3944
3945 Tue Dec 3 11:29:20 1996 Ian Lance Taylor <ian@cygnus.com>
3946
3947 * ldlang.c (section_already_linked): Set the output_offset as well
3948 as the output_section when only reading symbols from a file.
3949
3950 Mon Dec 2 11:43:50 1996 Ian Lance Taylor <ian@cygnus.com>
3951
3952 * emulparams/*.sh: Make sure that each set of parameters which
3953 uses the elf.sc script sets MACHINE.
3954
3955 Wed Nov 27 03:22:05 1996 Jason Merrill <jason@yorick.cygnus.com>
3956
3957 * scripttempl/elf{,mips,ppc}.sc: Add the remaining DWARF sections.
3958 * scripttempl/elfd10v.sc: Likewise.
3959 * scripttempl/v850.sc: Likewise.
3960
3961 Tue Nov 26 16:58:33 1996 Ian Lance Taylor <ian@cygnus.com>
3962
3963 * configure: Rebuild with autoconf 2.12.
3964
3965 Mon Nov 25 12:17:55 1996 Jim Wilson <wilson@cygnus.com>
3966
3967 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Add case
3968 for bfd_vma to init loop.
3969
3970 Mon Nov 25 09:55:07 1996 Jeffrey A Law (law@cygnus.com)
3971
3972 * emulparms/mn10300.sh: Remove bogus '_' prefix for
3973 entry symbol and ctor/dtor stuff.
3974
3975 Fri Nov 15 13:00:18 1996 Jeffrey A Law (law@cygnus.com)
3976
3977 * Makefile.in (emn10300.c): Add dependencies.
3978 * configure.tgt: Handle mn10300.
3979 * emulparms/mn10300.sh: New file.
3980
3981 Tue Nov 5 10:57:50 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
3982
3983 * emulparams/d10velf.sh (READONLY_START_ADDR): Changed to 0x2000004.
3984 (EMBEDDED): Define.
3985
3986 Fri Nov 1 10:01:27 1996 Ian Lance Taylor <ian@cygnus.com>
3987
3988 * ld.texinfo: Add section on reporting bugs.
3989
3990 * scripttempl/m68kcoff.sc: Make sure the etext and __CTOR_LIST__
3991 symbols are correctly aligned.
3992
3993 Thu Oct 31 09:28:59 1996 Jeffrey A Law (law@cygnus.com)
3994
3995 * scriptempl/v850.sc (zdata): Handle reszdata, romzdata and
3996 romzbss too.
3997
3998 Tue Oct 29 12:33:05 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
3999
4000 * emulparams/d10velf.sh: Changes needed for D10V-EVA board.
4001 Set TEXT_START_ADDR to 0x1000000. Set READONLY_START_ADDR to
4002 0x2000000.
4003
4004 * scripttempl/elfd10v.sc: Fix calculation of .text. Change
4005 .stack to start at 0x2007ffe.
4006
4007 Mon Oct 28 15:37:00 1996 Doug Evans <dje@canuck.cygnus.com>
4008
4009 * configure.tgt (sparclet*-*-aout*): Delete, use sparc*-*-aout*.
4010
4011 Wed Oct 23 16:17:22 1996 Jeffrey A Law (law@cygnus.com)
4012
4013 * scriptempl/v850.sc (zdata): Fix typo "zrodata" -> "rozdata".
4014
4015 * scriptempl/v850.sc (zdata): Make sure this stays
4016 in lo-memory.
4017
4018 Tue Oct 22 11:36:47 1996 Jeffrey A Law (law@cygnus.com)
4019
4020 * scripttempl/v850.sc (__ep): Put it at the start
4021 of the tda section.
4022
4023 * scriptempl/v850.sc: Move all "normal" sections into
4024 the external memory region (0x100000 - 0x200000).
4025
4026 Mon Oct 21 17:16:59 1996 Michael Meissner <meissner@wogglebug.tiac.net>
4027
4028 * scripttempl/elfd10v.sc: Clone from elf.sc, move .text to
4029 0x10000, so that is more room for data.
4030
4031 * emulparams/d10velf.sh (TEXT_START_ADDR): Now 0x100000.
4032 (READONLY_START_ADDR): Now 0x0.
4033 (SCRIPT_NAME): Now elfd10v.
4034
4035 * Makefile.in (ed10velf.c): Depend on elfd10v.sc, not elf.sc.
4036
4037 Fri Oct 18 22:12:49 1996 Doug Evans <dje@canuck.cygnus.com>
4038
4039 * emulparams/m32relf.sh (TEXT_START_ADDR): Change from 0 to 0x100.
4040
4041 Fri Oct 18 15:43:38 1996 Ian Lance Taylor <ian@cygnus.com>
4042
4043 * Makefile.in (ALL_EMULATIONS): Remove eelf64alpha.o.
4044 (ALL_64_EMULATIONS): New variable.
4045 * configure.in: Accept --enable-64-bit-bfd option. If it is set
4046 with --enable-targets=all, include ALL_64_EMULATIONS in
4047 EMULATION_OFILES.
4048 * configure: Rebuild.
4049
4050 Fri Oct 18 12:58:35 1996 Jeffrey A Law (law@cygnus.com)
4051
4052 * scripttempl/v850.sc (__gp, __ep): Define.
4053
4054 Thu Oct 17 18:14:07 1996 Ian Lance Taylor <ian@cygnus.com>
4055
4056 * ld.texinfo: Try to consistently use a single or a double dash
4057 for each option.
4058
4059 Thu Oct 17 10:17:20 1996 Doug Evans <dje@canuck.cygnus.com>
4060
4061 * emulparams/m32relf.sh (EMBEDDED): Define.
4062
4063 Thu Oct 17 10:56:49 1996 Jeffrey A Law (law@cygnus.com)
4064
4065 * scripttempl/v850.sc (.zdata): Add this before .text.
4066 (.sdata): Also include .rosdata as part of the .sdata.
4067 (.tdata): Include this just before .sdata.
4068
4069 * emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf".
4070 * scripttempl/v850.sc: Wrap script with a "cat << EOF".
4071
4072 Wed Oct 16 23:10:01 1996 Jeffrey A Law (law@cygnus.com)
4073
4074 * scripttempl/v850.sc: New linker script for the V850.
4075 * Makefile.in: Use it.
4076
4077 Thu Oct 10 17:57:00 1996 Ian Lance Taylor <ian@cygnus.com>
4078
4079 * emulparams/elf32b4300.sh: Define _gp in OTHER_GOT_SYMBOLS, not
4080 OTHER_READWRITE_SECTIONS.
4081 * emulparams/elf32l4300.sh: Likewise.
4082
4083 Wed Oct 9 14:36:18 1996 Ian Lance Taylor <ian@cygnus.com>
4084
4085 * ld.h (ld_config_type): Add warn_section_align field.
4086 * lexsup.c (OPTION_WARN_SECTION_ALIGN): Define.
4087 (ld_options): Add --warn-section-align.
4088 (parse_args): Handle --warn-section-align.
4089 * ldlang.c (lang_size_sections): If warn_section_align, warn if
4090 the start of a section changes due to alignment.
4091 * ld.texinfo, ld.1: Document --warn-section-align.
4092 * ld.texinfo: Change some single dashes to double dashes.
4093
4094 * emultempl/pe.em (set_pe_subsystem): Record entry symbol for each
4095 subsystem type. Ifdef out os2 type. Recognize a version number.
4096
4097 Tue Oct 8 12:07:13 1996 Ian Lance Taylor <ian@cygnus.com>
4098
4099 * emultempl/pe.em (set_pe_subsystem): When setting the subsystem
4100 to windows, set the entry point.
4101
4102 * Makefile.in (ldlex.c): Don't pass any options to $(LEX).
4103
4104 Mon Oct 7 17:29:05 1996 Ian Lance Taylor <ian@cygnus.com>
4105
4106 * ld.texinfo (Options): Mention .so extensions for shared
4107 libraries.
4108
4109 Sun Oct 6 22:35:36 1996 Jason Merrill <jason@yorick.cygnus.com>
4110
4111 * scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections.
4112
4113 Fri Oct 4 18:49:31 1996 Ian Lance Taylor <ian@cygnus.com>
4114
4115 * scripttempl/m68kcoff.sc: Only set the address of .text if
4116 RELOCATING.
4117
4118 Fri Oct 4 10:59:52 1996 Doug Evans <dje@canuck.cygnus.com>
4119
4120 * emulparams/sparcaout.sh ({BIG,LITTLE}_OUTPUT_FORMAT): Define.
4121 * scripttempl/aout.sc ({BIG,LITTLE}_OUTPUT_FORMAT): Provide default.
4122 (OUTPUT_FORMAT): Support bi-endian targets.
4123
4124 Thu Oct 3 13:52:03 1996 Ian Lance Taylor <ian@cygnus.com>
4125
4126 * fnmatch.h, fnmatch.c: Remove (now in libiberty).
4127 * Makefile.in: Rebuild dependencies.
4128 (CFILES): Remove fnmatch.c.
4129 (HFILES): Remove fnmatch.h.
4130 (OFILES): Remove fnmatch.o.
4131
4132 Thu Oct 3 15:41:24 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
4133
4134 * Makefile.in (mostlyclean): Move config.log to distclean.
4135
4136 Wed Oct 2 23:45:25 1996 Geoffrey Noer <noer@cygnus.com>
4137
4138 * emultmpl/pe.em: increase size of stack reserve to 0x2000000
4139 (necessary in order to compile parse.c in gcc sources under NT)
4140
4141 Wed Oct 2 14:49:10 1996 Ian Lance Taylor <ian@cygnus.com>
4142
4143 * lexsup.c (ld_options): Fix typo in --rpath-link description.
4144 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
4145 --rpath if a needed library is not found.
4146
4147 Tue Oct 1 16:17:33 1996 Joel Sherrill <joel@oarcorp.com>
4148
4149 * configure.tgt (mips*-*-rtems*): New target, like mips*-*-elf*.
4150
4151 Tue Oct 1 15:50:34 1996 Ian Lance Taylor <ian@cygnus.com>
4152
4153 * ld.texinfo (Options): Give more detail on -l option.
4154
4155 * scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that
4156 elf.sc does, so that glibc works better.
4157
4158 * ldver.c (ld_program_version): New variable.
4159 (ldversion): Use it.
4160 * ldver.h (ld_program_version): Declare.
4161 * lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
4162 --version. Change --version handling to match current GNU
4163 standards.
4164 (help): Print bug report address.
4165
4166 Mon Sep 30 12:14:43 1996 Doug Evans <dje@canuck.cygnus.com>
4167
4168 * Makefile.in (em32relf.c): Add rule for.
4169 * configure.tgt (m32r-*-*): Recognize.
4170 * emulparams/m32relf.sh: New file.
4171
4172 Thu Sep 26 13:58:47 1996 Stan Shebs <shebs@andros.cygnus.com>
4173
4174 * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit.
4175 * mpw-config.in: Add mips-*-* case as mips-elf, and use more
4176 wildcards in matching.
4177 * mpw-emipself.c: New file, pregenerated mips elf emulation.
4178
4179 Tue Sep 17 12:18:21 1996 Ian Lance Taylor <ian@cygnus.com>
4180
4181 * ldint.texinfo: Rewrote.
4182
4183 * configure.tgt: Add cases for MIPS 5000 like MIPS 4300.
4184
4185 Mon Sep 16 17:55:21 1996 Ian Lance Taylor <ian@cygnus.com>
4186
4187 * scripttempl/armcoff.sc: Only define symbols if RELOCATING. Fix
4188 syntax error on __end__ line.
4189
4190 * scripttempl/armcoff.sc: For -N or -n, don't align .data. From
4191 Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
4192
4193 Sun Sep 15 22:09:56 1996 Jeffrey A Law (law@cygnus.com)
4194
4195 * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS.
4196
4197 Sun Sep 15 10:38:16 1996 Mark Alexander <marka@cygnus.com>
4198
4199 * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put
4200 stack at top of simulator memory.
4201
4202 Fri Sep 13 15:49:45 1996 Ian Lance Taylor <ian@cygnus.com>
4203
4204 * ldlex.l (SYMBOLCHARN): Add $, _, and ~.
4205
4206 Wed Sep 11 23:30:42 1996 Ian Lance Taylor <ian@cygnus.com>
4207
4208 * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al.
4209
4210 Thu Sep 5 15:24:12 1996 Ian Lance Taylor <ian@cygnus.com>
4211
4212 * ldlang.c (section_already_linked): Accept a lang_input_statement
4213 as the PTR argument. If the file is symbols only, discard all
4214 input sections.
4215 (ldlang_add_file): Pass entry to bfd_map_over_sections.
4216
4217 Wed Sep 4 15:53:43 1996 Ian Lance Taylor <ian@cygnus.com>
4218
4219 * configure.tgt (alpha-*-gnu*): New target. From Fila Kolodny
4220 <fila@ibi.com>.
4221
4222 Tue Sep 3 00:52:54 1996 Jeffrey A Law (law@cygnus.com)
4223
4224 * emulparms/v850.sh: Set OTHER_RELOCATING_SECTIONS
4225
4226 Sun Sep 1 21:48:58 1996 Jeffrey A Law (law@cygnus.com)
4227
4228 * emulparms/v850.sh: Set EMBEDDED.
4229
4230 Fri Aug 30 22:30:30 1996 Jeffrey A Law (law@cygnus.com)
4231
4232 * emulparms/v850.sh: Entry symbol is "_start", tweak
4233 ctor/dtor support.
4234
4235 Fri Aug 30 18:32:31 1996 Ian Lance Taylor <ian@cygnus.com>
4236
4237 * configure.tgt (sh-*-elf*): New target.
4238 * emulparams/shelf.sh: New file.
4239 * emulparams/shlelf.sh: New file.
4240 * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
4241 (eshelf.c, eshlelf.c): New targets.
4242 * scripttempl/elf.sc: If EMBEDDED is defined, then don't add
4243 SIZEOF_HEADERS to TEXT_START_ADDR. Expand CTOR_START and CTOR_END
4244 around .ctors, and DTOR_START and DTOR_END around .dtors. Expand
4245 OTHER_RELOCATING_SECTIONS if RELOCATING.
4246
4247 Thu Aug 29 16:57:46 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4248
4249 * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium
4250 pro.
4251
4252 Mon Aug 26 12:58:11 1996 Ian Lance Taylor <ian@cygnus.com>
4253
4254 * ldgram.y (section): Add opt_nocrossrefs; pass value to
4255 lang_enter_overlay.
4256 (opt_nocrossrefs): New nonterminal.
4257 * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode.
4258 * ldlang.c (overlay_nocrossrefs): New static variable.
4259 (lang_enter_overlay): Add nocrossrefs parameter.
4260 (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs
4261 is set. Initialize overlay_nocrossrefs.
4262 * ldlang.h (lang_enter_overlay): Update declaration.
4263 * ld.texinfo (Overlays): Update documentation.
4264
4265 * ldver.c (ldversion): Print GNU ld in the version message.
4266
4267 Thu Aug 22 17:10:40 1996 Ian Lance Taylor <ian@cygnus.com>
4268
4269 * configure.host: Set HLDENV.
4270 * configure.in: Substitute HLDENV.
4271 * configure: Rebuild.
4272 * Makefile.in (HLDENV): New variable.
4273 ($(LD_PROG)): Use $(HLDENV).
4274
4275 Thu Aug 22 16:29:28 1996 Jeffrey A Law (law@cygnus.com)
4276
4277 * Makefile.in (ev850.c): New target.
4278 * configure.tgt (v850-*-*): New target.
4279 * emulparams/v850.sh: New file.
4280
4281 Thu Aug 22 11:16:02 1996 Stan Shebs <shebs@andros.cygnus.com>
4282
4283 * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit.
4284
4285 Wed Aug 21 11:26:37 1996 Ian Lance Taylor <ian@cygnus.com>
4286
4287 * scripttempl/elf.sc: Put .gnu.linkonce* sections in appropriate
4288 containing sections.
4289
4290 Mon Aug 19 13:01:42 1996 Ian Lance Taylor <ian@cygnus.com>
4291
4292 * fnmatch.c: Include sysdep.h.
4293
4294 Mon Aug 19 11:28:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4295
4296 * genscripts.sh: Undo 8/16 change.
4297
4298 * emulparams/d10velf.sh (MACHINE): Explicitly set to nothing.
4299
4300 Fri Aug 16 19:18:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4301
4302 * genscripts.sh: Explicitly reset any shell variables set or used
4303 by the various .sc scripts to allow inadvertant use of these
4304 names as normal environment variables by the person running
4305 configure.
4306
4307 * Makefile.in (ed10velf.c): Use tdir_d10v, not tdir_arcelf.
4308
4309 Fri Aug 16 14:15:41 1996 James G. Smith <jsmith@cygnus.co.uk>
4310
4311 * scripttempl/armcoff.sc (__bss_start__, __bss_end__,
4312 __data_start__, __data_end__): Added to keep in sync. with the
4313 default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
4314
4315 Thu Aug 8 14:24:56 1996 Ian Lance Taylor <ian@cygnus.com>
4316
4317 * ldcref.c (check_reloc_refs): If info->same, look for any symbol
4318 defined in info->defsec, not just the section symbol.
4319
4320 Wed Aug 7 14:40:48 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
4321
4322 * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
4323 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
4324 (NEED_DECLARATION_SBRK): New macro.
4325 * configure, config.in: Rebuild.
4326 * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
4327 * ldmain.c (sbrk): Declare if HAVE_SBRK and
4328 NEED_DECLARATION_SBRK.
4329
4330 * ldlang.c (lang_record_phdrs): Cast xmalloc and xrealloc return.
4331
4332 Mon Aug 5 16:26:14 1996 Ian Lance Taylor <ian@cygnus.com>
4333
4334 * ldlex.l: Recognize OVERLAY.
4335 * ldgram.y: Add section_phdr field to %union.
4336 (section): Handle phdr_opt result. Add OVERLAY case.
4337 (opt_exp_without_type): New nonterminal.
4338 (phdr_opt): Return list of phdrs.
4339 (overlay_section): New nonterminal.
4340 * ldlang.c: Include <ctype.h>.
4341 (lang_leave_output_section_statement): Add phdrs parameter.
4342 Change all callers.
4343 (lang_section_in_phdr): Remove.
4344 (overlay_vma, overlay_lmn, overlay_max): New static variables.
4345 (struct overlay_list): Define.
4346 (overlay_list): New static variable.
4347 (lang_enter_overlay, lang_enter_overlay_section): New functions.
4348 (lang_leave_overlay_section, lang_leave_overlay): New functions.
4349 * ldlang.h (lang_leave_output_section_statement): Update
4350 declaration for new parameter.
4351 (lang_section_in_phdr): Don't declare.
4352 (lang_enter_overlay, lang_enter_overlay_section): Declare.
4353 (lang_leave_overlay_section, lang_leave_overlay): Declare.
4354 * ld.texinfo (Overlays): New node under SECTIONS, documenting
4355 overlays.
4356
4357 * ldlex.l: Recognize MAX and MIN.
4358 * ldgram.y (MAX, MIN): New terminals.
4359 (exp): Recognize MAX and MIN.
4360 * ldexp.c (fold_binary): Handle MAX and MIN.
4361 * ld.texinfo (Arithmetic Functions): Document MAX and MIN.
4362
4363 * ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
4364 index entries.
4365
4366 * ldgram.y (SIZEOF, ADDR): Do not specify type.
4367
4368 * ldcref.c (check_nocrossref): Skip symbols with no output
4369 sections.
4370
4371 Fri Aug 2 14:57:49 1996 Ian Lance Taylor <ian@cygnus.com>
4372
4373 * ldgram.y (LOADADDR): New terminal.
4374 (exp): Handle LOADADDR.
4375 * ldlex.l: Recognize LOADADDR.
4376 * ldexp.c (exp_print_token): Add LOADADDR.
4377 (fold_name): Implement LOADADDR.
4378 * ldlang.c (exp_init_os): Treat LOADADDR like ADDR.
4379 * ld.texinfo (Arithmetic Functions): Document LOADADDR.
4380
4381 Thu Aug 1 12:52:19 1996 Ian Lance Taylor <ian@cygnus.com>
4382
4383 * ld.h (check_nocrossrefs): Declare.
4384 * ldlang.h (struct lang_nocrossref): Define.
4385 (struct lang_nocrossrefs): Define.
4386 (nocrossref_list): Declare.
4387 (lang_add_nocrossref): Declare.
4388 * ldlex.l: Recognize NOCROSSREFS keyword.
4389 * ldgram.y (%union): Add nocrossref field.
4390 (NOCROSSREFS): New terminal.
4391 (ifile_p1): Recognize NOCROSSREFS.
4392 (nocrossref_list): New nonterminal.
4393 * ldlang.c (nocrossref_list): Define.
4394 (lang_add_nocrossref): New function.
4395 * ldmain.c (main): If nocrossref_list is not NULL, call
4396 check_nocrossrefs.
4397 (warning_callback): Free symbols if there is no place to store
4398 them.
4399 (notice): Call add_cref if nocrossref_list is not NULL.
4400 * ldcref.c: Include "ldexp.h" and "ldlang.h".
4401 (check_nocrossrefs): New function.
4402 (check_nocrossref): New static function.
4403 (struct check_refs_info): Define.
4404 (check_refs, check_reloc_refs): New static functions.
4405 * Makefile.in: Rebuild dependencies.
4406 * ld.texinfo (Option Commands): Document NOCROSSREFS.
4407
4408 * ld.texinfo (Section Placement): Improve the wording of the
4409 wildcard documentation. Mention that wildcards are only searched
4410 for on the command line, not in the file system.
4411
4412 * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move
4413 definition of lib_path inside condition where it is used.
4414
4415 Wed Jul 31 13:17:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4416
4417 * emulparams/d10velf.sh: Now works with elf.sc.
4418
4419 Wed Jul 31 11:52:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4420
4421 * emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla.
4422
4423 Tue Jul 30 14:46:42 1996 Ian Lance Taylor <ian@cygnus.com>
4424
4425 * ldlang.c (lang_size_sections): Add the section VMA to the result
4426 value when computing the address of a section.
4427
4428 * ld.h (args_type): Add cref field.
4429 * lexsup.c (parse_args): Set command_line.cref.
4430 * ldmain.c (main): Check command_line.cref rather than
4431 link_info.notice_all.
4432 (notice): Likewise.
4433
4434 * ldcref.c (output_one_cref): Don't crash if a symbol is defined
4435 in a section without an owner.
4436
4437 Mon Jul 29 17:23:33 1996 Ian Lance Taylor <ian@cygnus.com>
4438
4439 * fnmatch.h, fnmatch.c: New files.
4440 * ldlex.l: Remove unused definition of FILENAME. Add definition
4441 of WILDCHAR. In SCRIPT mode, accept any sequence of WILDCHAR as a
4442 NAME.
4443 * ldgram.y (file_NAME_list): Accept '*' and '?' specially.
4444 (input_section_spec): Accept '?' specially.
4445 (statement): Change exp to mustbe_exp in length and FILL cases.
4446 (section): Call ldlex_script before section statements, and call
4447 ldlex_popstate after them.
4448 * ldlang.c: Include "fnmatch.h".
4449 (wildcardp): New static function.
4450 (wild_section): Permit the section name to be a wildcard.
4451 (wild_file): New static function, broken out of wild.
4452 (wild): Call wild_file. Permit the file name to be a wildcard.
4453 (open_input_bfds): Don't call lookup_name for a wildcard pattern.
4454 * Makefile.in: Rebuild dependencies.
4455 (CFILES): Add fnmatch.c.
4456 (HFILES): Add fnmatch.h.
4457 (OFILES): Add fnmatch.o.
4458 * ld.texinfo: Document that file and section names can now be
4459 wildcard patterns.
4460
4461 * ldlang.c (lang_place_orphans): Correct condition: place a common
4462 section if not relocateable or if common definitions are forced.
4463
4464 Wed Jul 24 12:16:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4465
4466 * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf.
4467
4468 Wed Jul 24 13:38:22 1996 Michael Meissner <meissner@wogglebug.tiac.net>
4469
4470 * configure.tgt (d10v-*-*): Don't require the -elf, allow plain d10v.
4471
4472 Tue Jul 23 10:36:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4473
4474 * Makefile.in (ed10velf.c): New target.
4475 * configure.tgt (d10v-*-elf*): New target.
4476 * emulparams/d10velf.sh: New file.
4477
4478 Thu Jul 18 16:25:39 1996 Ian Lance Taylor <ian@cygnus.com>
4479
4480 * configure.tgt (sparc*-*-sysv4*): New target. From Andrew Gierth
4481 <ANDREWG@microlise.co.uk>.
4482
4483 * configure.host: Change irix5 to irix[56]*.
4484 * configure.tgt: Likewise.
4485
4486 Wed Jul 17 10:52:46 1996 Kim Knuttila <krk@cygnus.com>
4487
4488 * emultempl/pe.em (sort_sections): Pay attention to return code.
4489
4490 * ldmisc.c (demangle): Remove all prefix '.'s from a name.
4491
4492 Mon Jul 15 11:49:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4493
4494 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
4495 the value of __start_SECNAME to the alignment required by the
4496 section to be placed.
4497
4498 Tue Jul 9 12:09:02 1996 Ian Lance Taylor <ian@cygnus.com>
4499
4500 * configure.tgt (mips*el-*-elf*): Use elf32elmip.
4501 (mips*-*-elf*): Use elf32ebmip.
4502 * emulparams/elf32bmip.sh (EMBEDDED): Don't define.
4503 * emulparams/elf32lmip.sh (EMBEDDED): Don't define.
4504 * emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with
4505 EMBEDDED defined.
4506 * emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with
4507 EMBEDDED defined.
4508 * emulparams/elf32b4300.sh (EMBEDDED): Define.
4509 * emulparams/elf32l4300.sh (EMBEDDED): Define.
4510 * Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o.
4511 (eelf32ebmip.c, eelf32elmip.c): New targets.
4512
4513 Thu Jul 4 12:01:03 1996 Ian Lance Taylor <ian@cygnus.com>
4514
4515 * ldver.c (ldversion): Set version to cygnus-2.7.1.
4516
4517 * Released binutils 2.7.
4518
4519 * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid
4520 System V file name limitations.
4521 * configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
4522 pc532macha rather than pc532machaout.
4523 * Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
4524 epc532macha.o.
4525 (epc532macha.c): Rename target from epc532machaout.c.
4526
4527 Wed Jul 3 11:40:10 1996 Ian Lance Taylor <ian@cygnus.com>
4528
4529 * ldlang.c (print_padding_statement): Use %u, not %x, to print
4530 fill value.
4531
4532 Sun Jun 30 11:16:43 1996 Stan Shebs <shebs@andros.cygnus.com>
4533
4534 * mpw-eppcmac.c: Update to reflect May 23 change to aix.em.
4535
4536 Thu Jun 27 14:03:42 1996 Ian Lance Taylor <ian@cygnus.com>
4537
4538 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Put the .sa
4539 file just before the .so file, rather than just after.
4540
4541 * configure.host: Use -print-file-name=FILE rather than piping
4542 -print-libgcc-file-name through sed.
4543 (i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
4544 crtend.o files, in case gcc doesn't use them.
4545 * Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
4546
4547 Wed Jun 26 15:57:21 1996 Ian Lance Taylor <ian@cygnus.com>
4548
4549 * configure.tgt (mips*-dec-osf*): New target.
4550
4551 Tue Jun 25 22:15:29 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
4552
4553 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
4554 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
4555 (docdir): Removed.
4556 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
4557 (AC_PROG_INSTALL): Added.
4558 * configure: Rebuilt.
4559
4560 Mon Jun 24 18:48:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4561
4562 * scripttempl/elfppc.sc (_GLOBAL_OFFSET_TABLE_): Don't do a
4563 PROVIDE of _GLOBAL_OFFSET_TABLE_, since it needs to be at a
4564 non-fixed location.
4565
4566 Mon Jun 24 17:55:31 1996 Jouke Numan <jnuman@bazis.nl>
4567
4568 * ldlang.h (enum section_type): Define.
4569 (lang_output_section_statement_type): Remove loadable field. Add
4570 sectype field.
4571 (lang_enter_output_section_statement): Change flags parameter in
4572 prototype to sectype.
4573 * ldgram.y (typebits): Remove.
4574 (sectype): New static variable.
4575 (opt_at): Use sectype rather than typebits.
4576 (type): Set sectype rather than typebits.
4577 (atype): Likewise.
4578 * ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
4579 EXPRESSION mode.
4580 * ldlang.c (lang_output_section_statement_lookup): Set sectype
4581 field rather than loadable field.
4582 (wild_doit): Check sectype rather than loadable.
4583 (lang_record_phdrs): Likewise.
4584 (lang_enter_output_section_statement): Rename flags parameter to
4585 sectype. Set sectype field rather than loadable field. Set flags
4586 field based on sectype.
4587
4588 Mon Jun 24 12:00:32 1996 Ian Lance Taylor <ian@cygnus.com>
4589
4590 * scripttempl/elf.sc: Force .stab* and .comment sections to start
4591 at 0.
4592
4593 * configure.in: On alpha*-*-osf*, link against libbfd.a if not
4594 using shared libraries.
4595 * configure: Rebuild with autoconf 2.10.
4596
4597 Fri Jun 21 17:40:56 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
4598
4599 * configure.tgt: Add support for *-*-rtems* configurations.
4600
4601 Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu>
4602
4603 * configure.tgt (alpha-*-linuxecoff*): New target.
4604 (alpha-*-linux*): Use elf64alpha.
4605 * emulparams/elf64alpha.sh: New file.
4606 * emultempl/elf32.em: If ELFSIZE is not set, set it to 32. Use
4607 ${ELFSIZE} rather than 32 when calling BFD routines.
4608 (hold_rodata): New static variable.
4609 (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
4610 readonly section that is not code.
4611 (gld${EMULATION_NAME}_place_section): Set hold_rodata. Don't use
4612 a .rel section unless its bfd_section field is not NULL.
4613 * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
4614 (eelf64alpha.c): New target.
4615
4616 Fri Jun 21 12:45:46 1996 Ian Lance Taylor <ian@cygnus.com>
4617
4618 * ldmisc.c (vfinfo): Correct handling of 0 in %W case.
4619
4620 Thu Jun 20 13:55:28 1996 Ian Lance Taylor <ian@cygnus.com>
4621
4622 Add enough support to understand the gcc svr3.ifile script:
4623 * ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context. Add
4624 BIND keyword.
4625 * ldgram.y: Add BIND token.
4626 (section): Recognize GROUP.
4627 (opt_ext_with_type): Recognize a couple of cases of BIND.
4628 * ldlang.c (init_os): Don't do anything if section is already
4629 initialized. Call exp_init_os on addr_tree field.
4630 (exp_init_os): New static function.
4631 (map_input_to_output_sections): Call exp_init_os on assignment
4632 expression.
4633 (lang_place_orphans): Check for common sections by name COMMON
4634 rather than by common_section field. Don't warn about absence of
4635 [COMMON] command.
4636
4637 * ldlang.h (lang_input_statement_type): Remove useless fields
4638 common_section, common_output_section, and complained, as well as
4639 all references to them.
4640
4641 * ldexp.c: Reindent a lot of code.
4642 (exp_fold_tree): Call FAIL rather than einfo in default case.
4643
4644 Wed Jun 19 11:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
4645
4646 * configure.host (m88*-*-dgux*): Quote HOSTING_CRT0. From
4647 <randall.hron@medaphis.com>.
4648
4649 Tue Jun 18 15:53:09 1996 Jeffrey A. Law <law@rtl.cygnus.com>
4650
4651 * scripttempl/h8300s.sc: New file for H8/S.
4652 * emulpararms/h8300s.sh: New file for H8/S.
4653 * Makefile.in (ALL_EMULATIONS): Add H8/S.
4654 (e_h8300s.c): Add dependencies.
4655 * configure.tgt: Add H8/S to targ_extra_emuls.
4656
4657 Tue Jun 18 17:55:39 1996 Ian Lance Taylor <ian@cygnus.com>
4658
4659 * configure.tgt (i[345]86*-*-isc*): New target. From
4660 <uddeborg@carmen.se>.
4661
4662 Wed Jun 12 12:46:21 1996 Ian Lance Taylor <ian@cygnus.com>
4663
4664 * lexsup.c: Include "libiberty.h".
4665 (parse_args): Copy the -Y argument into memory.
4666 (set_default_dirlist): Don't put the ':' back into the directory
4667 list.
4668
4669 Fri Jun 7 11:27:42 1996 Ian Lance Taylor <ian@cygnus.com>
4670
4671 * emultempl/sunos.em: Include libiberty.h.
4672 (gld${EMULATION_NAME}_set_symbols): New static function to add
4673 LD_LIBRARY_PATH to the list of search directories.
4674 (ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
4675
4676 Thu Jun 6 11:50:31 1996 Ian Lance Taylor <ian@cygnus.com>
4677
4678 * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
4679 rather than . when computing _gp value. From Per Fogelstrom.
4680 * emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
4681
4682 * ldmain.c (main): Don't close and unlink the file on error, since
4683 remove_output will do it anyhow.
4684 * ldlang.c (open_output): Set boolean variable to true, not 1.
4685
4686 Wed Jun 5 18:34:14 1996 James G. Smith <jsmith@cygnus.co.uk>
4687
4688 * emulparams/{elf32b4300.sh,elf32l4300.sh} (SCRIPT_NAME): Use
4689 elfmips instead of elf.
4690
4691 Tue Jun 4 18:43:07 1996 Ian Lance Taylor <ian@cygnus.com>
4692
4693 * ldcref.c: New file.
4694 * ld.h (add_cref, output_cref): Declare.
4695 * ldmain.c (main): Initialize notice_all field. If it is set at
4696 end of link, call output_cref.
4697 (notice): Rename from notice_ysym. Check notice_all.
4698 * ldmisc.c (finfo): Make globally visible.
4699 * ldmisc.h (finfo): Declare.
4700 * lexsup.c (OPTION_CREF): Define.
4701 (ld_options): Add "cref".
4702 (parse_args): Handle OPTION_CREF.
4703 * Makefile.in: Rebuild dependencies.
4704 (CFILES): Add ldcref.c.
4705 (OFILES): Add ldcref.o.
4706 * ld.texinfo, ld.1: Document --cref.
4707
4708 Tue Jun 4 12:12:25 1996 Tom Tromey <tromey@csk3.cygnus.com>
4709
4710 * Makefile.in (install): Make $(tooldir) and $(tooldir)/bin.
4711
4712 Fri May 31 12:40:55 1996 Ian Lance Taylor <ian@cygnus.com>
4713
4714 * emultempl/pe.em (sort_sections): Don't assume that a
4715 wild_statement has a section name.
4716
4717 Wed May 29 13:13:35 1996 Ian Lance Taylor <ian@cygnus.com>
4718
4719 * scripttempl/elfmips.sc: Quote test -z argument.
4720
4721 * ld.texinfo: Clarify the CONSTRUCTORS command.
4722
4723 Thu May 23 16:07:44 1996 Ian Lance Taylor <ian@cygnus.com>
4724
4725 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
4726 file, not impfile.
4727
4728 Wed May 22 11:31:30 1996 Doug Evans <dje@seba.cygnus.com>
4729
4730 * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
4731 if final link.
4732 * emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
4733 (sort_by_section_name, sort_sections_1): New functions.
4734 (sort_sections): Only sort by file name sections in .idata.
4735 Add "Grouped Sections" support.
4736 (gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
4737 Sections.
4738 (gld${EMULATION_NAME}_place_section): Delete.
4739 * scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
4740 (.CRT,.rsrc): Rewrite to use Grouped Section support.
4741
4742 Tue May 21 14:31:48 1996 Stan Shebs <shebs@andros.cygnus.com>
4743
4744 * mpw-eppcmac.c: Update to reflect changes to aix.em.
4745
4746 Sun May 19 16:59:44 1996 Doug Evans <dje@seba.cygnus.com>
4747
4748 * ldlang.c (dprint_statement): Stop printing at end of list.
4749
4750 Sat May 18 13:12:05 1996 Steve Chamberlain <sac@slash.cygnus.com>
4751
4752 Support for --force-exe-suffix
4753 * ld.h (args_type): Add force_exe_suffix.
4754 * ld.texinfo: Add documentation.
4755 * ldmain.c (main): Add support for option.
4756 * lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
4757 (ld_options, parse_args): Add support for option.
4758
4759 Wed May 15 12:50:25 1996 Jim Wilson <wilson@chestnut.cygnus.com>
4760
4761 * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call.
4762
4763 Fri May 10 16:28:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4764
4765 * scripttempl/elfppc.sc (__stack): Make __stack 0 if it was
4766 referenced but not defined.
4767
4768 Thu May 9 08:52:23 1996 Rob Savoye <rob@chinadoll.cygnus.com>
4769
4770 * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
4771 Set a new variable to signify if the final target is an embedded
4772 system.
4773 * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
4774 .text for an embedded system.
4775
4776 Tue May 7 10:56:11 1996 Doug Evans <dje@canuck.cygnus.com>
4777
4778 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
4779 (gld${EMULATION_NAME}_place_section): New function.
4780 (hold_{section,use,text,rdata,data}): New static locals.
4781 (ld_${EMULATION_NAME}_emulation): Update orphan field.
4782 * scripttempl/pe.sc: Whitespace cleanup. Semicolon usage cleanup.
4783 (INIT,FINI): Delete, unused.
4784 (.text): Document orphan .text.foo sections.
4785 (.rdata): Document orphan .rdata.foo sections.
4786 (.data): Document orphan .data.foo sections.
4787
4788 Tue May 7 11:35:46 1996 Jeffrey A Law (law@cygnus.com)
4789
4790 * scripttempl/h8300.sc: Place ".tiny" sections right
4791 after ".data" sections.
4792 * scripttempl/h8300h.sc: Place ".tiny" sections into
4793 the "tiny" memory region, 0xff8000 through 0xffff00.
4794
4795 * scripttempl/h8300.sc: Set the entry point to the value of
4796 "_start" rather than the start of the text segment.
4797 * scripttempl/h8300h.sc: Likewise.
4798
4799 * scripttempl/h8300.sc: Place .rodata sections before .text
4800 sections in main ram.
4801 * scripttempl/h8300h.sc: Likewise.
4802
4803 Mon May 6 23:32:30 1996 Jeffrey A Law (law@cygnus.com)
4804
4805 * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
4806 8-bit region and 8-bit sections.
4807
4808 Wed May 1 17:50:06 1996 Doug Evans <dje@canuck.cygnus.com>
4809
4810 * ldlang.c (section_already_linked): Fix typos.
4811
4812 Mon Apr 29 20:31:06 1996 Doug Evans <dje@canuck.cygnus.com>
4813
4814 * scripttempl/pe.sc (.endjunk): Define __end__.
4815
4816 Mon Apr 29 17:05:13 1996 Ian Lance Taylor <ian@cygnus.com>
4817
4818 * ldlang.c (longest_section_name): Remove.
4819 (SECTION_NAME_MAP_LENGTH): Define.
4820 (print_size, print_alignment, print_fill, print_section): Remove.
4821 (print_flags): Remove.
4822 (lang_map): Rewrite.
4823 (print_output_section_statement): Rewrite.
4824 (print_assignment): Rewrite.
4825 (print_one_symbol): Rewrite.
4826 (print_input_section): Rewrite.
4827 (print_fill_statement): Rewrite.
4828 (print_data_statement): Rewrite.
4829 (print_address_statement): New static function.
4830 (print_reloc_statement): Rewrite.
4831 (print_padding_statement): Rewrite.
4832 (print_wild_statement): Rewrite.
4833 (print_statement_list): Clean up.
4834 (print_statement): Clean up. Some minor output changes.
4835 (print_statements): Clean up.
4836 (load_symbols): Put another - before -whole-archive.
4837 * ldexp.c (exp_print_tree): Change etree_value and etree_rel to
4838 print 0x and to omit leading zeroes. For etree_rel, use %B to
4839 print the BFD. For etree_assign, remove the space after the
4840 destination name.
4841 * ldwrite.c: Include "libiberty.h".
4842 (clone_section): Call xstrdup, not strdup.
4843 (ldwrite): Don't print any map information.
4844 (print_symbol_table, print_file_stuff, print_symbol): Remove.
4845 * ldmain.c (main): Call lang_map when appropriate.
4846 * ldmisc.c (vfinfo): Add support for %W.
4847 (print_address): Remove.
4848 * ldmisc.h (print_address): Don't declare.
4849 * Makefile.in: Rebuild dependencies.
4850
4851 Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4852
4853 * configure.host (m68*-*-linux*): Add -dynamic-linker to
4854 HOSTING_CRT0. Search -lgcc both before and after -lc in
4855 HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
4856 at first.
4857 (i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
4858 directory at first.
4859
4860 Fri Apr 26 14:42:27 1996 Ian Lance Taylor <ian@cygnus.com>
4861
4862 * ldmisc.h (demangle): Declare.
4863 * ldmisc.c: Include "libiberty.h". Include demangle.h with "",
4864 not <>.
4865 (demangle): Make non-static. Remove remove_underscore paramter.
4866 Always return an allocated string.
4867 (vfinfo): Free result of demangle. Add case 'G'. Use %T to print
4868 functionname, rather than calling demangle. Print a colon between
4869 the BFD(section+offset) and the line number.
4870 * ldmain.c (add_archive_element): Improve format of archive
4871 information in map file.
4872 (constructor_callback): Don't print anything to the map file.
4873 * ldlang.c (lang_one_common): Improve format of common symbol
4874 information in map file.
4875 * ldctor.c (ldctor_build_sets): If producing a map file, print set
4876 information.
4877 * ldwrite.c (print_symbol_table): Print a newline before the
4878 header in the map file.
4879 * Makefile.in: Rebuild dependencies.
4880
4881 * ldmisc.c (vfinfo): Reindent.
4882
4883 Mon Apr 22 12:07:32 1996 Ian Lance Taylor <ian@cygnus.com>
4884
4885 * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
4886 don't clobber it when not relaxing.
4887
4888 * ld.h (ld_config_type): Remove traditional_format field.
4889 * ldmain.c (main): Use link_info.traditional_format rather than
4890 config.traditional_format.
4891 * ldlang.c (ldlang_open_output): Likewise.
4892 * lexsup.c (parse_args): Likewise.
4893 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
4894 * mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
4895
4896 * ldlang.c (wild_doit): Discard debugging sections if we are
4897 stripping debugging information.
4898
4899 * emulparams/z8002.sh (ARCH): Set to z8002, not z8k.
4900
4901 Tue Apr 16 16:38:32 1996 Ian Lance Taylor <ian@cygnus.com>
4902
4903 * ldexp.c (fold_binary): Correct handling of subtraction with
4904 absolute values.
4905 (fold_name): Permit symbols in lang_allocating_phase_enum.
4906
4907 * scripttempl/aout.sc: Only PROVIDE __stack when RELOCATING. Undo
4908 accidental changes in last patch.
4909
4910 Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4911
4912 * configure.tgt (powerpc*-*-{sysv,linux}): Add aliases.
4913 (powerpcle*-*-{sysv,solaris}): Ditto.
4914
4915 Mon Apr 15 14:50:56 1996 Rob Savoye <rob@chinadoll.cygnus.com>
4916
4917 * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
4918 in m68k/crt0.S without things blowing up.
4919
4920 Fri Apr 12 16:40:56 1996 Rob Savoye <rob@chinadoll.cygnus.com>
4921
4922 * scripttempl/m68kcoff.sc: Remove default address for .data so
4923 .text, .data, and .bss are all sequential.
4924
4925 Thu Apr 11 12:05:35 1996 Ian Lance Taylor <ian@cygnus.com>
4926
4927 * scripttempl/m68kcoff.sc: Remove regions and simplify.
4928
4929 Wed Apr 10 14:41:53 1996 Jeffrey A Law (law@cygnus.com)
4930
4931 * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
4932 bytes of the address space. Put data from the ".eight" sections
4933 into the 8-bit area.
4934 * scripttempl/h8300h.sc: Likewise.
4935
4936 Tue Apr 9 14:10:42 1996 Doug Evans <dje@canuck.cygnus.com>
4937
4938 * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
4939 Pass $ARCH to ldfile_set_output_arch instead of setting
4940 ldfile_output_architecture directly.
4941
4942 Tue Apr 9 14:22:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4943
4944 * scripttempl/elfppc.sc (.init,.fini): Put .init, .fini section
4945 next to .text. Put _etext after .text, .init, .fini, and
4946 .rodata{,2} sections.
4947
4948 Tue Apr 9 12:18:57 1996 Ian Lance Taylor <ian@cygnus.com>
4949
4950 * ld.texinfo: Rearrange option documentation.
4951
4952 * lexsup.c (ld_options): New static array.
4953 (parse_args): Build shortopts and longopts from ld_options array.
4954 (help): New static function.
4955 * ldver.h (help): Don't declare.
4956 * ldver.c (ldversion): Reindent.
4957 (help): Remove.
4958
4959 * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic.
4960
4961 Mon Apr 8 11:56:23 1996 Ian Lance Taylor <ian@cygnus.com>
4962
4963 * emultempl/elf32.em: When checking for a native emulation, check
4964 that the current emulation is the default emulation.
4965 * emultempl/sunos.em: Likewise.
4966
4967 * configure.in: Permit --enable-shared to specify a list of
4968 directories.
4969 * configure: Rebuild.
4970
4971 * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
4972 for HP/UX compatibility.
4973
4974 Fri Apr 5 14:30:14 1996 Ian Lance Taylor <ian@cygnus.com>
4975
4976 * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
4977 static function, if ${host} = ${target}.
4978 (gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
4979 needed shared library if ${host} = $[target}.
4980
4981 * configure.host (i[345]86-*-linux*): Add -dynamic-linker to
4982 HOSTING_CRT0. Search -lgcc both before and after -lc in
4983 HOSTING_LIBS.
4984
4985 * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
4986 Polstra <jdp@polstra.com>.
4987
4988 Fri Apr 5 18:11:25 1996 James G. Smith <jsmith@cygnus.co.uk>
4989
4990 * emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
4991 architecture number.
4992 * scripttempl/elf.sc: Use $MACHINE definition if present.
4993 * configure.tgt (targ_extra_emuls): Force 4100 build to use same
4994 template as 4300.
4995
4996 Mon Apr 1 17:35:40 1996 Ian Lance Taylor <ian@cygnus.com>
4997
4998 * ldlang.c (lang_size_sections): Change region check to handle
4999 regions which end at the highest possible address correctly.
5000 From Roland Weber <roweber@ira.uka.de>.
5001
5002 * ldlang.c (section_already_linked): New static function.
5003 (wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
5004 relocateable link. Don't worry about section being NULL, since it
5005 never should be. Don't call init_os unless the section is going
5006 to be added.
5007 (ldlang_add_file): Call section_already_linked for each section.
5008 * ldmain.c (multiple_definition): Don't warn about multiple
5009 definitions in sections which are being discarded.
5010
5011 Sun Mar 31 00:30:47 1996 steve chamberlain <sac@slash.cygnus.com>
5012
5013 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
5014 * emultempl/pe.em (init): Remove special case PPC code.
5015
5016 Fri Mar 29 00:01:29 1996 Jeffrey A Law (law@cygnus.com)
5017
5018 * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
5019 so as not to overwrite the magic syscall entry at 0xc4.
5020 * scripttempl/h8300h.sc: Likewise.
5021
5022 Thu Mar 28 11:05:47 1996 Doug Evans <dje@canuck.cygnus.com>
5023
5024 * configure.tgt (sparc64-*-solaris2*): Delete.
5025 Stick with sparc-*-solaris2*.
5026
5027 Wed Mar 27 12:33:24 1996 Ian Lance Taylor <ian@cygnus.com>
5028
5029 * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
5030 * ldlang.c (init_os): Fail on an attempt to initialize any section
5031 named DISCARD_SECTION_NAME.
5032 (wild_doit): Discard input sections assigned to an output section
5033 named DISCARD_SECTION_NAME.
5034 * ld.texinfo: Document use of /DISCARD/.
5035
5036 * ldlang.c: Fix some indentation and comments.
5037
5038 Tue Mar 26 18:14:49 1996 Ian Lance Taylor <ian@cygnus.com>
5039
5040 * ldmain.c (main): Call bfd_set_error_program_name.
5041
5042 Thu Mar 21 13:17:34 1996 Ian Lance Taylor <ian@cygnus.com>
5043
5044 * ld.texinfo: Fix a couple of indexing entries. Mention that
5045 --verbose displays builtin linker scripts.
5046
5047 * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
5048 and the local symbol name does not match the filename, print the
5049 filename as well.
5050
5051 Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
5052 * lexsup.c (parse_args): -Bshareable is a synonym for -shared.
5053 * emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
5054 as TEXT_START_ADDR.
5055
5056 Wed Mar 20 18:18:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5057
5058 * ld.texinfo: Fix typos. Use @pxref only inside parentheses.
5059
5060 Wed Mar 20 16:56:15 1996 Ian Lance Taylor <ian@cygnus.com>
5061
5062 * ldmain.c (add_wrap): New function.
5063 * ldmain.h (add_wrap): Declare.
5064 * lexsup.c (parse_args): Call add_wrap.
5065
5066 Tue Mar 19 16:44:20 1996 Doug Evans <dje@canuck.cygnus.com>
5067
5068 * configure.host (sparc*-*-solaris2* host): Accept any sparc variant.
5069
5070 Wed Mar 13 17:47:31 1996 Jeffrey A Law (law@cygnus.com)
5071
5072 * scripttempl/h8300.sc: Change name of page zero memory
5073 from "null" to "vectors". Create an output section for
5074 vectors. Add comments on how to explicitly place items
5075 in the vector table.
5076 * scripttempl/h8300h.sc: Likewise.
5077
5078 Wed Mar 13 12:40:18 1996 Ian Lance Taylor <ian@cygnus.com>
5079
5080 * emultempl/lnk960.em (machine_table): Add jx and hx.
5081
5082 * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
5083 support it.
5084
5085 Tue Mar 12 12:43:59 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
5086
5087 * ld.h (ld_config_type): Add warn_multiple_gp field.
5088 * lexsup.c (parse_args): Handle --warn-multiple-gp.
5089 * ldmain.c (warning_callback): Suppress multiple gp values warning
5090 if --warn_multiple_gp was not used.
5091 * ld.texinfo, ld.1: Document --warn-multiple-gp.
5092
5093 Tue Mar 12 12:02:21 1996 Ian Lance Taylor <ian@cygnus.com>
5094
5095 * lexsup.c (parse_args): Handle --wrap.
5096 * ldmain.c (main): Initialize link_info.wrap_hash.
5097 * ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
5098 and NAME cases.
5099 * ld.texinfo, ld.1: Document --wrap.
5100
5101 * configure: Rebuild with autoconf 2.8.
5102
5103 Don't do SunOS style dynamic linking for sparc-aout:
5104 * configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
5105 (sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
5106 (sparc*-wrs-vxworks*): Likewise.
5107 * emulparams/sparcaout.sh: New file.
5108 * Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
5109 (esparcaout.c): New target.
5110
5111 Wed Mar 6 16:06:52 1996 J.T. Conklin <jtc@rtl.cygnus.com>
5112
5113 * scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
5114 in a different manner to work around differences in shell variable
5115 expansion.
5116
5117 Wed Mar 6 18:08:18 1996 Ian Lance Taylor <ian@cygnus.com>
5118
5119 * ldemul.h (ldemul_unrecognized_file): Declare.
5120 (ldemulation_xfer_type): Add unrecognized_file field.
5121 * ldemul.c (ldemul_unrecognized_file): New function.
5122 * ldlang.c (load_symbols): If a file can not be recognized, call
5123 ldemul_unrecognized_file before trying it as a linker script.
5124 * aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
5125 function.
5126 (gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
5127 (ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
5128
5129 Mon Mar 4 14:11:17 1996 Ian Lance Taylor <ian@cygnus.com>
5130
5131 * ldlang.c (wild): Handle foo.a(.text) by mapping each included
5132 member of foo.a separately. From Jouke Numan <jnuman@bazis.nl>.
5133
5134 Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5135
5136 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
5137 Search trinary.cond rather than searching trinary.lhs twice.
5138
5139 Tue Feb 27 15:08:43 1996 Stan Shebs <shebs@andros.cygnus.com>
5140
5141 * mpw-make.sed: Edit out shared library support.
5142 (@TDIRS@): Edit out, can't use genscripts.
5143
5144 Tue Feb 27 15:09:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5145
5146 * configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
5147 * emulparams/m68klinux.sh: New file.
5148 * emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
5149 Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
5150 bfd_linux_size_dynamic_sections.
5151 * Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
5152 (em68klinux.c): New target.
5153 * configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.
5154
5155 Tue Feb 27 12:55:46 1996 Ian Lance Taylor <ian@cygnus.com>
5156
5157 * Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
5158 Fill in missing entries.
5159
5160 * lexsup.c (parse_args): Recognize --no-whole-archive.
5161 * ldlang.h (lang_input_statement_type): Add whole_archive field.
5162 * ldlang.c (new_afile): Set whole_archive field.
5163 (load_symbols): Check input file specific whole_archive field
5164 rather than global variable.
5165 * ld.texinfo, ld.1: Document --no-whole-archive.
5166
5167 Tue Feb 20 16:07:00 1996 Ian Lance Taylor <ian@cygnus.com>
5168
5169 * configure.tgt: Correct gldi960 to gld960.
5170
5171 Mon Feb 19 11:16:44 1996 Ian Lance Taylor <ian@cygnus.com>
5172
5173 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
5174 the SONAME if it is available.
5175 (gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
5176 filename, when checking for conflicting library versions. Don't
5177 assume that the suffix is only numbers and dots.
5178
5179 * ld.texinfo: Mention that -R can be used for -rpath.
5180
5181 Sun Feb 18 15:05:17 1996 Ian Lance Taylor <ian@cygnus.com>
5182
5183 * configure.host: Check for 'do not mix' from native linker before
5184 trying to use -rpath.
5185
5186 Thu Feb 15 13:58:06 1996 Ian Lance Taylor <ian@cygnus.com>
5187
5188 * configure.in: Remove explicit substitution of CFLAGS; autoconf
5189 does it anyhow.
5190 * configure: Rebuild.
5191 * Makefile.in (LDFLAGS): Set to @LDFLAGS@.
5192
5193 * configure.in: Call AC_PROG_CC before configure.host.
5194 * configure: Rebuild.
5195 * configure.host: Remove go32 host, since it should no longer be
5196 necessary. Don't set CC for romp host.
5197
5198 * scripttempl/elf.sc: Don't skip a page in virtual memory space if
5199 the text segment ends exactly on a page boundary.
5200
5201 * configure.in: Substitute RPATH_ENVVAR.
5202 * configure: Rebuild.
5203 * configure.host: Set RPATH_ENVVAR.
5204 * Makefile.in (RPATH_ENVVAR): New variable.
5205 (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
5206
5207 Wed Feb 14 18:49:01 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
5208
5209 * configure.in: Redo emulation handling so that each emulation
5210 searches the correct tool directory, based on the target alias.
5211 For example, "configure --enable-targets=m68k-coff i386-linux"
5212 will search /usr/local/i386-linux/lib for linux and
5213 /usr/local/m68k-coff/lib for m68k-coff.
5214 * configure: Rebuild.
5215 * configure.tgt: Add special tdir settings for Linux.
5216 * Makefile.in: Add @TDIRS@. Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
5217 for each eEMUL.c target.
5218 * genscripts.sh: Accept specific alias as 9th argument, and use it
5219 in LIB_PATH.
5220
5221 Wed Feb 14 16:38:36 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
5222
5223 * ldlang.c (lang_set_startof): Don't do anything for a
5224 relocateable link.
5225
5226 * ldgram.y (mri_script_file): Call mri_draw_tree.
5227 * mri.c (mri_draw_tree): Make globally visible. Don't bother to
5228 create memory regions.
5229 (mri_load): Don't call mri_draw_tree.
5230 * mri.h (mri_draw_tree): Declare.
5231
5232 * configure.tgt (m68*-*-psos): New target.
5233 * emulparams/m68kpsos.sh: New file.
5234 * scripttempl/psos.sc: New file.
5235 * Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
5236 (em68kpsos.c): New target.
5237
5238 Wed Feb 14 11:09:25 1996 Ian Lance Taylor <ian@cygnus.com>
5239
5240 * configure.tgt (*-*-ieee*): New target; use vanilla.
5241
5242 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
5243 `:foo' from ${ARCH}.
5244
5245 Tue Feb 13 15:58:58 1996 Bryan Ford <baford@snake.cs.utah.edu>
5246
5247 * scripttempl/i386msdos.sc: Don't pad the .text section. Put
5248 .rodata in .data.
5249
5250 Tue Feb 13 14:04:19 1996 Ian Lance Taylor <ian@cygnus.com>
5251
5252 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
5253
5254 * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
5255 it looks like we might be linking in two different versions of the
5256 same shared library. Based on a patch from H J Lu <hjl@zoom.com>.
5257
5258 Thu Feb 8 19:25:54 1996 Ian Lance Taylor <ian@cygnus.com>
5259
5260 * ldlang.c (lang_size_sections): Increment the section size when a
5261 padding statement is encountered.
5262
5263 Wed Feb 7 14:01:33 1996 Ian Lance Taylor <ian@cygnus.com>
5264
5265 * configure.in: Look for --enable-shared. Change the value of
5266 BFDLIB when linking against a shared library on SunOS.
5267 * configure: Rebuild.
5268 * configure.host: If using a shared BFD library, try to pass a
5269 reasonable -rpath option when linking.
5270 * Makefile.in (BFDLIB): Set to @BFDLIB@.
5271
5272 Tue Feb 6 12:29:14 1996 Doug Evans <dje@charmed.cygnus.com>
5273
5274 * emulparams/elf64_sparc.sh (ARCH): Change to `sparc:v9'.
5275 * emultempl/generic.em: Strip `:foo' from ${ARCH}.
5276
5277 Mon Feb 5 16:25:30 1996 Ian Lance Taylor <ian@cygnus.com>
5278
5279 Support for building bfd and opcodes as shared libraries, based on
5280 patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
5281 * configure.in (HLDFLAGS): New substitution.
5282 * configure: Rebuild.
5283 * configure.host: Set HLDFLAGS on SunOS.
5284 * Makefile.in (HLDFLAGS): New variable.
5285 (BFDDEP): New variable.
5286 (BFDLIB): Change to -L../bfd -lbfd.
5287 ($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB). Use
5288 $(HLDFLAGS) in link.
5289 (check): Set LD_LIBRARY_PATH in the environment.
5290
5291 Fri Feb 2 19:26:25 1996 Michael Meissner <meissner@wogglebug.tiac.net>
5292
5293 * scripttempl/elfppc.sc (.sdata2, .sbss2): Put .sdata2 and .sbss
5294 in the read-only section, not read/write unless we are making a
5295 shared library.
5296 (.debug*): Add dwarf debug sections.
5297 (.rela.{sdata*,sbss*}): Add sections.
5298
5299 Fri Feb 2 16:50:21 1996 Ian Lance Taylor <ian@cygnus.com>
5300
5301 * configure: Regenerate.
5302
5303 Thu Feb 1 10:50:46 1996 Ian Lance Taylor <ian@cygnus.com>
5304
5305 * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
5306 for SVR4 compatibility.
5307
5308 * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
5309
5310 Wed Jan 31 17:30:19 1996 Steve Chamberlain <sac@slash.cygnus.com>
5311
5312 * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
5313 * emultempl/pe.em (definfo init): Make the default stack reserve
5314 of a PPC larger.
5315
5316 Wed Jan 31 14:34:23 1996 Richard Henderson <rth@tamu.edu>
5317
5318 * configure.tgt (m68*-apple-aux*): New target.
5319 * emulparams/m68kaux.sh: New file.
5320 * scripttempl/m68kaux.sc: New file.
5321 * Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
5322 (em68kaux.c): New target.
5323
5324 Tue Jan 30 13:18:56 1996 Ian Lance Taylor <ian@cygnus.com>
5325
5326 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
5327 -bnoentry, since the right thing tends to happen anyhow.
5328
5329 Mon Jan 29 12:29:26 1996 Ian Lance Taylor <ian@cygnus.com>
5330
5331 * ld.texinfo, ld.1: Document -export-dynamic.
5332
5333 Fri Jan 26 11:11:55 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5334
5335 * emultempl/sunos.em: Check for native compile by comparing
5336 ${target} and ${host}.
5337
5338 Thu Jan 25 16:46:58 1996 James G. Smith <jsmith@cygnus.co.uk>
5339
5340 * emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
5341 TEXT_START_ADDR to allow use on IDT and PMON systems.
5342
5343 Wed Jan 24 20:59:40 1996 Steve Chamberlain <sac@slash.cygnus.com>
5344
5345 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
5346 correct spelling.
5347
5348 Wed Jan 24 16:59:19 1996 Doug Evans <dje@charmed.cygnus.com>
5349
5350 * configure.tgt (sparc64-*-solaris2*): New configuration.
5351 (sparc64-*-aout*): Renamed from sparc64*.
5352
5353 Mon Jan 22 13:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5354
5355 * Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
5356 * genscripts.sh: Set host, target and target_alias variables.
5357 Check for native compile by comparing ${target} and ${host}.
5358 * emultempl/elf32.em: Likewise.
5359 * scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
5360
5361 Mon Jan 22 11:03:23 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5362
5363 * scripttempl/elfppc.sc: Refine eabi support to better support
5364 .sdata, .sdata2, .sbss, etc. sections.
5365
5366 Tue Jan 16 15:16:58 1996 Ian Lance Taylor <ian@cygnus.com>
5367
5368 * ldgram.y (%union): Add phdr field.
5369 (phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
5370 (phdr_qualifiers): New nonterminal. Add support for FLAGS.
5371 (opt_hdrs, hdr): Remove.
5372 (phdr_val): New nonterminal.
5373 * ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
5374 and phdrs parameters. Add flags parameter.
5375 (lang_record_phdrs): Update for changes to lang_phdr. Pass flags
5376 to bfd_record_phdr.
5377 * ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
5378 phdrs fields. Add flags field.
5379 (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
5380 (lang_new_phdr): Update declaration.
5381 * ld.texinfo: Document FLAGS.
5382
5383 Mon Jan 15 15:07:19 1996 Ian Lance Taylor <ian@cygnus.com>
5384
5385 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
5386 Don't make a shared library because of an undefined reference to
5387 __GLOBAL_OFFSET_TABLE_.
5388
5389 Add some Irix 5 support, mostly from Kazumoto Kojima
5390 <kkojima@info.kanagawa-u.ac.jp>:
5391 * emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
5392 (SHLIB_TEXT_START_ADDR): Define.
5393 (OTHER_GOT_SYMBOLS): Define.
5394 (OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
5395 (EXECUTABLE_SYMBOLS): Don't define.
5396 (DYNAMIC_LINK): Don't define.
5397 * emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
5398 * scripttempl/elfmips.sc: New file.
5399 * configure.host (mips*-dec-bsd*): Change mips to mips*.
5400 (mips*-sgi-irix4*): Likewise.
5401 (mips*-sgi-irix5*): New entry.
5402 * Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
5403 elf.sc.
5404 (eelf32lmip.c): Likewise.
5405
5406 Sat Jan 13 09:41:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5407
5408 * scripttempl/elfppc.sc: Remove support for .rel.* sections. Add
5409 .rela.got.neg section.
5410
5411 Fri Jan 12 14:56:19 1996 Ian Lance Taylor <ian@cygnus.com>
5412
5413 * scripttempl/sh.sc: Only build constructors when CONSTRUCTING.
5414
5415 * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
5416 ANSI_PROTOTYPES is defined. Remove special handling of
5417 WINDOWS_NT. Various indendation fixes.
5418 (vfinfo): Change fmt parameter to const char *.
5419 (info_msg): Write <stdarg.h> version.
5420 (einfo, minfo, finfo): Likewise.
5421 (info_assert): Change file parameter to const char *.
5422 * ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
5423 defined, use a real prototype.
5424 (info_assert): Change first parameter to be const char *.
5425
5426 Fri Jan 12 13:29:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5427
5428 * scripttempl/elfppc.sc: Add support for .sdata2/.sbss2, etc. Add
5429 in old support that 2.7.2 needs, but the current compiler does
5430 not.
5431
5432 * Makefile.in (eelf32{,l}ppc.c): Fix up dependencies to use the
5433 correct Linker script template.
5434
5435 * emulparams/elf32{,l}ppc.sh (TEXT_START_ADDR): Set to 0x40000,
5436 not 0x400000.
5437 (DATA_ADDR,NONPAGED_TEXT_START_ADDR): Delete.
5438
5439 Tue Jan 9 15:53:02 1996 Ian Lance Taylor <ian@cygnus.com>
5440
5441 * scripttempl/alpha.sc: Put .rconst right after .rdata.
5442
5443 Fri Jan 5 14:07:45 1996 Steve Chamberlain <sac@slash.cygnus.com>
5444
5445 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
5446 sort using right pointer.
5447
5448 Fri Jan 5 12:25:47 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5449
5450 * scripttempl/elfppc.sc: Remove support for creating special
5451 labels for eabi section begin/end here. The compiler now uses
5452 crt{i,n}.o to create these symbols.
5453
5454 Thu Jan 4 17:08:58 1996 Ian Lance Taylor <ian@cygnus.com>
5455
5456 * configure.host: Change existing Linux HOSTING_CRT0 to be used
5457 for a.out only, and put in appropriate HOSTING_CRT0 and
5458 HOSTING_LIBS values for Linux ELF.
5459
5460 Thu Jan 4 12:02:05 1996 Doug Evans <dje@canuck.cygnus.com>
5461
5462 * scripttempl/h8300.sc: Use all 64K for ram.
5463 * scripttempl/h8300h.sc: Define 256K ram size.
5464
5465 Thu Dec 21 15:57:18 1995 Ian Lance Taylor <ian@cygnus.com>
5466
5467 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Pass
5468 export_defines as true to bfd_xcoff_size_dynamic_sections if -unix
5469 was used, regardless of whether -bE was used.
5470
5471 Tue Dec 19 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com>
5472
5473 * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
5474 relocateable before calling ldctor_build_sets if the output file
5475 is in an XCOFF format.
5476
5477 Fri Dec 15 16:34:36 1995 Ian Lance Taylor <ian@cygnus.com>
5478
5479 * ldwrite.c (build_link_order): When handling a data statement, if
5480 the endianness of the output file is unknown, use the endianness
5481 of the input file.
5482
5483 Tue Dec 12 13:55:41 1995 Stan Shebs <shebs@andros.cygnus.com>
5484
5485 * mpw-config.in: Recognize mips-*-* as equivalent to
5486 mips-idt-ecoff.
5487 * mpw-eppcmacos.c: Rename to shorter mpw-eppcmac.c.
5488 * mpw-ld.r: Add version resources.
5489 (cfrg): Use symbolic instead of literal name for executable.
5490
5491 Mon Dec 11 15:13:41 1995 Kim Knuttila <krk@cygnus.com>
5492
5493 * scripttempl/ppcpe.sc (FINI): Moved the .reloc section.
5494
5495 Wed Dec 6 14:33:50 1995 Doug Evans <dje@canuck.cygnus.com>
5496
5497 * ldlang.c (print_statement{,s}): Delete duplicate prototype.
5498 (print_statement_list): Renamed from print_statement. All callers
5499 updated.
5500 (print_statement): New function to print just one statement.
5501 (print_{data,reloc,padding}_statement): Don't crash if
5502 output_section == NULL.
5503 (dprint_statement): New function.
5504
5505 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
5506 call to sort_sections.
5507
5508 Wed Dec 6 14:59:06 1995 Ian Lance Taylor <ian@cygnus.com>
5509
5510 * emultempl/aix.em (unix_ld): New static variable.
5511 (gld${EMULATION_NAME}_parse_args): Handle -unix.
5512 (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
5513 gc as false and export_defineds as true to size_dynamic_sections.
5514
5515 * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
5516 phase if the current section is abs_output_section.
5517
5518
5519 Tue Dec 5 09:49:39 1995 Doug Evans <dje@canuck.cygnus.com>
5520
5521 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix call
5522 to sort_sections.
5523
5524 Fri Dec 1 16:48:36 1995 Ian Lance Taylor <ian@cygnus.com>
5525
5526 * ldgram.y (PHDRS): New token.
5527 (ifile_p1): Accept phdrs.
5528 (section): Accept phdr_opt at the end of the section definition.
5529 (phdr_op): New nonterminal.
5530 (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
5531 * ldlex.l: Accept PHDRS.
5532 * ldlang.h (struct lang_output_section_phdr_list): Define.
5533 (lang_output_section_statement_type): Add phdrs field.
5534 (struct lang_phdr): Define.
5535 (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
5536 (lang_new_phdr): Declare.
5537 * ldlang.c (lang_phdr_list): New static variable.
5538 (lang_output_section_statement_lookup): Initialize phdrs field.
5539 (lang_process): Call lang_record_phdrs.
5540 (lang_new_phdr): New function.
5541 (lang_section_in_phdr): New function.
5542 (lang_record_phdrs): New static function.
5543 * ld.texinfo: Document PHDRS.
5544
5545 Thu Nov 30 13:14:30 1995 Kim Knuttila <krk@cygnus.com>
5546
5547 * scripttempl/ppcpe.sc: Moved .edata into its own section to
5548 expose it.
5549
5550 Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
5551
5552 * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
5553 HOSTING_LIBS for testing.
5554 (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
5555 testing.
5556
5557 Tue Nov 28 12:14:53 1995 Ian Lance Taylor <ian@cygnus.com>
5558
5559 * lexsup.c (parse_args): Set config.dynamic_link to false for -N
5560 and -n.
5561
5562 Mon Nov 27 13:12:09 1995 Ian Lance Taylor <ian@cygnus.com>
5563
5564 * configure: Rebuild with autoconf 2.7.
5565
5566 Fri Nov 24 18:35:35 1995 Doug Evans <dje@canuck.cygnus.com>
5567
5568 * scripttempl/pe.sc: Two .junk's is too much junk.
5569
5570 Tue Nov 21 16:14:32 1995 Ian Lance Taylor <ian@cygnus.com>
5571
5572 * configure.in: Use BFD_NEED_DECLARATION.
5573 * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
5574 * configure, config.in: Rebuild with autoconf 2.6.
5575
5576 * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
5577 being unsupported if this is not a relocateable link and the input
5578 BFD supports it, since ldctor_build_sets can cope with that case.
5579
5580 Fri Nov 17 16:23:15 1995 Stan Shebs <shebs@andros.cygnus.com>
5581
5582 * configure.tgt (powerpc-*-macos*): New target.
5583 * emulparams/ppcmacos.sh: New file, PowerMac emulation.
5584 * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
5585 (eppcmacos.c): New target.
5586 * mpw-eppcmacos.c: Update.
5587 * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
5588
5589 Fri Nov 17 10:37:27 1995 Ian Lance Taylor <ian@cygnus.com>
5590
5591 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
5592 $(host_canonical) and $(target_canonical).
5593 (CXX_FOR_TARGET): Likewise.
5594
5595 Thu Nov 16 11:23:42 1995 Doug Evans <dje@canuck.cygnus.com>
5596
5597 * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
5598 so the malloc heap begins at a sane place.
5599
5600 Thu Nov 16 03:09:32 1995 Ken Raeburn <raeburn@cygnus.com>
5601
5602 Version 2.6 released.
5603 * ldver.c (ldversion): Update to 2.6.
5604
5605 * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not
5606 $(GENERATED_*FILES), since they need to be retained by distclean.
5607 (maintainer-clean, realclean): Delete them here.
5608
5609 Tue Nov 14 17:08:06 1995 Ian Lance Taylor <ian@cygnus.com>
5610
5611 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the
5612 base file with FOPEN_WB, not "w".
5613
5614 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
5615 environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
5616 were used.
5617 (gld${EMULATION_NAME}_before_allocation): Use the environment
5618 variable LD_RUN_PATH if -rpath was not used.
5619 * ld.texinfo, ld.1: Document LD_RUN_PATH.
5620
5621 Thu Nov 9 13:09:29 1995 Ian Lance Taylor <ian@cygnus.com>
5622
5623 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize
5624 -bl and -bloadmap options.
5625
5626 * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
5627 report a better error.
5628
5629 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
5630 new local variable special_sections, and pass it to
5631 size_dynamic_sections. Look through the results, and move the
5632 sections around in the mapping so that they are defined correctly.
5633
5634 Wed Nov 8 11:40:59 1995 Ian Lance Taylor <ian@cygnus.com>
5635
5636 * ldemul.c (ldemul_default_target): Cast getenv return value.
5637
5638 Tue Nov 7 11:15:36 1995 Kim Knuttila <krk@cygnus.com>
5639
5640 * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable
5641 Executable support.
5642 * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable
5643 support.
5644
5645 * configure.tgt (targ_extra_emuls): Added powerpcle-pe target.
5646 * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target.
5647
5648 * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro
5649 (gld_$_before_allocation): added hooks for toc construction based
5650 on the above macro.
5651
5652 Tue Nov 7 11:47:23 1995 Ian Lance Taylor <ian@cygnus.com>
5653
5654 * ld.texinfo: The linker does not use _main as an entry point.
5655
5656 Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
5657
5658 * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
5659 0x2000 not 0x200.
5660
5661 Mon Nov 6 10:59:21 1995 Ian Lance Taylor <ian@cygnus.com>
5662
5663 * configure.in: Add test for whether free must be declared.
5664 * sysdep.h: Declare free if necessary. Include "ansidecl.h".
5665 * acconfig.h: Explain NEED_DECLARATION_FREE.
5666 * configure, config.in: Rebuild.
5667
5668 * lexsup.c (parse_args): Take B:: out of shortopts.
5669
5670 Sun Nov 5 03:08:28 1995 Ken Raeburn <raeburn@cygnus.com>
5671
5672 * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0
5673 for now, as with m68k4kbsd, until shared library support gets
5674 done.
5675
5676 * configure.host: For i386 BSD variants, crt0.o lives in
5677 /usr/lib. (True for NetBSD at least, unconfirmed for others.)
5678
5679 Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
5680
5681 * Makefile.in (ALL_EMULATIONS): Add edelta68.o.
5682 (edelta68.c): New target.
5683 * configure.tgt (m68*-motorola-sysv*): New target.
5684 * emulparams/delta68.sh: New file.
5685 * scripttempl/delta68.sc: New file.
5686
5687 * scripttempl/m88kbcs.sc: Handle .init and .fini. Change section
5688 addresses.
5689
5690 Wed Nov 1 11:41:56 1995 Ian Lance Taylor <ian@cygnus.com>
5691
5692 * ldgram.y (mri_script_command): Accept ',' as well as '=' in
5693 ALIGN and ALIGNMOD statements.
5694
5695 * emultempl/aix.em: Include ldgram.h.
5696 (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
5697 AIX 4.1.
5698 * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
5699
5700 Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com>
5701
5702 * configure.host (alpha-*-linux*): New host.
5703 * configure.tgt (alpha-*-linux*): New target.
5704
5705 Tue Oct 31 12:36:52 1995 Ian Lance Taylor <ian@cygnus.com>
5706
5707 * emultempl/aix.em (export_files): Remove.
5708 (import_files): Make static.
5709 (struct export_symbol_list): Define.
5710 (export_symbols): New static variable.
5711 (gld${EMULATION_NAME}_parse_args): Handle an initial -b option
5712 correctly. Call read_file for an export file.
5713 (gld${EMULATION_NAME}_before_allocation): Call
5714 bfd_xcoff_export_symbol for each export symbol, rather than
5715 calling read_file for each export file.
5716 (gld${EMULATION_NAME}_read_file): For an export file, make the
5717 exported symbols undefined, and store them on the export_symbols
5718 list.
5719
5720 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
5721
5722 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
5723 Don't hang if last option is unrecognised.
5724 (gld_${EMULATION_NAME}_set_symbols): Insert created
5725 symbols into ABS output section.
5726
5727 Fri Oct 27 18:03:17 1995 Niklas Hallqvist <niklas@appli.se>
5728
5729 * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
5730 m68k4k arch.
5731 (em68k4knbsd.c): New rule.
5732
5733 * configure.tgt: Added support for the NetBSD m68k4k arch.
5734
5735 * genscripts.sh, ldint.texinfo,
5736 emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
5737 gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
5738 hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
5739 i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
5740 m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
5741 pc532machaout,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
5742 st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
5743 PAGE_SIZE to TARGET_PAGE_SIZE.
5744
5745 * emulparams/m68knbsd.h: Ditto.
5746 (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
5747 (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
5748 being.
5749
5750 * emulparams/m68k4knbsd.sh: New file.
5751
5752 * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
5753
5754 Fri Oct 27 17:59:09 1995 Ian Lance Taylor <ian@cygnus.com>
5755
5756 * emultempl/aix.em: Include ldctor.h.
5757 (gld${EMULATION_NAME}_after_open): New static function.
5758 (gld${EMULATION_NAME}_before_allocation): Call find_relocs.
5759 (gld${EMULATION_NAME}_find_relocs): New static function.
5760 (gld${EMULATION_NAME}_find_exp_assignment): New static function.
5761 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
5762 * scripttempl/aix.sc: Use CONSTRUCTORS in .data.
5763 * ldctor.c (struct set_info): Move definition into ldctor.h.
5764 (struct set_element): Likewise.
5765 (sets): Make non-static.
5766 (ldctor_add_set_entry): Add name parameter. Save it in the new
5767 set element.
5768 (ldctor_build_sets): Avoid being called twice. Pass set element
5769 name to lang_add_reloc.
5770 * ldctor.h (struct set_info): Move definition here from ldctor.c.
5771 (struct set_element): Likewise. Add new field name.
5772 (sets): Declare.
5773 (ldctor_add_set_entry): Declare new name parameter.
5774 * ldwrite.c (build_link_order): Don't insist that either name or
5775 section be NULL in a lang_reloc_statement.
5776 * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
5777 new name parameter.
5778 (constructor_callback): Pass name to ldctor_add_new_set_entry for
5779 new name parameter.
5780
5781 * ldmisc.c (demangle): Fix indentation. Remove a leading period.
5782
5783 Thu Oct 26 22:22:49 1995 Stan Shebs <shebs@andros.cygnus.com>
5784
5785 * mpw-config.in: Add PowerMac target support, generate config.h.
5786 * mac-ld.r: New file, Mac resources.
5787 * mpw-make.sed: New file, edits Makefile.in into MPW syntax.
5788 * mpw-make.in: Remove.
5789 * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
5790
5791 Thu Oct 26 14:11:26 1995 Ian Lance Taylor <ian@cygnus.com>
5792
5793 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
5794 -static as a synonym for -bnso.
5795
5796 * scripttempl/aix.sc: Move special symbols inside sections.
5797 Always start .data at 0.
5798
5799 Wed Oct 25 11:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
5800
5801 * Makefile.in (diststuff): Also make info.
5802 (maintainer-clean realclean): Also delete *.info*.
5803
5804 Wed Oct 25 11:27:25 1995 Ian Lance Taylor <ian@cygnus.com>
5805
5806 * emultempl/aix.em: Add support for various AIX linker options,
5807 for AIX import and export files, and for AIX shared objects.
5808 * scripttempl/aix.sc: Add .pad. Put .ds just before the TOC.
5809
5810 * ldmain.c (main): Initialize new field link_info.static_link.
5811
5812 * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
5813 (constructor_callback): Likewise.
5814 * ldmisc.c (vfinfo): Likewise.
5815 * ldwrite.c (build_link_order): Likewise.
5816
5817 * ld.texinfo: The MRI ALIGN directive is supported.
5818
5819 Mon Oct 23 11:46:43 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
5820
5821 * emulparams/elf32vr4300.sh: Deleted.
5822 * emulparams/elf32vr4300el.sh: Deleted.
5823 * emulparams/elf32b4300.sh: Added.
5824 * emulparams/elf32l4300.sh: Added.
5825 * configure.tgt, Makefile.in: Updated the build to use the
5826 new 8.3 unique names.
5827
5828 Thu Oct 19 17:41:46 1995 Ian Lance Taylor <ian@cygnus.com>
5829
5830 * ldlang.c (entry_symbol): Make non-static.
5831 * ldlang.h (entry_symbol): Declare.
5832
5833 * ldlex.l: Treat PROVIDE as a keyword in expression state.
5834
5835 Wed Oct 18 17:34:06 1995 steve chamberlain <sac@slash.cygnus.com>
5836
5837 * scripttempl/pe.sc (.bss): Move to be after .text
5838
5839 Tue Oct 17 12:22:05 1995 Ian Lance Taylor <ian@cygnus.com>
5840
5841 * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
5842 Search trinary.cond rather than searching trinary.lhs twice. From
5843 linli@ihp.PHys.ethz.CH.
5844
5845 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
5846 directory searching code into gld${EMULATION_NAME}_search_dir.
5847 (gld${EMULATION_NAME}_search_dir): New static function, extracted
5848 from gld${EMULATION_NAME}_find_so.
5849 (global_needed, global_found): New static variables.
5850 (gld${EMULATION_NAME}_after_open): New static function.
5851 (gld${EMULATION_NAME}_search_needed): New static function.
5852 (gld${EMULATION_NAME}_try_needed): New static function.
5853 (gld${EMULATION_NAME}_check_needed): New static function.
5854 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
5855 * ld.texinfo, ld.1: Mention -rpath-link on SunOS.
5856
5857 * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
5858 (eelf32lppc.c): Likewise.
5859 * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
5860 (GENERATE_SHLIB_SCRIPT): Define as yes.
5861
5862 Mon Oct 16 19:11:13 1995 Ian Lance Taylor <ian@cygnus.com>
5863
5864 * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named
5865 bfd_link_needed-list; make appropriate changes.
5866
5867 * configure.tgt (powerpc-*-aix*): New target; use aixppc.
5868 (rs6000-*-aix*): New target; use aixrs6.
5869 * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
5870 * emultempl/aix.em: New file.
5871 * scripttempl/aix.sc: New file.
5872 * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
5873 (eaixppc.c, eaixrs6.c): New targets.
5874
5875 Fri Oct 13 14:00:37 1995 steve chamberlain <sac@slash.cygnus.com>
5876
5877 * scripttemp/pe.sc (.reloc): Move to the end.
5878
5879 Tue Oct 10 17:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
5880
5881 * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
5882 section which was not linked into the final output.
5883
5884 Tue Oct 10 10:17:22 1995 steve chamberlain <sac@slash.cygnus.com>
5885
5886 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
5887 fatal typos.
5888
5889 Tue Oct 10 01:01:51 1995 Ian Lance Taylor <ian@cygnus.com>
5890
5891 * ld.h (args_type): Add rpath_link field.
5892 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
5893 required dependencies in rpath_link path. Only search
5894 LD_LIBRARY_PATH when configured native.
5895 * lexsup.c (parse_args): Recognize -rpath-link.
5896 * ld.1, ld.texinfo: Document -rpath-link.
5897
5898 Sat Oct 7 17:07:17 1995 Ian Lance Taylor <ian@cygnus.com>
5899
5900 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
5901 bother searching for needed libraries unless doing a final link.
5902
5903 Fri Oct 6 16:26:16 1995 Ken Raeburn <raeburn@cygnus.com>
5904
5905 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5906
5907 * ld/ld.1: Fix formatting bugs.
5908
5909 Wed Oct 4 17:37:46 1995 Ian Lance Taylor <ian@cygnus.com>
5910
5911 * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
5912 * ldexp.h (exp_get_abs_int): Update declaration.
5913 * ldlang.c (print_output_section_statement): Use fprintf_vma to
5914 print return value of exp_get_abs_int.
5915
5916 Mon Oct 2 13:56:09 1995 Ian Lance Taylor <ian@cygnus.com>
5917
5918 * emultempl/elf32.em (global_stat): New file static variable.
5919 (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
5920 that the file has not already been included under another name.
5921 (gld${EMULATION_NAME}_stat_needed): New static function.
5922
5923 Fri Sep 29 12:00:18 1995 Doug Evans <dje@deneb.cygnus.com>
5924
5925 * scripttempl/armcoff.sc: Start .text at 0x8000.
5926 Start .data at 0x40000.
5927
5928 Fri Sep 29 11:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
5929
5930 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
5931 command_line.rpath is set, use it, rather than the -L options, to
5932 build the rules section.
5933 * ld.texinfo: Document this use of -rpath.
5934
5935 * lexsup.c (parse_args): Don't set link_info.shared for -assert
5936 pure-text. Pass true, not 1, to lang_add_entry.
5937 * emultempl/sunos.em (find_assign): New static variable.
5938 (found_assign): New static variable.
5939 (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
5940 If not a relocateable link, and no start symbol was specified on
5941 the command line, and there are any undefined symbols, set
5942 link_info.shared. If link_info.shared is set, set the address of
5943 the .text section to 0x20.
5944 (gld${EMULATION_NAME}_find_assignment): Rename from
5945 gld${EMULATION_NAME}_find_statement_assignment. If find_assign is
5946 set, then just set found_assign based on whether an assignment is
5947 found to find_assign.
5948 (gld${EMULATION_NAME}_get_script): Don't use a special script when
5949 producing a shared library.
5950 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
5951 * scripttempl/aout.sc: Remove CREATE_SHLIB tests.
5952 * ldlang.c (entry_from_cmdline): New global variable.
5953 (lang_add_entry): Change cmdline parameter from int to boolean.
5954 Use global entry_from_cmdline rather than function static
5955 from_cmdline.
5956 * ldlang.h (entry_from_cmdline): Declare.
5957 (lang_add_entry): Change declaration of second parameter from int
5958 to boolean.
5959 * ldgram.y: Pass false, not 0, to lang_add_entry.
5960
5961 Thu Sep 28 12:34:13 1995 Ian Lance Taylor <ian@cygnus.com>
5962
5963 * ld.h (parsing_defsym): Declare.
5964 * ldlex.h (lex_string): Declare.
5965 * ldlex.l (lex_string): Define.
5966 * lexsup.c (parsing_defsym): Define.
5967 (parse_args): In OPTION_DEFSYM case, set lex_string before calling
5968 lex_redirect, and clear it after calling yyparse. Set
5969 parsing_defsym around call to yyparse.
5970 * ldmain.c (main): Set lex_string before calling lex_redirect, and
5971 clear it after calling yyparse.
5972 * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
5973 in linker scripts correctly.
5974
5975 * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
5976 COFF targets, allowing for the leading underscore used on SPARC
5977 COFF.
5978
5979 * lexsup.c (parse_args): Handle -assert.
5980 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
5981 * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
5982 shared library script when appropriate.
5983 * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
5984 section at SIZEOF_HEADERS.
5985
5986 Thu Sep 28 01:40:37 1995 Doug Evans <dje@deneb.cygnus.com>
5987
5988 * Makefile.in (earmcoff.c): Build.
5989 * configure.tgt (arm-*-coff): New target
5990 * emulparms/armcoff.sh: New file.
5991 * scripttempl/armcoff.sc: New file.
5992
5993 Tue Sep 26 10:59:32 1995 Ian Lance Taylor <ian@cygnus.com>
5994
5995 * scripttempl/i386coff.sc: Remove .data2; no longer needed.
5996
5997 Fri Sep 22 18:09:02 1995 Ian Lance Taylor <ian@cygnus.com>
5998
5999 * ldfile.c (ldfile_set_output_arch): Make arch const.
6000
6001 Thu Sep 21 17:55:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6002
6003 * scripttempl/elfppc.sc: Correctly locate __bss_start at the
6004 beginning of the .bss area, not at the end of data. Add
6005 __sbss_{start,end} symbols.
6006
6007 Wed Sep 20 12:29:36 1995 Ian Lance Taylor <ian@cygnus.com>
6008
6009 * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name).
6010 (CXX_FOR_TARGET, install): Likewise.
6011
6012 Mon Sep 18 14:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
6013
6014 Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
6015 * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
6016 (CXX_FOR_TARGET): Likewise.
6017 (install): Likewise.
6018 (GENERATED_HFILES): Remove config.h.
6019 (.dep): Depend upon config.h.
6020
6021 Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no>
6022
6023 * configure.tgt (mips*-dec-netbsd*): New target.
6024
6025 Fri Sep 15 20:01:52 1995 Ken Raeburn <raeburn@cygnus.com>
6026
6027 * configure.host (m88*-*-dgux*): Fix another shell syntax error.
6028
6029 Fri Sep 15 23:28:05 1995 Andrew Cagney <cagney@highland.com.au>
6030
6031 * configure.host (i[345]86-*-bsd*): Fix shell syntax error.
6032
6033 Thu Sep 12 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com>
6034
6035 * scripttemp/pe.sc: Allow both spellings of .ctors/.dtors.
6036 Start .text section on the right boundary. Always align
6037 stabs.
6038
6039 Tue Sep 12 12:24:17 1995 Ian Lance Taylor <ian@cygnus.com>
6040
6041 * Makefile.in (maintainer-clean): New target.
6042
6043 * ldmain.c (struct warning_callback_info): Define.
6044 (warning_callback): Add new parameter symbol. Call
6045 warning_find_reloc to try to find the section and VMA.
6046 (warning_find_reloc): New static function.
6047 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6048 Pass NULL as symbol parameter to warning callback.
6049
6050 * ld.texinfo: Clarify -L option.
6051
6052 * ldlang.c (lang_one_common): Add cast to avoid warning.
6053 (topower): Likewise. Also, reindent.
6054 * ldwrite.c (clone_section): Change i to unsigned int.
6055 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
6056 cast to avoid warning.
6057
6058 Fri Sep 8 16:32:43 1995 Ian Lance Taylor <ian@cygnus.com>
6059
6060 * Makefile.in (config.status): Depend upon configure.tgt.
6061
6062 * ldemul.h (ldemul_set_symbols): Declare.
6063 (ldemul_parse_args): Declare.
6064 * ldemul.c (ldemul_parse_args): Fix indentation.
6065
6066 * configure.in: Call AC_HEADER_DIRENT.
6067 * configure, config.in: Rebuild.
6068 * emultempl/sunos.em: Use autoconf recommend mechanism to define
6069 DIR and struct dirent.
6070
6071 * configure.tgt (mips*-*-bsd*): New case.
6072
6073 * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
6074 New case.
6075 * configure.tgt (i[345]86-*-ptx*): New case.
6076
6077 Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com>
6078
6079 * config.in: Rename from config.h.in.
6080 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
6081 Check for config.h:config.in when creating stamp-h.
6082 * configure: Rebuild.
6083 * Makefile.in (stamp-h): Depend upon config.in rather than
6084 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
6085 calling config.status.
6086
6087 * Makefile.in (distclean): Remove config.h and stamp-h.
6088
6089 * configure.host (sparc-*-sunos64*): Remove.
6090 * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
6091
6092 * ldexp.c (exp_fold_tree): Don't warn about moving the location
6093 counter backward in the absolute section.
6094
6095 Wed Sep 6 14:42:11 1995 Ian Lance Taylor <ian@cygnus.com>
6096
6097 * configure.in: Rewrite to use autoconf.
6098 * configure.host: New file.
6099 * configure.tgt: New file.
6100 * aclocal.m4: New file.
6101 * configure: New file, built by autoconf.
6102 * acconfig.h: New file.
6103 * config.h.in: New file, built by autoheader.
6104 * sysdep.h: New file.
6105 * ld.h: Incorporate old contents of config.h.
6106 * config.h: Remove.
6107 * Makefile.in: Various changes for new configure script. Also:
6108 (CC_FOR_BUILD): Remove.
6109 (ldmain.o): Don't bother to ensure that EMUL is non-empty.
6110 (dep.sed): Use @SRCDIR@, not @srcdir@.
6111 * dep-in.sed: Use @SRCDIR@, not @srcdir@.
6112 * genscripts.sh: Create ldscripts if it does not exist.
6113 * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
6114 * mpw-esh.c, emultemp/*.em: Likewise.
6115 * ldmain.c: Likewise. Include <ctype.h>. Don't try to set
6116 HAVE_SBRK here.
6117 * config/*.mt, config/*.mh: Remove.
6118
6119 Tue Sep 5 14:55:24 1995 Ken Raeburn <raeburn@cygnus.com>
6120
6121 * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
6122 ns32k-pc532-lites* like ns32k-pc532-netbsd*. From Ian Dall.
6123
6124 Fri Sep 1 22:29:52 1995 Doug Evans <dje@canuck.cygnus.com>
6125
6126 * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors.
6127
6128 Fri Sep 1 13:13:29 1995 Ian Lance Taylor <ian@cygnus.com>
6129
6130 * ldmain.c (warning_callback): Add abfd, section, and address
6131 parameters.
6132 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6133 Change call to warning accordingly.
6134
6135 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
6136 relocateable and not shared, put .gnu.warning.SYMBOL sections into
6137 the .text section.
6138
6139 Fri Sep 1 08:35:16 1995 James G. Smith <jsmith@beauty.cygnus.com>
6140
6141 * configure.in: Added mips*vr4300-idt-elf* and
6142 mips*vr4300el-idt-elf* targets.
6143 * Makefile.in: Added eelf32vr4300* targets.
6144 * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
6145 * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
6146
6147 Fri Sep 1 10:51:45 1995 Ian Lance Taylor <ian@cygnus.com>
6148
6149 * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe
6150 <brendan@cygnus.com>.
6151
6152 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
6153
6154 * ldemul.c (ldemul_parse_args): New.
6155 * ldemul.h (ld_emulation_xfer_struct): Add parse_args.
6156 * lexsup.c (all pe stuff): Moved into pe.em
6157 (parse_args): Call emulation arg parser.
6158 * emultempl/pe.em (parse_args): handle PE specfic args.
6159
6160 Thu Aug 31 17:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
6161
6162 * ldlang.c (lang_memory_region_lookup): Don't use the first region
6163 as the default region. Create a new region instead.
6164
6165 Tue Aug 29 14:21:41 1995 steve chamberlain <sac@slash.cygnus.com>
6166
6167 * ldemul.c (ldemul_set_symbols): New function.
6168 * ldemul.h (ld_emulation_xfer_struct): Add set_symbols.
6169 * ldmain.c (main): Add call to ldemul_set_symbols.
6170 * lexsup.c (set_pe_value): New args.
6171 (set_pe_name): New.
6172 (parse_args): Cope with new set_pe_value args.
6173 * emultempl/pe.em (set_symbols): New function.
6174 (ld_emulation_xfer_struct): Add set_symbols.
6175 * scripttempl/pe.sc: Use new symbols.
6176
6177 Thu Aug 24 18:12:18 1995 Ian Lance Taylor (ian@cygnus.com)
6178
6179 * lexsup.c (parse_args): Don't call set_default_dirlist for -O.
6180 For -Y, ignore a leading `P,', and only call set_default_dirlist
6181 after processing all the other arguments.
6182
6183 Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
6184
6185 * scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
6186 * emulparams/armpe.sh: Run PE script.
6187
6188 Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
6189
6190 * ldmain.c (main): Remove PE stuff.
6191 * lexsup.c (options): Load more PE options.
6192 (set_pe_value): New function.
6193
6194 Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
6195
6196
6197 * emultempl/{armpe.sc, i386pe.sc}: Deleted.
6198 * emultempl/pe.sc: New file performs generic PE support and sorts
6199 archive members.
6200 * emulparams/{armpe.sh,i386pe.sh}: Use new file.
6201 * scripttempl/{armpe.sc, i386pe.sc}: Deleted
6202 * scripttempl/pe.sc: New.
6203 * Makefile.in: Use new files.
6204
6205 Thu Aug 17 14:46:34 1995 Doug Evans <dje@canuck.cygnus.com>
6206
6207 * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
6208 (.strings,.ctors,.dtors): Likewise.
6209
6210 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
6211
6212 * scripttempl/armpe.sc: Always start code at 0x401000, even
6213 if -r.
6214 * ldwrite.c (strdup): New extern declaration.
6215 * ldgram.y (atype): New rule to clarify type parsing.
6216 * ldlang.c (init_os): Remove commented out code.
6217 (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
6218 unless told not to by the link script.
6219
6220 Wed Aug 16 11:45:11 1995 Ian Lance Taylor <ian@cygnus.com>
6221
6222 * ldlang.c (lang_set_startof): New static function.
6223 (lang_process): Call it.
6224
6225 * ldgram.y: Tweak casesymlist to avoid bison errors.
6226
6227 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
6228 Solaris compatibility.
6229
6230 Tue Aug 15 17:31:16 1995 Ian Lance Taylor <ian@cygnus.com>
6231
6232 * ldgram.y (YYDEBUG): If not defined, define as 1.
6233 (CASE, EXTERN, START): New tokens.
6234 (mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
6235 (casesymlist): New nonterminal.
6236 (extern_name_list): New nonterminal.
6237 * ldlex.l: Accept lower case trailing base specifiers. Don't
6238 ignore the first digit when the base is a suffix. Accept many
6239 EXPRESSION state tokens in MRI state. Support MRI continuation
6240 lines and MRI semicolon comments. Accept all MRI keywords in
6241 lower case. Add CASE, EXTERN, and START MRI keywords.
6242
6243 Tue Aug 8 19:14:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
6244
6245 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc
6246 instead of alloca.
6247
6248 Tue Aug 8 15:24:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
6249
6250 * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
6251 $r/../gcc/xgcc unless it is present.
6252
6253 Thu Aug 3 11:56:22 1995 Ian Lance Taylor <ian@cygnus.com>
6254
6255 * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text
6256 when CONSTRUCTING.
6257 * scripttempl/m68klynx.sc: Likewise.
6258 * scripttempl/nw.sc: Likewise.
6259 * scripttempl/sa29200.sc: Likewise.
6260 * scripttempl/sparclynx.sc: Likewise.
6261
6262 Fri Jul 28 12:02:23 1995 steve chamberlain <sac@slash.cygnus.com>
6263
6264 * emulparams/{z8001.sh, z8002.sh}: Fix typo.
6265
6266 Thu Jul 27 21:06:21 1995 Ken Raeburn <raeburn@cygnus.com>
6267
6268 * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*.
6269
6270 Thu Jul 27 15:26:28 1995 steve chamberlain <sac@slash.cygnus.com>
6271
6272 * scripttempl/i386pe.sc: Cope with constructors.
6273 * scripttempl/z8ksim.sc: Deleted.
6274 * scripttempl/z8000.sc: Resurrected as this, but
6275 can handle z8001 and z8002 formats.
6276 * emulparams/z8ksim.sh: Deleted.
6277 * emulparams/{z8001.sh, z8002.sh}: New files.
6278 * config/z8ksim.mt: Deleted
6279 * config/z8k-coff.mt: New, generates both emulations.
6280
6281 Tue Jul 25 14:53:02 1995 Ian Lance Taylor <ian@cygnus.com>
6282
6283 * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using
6284 %B, in case it is in an archive.
6285
6286 Mon Jul 24 15:23:39 1995 Ian Lance Taylor <ian@cygnus.com>
6287
6288 * ldlang.c (lang_process): Call reset_memory_regions for each
6289 relaxation pass.
6290
6291 Fri Jul 21 22:49:44 1995 Michael Meissner <meissner@cygnus.com>
6292
6293 * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and
6294 _SDA_BASE.
6295
6296 Thu Jul 20 16:26:55 1995 Ken Raeburn <raeburn@cygnus.com>
6297
6298 * ldmain.c (constructor_callback): Allocate set_name in stack
6299 frame, rather than always calling alloca with a fixed size.
6300
6301 Wed Jul 19 16:21:43 1995 Doug Evans <dje@canuck.cygnus.com>
6302
6303 * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
6304 (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
6305
6306 Mon Jul 17 13:57:00 1995 Ian Lance Taylor <ian@cygnus.com>
6307
6308 * ldwrite.c (clone_section): Set the alignment of the clone
6309 section to that of the section being cloned.
6310
6311 * ldwrite.c (split_sections): Don't split the first input section
6312 into a new output section.
6313
6314 Sat Jul 15 00:26:35 1995 Michael Meissner <meissner@cygnus.com>
6315
6316 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32.
6317 (GENERATE_SHLIB_SCRIPT): Define as yes.
6318
6319 Fri Jul 14 12:11:46 1995 Ian Lance Taylor <ian@cygnus.com>
6320
6321 * emultempl/mipsecoff.em (check_sections): Use %P, not %F.
6322
6323 * ldver.c (help): Update list of options to match currently
6324 supported list.
6325
6326 Thu Jul 13 13:52:10 1995 Ian Lance Taylor <ian@cygnus.com>
6327
6328 * emultempl/lnk960.em (ld_lnk960_emulation): Initialize
6329 after_open field.
6330
6331 * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
6332 it takes a size_t anyhow.
6333 (exp_binop): Likewise.
6334 (exp_trinop): Likewise.
6335 (exp_unop): Likewise.
6336 (exp_nameop): Likewise.
6337 (exp_assop): Likewise.
6338 * ldlang.c (lang_memory_region_lookup): Likewise.
6339 (init_os): Likewise.
6340 (ldlang_add_undef): Likewise.
6341 (insert_pad): Likewise.
6342 * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
6343 bfd_size_type.
6344
6345 * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o.
6346
6347 Wed Jul 12 11:32:22 1995 Ian Lance Taylor <ian@cygnus.com>
6348
6349 * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
6350 declaration.
6351 (ld_emulation_xfer_type): Add search parameter to
6352 open_dynamic_archive entry point.
6353 * ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
6354 * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
6355 make non-static. Change all callers to use new name.
6356 (ldfile_open_file_search): Make static. If entry is dynamic, call
6357 ldemul_open_dynamic_archive.
6358 (ldfile_open_file): Don't call ldemul_open_dynamic_archive.
6359 * ldfile.h (ldfile_open_file_search): Don't declare.
6360 (ldfile_try_open_bfd): Declare.
6361 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
6362 Accept search parameter. Don't search for a library, just look in
6363 a single place.
6364 * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
6365 Likewise.
6366
6367 Tue Jul 11 16:44:21 1995 Ian Lance Taylor <ian@cygnus.com>
6368
6369 * ldmain.c (set_scripts_dir): Don't base script directory on
6370 current directory.
6371
6372 Tue Jul 11 12:29:02 1995 Rick Sladkey <jrs@world.std.com>
6373
6374 * ldmisc.c (vfinfo): Don't print the line number if it isn't
6375 meaningful.
6376
6377 Mon Jul 10 13:38:28 1995 Ian Lance Taylor <ian@cygnus.com>
6378
6379 * ld.h (ld_config_type): Add field warn_constructors.
6380 * ldmain.c (add_to_set): Warn if config.warn_constructors.
6381 (constructor_callback): Likewise.
6382 * lexsup.c (parse_args): Handle -warn-constructors.
6383 * ld.texinfo, ld.1: Document -warn-constructors.
6384
6385 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
6386 get confused by directory names if we searched for the file.
6387
6388 Based on patches from H.J. Lu <hjl@nynexst.com>:
6389 * ldlang.h (lang_input_statement_type): Add new field dynamic.
6390 * ldlang.c (new_afile): Set dynamic from config.dynamic_link.
6391 * ldfile.c: Include bfdlink.h.
6392 (ldfile_open_file): Check dynamic field of entry, not global
6393 dynamic_link field. Don't do a dynamic search when doing a
6394 relocateable link.
6395 * ldmain.c (main): Don't warn about dynamic_link for a
6396 relocateable link.
6397 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
6398 dynamic is false.
6399 (gld${EMULATION_NAME}_create_output_section_statements): Always
6400 loop over input files.
6401 * Makefile.in: Rebuild dependencies.
6402
6403 * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
6404 -shared.
6405
6406 Mon Jul 10 13:29:43 1995 Eric Youngdale <eric@aib.com>
6407
6408 * ldmain.c (main): Set link_info.symbolic to false.
6409 * lexsup.c (parse_args): Handle -Bsymbolic.
6410
6411 Wed Jul 5 00:12:11 1995 Fred Fish (fnf@cygnus.com)
6412
6413 * ldmain.c (HAVE_SBRK): Define for everything except
6414 specific systems that are known to not support sbrk.
6415 (main): Use HAVE_SBRK to decide whether or not to use sbrk.
6416
6417 Tue Jul 4 12:55:48 1995 Ian Lance Taylor <ian@cygnus.com>
6418
6419 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
6420 Handle etree_provide.
6421
6422 * emultempl/elf32.em (global_needed): New static variable.
6423 (global_found): Likewise.
6424 (gld${EMULATION_NAME}_after_open): New static function.
6425 (gld${EMULATION_NAME}_search_needed): Likewise.
6426 (gld${EMULATION_NAME}_try_needed): Likewise.
6427 (gld${EMULATION_NAME}_check_needed): Likewise.
6428 (ld_${EMULATION_NAME}_emulation): Replace after_open_default with
6429 gld${EMULATION_NAME}_after_open.
6430
6431 Mon Jul 3 14:26:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
6432
6433 * configure.in (i386-*-win32): New target.
6434
6435 Mon Jul 3 14:39:22 1995 Ian Lance Taylor <ian@cygnus.com>
6436
6437 * lexsup.c (parse_args): Let -G either set the small data size or
6438 be equivalent to --shared, depending on the next argument. Accept
6439 and ignore -z for Solaris compatibility.
6440
6441 Sun Jul 2 17:52:34 1995 Ian Lance Taylor <ian@cygnus.com>
6442
6443 * lexsup.c (parse_args): Cast fopen result to PTR before storing
6444 it in link_info.base_file. Fix indentation.
6445
6446 Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
6447
6448 * ldmain.c (main): Always initialize PE info in link_info.
6449 * lexsup.c (OPTION_BASE_FILE): New option.
6450 (parse_args): Handle new option.
6451 * emulparams/armpe.sh: Output pei.
6452 * emultempl/i386pe.em: Add newline to end.
6453 * scripttempl/armpe.sc: Change output and quote the $s.
6454 * scripttempl/i386pe.sc: Change output and quote the $s.
6455
6456 Thu Jun 22 19:55:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6457
6458 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
6459
6460 * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
6461 * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
6462 (i386msdos.o): New target.
6463 * config/i386-msdos.mt: Created.
6464 * emulparams/i386msdos.sh: Created.
6465 * scripttempl/i386msdos.sc: Created.
6466
6467 Thu Jun 22 15:06:35 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6468
6469 * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section
6470 that contains pointers to be relocated.
6471
6472 Tue Jun 20 17:47:20 1995 Stan Shebs <shebs@andros.cygnus.com>
6473
6474 * mpw-esh.c: New file, modified for MPW from esh.c.
6475 * scripttempl/sh.sc: Reformatted to simplify MPWification,
6476 use *() to concat stab sections instead of [].
6477
6478 Thu Jun 15 08:48:16 1995 Steve Chamberlain <sac@slash.cygnus.com>
6479
6480 * scripttempl/armpe.sc: Add constructor support.
6481
6482 Tue Jun 13 09:11:20 1995 Steve Chamberlain <sac@slash.cygnus.com>
6483
6484 * ldlang.c (lang_size_sections): Any section with a DATA
6485 statement has contents.
6486
6487 Sun Jun 11 15:20:46 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6488
6489 * emulparams/m68kelf.sh (NOP): Define.
6490 (DYNAMIC_LINK): Don't define.
6491 (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers
6492 will come from the linker script.
6493
6494 Thu Jun 8 14:17:33 1995 Steve Chamberlain <sac@slash.cygnus.com>
6495
6496 * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack.
6497
6498 Mon Jun 5 02:16:24 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
6499
6500 * configure.in (i[345]86-*-gnu*): Use GNU elf config.
6501
6502 Thu May 25 11:49:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6503
6504 From Andrew Cagney <cagney@highland.com.au>
6505 * Makefile.in: Fixup more gotchas from renaming elf32ppcle to
6506 elf32lppc.
6507
6508 Wed May 24 11:23:21 1995 Steve Chamberlain <sac@slash.cygnus.com>
6509
6510 Add support for ARM-PE.
6511 * Makefile.in (ALL_EMULATIONS): Add armpe.o
6512 * configure.in: Recognize armpe.
6513 * config/arm-pe.mt: New file.
6514 * emulparams/armpe.sh: New file.
6515 * scripttempl/armpe.sc: New file.
6516
6517
6518 Mon May 22 15:19:26 1995 Doug Evans <dje@chestnut.cygnus.com>
6519
6520 * configure.in (h8300h-*-hms): Deleted
6521 * config/cf-h8300h.mt: Deleted.
6522
6523 Thu May 18 04:26:10 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
6524
6525 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
6526
6527 From David Taylor (dtaylor@armltd.co.uk)
6528 * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o
6529 * configure.in: Recognize arm{,e[lb]-*-aout.
6530 * config/arm[lb]-aout.mt: New files.
6531 * emulparams/armaout[lb].sh: New files.
6532 * scripttempl/armaout.sc: New file.
6533
6534 Tue May 16 18:27:11 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6535
6536 * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to
6537 be unique in 8 characters for DOS.
6538
6539 * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh.
6540 * emulparams/elf32ppcle.sh: Deleted.
6541
6542 Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com>
6543 Tom Griest <griest@cs.yale.edu>
6544
6545 Initial support for PE executables (eg NT, win32)
6546
6547 * Makefile.in (configure.in, ei386pe): Add support.
6548 * ldmain.c (main): Initialize PE argument info.
6549 * ldwrite.c (print_file_stuff): Don't print out .drectve
6550 and .debug section info.
6551 * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
6552 OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
6553 Handle new arguments.
6554 * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
6555 New files
6556
6557 Wed May 10 18:37:59 1995 Stu Grossman (grossman@andros.cygnus.com)
6558
6559 * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text
6560 segment. This allows ld -r to preserve unwind sections.
6561
6562 Tue May 9 17:19:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6563
6564 * configure.in: Add little endian PowerPC support.
6565
6566 * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o.
6567 (eelf32ppcle.c): Support for little endian PowerPC.
6568
6569 * config/ppcle-elf32.mt: New file for little endian PowerPC.
6570 * emulparams/elf32ppcle.sh: Ditto.
6571
6572 Wed May 3 12:56:32 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6573
6574 * ldlang.c (print_output_section_statement): Check
6575 subsection_alignment, instead of checking section_alignment twice.
6576 Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>.
6577
6578 Tue May 2 16:36:07 1995 Jeff Law (law@snake.cs.utah.edu)
6579
6580 * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
6581
6582 Mon Apr 24 19:21:02 1995 Michael Meissner <meissner@cygnus.com>
6583
6584 * ldwrite.c (ldwrite): Before doing anything, reset the error
6585 code. If bfd_final_link returns an error, but the error code is
6586 unset, don't issue an extra message. Assume a correct error
6587 message was already set.
6588
6589 Fri Apr 14 16:31:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6590
6591 * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
6592 (em68kelf.o): New target.
6593 * config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
6594 * configure.in: Use them for m68*-*-elf.
6595
6596 Tue Apr 11 12:02:03 1995 Stan Shebs <shebs@andros.cygnus.com>
6597
6598 Merge in support for Mac MPW as a host.
6599 (Old change descriptions retained for informational value.)
6600
6601 * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
6602 (i386-unknown-coff): Remove.
6603 (sh-hitachi-hms): New target.
6604 (emulation_ofiles): Set correctly for each target.
6605 (version, TDEFINES): Add to makefile fragment.
6606 * mpw-make.in (BISON): Use byacc instead of bison.
6607 (em_*.c): Replace with e*.c everywhere.
6608 (ldgram.h): Separate action from ldgram.c generation.
6609 (LD_PROG): Depend on Version.r.
6610 (Version.r): generate from version info.
6611 * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
6612
6613 * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
6614 i386-unknown-aout, i386-unknown-coff): New targets.
6615 (m68k-aout, m68k-coff): Remove targets.
6616 (mk.tmp): Add definition of EMUL.
6617
6618 * mpw-config.in (emulname): Set based on target.
6619 (ldemul-list.h): Construct.
6620 * mpw-make.in (install-only): New target.
6621 (install): Depend on install-only.
6622
6623 * mpw-make.in (bindir): Fix pathname.
6624 (install): Move here from mpw-build.in.
6625
6626 * mpw-config.in: New file, MPW configuration fragment.
6627 * mpw-make.in: New file, MPW makefile fragment.
6628 (This file is semi-automatically generated from Makefile.in.)
6629 * ldfile.c (slash): If MPW, set to `:'.
6630 * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to
6631 prevent redefinition errors.
6632
6633 Tue Apr 4 17:55:18 1995 Steve Chamberlain <sac@bang.hack.com>
6634
6635 * ldwrite.c (clone_section): Align clone sections on even
6636 boundaries.
6637
6638 Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
6639
6640 * configure.in: Change linux to default to elf. Using
6641 i[345]86-*-linuxaout will build a linker which defaults to a.out.
6642 * config/i386-laout.mt: Rename from old config/i386-linux.mt.
6643 * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
6644 * config/i386-lelf.mt: Remove.
6645
6646 Thu Mar 30 13:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
6647
6648 * ldmain.c (main): If opening the map file fails, call
6649 bfd_set_error before calling einfo.
6650
6651 * ld.texinfo, ld.1: Document the -no-keep-memory option.
6652
6653 Mon Mar 27 11:10:08 1995 Ian Lance Taylor <ian@cygnus.com>
6654
6655 * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
6656 does mark shared libraries as executable.
6657
6658 Tue Mar 21 15:15:38 1995 Ian Lance Taylor <ian@cygnus.com>
6659
6660 * ldlang.c (lang_common): Change power to int. Pass larger values
6661 before smaller values.
6662 (lang_one_common): Treat info as int *. Don't bother to check for
6663 last value, since it is now zero.
6664
6665 Sat Mar 18 01:49:14 1995 Ian Lance Taylor <ian@cygnus.com>
6666
6667 * ldlang.c (load_symbols): An empty archive is OK.
6668
6669 Fri Mar 17 16:15:31 1995 Stan Shebs <shebs@andros.cygnus.com>
6670
6671 * ldmain.c (progress.h): Include.
6672 (main): Call START_PROGRESS and END_PROGRESS.
6673
6674 Thu Mar 16 17:17:33 1995 Michael Meissner <meissner@cygnus.com>
6675
6676 * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and
6677 .dtors sections, so that these pointers get relocated also.
6678 Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning
6679 and end of the constructors/destructors.
6680
6681 Thu Mar 16 13:59:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
6682
6683 * ldlang.c (load_symbols): If whole_archive is true and ENTRY
6684 describes an archive, call bfd_link_add_symbols on each member.
6685 * ldmain.c (whole_archive): New variable.
6686 (main): Initialize it to false.
6687 * ldmain.h: Declare whole_archive.
6688 * lexsup.c (parse_args): Grok --whole-archive switch.
6689 * ld.texinfo, ld.1: Document --whole-archive.
6690
6691 Thu Mar 16 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com>
6692
6693 * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
6694 using the default emulation.
6695
6696 * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
6697 LDEMULATION.
6698 * config/hppaelf.mh (HOSTING_EMU): Likewise.
6699
6700 Tue Mar 14 12:28:03 1995 Ian Lance Taylor <ian@cygnus.com>
6701
6702 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
6703 for -lc.N. From H.J. Lu <hjl@nynexst.com>.
6704
6705 Fri Mar 10 14:43:48 1995 Ian Lance Taylor <ian@cygnus.com>
6706
6707 * ldmain.c (main): Don't set EXEC_P if link_info.shared is set.
6708
6709 * ldlex.l: Return -lFILENAME as the token LNAME.
6710 * ldgram.y: Add token LNAME.
6711 (input_list): Treat LNAME like NAME, but pass it to
6712 lang_add_input_file as lang_input_file_is_l_enum.
6713 * ld.texinfo: Document using -lFILENAME in INPUT.
6714
6715 Thu Mar 9 12:21:51 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6716
6717 * ldlang.c (lang_check): If the architectures are compatible call
6718 bfd_merge_private_bfd_data to let the backend do additional
6719 checks.
6720
6721 Tue Mar 7 00:53:08 1995 Ian Lance Taylor <ian@cygnus.com>
6722
6723 * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
6724 all supported emulations.
6725
6726 Mon Mar 6 14:03:50 1995 Ian Lance Taylor <ian@cygnus.com>
6727
6728 * ldemul.c (ldemul_list_emulations): New function.
6729 * ldemul.h (ldemul_list_emulations): Declare.
6730 * ldver.c (help): List supported targets and emulations.
6731
6732 Fri Mar 3 15:40:36 1995 Doug Evans <dje@canuck.cygnus.com>
6733
6734 * scripttempl/elf.sc (.debug): Relocate to address 0.
6735 (.debug_srcinfo, .debug_aranges, .debug_pubnames,
6736 .debug_sfnames, .line): Likewise.
6737
6738 Fri Mar 3 17:07:14 1995 Ian Lance Taylor <ian@cygnus.com>
6739
6740 * emultempl/elf32.em (hold_rel): New static variable.
6741 (gld${EMULATION_NAME}_place_orphan): Place readonly sections with
6742 contents whose names begin with ".rel" after hold_rel. Remove the
6743 assertion which checked for unplaced .rel sections. Don't try to
6744 sort the section into place if place->bfd_section is NULL.
6745 (gld${EMULATION_NAME}_place_section): Set hold_rel to the first
6746 section beginning with ".rel".
6747
6748 Thu Mar 2 14:34:43 1995 Ian Lance Taylor <ian@cygnus.com>
6749
6750 Doc note from pierre@phi.la.tce.com (Pierre Willard):
6751 * ld.texinfo: -X and -x work even if -s or -S are not specified.
6752 * ld.1: Similar change.
6753
6754 Wed Mar 1 13:51:16 1995 Ian Lance Taylor <ian@cygnus.com>
6755
6756 * emulparams/gld960coff.sh (COFF_CTORS): Define.
6757 * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
6758
6759 Tue Feb 28 12:42:56 1995 Ian Lance Taylor <ian@cygnus.com>
6760
6761 * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
6762 (i[345]86-*-gnuelf*): New target. Use i386-gelf.
6763 * config/i386-lelf.mt: New file.
6764 * config/i386-gelf.mt: New file.
6765
6766 Tue Feb 28 10:27:54 1995 Rob Savoye <rob@darkstar.cygnus.com>
6767
6768 * configure.in: Match on mips-ecoff, and default to the IDT
6769 configuration.
6770
6771 Fri Feb 17 13:06:47 1995 Michael Meissner <meissner@cygnus.com>
6772
6773 * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections.
6774 Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area
6775 to double the size of the table.
6776
6777 Thu Feb 9 18:29:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6778
6779 * Makefile.in (distclean): Do recursive deletion, since ldscripts
6780 is a directory.
6781
6782 Thu Feb 9 11:38:22 1995 Ian Lance Taylor <ian@cygnus.com>
6783
6784 * ldmain.c (main): If trace_file_tries is true, and we are using
6785 an internal linker script, print out the script.
6786 * ldfile.c (try_open): Reindent function. Make the messages about
6787 opening script files more informative.
6788
6789 * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
6790 * ld.texinfo, ld.1: Update accordingly.
6791
6792 Wed Feb 8 17:34:45 1995 Ian Lance Taylor <ian@cygnus.com>
6793
6794 * ldlang.c (lang_one_common): Adjust references to common symbol
6795 information for new structure.
6796
6797 Mon Feb 6 12:17:24 1995 Ian Lance Taylor <ian@cygnus.com>
6798
6799 * ldmain.c (undefined_symbol): Handle section being NULL.
6800
6801 * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak.
6802 * ldexp.c (fold_name): Likewise.
6803 * ldlang.c (print_one_symbol): Likewise.
6804 (lang_finish): Likewise.
6805 * ldmain.c (multiple_common): Likewise.
6806 * ldwrite.c (print_symbol): Likewise. Also, bfd_link_hash_weak
6807 renamed to bfd_link_hash_undefweak.
6808
6809 * scripttempl/alpha.sc: Set address of .data section correctly
6810 when -n or -N is used. Patch from Chris G Demetriou
6811 <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
6812 * scripttempl/mips.sc: Similar change.
6813
6814 Tue Jan 31 16:20:52 1995 Doug Evans <dje@canuck.cygnus.com>
6815
6816 * ldlang.c (lang_size_sections): Clarify error message when user
6817 specified start addr conflicts with region. Fix resetting of
6818 region pointer.
6819
6820 Tue Jan 31 12:37:09 1995 Ian Lance Taylor <ian@cygnus.com>
6821
6822 * ldexp.c (fold_name): In case NAME, permit an absolute symbol
6823 in lang_allocating_phase_enum.
6824
6825 Mon Jan 30 11:33:25 1995 Ian Lance Taylor <ian@cygnus.com>
6826
6827 * Makefile.in (distclean): Depend upon clean. Don't bother to
6828 remove files which will be removed by clean. From patch by
6829 alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra).
6830
6831 Fri Jan 27 16:27:34 1995 Ian Lance Taylor <ian@cygnus.com>
6832
6833 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
6834 a MIPS target, clobber the size of all but the first input
6835 .reginfo section to be 0, so that lang_size_sections sets the
6836 correct size for the output .reginfo section.
6837
6838 Thu Jan 26 19:53:37 1995 Ian Lance Taylor <ian@cygnus.com>
6839
6840 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6841 Remove unused variable is.
6842
6843 Thu Jan 26 12:33:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
6844
6845 * configure.in: Add support for powerpc-*-eabi.
6846
6847 * scripttempl/elfppc.sc: New file for PowerPC embedded ABI
6848 support.
6849
6850 * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of
6851 elf.sc, which defines some new symbols PowerPC elf needs.
6852
6853 Tue Jan 24 10:32:15 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
6854
6855 * ldctor.c (ldctor_add_set_entry): Don't dump core if a
6856 constructor entry is in the absolute section.
6857
6858 Mon Jan 23 13:58:13 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
6859
6860 * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
6861 * config/i386-gnu.mt: New file. Include ELF support.
6862
6863 Thu Jan 19 16:22:11 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
6864
6865 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
6866 there are any input sections named .gnu.warning, treat them as
6867 containing a warning message to be printed by the linker, and
6868 clobber the size so that the message is not copied into the output
6869 file.
6870 * scripttempl/elf.sc: Put .gnu.warning sections into the .text
6871 section.
6872
6873 Sun Jan 15 16:45:00 1995 Steve Chamberlain <sac@splat>
6874
6875 * configure.in (w65-*-*): New target.
6876 * Makefile.in: Update.
6877 * scripttempl/w65.sc: New.
6878 * config/coff-w65.mt: New.
6879
6880 Thu Jan 12 01:32:25 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
6881
6882 * ldlang.c (lang_place_orphans): Don't ignore files with
6883 just_syms_flag set. Instead, put all their sections in
6884 bfd_abs_section_ptr, using the section VMA as the output_offset.
6885
6886 Wed Jan 11 22:59:09 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
6887
6888 * ldctor.c (ldctor_build_sets): Don't use `const' with typedef
6889 name `reloc_howto_type', since it's now defined to be const.
6890 * ldlang.c (lang_add_reloc): Ditto.
6891 * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto.
6892
6893 Wed Jan 11 11:24:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
6894
6895 * ldexp.c (fold_binary): Adding or subtracting an absolute value
6896 to a relative value does not require forcing the relative value to
6897 be absolute. Also, reindent function.
6898
6899 Wed Dec 28 22:05:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6900
6901 * ldwrite.c (clone_section): Create a symbol with the
6902 same name as the section.
6903
6904 Mon Dec 19 14:02:13 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6905
6906 * ld.h (split_by_reloc, split_by_file): New flags.
6907 * ldwrite.c (clone_section, split_sections): New functions.
6908 * lexsup.c (parse_args): Understand new split options.
6909
6910 Fri Dec 9 17:22:55 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
6911
6912 * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
6913 .data segment. They must be writable when creating a shared
6914 library. From H.J. Lu <hjl@nynexst.com>.
6915
6916 Fri Dec 2 14:09:00 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
6917
6918 * emultempl/miposecoff.em: New file.
6919 * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
6920 * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
6921 * scripttempl/mips.sc: Put .rel.sdata sections in .text, and
6922 provide __runtime_reloc_start and __runtime_reloc_stop if they are
6923 used. Align _fdata to a 16 byte boundary.
6924 * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
6925 generic.em.
6926 (emipsidtl.c): Likewise.
6927 (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
6928
6929 * ld.h (args_type): Add new field embedded_relocs.
6930 * ldemul.h (ldemul_after_open, after_open_default): Declare.
6931 (ld_emulation_xfer_struct): Add new field after_open.
6932 * ldemul.c (ldemul_after_open): New function.
6933 (after_open_default): New function.
6934 * ldlang.c (lang_process): Call ldemul_after_open.
6935 * lexsup.c (parse_args): Handle --embedded-relocs.
6936 * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
6937 new after_open field to after_open_default.
6938 * emultempl/generic.em, emultempl/gld960.em: Likewise.
6939 * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
6940 * emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
6941 * emultempl/sunos.em, emultempl/vanilla.em: Likewise.
6942 * ld.texinfo, ld.1: Mention -embedded-relocs.
6943
6944 Wed Nov 23 22:04:47 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6945
6946 * Makefile.in: Add eshl.o.
6947 * config/coff-sh.mt: Add shl emulation.
6948
6949 Tue Nov 22 11:55:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
6950
6951 * scripttempl/elf.sc: Fill .text section with NOPS. From Eric
6952 Youngdale <eric@aib.com>.
6953
6954 Thu Nov 17 14:39:48 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
6955
6956 Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
6957 * config/i386linux.mh: New file; set HOSTING_CRT0.
6958 * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
6959 /usr/lib, since that is already in LIB_PATH.
6960
6961 Wed Nov 16 10:03:03 1994 Jeff Law (law@snake.cs.utah.edu)
6962
6963 * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
6964 address.
6965 (.data, .bss): If "-N", then place the data/bss just after the end
6966 of the .text section rather than at the default 0x40000000.
6967
6968 * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
6969 text segment.
6970
6971 Sat Nov 12 15:55:56 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6972
6973 Patches from Eric Youngdale <eric@aib.com>:
6974 * ldlang.c (lang_finish): Don't warn if entry symbol not found
6975 when generating a shared library.
6976 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if
6977 attempting to place an orphaned relocation section when generating
6978 a dynamically linked object.
6979
6980 * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
6981 _start.
6982
6983 Fri Nov 11 14:27:23 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
6984
6985 * ld.h (args_type): Add field export_dynamic.
6986 * lexsup.c (parse_args): Recognize --export-dynamic.
6987 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
6988 Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
6989
6990 Wed Nov 9 12:47:11 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
6991
6992 * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
6993 we allocate common symbols.
6994
6995 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
6996
6997 * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
6998 .rela.fini to the list of .rel* sections.
6999
7000 Tue Nov 8 17:47:45 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7001
7002 * ldlang.c (load_symbols): Add new argument place. Only accept
7003 linker scripts if place is not NULL. Put commands found in an
7004 assumed linker script into place.
7005 (lookup_name): Pass NULL as place argument to load_symbols.
7006 (open_input_bfds): In lang_input_statement_enum case, pass a place
7007 argument to load_symbols, and store any new statements after the
7008 current one.
7009
7010 Mon Nov 7 15:53:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
7011
7012 * ldver.c (ldversion): Bump to 2.5.3.
7013
7014 Fri Nov 4 15:11:26 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
7015
7016 * Makefile.in (e*nbsd.c): Fix typo in dependencies.
7017
7018 Thu Nov 3 19:35:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
7019
7020 * Makefile.in (check): Add missing "else true" clause.
7021
7022 * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
7023
7024 * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default
7025 entry point to "start". Align at end of each section to 0x200.
7026 Start .text section 0x1000 later. Add _etext, _edata, _end
7027 symbols.
7028
7029 Wed Nov 2 12:17:49 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7030
7031 * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
7032 composed of different object file formats.
7033 (ldctor_build_sets): If the output format does not support the
7034 reloc, and we are not generating a relocateable link, try getting
7035 the reloc from the input format.
7036
7037 Tue Nov 1 10:30:19 1994 J.T. Conklin (jtc@rtl.cygnus.com)
7038
7039 * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
7040 (em68knbsd.c): New target.
7041
7042 * config/m68k-nbsd.mt: New file.
7043 * emulparams/m68knbsd.sh: New file.
7044 * configure.in (m68*-*-netbsd*): Use above configs.
7045
7046 Mon Oct 31 19:35:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7047
7048 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
7049 appropriately named static library, stop the search at that
7050 directory.
7051
7052 Wed Oct 26 13:59:12 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
7053
7054 * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
7055 and esparcnbsd.o; sorted entries.
7056 (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
7057
7058 * config/netbsd532.mt: Removed.
7059 * emulparams/netbsd532.sh: Removed.
7060
7061 * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
7062 * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
7063 * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
7064 sparc*-*-netbsd*): Use above configs.
7065
7066 Tue Oct 25 11:47:10 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7067
7068 * ldmain.c (multiple_common): One of the types may now be
7069 bfd_link_hash_indirect. The old BFD argument may be NULL.
7070
7071 Thu Oct 20 22:01:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7072
7073 * configure.in: Add * at the end of m68k-hp-hpux.
7074
7075 Tue Oct 18 15:58:39 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7076
7077 * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
7078 YY_CHAR *.
7079
7080 Mon Oct 17 14:53:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
7081
7082 * scripttempl/nw.sc: Gather constructors and destructors and
7083 define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
7084
7085 Fri Oct 14 14:35:38 1994 J.T. Conklin (jtc@rtl.cygnus.com)
7086
7087 * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
7088 (ei386nw.c, eppcnw.c): New targets.
7089
7090 * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
7091 scripttempl/nw.sc: New files, for i386 and powerpc netware.
7092
7093 * configure.in: Changed netware ld_target name to be {i386,ppc}-nw
7094 instead of {i386,ppc}-elf.
7095
7096 * configure.in (sparc*-*-netware): Removed. There is no such
7097 thing anymore.
7098
7099 * ldint.texinfo: Move misplaced `@end iftex'.
7100
7101 Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com)
7102
7103 * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
7104 .rela.dtors to the list of .rel* sections.
7105
7106 Thu Oct 13 14:16:27 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
7107
7108 * ldver.c (ldversion): Update to version 2.5.
7109 * Version 2.5 released.
7110
7111 * configure.in (all_targets): Handle i386-linux*.
7112
7113 Thu Oct 13 11:24:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7114
7115 * scripttempl/aout.sc: Set _etext and __etext to ., not
7116 ${DATA_ALIGNMENT}. This is compatible with SunOS, and, with luck,
7117 will not break any other system. From Eric Valette
7118 <ev@chorus.fr>.
7119
7120 Wed Oct 12 16:22:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
7121
7122 * lexsup.c (parse_args): Change -V to be a synonym for -v. Add
7123 --verbose to get the old -V behaviour.
7124 * ld.1, ld.texinfo: Document this change.
7125
7126 Tue Sep 27 14:56:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7127
7128 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
7129 assertion, since it could fail with a user defined linker script.
7130
7131 * ldexp.c (fold_name): For DEFINED case, don't try to look up the
7132 name in the hash table during the first phase--the hash table does
7133 not even exist at that point, much less have the right value.
7134
7135 * Makefile.in (CC): Define.
7136 (CXX): Move definition, change from g++ to gcc.
7137 (EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
7138 (RUNTEST_CC, RUNTEST_CFLAGS): Remove.
7139 (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
7140 (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
7141 (.cc.o): Comment out.
7142 (testdir): Remove.
7143 (site.exp): Don't create testdir or set tmpdir.
7144 (check): Run checks even if not running native. Use CC_FOR_TARGET
7145 instead of RUNTEST_CC, and likewise for CXX.
7146 (cdtest targets): Comment out.
7147 * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
7148 * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
7149 * cdtest-main.cc, cdtest.exp: Remove.
7150
7151 Mon Sep 26 11:40:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7152
7153 * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
7154 file naming problems.
7155 * emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
7156 * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
7157 eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
7158 (eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh.
7159 (eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh.
7160 * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
7161 * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
7162
7163 * genscripts.sh: Always search /usr/local/TARGET/lib.
7164
7165 * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".".
7166
7167 Fri Sep 23 15:05:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
7168
7169 * configure.in: Handle i386-bsdi* targets like i386-bsd.
7170
7171 Fri Sep 23 00:06:59 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7172
7173 * lexsup.c (parse_args): Add support for -a for HP/UX
7174 compatibility.
7175
7176 * lexsup.c (parse_args): -c takes an argument.
7177
7178 Tue Sep 20 14:35:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7179
7180 * ld.h (args_type): Add new field endian.
7181 * lexsup.c (parse_args): Handle -EB and -EL by setting
7182 command_line.endian.
7183 * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
7184 * ldlang.c (lang_add_output_format): Add arguments big and little.
7185 If command_line.endian is set, use it to select big or little
7186 rather than the default. Changed all callers.
7187 * ldlang.h (lang_add_output_format): Update declaration.
7188 * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
7189 LITTLE_OUTPUT_FORMAT.
7190 * emulparams/elf32mipl.sh: Likewise.
7191 * emulparams/mipsbig.sh: Likewise.
7192 * emulparams/mipsbsd.sh: Likewise.
7193 * emulparams/mipsidt.sh: Likewise.
7194 * emulparams/mipsidtl.sh: Likewise.
7195 * emulparams/mipslit.sh: Likewise.
7196 * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
7197 LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
7198 OUTPUT_FORMAT.
7199 * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
7200 LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
7201 * scripttempl/mipsbsd.sc: Likewise.
7202
7203 * Makefile.in (ldgram.h): Make separate target from ldgram.c,
7204 depending upon ldgram.c, so that a parallel make does not try to
7205 build both at once.
7206
7207 * configure.in (mips*el-elf*): New target.
7208 * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
7209 (eelf32mipl.c): New target.
7210
7211 * config/mipsl-elf32.mt: New file.
7212 * emulparams/elf32mipl.sh: New file.
7213
7214 Fri Sep 16 12:16:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7215
7216 * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
7217 ld -r -S -x.
7218
7219 Thu Sep 15 13:05:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7220
7221 * ldmisc.c (vfinfo): Print BFD file name as well as file name
7222 returned by find_nearest_line, in case the file name is something
7223 unhelpful such as a .h file. Handle %u.
7224
7225 Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
7226
7227 * ldlang.c (lang_do_assignments): Make sure output statement
7228 has an attached bfd_section before trying to dereference it.
7229
7230 Wed Sep 14 12:48:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7231
7232 * ld.h (ld_config_type): Add new field warn_once.
7233 * ldmain.c (undefined_symbol): Handle -warn-once.
7234 * lexsup.c (parse_args): Recognize -warn-once.
7235 * ld.texinfo (Options): Document -warn-once.
7236 * ld.1: Likewise.
7237
7238 * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
7239 name. For %C, print the function name on a separate line, to keep
7240 the length of error messages under control.
7241 * ldmain.c (multiple_definition): Use %D for ``first defined
7242 here.''
7243 (undefined_symbol): Use %D for ``more undefined references
7244 follow''.
7245
7246 * ldmisc.c (multiple_warn): Remove; no longer used.
7247 * ldmisc.h (multiple_warn): Don't declare.
7248
7249 Tue Sep 13 20:47:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
7250
7251 * ldlang.c (print_output_section_statement): Print all lines
7252 to the map file.
7253
7254 Tue Sep 13 16:30:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7255
7256 * ldlang.c (load_symbols): Check for archive before object. Use
7257 bfd_check_format_matches, and, if ambiguous, print a list of
7258 matching formats. If file format is not recognized, treat file as
7259 a linker script.
7260 * ldgram.y (yyerror): If assuming an object file is a script,
7261 mention that. Tweak the format of the error messages.
7262 * ldlex.l (lex_warn_invalid): If assuming an object is a script,
7263 guess that this is not actually a script, and just report that the
7264 file format was not recognized.
7265 * ld.texinfo (Options): Admit that -( may be used more than once.
7266 Add note that unrecognized object files are now treated as linker
7267 scripts.
7268
7269 * ldfile.c (ldfile_input_filename): Make const.
7270 (ldfile_assumed_script): New variable.
7271 (try_open): Change arguments types to const.
7272 (ldfile_find_command_file): Likewise.
7273 (ldfile_open_command_file): Likewise. Also, set lineno to 1.
7274 * ldfile.h: Update declarations for ldfile.c changes.
7275 * ldlex.l: Include <ctype.h>.
7276 (file_name_stack): Change to be const char *.
7277 (lineno_stack): New static variable.
7278 (<<EOF>>): Set lineno as well as ldfile_input_filename.
7279 (lex_push_file): Make name argument const. Initialize
7280 lineno_stack entry.
7281 (lex_redirect): Initialize lineno_stack entry.
7282 (lex_warn_invalid): Handle non printable characters nicely.
7283 * ldlex.h (lex_push_file): Declare second argument as const.
7284
7285 * ldgram.y (ifile_p1): Recognize GROUP.
7286 * ldlex.l: Recognize GROUP.
7287 * ld.texinfo (Option Commands): Document GROUP.
7288
7289 Mon Sep 12 17:04:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7290
7291 * config/m68klynx.mh: New file.
7292
7293 Mon Sep 12 01:50:03 1994 Jeff Law (law@snake.cs.utah.edu)
7294
7295 * emultempl/hppaelf.em: Add newlines to the error messages.
7296
7297 Sat Sep 10 16:05:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7298
7299 * config/i386lynx.mh: New file.
7300 * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
7301 unless CONSTRUCTING.
7302
7303 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7304
7305 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
7306 (GENERATE_SHLIB_SCRIPT): Define as yes.
7307 (DYNAMIC_LINK): Define as false.
7308 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
7309 Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
7310 (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
7311 * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
7312 generic.em.
7313
7314 Thu Sep 8 16:30:37 1994 Steve Chamberlain (sac@jonny.cygnus.com)
7315
7316 * scripttempl/h8500b.sc: Put rdata stuff into own segment.
7317
7318 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7319
7320 * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
7321 .got section is now explicitly handled in elf.sc.
7322
7323 Wed Sep 7 13:08:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7324
7325 * scripttempl/alpha.sc: Redo script to set . outside of sections
7326 and not bother to explicitly specify section addresses.
7327 Explicitly place .sdata section.
7328
7329 Tue Sep 6 23:51:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7330
7331 * scripttempl/m68kcoff.sc: Put .bss in data segment.
7332
7333 * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
7334 0, and to only be marked as NOLOAD if relocating.
7335 * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
7336 * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
7337 * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
7338 * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
7339 * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
7340 * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
7341 * scripttempl/sparclynx.sc: Likewise.
7342
7343 Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
7344
7345 * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX.
7346 * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc:
7347 New files.
7348
7349 Tue Aug 30 11:48:08 1994 Eric Youngdale (ericy@cais.cais.com)
7350
7351 * ld.h (args_type): Add field soname.
7352 * lexsup.c (parse_args): Handle -soname argument.
7353 * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
7354 pass soname.
7355 * ld.texinfo: Document -soname.
7356
7357 Mon Aug 29 15:21:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7358
7359 * ldlang.c (lang_check): Don't try to set the architecture if the
7360 input and output files are incompatible. Just warn.
7361
7362 Wed Aug 24 12:52:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7363
7364 * configure.in: Change i[34]86 to i[345]86.
7365
7366 Sun Aug 21 16:17:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7367
7368 * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0.
7369
7370 Thu Aug 18 15:37:45 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7371
7372 Make the ELF linker handle orphaned sections reasonably. Also,
7373 define __start_SECNAME and __stop_SECNAME around sections whose
7374 names can be represented in C, for the benefit of symbol sets in
7375 glibc.
7376 * ldemul.h (ldemul_place_orphan): Declare.
7377 (ld_emulation_xfer_type): Add place_orphan field.
7378 * ldemul.c (ldemul_place_orphan): New function.
7379 * ldlang.h (wild_doit): Declare.
7380 * ldlang.c (wild_doit): Make nonstatic.
7381 (lang_place_orphans): Call ldemul_place_orphan.
7382 * emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
7383 (hold_section, hold_use, hold_text, hold_data, hold_bss): New
7384 static variables.
7385 (gld${EMULATION_NAME}_place_orphan): New static function.
7386 (gld${EMULATION_NAME}_place_section): New static function.
7387 (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
7388
7389 Tue Aug 16 00:17:20 1994 Eric Youngdale (ericy@cais.cais.com)
7390
7391 * scripttempl/aout.sc: Add .linux-dynamic after .data.
7392
7393 Tue Aug 16 00:08:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7394
7395 * lexsup.c (parse_args) Treat --dll-verbose as --version, for
7396 Linux compatibility. From hjl@nynexst.com (H.J. Lu).
7397
7398 Mon Aug 15 17:17:33 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7399
7400 * ldexp.h (exp_get_abs_int): Declare.
7401
7402 Sat Aug 6 01:45:39 1994 Steve Chamberlain (sac@jonny.cygnus.com)
7403
7404 * ldlang.c (lang_do_assignments): Handle complex AT's better.
7405 * ldexp.c (exp_get_abs_int): New function.
7406
7407 Fri Aug 5 20:55:55 1994 Jason Molenda (crash@phydeaux.cygnus.com)
7408
7409 * configure.in: add i960-nindy-coff support.
7410
7411 Thu Aug 4 14:45:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7412
7413 * ldlex.l (yy_create_string_buffer): Handle change to internal
7414 interface in flex 2.4.7.
7415
7416 Tue Aug 2 11:52:06 1994 Eric Youngdale (ericy@cais.cais.com)
7417
7418 * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
7419 New function; add 0x20 to any use of -Ttext.
7420 (gld${EMULATION_NAME}_create_output_section_statements): New
7421 function.
7422 (ld_${EMULATION_NAME}_emulation): Use the new function
7423 gld${EMULATION_NAME}_create_output_section_statements.
7424
7425 Mon Aug 1 15:50:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7426
7427 * scripttempl/mips.sc: Redo script to set . outside of sections
7428 and not bother to explicitly specify section addresses.
7429
7430 Tue Jul 26 11:02:35 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7431
7432 * scripttempl/elf.sc: Copy several more relocation sections into
7433 the output. Put .got.plt sections into .got.
7434
7435 Fri Jul 22 12:15:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7436
7437 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
7438
7439 Add a new script operator, PROVIDE, to define a symbol only if it
7440 is needed.
7441 * ldgram.y (PROVIDE): New token.
7442 (assignment): Accept PROVIDE.
7443 * ldlex.l (PROVIDE): New token.
7444 * ldexp.h (node_type): Add etree_provide to node_class enum.
7445 (exp_provide): Declare.
7446 * ldexp.c (exp_fold_tree): Handle etree_provide.
7447 (exp_provide): New function.
7448 (exp_print_tree): Handle etree_provide.
7449 * ld.texinfo: Document PROVIDE.
7450
7451 * ldlang.c (lang_common): Pass desired alignment to
7452 lang_one_common as power of two.
7453 (lang_one_common): Get common symbol alignment from linker hash
7454 table entry. Treat desired alignment as a power of two.
7455
7456 * ldlang.c (wild_section): Attach all section with the given name,
7457 not just the first one. If there is no name, attach all sections
7458 even if the SEC_IS_COMMON flag is set.
7459
7460 Wed Jul 20 15:49:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7461
7462 * ld.h (args_type): Add field rpath.
7463 * lexsup.c (S_ISDIR): Define if not already defined.
7464 (parse_args): Add support for -rpath. If -R is used to name a
7465 directory, treat it as -rpath for Solaris compatibility.
7466 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
7467 Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
7468 * ldmain.c (main): Initialize command_line.rpath to NULL.
7469 * ld.texinfo: Document -rpath option.
7470
7471 Sun Jul 10 00:33:24 1994 Ian Dall (dall@hfrd.dsto.gov.au)
7472
7473 * emulparams/pc532machaout.sh: New file. Pc532 mach script
7474 parameters.
7475
7476 * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
7477
7478 * config/pc532mach.mt: New file. Pc532 mach target support.
7479
7480 * config/pc532mach.mh: New file. Pc532 mach host support.
7481
7482 * config/netbsd532.mt: New file. Netbsd 532 target support.
7483
7484 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
7485
7486 * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
7487 dependency.
7488
7489 Fri Jul 8 10:57:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7490
7491 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
7492 bfd_abs_section_ptr, not &bfd_abs_section.
7493
7494 * lexsup.c (parse_args): Changed "retain-symbols-file" from
7495 no_argument to required_argument. From djm.
7496
7497 Thu Jul 7 12:29:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7498
7499 * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
7500 sections to force a VMA of 0; needed for ELF backends which have
7501 not been converted to the new linker style.
7502
7503 Mon Jul 4 19:35:45 1994 Jeff Law (law@snake.cs.utah.edu)
7504
7505 * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
7506 it was for the HPUX dynamic loader's use and it creates problems
7507 with ELF GDB.
7508
7509 Fri Jul 1 12:53:47 1994 Jeff Law (law@snake.cs.utah.edu)
7510
7511 * ldlang.c (lang_do_assignments): No longer static. Delete decl.
7512 * ldlang.h (lang_do_assignments): Put external decl here.
7513 * emultempl/hppaelf.em: Minor cleanups throughout file.
7514 (hppa_elf_create_output_section_statements): Rewrite.
7515 (hppaelf_finish): Rewrite.
7516
7517 Wed Jun 29 16:50:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7518
7519 * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
7520
7521 * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not
7522 accept plain -B.
7523 * ld.texinfo: -Bstatic is not ignored.
7524
7525 Tue Jun 28 12:13:34 1994 Stan Shebs (shebs@andros.cygnus.com)
7526
7527 * ldlex.l: Recognize \r the same as \n.
7528
7529 Thu Jun 23 17:53:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7530
7531 Preliminary support for generating shared libraries, from Eric
7532 Youngdale <ericy@cais.cais.com>.
7533 * genscripts.sh: If the emulation parameter file sets
7534 GENERATE_SHLIB_SCRIPT, generate a .xs script file with
7535 CREATE_SHLIB defined.
7536 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
7537 link_info.shared is set, use the .xs script file.
7538 * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
7539 .interp section, and don't include TEXT_START_ADDR in the starting
7540 address of the first section.
7541 * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
7542 * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
7543
7544 Thu Jun 23 12:52:22 1994 David J. Mackenzie (djm@rtl.cygnus.com)
7545
7546 * configure.in: Change --with-targets to --enable-targets.
7547
7548 Wed Jun 22 13:42:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7549
7550 * lexsup.c (parse_args): Add support for new options -( -) with
7551 synonyms --start-group --end-group.
7552 * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
7553 (lang_group_statement_type): Define new struct.
7554 (lang_statement_union_type): Add group_statement field.
7555 (lang_enter_group, lang_leave_group): Declare.
7556 * ldlang.c (lang_for_each_statement_worker): Handle
7557 lang_group_statement_enum.
7558 (map_input_to_output_sections, print_statement): Likewise.
7559 (lang_size_sections, lang_do_assignments): Likewise.
7560 (open_input_bfds): Completely rewrite. Now does its own looping,
7561 rather than using lang_for_each_statement. Handle groups.
7562 (lang_process): Update call to open_input_bfds.
7563 (print_group): New static function.
7564 (lang_enter_group, lang_leave_group): New static functions.
7565 * ldfile.c (ldfile_open_file): If the file has already been
7566 opened, just return rather than taking an assertion failure.
7567 * ldver.c (help): Mention new options.
7568 * ld.texinfo: Document new options.
7569
7570 * ldlang.c (end_of_data_section_statement_list): Don't define.
7571 (lang_leave_output_section_statement): Don't set obsolete variable
7572 end_of_data_section_statement_list.
7573
7574 * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
7575 ALIGN.
7576
7577 * ldlang.c (lang_size_sections): Adjust current region address
7578 even for sections with an explicit address. From
7579 ralphc@pyramid.com (Ralph Campbell).
7580
7581 * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
7582 From jrs@world.std.com (Rick Sladkey).
7583
7584 * scripttempl/mipsbsd.sc: Let sections align to their natural
7585 boundaries.
7586
7587 Tue Jun 21 11:27:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7588
7589 * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
7590 &bfd_abs_section.
7591 (lang_abs_symbol_at_beginning_of): Likewise.
7592 (lang_abs_symbol_at_end_of): Likewise.
7593 (lang_size_sections): Use bfd_is_abs_section to check for the
7594 absolute section. Don't try to set the VMA or output_offset or
7595 size of the absolute section.
7596 * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
7597 undefined section.
7598
7599 Thu Jun 16 22:48:41 1994 Jeff Law (law@snake.cs.utah.edu)
7600
7601 * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
7602 when generating relocatable objects.
7603
7604 Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
7605
7606 * emultempl/linux.em: New file providing support for linking
7607 against Linux shared libraries.
7608 * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
7609 * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
7610
7611 Thu Jun 16 12:22:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7612
7613 * lexsup.c (parse_args): Add -shared to longopts, and handle it.
7614 * ldmain.c (main): Initialize link_info.shared to false. Give
7615 error if link_info.relocateable and link_info.shared are both set.
7616
7617 * configure.in: If EMUL_EXTRA* is defined in a config file, treat
7618 it as naming an emulation to be added to EMULATION_OFILES.
7619 * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
7620
7621 * Makefile.in: Rebuilt dependencies.
7622 (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
7623 eelf64_sparc.o. Remove $(OTHER_EMULATIONS).
7624 (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
7625 * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
7626 (ei386linux.c): Remove; now in Makefile.in.
7627 * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
7628 * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
7629 * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
7630 * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
7631 (eelf64_sparc.c): Remove; now in Makefile.in.
7632 * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
7633 (eelf32_sparc.c): Remove; now in Makefile.in.
7634
7635 * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
7636 no owner--it might be bfd_abs_section. From Eric Youngdale
7637 <ericy@cais.cais.com>.
7638
7639 * scripttempl/aout.sc: Let sections align to their natural
7640 boundaries.
7641
7642 Wed Jun 15 01:54:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7643
7644 * ldemul.h (ldemul_open_dynamic_archive): Declare.
7645 (ld_emulation_xfer_type): Add new field open_dynamic_archive.
7646 * ldemul.c: Include ldexp.h and ldlang.h.
7647 (ldemul_open_dynamic_archive): New function.
7648 * ldfile.h (ldfile_open_file_search): Declare.
7649 * ldfile.c: Include ldemul.h.
7650 (try_open_bfd): Rename from cache_bfd_openr. Return boolean
7651 argument, not bfd *. Change all callers.
7652 (ldfile_open_file_search): Rename from open_a. Return boolean
7653 argument, not bfd *. Clean up. Change all callers.
7654 (ldfile_open_file): If doing a dynamic link, call
7655 ldemul_open_dynamic_archive rather than assuming the extension of
7656 a dynamic object is ".so".
7657 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
7658 New function.
7659 (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
7660 field.
7661 * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
7662
7663 * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
7664 * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
7665 Accept -static as a synonym for -non_shared.
7666
7667 Let the user change the dynamic linker used by ELF code.
7668 * ld.h (args_type): Add new field interpreter.
7669 * lexsup.c (parse_args): Add dynamic-linker to longopts, and
7670 handle it.
7671 * ldmain.c (main): Initialize command_line.interpreter to NULL.
7672 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
7673 the ELF backend to return the .interp section. If
7674 command_line.interpreter is not NULL, set the contents of .interp
7675 to it.
7676 * ld.texinfo: Mention -dynamic-linker.
7677
7678 * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
7679 generic.em.
7680
7681 * lexsup.c (parse_args): Sort out the option macros and change the
7682 definitions to make it easier to add a new option.
7683
7684 * scripttempl/aout.sc: Define __etext and __edata to go along with
7685 _etext and _edata.
7686
7687 * ld.h (ld_config_type): Add new field traditional_format.
7688 * lexsup.c (parse_args): Add traditional-format to longopts, and
7689 handle it.
7690 * ldmain.c (main): Initialize config.traditional_format to false.
7691 * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
7692 flags of output_bfd according to config.traditional_format.
7693 * ldver.c (help): Mention -traditional-format.
7694 * ld.texinfo: Document -traditional-format.
7695
7696 Tue Jun 14 23:10:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7697
7698 * ldctor.c (ldctor_add_entry): Add entries to a set in the order
7699 they are encountered.
7700
7701 Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com)
7702
7703 * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
7704 (NONPAGED_TEXT_START_ADDR): Define as 0x20.
7705
7706 Mon Jun 13 15:46:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7707
7708 * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
7709 _FTEXT, _ETEXT and _FDATA. Dont define _END.
7710
7711 * ldfile.c (open_a): If this is not an archive, try to open it in
7712 the current directory before searching for it.
7713
7714 * lexsup.c (parse_args): Treat -i as a synonym for -r.
7715
7716 * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
7717 BLOCK works in a section address as documented.
7718
7719 * ldgram.y (YYDEBUG): Don't define.
7720
7721 Fri Jun 10 16:45:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7722
7723 * emultempl/gld960.em: Pass false for new argument to
7724 ldfile_add_library_path.
7725 * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
7726
7727 * emultempl/sunos.em: Only look for .so files if doing a dynamic
7728 link.
7729
7730 Thu Jun 9 08:35:17 1994 Ian Lance Taylor (ian@cygnus.com)
7731
7732 * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
7733
7734 Thu Jun 9 06:52:29 1994 Bill Cox (bill@rtl.cygnus.com)
7735
7736 * Makefile.in (check): Delete ld.new dependency so that a regression
7737 test doesn't trigger a rebuild of the linker.
7738
7739 Thu Jun 9 00:17:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7740
7741 * ldlang.c (map_input_to_output_sections): For lang_address, call
7742 init_os if it hasn't already been called.
7743
7744 Thu Jun 2 17:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7745
7746 Add support for SunOS shared libraries.
7747 * aout.sc: Don't define __DYNAMIC here. Add new sections used by
7748 shared library support code.
7749 * emultempl/sunos.em: New file.
7750 * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
7751 * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
7752 * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
7753 (esun3.c): Likewise.
7754
7755 * ldlang.c: Minor formatting cleanups.
7756 (lang_for_each_input_file): New function.
7757 * ldlang.h (lang_for_each_input_file): Declare.
7758
7759 * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
7760 field.
7761 (search_head): Declare.
7762 (ldfile_add_library_path): Add new cmdline argument in prototype.
7763 * ldfile.c (search_head): Make non-static.
7764 (search_dirs_type): Move to ldfile.h.
7765 (ldfile_add_library_path): Accept cmdline argument, and save it.
7766 * lexsup.c (parse_args): Pass true for new cmdline argument of
7767 ldfile_add_library_path.
7768 (set_default_dirlist): Likewise.
7769 * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
7770 argument of ldfile_add_library_path.
7771 * ldgram.y (ifile_p1): Likewise.
7772
7773 Wed Jun 1 14:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7774
7775 * ldlang.h (lang_input_statement_type): Remove fields subfiles,
7776 total_size, superfile and chain.
7777 * ldfile.c (open_a): Don't clear search_dirs_flag.
7778 (ldfile_open_file): Don't try to open superfile. Assert that file
7779 has not already been opened.
7780 * ldlang.c (new_afile): Don't initialize superfile.
7781 * ldmain.c (add_archive_element): Don't initialize subfiles or
7782 chain or superfile. Initialize search_dirs_flag to false.
7783
7784 Fri May 27 12:25:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7785
7786 * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
7787
7788 Changes from binutils-2.4 release:
7789
7790 * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
7791 variables, use whitespace, so scripts don't break.
7792
7793 * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
7794
7795 * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
7796
7797 * cdtest-bar.cc: Renamed from cdtest-func.cc.
7798 * Makefile.in: Noted change.
7799
7800 * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
7801 don't know where that's supposed to come from, or why it's
7802 necessary.
7803
7804 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
7805
7806 * configure.bat: update to latest makefile.in
7807 * emulpara/go32.sh: set to coff-go32 not aout
7808 * emultemp/generic.em: strength-reduce the structure of
7809 this shell script, since the only available shell for
7810 DOS can't handle complex syntax.
7811 * emultemp/stringify.sed: for "sed -f" instead of inline.
7812 * makefile.in: depend on stringify.sed as well as genscripts.sh
7813 * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
7814 * genscripts.sh: empty variables aren't always considered "set",
7815 so set them to "y" instead.
7816
7817 Fri May 27 01:08:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7818
7819 * ldlang.c (entry_symbol): Make static.
7820 (lang_add_entry): Add cmdline argument.
7821 * ldlang.h (lang_add_entry): Change prototype.
7822 * ldgram.y (statement_anywhere): Change lang_add_entry call.
7823 * lexsup.c (parse_args): Likewise.
7824
7825 Tue May 24 16:13:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7826
7827 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
7828 .reginfo an address.
7829 (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
7830 (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
7831 * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
7832
7833 Thu May 19 13:31:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7834
7835 Add support for ELF shared libraries.
7836 * ld.h (ld_config_type): Add field dynamic_link.
7837 * ldmain.c (main): Initialize config.dynamic_link to false. Warn
7838 on attempts to use -r with -relax, -call_shared or -s.
7839 * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
7840 OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
7841 accordingly. Add "dy" and "non_shared" options. Change "Qy" to
7842 OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
7843 OPTION_NON_SHARED by setting dynamic_link field accordingly.
7844 Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
7845 -r and -Ur.
7846 * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
7847 opening a file with a .so extension first.
7848 * emultempl/elf32.em: New file.
7849 * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
7850 (NONPAGED_TEXT_START_ADDR): Likewise.
7851 (TEMPLATE_NAME): Define as elf32.
7852 (DATA_PLT): Define.
7853 * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
7854 * scripttempl/elf.sc: Add placement for new dynamic sections.
7855 Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
7856 outside of any section. Don't use ALIGN(8); just let one section
7857 VMA follow another. Put .dynbss in .bss. Don't mention debugging
7858 sections; they'll be handled correctly anyhow.
7859 * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
7860
7861 Wed May 18 10:15:39 1994 Ian Lance Taylor (ian@cygnus.com)
7862
7863 * Makefile.in (install): Redirect output of ln to /dev/null.
7864
7865 Mon May 16 13:35:08 1994 Jeff Law (law@snake.cs.utah.edu)
7866
7867 * emultempl/hppaelf.em: Change all references of
7868 .hppa_linker_stubs to .PARISC.stubs.
7869 * scripttempl/hppaelf.sc: Likewise.
7870
7871 Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7872
7873 * ldlang.c (print_output_section_statement): Change ``no attached
7874 output section'' message slightly.
7875 (lang_do_assignments): Don't recurse down if there is no real
7876 section.
7877
7878 * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
7879 match corresponding change in emulation templates.
7880 * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
7881 * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
7882
7883 Wed May 11 18:16:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7884
7885 * ldver.c (ldversion): Updated version number.
7886
7887 * cdtest-foo.cc: Use explicit "#pragma implementation".
7888 * cdtest-bar.cc: Renamed from cdtest-func.cc.
7889 * Makefile.in: References to cdtest-func.o changed to
7890 cdtest-bar.o.
7891
7892 Wed May 11 16:24:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7893
7894 Don't create unnecessary output sections.
7895 * ldlang.c (out_bfd_get_section_by_name): Remove.
7896 (wild_section): Call bfd_get_section_by_name rather than
7897 our_bfd_get_section_by_name. Don't call wild_doit if there is no
7898 section.
7899 (lang_create_output_section_statements): Remove.
7900 (map_input_to_output_sections): For several cases, call init_os if
7901 it has not already been called.
7902 (lang_size_sections): If output section was not created, skip it.
7903 (lang_process): Don't call lan_create_output_section_statements.
7904 (lang_place_orphans): Skip files with just_syms_flags set to true.
7905 * ld.texinfo: Document change.
7906
7907 Tue May 10 14:31:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7908
7909 * ldlang.c (wild_doit): Don't bother initializing the vma and
7910 section size. Don't special case SEC_SHARED_LIBRARY.
7911 (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
7912 specially.
7913
7914 Fri May 6 12:24:27 1994 Steve Chamberlain (sac@cygnus.com)
7915
7916 * config/go32.mh : New file for Xgo32X.
7917
7918 Fri May 6 15:15:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7919
7920 * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
7921 before calling einfo, since we are reporting an fopen failure.
7922 From jrs@world.std.com (Rick Sladkey).
7923
7924 * configure.in: Use "e" rather than "em_" as prefix for
7925 emulations.
7926
7927 Fri May 6 01:08:14 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
7928
7929 * emultempl/generic.em: Use "e" rather than "em_" as prefix for
7930 filename.
7931 * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
7932 emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
7933 Ditto.
7934 * Makefile.in: Changed all generated file names.
7935 (ldemul-list.h): Depend on Makefile, not config.status. Changed
7936 sed patterns to handle new filenames.
7937
7938 * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
7939 * configure.in: Adjusted.
7940
7941 Thu May 5 15:07:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
7942
7943 * Makefile.in (install-info): Don't use "$<*", it doesn't always
7944 work. Instead, check build dir and $srcdir explicitly, and use
7945 `echo' to get all the filenames.
7946
7947 * configure.in (h8300h-*-hms): Changed ld_target name to
7948 cf-h8300h.
7949 * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
7950 unique in 8.3.
7951
7952 * config/i960coff.mt: New file.
7953 * emulparams/gld960coff.sh: New file.
7954 * emultempl/gld960c.em: New file.
7955 * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
7956 i960coff configuration.
7957 * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
7958
7959 * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
7960 code isn't included in FSF releases, and it can still be
7961 explicitly selected.
7962 (distclean): Remove site.bak and tmpdir.
7963 (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
7964 (mostlyclean): Delete them explicitly here. Also remove tmpdir.
7965
7966 Patches from Ralph Campbell:
7967 * config/mipsbsd.mh: New file.
7968 * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
7969 * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
7970 * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
7971 instead of `aout'.
7972
7973 * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
7974
7975 Wed May 4 11:59:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7976
7977 * config/m68k.mt (EMUL): Set to m68kaout.
7978 * emulparams/m68kaout.sh: New file.
7979 * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
7980 (em_m68kaout.c): New target.
7981
7982 * ldlang.c (lang_size_sections): If dot moves because of an
7983 assignment, don't try to insert a pad into the absolute output
7984 section, just change the address of the default memory region
7985 instead.
7986
7987 * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
7988 cdtest-ur.out, and cdtest-ur.tmp.
7989
7990 Wed Apr 27 16:03:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7991
7992 * scripttempl/sa29200.sc: Align all sections to four byte
7993 boundaries.
7994
7995 Wed Apr 27 10:48:03 1994 Steve Chamberlain (sac@cygnus.com)
7996
7997 * Makefile.in, configure.in: Support for go32 coff.
7998 * config/i386-go32.mt: New file
7999 * emulparams/i386go32.sh: New file
8000 * scripttempl/i386go32.sc: New file
8001
8002 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
8003
8004 * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
8005 Lynx-specific script templates.
8006 * configure.in (sparclite*-*-coff): Use coff-sparc.
8007 * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
8008 * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
8009 (ENTRY): Set to __main.
8010 * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
8011 * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
8012 * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
8013
8014 Tue Apr 26 12:41:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8015
8016 * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
8017 byte boundary, in case the global constructors do not take up an
8018 even 16 bytes.
8019
8020 * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
8021 exist, get crtbegin based on gcc -print-libgcc-file-name.
8022 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
8023
8024 Mon Apr 25 15:27:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8025
8026 * ldlang.c (lang_size_sections): When no address is given for a
8027 section, align it according to its requirements.
8028
8029 Thu Apr 21 17:24:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8030
8031 * Makefile.in (clean, distclean): Remove configdoc.texi.
8032
8033 Tue Apr 19 12:12:15 1994 Bill Cox (bill@rtl.cygnus.com)
8034
8035 * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
8036
8037 Fri Apr 15 14:35:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8038
8039 * ldlang.c (lang_size_sections): When relaxing, adjust the
8040 position of a padding statement, and adjust dot accordingly.
8041
8042 Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com)
8043
8044 * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
8045
8046 Mon Apr 11 12:32:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8047
8048 * scripttempl/i386coff.sc: If relocating, don't put .init and
8049 .fini sections into .text; keep them separate.
8050 * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
8051 exist, get crtbegin based on gcc -print-libgcc-file-name.
8052 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
8053
8054 Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com)
8055
8056 * Makefile.in (check): Set TCL_LIBRARY for runtest.
8057
8058 Wed Apr 6 00:09:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
8059
8060 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
8061 manufacturer.
8062
8063 * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
8064 if building a final executable.
8065
8066 Tue Apr 5 12:17:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8067
8068 * ldmain.c (main): Check the return value of bfd_close.
8069
8070 Thu Mar 31 18:07:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8071
8072 * scripttempl/alpha.sc: Clean up section alignment to ensure that
8073 sections never overlap when using -r.
8074
8075 Wed Mar 30 15:51:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8076
8077 * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
8078 changes: get_symtab_upper_bound renamed and returns long,
8079 bfd_canonicalize_symtab returns long, check for error indications.
8080
8081 Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8082
8083 * ldlang.c (print_input_section): For section size, use
8084 _cooked_size if it is non-zero, size otherwise.
8085 (size_input_section): Likewise.
8086 (lang_do_assignments): Likewise (case lang_input_section_enum).
8087
8088 Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8089
8090 * ldlang.c (new_afile): Add new argument add_to_list. Don't set
8091 real to true for lang_input_file_is_marker_enum. Clear the_bfd.
8092 (lang_add_input_file): Pass true to new_afile for add_to_list.
8093 (lookup_name): Remove force_load argument. Changed all callers.
8094 Pass false to new_afile for add_to_list. Split loading of symbols
8095 out into separate function.
8096 (load_symbols): New function split out of lookup_name. Don't load
8097 the symbols if they are already loaded.
8098 (open_input_bfds): For lang_input_statement_enum call load_symbols
8099 rather than lookup_name.
8100 (lang_process): Pass abs_output_section rather than NULL to
8101 lang_size_sections.
8102 (lang_startup): Set real field of first_file to true.
8103
8104 Wed Mar 23 14:15:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8105
8106 * ldlang.c (had_relax): Removed.
8107 (relax_again): New static variable.
8108 (lang_size_sections): Change call to bfd_relax_section to
8109 correspond to BFD changes. Set relax_again appropriately.
8110 (lang_process): Remove #if 0 code. When relaxing, keep calling
8111 lang_do_assignments and lang_size_sections until relax_again
8112 becomes false.
8113
8114 * emultemp/gld960.em: Include libiberty.h
8115 (gld960_before_parse): Pass NULL as final argument to concat.
8116
8117 Tue Mar 22 13:08:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8118
8119 * scripttempl/aout.sc: Force _end and __end to be aligned to a
8120 four byte boundary.
8121
8122 * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
8123 building a bfd_data_link_order, rather than by setting the section
8124 contents immediately.
8125
8126 Mon Mar 21 18:28:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8127
8128 Changes to make -Ur work again.
8129 * ldmain.c (add_to_set): Now takes reloc argument rather than
8130 bitsize. Check config.build_constructors here. If an new hash
8131 table entry is created, mark it as undefined.
8132 (constructor_callback): No longer takes bitsize argument. Pass
8133 BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
8134 BFD backend supports it.
8135 (reloc_overflow): Handle a NULL abfd argument.
8136 (reloc_dangerous, unattached_reloc): Likewise.
8137 * ldctor.c: Include ldmain.h.
8138 (struct set_info): Change bitsize field to reloc.
8139 (ldctor_add_set_entry): Now takes reloc argument rather than
8140 bitsize. Don't bother to check config.build_constructors here.
8141 (ldctor_build_sets): Get the size from the reloc howto. If
8142 generating relocateable output, call lang_add_reloc rather than
8143 lang_add_data.
8144 * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
8145 instead of bitsize.
8146 * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
8147 (lang_reloc_statement_type): New structure.
8148 (lang_statement_union_type): Add reloc_statement field.
8149 (lang_add_reloc): Declare new function.
8150 * ldlang.c (lang_for_each_statement_worker): Handle
8151 lang_reloc_statement_enum.
8152 (map_input_to_output_sections, print_statement): Likewise.
8153 (lang_size_sections, lang_do_assignments): Likewise.
8154 (print_reloc_statement): New function.
8155 (lang_add_reloc): New function.
8156 * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
8157
8158 * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
8159 (cdtest-ur, cdtest-ur.out): New targets.
8160 (check-cdtest): Now also check that -Ur works correctly.
8161
8162 * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
8163
8164 Thu Mar 17 12:45:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8165
8166 * ldlang.c (lang_process): Move lang_common call before
8167 map_input_to_output_sections, to ensure that any alignment
8168 constraints set by common symbols are copied over to the output
8169 sections.
8170
8171 Fri Mar 11 22:17:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8172
8173 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
8174 (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
8175 * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
8176 * emultempl/ppc.em: Remove ugly stub code; turns out not to be
8177 needed for ELF.
8178
8179 Tue Mar 8 04:22:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
8180
8181 * config/i386bsd.mh: New file.
8182
8183 Mon Mar 7 15:23:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8184
8185 * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
8186 defined.
8187 * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
8188 (DATA_START_SYMBOLS): Define _fdata.
8189
8190 Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com)
8191
8192 * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
8193
8194 Sun Feb 27 16:29:38 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
8195
8196 * emultempl/hppaelf.em (hppaelf_finish): Update comments. This
8197 works again. Attach some output symbols to the stub file bfd.
8198
8199 * emultempl/hppaelf.em: Include elf32-hppa.h.
8200 (file_chain): Add decl.
8201 (hppa_look_for_stubs_in_section): Delete decl.
8202 (hppaelf_finish): Reenable code. Do not pass symbols
8203 down to hppa_look_for_stubs_in_section.
8204
8205 Sat Feb 26 10:58:25 1994 Ian Lance Taylor (ian@cygnus.com)
8206
8207 * ldmain.c (write_map): Don't define. Removed all references.
8208 Just use map_file or map_filename instead.
8209 (add_archive_element): Use minfo to write map information, not
8210 info_msg.
8211 (constructor_callback): Use fprintf to write map information, not
8212 info_msg.
8213 * ldmain.h (write_map): Don't declare.
8214 * ldgram.y (mri_script_command): Removed reference to write_map.
8215 * ldlang.c (lang_one_common): Likewise.
8216 * lexsup.c (parse_args): Likewise.
8217
8218 Fri Feb 25 19:12:03 1994 Ian Lance Taylor (ian@cygnus.com)
8219
8220 * scripttempl/elf.sc: Force all sections to be aligned.
8221
8222 * ldgram.y (section): Reverse the order of memspec_opt and
8223 fill_opt to avoid an ambiguity when both are used.
8224 * ld.texinfo: Changed accordingly.
8225
8226 * ldgram.y: Move include of ldlex.h back with other includes.
8227 * ldlex.h (input_type): Don't initialize enum constants to
8228 particular values.
8229 * ldlex.l: Use a switch to return the right token based on
8230 input_type, rather than knowing that input_type has a value based
8231 on a token type.
8232
8233 * ldgram.y (dirlist_ptr): Removed; not used.
8234 * lexsup.c: Include ldver.h.
8235 * Makefile.in: Rebuilt dependencies.
8236
8237 Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com)
8238
8239 * ldlang.c (lookup_name): don't call bfd_set_gp_size.
8240 (ldlang_add_file): call it here instead.
8241
8242 Fri Feb 25 18:13:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
8243
8244 * ldgram.y: Include ldlex.h after %token decls, for byacc.
8245
8246 Fri Feb 25 10:47:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
8247
8248 * emultempl/hppaelf.em: First attempt to clean this file up.
8249 Add comments in several functions as to their purpose and
8250 how they function (or my current best guess). Clean up horrible
8251 spacing and indention that never should have been accepted in the
8252 first place. Add FIXMEs for issues which need to be resolved.
8253 Disable linker-stub generation until it gets fixed. This allows
8254 the linker to at least work on simple code for testing purposes.
8255
8256 * ldlang.c (lang_size_sections): No longer static (PA ELF calls
8257 it via hppaelf_finish). Prototype moved into ldlang.h.
8258 (lang_process): Move problematic extra call to lang_size_sections
8259 into the PA ELF specific code.
8260 * emultempl/hppaelf.em (hppaelf_finish): Extra call to
8261 lang_size_sections moved here.
8262
8263 Thu Feb 24 16:47:33 1994 Ian Lance Taylor (ian@cygnus.com)
8264
8265 * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
8266 * config/ppc-elf32.mt: New file.
8267 * emulparams/elf32ppc.sh: New file.
8268 * emultempl/ppc.em: New file.
8269 * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
8270 (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
8271 (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
8272
8273 Thu Feb 24 12:27:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
8274
8275 * lexsup.c (parse_args): Use symbolic numbers for long options.
8276 Fix misunderstanding in -Y and -call_shared et al.
8277
8278 Use getopt instead of lex and yacc to parse the command line.
8279
8280 * ld.texinfo (Options): Document changes to option syntax.
8281 * Makefile.in: Update dependencies.
8282 * ldver.c (help): Tweak dashes in usage message.
8283 * ldgram.y (%union): Remove unused members.
8284 Remove %tokens for command line options; add ones for input types.
8285 (command_line): Rules removed.
8286 (file): Instead of command line, recognize an
8287 input type indicator, then use the nonterminal for that type.
8288 (defsym_expr): New nonterminal from code formerly in command_line.
8289 * ldlex.h: Declare parser input type enum and variable.
8290 Don't declare parse_line.
8291 * ldlex.l: Remove unused variables. Make some used ones static
8292 and comment them.
8293 (COMMAND): Start state and its rules removed.
8294 At start of yylex, return input state token if at start of input.
8295 (lex_redirect): Don't need to set yyout.
8296 (ldlex_command): Function removed.
8297 * ldmain.c (main): Instead of calling parse_line, set up the
8298 redirections and call yyparse directly.
8299 * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
8300 "command line".
8301 * lexsup.c: Remove #if 0'd code.
8302 (parse_line): Function removed.
8303 (parse_args): Rewrite to use getopt_long_only.
8304 (set_default_dirlist): New function from code formerly in
8305 ldgram.y:command_line.
8306 (set_section_start): New function.
8307 * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
8308 emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
8309 compiled-in link scripts in "{" and "}", as the grammar no longer
8310 wants them to be.
8311
8312 Thu Feb 24 08:43:26 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
8313
8314 * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
8315 require that it be in $(srcdir).
8316
8317 Tue Feb 22 09:21:18 1994 Ian Lance Taylor (ian@cygnus.com)
8318
8319 * ldlang.c (lang_size_sections): Only align section to alignment
8320 required by linker script, not to maximum alignment of input
8321 sections.
8322
8323 * ldlang.h (largest_section): Don't declare.
8324 * ldlang.c (largest_section): Don't define.
8325 (size_input_section): Don't set largest_section; not used.
8326
8327 Mon Feb 21 15:15:29 1994 Ian Lance Taylor (ian@cygnus.com)
8328
8329 * ldlang.c (new_afile): Pass NULL as last argument to concat.
8330
8331 Thu Feb 17 15:51:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8332
8333 * ldlang.c, ldmain.c: Include libiberty.h.
8334
8335 * ldmisc.h (concat): Don't declare.
8336 * ldmisc.c (concat): Don't define; just use the one in libiberty.
8337
8338 * ld.h (as_output_section_statement): Removed; not used.
8339
8340 Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8341
8342 * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
8343 bfd_set_error and new error names.
8344
8345 Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
8346
8347 * ldwrite.c (build_link_order): If the cooked size of the section
8348 has been set, use it, for determining link_order size.
8349 (ldwrite): In the error message displayed if bfd_final_link fails,
8350 indicate that it was in fact the final link step that failed.
8351
8352 * ldlang.c (lang_size_sections): Clear bfd_error before calling
8353 bfd_relax_section, in case it returns false but doesn't flag an
8354 error. If an error is returned, indicate which one it is in the
8355 error message.
8356
8357 * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
8358 it'll get picked up from $(srcdir) if appropriate.
8359
8360 Tue Feb 15 16:32:04 1994 David J. Mackenzie (djm@rtl.cygnus.com)
8361
8362 * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
8363 * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
8364
8365 Fri Feb 11 17:02:49 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8366
8367 * ldlex.l (comment): Increment line number when newline is read.
8368
8369 Fri Feb 11 17:36:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8370
8371 * ldlang.c (lookup_name): Take new argument, force_load. If true,
8372 reload the file even if it is already loaded.
8373 (wild): Call lookup_name with force_load argument of 0.
8374 (open_input_bfds): Call lookup_name with force_load argument of 1.
8375 (print_symbol): Remove declaration of non-existent function.
8376 (print_one_symbol): Return true rather than falling off end.
8377
8378 Thu Feb 10 11:52:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8379
8380 * ldmain.c (main): Use %ld when printing long values.
8381
8382 * scripttempl/elf.sc: Move _edata after the .sdata section.
8383 Permit OTHER_BSS_SYMBOLS to be defined.
8384 * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
8385
8386 Mon Feb 7 16:31:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
8387
8388 * Rename all "hppaosf" files to "hppaelf".
8389 * Change all "osf" references to "elf" in hppaelf files.
8390 * Makefile.in: Likewise.
8391 * configure.in: Likewise.
8392
8393 Sun Feb 6 20:31:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8394
8395 * ldmain.c (main): Call xatexit, not atexit.
8396 Call xmalloc_set_program_name.
8397
8398 * ldlang.c (lang_size_sections): Check if bfd_relax_section set
8399 bfd_errno.
8400
8401 Sat Feb 5 03:54:34 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8402
8403 * emultempl/lnk960.em (append), emultempl/hppaosf.em
8404 (hppaosf_finish): Call xmalloc, not ldmalloc.
8405 * ldmain.c (preserve_output): Function removed.
8406 (main): Do it here instead.
8407
8408 Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
8409
8410 * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
8411 GNU C specific macros.
8412
8413 * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
8414 call to LANG_FOR_EACH_INPUT_SECTION.
8415
8416 Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8417
8418 * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
8419 deleted; will use libiberty versions instead.
8420 * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
8421 mri.c Makefile.in: Change callers.
8422
8423 * ldmisc.c (vfinfo): Remove cleanup code.
8424 * ldmain.c (remove_output): Put it here (new function).
8425 (preserve_output): New function.
8426 (main): Register remove_output and preserve_output with atexit.
8427 * ldmain.c ldgram.y: Call xexit instead of exit.
8428 * ldmisc.h: Declare xexit.
8429
8430 Fri Feb 4 15:19:01 1994 Steve Chamberlain (sac@cygnus.com)
8431
8432 * Makefile.in: Lots of new H8/500 memory models.
8433
8434 Sun Jan 30 14:33:40 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
8435
8436 * ldlex.l: Removed duplicate rules.
8437 (yywrap): Provide default definition, needed with some versions of
8438 flex.
8439
8440 Fri Jan 28 09:12:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8441
8442 * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
8443 the archive filename too.
8444
8445 * ldlex.l: Add rule to catch invalid input characters instead of
8446 printing them. Include "ldmain.h" for program_name decl.
8447 (lex_warn_invalid): New function.
8448 * Makefile.in: Add dependency.
8449
8450 Fri Jan 28 12:58:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
8451
8452 * Makefile.in (check): Don't bother running any tests of
8453 cross-linker until the test suite no longer assumes native mode.
8454
8455 Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com)
8456
8457 * ldlang.c (print_one_symbol, print_input_section): Print
8458 global symbols in symbol table again.
8459
8460 Thu Jan 27 12:35:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8461
8462 * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
8463 exit successfully instead of complaining if no input files are
8464 given.
8465
8466 Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
8467
8468 * Makefile.in: Format variable definitions consistently.
8469 (LD_PROG): Remove unnecessary variables from link command,
8470 change variable LOADLIBES to EXTRALIBS.
8471
8472 * ldmain.c (main): Compute and display total execution time.
8473 * ld.texinfo (-stats): Document the option.
8474
8475 Mon Jan 24 12:56:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8476
8477 * ldmain.c (reloc_overflow): Added name, reloc_name and addend
8478 arguments.
8479
8480 * ldlang.c (lookup_name): Set BFD GP size to -G argument value
8481 after opening BFD.
8482
8483 * ldlang.c (relaxing): Removed global variable.
8484 (lang_size_sections): If the canonical symbols have not already
8485 been read in, read them in before relaxing.
8486 * ldlang.h (relaxing): Removed declaration.
8487
8488 Fri Jan 21 00:44:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8489
8490 * ldlang.c (new_afile): Initialize loaded field to false.
8491 (lookup_name): If file was already loaded, don't call the
8492 add_symbols entry point again.
8493
8494 Wed Jan 19 13:57:00 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8495
8496 * ld.texinfo: Clarify what -T option does.
8497
8498 Tue Jan 18 16:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
8499
8500 * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
8501 for a.out.
8502
8503 Tue Jan 11 13:22:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8504
8505 * ldmain.c (add_archive_element): If trace_files or
8506 trace_file_tries, print file name.
8507 * ldlang.c (lookup_name): Likewise.
8508 (ldlang_add_file): Don't put files on input_bfds list in reverse
8509 order.
8510
8511 * scripttempl/elf.sc: Correct typo.
8512
8513 Mon Jan 10 19:49:05 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8514
8515 * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
8516 their arguments optional, for compatibility with the old GNU ld.
8517
8518 Fri Jan 7 20:00:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8519
8520 * scripttempl/elf.c: Define __bss_start before the .sbss section.
8521
8522 Thu Jan 6 00:13:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8523
8524 * ldmain.c (add_to_set): Add bitsize argument.
8525 (constructor_callback): New function.
8526 (link_callbacks): Add constructor_callback.
8527 * ldctor.c (struct set_info): Add bitsize field.
8528 (ldctor_add_set_entry): Add bitsize argument.
8529 (ldctor_build_sets): Base the size of the elements of the set on
8530 the bitsize, rather than always using LONG.
8531 * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
8532
8533 * ld.h (QUAD_SIZE): Define.
8534 * ldgram.y (QUAD): New token.
8535 (length): Handle it.
8536 * ldlex.l: Return QUAD.
8537 * lexsup.c (keywords): Add QUAD.
8538 * ldwrite.c (build_link_order): Handle QUAD.
8539 * ldlang.c (print_data_statement): Handle QUAD.
8540 (lang_size_sections): Likewise.
8541 (lang_do_assignments): Likewise.
8542 * ldexp.c (exp_print_token): Add QUAD to table.
8543 * ld.texinfo: Describe QUAD.
8544
8545 * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
8546 since the Alpha doesn't use them.
8547
8548 Wed Jan 5 17:42:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8549
8550 * ldemul.h (ld_emulation_xfer_struct): Comment the members.
8551
8552 Sat Jan 1 13:39:31 1994 Rob Savoye (rob@darkstar.cygnus.com)
8553
8554 * Makefile.in, configure.in: Add support for VSTa micro-kernel.
8555 * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
8556
8557 Sat Jan 1 10:53:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
8558
8559 * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
8560 needed for i386mach. (Should be a no-op on other systems.)
8561
8562 * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
8563 (PAGE_SIZE): Don't define; not used.
8564
8565 Fri Dec 31 16:12:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8566
8567 * ldgram.y (yyerror): Make argument const char *, and actually
8568 print it out rather than assuming it is a syntax error.
8569 * ldmisc.h: Change declaration of yyerror.
8570 * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
8571
8572 Fri Dec 31 11:37:28 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8573
8574 * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
8575 exec header offset, since the exec header isn't loaded.
8576 (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
8577
8578 Thu Dec 30 13:01:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8579
8580 A major rewrite to move the bulk of the linker into BFD so that
8581 more efficient backend code can be written for specific object
8582 files.
8583 * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
8584 ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
8585 * ldctor.c, ldctor.h: Complete rewrite.
8586 * ldwrite.c, ldwrite.h: Complete rewrite.
8587 * ld.h (strip_symbols_type, strip_symbols): Removed. Use
8588 link_info.strip instead. Changed all uses.
8589 (discard_locals_type, discard_locals): Removed. Use
8590 link_info.discard instead. Changed all uses.
8591 (ld_config_type): Removed relocateable_output field; use
8592 link_info.relocateable instead; changed all uses. Added stats
8593 field.
8594 (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
8595 set_loader_symbol): Removed.
8596 * ldexp.h (node_class): Added etree_rel.
8597 (etree_type): Added rel field.
8598 * ldexp.c (exp_print_token): Bracketed table initialization.
8599 (exp_relop): New function.
8600 (fold_name): Use linker hash table rather than ldsym functions.
8601 (exp_fold_tree): Likewise. Also, handle etree_rel case.
8602 (exp_print_tree): Handle etree_rel.
8603 * ldgram.y (strip_symbols, discard_locals): Removed.
8604 (OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them.
8605 (REL): New token. Does not appear in grammar, but needed for
8606 expression code.
8607 (file): Don't call lang_final; it's called by main anyhow.
8608 * ldlex.l: Accept -stats and -no-keep-memory options.
8609 * ldlang.h (fill_type): Make unsigned int, not unsigned short.
8610 * ldlang.c: Consistently use fill_type for fill argument.
8611 (lang_init_script_file, script_file): Removed.
8612 (create_object_symbols): Removed. Use
8613 link_info.create_object_symbols_section instead. Changed all
8614 uses.
8615 (lang_add_keepsyms_file): Removed.
8616 (lookup_name): Call bfd_link_add_symbols instead of
8617 ldmain_open_file_read_symbol.
8618 (wild): Don't iterate over script_file.
8619 (open_output): Create link hash table.
8620 (lang_place_undefineds): Rewrote.
8621 (lang_size_sections): Handle relaxing (doesn't work yet).
8622 (lang_relocate_globals): Removed.
8623 (lang_finish): Use link hash table rather than ldsym functions.
8624 (lang_common): Rewrote.
8625 (lang_one_common): New function.
8626 (ldlang_add_file): Add file to link_info.input_bfds list. Set
8627 usrdata.
8628 (create_symbol): Removed.
8629 (lang_process): Don't call lang_init_script_file. Call
8630 ldctor_build_sets rather than find_constructors. Don't call
8631 lang_relocate_globals.
8632 (lang_abs_symbol_at_beginning_of): Rewrote.
8633 (lang_abs_symbol_at_end_of): Rewrote.
8634 * ldmain.c (had_y): Removed.
8635 (lprefix, lprefix_len): Removed; use link_info fields instead.
8636 Changed all uses.
8637 (multiple_def_count, commons_pending, undefined_global_sym_count,
8638 total_symbols_seen, total_files_seen): Removed.
8639 (link_callbacks, link_info): New variables.
8640 (main): Initialize link_info. Don't call init_bfd_error_vector or
8641 ldsym_init. Don't set now unused variables. Handle -stats.
8642 (get_emulation): Removed obsolete and nonfunctional GNU960 code.
8643 (add_ysym): Rewrote.
8644 (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
8645 search_library, gnu960_check_format, decode_library_subfile,
8646 linear_library, symdef_library, clear_syms, subfile_wanted_p):
8647 Removed.
8648 (add_keepsyms_file, add_archive_element, multiple_definition,
8649 multiple_common, add_to_set, warning_callback, undefined_symbol,
8650 reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
8651 New functions.
8652 * ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't
8653 require symbols for %C; look them up instead.
8654 * emultempl/hppaosf.em: Pass link_info to
8655 hppa_look_for_stubs_in_section.
8656 * Makefile.in: Rebuilt dependencies.
8657 (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
8658 relax.c.
8659 (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
8660 relax.h.
8661 (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
8662 ldlang.h and ldctor.h.
8663
8664 * Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove
8665 declarations of free and malloc from flex output. Change malloc
8666 to ldmalloc in flex output.
8667
8668 Thu Dec 16 21:19:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8669
8670 * ldmain.c (lprefix): Change default from a char to a string
8671 with only one character.
8672 (lprefix_len): Set default to one.
8673
8674 * ldmain.h (lprefix_len): Declare.
8675
8676 * ldsym.c (write_file_locals): Use strncmp rather than a character
8677 comparison for lprefix.
8678
8679 * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
8680 correctly.
8681
8682 * emultmpl/hppaosf.em: Include ldexp.h.
8683 (before_parse): Set lprefix and lprefix_len correctly.
8684
8685 Tue Dec 14 17:19:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8686
8687 * ldlex.h: Don't declare yywrap if it is a macro.
8688 * ldlex.l: Include sysdep.h.
8689 * ldlang.c (lang_for_each_statement_worker,
8690 lang_for_each_statement): Forgot to use PARAMS.
8691
8692 Mon Dec 13 14:30:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8693
8694 * Makefile.in: Added .PHONY targets where appropriate. Added some
8695 comments. Also:
8696 (gcclibdir, version): Removed unused variables.
8697 (DEP): New variable, set to mkdep.
8698 (ALL_CFLAGS): New variable. Used in .c.o target.
8699 (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
8700 variables.
8701 (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
8702 GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
8703 mostly obsolete variables. Adjusted remaining uses.
8704 (DEF_EMUL): Removed variable.
8705 (ldmain.o): Handle undefined EMUL error correctly.
8706 (ldemul-list.h): Depend on config.status rather than Makefile.
8707 Create via temporary file.
8708 (ver960.c, roll, make): Removed obsolete targets.
8709 (.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild
8710 dependencies.
8711 * dep-in.sed: New file, used when rebuilding dependencies.
8712
8713 Sat Dec 11 14:43:44 1993 Ian Lance Taylor (ian@deneb.cygnus.com)
8714
8715 Made many changes to eliminate gcc warnings. Made various
8716 cosmetic changes, declared various things in header files, removed
8717 various extern declarations from .c files. No substantive
8718 changes.
8719
8720 * ldlang.c (lang_process): Ifdef out final call to
8721 lang_size_sections again (reverting change of Nove 2), since it
8722 breaks the Sun4 linker.
8723
8724 Thu Dec 2 16:31:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8725
8726 * configure.in (alpha-*-netware*): New target; use alpha.
8727
8728 Wed Dec 1 14:04:20 1993 Ken Raeburn (raeburn@cygnus.com)
8729
8730 * configure.in: Group targets by CPU. Merge some m68k target
8731 entries with different CPU specs that use the same ld_target
8732 values.
8733
8734 * configure.in: Add sparc*-*-coff.
8735 * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
8736 * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
8737 (em_coff_sparc.c): Add dependencies and build rules.
8738
8739 * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
8740
8741 Wed Dec 1 12:19:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8742
8743 * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
8744 New tokens.
8745 (command_line_option): Accept and ignore them (for now).
8746 * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
8747 where n is a number.
8748
8749 Mon Nov 22 14:14:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8750
8751 * ldmain.c (subfile_wanted_p): If merging a common symbol which is
8752 not in bfd_com_section, create the section in the BFD so that it
8753 can be placed in the right output section.
8754
8755 Fri Nov 19 14:12:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8756
8757 * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
8758 * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
8759 (OTHER_READONLY_SECTIONS): Define for .reginfo.
8760 (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
8761 * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
8762 Move OTHER_READONLY_SECTIONS after all the other readonly
8763 sections. Don't use DATA_ADDR twice.
8764
8765 * ldmain.c (enter_file_symbols): Removed duplicate tests of p. If
8766 p is in a common section, make sure the BFD has a section of that
8767 name.
8768
8769 * ldlang.c (lang_common): Add newline to error message.
8770
8771 Thu Nov 11 15:54:41 1993 Stan Shebs (shebs@rtl.cygnus.com)
8772
8773 * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
8774 Lynx-specific script instead of m68kcoff.
8775 (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
8776 (ENTRY): Define as __main.
8777 (TEXT_START_ADDR): Define as 0.
8778 (PAGE_SIZE): Define as 0x1000.
8779 * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
8780 * scripttempl/m68klynx.sc: New file.
8781
8782 Mon Nov 8 12:00:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8783
8784 * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
8785 arguments rather than treating them as emulation names.
8786
8787 Fri Nov 5 09:02:52 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
8788
8789 * configure.in: Support x86 unixware and netware plus generic netware.
8790
8791 Fri Nov 5 21:47:55 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8792
8793 * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
8794 Correct values (?).
8795
8796 Wed Nov 3 15:10:15 1993 Ken Raeburn (raeburn@rover.cygnus.com)
8797
8798 * Makefile.in (distclean): Don't delete dvi or info files.
8799 (ld.info): Update dependency list.
8800 (ld.dvi): Ditto. Extend TEXINPUTS to get bfdsumm.texi.
8801
8802 Wed Nov 3 12:07:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8803
8804 * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
8805 Set output_filename instead of creating a new node.
8806 (open_output): Don't set output_filename.
8807 (lang_final): Create the new node here.
8808 * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
8809
8810 Tue Nov 2 15:45:51 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
8811
8812 From Pete Hoogenboom (hoogen@cs.utah.edu):
8813
8814 * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
8815 edata, _edata, end): Add definitions of these symbols.
8816 (__end): Remove definition of this symbol.
8817 (__data_start): Move definition of this symbol.
8818
8819 * emultempl/hppaosf.em: Various fixes and support for linker stub
8820 generation.
8821 (hppaosf_finish, hppaosf_search_for_padding_statements,
8822 hppaosf_create_output_section_statements): New functions in
8823 support of linker stub generation.
8824 (ld_hppaosf_emulation): Redefine to include new
8825 emulation-specific routines.
8826
8827 * ldlang.c (lang_process): Re-enable last call lang_size_sections.
8828 Pass abs_output_section rather than NULL to avoid invalidating
8829 absolute symbols.
8830
8831 Thu Oct 28 21:16:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
8832
8833 * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
8834 (em_i386mach.c): New rule.
8835 * configure.in (i[34]86-*-mach*): New case.
8836 * config/i386-mach.mt: New file.
8837 * emulparams/i386mach.sh: New file.
8838
8839 Fri Oct 29 14:55:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8840
8841 * ld.h (flag_is_*): Removed macros.
8842 * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
8843 Consistently check the BFD symbol flags directly, rather than
8844 using file_is_* macros.
8845
8846 Thu Oct 28 19:08:42 1993 Stan Shebs (shebs@rtl.cygnus.com)
8847
8848 * configure.in (sparc*-*-lynxos*): New target.
8849 * Makefile.in: Add rule for em_sparclynx.c.
8850 (ALL_EMULATIONS): Add Lynx emulations.
8851 * config/sparc-lynx.mt: New file.
8852 * emulparams/sparclynx.sh: New file.
8853 * scripttempl/sparccoff.sc: New file.
8854
8855 Thu Oct 28 13:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8856
8857 * Makefile.in: Add dependency for $(EMULATION_OFILES).
8858
8859 Mon Oct 25 16:09:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8860
8861 * relax.c (write_relax): Check return value of bfd_seclet_link.
8862
8863 Mon Oct 25 09:31:21 1993 Ken Raeburn (raeburn@cygnus.com)
8864
8865 * ldlang.c (delete_output_file_on_failure): New variable.
8866 (open_output): Set it after bfd open succeeds.
8867 * ldmisc.c (vfinfo): Test it.
8868
8869 Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
8870
8871 * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
8872 symbols.
8873
8874 * ldemul.c: Support was added to allow emulation-specific
8875 processing to occur. This support was added primarily for linker
8876 stub generation in the elf32-hppa gld.
8877 (ldemul_finish, ldemul_create_output_section_statements): New
8878 functions.
8879 * ldemul.h: Support was added to allow emulation-specific
8880 processing to occur. (As described above.) Added finish and
8881 create_output_section_statements fields to
8882 ld_emulation_xfer_struct structure.
8883 * ldlang.c: Add calls to emulation-specific routines.
8884 (lang_process): Add call to
8885 ldemul_create_output_section_statements function.
8886 (lang_process): Add call to a emulation-specific routine (and
8887 some processing after the call).
8888
8889 Fri Oct 22 20:54:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
8890
8891 * configure.in: mips*- instead of mips-, mips*el changes
8892
8893 Tue Oct 19 15:46:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8894
8895 * configure.in (alpha-*-osf*): New target; use alpha.mt.
8896 * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
8897 (em_alpha.c): New target; use alpha.sh and alpha.sc.
8898 * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
8899 * config/alpha.mt: New file.
8900 * emulparams/alpha.sh: New file.
8901 * scripttempl/alpha.sc: New file.
8902
8903 Fri Oct 15 02:20:04 1993 Doug Evans (dje@canuck.cygnus.com)
8904
8905 * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
8906 types of different sizes (eg: 64 and 32 bits), so coerce.
8907 * ld.h (ALIGN_N): Add warning about usage.
8908
8909 Wed Oct 13 16:02:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8910
8911 * ldmain.c (enter_global_ref): Just ignore any weak symbol for
8912 which we already have a definition, rather than checking in
8913 several different places whether the symbol is weak.
8914
8915 Tue Oct 12 17:30:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8916
8917 * configure.in (mips-*-elf*): New target; use mipsb-elf32.
8918 * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
8919 OTHER_READWRITE_SECTIONS if relocating. Shell variables are not
8920 expanded within them.
8921 * config/mipsb-elf32.mt: New file.
8922 * emulparams/elf32mipb.sh: New file.
8923 * Makefile.in (em_elf32mipb.c): New target.
8924
8925 Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com)
8926
8927 * ldgram.y: In input_list, change lang_input_file_is_file_enum to
8928 lang_input_file_is_search_file_enum so objects brought in using
8929 INPUT() do a path lookup.
8930
8931 Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com)
8932
8933 * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
8934 instead of {i386,m68k}-coff.
8935 * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
8936 * config/i386-lynx.mt: New file.
8937 * config/m68k-lynx.mt: New file.
8938 * emulparams/i386lynx.sh: New file.
8939 * emulparams/m68klynx.sh: New file.
8940
8941 * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
8942 but defaulting to _start.
8943
8944 * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
8945 ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
8946 LynxOS libc.
8947
8948 Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com)
8949
8950 * config/solaris2.mh: New file. Define HOSTING_CRT0 and
8951 HOSTING_LIBS for testing.
8952
8953 Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
8954
8955 Finish up support for i386-sysv4 (without shared libraries):
8956 * ld.h (flag_is_weak): Define.
8957 * ldlang.c (print_symbol): Mention whether symbol is weak.
8958 (print_input_section): Print weak symbols as globals.
8959 * ldmain.c (refize): Do not zero out BSF_WEAK flag.
8960 (enter_global_ref): Do not warn if a weak symbol redefines a
8961 global symbol. Do not let a weak symbol redefine a common symbol.
8962 (enter_file_symbols): Treat weak symbols as global symbols.
8963 (subfile_wanted_p): Do not pull in an object file from a archive
8964 just to resolve an undefined weak symbol.
8965 * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
8966 error; the error might be that malloc has run out of space.
8967 * ldsym.c (write_file_locals): Treat weak symbols as global.
8968 * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
8969 use i386-elf.
8970 * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
8971 * config/i386-elf.mt: New file; set EMUL to elf_i386.
8972 * emulparams/elf_i386.sh: New file.
8973 * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
8974 * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
8975 (ALL_EMULATIONS): Add em_elf_i386.o.
8976 (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
8977 (em_elf_i386.c): New target, like other em_*.c targets.
8978 ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
8979 * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If
8980 nonempty, and configured for native, add it to LIB_PATH.
8981
8982 Fri Sep 17 13:07:39 1993 Stan Shebs (shebs@rtl.cygnus.com)
8983
8984 * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
8985 Added statements to pass stab and stabstr sections through and
8986 mark them as NOLOAD, which makes GDB happier.
8987
8988 Wed Sep 15 16:02:29 1993 Stan Shebs (shebs@rtl.cygnus.com)
8989
8990 * configure.in: Accept m68k-lynx-lynxos config.
8991
8992 * Makefile.in: Use $(SHELL) to run genscripts.sh.
8993
8994 Sun Sep 12 16:04:40 1993 Doug Evans (dje@cygnus.com)
8995
8996 * config/coff-h8300.mt: Add EMUL=h8300h.
8997
8998 * ldmain.c (main): Call set_scripts_dir after argv has been processed.
8999
9000 Fri Sep 10 09:36:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
9001
9002 * Makefile.in: Changed CXX back to g++.
9003
9004 Fri Sep 10 09:34:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
9005
9006 * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
9007
9008 Fri Sep 10 07:26:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9009
9010 * Makefile.in (TAGS): Use shell wildcards.
9011
9012 Tue Sep 7 18:04:54 1993 Jeffrey Osier (jeffrey@cygnus.com)
9013
9014 * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target
9015
9016 Fri Sep 3 16:46:41 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
9017
9018 * ld.texinfo: re-enable included config file; conditionalize doc
9019 for -oformat to interact properly with SingleFormat doc config
9020 var; rename @up/@down to @raisesections/@lowersections.
9021
9022 Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com)
9023
9024 * configure.in: recognize m88110.
9025
9026 Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9027
9028 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
9029 * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
9030 ELF emulation is "elf32-hppa" not "elf-big".
9031 (hppaosf_before_parse): Remove unneeded processing of environment
9032 variables.
9033 * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
9034 .text segment of output file.
9035 * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
9036
9037 Tue Aug 24 16:17:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
9038
9039 * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
9040 longer in bfd.h.
9041
9042 * ldlang.c, ld.h: updated copyright.
9043
9044 Tue Aug 17 15:22:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9045
9046 * ldlang.c (open_output, lang_check): Check return value of
9047 bfd_set_arch_mach.
9048
9049 Tue Aug 17 07:02:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
9050
9051 * scripttempl/h8500.sc: Start all sections in a different segment.
9052 * scripttempl/z8ksim.sc: Handle constructors
9053
9054 Thu Aug 12 16:05:37 1993 Jeffrey Wheat (cassidy@cygnus.com)
9055
9056 * Makefile.in: revert earlier changes back to execute runtest
9057 with make check. cdtest and bootstrap now function as they
9058 did within the Makefile.
9059
9060 Thu Aug 12 10:20:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9061
9062 * Makefile.in: Update dependencies.
9063
9064 * configure.in: Set EMULATION_OFILES in Makefile based on
9065 --with-targets option.
9066
9067 Thu Aug 12 08:52:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
9068
9069 * Makefile.in: check targets reimplemented to old way.
9070
9071 Wed Aug 11 08:26:11 1993 Ian Lance Taylor (ian@cygnus.com)
9072
9073 * config/i386v.mh, config/irix4.mh: Use gcc
9074 -print-libgcc-file-name rather than $(libdir)/libgcc.a.
9075 * config/i386sco.mh: New file; copy of i386v.mh to correspond to
9076 bfd/configure.host change.
9077
9078 Mon Aug 9 14:25:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9079
9080 * scripttempl/elf.sc: Handle .line and .debug* sections.
9081
9082 * ldlex.l: Use bfd_scan_vma, not strtoul.
9083
9084 Fri Aug 6 08:57:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9085
9086 * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
9087 Remove inital caps in some error messages, change "can't" to
9088 "cannot", add missing colons.
9089 * ldmisc.c (vfinfo): Print "%%" as a single %.
9090 For '%' followed by unrecognized character, print them both
9091 verbatim instead of expecting a char * arg.
9092 For '%C', don't put the function name in parens.
9093
9094 * ldexp.c (invalid): Pass "%%", not "% ".
9095
9096 Fri Aug 6 14:31:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9097
9098 * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
9099 (BSS_VAR): Removed; now always define _fbss.
9100 * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
9101 Removed.
9102
9103 Thu Aug 5 15:55:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
9104
9105 * configure.in: z8k-coff is the same as z8k-sim
9106
9107 Wed Aug 4 21:00:18 1993 Jeffrey Wheat (cassidy@cygnus.com)
9108
9109 * testsuite/lib/ld.exp: new file
9110 * testsuite/config/unix-ld.exp: new file
9111 * testsuite/ld.bootstrap/bootstrap.exp: new file
9112 * Makefile.in: add dejagnu support for make check
9113
9114 Wed Aug 4 17:52:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9115
9116 * ldlex.l (comment): Add missing newline in message.
9117 * ldindr.c (add_indirect): Ditto.
9118 * ldexp.c (exp_fold_tree): Ditto.
9119
9120 Tue Aug 3 10:57:41 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9121
9122 * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
9123 into externs.
9124
9125 * ldmisc.c (multiple_warn): New function.
9126 * ldmisc.h: Declare it.
9127 * ldmain.c (enter_global_ref): Call it.
9128 * ld.h (ld_config_type): Add warn_common.
9129 * ldlex.l, ldgram.y: Set it with -warn-common option.
9130 * ldver.c (help): Document it.
9131
9132 Mon Aug 2 12:04:36 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9133
9134 * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
9135 target-specific sections, and for changing data section vma.
9136
9137 Mon Jul 26 14:00:02 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9138
9139 * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
9140 terminals, for Solaris.
9141 (dirlist_ptr): New static variable.
9142 (command_line_option): Accept new options.
9143
9144 * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
9145 "-YP,...".
9146
9147 * config/sun4sol2.mt: Pass emulation name without ".sh".
9148
9149 * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
9150 * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
9151
9152 Fri Jul 23 13:51:09 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9153
9154 * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
9155 .dtors, .data1, .rodata1 sections, instead of combining them into
9156 other sections. For `-r', set all section start addresses to
9157 zero.
9158
9159 * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
9160 NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
9161 (MAXPAGESIZE): Renamed from PAGE_SIZE.
9162
9163 Wed Jul 21 14:28:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9164
9165 * genscripts.sh: If this is the default emulation, set
9166 COMPILE_IN.
9167 * emultempl/*.em: Use it to determine whether to compile in the
9168 scripts.
9169
9170 * Makefile.in (GENSCRIPTS): Pass the default emulation name to
9171 genscripts.sh. Pass the current emulation name without ".sh" on
9172 the end.
9173 * genscripts.sh: Take an default emulation arg.
9174 Use the current emulation name as EMULATION_NAME.
9175 Make default lib path for cross-compiling ':', not null.
9176 * emulparams/*.sh: Don't set EMULATION_NAME.
9177 * ldemul.c (ldemul_get_script): Take isfile arg.
9178 Pass it to emulation's get_script function.
9179 * ldemul.h: Adjust get_script prototypes.
9180 * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
9181 No longer static.
9182 * ldfile.h: Declare it.
9183 * ldgram.y: Accept a script on the command line again,
9184 for parsing compiled-in scripts.
9185 * ldmain.c (main): If ld script is a file, parse it as a -T
9186 option, otherwise parse it directly.
9187 * emultempl/*.em (*get_script): Return the scripts themselves if
9188 this is the default emulation; otherwise return their file names.
9189 * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
9190 generic.em.
9191 * emulparams/m88kbcs.sh: Use it.
9192
9193 * ld.h (ld_config_type::unix_relocate): Remove unused element.
9194
9195 Tue Jul 20 12:01:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9196
9197 * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
9198 there's no change log entry yet, tsk tsk) from the list of
9199 emulations compiled in until Mark gets around to checking in
9200 emulparams/i386linux.sh.
9201 (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
9202 changed, this file gets updated.
9203
9204 Fri Jul 16 14:14:32 1993 Ian Lance Taylor (ian@cygnus.com)
9205
9206 * ldgram.y (OPTION_Lfile): New token.
9207 (command_line_option): Accept OPTION_L NAME (whitespace after -L).
9208 * ldlex.l (<COMMAND>): Accept -L without FILENAME.
9209
9210 Fri Jul 16 13:44:26 1993 Doug Evans (dje@canuck.cygnus.com)
9211
9212 * configure.in: h8/300h support needs own .mt file.
9213 config/coff-h8300h.mt: New file.
9214
9215 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9216
9217 * ldmain.c: Don't include sys/stat.h; it already got included
9218 somewhere along the way.
9219
9220 Thu Jul 15 14:43:34 1993 Doug Evans (dje@canuck.cygnus.com)
9221
9222 * Makefile.in: Add h8300h support.
9223 emulparams/h8300h.sh: New file.
9224 scripttempl/h8300h.sc: New file.
9225
9226 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9227
9228 * ldfile.c (ldfile_open_file): In error message, use the name the
9229 user gave (e.g., "-lc"), rather than the base file name.
9230
9231 * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
9232
9233 * ldmain.[ch]: Remove initial Q_ from function names.
9234 * ldexp.c, ldindr.c, ldlang.c: Change callers.
9235
9236 * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
9237
9238 * ldlang.c (lang_process): Move loading of default script from
9239 here to main. Add a "/" to start of script name to prevent
9240 finding it in "." first.
9241
9242 * ldmain.c (set_scripts_dir): Don't look in "." first.
9243
9244 * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
9245 option_longmap.
9246
9247 Thu Jul 15 10:55:59 1993 Ian Lance Taylor (ian@cygnus.com)
9248
9249 * Makefile.in (em_m88kbcs.c): Correct dependency.
9250 * scripttempl/m88kbcs.sc: It's ARCH, not arch. Removed TARGET
9251 statement. Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
9252 * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
9253
9254 Wed Jul 14 21:42:53 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9255
9256 * ldfile.c (ldlang_open_file, ldfile_open_command_file),
9257 main.c (main): Print the errno string in the error message.
9258
9259 Tue Jul 13 20:00:30 1993 Doug Evans (dje@canuck.cygnus.com)
9260
9261 * configure.in: Accept h8300h for target cpu.
9262
9263 * ldmisc.c (vfinfo): Have demangle remove leading underscore if
9264 present (demangle is smart enough to know whether to do it or not).
9265
9266 Mon Jul 12 11:45:48 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9267
9268 * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
9269 ldscripts, as well as <ld bin dir> and SCRIPTDIR.
9270
9271 * ldlang.c (lang_process): Use sizeof instead of magic constant.
9272
9273 * ldmain.c (get_emulation, check_for_scripts_dir,
9274 set_scripts_dir): New functions.
9275 (main): Call them.
9276
9277 Mon Jul 12 10:57:03 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9278
9279 * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
9280 Create symbol "end" instead of "__end". Comment out some parts
9281 that may not be needed (yet) for elf.
9282
9283 * configure.in: Accept sparc-elf and sparc-solaris2 configs.
9284
9285 Thu Jul 8 15:33:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9286
9287 * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
9288
9289 * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
9290 when no prototype is being supplied.
9291 (ldmalloc, ldrealloc): Size argument is now size_t.
9292
9293 * ldmisc.c (finfo): New function, accepts FILE* argument.
9294 (vfinfo, case 'v'): New format character; displays bfd_vma in hex
9295 without leading zeros.
9296 (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
9297 bfd_vma value, instead of fprintf(%x) which won't hold a long long
9298 value.
9299 (concat, buystring): String lengths are size_t.
9300 (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
9301
9302 * ldlang.c (new_statement): Size argument is now size_t. Added
9303 forward declaration with prototype.
9304
9305 Thu Jul 8 10:53:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9306
9307 * ldgram.y (OPTION_v): Don't turn on verbose output.
9308
9309 Wed Jul 7 17:10:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9310
9311 * ldlex.l: Get rid of local typedef for bfd_vma! Get it from
9312 bfd.h instead.
9313
9314 Wed Jul 7 11:33:12 1993 Ian Lance Taylor (ian@cygnus.com)
9315
9316 * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
9317 collect2 doesn't look for gld any more anyhow.
9318
9319 Mon Jul 5 14:29:48 1993 Ian Lance Taylor (ian@cygnus.com)
9320
9321 * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
9322 now have a non NULL srefs_chain.
9323
9324 * config/hp300hpux.mt: Use emulation hp3hpux rather than
9325 hp300hpux, since the latter does not exist.
9326
9327 Fri Jul 2 18:06:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9328
9329 * genscripts.sh: Put the scripts in the ldscripts directory, not
9330 emulations.
9331 * configure.in (ldscripts): Make, instead of emulations.
9332 * Makefile.in (scriptdir): Take off the "ld" part.
9333 (install, clean, distclean): Use ldscripts, not emulations.
9334 In tests, don't pass -Lemulations.
9335 Don't pass tooldir/lib to genscripts.sh.
9336 * genscripts.sh: Don't take tooldir/lib arg.
9337 * ldlang.c (lang_process): Add "ldscripts/" to the name of the
9338 default script file.
9339
9340 Fri Jul 2 17:13:35 1993 Doug Evans (dje@canuck.cygnus.com)
9341
9342 * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
9343
9344 Thu Jul 1 16:38:45 1993 Doug Evans (dje@canuck.cygnus.com)
9345
9346 * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
9347
9348 Wed Jun 30 15:45:55 1993 K. Richard Pixley (rich@sendai.cygnus.com)
9349
9350 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
9351 run in parallel without colliding on yacc's static file names.
9352 Without the stub rule, make will try to start two yacc's
9353 concurrently which fails because of yacc's static file names.
9354
9355 Tue Jun 29 12:20:36 1993 Ian Lance Taylor (ian@cygnus.com)
9356
9357 * ldmain.c (subfile_wanted_p): Don't dump core if there are no
9358 symbols.
9359
9360 Mon Jun 28 12:22:11 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9361
9362 * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
9363 different from libdir.
9364
9365 * Makefile.in (scriptdir): Base on tooldir, not datadir.
9366
9367 Sat Jun 26 12:03:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9368
9369 * ldver.c (help): New function.
9370 * ldver.h: Declare it.
9371 * ldlex.l, ldgram.y: Recognize new options --help and --version.
9372
9373 Mon Jun 21 20:39:48 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
9374
9375 * Makefile.in (INCLUDES): Don't need ../include any more.
9376
9377 Mon Jun 21 16:38:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9378
9379 * ldlex.l, ldgram.y: Support new -oformat option.
9380 Remove attempt at supporting script fragments on the command line.
9381 * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
9382 * mri.c (mri_format), ldgram.y: Change callers.
9383 * ldlang.h: Change prototype.
9384
9385 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
9386
9387 * Makefile.in: canonicalize install.sh; for use within
9388 this directory (and subdirs)
9389
9390 Thu Jun 17 14:33:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9391
9392 * ldgram.y: Tweak grammar to make reporting of invalid options work.
9393
9394 * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
9395 and .cc.o rule.
9396
9397 Wed Jun 16 11:45:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9398
9399 * ldfile.c (ldfile_open_command): Don't try .ld extension.
9400 It wasn't documented (or likely used) and wastes time.
9401 (try_open): If EXTEN is empty, don't try it.
9402
9403 * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
9404 ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
9405 ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
9406 with normal function declarations.
9407
9408 * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh.
9409 Move *.sc-sh to scripttempl/*.sc.
9410 * {emultempl,emulparams,scripttempl}/README: New files.
9411 * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
9412 removed, replaced with generic.em.
9413 * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
9414 h8[35]00hms.s[ch]. Change their contents to omit the "hms".
9415
9416 * *.em (*_get_script): Return script name instead of script contents.
9417 * ldlang.c (lang_process): Change caller.
9418
9419 * ldlex.l, ldgram.y: Recognize -m option.
9420 Check for input files after *all* options in grammar.
9421 * ldmain.c (main): Check for -m options. Add default directory
9422 for -m.
9423
9424 * mkscript.c: File removed.
9425 * genscripts.sh: Take two more parameters, tooldirlib and libdir,
9426 to add to the default LIB_PATH.
9427 Look for input files in the new subdirectories.
9428 Create the scripts in emulations subdirectory and don't filter
9429 them through mkscript.
9430 * configure.in: Make the emulations subdirectory.
9431
9432 * Makefile.in: Account for all of the above changes.
9433 Remove unused .SUFFIXES. Get libgcc.a path with gcc
9434 -print-libgcc-file-name instead of $(libdir)/libgcc.a.
9435 Put CFLAGS last in the compilation rules.
9436 Add -I../bfd to INCLUDES so sysdep.h is found.
9437
9438 Tue Jun 15 23:04:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9439
9440 * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
9441
9442 * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO
9443 dependent on RELOCATING, not RELOCATION.
9444 * hp3hpux.sh (SHLIB_PATH): Define it.
9445
9446 Mon Jun 14 19:06:15 1993 David J. Mackenzie (djm@thepub.cygnus.com)
9447
9448 * ldfile.c (try_open): If opening without the extension fails,
9449 try with the extension even if -v or -V was given.
9450 had_script is imported (from ldgram.y), not exported.
9451
9452 Mon Jun 14 16:26:10 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
9453
9454 * Makefile.in: remove parentdir support, use INSTALL_XFORM
9455
9456 Thu Jun 10 14:00:06 1993 Ian Lance Taylor (ian@cygnus.com)
9457
9458 * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
9459 * ldgram.y (statement_list_opt): New nonterminal, either empty or
9460 statement_list.
9461 (section): Use statement_list_opt, not statement_list.
9462 * m68kcoff.sc-sh: Gather constructors and destructors and define
9463 __CTOR_LIST__ and __DTOR_LIST__ appropriately.
9464 * sa29200.sc-sh: Gather constructors and destructors and define
9465 ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
9466
9467 Mon Jun 7 12:53:28 1993 Per Bothner (bothner@rtl.cygnus.com)
9468
9469 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
9470 * configure.in: No longer need to configure to get sysdep.h.
9471
9472 Fri Jun 4 16:18:24 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9473
9474 * Makefile.in: remove install:all and install-info:info
9475 dependencies (these cause some spurious rebuilds at 'make install'
9476 time)
9477
9478 Fri Jun 4 08:50:14 1993 Ian Lance Taylor (ian@cygnus.com)
9479
9480 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
9481 (mips-idt-ecoff*): Added trailing '*'.
9482 * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
9483 * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
9484 * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
9485
9486 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
9487 incorrect definitions.
9488
9489 Tue Jun 1 14:56:10 1993 Per Bothner (bothner@rtl.cygnus.com)
9490
9491 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
9492 symbols, unless stripping.
9493
9494 Tue May 25 15:34:25 1993 Ian Lance Taylor (ian@cygnus.com)
9495
9496 * Makefile.in: configure looks for ####, so remove lines with many
9497 '#' characters.
9498 * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
9499 and HOSTING_LIBS correctly so that ``make check'' will work.
9500
9501 Thu May 20 13:56:16 1993 Per Bothner (bothner@deneb.cygnus.com)
9502
9503 * mips.sc-sh: Define _etext, _edata, and _end, in addition
9504 to etext, edata, and end. Needed for IRIX 4.0.5F.
9505 Patch from mwp@iconix.oz.au (Michael Paddon).
9506
9507 * Version 2.2.1 released.
9508
9509 Thu May 20 11:42:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9510
9511 * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
9512 * mipsbsd.sh (EMULATION_NAME): Use new file name.
9513
9514 Tue May 18 17:10:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9515
9516 * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
9517 properly right now.
9518
9519 * Version 2.2 released.
9520
9521 Mon May 17 15:37:28 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
9522
9523 * ldver.c (ldversion): Bump version number to 2.2.
9524
9525 Mon May 17 12:44:31 1993 Per Bothner (bothner@cygnus.com)
9526
9527 * NEWS: New file.
9528
9529 Fri May 14 11:26:24 1993 Ian Lance Taylor (ian@cygnus.com)
9530
9531 * mips.sc-sh: Don't define BSS_VAR unless relocating.
9532
9533 Wed May 12 13:33:29 1993 Ian Lance Taylor (ian@cygnus.com)
9534
9535 * Makefile.in (mkscript.o, mkscript): Build mkscript via
9536 mkscript.o, rather than directly from mkscript.c.
9537
9538 Tue May 4 21:58:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9539
9540 * configure.in: Look for ${target_makefile_frag} relative to
9541 ${srcdir}, not relative to build directory.
9542
9543 * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
9544 * configure.in: Recognize hppa*-hp-osf.
9545 * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
9546 (em_hppaosf.c): Build it.
9547 * config/hppaosf.mh, hppaosf.mt: New files.
9548
9549 * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
9550 some system header files. All uses changed.
9551
9552 * configure.in: Recognize i386-aix configurations as i386-coff
9553 targets.
9554
9555 * configure.in: Recognize m68*-*-hpux.
9556 * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
9557 the value of STACKZERO.
9558 * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
9559 (em_hp3hpux.c): Build it.
9560 * hp3hpux.sh, config/hp300hpux.mt: New files.
9561
9562 Tue May 4 12:37:35 1993 Ian Lance Taylor (ian@cygnus.com)
9563
9564 * mips.sc-sh: Put constructors in the .data section.
9565 * Makefile.in (cdtest): Added dependency on ld.new.
9566
9567 Mon May 3 19:43:39 1993 Per Bothner (bothner@cygnus.com)
9568
9569 * Makefile.in: Change definition of $(tooldir) to match FSF.
9570 * vax.sh, config/vax.mt, configure.in, Makefile.in:
9571 Support VAX Ultrix and BSD.
9572
9573 Mon Apr 26 18:35:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9574
9575 * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
9576
9577 Wed Apr 14 21:01:51 1993 John Gilmore (gnu@cygnus.com)
9578
9579 * ldlang.h (struct memory_region): Change `length' and
9580 `old_length' fields to bfd_size_type. Eliminate use of bfd_offset.
9581 * ldlang.c, mri.c: Corresponding changes, plus lint.
9582
9583 Thu Apr 8 22:08:18 1993 Ian Lance Taylor (ian@cygnus.com)
9584
9585 * configure.in: For all i386 targets, accept i486 as well.
9586
9587 Mon Apr 5 17:33:39 1993 Ian Lance Taylor (ian@cygnus.com)
9588
9589 * ldlang.c (wild_doit): Preserve all flags for a
9590 SEC_SHARED_LIBRARY section.
9591 (size_input_section): Consider any SEC_HAS_CONTENTS section when
9592 computing largest_section.
9593
9594 Fri Apr 2 14:33:52 1993 Ian Lance Taylor (ian@cygnus.com)
9595
9596 * ldlang.c (lang_output_section_statement_lookup): Initialize all
9597 fields of newly created structure.
9598
9599 Wed Mar 31 18:19:15 1993 Ian Lance Taylor (ian@cygnus.com)
9600
9601 * ldmain.c (g_switch_value): New variable.
9602 * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
9603 (command_line_option): Accept -G and set g_switch_value.
9604 * ldlex.l (COMMAND): Accept -G.
9605 * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
9606
9607 Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9608
9609 Support for linking and loading at different places:
9610
9611 * ldlex.l: Add "AT" keyword.
9612 * ldgram.y: Cleanup, and parse AT.
9613 * ldlang.c (print_output_section_statement): Print output address
9614 of section in map. (lang_size_sections): Fill sections' lma with
9615 load address.
9616 * ldlang.h (lang_output_section_statement_type): Add load_base
9617 information.
9618
9619 * ldindr.c (add_indirect): Keep more information in the alias
9620 symbol chain.
9621 * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
9622 attribute from an input section.
9623 * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
9624 default. (Q_enter_file_symbos): Indirect symbols now are known by
9625 their section, not a special symbol flag.
9626 * ldsym.c (write_file_locals): Indirect symbols aren't local.
9627 (write_file_globals): Write the mapping for an indirect symbol.
9628 * relax.c (build_it): When forced to write a NEVER_LOAD section,
9629 fill it with zeros.
9630
9631 Tue Mar 23 13:24:10 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
9632
9633 * ld.texinfo: changes for q1
9634
9635 Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9636
9637 * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
9638
9639 Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9640
9641 * Makefile.in: rename HOST_CC to CC_FOR_BUILD
9642
9643 Thu Mar 4 12:44:33 1993 Ian Lance Taylor (ian@cygnus.com)
9644
9645 * mips.sc-sh: Added variables which may be overridden by a
9646 specific emulation.
9647 * mipsidt.sh: New file; emulation for IDT MIPS board.
9648 * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
9649 (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
9650 * config/mips-idt.mt: New file; sets EMUL to mipsidt.
9651 * configure.in (mips-idt-ecoff): New target; uses mips-idt.
9652
9653 Sat Feb 27 00:00:14 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
9654
9655 * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
9656 ralphc@pyramid.com.
9657 * i386bsd.sh, config/i386bsd.mt: New files.
9658 * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
9659
9660 Thu Feb 25 15:33:10 1993 Per Bothner (bothner@rtl.cygnus.com)
9661
9662 * mri.c: Add extern declaration of strdup.
9663 * ldsym.c (KEEP macro): Add spaces around '=' for the
9664 sake of old (e.g. PCC) compilers.
9665
9666 Wed Feb 24 19:49:31 1993 Per Bothner (bothner@rtl.cygnus.com)
9667
9668 * ldver.c: Bump to version 2.1.
9669
9670 Fri Feb 12 08:09:11 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9671
9672 * ldgram.y: allow section types without address expressions.
9673 * ldlang.c (lang_relocate_globals): avoid possible hang with
9674 undefined but unreferenced symbols.
9675 * relax.c (relax_section): don't complain if the script file isn't
9676 relaxable but -relax is set
9677
9678 Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9679
9680 * configure.in: go32 is the 3rd part of the triple, not the 2nd
9681
9682 Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com)
9683
9684 * mipsbig.sh: New file. Big endian MIPS emulation.
9685 * config/mips-big.mt: New file. Use mipsbig emulation.
9686 * configure.in (mips-sgi-irix*): Use target mips-big.
9687 * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
9688 (em_mipsbig.c): New target. Uses mipsbig.sh.
9689
9690 Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com)
9691
9692 * mips.sc-sh: Put .scommon sections into .sbss section.
9693
9694 * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
9695 rather than always putting them in bfd_com_section.
9696 * ldlang.c (lang_common): If a common symbol is not in
9697 bfd_com_section, put in a section of the same name, rather than
9698 always putting it in section COMMON.
9699
9700 Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
9701
9702 * ldmain.c (subfile_wanted_p): If we already have a common
9703 definition of a symbol, don't necessarily pull in an object file
9704 that provides a non-common definition.
9705
9706 * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
9707 returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS
9708 linker.
9709 * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
9710 (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
9711
9712 Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com)
9713
9714 * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
9715 the link to it.
9716
9717 Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com)
9718
9719 * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
9720 checking for equality to bfd_com_section.
9721
9722 Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com)
9723
9724 * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF
9725 targets, linker script.
9726 * mipslit.sh: New file. Little endian MIPS emulation.
9727 * config/mips-lit.mt: New file. Use mipslit emulation.
9728 * configure.in (mips-dec-ultrix*): Use target mips-lit.
9729 * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
9730 (em_mipslit.c): New target. Uses mipslit.sh.
9731
9732 Thu Jan 14 15:30:27 1993 Ian Lance Taylor (ian@cygnus.com)
9733
9734 * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
9735 $(tooldir)/bin/gld, so that gcc can find it with or without
9736 collect2.
9737
9738 Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
9739
9740 * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
9741 write_norel. All linking is now done via write_relax. Call
9742 ldsym_write before calling write_relax.
9743 * relax.c: Added copyright.
9744 (write_relax): Renamed from write_relaxnorel. Added relocateable
9745 argument. seclet_dump renamed to bfd_seclet_link.
9746 * relax.h: Added copyright.
9747
9748 Mon Jan 11 15:41:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9749
9750 * ldmain.c (decode_library_subfile): Patch from
9751 hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
9752
9753 Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9754
9755 * config/vxworks960.mt renamed to config/i960.mt
9756
9757 * configure.in: sparc-aout emulates a sun4, as does
9758 sparc*-vxworks, i960-nindy uses gld960 emulation
9759
9760 Fri Jan 8 14:39:07 1993 Steve Chamberlain (sac@thepub.cygnus.com)
9761
9762 Fix support for NOLOAD, add INCLUDE
9763 * ldfile.c (ldfile_open_command_file): pass file name to
9764 lex_push_file.
9765 * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
9766 * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
9767 attribute.
9768
9769 Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9770
9771 * Makefile.in, config.h: no more default emulation. Make the lack
9772 of emulation a compile time error
9773
9774 Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9775
9776 * configure.in: recognise all sparclite variants, not just 'sparclite'
9777
9778 Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com)
9779
9780 * m68kcoff.sc-sh: define _end as well as end, for consistency with
9781 aout.sc-sh.
9782
9783 * configure.in: accept *-ericsson-ose for any m68k CPU.
9784
9785 * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
9786 for each output section.
9787
9788 Mon Dec 21 16:06:59 1992 Per Bothner (bothner@rtl.cygnus.com)
9789
9790 * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new
9791 macro bfd_asymbol_bfd as appropriate.
9792 * Makefile.in: Un-duplicate ldlex.c dependency.
9793 * condigure.in: Replace my_host case table by sourcing
9794 ../bfd/configure.host. Allow std-host as the default.
9795 * ldmisc.c: Change logic for C++ name demangling: There is
9796 no initial '_' to remove from stab-derived function names.
9797
9798 Sun Dec 13 16:31:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9799
9800 * ldlang.c (lang_init_script_file): don't attach the output file
9801 sections to the script file.
9802
9803 Wed Dec 9 08:38:05 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9804 * ldlang.c (wild): run expansion loop over command line bfd too.
9805 (lang_ini_script_file): initialize more parts of the command line
9806 bfd.
9807 * ldlex.l: fix DEFINED start states.
9808
9809 Mon Dec 7 08:43:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9810 -y support
9811 * ld.texinfo: new doc.
9812 * ldgram.y, ldlex.l: understand -y<symbol>
9813 * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
9814 print info. (add_ysym): new function.
9815 * ldsym.h: (ldsym_type): new define SYM_Y.
9816
9817 Sat Nov 21 03:15:27 1992 John Gilmore (gnu@cygnus.com)
9818
9819 * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
9820 ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
9821 ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue
9822 macros with PARAMS. Recreational cleanup. Update copyrights.
9823
9824 Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9825
9826 * Makefile.in: pass down the bfd source directory for includes
9827
9828 Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com)
9829
9830 * ldlang.c (lang_size_sections): don't change size and address for
9831 SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
9832 sections.
9833
9834 Thu Nov 5 11:33:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9835
9836 * relax.c (build_it): re-enable the processing of data_statements
9837 in scripts, makes counted contructor lists work again.
9838
9839 Thu Nov 5 05:43:01 1992 John Gilmore (gnu@cygnus.com)
9840
9841 * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS).
9842
9843 Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com)
9844
9845 * m68kcoff.sc-sh: don't use initial underscores for etext, edata
9846 and end.
9847
9848 Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
9849
9850 * Support for i386-sysv.
9851 configure.in: check for i386-*-sysv* and i386-*-sco*.
9852 i386coff.sc-sh: rewrote to support SVR3 by default.
9853 ldctor.c (find_constructors): preserve stat_ptr.
9854 ldlang.c (wild_doit): initialize vma and size of new output
9855 section to corresponding input section. This is required for
9856 shared library support.
9857 (lang_size_sections): don't modify vma and size of sections which
9858 are never loaded (for shared libraries).
9859 ldwrite.c (copy_and_relocate): copy the contents of any section
9860 which has contents, not just sections which are loaded (for shared
9861 libraries).
9862
9863 Thu Oct 15 15:20:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9864
9865 * ldlang.c (size_input_section): count the sizes of all sections
9866 we allocate.
9867
9868 Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9869
9870 * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
9871 to demangle symbols better
9872
9873 Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com)
9874
9875 * ldlang.c (lang_finish): don't warn if -e start symbol does not
9876 exist when linking with -r.
9877
9878 Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com)
9879
9880 * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
9881 .bss segment.
9882
9883 Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9884
9885 * ldmain.c (linear_library): don't even think about processing
9886 an object file if it's already been done
9887
9888 Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9889
9890 * configure.in: the hp9000/300 config file is now hp300
9891
9892 Wed Sep 30 07:34:09 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9893
9894 * config/z8ksim.mt: new file
9895
9896 Fri Sep 25 13:49:52 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
9897
9898 * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
9899 lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
9900
9901 * ld.h (strip_symbols_type): Add value STRIP_SOME.
9902 * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
9903 * ldlang.c (lang_add_keepsyms_file): New function.
9904 * ldlex.l: Handle "-retain-symbols-file".
9905 * ldsym.c (keepsyms_file, kept_syms): New vars.
9906 (process_keepsyms): New functihon; reads file, marks symbols for
9907 saving.
9908 (write_file_locals): File symbols should always be kept.
9909 (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
9910 and "-s". Process retain-symbols file before setting symtab.
9911 * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
9912 (keepsyms_file, kept_syms): Declare them.
9913
9914 * ldmain.c (main): Non-fatal errors should still cause non-zero
9915 exit status even with -r.
9916
9917 Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9918
9919 Added initial support for the z8k
9920 * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
9921 * configure.in, Makefile.in: modified to reflect above
9922
9923 * ldlang.c (lang_check): when linking conflicting architectures,
9924 make the output file reflect at least one of the bad inputs.
9925
9926 Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com)
9927
9928 * Makefile.in (install): if $(tooldir) exists, install ld in
9929 $(tooldir)/bin.
9930
9931 Fri Sep 11 10:24:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9932
9933 * Makefile.in, configure.in: modified to support i386-coff
9934 * i386coff.sh: new file
9935
9936 Wed Sep 9 11:52:58 1992 Ian Lance Taylor (ian@cygnus.com)
9937
9938 * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
9939 added m68k-coff emulation mode, stolen from a29k emulation.
9940 Almost certainly wrong, but perhaps better than sun3.
9941
9942 Thu Sep 3 14:19:30 1992 Per Bothner (bothner@rtl.cygnus.com)
9943
9944 * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
9945 gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
9946 vanilla.em: Rename all (generated) ld__*.c files to em_.c.
9947 This is one character shorter, and lets people build on
9948 SVR3 system. (ld__h8300xray.[co] was the killer there;
9949 h8300xray.sc-sh is also overlong, but seems harmless.)
9950 Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
9951 * Makefile.in (clean): Fix typo mostclean -> mostlyclean.
9952 * configure.in: Add host isc.
9953
9954 * ldver.c: Call it version 2.0.
9955
9956 Wed Sep 2 00:21:33 1992 Per Bothner (bothner@rtl.cygnus.com)
9957
9958 * ldver.c: Bump to version 0.98.
9959 * TODO: New file.
9960
9961 * Makefile.in: Added mostlyclean, distclean, realclean rules.
9962
9963 Tue Sep 1 23:42:16 1992 Per Bothner (bothner@rtl.cygnus.com)
9964
9965 * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c).
9966 * ldlex.l: Moved comment() to end, since some compilers
9967 otherwise have problems with input() used before it is defined.
9968
9969 Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9970
9971 * configure.in: added Solaris 2 and Irix 4 host support.
9972
9973 Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9974
9975 * Makefile.in: remove -S flag from the FLEX definition
9976
9977 * configure.in: rewrote, using new style case statement. use
9978 m68k.mt for m68k-aout systems
9979
9980 Sun Aug 30 21:38:53 1992 Ian Lance Taylor (ian@cygnus.com)
9981
9982 * Makefile.in: map "ld" through program_transform_name when
9983 installing.
9984
9985 Sun Aug 30 18:12:13 1992 Per Bothner (bothner@rtl.cygnus.com)
9986
9987 * cplus-dem.c: Removed. Use the version in libiberty now.
9988 * ldmisc.c: Use new libiberty version of cplus_demangle().
9989
9990 Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com)
9991
9992 * gld960.em (gld960_choose_target): default to little endian, not
9993 big endian.
9994
9995 Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
9996
9997 * ldlang.c (lang_process): don't pass null pointers when
9998 abs_output_section is what is required.
9999 * ldwrite.c (ldwrite): use malloc to allocate the largest space
10000 used, and pass that down.
10001 * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
10002 than alloca.
10003
10004 Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com)
10005
10006 * configure.in, config/ose68.mt: renamed OSE to ose.
10007
10008 Thu Aug 20 19:55:22 1992 Ken Raeburn (raeburn@cygnus.com)
10009
10010 * ldsym.c (write_file_locals): Reorder check for common or
10011 undefined symbols so that it works.
10012
10013 Tue Aug 18 13:41:36 1992 Ian Lance Taylor (ian@cygnus.com)
10014
10015 * configure.in: accept all m68K family members.
10016
10017 * Makefile.in: always create installation directories.
10018
10019 Thu Aug 13 11:49:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10020
10021 * ldlex.l: now parses comment correctly, added ~ to acceptable
10022 chars in filenames
10023
10024 * ldexp.c (exp_unop): pass down abs_output_section - now can have
10025 unary -ve constants.
10026
10027 * ldlang.c (lang_finish): warn when an entry symbol supplied on
10028 the command line can't be found.
10029
10030 Fri Aug 7 12:31:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10031
10032 * ldlang.h: add new field "loadable" to output_section_statement.
10033 * ldlang.c (lang_output_section_statement_lookup): initilize new
10034 field. (wild_doit): if new field is not set, then stop output
10035 section from being loadable.
10036 (lang_enter_output_section_statement): set the field from the
10037 NOLOAD keyword
10038 * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
10039 * h8300hms.sc-sh, h8300hms.em: get -r right.
10040
10041 Thu Aug 6 18:35:21 1992 Per Bothner (bothner@rtl.cygnus.com)
10042
10043 * ldint.texinfo: New internals manual (beginnings thereof).
10044 * PORTING: Removed, merged into ldint.texinfo.
10045
10046 Tue Aug 4 21:12:29 1992 Per Bothner (bothner@rtl.cygnus.com)
10047
10048 * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
10049 cdtest.exp: A test program (copied from libg++/test-install)
10050 that tests that constructor and destructors are handled
10051 corrrectly.
10052
10053 Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10054
10055 * Makefile.in (install): install from ld.new, renaming during the
10056 copy, or else the next 'make install' needs to re-link ld.
10057
10058 Mon Jul 20 03:37:06 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
10059
10060 * configure.in: generalise hp recognition (from sef).
10061
10062 Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
10063
10064 * configure.in: recognize bsd and hpux hppa configurations.
10065 error messages echo to stderr, not stdout
10066
10067 Fri Jul 17 22:06:11 1992 K. Richard Pixley (rich@rtl.cygnus.com)
10068
10069 * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
10070 ldmisc.c: removed rcsid's.
10071
10072 Tue Jul 14 08:34:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10073
10074 * ldlang.c (lang_map): print changes in sizes due to relaxing
10075 (size_input_section): maintain the delta information.
10076 * ldlang.h: add new field to struct to contain delta info.
10077 * relax.c (relax_section): complain if input not relaxable.
10078 * ldlex.l : add '_', ',' and '$' to chars which can appear at the
10079 start of a filename
10080
10081 Mon Jul 13 17:33:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10082
10083 * ldmain.c(main): prevent -r and -relax from being on at the same
10084 time.
10085
10086 Wed Jul 1 17:51:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10087
10088 * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
10089 aliasing problems
10090
10091
10092 Thu Jun 18 09:38:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10093
10094 * h8300hms.em, h8300hms.sc-sh: do the right thing for -r
10095 * ldexp.c: lint
10096 * ldlang.c(open_output): set the target arch and machine as soon
10097 as we can. (lang_size_sections): use new macros for setting vma
10098 * ldwrite.c: lint
10099
10100 Mon Jun 15 08:47:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
10101
10102 * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
10103 Also deleted an unreachable path to wrs.
10104
10105 Wed May 27 23:24:19 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
10106
10107 * Makefile.in (install): use -d test for $tooldir before
10108 installing ld there so that $tooldir can be inherited from
10109 top-level Makefile.
10110
10111 Wed May 27 16:56:48 1992 Per Bothner (bothner@rtl.cygnus.com)
10112
10113 * ldlang.c: Two non-substantial changes for the sake of
10114 the old Portable C Compiler.
10115
10116 Wed May 27 15:15:58 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10117
10118 * ldgram.y, ldlex.l: parse ABSOLUTE
10119 * ldexp.c: add support for ABSOLUTE
10120
10121 Wed May 27 13:07:20 1992 Per Bothner (bothner@rtl.cygnus.com)
10122
10123 * Makefile.in: Added default definitions for HOSTING_CRT0,
10124 HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
10125 * config/*.mh: Miscellaneous clean-up: Removed definitions
10126 of YACC (since it is not longer used in the Makefile).
10127 Remove HOSTING_* definitions that are subsumed by the
10128 ones added to Makefile.in. Removed most definitions of CC.
10129 * config/{sparc,news,hp300bsd,decstation}.mh: Removed;
10130 These are no longer needed.
10131
10132 Fri May 22 13:47:19 1992 Per Bothner (bothner@cygnus.com)
10133
10134 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
10135 rules, since these are used when building a distribution.
10136 * Makefile.in (ldlex.c): Don't re-direct output, since that
10137 leaves a bogus output files if it fails.
10138
10139 * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working.
10140 * ldlex.c: Fix some unnecessary flex-specific-isms.
10141
10142 Fri May 8 11:49:43 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10143
10144 * ldgram.y: move spurious semicolon
10145 * ldexp.h: fix prototype
10146
10147 Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
10148
10149 * ld.texinfo: references to linker now say "ld" not "gld".
10150
10151 Wed May 6 13:26:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10152
10153 changed calling convention for Q_enter_global_ref
10154 * ldexp.c, ldlang.c, ldmain.c: reflect this
10155 * ldver.c: bump version to 1.97.1
10156 * ldindr.c (add_indirect): when an edict declaring an indirect
10157 symbol is found, make sure that any ideas about the symbol being
10158 common are changed if it now known to be defined.
10159 * ldmain.c (linear_library): complain once if archive isn't
10160 ranlibbed.
10161 * ldlang.h, ldlang.c: make room for and initialize the complain
10162 once field.
10163
10164 Wed May 6 11:07:35 1992 K. Richard Pixley (rich@rtl.cygnus.com)
10165
10166 * Makefile.in: use flex & bison from ../ if they exist.
10167
10168 Tue May 5 17:47:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10169
10170 * relax.c (build_it): don't allocate space in the output file for
10171 stuff if -R flag applys to it.
10172 * ldfile.c: merge in VMS filename support
10173 * ldmain.c (main): take out ./ from library path, and close file
10174 before unlinking. Make multiple defs of a symbol create an
10175 unexecable file.
10176 * ldmisc.c: fatal errosrs delete output file
10177
10178 Tue May 5 14:05:05 1992 Per Bothner (bothner@rtl.cygnus.com)
10179
10180 * ldver.c: Increase version number to 1.97, for consistency
10181 with ../binutils.
10182
10183 Tue May 5 12:12:24 1992 K. Richard Pixley (rich@cygnus.com)
10184
10185 * Makefile.in: FLEX -> LEX.
10186
10187 * ld.texinfo: {} -> @{@}.
10188
10189 Mon May 4 17:52:41 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
10190
10191 * ld.texinfo: describe alternate, MRI-compatible linker scripts
10192 (and associated change in -c option, now used for these scripts)
10193
10194 Mon May 4 16:10:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10195
10196 * ldver.c: Bumped version to 1.96 - new release, resync with the
10197 bfd too #.
10198 * ldexp.c, ldlang.c: now build memory shape tree in obstacks
10199 rather than with raw malloc, makes it easier to track where memory
10200 is going.
10201 * ldsym.h, ldsym.c: create obstack for all global symbols too.
10202 * ldwrite.c (ldwrite): moved malloc so only used when needed.
10203 * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
10204
10205
10206 Fri May 1 18:17:52 1992 K. Richard Pixley (rich@cygnus.com)
10207
10208 * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
10209
10210 * Makefile.in: use bootstrap for check.
10211
10212 Fri May 1 13:03:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10213
10214 * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
10215 PUBLIC.
10216 * Makefile.in: now use flex, not lex
10217 * ldlex.l, ldlang.c, ldctor.c: lint
10218
10219 Wed Apr 22 12:48:42 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10220
10221 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
10222 different sorts of filenames on the command line than in a script.
10223
10224 Mon Apr 20 22:37:04 1992 K. Richard Pixley (rich@rtl.cygnus.com)
10225
10226 * Makefile.in: rework CFLAGS so that they can be passed on the
10227 make command line. Remove MINUS_G. Default CFLAGS to -g.
10228
10229 Fri Apr 17 08:57:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10230
10231 * relax.c: added handling for new "padding" seclet type, used to
10232 fill out gaps between section.
10233 * ldgram.y, ldlex.l: now -defsym on the command line is done
10234 properly.
10235
10236 Wed Apr 15 21:20:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
10237
10238 * Makefile.in: the tooldir copy of ld goes directly in tooldir.
10239
10240 Wed Apr 15 16:09:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10241
10242 * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
10243 scripts.
10244
10245 Thu Apr 9 05:52:02 1992 Ken Raeburn (Raeburn@Cygnus.COM)
10246
10247 * Makefile.in (install): Install second copy in $(tooldir)/bin
10248 without $(program_prefix), since that's what gcc expects.
10249
10250 Sat Apr 4 17:44:06 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10251
10252 * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
10253 * h8300*: fix bit rot and add support for h8300xray target
10254 * go32.sh: target emulation for go32.
10255
10256 Mon Mar 16 14:53:29 1992 Steve Chamberlain (sac@rtl.cygnus.com)
10257
10258 * gld960.em, i960.sc-sh. Fix i960 bit rot
10259
10260 Fri Mar 13 19:47:22 1992 K. Richard Pixley (rich@cygnus.com)
10261
10262 * Makefile.in: install man page.
10263
10264 Fri Mar 13 08:23:59 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10265
10266 * config/mt-<foo> renamed to <foo>.mt
10267 * config/mh-<foo> renamed to <foo>.mt
10268 * configure.in changed to reflect this
10269 * genscripts.sh now make .xbn files rather than .xN files
10270
10271 Sat Mar 7 03:40:40 1992 K. Richard Pixley (rich@cygnus.com)
10272
10273 * ldver.h: fix decl of ldversion.
10274
10275 Fri Mar 6 22:00:35 1992 K. Richard Pixley (rich@cygnus.com)
10276
10277 * Makefile.in: added check target.
10278
10279 Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10280
10281 * ldmain.c (Q_enter_file_symbols): now aliases work again
10282
10283 Thu Mar 5 21:39:29 1992 K. Richard Pixley (rich@cygnus.com)
10284
10285 * Makefile.in: added clean-info target.
10286
10287 Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
10288
10289 * ldexp.c (exp_print_tree): don't try and follow null pointers
10290 around.
10291 * ldgram.y: remove 11 shift reduce errors
10292
10293 Tue Mar 3 15:46:39 1992 K. Richard Pixley (rich@rtl.cygnus.com)
10294
10295 * Makefile.in: added tooldir and program_prefix.
10296
10297 Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com)
10298
10299 * ldlang.c (size_input_section): don't move absolute sections
10300 around!
10301
10302
10303 Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
10304
10305 * cplus-dem.c: yet another copy of this - maybe it should go into
10306 libiberty ?
10307 * ldgram.y: now -V and -v have different actions
10308 * ldver.c: if -V, prints list of emulations compiled in
10309 * ldmisc.c: support for cplus demangling
10310
10311
10312 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
10313
10314 * Makefile.in, configure.in: removed traces of namesubdir,
10315 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
10316 copyrights to '92, changed some from Cygnus to FSF.
10317
10318 Thu Feb 20 17:43:46 1992 Per Bothner (bothner at cygnus.com)
10319
10320 * Makefile.in: Change mkscript rule into one for ./mkscript
10321 (for the sake of makes that don't realize they're the same).
10322 * PORTING: Add more details.
10323 * genscripts.sh: Add more tailorability of DATA_ALIGNMENT.
10324
10325 Mon Feb 17 12:04:36 1992 Per Bothner (bothner at cygnus.com)
10326
10327 * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
10328 config/mt-hp300bsd: New port to hp300 running BSD.
10329
10330 Sat Feb 15 13:59:54 1992 Per Bothner (bothner at cygnus.com)
10331
10332 Major rewrite of how ld is configured. The major idea
10333 is to use shell scripts to generate everything.
10334 * generic.em replaces ldtemplate.
10335 * Other *.em files replace various *.c files.
10336 A *.em file is a shell script that generates the corresponding
10337 ld__*.c file that implements an emulation. This is usually
10338 a straight 'cat' of a here-document, possibly with substitutions.
10339 * Script files (*.sc) are places by *.sc-sh scripts.
10340 Again, these are simple shell scripts that 'cat'
10341 here-documents, usually with some substitutions.
10342 The output a *.sc-sh is a script file.
10343 * Each emulation is defined by a short shell script with
10344 extension *.sh that specifies the emulation-specific
10345 parameters (such as the name of the *.sh-sc and *.em
10346 files to use).
10347 * genscript.sh is the master shell script used to generate
10348 an emulation. It is passed various argument, including
10349 the name a the emulation-speciic *.sh file that it
10350 "sources" to set variables to emulation-specifc parameters.
10351 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
10352 to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
10353 * config/mh-foo: Rename LDEMULATION names as appropriate
10354 (usually 'gldfoo' -> plain 'foo').
10355 * ldwrite.c: Fixed a typo in a comment.
10356 * Makefile.in: Major changes. Removed some the sed
10357 magic to converts scripts, since that is now handled
10358 by genscripts.sh and the *.sc-sh scipt generators.
10359 * config.h: Remove a bunch of macros defining emulations
10360 and targets. This becomes one less file to edit when
10361 adding emulations or targets.
10362 * ldemul.h (struct ld_emulation_xfer_struct): Add
10363 emulation_name and target_name fields.
10364 * ldemul.c, ldemul.h: Define some default functions used
10365 by most emulations (and remove from the *.em scripts).
10366 * ldemul.c (ldemul_choose_target): Search the new
10367 ld_emulations array using a loop (instead of a hardwired
10368 nested if statement).
10369 Define the ld_emulation from the automatically-geenrated
10370 ldemul-list.h. This means you no longer have to edit ldemul.c
10371 to add a new emulation.
10372 * ldmain.c: Replace {GLD,LNK}960_EMULATION_NAME by
10373 their expansions, since the former no longer exist.
10374 * PORTING: A very rough first draft of a porting guide.
10375
10376 * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
10377 to be terminated by a new-line (instead of requiring a semicolon).
10378
10379 Mon Feb 10 16:21:02 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10380
10381 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
10382 tests for NULL pointers all over the place.
10383 * ldlang.c (lang_process): remember to relocate global symbols
10384 *after* relaxing has done it stuff.
10385
10386 Thu Feb 6 11:40:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10387
10388 * config/mt-coff-h8300: use EMUL like everything else
10389 * ldlang.c: (print_padding_statement): print the right address.
10390 * Makefile.in, config.h, ldemul.c: renamed h8300hds to h8300hms
10391
10392
10393 Tue Feb 4 15:28:01 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10394
10395 * ldlex.l: Put pack -noinhibit-exec and -sort-common
10396 * ldlang.c (print_data_statement): print the right address.
10397
10398 Thu Jan 30 17:51:53 1992 Per Bothner (bothner at cygnus.com)
10399
10400 * Makefile.in: The rule for testing ld by re-linking itself
10401 via an intermediate -r link was moved to the ld1 rule
10402 instead of the ld2 rule. This allows ld2 and ld3 to be identical,
10403 which allows the bootstrap rule to work.
10404 * ldctor.c (find_constructors): Don't create a constructor
10405 list if it is already defined (as would happen if ld is
10406 invoked by collect).
10407
10408 Wed Jan 29 08:35:39 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10409
10410 * config/mh-sparc.h: now uses libgcc.a
10411 * ldmain.c: quit using exit
10412 * *sc: use *(COMMON) rather than [COMMON]
10413 * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
10414 to allow preprocessing of .l file.
10415 * Makefile.in: New ldlex.l mangling
10416 * ldexp.c (fold_binary): perform expressions with % and / in
10417 integer.
10418 * ldfile.c (open_a): open archives on VMS in a special way
10419
10420
10421 Tue Jan 28 10:18:16 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10422
10423 * ldgram.y: map -M behave in the same way as -Map (sets file name
10424 to be "-".
10425 * ldsym.c, ldlang.c: remember that size of a section is dependent on
10426 whether or not relaxing has been done.
10427 * ldmain.c: don't open a map file if it doesn't have a name
10428 * relax.c: all the brains have moved into bfd.
10429 * ldwrite.c: ammend comment
10430
10431 Fri Jan 24 14:23:46 1992 Steve Chamberlain (sac at rtl.cygnus.com)
10432
10433 * Makefile.in: added relax, also made three stage go through a
10434 partial link stage.
10435 * relax.c : added
10436 * config.h: if GNU960 defined, then default emulation mode is
10437 GLD960
10438 * ldexp.h, ldexp.c: map to file hooks
10439 * ldlang.c: map to file hooks
10440 * ldgram.y: added -Map -relax
10441 * ldlex.l: added -relax, -Map
10442 * ldmain.c: open map file
10443 * ldmisc.c: support for map file
10444 * ldwrite.c: new relax magic
10445
10446 Thu Dec 19 18:49:51 1991 John Gilmore (gnu at cygnus.com)
10447
10448 * Makefile.in, config/tm-*.h: Clean up make output, only
10449 pass DEFAULT_EMULATION to ldmain.c.
10450
10451 Wed Dec 18 15:02:47 1991 Per Bothner (bothner at cygnus.com)
10452
10453 * ldver.c: Bump to version 1.94.
10454
10455 Tue Dec 10 04:07:23 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10456
10457 * Makefile.in: infodir belongs in datadir.
10458
10459 Mon Dec 9 16:26:43 1991 Per Bothner (bothner at cygnus.com)
10460
10461 * Makefile.in: Pass -y to bison. (Again;
10462 accidentally deleted by Rich.)
10463 * news.sc, ldgld68k.sc: Define __end as well as _end.
10464
10465 Sat Dec 7 17:19:26 1991 Steve Chamberlain (sac at rtl.cygnus.com)
10466
10467 * ldindr.h: added to contain prototypes of ldindr.c
10468 * ldfile.c: include ctype.h
10469 * ldmain.c: include the requried prototype headers
10470 * ldwrite.c: get_reloc_upper_bound has been renamed
10471 bfd_get_reloc_upper_bound
10472
10473 Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10474
10475 * Makefile.in: punt "fundamental" mode because it breaks my emacs
10476 macros. install using INSTALL_PROGRAM and INSTALL_DATA. remove
10477 spaces following hyphens, bsd make can't cope. added
10478 standards.text support and made it look like all the other
10479 makefiles.
10480
10481 * configure.in: configure now runs entirely in objdir so make file
10482 existence checks against ${srcdir}. Mark this directory as
10483 target dependent.
10484
10485 Thu Dec 5 22:46:16 1991 K. Richard Pixley (rich at rtl.cygnus.com)
10486
10487 * Makefile.in: idestdir and ddestdir go away. Added copyrights
10488 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
10489 and mandir now keyed off datadir by default.
10490
10491 Wed Dec 4 23:36:55 1991 Per Bothner (bothner at cygnus.com)
10492
10493 * ldver.c: Bumped version to 1.93.
10494 * Makefile.in: Pass -y to bison.
10495
10496 Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com)
10497
10498 * config.h: h8 is now coff, not ieee
10499 * h8300hds.sc: reflect the same
10500
10501 Thu Nov 14 19:55:09 1991 Per Bothner (bothner at cygnus.com)
10502
10503 * ldver.c (ldversion()): Update to 1.92.
10504 * ldctor.c: There are two places constructor sets
10505 can be defined. One of them checked for an existing
10506 duplicate, the other didn't. Unfortunately, the latter
10507 was called after the former ...
10508 So, factor out code for inserting a new element into
10509 constructor_name_list (after checking for a duplicate)
10510 into a new function add_constructor_name, and call
10511 it from both aforementioned places (ldlang_add_constructor
10512 and ldlang_check_for_constructors).
10513
10514 Wed Nov 13 15:17:43 1991 Per Bothner (bothner at cygnus.com)
10515
10516 * Makefile.in: Rename .c files generated from ldtemplate
10517 to have names starting with ld__. This helps 'make clean'.
10518
10519 Tue Nov 12 18:36:50 1991 Steve Chamberlain (sac at cygnus.com)
10520
10521 * Makefile.in: Take out the version number for install
10522 * m88kbcs.sc: put in contructor blocks.
10523
10524 Mon Nov 11 18:47:33 1991 Per Bothner (bothner at cygnus.com)
10525
10526 * ldmisc.c, ldmisc.h: Re-write info() to take a filename
10527 parameter, a format, and an arg pointer, and rename it to
10528 vfinfo(). Write info() in terms of new vfinfo().
10529 New einfo() is the same as info(), except it writes to stderr.
10530 * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
10531 ldmisc.c: Replace "error" calls to info() by new einfo().
10532
10533 Mon Nov 11 09:57:32 1991 Steve Chamberlain (steve at cygnus.com)
10534
10535 * ldlex.l ldgram.y: made -V option do same as -v
10536 * Makefile.in: Added $(MINUS_G) flag so debugging can be
10537 turned off
10538
10539 Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com)
10540 i386 aout changes from Bob Kukura
10541 * Makefile.in, config.h: added i386aout support
10542 * configure.in: fixed /h-{myhost} typo
10543 * ldgram.y: -MM now gives more boring map.
10544 * ldlang.c: now does D_PAGED flag the right way.
10545 * ldsym.c: -MM flags does the right thing.
10546
10547 Sun Nov 3 15:00:03 1991 Per Bothner (bothner at cygnus.com)
10548
10549 * configure.in: Fixed typo. Also, a fix for hp300bsd.
10550 * ldlang.c (init_os): Compensate for BFD change,
10551 where bfd_make_section now returns NULL for a duplicate
10552 section request, instead of the old section.
10553
10554 Thu Oct 17 15:27:13 1991 Per Bothner (bothner at cygnus.com)
10555
10556 * ldver.c: Bump to version 1.91 (consistent with binutils).
10557
10558 Wed Oct 16 12:27:08 1991 Per Bothner (bothner at cygnus.com)
10559
10560 * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
10561 ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
10562 ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
10563 ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
10564 Add or update copyright notices.
10565
10566 Mon Oct 14 23:55:27 1991 Per Bothner (bothner at cygnus.com)
10567
10568 * README: New file.
10569 * Makefile.in: Changed installation directory name scheme
10570 to be consistent with gcc. Also changed 'install'.
10571
10572 Mon Oct 14 17:30:02 1991 Roland H. Pesch (pesch at cygnus.com)
10573
10574 * Makefile.in: new targets ld.mm, ld.me
10575
10576 Mon Oct 14 17:27:24 1991 Per Bothner (bothner at cygnus.com)
10577
10578 * Makefile.in, ldtemplate: Need to use separate scripts
10579 for -n and -N options. Yet more complication.
10580
10581 Fri Oct 11 22:40:46 1991 John Gilmore (gnu at cygnus.com)
10582
10583 * Makefile.in: Avoid using $< in explicit Make rules (it doesn't
10584 work). Add some lines to avoid Sun Make VPATH bugs.
10585
10586 Fri Oct 11 16:42:22 1991 Per Bothner (bothner at cygnus.com)
10587
10588 * news.sc: Add alignment for data segment.
10589 * ldtemplate: Add (yet another) script to get for -n or -N
10590 options. (These need different alignment than ZMAGIC files.)
10591 * Makefile.in: Add stuff for new foo.xn scripts.
10592 These are generated by replacing "ALIGN(0x...00)" by ".".
10593
10594 Fri Oct 11 15:43:04 1991 Roland H. Pesch (pesch at cygnus.com)
10595
10596 * Makefile.in: new targets ld.ms, ld-index.ms
10597 ld.texinfo: remove tabs, other cleanups for texi2roff
10598
10599 Fri Oct 11 13:51:54 1991 Per Bothner (bothner at cygnus.com)
10600
10601 * ldmain.c (main): Make config.magic_demand_paged be true
10602 by default. Don't set the WP_TEXT and D_PAGED flags of
10603 output_bfd here; it's too late, so set it when output_bfd
10604 is created (in ldlang.c). Also fix setting of EXEC_P flag
10605 * ldlang.c (ldlang_open_output): Set output_bfd->flags here.
10606 * ldlang.c: Remove some duplicate extern declarations.
10607 * ldgram.y: Fixes to -N and -n options.
10608 * Makefile.in: Recognize upper case letters in sed script
10609 to remove assignments from script files.
10610 * ldtemplate: Don't assukme that -N or -n options
10611 imply use of -r script.
10612 * mkscript.c: Tweaking to correctly handle \n and \\ in input.
10613
10614 Fri Oct 11 10:29:27 1991 Steve Chamberlain (steve at cygnus.com)
10615
10616 * ldtemplate: include bfd.h before sysdep.h.
10617
10618 Fri Oct 11 04:24:45 1991 John Gilmore (gnu at cygnus.com)
10619
10620 Restructure configuration scheme for bfd, binutils, ld.
10621
10622 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
10623 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
10624 Change some config names to match other dirs.
10625 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
10626 get defined first.
10627 * config/: Rename some config files to match up h-*.h names.
10628 Remove all the HOST_SYS definitions from the config files.
10629
10630 Tue Oct 8 16:00:57 1991 Per Bothner (bothner at cygnus.com)
10631
10632 * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
10633 * ldtemplate: Remove ldfile_add_library_path calls;
10634 just use the SEARCH_DIR commands in the script files.
10635 * Makefile.in: Add LIB_PATH macro, which if set is used to replace
10636 the SEARCH_DIR commands in the scripts (using ugly sed magic).
10637 This is primarily intended for cross-linking, where you would
10638 place libaries in a different place than native libraries.
10639 Also, emulations made from ldtemplate now use $(srcdir).
10640 * ldglda29k.sc: Change SEARCH_DIR commands to a conventional
10641 form; people can use the Makefile's LIB_PATH to override.
10642
10643 Tue Oct 8 14:51:21 1991 Roland H. Pesch (pesch at cygnus.com)
10644
10645 * Makefile.in: fix target ld.dvi, add target ld.info
10646 ld.texinfo: make info filename ld.info
10647
10648 Fri Oct 4 21:51:58 1991 John Gilmore (gnu at cygnus.com)
10649
10650 * Makefile.in: Avoid using $< in non-suffix rules (breaks on Sun
10651 Make).
10652 * ldfile.c, ldlang.c, ldmain.c, ldwrite.c: Cope with renames of a
10653 few BFD types & enums.
10654
10655 \f
10656 Local Variables:
10657 mode: change-log
10658 left-margin: 8
10659 fill-column: 74
10660 version-control: never
10661 End:
This page took 0.247557 seconds and 4 git commands to generate.