* parse.c (target_map_name_to_register): Check target specific
[deliverable/binutils-gdb.git] / ld / ChangeLog
1 Fri Jun 12 17:38:07 1998 Doug Evans <devans@seba.cygnus.com>
2
3 * scripttempl/elf.sc (INPUT_FILES): Optional INPUT spec.
4
5 * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Change top of
6 stack to 8MB.
7
8 Fri Jun 12 19:33:17 1998 Ian Lance Taylor <ian@cygnus.com>
9
10 * Makefile.am (HFILES): Remove config.h.
11 (EMULATION_OFILES, POTFILES): Move patch of May 14 from
12 Makefile.in to Makefile.am.
13 (earmcoff.c): Depend upon armcoff.em, not generic.em.
14 * po/Make-in (all-yes): Correct misspelling in $(PACKAGE).
15 ($(srcdir)/$(PACKAGE).pot): Pass -C to $(XGETTEXT).
16 * Makefile.in, po/POTFILES.in, po/ld.pot: Rebuild.
17
18 Fri Jun 12 13:43:17 1998 Tom Tromey <tromey@cygnus.com>
19
20 * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
21 ($(PACKAGE).pot): Unconditionally depend on POTFILES.
22
23 Tue Jun 9 09:36:48 1998 Nick Clifton <nickc@cygnus.com>
24
25 * ldlang.c (lang_finish): Add CONST type modifier to declaration
26 of 'send'.
27
28 start-sanitize-sky
29 Fri Jun 5 15:55:26 1998 Doug Evans <devans@canuck.cygnus.com>
30
31 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Set vma to 0
32 for .DVP.overlay.*.
33 * configure.tgt (dvp-*-*): Set targ_emul=elf32l5900.
34
35 end-sanitize-sky
36 Fri Jun 5 18:19:59 1998 Ian Lance Taylor <ian@cygnus.com>
37
38 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
39 config.has_shared to true.
40 * emultempl/linux.em (gld${EMULATION_NAME}_before_parse):
41 Likewise.
42 * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse):
43 Likewise.
44
45 Tue Jun 2 12:55:03 1998 Ian Lance Taylor <ian@cygnus.com>
46
47 * ldlang.c (lang_finish): If the entry symbol is not found, try
48 parsing it as a number.
49 * ld.texinfo (Options): Document this.
50
51 Mon Jun 1 14:01:20 1998 Ian Lance Taylor <ian@cygnus.com>
52
53 * ld.texinfo (Input Section Wildcards): Document SORT keyword.
54
55 Mon May 18 12:42:53 1998 Doug Evans <devans@canuck.cygnus.com>
56
57 * ld.h (ld_config_type): New member has_shared.
58 * ldmain.c (main): Initialize it.
59 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Set it.
60 * lexsup.c (parse_args): Treat -shared as error if not supported.
61
62 Mon May 18 13:14:43 1998 Ian Lance Taylor <ian@cygnus.com>
63
64 From Jason Merrill <jason@cygnus.com>:
65 * ldlang.c (wild_sort): Correct order of sort.
66 * scripttempl/elf.sc: Put *crtbegin.o before other .ctors and
67 .dtors.
68 * scripttempl/elfd10v.sc: Likewise.
69 start-sanitize-d30v
70 * scripttempl/elfd30v.sc: Likewise.
71 end-sanitize-d30v
72 * scripttempl/elfppc.sc: Likewise.
73
74 Fri May 15 00:22:35 1998 Ian Lance Taylor <ian@cygnus.com>
75
76 * ldlex.l: Recognize keyword SORT.
77 * ldgram.y (current_file): Change to struct wildcard_spec.
78 (%union): Add new fields cname and wildcard.
79 (wildcard_name, wildcard_spec): New nonterminals.
80 (file_NAME_list): Use wildcard_spec.
81 (input_section_spec): Change current_file usage.
82 * ld.h (struct wildcard_spec): Define.
83 * ldlang.h (lang_wild_statement_struct): Add new fields
84 sections_sorted and filenames_sorted.
85 (lang_add_wild): Update declaration.
86 * ldlang.c (wild_sort): New static function.
87 (wild_section): Use wild_sort.
88 (print_wild_statement): Print sorting information.
89 (lang_add_wild): Add new parameters sections_sorted and
90 filenames_sorted. Change all callers.
91 * mri.c (mri_draw_tree): Update calls to lang_add_wild.
92 * scripttempl/elf.sc: Sort .ctors.* and .dtors.* by section name.
93 * scripttempl/elfd10v.sc: Likewise.
94 start-sanitize-d30v
95 * scripttempl/elfd30v.sc: Likewise.
96 end-sanitize-d30v
97 * scripttempl/elfppc.sc: Likewise.
98
99 Thu May 14 18:39:16 1998 Richard Henderson <rth@cygnus.com>
100
101 * emulparams/m32relf.sh (TEMPLATE_NAME): Define.
102
103 Thu May 14 14:51:24 1998 Nick Clifton <nickc@cygnus.com>
104
105 * ldemul.h: Add new prototype: ldemul_list_emulation_options.
106 (ld_emulation_xfer_struct): Add new field: list_options.
107 * ldemul.c (ldemul_list_options): New function. Call the
108 list_options field of the ld_emulation_xfer_struct for each
109 supported emulation, if such a function is present.
110 * lexsup.c (help): Call ldemul_list_emulation_options.
111 * emultempl/pe.em (gld_<>_list_options): New function. Describe
112 the pe emulation specific command line options.
113 * emultempl/armcoff.em (gld<>_list_options): New function.
114 Describe the armcoff emulation specific command line options.
115
116 * emultempl/pe.em: Add a new command line option:
117 --support-old-code.
118 * emultempl/armcoff.em: Ditto.
119 * ld.texinfo: Document the --support-old-code option.
120
121 * Makefile.in: Add emulation files for POTFILES.in target.
122 * emultempl/pe.em: Internationalise suitable strings.
123 * emultempl/armcoff.em: Internationalise suitable strings.
124 * po/POTFILES.in: Rebuilt.
125
126 Sun May 10 22:36:30 1998 Jeffrey A Law (law@cygnus.com)
127
128 * po/Make-in (install-info): New target.
129
130 Tue Apr 28 19:18:30 1998 Tom Tromey <tromey@cygnus.com>
131
132 * ldmain.c (main): Conditionally call setlocale.
133 * ld.h: Include <locale.h> if HAVE_LOCALE_H.
134 (LC_MESSAGES): Now can be defined even when ENABLE_NLS.
135
136 Mon Apr 27 11:56:21 1998 Ian Lance Taylor <ian@cygnus.com>
137
138 * configure.in: Change version number to 2.9.4
139 * configure: Rebuild.
140
141 * ld.texinfo (Options) [-rpath-link]: Mention ld.so.conf.
142
143 Based on patch from H.J. Lu <hjl@gnu.org>:
144 * emultempl/elf32.em (global_vercheck_needed): New file static
145 variable.
146 (global_vercheck_failed): New file static variable.
147 (gld${EMULATION_NAME}_after_open): Check for shared libraries
148 twice, once with force set to 0 and once with it set to 1.
149 (gld${EMULATION_NAME}_check_ld_so_conf): Add force parameter.
150 Change all callers.
151 (gld${EMULATION_NAME}_search_needed): Likewise.
152 (gld${EMULATION_NAME}_try_needed): Likewise. If not force, check
153 whether the libraries needs any incompatible versions.
154 (gld${EMULATION_NAME}_vercheck): New static function.
155
156 Wed Apr 22 16:01:35 1998 Tom Tromey <tromey@cygnus.com>
157
158 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
159
160 Wed Apr 22 12:40:56 1998 Ian Lance Taylor <ian@cygnus.com>
161
162 * Makefile.am (check-DEJAGNU): Add $(INTLLIBS) to LIBIBERTY when
163 invoking runtest.
164 * Makefile.in: Rebuild.
165
166 * lexsup.c (parse_args): Change -l options into --library options
167 to avoid confusion between -li and -library.
168
169 * ld.texinfo (MEMORY): Clarify use of >REGION.
170
171 Tue Apr 21 23:12:40 1998 Tom Tromey <tromey@scribbles.cygnus.com>
172
173 * Many files: Added gettext invocations around user-visible
174 strings.
175 * ld.h: Added gettext-related includes and defines.
176 * ldmain.c: Call setlocale, bindtextdomain, textdomain.
177 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
178 HAVE_LC_MESSAGES): Define.
179 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
180 po/Makefile. Use AM_PROG_LEX.
181 (TDIRS): AC_SUBST early on, to avoid having value split when it
182 happens to cross line 90 of the generated sed script.
183 * Makefile.am (SUBDIRS): New macro.
184 (POTFILES): Likewise.
185 (po/POTFILES.in): New target.
186 (ld_new_LDADD): Added INTLLIBS.
187 (ld_new_DEPENDENCIES): Added INTLDEPS.
188 * po/Make-in, po/POTFILES.in, po/gas.pot: New files.
189
190 Tue Apr 21 23:07:07 1998 Ian Lance Taylor <ian@cygnus.com>
191
192 * ld.texinfo (Simple Example): Rewrite a few things as suggested
193 by Nick Clifton <nickc@cygnus.com>.
194 (PROVIDE): Likewise.
195
196 Tue Apr 21 09:55:06 1998 Nick Clifton <nickc@cygnus.com>
197
198 * emultempl/pe.em: Rename external arm interworking functions
199 to conform to BFD naming conventions. Add code to _after_open()
200 function to obtain a bfd for use by the interworking code.
201
202 * emultempl/armcoff.em: Rename external arm interworking functions
203 to conform to BFD naming conventions. Add new _after_open()
204 function to obtain a bfd for use by the interworking code.
205
206 Sun Apr 19 19:23:09 1998 Richard Henderson <rth@cygnus.com>
207
208 * ldlang.c (lang_size_sections) [case lang_assignment_statement_enum]:
209 Update dot and the default memory section even when relaxing.
210
211 Sat Apr 18 18:41:12 1998 Richard Henderson <rth@cygnus.com>
212
213 * ldlang.c (lang_one_common): Manipulate the section's cooked size
214 rather than its raw size.
215
216 Tue Apr 7 13:35:29 1998 H.J. Lu <hjl@gnu.org>
217
218 * configure.in (TESTBFDLIB): New. Defined and substituted.
219 * Makefile.am (TESTBFDLIB): Changed to @TESTBFDLIB@.
220 * configure, Makefile.in: Rebuild.
221
222 Mon Apr 6 15:33:39 1998 Ian Lance Taylor <ian@cygnus.com>
223
224 * Makefile.am (ld.info): Invoke makeinfo with -I options directly
225 rather than relying on default rule. Don't depend upon
226 bfdsumm.texi.
227 (ld.dvi): Likewise.
228 (bfdsumm.texi): Remove target.
229 (CLEANFILES): Take bfdsumm.texi out of value.
230 * Makefile.in: Rebuild.
231
232 Sun Apr 5 13:07:57 1998 Ian Lance Taylor <ian@cygnus.com>
233
234 * scripttempl/pe.sc: Use shell variables to avoid depending upon
235 how $ is handled when expanding a shell substitution.
236
237 Fri Apr 3 00:56:50 1998 Ian Lance Taylor <ian@cygnus.com>
238
239 * Makefile.am (MOSTLYCLEANFILES): Add ld.log and ld.sum.
240 (DISTCLEANFILES): Add site.exp and site.bak.
241 * Makefile.in: Rebuild.
242
243 * configure.in: Put the tdirs in a file and use AC_SUBST_FILE,
244 rather than in a shell variable and using AC_SUBST.
245 * Makefile.am (DISTCLEANFILES): Remove ldscripts. Add tdirs.
246 (distclean-local): New target.
247 * configure, Makefile.in: Rebuild.
248
249 * ld.texinfo: Completely rewrite linker script documentation.
250
251 Mon Mar 30 12:47:33 1998 Ian Lance Taylor <ian@cygnus.com>
252
253 * configure.in: Set version to 2.9.1.
254 * configure: Rebuild.
255
256 * Branched binutils 2.9.
257
258 Sat Mar 28 16:48:19 1998 Ian Lance Taylor <ian@cygnus.com>
259
260 * Makefile.am (MOSTLYCLEANFILES): Remove tmpdir.
261 (mostlyclean-local): New target to remove tmpdir.
262 * Makefile.in: Rebuild.
263
264 Fix some gcc -Wall warnings:
265 * ldcref.c (output_cref): Add casts to avoid warnings.
266 * ldfile.c (ldfile_add_arch): Likewise.
267 * ldlang.c (lang_leave_overlay_section): Likewise.
268 * lexsup.c (OPTION_COUNT): Likewise.
269 (parse_args): Likewise.
270 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan):
271 Likewise.
272 * emultempl/sunos.em (gld${EMULATION_NAME}_search_dir): Likewise.
273 * ldlang.c (lang_check): Initialize variables to avoid warnings.
274 * ldwrite.c (build_link_order): Likewise.
275 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Likewise.
276 * emultempl/armcoff.em (gld${EMULATION_NAME}_before_allocation):
277 Remove unused variables.
278
279 * Makefile.am (MOSTLYCLEANFILES): Correct name (was
280 MOSTCLEANFILES).
281 * Makefile.in: Rebuild.
282
283 Fri Mar 27 16:39:25 1998 Ian Lance Taylor <ian@cygnus.com>
284
285 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Put
286 ARM code inside ifdef TARGET_IS_armpe.
287
288 Wed Mar 25 11:34:13 1998 Ian Lance Taylor <ian@cygnus.com>
289
290 Based on patch from H.J. Lu <hjl@gnu.org>:
291 * Makefile.am (LDDISTSTUFF): New variable.
292 (diststuff): New target.
293 * Makefile.in: Rebuild.
294
295 * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
296 relocating.
297
298 Tue Mar 24 15:59:29 1998 Nick Clifton <nickc@cygnus.com>
299
300 * scripttempl/pe.sc (.text): Add .glue_7 and .glue_7t sections to
301 hold Arm/Thumb stubs.
302
303 * emultempl/pe.em (gld_pe_before_allocation): Call
304 arm_process_before_allocation (for ARM/Thumb targets) in order to
305 gather interworking stb information.
306
307 Mon Mar 23 18:54:15 1998 Joel Sherrill <joel@OARcorp.com>
308
309 * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
310
311 Fri Mar 20 19:17:13 1998 Ian Lance Taylor <ian@cygnus.com>
312
313 * aclocal.m4, configure: Rebuild with libtool 1.2.
314
315 Thu Mar 19 14:54:45 1998 Geoffrey Noer <noer@cygnus.com>
316
317 * scripttempl/pe.sc: The Cygwin32 library uses a .data$nocopy
318 section to avoid copying certain data on fork. The linker used to
319 include this between __data_start__ and __data_end__, but that
320 breaks building the cygwin32 dll. The fix is to rename the
321 section ".data_cygwin_nocopy" and explictly include it after
322 __data_end__.
323
324 Wed Mar 18 09:42:24 1998 Nick Clifton <nickc@cygnus.com>
325
326 * configure.tgt (targ_extra_emuls): Add thumb-pe target.
327
328 Sun Mar 8 23:34:14 1998 Stan Cox <scox@equinox.cygnus.com>
329
330 * configure.tgt (sparclite*-*-elf): Added.
331
332 start-sanitize-vr4320
333 Tue Mar 3 11:16:35 1998 Gavin Koch <gavin@cygnus.com>
334
335 * configure.tgt (mips*vr4320el-*-elf*,mips*vr4320-*-elf*): Added.
336
337 end-sanitize-vr4320
338 Mon Mar 2 19:24:08 1998 Michael Meissner <meissner@cygnus.com>
339
340 * ldlang.c (lang_size_sections): If the default memory region is
341 *default*, see if there is a memory region that could be used.
342
343 start-sanitize-d30v
344 Thu Feb 26 17:09:53 1998 Michael Meissner <meissner@cygnus.com>
345
346 * scripttempl/elfd30v.sc: Add support for .eit_v section and put
347 it at 0xfffff020.
348 * emulparams/d30v{elf,_o,_e}.sh: Ditto.
349
350 end-sanitize-d30v
351 Mon Feb 23 17:46:51 1998 Ian Lance Taylor <ian@cygnus.com>
352
353 * emultempl/pe.em (sort_sections): Permit the wildcard to include
354 a trailing '*' when sorting grouped sections.
355 * scripttempl/pe.sc: Include grouped sections using NAME\$*. Only
356 include them when relocating.
357
358 Wed Feb 18 23:39:46 1998 Richard Henderson <rth@cygnus.com>
359
360 * Makefile.am (install-exec-local): Install properly when ln
361 fails or tooldir == prefix.
362
363 Fri Feb 13 15:24:06 1998 Ian Lance Taylor <ian@cygnus.com>
364
365 * Makefile.am (AUTOMAKE_OPTIONS): Define.
366 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
367
368 Thu Feb 12 14:10:44 1998 Ian Lance Taylor <ian@cygnus.com>
369
370 * scripttempl/elf.sc: Align the _end symbol according to the ELF
371 format size. From Gordon W. Ross <gwr@mc.com>.
372
373 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
374 * configure.host (alpha*-*-netbsd*): New host.
375 * configure.tgt (alpha*-*-netbsd*, powerpc-*-netbsd*): New
376 targets.
377
378 * lexsup.c (help): Update bug-gnu-utils address.
379 * ld.texinfo (Bug Reporting): Likewise.
380
381 Tue Feb 10 18:05:56 1998 Ian Lance Taylor <ian@cygnus.com>
382
383 * ldlang.c (lang_size_sections): Warn if some memory regions were
384 defined, but a loadable section is going into the default memory
385 region.
386
387 Tue Feb 10 16:17:20 1998 H.J. Lu <hjl@gnu.org>
388
389 * ldlex.l (V_IDENTIFIER): Allow '.' as symbol prefix.
390
391 Tue Feb 10 15:09:45 1998 Ian Lance Taylor <ian@cygnus.com>
392
393 * Makefile.am (Makefile): Add target, for dependencies on
394 configure.host and configure.tgt.
395 * configure.host, configure.tgt: Change -linux* to -linux-gnu*.
396 * Makefile.in: Rebuild.
397
398 start-sanitize-r5900
399 Tue Feb 10 11:52:33 1998 Jeffrey A Law (law@cygnus.com)
400
401 * Makefile.in (ALL_EMULATIONS): Add eelf32l5900.o
402 (eelf32l5900.c): Add rule for building.
403 * configure.tgt: Use r5900 specific emulation script.
404 * emulparams/elf32l5900.sh: 5900 specific emulation script.
405
406 end-sanitize-r5900
407 Mon Feb 9 13:44:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
408
409 * scripttempl/elfd10v.sc (.stack): Move stack to 0x00..7FFE.
410
411 * emulparams/d10velf.sh (READONLY_START_ADDR): Read only section
412 moved to 0x00.....4.
413
414 Sat Feb 7 15:41:26 1998 Ian Lance Taylor <ian@cygnus.com>
415
416 * configure, aclocal.m4: Rebuild with new libtool.
417
418 Thu Feb 5 12:16:11 1998 Ian Lance Taylor <ian@cygnus.com>
419
420 * scripttempl/pe.sc: Remove ${RELOCATING-0} from all sections.
421 From Thomas de Lellis <tdel@wrs.com>.
422
423 * configure, Makefile.in, aclocal.m4: Rebuild with new libtool.
424
425 Wed Feb 4 13:02:32 1998 Ian Lance Taylor <ian@cygnus.com>
426
427 * Makefile.am (ld_new_LDADD): Remove @LEXLIB@.
428 * Makefile.in: Rebuild.
429
430 Mon Feb 2 19:34:54 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
431
432 Add tms320c30 support:
433 * configure.tgt (tic30-*-*aout*, tic30-*-*coff*): New targets.
434 * emulparams/tic30aout.sh: New file.
435 * emulparams/tic30coff.sh: New file.
436 * scripttempl/tic30aout.sc: New file.
437 * scripttempl/tic30coff.sc: New file.
438 * Makefile.am (ALL_EMULATIONS): Add etic30aout.o and
439 etic30coff.o.
440 (etic30aout.c, etic30coff.c): New targets.
441 * Makefile.in: Rebuild.
442
443 Mon Feb 2 14:10:59 1998 Ian Lance Taylor <ian@cygnus.com>
444
445 * configure.host: Correct HOSTING_CRT0 in alpha*-*-linux* case to
446 accept either ld.so or ld-linux.so.
447
448 Fri Jan 30 19:16:28 1998 Doug Evans <devans@canuck.cygnus.com>
449
450 * Makefile.am ({CC,CXX}_FOR_TARGET): Change program_transform_name
451 to transform.
452 * Makefile.in: Regenerate.
453
454 Fri Jan 30 19:15:17 1998 Geoff Keating <geoffk@ozemail.com.au>
455
456 * scripttempl/elfppc.sc: Put .dynsbss in .sbss.
457
458 Fri Jan 30 11:43:49 1998 H.J. Lu <hjl@gnu.ai.mit.edu>
459
460 * Makefile.am (eelf32bsmip.c, eelf32lsmip.c): New targets.
461 * Makefile.in: Rebuild.
462
463 Thu Jan 29 16:04:21 1998 Mumit Khan <khan@xraylith.wisc.edu>
464
465 * ldfile.c (slash): Set to backslash if _WIN32 but not
466 __CYGWIN32__.
467 (ldfile_open_file_search): If __MSDOS__ or _WIN32, accept a
468 leading backslash or a leading x: as an absolute path.
469 (ldfile_find_command_file): Use slash rather than / when
470 generating name to try.
471 * lexsup.c (PATH_SEPARATOR): Define.
472 (set_default_dirlist): Use PATH_SEPARATOR rather than ':'.
473
474 Wed Jan 28 14:06:30 1998 Richard Henderson <rth@cygnus.com>
475
476 * emulparams/elf64_sparc.sh (ELFSIZE): 64
477 (TEXT_START_ADDR): Round off, since SIZEOF_HEADERS is added later.
478 (DATA_PLT): Needed by v9 abi.
479
480 Wed Jan 28 16:37:27 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
481
482 * configure.tgt (i[3456]86-*-mingw32*): New entry.
483
484 Wed Jan 28 15:51:58 1998 Ian Lance Taylor <ian@cygnus.com>
485
486 * scripttempl/elf.sc: Only include linkonce sections in final
487 sections when relocating.
488
489 start-sanitize-sky
490 Wed Jan 28 12:19:31 1998 Doug Evans <devans@canuck.cygnus.com>
491
492 * configure.tgt (dvp-*-*): Recognize.
493
494 end-sanitize-sky
495 Wed Jan 28 14:10:01 1998 Ian Lance Taylor <ian@cygnus.com>
496
497 * ld.texinfo (Options): Add a brief description of the types of
498 information included in a link map.
499
500 * ld.texinfo (Options): Mention LDEMULATION in description of -m.
501 (Environment): Mention LDEMULATION.
502
503 * ld.texinfo (Options): Clarify --export-dynamic a bit.
504
505 Thu Jan 22 16:07:23 1998 Richard Henderson <rth@cygnus.com>
506
507 * ldlex.l (<SCRIPT>{WILDCHAR}*): Take care for the comments this
508 pattern could match.
509
510 Wed Jan 21 22:26:46 1998 Ian Lance Taylor <ian@cygnus.com>
511
512 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): When doing
513 a relocateable link, set the image base to 0, and don't define the
514 various symbols.
515 * emulparams/i386pe.sh (RELOCATEABLE_OUTPUT_FORMAT): Define.
516 * scripttempl/pe.sc: Swap the .data and .bss sections so that
517 .data comes first. If doing a relocateable link, use
518 RELOCATEABLE_OUTPUT_FORMAT if it is defined, and start the
519 sections at 0, and don't define any symbols.
520
521 * ldlang.c (lang_memory_default): Correct parenthisization of
522 expression.
523
524 Wed Jan 21 21:20:32 1998 Manfred Hollstein <manfred@s-direktnet.de>
525
526 * emultempl/sunos.em: Don't include sys/types.h and sys/stat.h
527 here; they are included already via sysdep.h.
528
529 Tue Jan 6 13:40:02 1998 Richard Henderson <rth@cygnus.com>
530
531 * scripttempl/i960.sc: Don't explicitly set .data and .bss start.
532
533 Fri Jan 2 20:15:37 1998 Michael Meissner <meissner@cygnus.com>
534
535 * ldgram.y (attributes_opt): Pass region pointer to
536 lang_set_flags, not &region->flags.
537
538 * ldlang.c (lang_memory_default): New function to figure out a
539 default memory region for a section if it was not specified.
540 (lang_memory_region_lookup): Zero flags, not_flags field.
541 (lang_map{,_flags}): Print attribute flags in memory map.
542 (lang_size_sections): Call lang_memory_default to get default
543 memory region.
544 (lang_set_flags): Implement attribute flags for real. Take new
545 argument to give the flags we are to skip for this region.
546
547 * ldlang.h (memory_region_struct): Add not_flags field, make both
548 flags fields flagword type.
549 (lang_output_section_state): Make flags field flagword type.
550 (lang_set_flags): Update prototype to match new calling sequence.
551 (lang_memory_region_default): Add prototype.
552
553 start-sanitize-d30v
554 * emulparams/d30v{_e,_o,elf}.sh ({TEXT,DATA,EMEM}_DEF_SECTION):
555 Define whether or not the region gets default sections, and if so,
556 what sections.
557
558 * scripttempl/elfd30v.sc (MEMORY): Set up which of the regions get
559 default sections.
560
561 Thu Jan 1 22:58:04 1998 Michael Meissner <meissner@cygnus.com>
562
563 * scripttempl/elfd30v.sc (.eh_frame): Link into the data section.
564
565 end-sanitize-d30v
566 Thu Jan 1 18:04:51 1998 Jeffrey A Law (law@cygnus.com)
567
568 * scripttempl/h8300h.sc: Fix typo.
569 * scripttempl/h8300s.sc: Likewise.
570
571 Sun Dec 21 12:51:49 1997 Ian Lance Taylor <ian@cygnus.com>
572
573 * ldexp.c (fold_name): Don't crash if the symbol is defined in a
574 section with no output section, such as a shared library section.
575
576 Wed Dec 17 12:14:11 1997 Ian Lance Taylor <ian@cygnus.com>
577
578 * lexsup.c (parse_args): Keep track of where we are in the option
579 parsing before calling ldemul_parse_args, so that we don't call it
580 multiple times on the same argument and confuse the getopt
581 internals.
582
583 start-sanitize-d30v
584 Thu Dec 11 09:00:15 1997 Michael Meissner <meissner@cygnus.com>
585
586 * configure.tgt (d30v-elf-*): Rename d30velf_e to d30v_e and
587 d30velf_o to d30v_o to work in DOS environments.
588 * Makefile.{am,in}: Ditto.
589
590 * emulparams/d30v_{o,e}: Rename from d30velf_{o,e}.
591 * emulparams/d30velf_{o,e}: Deleted.
592
593 end-sanitize-d30v
594 Wed Dec 10 17:40:08 1997 Nick Clifton <nickc@cygnus.com>
595
596 * scripttempl/armcoff.sc: Add glue sections (code taken from Arm
597 branch).
598
599 * emulparams/armcoff.sh (TEMPLATE_NAME): Set to armcoff.
600
601 * emultempl/armcoff.em: New file, imported from Arm branch.
602
603 start-sanitize-d30v
604 Wed Dec 10 14:10:44 1997 Michael Meissner <meissner@cygnus.com>
605
606 * scripttempl/elfd30v.sc: Add .rel and .rela sections for all
607 defined sections. Set up __{D,C}TOR_{LIST,END}__. Add onchip and
608 external memory sections for rodata. Delete .string, .rodata1,
609 and .data1 sections.
610
611 end-sanitize-d30v
612 Tue Dec 9 15:28:17 1997 Michael Meissner <meissner@cygnus.com>
613
614 * Makefile.am: Add Oct 23 changes to Makefile.in here.
615
616 * Makefile.{am,in}: (ALL_EMULATIONS): Add ed10velf.o.
617
618 start-sanitize-tic80
619 * Makefile.{am,in}: (ALL_EMULATIONS): Add etic80coff.o.
620 end-sanitize-tic80
621
622 start-sanitize-d30v
623 * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o.
624 (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in
625 external memory.
626 (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in
627 onchip memory.
628
629 * emulparams/d30velf.sh (STACK_START_ADDR): Top of default
630 stack.
631 ({TEXT,DATA,EMEM}_SIZE): Sizes of the 3 memory areas.
632 ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and
633 .bss should go in.
634
635 * emulparams/d30velf_{e,o}.sh: New files to be explicit whether
636 .text, .data, etc go in external memory or onchip memory.
637
638 * configure.tgt (d30v-*-*ext*): New configuration to default
639 .text, .data, etc. in external memory.
640 (d30v-*-*onchip*): New configuration to default .text, .data,
641 etc. in onchip memory.
642 (d30v-*-*): Add d30velf_{e,o} emulations.
643
644 * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in
645 either the onchip text/data areas or the external memory area.
646 (MEMORY): Get sizes from d30velf.sh.
647 (.e{data,text,bss}): Put sections in the external memory region.
648 (.stext): Put section in the onchip text region.
649 (.s{data,bss}): Put sections in the onchip data region.
650 (__stack): Assign from ${STACK_START_ADDR}.
651 (.text): Put in ${TEXT_MEMORY} memory region.
652 (.data{,1}/.strings/.rodata{,1}): Put in ${DATA_MEMORY} memory
653 region.
654 (.bss): Put in ${BSS_MEMORY} memory region.
655 end-sanitize-d30v
656
657 Tue Dec 2 10:14:47 1997 Nick Clifton <nickc@cygnus.com>
658
659 * configure.tgt (targ_extra_emuls): Add support for Thumb target.
660
661 Sat Nov 22 15:23:19 1997 Ian Lance Taylor <ian@cygnus.com>
662
663 * ldlex.l: Don't define hex_mode. Correct number regexp to not
664 accept hex digits without a leading $ or 0x. Handle leading $
665 correctly. Pass 0 rather than hex_mode to bfd_scan_vma.
666 * ldlex.h (hex_mode): Don't declare.
667
668 start-sanitize-d30v
669 Sun Nov 16 20:16:45 1997 Michael Meissner <meissner@cygnus.com>
670
671 * emulparams/d30velf.sh ({DATA,EMEM}_START_ADDR): Define as start
672 of internal data area and external memory on chip.
673
674 * scripttempl/elfd30v.sc: Define a MEMORY region that describes
675 the 3 regions of memory on the chip. Put .text/.init/.fini into
676 the text memory region, put other segments into the data memory
677 region. Add more of the standard elf sections. Default __stack
678 to be 0x20008000, which is 1 byte beyond end of the internal data
679 region.
680
681 end-sanitize-d30v
682 Thu Nov 13 13:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
683
684 * configure.tgt (targ_extra_emuls): Make FreeBSD a i386bsd
685 variant.
686
687 Sun Nov 2 14:51:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
688
689 * configure.host (alpha*-*-linux*): Correct HOSTING_CRT0. Set
690 HOSTING_LIBS.
691
692 Thu Oct 30 12:25:55 1997 Ian Lance Taylor <ian@cygnus.com>
693
694 * ld.h (args_type): Add warn_mismatch field.
695 * ldmain.c (main): Initialize warn_mismatch field.
696 * lexsup.c (parse_args): Handle --no-warn-mismatch option.
697 * ldlang.c (ignore_bfd_error): New static function.
698 (lang_check): If warn_mismatch is false, don't warn about
699 mismatched input files.
700 * ld.texinfo, ld.1: Document new option.
701
702 start-sanitize-tx49
703 Wed Oct 29 17:50:26 1997 Gavin Koch <gavin@cygnus.com>
704
705 * configure.tgt: Add tx49 configury.
706
707 end-sanitize-tx49
708 Thu Oct 23 14:38:18 1997 Nick Clifton <nickc@cygnus.com>
709
710 * scripttempl/v850.sc: Rename linker symbol '_stack' to '__stack'
711 to avoid conflicts with C code which is defining a variable called
712 'stack'.
713
714 Thu Oct 23 00:57:45 1997 Richard Henderson <rth@dot.cygnus.com>
715
716 * Makefile.in (ALL_EMULATIONS): Move eelf64_sparc.o ...
717 (ALL_64_EMULATIONS): ... here.
718 (eelf64_sparc.c): Template should be elf32 not generic.
719 * emulparams/elf64_sparc.sh (TEMPLATE_NAME): New definition.
720
721 Thu Oct 23 00:44:20 1997 Richard Henderson <rth@dot.cygnus.com>
722
723 * configure.tgt: Add sparc64-*-linux*.
724 * emulparams/elf64_sparc.sh (GENERATE_SHLIB_SCRIPT, NOP): New.
725
726 Wed Oct 22 11:29:25 1997 Ian Lance Taylor <ian@cygnus.com>
727
728 * scripttempl/pe.sc: Put .eh_frame in .rdata.
729
730 Fri Oct 17 00:00:13 1997 Richard Henderson <rth@cygnus.com>
731
732 * ldlang.c (lang_register_vers_node): Only check globals<=>locals,
733 since we need to be able to export different versions of the same
734 symbol.
735
736 Wed Oct 15 14:52:36 1997 Ian Lance Taylor <ian@cygnus.com>
737
738 * scripttempl/pe.sc: Put .stab and .stabstr sections at end.
739
740 Wed Oct 8 12:37:05 1997 Richard Henderson <rth@cygnus.com>
741
742 * configure.tgt, configure.host: Change alpha-*-* to alpha*-*-*;
743 config.guess now recognizes alphaev5 etc.
744
745 Fri Oct 3 14:23:02 1997 Ian Lance Taylor <ian@cygnus.com>
746
747 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Don't treat
748 -s and -u as -static and -unix.
749
750 Thu Oct 2 18:40:28 1997 Ian Lance Taylor <ian@cygnus.com>
751
752 * ldlang.c (wild_doit): Rewrite flag handling for clarity. If we
753 are not adding the first input section, and SEC_READONLY is clear
754 on the output section, then don't copy it from the input section.
755 If SEC_READONLY is not set on the input section, then clear it on
756 the output section.
757
758 * configure.tgt (mips*-sgi-irix[56]*): Use elf32bsmip rather than
759 elf32bmip.
760 (mips*el-*-linux*): Change elf32lmip to elf32lsmip and elf32bmip
761 to elf32bsmip.
762 (mips*-*-linux*): Likewise.
763 * emulparams/elf32bsmip.sh: New file; just like elf32bmip.sh, but
764 setting ENTRY to __start.
765 * emulparams/elf32lsmip.sh: New file; just like elf32lmip.sh, but
766 setting ENTRY to __start.
767 * scripttempl/elf.sc: Always set ENTRY to _start if it was not
768 already set.
769
770 Wed Oct 1 16:41:00 1997 Nick Clifton <nickc@cygnus.com>
771
772 * emulparams/v850.sh (ROZDATA_START_ADDR, ROSDATA_START_ADDR): New
773 Variables.
774
775 * scripttempl/v850.sc: Move read only areas out of zero and small
776 data sections and into their own sections.
777
778 Wed Sep 24 16:59:15 1997 Joel Sherrill <joel@oarcorp.com>
779
780 * configure.tgt (sh*-*-rtems*): New target, like sh-*-elf*.
781
782 Wed Sep 24 11:33:14 1997 Ian Lance Taylor <ian@cygnus.com>
783
784 * ld.texinfo (Section Options): Improve documentation of NOLOAD
785 directive.
786
787 * aclocal.m4: Rebuild with new libtool.
788 * configure: Rebuild.
789
790 Mon Sep 22 17:24:06 1997 Ian Lance Taylor <ian@cygnus.com>
791
792 * ldlang.c (wild_doit): Revert patch of September 3.
793
794 Wed Sep 17 16:45:34 1997 Nick Clifton <nickc@cygnus.com>
795
796 * Makefile.am, Makefile.in: Add rule for ev850.c
797 * configure.tgt (targ_extra_emuls): Add v850 target.
798
799 start-sanitize-v850e
800 Wed Sep 17 16:43:39 1997 Nick Clifton <nickc@cygnus.com>
801
802 * emulparams/v850.sh (CALL_TABLE_START_ADDR): New entry.
803 * scripttempl/v850.sc: Add call table data area
804
805 end-sanitize-v850e
806 start-sanitize-d30v
807 Mon Sep 15 11:29:13 1997 Ken Raeburn <raeburn@cygnus.com>
808
809 Merge change from Martin Hunt:
810
811 * scripttempl/elfd30v.sc: Put .rodata in the .text section.
812
813 end-sanitize-d30v
814 Tue Sep 9 07:49:56 1997 Fred Fish <fnf@ninemoons.com>
815
816 * ldlang.c (lang_memory_region_lookup): Remove extraneous
817 initialization of p.
818
819 Thu Sep 4 09:03:33 1997 Ian Lance Taylor <ian@cygnus.com>
820
821 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): In
822 expression produced for -bpT and -bpD options, align to a 32 byte
823 boundary rather than an 8 byte boundary.
824 * scripttempl/aix.sc: Put .tocbss at start of .bss section.
825
826 * ldmisc.h, ldmisc.c, ldcref.c: Rename finfo to lfinfo, to avoid
827 function name conflict with AIX 4.2 unistd.h header file.
828
829 Wed Sep 3 15:12:32 1997 Ian Lance Taylor <ian@cygnus.com>
830
831 * ldlang.c (wild_doit): Clear SEC_HAS_CONTENTS from a
832 noload_section.
833
834 Fri Aug 29 00:32:31 1997 Ian Lance Taylor <ian@cygnus.com>
835
836 * Makefile.am (ld_new_DEPENDENCIES): Remove @LEXLIB@.
837 * Makefile.in: Rebuild.
838
839 Thu Aug 28 10:12:10 1997 Doug Evans <dje@canuck.cygnus.com>
840
841 * configure.tgt (arc-*-elf*): Recognize.
842 * Makefile.am (ALL_EMULATIONS): Add earcelf.o.
843 * Makefile.in: Regenerate.
844 * emulparams/arcelf.sh: New file.
845
846 Wed Aug 20 11:14:13 1997 Ian Lance Taylor <ian@cygnus.com>
847
848 * ldlang.c (wildcardp): Don't let a backslash by itself cause a
849 pattern to be treated as a wildcard pattern.
850
851 * ldgram.y (atype): Accept parentheses with no type.
852
853 * ld.texinfo (Section Definition): Clarify use of whitespace.
854 (Section Placement): Likewise.
855
856 start-sanitize-v850e
857 Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com>
858
859 * configure.tgt (targ_extra_emuls): Add support for v850e target.
860
861 Mon Aug 18 11:12:03 1997 Nick Clifton <nickc@cygnus.com>
862
863 * configure.tgt (targ_extra_emuls): Add support for v850e target.
864 end-sanitize-v850e
865
866 Sat Aug 9 00:42:27 1997 Ian Lance Taylor <ian@cygnus.com>
867
868 * Makefile.am (ld.info): Change dependency from
869 $(BFDDIR)/doc/bfdsumm.texi to bfdsumm.texi.
870 (ld.dvi): Likewise.
871 (bfdsumm.texi): New target.
872 (CLEANFILES): Add bfdsumm.texi.
873 * Makefile.in: Rebuild.
874
875 * Makefile.am: New file, based on old Makefile.in.
876 * acinclude.m4: New file, from old aclocal.m4.
877 * configure.in: Call AM_INIT_AUTOMAKE and AM_PROG_LIBTOOL. Remove
878 shared library handling; now handled by libtool. Replace
879 AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AC_PROG_YACC,
880 AC_PROG_LEX, and AC_DECL_YYTEXT. Call AM_MAINTAINER_MODE,
881 AM_CYGWIN32, and AM_EXEEXT. Don't call CY_CYGWIN32 or CY_EXEEXT.
882 * configure.host: Don't set HLDFLAGS, HLDENV, or RPATH_ENVVAR.
883 * acconfig.h: Mention PACKAGE and VERSION.
884 * stamp-h.in: New file.
885 * ldver.c (ld_program_version): Set ld_program_version from
886 VERSION.
887 * ldgram.y, ldlex.l: Replace VERSION with VERSIONK.
888 * Makefile.in: Now built with automake.
889 * aclocal.m4: Now built with aclocal.
890 * configure, config.in: Rebuild.
891
892 Mon Jul 28 19:04:50 1997 Rob Savoye <rob@chinadoll.cygnus.com>
893
894 * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
895 win32 dependencies.
896 * configure: Regenerated with autoconf 2.12.
897 * Makefile.in: Add $(EXEEXT) to executable.
898
899 Tue Jul 22 18:50:38 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
900
901 * emulparams/i386go32.sh (OUTPUT_FORMAT): Set to "coff-go32".
902 (SEGMENT_SIZE): Set to 0x200.
903 * scripttempl/i386go32.sc: Rewrite.
904 * configure.tgt (i[3456]86-*-msdosdjgpp*): New target.
905
906 start-sanitize-r5900
907 Tue Jul 15 10:18:09 1997 Jeffrey A Law (law@cygnus.com)
908
909 * configure.tgt: Default the r5900 to little endian.
910
911 end-sanitize-r5900
912 Mon Jul 7 12:39:42 1997 Ian Lance Taylor <ian@cygnus.com>
913
914 From Manfred Hollstein <manfred@s-direktnet.de>:
915 * configure.host (i[3456]86-*-linux*libc1*): Renamed from
916 i[3456]86-*-linux*.
917 (i[3456]86-*-linux*): New host.
918
919 Thu Jun 26 13:54:03 1997 Ian Lance Taylor <ian@cygnus.com>
920
921 * scripttempl/pe.sc: Put .rsrc after .reloc. Put input .rsrc
922 sections in the output .rsrc section.
923
924 Wed Jun 25 12:48:41 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
925
926 * configure.host (m68*-*-linux*libc1*): Renamed from
927 `m68*-*-linux*'.
928 (m68*-*-linux*): New configuration for use with GNU libc 2.
929
930 Mon Jun 16 19:18:21 1997 Geoff Keating <geoffk@ozemail.com.au>
931
932 * scripttempl/elfppc.sc: Correct .rela.sdata entries.
933
934 * scripttempl/elfppc.sc: Put the PLT between the small and large
935 BSS segments.
936 * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
937 program base of 0x02000000 is recommended...' because otherwise
938 shared libraries are less efficient. We use 0x01800000 because
939 otherwise it's impossible to branch to location 0, for instance if
940 you have an undefined weak symbol.
941
942 Mon Jun 16 12:49:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
943
944 * ldlang.c (lang_place_undefineds): Add \n in einfo call.
945 (lang_size_sections): Likewise.
946 * ldlex.l: Likewise.
947 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
948 * emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
949 Likewise.
950 (check_sections): Likewise.
951 (gld${EMULATION_NAME}_after_allocation): Likewise.
952 * emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
953 Likewise.
954 * mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
955 * mpw-idtmips.c (gldmipsidt_after_open): Likewise.
956 (check_sections): Likewise.
957 (gldmipsidt_after_allocation): Likewise.
958
959 * ldemul.c (ldemul_choose_mode): Remove unused einfo argument.
960
961 Fri Jun 6 23:47:42 1997 Ian Lance Taylor <ian@cygnus.com>
962
963 * scripttempl/pe.sc: Add zeroes after .idata$3 to mark the end of
964 the import list.
965
966 Thu May 29 13:13:22 1997 Ian Lance Taylor <ian@cygnus.com>
967
968 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Don't
969 crash if an output section has no BFD section.
970
971 Fri May 23 15:23:25 1997 Fred Fish <fnf@cygnus.com>
972
973 * lexsup.c (ld_options): Add entry for the new "task-link" option.
974 (parse_args): Handle the "task-link" option.
975 (OPTION_TASK_LINK): Add define.
976
977 Wed May 21 17:44:15 1997 Ian Lance Taylor <ian@cygnus.com>
978
979 * ldmain.c (main): Correct check of fclose return value when
980 handling --force-exe-suffix.
981
982 Thu May 15 11:35:29 1997 Nick Clifton <nickc@cygnus.com>
983
984 * ldlang.c (lang_check): Add test of the return value from the
985 call to bfd_merge_private_bfd_data().
986
987 Mon May 12 23:22:58 1997 Ian Lance Taylor <ian@cygnus.com>
988
989 * scripttempl/elfmips.sc: Remove.
990 * scripttempl/elf.sc: Set ENTRY based on target. Permit
991 TEXT_DYNAMIC to control .dynamic segment. Permit
992 SHLIB_TEXT_START_ADDR to set start of shared object. Support
993 INITIAL_READONLY_SECTIONS. Put .stub in .text. Only put
994 .gnu.linkonce.t* in .text when relocating. Support
995 OTHER_TEXT_SECTIONS. Support SHLIB_DATA_ADDR as well as
996 DATA_ADDR. Support OTHER_GOT_SYMBOLS and OTHER_GOT_SECTIONS.
997 * emulparams/elf32b4300.sh (SCRIPT_NAME): Set to elf.
998 (DATA_ADDR): Don't set.
999 (INITIAL_READONLY_SECTIONS): Rename from OTHER_READONLY_SECTIONS.
1000 (OTHER_TEXT_SECTIONS): Set.
1001 (OTHER_GOT_SECTIONS): Rename from OTHER_READWRITE_SECTIONS.
1002 (MACHINE): Set to empty string.
1003 * emulparams/elf32l4300.sh: Likewise.
1004 * emulparams/elf32ebmip.sh: Likewise.
1005 * emulparams/elf32elmip.sh: Likewise.
1006 * emulparams/elf32bmip.sh: Likewise. Also:
1007 (TEXT_DYNAMIC): Set.
1008 * emulparams/elf32lmips.sh: Likewise.
1009 * Makefile.in (eelf32bmips.c): Depend upon elf.sc rather than
1010 elfmips.sc.
1011 (eelf32ebmips.c, eelf32elmips.c, eelf32lmip.c): Likewise.
1012
1013 Mon May 12 11:11:06 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1014
1015 * scripttempl/elf.sc: Don't align the data segment on the next 8
1016 byte boundary, instead let the linker use whatever the individual
1017 sections require.
1018
1019 Fri May 9 17:45:46 1997 Ian Lance Taylor <ian@cygnus.com>
1020
1021 * configure.tgt (i[3456]86-*-gnu*): Don't include Mach support.
1022
1023 Tue May 6 13:21:19 1997 Ian Lance Taylor <ian@cygnus.com>
1024
1025 From Sean McNeil <sean@mcneil.com>:
1026 * emultempl/pe.em (sort_by_file_name): Sort by archive name
1027 first.
1028 (sort_sections): Sort all sections, not just sections in the same
1029 archive.
1030
1031 Mon May 5 18:19:55 1997 Philip Blundell <pjb27@cam.ac.uk>
1032
1033 * configure.tgt, configure.host: cope with '*-*-linux-gnuaout'
1034 targets.
1035
1036 start-sanitize-tic80
1037 Fri May 2 15:54:28 1997 Mike Meissner <meissner@cygnus.com>
1038
1039 * scripttempl/tic80coff.sc (.text): Add a leading underscore to
1040 __{D,C}TOR_{LIST,END}__ definations. Rearrange the order of items
1041 in the .text section. Move .const, .ctors, .dtors into separate
1042 sections.
1043
1044 end-sanitize-tic80
1045 Wed Apr 30 12:23:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
1046
1047 * scripttempl/m88kbcs.sc (__.initp.end, _etext): Added whitespace
1048 around assignment of current location pointer.
1049
1050 Thu Apr 17 13:07:18 1997 Ian Lance Taylor <ian@cygnus.com>
1051
1052 * ldctor.c (ldctor_build_sets): Make sure the set is aligned
1053 appropriately.
1054
1055 Tue Apr 15 13:19:26 1997 Ian Lance Taylor <ian@cygnus.com>
1056
1057 * Makefile.in (INSTALL): Set to @INSTALL@.
1058 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
1059 (install): Depend upon ld.new and installdirs. Use
1060 $(program_transform_name) directly, rather than using
1061 $(INSTALL_XFORM) and $(INSTALL_XFORM1).
1062 (installdirs): New target.
1063 (install-info): Run mkinstalldirs.
1064
1065 Mon Apr 14 12:06:15 1997 Ian Lance Taylor <ian@cygnus.com>
1066
1067 * Makefile.in (INSTALL): Change install.sh to install-sh.
1068
1069 From Thomas Graichen <graichen@rzpd.de>:
1070 * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
1071 * configure: Rebuild.
1072
1073 Fri Apr 4 11:42:41 1997 Ian Lance Taylor <ian@cygnus.com>
1074
1075 * emultempl/pe.em: Include "libiberty.h".
1076 (sort_sections_1): Use xmalloc rather than alloca.
1077
1078 * ldlex.l: Recognize SQUAD.
1079 * ldgram.y (length): Add SQUAD.
1080 * ldctor.c (ldctor_build_sets): Use SQUAD for a signed 8 byte
1081 reloc.
1082 * ldlang.c (print_data_statement): Handle SQUAD.
1083 (lang_size_sections, lang_do_assignments): Likewise.
1084 * ldexp.c (exp_print_token): Add SQUAD to table.
1085 * ldwrite.c (build_link_order): Handle SQUAD.
1086 * ld.texinfo (Section Data Expressions): Document SQUAD.
1087
1088 Thu Apr 3 13:19:40 1997 Ian Lance Taylor <ian@cygnus.com>
1089
1090 * ldver.c (ld_program_version): Set to 2.8.1.
1091
1092 * Branched binutils 2.8.
1093
1094 Wed Apr 2 11:55:27 1997 Ian Lance Taylor <ian@cygnus.com>
1095
1096 * mpw-idtmips.c: Rename from mpw-emipsidt.c.
1097 * mpw-elfmips.c: Rename from mpw-emipself.c.
1098 * mpw-config.in: Update accordingly.
1099
1100 * ldlang.c (lang_process): Call lang_check immediately after
1101 opening the input files, rather than at the end of the link.
1102
1103 Mon Mar 31 23:44:00 1997 Ian Lance Taylor <ian@cygnus.com>
1104
1105 * emultempl/pe.em (init): Fully bracket initializer.
1106 (set_pe_stack_heap): Remove locals begin_commit and end.
1107 (gld_${EMULATION_NAME}_after_open): Remove unused local i.
1108 (gld${EMULATION_NAME}_place_orphan): Remove unused local ptr.
1109
1110 Mon Mar 31 16:35:51 1997 Joel Sherrill <joel@oarcorp.com>
1111
1112 * configure.tgt (hppa*-*-rtems*): New target, like hppa-*-*elf*.
1113
1114 Fri Mar 28 15:29:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
1115
1116 Contributed by David S. Miller <davem@caip.rutgers.edu>:
1117 * configure.tgt (sparc*-*-linuxaout*): New target.
1118 (sparc*-*-linux*): New target.
1119 * emulparams/sparclinux.sh: New file.
1120 * Makefile.in (ALL_EMULATIONS): Add esparclinux.o.
1121 (esparclinux.c): New target.
1122
1123 Fri Mar 28 14:30:12 1997 Ian Lance Taylor <ian@cygnus.com>
1124
1125 From Ralf Baechle <ralf@gnu.ai.mit.edu>:
1126 * configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and
1127 mips*-*-linux*. Use elf32bmip and elf32lmip, not elf32ebmip and
1128 elf32elmip.
1129
1130 Thu Mar 27 17:14:32 1997 Ian Lance Taylor <ian@cygnus.com>
1131
1132 * lexsup.c (parse_args): Update copyright date in version
1133 message.
1134
1135 Fri Mar 21 12:28:41 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
1136
1137 * emulparams/delta68.sh (OUTPUT_FORMAT): Set to "coff-m68k-sysv".
1138
1139 Tue Mar 18 11:16:23 1997 Ian Lance Taylor <ian@cygnus.com>
1140
1141 * Makefile.in: Rebuild dependencies.
1142
1143 * emultempl/aix.em: Include "obstack.h".
1144
1145 Mon Mar 17 19:26:06 1997 Ian Lance Taylor <ian@cygnus.com>
1146
1147 * ldlang.c: Include "obstack.h".
1148
1149 Sat Mar 15 23:23:46 1997 Fred Fish <fnf@cygnus.com>
1150
1151 * configure.tgt (powerpc-*-beos*): Use aixppc for targ_emul.
1152
1153 Sat Mar 15 18:10:38 1997 H.J. Lu <hjl@lucon.org>
1154
1155 * ldemul.h (ldemul_list_emulations): Use full prototype.
1156 * ldlang.c (print_one_symbol): Add declaration.
1157 * ldlang.h (dprint_statements): Declare.
1158 * ldmain.c (remove_output): Declare.
1159 * ldmisc.c (vfinfo): Declare.
1160 * ldwrite.c (clone_section): Declare.
1161 (split_sections): Make static. Declare.
1162 * mri.c: Include libiberty.h.
1163 (strdup): Don't declare.
1164 (mri_alias): Use xstrdup rather than strdup.
1165
1166 Fri Mar 14 21:30:06 1997 Ian Lance Taylor <ian@cygnus.com>
1167
1168 * scripttempl/elfmips.sc: Change handling of data area when
1169 generating a shared library to not skip a large block of memory.
1170 From Per Fogelstrom <pefo@cvs.openbsd.org>.
1171
1172 Wed Mar 12 21:33:09 1997 Ian Lance Taylor <ian@cygnus.com>
1173
1174 * ldmain.c (multiple_definition): Only skip the warning if the
1175 output section is absolute when the input section is not
1176 absolute.
1177
1178 * ldlex.l: Accept whitespace in VERS_START state. Warn about
1179 invalid characters in VERS_* states.
1180
1181 Tue Mar 11 13:51:31 1997 Ian Lance Taylor <ian@cygnus.com>
1182
1183 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Don't let a
1184 trailing space lead us to think that there is a zero address.
1185
1186 Sun Mar 9 23:06:35 1997 Eric Youngdale <eric@andante.jic.com>
1187
1188 * ldgram.y (vers_node): Correct typo of '(' for '{'.
1189
1190 start-sanitize-tic80
1191 Fri Mar 7 18:40:12 1997 Fred Fish <fnf@cygnus.com>
1192
1193 * scripttempl/tic80coff.sc (ENTRY): Entry symbol is __start
1194 rather than _start.
1195 (__edata): Define this rather than "edata".
1196 (__end): Define this rather than "end".
1197
1198 Tue Mar 4 17:18:35 1997 Michael Meissner <meissner@cygnus.com>
1199
1200 * configure.tgt (tic80-*-*): Allow dropping of -coff.
1201
1202 end-sanitize-tic80
1203 Sun Mar 2 22:59:49 1997 Fred Fish <fnf@cygnus.com>
1204
1205 * Makefile.in (ld.dvi): Set MAKEINFO environment variable as well
1206 as TEXINPUTS. Needed for building in separate build dir.
1207 * ldint.texinfo (SCRIPT_NAME): Fix typo.
1208 start-sanitize-tic80
1209 * emulparams/tic80coff.sh: Rewrite to include internal documentation
1210 about each shell variable that is set (or not set).
1211 * scripttempl/tic80coff.sc: Complete rewrite.
1212 end-sanitize-tic80
1213
1214 Fri Feb 28 17:42:27 1997 Ian Lance Taylor <ian@cygnus.com>
1215
1216 * ldmain.c (main): Call bfd_set_default_target.
1217 * Makefile.in (ldmain.o): Define TARGET when compiling.
1218
1219 Thu Feb 27 11:41:03 1997 Ian Lance Taylor <ian@cygnus.com>
1220
1221 * ldmain.c (main): Don't initialize link_info.lprefix or
1222 link_info.lprefix_len.
1223 * emultempl/hppaelf.em (hppaelf_before_parse): Likewise.
1224
1225 * emultempl/m88kbcs.em: Remove.
1226 * emulparams/m88kbcs.sh (TEMPLATE_NAME): Don't set.
1227 * Makefile.in (em88kbcs.c): Depend upon generic.em rather than
1228 m88kbcs.em.
1229
1230 * mri.c (mri_draw_tree): Pass noload_section, not SEC_NEVER_LOAD,
1231 to lang_enter_output_section_statement. From Mark Rasin
1232 <mark.rasin@telrad.co.il>.
1233
1234 Wed Feb 26 11:51:44 1997 Ian Lance Taylor <ian@cygnus.com>
1235
1236 * ldlang.c (lang_one_common): Clear SEC_IS_COMMON from common
1237 section.
1238
1239 Tue Feb 25 20:38:11 1997 Stan Shebs <shebs@andros.cygnus.com>
1240
1241 * configure.tgt (mips*-*-lnews*): New target.
1242 * Makefile.in (emipslnews.c): New target.
1243 * emulparams/mipslnews.sh: New file.
1244
1245 Tue Feb 25 16:04:09 1997 Ian Lance Taylor <ian@cygnus.com>
1246
1247 * emultempl/elf32.em (hold_interp): New static variable.
1248 (gld${EMULATION_NAME}_place_orphan): Put loadable .note sections
1249 after hold_interp. Choose a unique output section name.
1250 (gld${EMULATION_NAME}_place_section): Don't set hold_use if the
1251 SEC_LOAD or SEC_ALLOC flags differ. Set hold_interp.
1252
1253 Mon Feb 24 18:16:09 1997 Ian Lance Taylor <ian@cygnus.com>
1254
1255 From Eric Youngdale <eric@andante.jic.com>:
1256 * ldlex.l (V_TAG, V_IDENTIFIER): New macros.
1257 (VERS_START, VERS_SCRIPT, VERS_NODE): New states to parse version
1258 information.
1259 (ldlex_version_script, ldlex_version_file): New functions.
1260 * ldlex.h (enum input_enum): Add input_version_script.
1261 (ldlex_version_script): Declare.
1262 (ldlex_version_file): Declare.
1263 * ldgram.y (%union): Add deflist, versyms, and versnode.
1264 (VERS_TAG, VERS_IDENTIFIER): New terminals.
1265 (GLOBAL, LOCAL, VERSION, INPUT_VERSION_SCRIPT): New terminals.
1266 (file): Accept INPUT_VERSION_SCRIPT.
1267 (ifile_p1): Accept version.
1268 (version_script_file): New nonterminal.
1269 (version, vers_nodes, vers_node): Likewise.
1270 (verdep, vers_tag, ver_defns): Likewise.
1271 * ldlang.c (lang_elf_version_info): New global variable.
1272 (lang_new_vers_regex): New function.
1273 (lang_new_vers_node): New function.
1274 (version_index): New static variable.
1275 (lang_register_vers_node): New function.
1276 (lang_add_vers_depend): New function.
1277 * ldlang.h (lang_elf_version_info): Declare.
1278 (lang_new_vers_regex, lang_new_vers_node): Declare.
1279 (lang_add_vers_depend, lang_register_vers_node): Declare.
1280 * lexsup.c (OPTION_VERSION_SCRIPT): Define.
1281 (ld_options): Add "version-script".
1282 (parse_args): Handle OPTION_VERSION_SCRIPT.
1283 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
1284 Pass lang_elf_version_info to size_dynamic_sections.
1285 * scripttempl/elf.sc: Add .gnu.version sections.
1286 * ld.texinfo: Document symbol versioning.
1287
1288 start-sanitize-d30v
1289 Fri Feb 21 17:37:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
1290
1291 * Makefile.in (ed30velf.c): New target.
1292 * configure.tgt (d30v-*-*): New target.
1293 * emulparams/d30velf.sh: New file.
1294 * scripttempl/elfd30v.sc: New file.
1295
1296 end-sanitize-d30v
1297 Fri Feb 14 18:28:31 1997 Ian Lance Taylor <ian@cygnus.com>
1298
1299 * ld.texinfo (Option Commands): Document the INCLUDE command.
1300
1301 Thu Feb 13 20:31:37 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
1302
1303 * configure.in: Call BFD_NEED_DECLARATION on getenv.
1304 * acconfig.h (NEED_DECLARATION_GETENV): New macro.
1305 * sysdep.h (getenv): Declare if NEED_DECLARATION_GETENV.
1306 * ldemul.c (ld_emul_default_target): Do not cast getenv return
1307 value.
1308 * ldmain.c (get_emulation): Likewise.
1309 * configure, config.in: Rebuild.
1310
1311 Tue Feb 11 15:34:26 1997 Ian Lance Taylor <ian@cygnus.com>
1312
1313 * scripttempl/elfmips.sc: When relocating, put .mips16.fn.* and
1314 .mips16.call.* in .text.
1315
1316 start-sanitize-r5900
1317 Fri Feb 7 13:16:53 1997 Gavin Koch <gavin@cygnus.com>
1318
1319 * configure.tgt: add r5900.
1320
1321 end-sanitize-r5900
1322 start-sanitize-tic80
1323 Sun Feb 9 18:09:13 1997 Fred Fish <fnf@cygnus.com>
1324
1325 * emulparams/tic80coff.sh: New (dummy) file for TIc80.
1326 * scripttempl/tic80coff.sc: New (dummy) file for TIc80.
1327 * Makefile.in (etic80coff.c): Add target and rule to build it.
1328 * configure.tgt (tic80-*-coff): Set targ_emul to tic80coff.
1329
1330 end-sanitize-tic80
1331 Fri Jan 31 13:16:53 1997 Ian Lance Taylor <ian@cygnus.com>
1332
1333 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Search for
1334 ".so" in the name, not ".so.".
1335 (gld${EMULATION_NAME}_search_dir): Accept a plain .so file.
1336
1337 * Makefile.in (ld.info): Add -I$(srcdir). From Alan Modra
1338 <alan@spri.levels.unisa.edu.au>.
1339
1340 Thu Jan 30 11:31:52 1997 Ian Lance Taylor <ian@cygnus.com>
1341
1342 * emultempl/sunos.em: Include <ctype.h>.
1343 (gld${EMULATION_NAME}_find_so): Skip the directory name when
1344 searching for ".so.".
1345 (gld${EMULATION_NAME}_search_dir): Make sure that the library name
1346 has a version number, and that only version numbers follow .so.
1347
1348 Wed Jan 29 18:15:00 1997 Geoffrey Noer <noer@cygnus.com>
1349
1350 * scripttempl/pe.sc:
1351 * scripttempl/ppcpe.sc: add *(.gcc_except_table) to the text
1352 section so Win32 executables are valid.
1353
1354 Mon Jan 27 12:28:43 1997 Ian Lance Taylor <ian@cygnus.com>
1355
1356 * scripttempl/elf.sc: Put linkonce reloc section in other
1357 appropriate reloc sections.
1358 * scripttempl/elfmips.sc: Add linkonce support.
1359 * scripttempl/elfppc.sc: Likewise.
1360
1361 Fri Jan 24 10:44:09 1997 Jeffrey A Law (law@cygnus.com)
1362
1363 * emulparms/mn10200.sh (OTHER_RELOCATING_SECTIONS): Move the
1364 stack up to 0x80000.
1365 * emulparms/mn10300.sh (OTHER_RELOCATING_SECTIONS): Likewise.
1366
1367 Tue Jan 21 12:11:10 1997 Doug Evans <dje@seba.cygnus.com>
1368
1369 * emulparams/m32relf.sh (OTHER_RELOCATING_SECTIONS): Use PROVIDE
1370 to define `_stack'.
1371
1372 Thu Jan 16 17:07:52 1997 Ian Lance Taylor <ian@cygnus.com>
1373
1374 * ld.h (args_type): Rename auxiliary_filter_shlib to
1375 auxiliary_filters, and make it char **.
1376 * lexsup.c (parse_args): Handle -f by setting up an array.
1377 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Use
1378 new name of auxiliary_filters.
1379
1380 * ld.texinfo (Options): Improve documentation of --filter and
1381 --auxiliary.
1382
1383 Tue Jan 14 15:44:28 1997 Ian Lance Taylor <ian@cygnus.com>
1384
1385 * ld.texinfo (Options): Clarify that the normal usage is -T.
1386 (Commands): Likewise.
1387
1388 Thu Jan 9 11:26:27 1997 Ian Lance Taylor <ian@cygnus.com>
1389
1390 * scripttempl/armcoff.sc: Correct mask used for .data address.
1391
1392 Wed Jan 8 15:14:59 1997 Geoffrey Noer <noer@cygnus.com>
1393
1394 * emultempl/pe.em: make default executable a.exe instead of
1395 a.out
1396
1397 Fri Jan 3 17:33:34 1997 Richard Henderson <rth@tamu.edu>
1398
1399 * scripttempl/elf.sc: Move .got closer to .sdata and .sbss by
1400 shifting .plt back. Rumour has it that the NetBSD ld.so depends
1401 on .dynamic being after .got, so we leave that.
1402
1403 Fri Jan 3 14:04:40 1997 Ian Lance Taylor <ian@cygnus.com>
1404
1405 * Makefile.in (clean): Don't remove configdoc.texi.
1406 (maintainer-clean): Do remove configdoc.texi.
1407
1408 * ld.texinfo (Operators): Remove '@' from @smallexmple in comment
1409 to avoid confusing texi2roff.
1410
1411 Fri Jan 3 11:27:02 1997 Michael Meissner <meissner@tiktok.cygnus.com>
1412
1413 * scripttempl/v850.sc (.zdata): Add .zcommon section.
1414 (.tdata): Add .tcommon and .tcommon_byte sections.
1415
1416 Thu Jan 2 18:14:32 1997 Ian Lance Taylor <ian@cygnus.com>
1417
1418 * configure.tgt (mips*el-*-linux*, mips*-*-linux*): New targets.
1419 * scripttempl/elfmips.sc: Use __start as the entry address for
1420 mips*-*-linux*.
1421
1422 Tue Dec 31 14:48:30 1996 Ian Lance Taylor <ian@cygnus.com>
1423
1424 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
1425
1426 * ld.h (args_type): Add filter_shlib and auxiliary_filter_shlib
1427 fields.
1428 * lexsup.c (parse_args): Recognize --auxiliary/-f and
1429 --filter/-F.
1430 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
1431 Pass filter_shlib and auxiliary_filter_shlib to
1432 size_dynamic_sections.
1433 * ld.texinfo, ld.1: Document --filter/-F and --auxiliary/-f.
1434
1435 Mon Dec 30 13:55:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1436
1437 * scripttempl/v850.sc (.tdata) Add .tbss and .tbyte sections.
1438
1439 Wed Dec 18 22:57:35 1996 Stan Shebs <shebs@andros.cygnus.com>
1440
1441 * mpw-make.sed: Use NewFolderRecursive for installation.
1442
1443 Fri Dec 13 14:08:50 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1444
1445 * scripttempl/v850.sc: Make sure __{e,g}p start relative to the
1446 {s,t}data sections. Do not emit any linker generated symbols if
1447 -r. Use {TEXT,{Z,S,T}DATA}_START_ADDR variables to initialize
1448 where the different sections go. Change some whitespace.
1449
1450 * emulparams/v850.sh ({TEXT,{Z,S,T}DATA}_START_ADDR): Define
1451 appropriately. Remove crud not used anymore.
1452
1453 Fri Dec 13 10:19:57 1996 Jeffrey A Law (law@cygnus.com)
1454
1455 * Makefile.in (emn10200.c): Add dependencies.
1456 * configure.tgt: Handle mn10200.
1457 * emulparms/mn10200.sh: New file.
1458
1459 Thu Dec 12 17:04:55 1996 Ian Lance Taylor <ian@cygnus.com>
1460
1461 * emultempl/gld960c.em: Include <ctype.h>.
1462 (gld960_set_output_arch): Get the machine type from the -A option
1463 if there is one, rather than always using core.
1464
1465 Sat Dec 7 10:07:51 1996 Jeffrey A Law (law@cygnus.com)
1466
1467 * emulparms/mn10300.sh: Handle leading underscores.
1468
1469 Thu Dec 5 13:45:58 1996 Ian Lance Taylor <ian@cygnus.com>
1470
1471 * emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Only
1472 set hold_rel if SEC_ALLOC is set.
1473
1474 Tue Dec 3 11:29:20 1996 Ian Lance Taylor <ian@cygnus.com>
1475
1476 * ldlang.c (section_already_linked): Set the output_offset as well
1477 as the output_section when only reading symbols from a file.
1478
1479 Mon Dec 2 11:43:50 1996 Ian Lance Taylor <ian@cygnus.com>
1480
1481 * emulparams/*.sh: Make sure that each set of parameters which
1482 uses the elf.sc script sets MACHINE.
1483
1484 Wed Nov 27 03:22:05 1996 Jason Merrill <jason@yorick.cygnus.com>
1485
1486 * scripttempl/elf{,mips,ppc}.sc: Add the remaining DWARF sections.
1487 * scripttempl/elfd10v.sc: Likewise.
1488 * scripttempl/v850.sc: Likewise.
1489
1490 Tue Nov 26 16:58:33 1996 Ian Lance Taylor <ian@cygnus.com>
1491
1492 * configure: Rebuild with autoconf 2.12.
1493
1494 Mon Nov 25 12:17:55 1996 Jim Wilson <wilson@cygnus.com>
1495
1496 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Add case
1497 for bfd_vma to init loop.
1498
1499 Mon Nov 25 09:55:07 1996 Jeffrey A Law (law@cygnus.com)
1500
1501 * emulparms/mn10300.sh: Remove bogus '_' prefix for
1502 entry symbol and ctor/dtor stuff.
1503
1504 Fri Nov 15 13:00:18 1996 Jeffrey A Law (law@cygnus.com)
1505
1506 * Makefile.in (emn10300.c): Add dependencies.
1507 * configure.tgt: Handle mn10300.
1508 * emulparms/mn10300.sh: New file.
1509
1510 Tue Nov 5 10:57:50 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1511
1512 * emulparams/d10velf.sh (READONLY_START_ADDR): Changed to 0x2000004.
1513 (EMBEDDED): Define.
1514
1515 Fri Nov 1 10:01:27 1996 Ian Lance Taylor <ian@cygnus.com>
1516
1517 * ld.texinfo: Add section on reporting bugs.
1518
1519 * scripttempl/m68kcoff.sc: Make sure the etext and __CTOR_LIST__
1520 symbols are correctly aligned.
1521
1522 Thu Oct 31 09:28:59 1996 Jeffrey A Law (law@cygnus.com)
1523
1524 * scriptempl/v850.sc (zdata): Handle reszdata, romzdata and
1525 romzbss too.
1526
1527 Tue Oct 29 12:33:05 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1528
1529 * emulparams/d10velf.sh: Changes needed for D10V-EVA board.
1530 Set TEXT_START_ADDR to 0x1000000. Set READONLY_START_ADDR to
1531 0x2000000.
1532
1533 * scripttempl/elfd10v.sc: Fix calculation of .text. Change
1534 .stack to start at 0x2007ffe.
1535
1536 Mon Oct 28 15:37:00 1996 Doug Evans <dje@canuck.cygnus.com>
1537
1538 * configure.tgt (sparclet*-*-aout*): Delete, use sparc*-*-aout*.
1539
1540 Wed Oct 23 16:17:22 1996 Jeffrey A Law (law@cygnus.com)
1541
1542 * scriptempl/v850.sc (zdata): Fix typo "zrodata" -> "rozdata".
1543
1544 * scriptempl/v850.sc (zdata): Make sure this stays
1545 in lo-memory.
1546
1547 Tue Oct 22 11:36:47 1996 Jeffrey A Law (law@cygnus.com)
1548
1549 * scripttempl/v850.sc (__ep): Put it at the start
1550 of the tda section.
1551
1552 * scriptempl/v850.sc: Move all "normal" sections into
1553 the external memory region (0x100000 - 0x200000).
1554
1555 Mon Oct 21 17:16:59 1996 Michael Meissner <meissner@wogglebug.tiac.net>
1556
1557 * scripttempl/elfd10v.sc: Clone from elf.sc, move .text to
1558 0x10000, so that is more room for data.
1559
1560 * emulparams/d10velf.sh (TEXT_START_ADDR): Now 0x100000.
1561 (READONLY_START_ADDR): Now 0x0.
1562 (SCRIPT_NAME): Now elfd10v.
1563
1564 * Makefile.in (ed10velf.c): Depend on elfd10v.sc, not elf.sc.
1565
1566 Fri Oct 18 22:12:49 1996 Doug Evans <dje@canuck.cygnus.com>
1567
1568 * emulparams/m32relf.sh (TEXT_START_ADDR): Change from 0 to 0x100.
1569
1570 Fri Oct 18 15:43:38 1996 Ian Lance Taylor <ian@cygnus.com>
1571
1572 * Makefile.in (ALL_EMULATIONS): Remove eelf64alpha.o.
1573 (ALL_64_EMULATIONS): New variable.
1574 * configure.in: Accept --enable-64-bit-bfd option. If it is set
1575 with --enable-targets=all, include ALL_64_EMULATIONS in
1576 EMULATION_OFILES.
1577 * configure: Rebuild.
1578
1579 Fri Oct 18 12:58:35 1996 Jeffrey A Law (law@cygnus.com)
1580
1581 * scripttempl/v850.sc (__gp, __ep): Define.
1582
1583 Thu Oct 17 18:14:07 1996 Ian Lance Taylor <ian@cygnus.com>
1584
1585 * ld.texinfo: Try to consistently use a single or a double dash
1586 for each option.
1587
1588 Thu Oct 17 10:17:20 1996 Doug Evans <dje@canuck.cygnus.com>
1589
1590 * emulparams/m32relf.sh (EMBEDDED): Define.
1591
1592 Thu Oct 17 10:56:49 1996 Jeffrey A Law (law@cygnus.com)
1593
1594 * scripttempl/v850.sc (.zdata): Add this before .text.
1595 (.sdata): Also include .rosdata as part of the .sdata.
1596 (.tdata): Include this just before .sdata.
1597
1598 * emulparms/v850.sh (SCRIPT_NAME): Use "v850" not "elf".
1599 * scripttempl/v850.sc: Wrap script with a "cat << EOF".
1600
1601 Wed Oct 16 23:10:01 1996 Jeffrey A Law (law@cygnus.com)
1602
1603 * scripttempl/v850.sc: New linker script for the V850.
1604 * Makefile.in: Use it.
1605
1606 Thu Oct 10 17:57:00 1996 Ian Lance Taylor <ian@cygnus.com>
1607
1608 * emulparams/elf32b4300.sh: Define _gp in OTHER_GOT_SYMBOLS, not
1609 OTHER_READWRITE_SECTIONS.
1610 * emulparams/elf32l4300.sh: Likewise.
1611
1612 Wed Oct 9 14:36:18 1996 Ian Lance Taylor <ian@cygnus.com>
1613
1614 * ld.h (ld_config_type): Add warn_section_align field.
1615 * lexsup.c (OPTION_WARN_SECTION_ALIGN): Define.
1616 (ld_options): Add --warn-section-align.
1617 (parse_args): Handle --warn-section-align.
1618 * ldlang.c (lang_size_sections): If warn_section_align, warn if
1619 the start of a section changes due to alignment.
1620 * ld.texinfo, ld.1: Document --warn-section-align.
1621 * ld.texinfo: Change some single dashes to double dashes.
1622
1623 * emultempl/pe.em (set_pe_subsystem): Record entry symbol for each
1624 subsystem type. Ifdef out os2 type. Recognize a version number.
1625
1626 Tue Oct 8 12:07:13 1996 Ian Lance Taylor <ian@cygnus.com>
1627
1628 * emultempl/pe.em (set_pe_subsystem): When setting the subsystem
1629 to windows, set the entry point.
1630
1631 * Makefile.in (ldlex.c): Don't pass any options to $(LEX).
1632
1633 Mon Oct 7 17:29:05 1996 Ian Lance Taylor <ian@cygnus.com>
1634
1635 * ld.texinfo (Options): Mention .so extensions for shared
1636 libraries.
1637
1638 Sun Oct 6 22:35:36 1996 Jason Merrill <jason@yorick.cygnus.com>
1639
1640 * scripttempl/elf{,mips,ppc}.sc: Add DWARF 2 sections.
1641
1642 Fri Oct 4 18:49:31 1996 Ian Lance Taylor <ian@cygnus.com>
1643
1644 * scripttempl/m68kcoff.sc: Only set the address of .text if
1645 RELOCATING.
1646
1647 Fri Oct 4 10:59:52 1996 Doug Evans <dje@canuck.cygnus.com>
1648
1649 * emulparams/sparcaout.sh ({BIG,LITTLE}_OUTPUT_FORMAT): Define.
1650 * scripttempl/aout.sc ({BIG,LITTLE}_OUTPUT_FORMAT): Provide default.
1651 (OUTPUT_FORMAT): Support bi-endian targets.
1652
1653 Thu Oct 3 13:52:03 1996 Ian Lance Taylor <ian@cygnus.com>
1654
1655 * fnmatch.h, fnmatch.c: Remove (now in libiberty).
1656 * Makefile.in: Rebuild dependencies.
1657 (CFILES): Remove fnmatch.c.
1658 (HFILES): Remove fnmatch.h.
1659 (OFILES): Remove fnmatch.o.
1660
1661 Thu Oct 3 15:41:24 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1662
1663 * Makefile.in (mostlyclean): Move config.log to distclean.
1664
1665 Wed Oct 2 23:45:25 1996 Geoffrey Noer <noer@cygnus.com>
1666
1667 * emultmpl/pe.em: increase size of stack reserve to 0x2000000
1668 (necessary in order to compile parse.c in gcc sources under NT)
1669
1670 Wed Oct 2 14:49:10 1996 Ian Lance Taylor <ian@cygnus.com>
1671
1672 * lexsup.c (ld_options): Fix typo in --rpath-link description.
1673 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Suggest
1674 --rpath if a needed library is not found.
1675
1676 Tue Oct 1 16:17:33 1996 Joel Sherrill <joel@oarcorp.com>
1677
1678 * configure.tgt (mips*-*-rtems*): New target, like mips*-*-elf*.
1679
1680 Tue Oct 1 15:50:34 1996 Ian Lance Taylor <ian@cygnus.com>
1681
1682 * ld.texinfo (Options): Give more detail on -l option.
1683
1684 * scripttempl/elfmips.sc: Handle CREATE_SHLIB the same way that
1685 elf.sc does, so that glibc works better.
1686
1687 * ldver.c (ld_program_version): New variable.
1688 (ldversion): Use it.
1689 * ldver.h (ld_program_version): Declare.
1690 * lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
1691 --version. Change --version handling to match current GNU
1692 standards.
1693 (help): Print bug report address.
1694
1695 Mon Sep 30 12:14:43 1996 Doug Evans <dje@canuck.cygnus.com>
1696
1697 * Makefile.in (em32relf.c): Add rule for.
1698 * configure.tgt (m32r-*-*): Recognize.
1699 * emulparams/m32relf.sh: New file.
1700
1701 Thu Sep 26 13:58:47 1996 Stan Shebs <shebs@andros.cygnus.com>
1702
1703 * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit.
1704 * mpw-config.in: Add mips-*-* case as mips-elf, and use more
1705 wildcards in matching.
1706 * mpw-emipself.c: New file, pregenerated mips elf emulation.
1707
1708 Tue Sep 17 12:18:21 1996 Ian Lance Taylor <ian@cygnus.com>
1709
1710 * ldint.texinfo: Rewrote.
1711
1712 * configure.tgt: Add cases for MIPS 5000 like MIPS 4300.
1713
1714 Mon Sep 16 17:55:21 1996 Ian Lance Taylor <ian@cygnus.com>
1715
1716 * scripttempl/armcoff.sc: Only define symbols if RELOCATING. Fix
1717 syntax error on __end__ line.
1718
1719 * scripttempl/armcoff.sc: For -N or -n, don't align .data. From
1720 Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
1721
1722 Sun Sep 15 22:09:56 1996 Jeffrey A Law (law@cygnus.com)
1723
1724 * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS.
1725
1726 Sun Sep 15 10:38:16 1996 Mark Alexander <marka@cygnus.com>
1727
1728 * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put
1729 stack at top of simulator memory.
1730
1731 Fri Sep 13 15:49:45 1996 Ian Lance Taylor <ian@cygnus.com>
1732
1733 * ldlex.l (SYMBOLCHARN): Add $, _, and ~.
1734
1735 Wed Sep 11 23:30:42 1996 Ian Lance Taylor <ian@cygnus.com>
1736
1737 * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al.
1738
1739 Thu Sep 5 15:24:12 1996 Ian Lance Taylor <ian@cygnus.com>
1740
1741 * ldlang.c (section_already_linked): Accept a lang_input_statement
1742 as the PTR argument. If the file is symbols only, discard all
1743 input sections.
1744 (ldlang_add_file): Pass entry to bfd_map_over_sections.
1745
1746 Wed Sep 4 15:53:43 1996 Ian Lance Taylor <ian@cygnus.com>
1747
1748 * configure.tgt (alpha-*-gnu*): New target. From Fila Kolodny
1749 <fila@ibi.com>.
1750
1751 Tue Sep 3 00:52:54 1996 Jeffrey A Law (law@cygnus.com)
1752
1753 * emulparms/v850.sh: Set OTHER_RELOCATING_SECTIONS
1754
1755 Sun Sep 1 21:48:58 1996 Jeffrey A Law (law@cygnus.com)
1756
1757 * emulparms/v850.sh: Set EMBEDDED.
1758
1759 Fri Aug 30 22:30:30 1996 Jeffrey A Law (law@cygnus.com)
1760
1761 * emulparms/v850.sh: Entry symbol is "_start", tweak
1762 ctor/dtor support.
1763
1764 Fri Aug 30 18:32:31 1996 Ian Lance Taylor <ian@cygnus.com>
1765
1766 * configure.tgt (sh-*-elf*): New target.
1767 * emulparams/shelf.sh: New file.
1768 * emulparams/shlelf.sh: New file.
1769 * Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
1770 (eshelf.c, eshlelf.c): New targets.
1771 * scripttempl/elf.sc: If EMBEDDED is defined, then don't add
1772 SIZEOF_HEADERS to TEXT_START_ADDR. Expand CTOR_START and CTOR_END
1773 around .ctors, and DTOR_START and DTOR_END around .dtors. Expand
1774 OTHER_RELOCATING_SECTIONS if RELOCATING.
1775
1776 Thu Aug 29 16:57:46 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1777
1778 * configure.{host,tgt} (i[345]86-*-*): Recognize i686 for pentium
1779 pro.
1780
1781 Mon Aug 26 12:58:11 1996 Ian Lance Taylor <ian@cygnus.com>
1782
1783 * ldgram.y (section): Add opt_nocrossrefs; pass value to
1784 lang_enter_overlay.
1785 (opt_nocrossrefs): New nonterminal.
1786 * ldlex.l: Recognize NOCROSSREFS keyword in EXPRESSION mode.
1787 * ldlang.c (overlay_nocrossrefs): New static variable.
1788 (lang_enter_overlay): Add nocrossrefs parameter.
1789 (lang_leave_overlay): Only add nocrossrefs if overlay_nocrossrefs
1790 is set. Initialize overlay_nocrossrefs.
1791 * ldlang.h (lang_enter_overlay): Update declaration.
1792 * ld.texinfo (Overlays): Update documentation.
1793
1794 * ldver.c (ldversion): Print GNU ld in the version message.
1795
1796 Thu Aug 22 17:10:40 1996 Ian Lance Taylor <ian@cygnus.com>
1797
1798 * configure.host: Set HLDENV.
1799 * configure.in: Substitute HLDENV.
1800 * configure: Rebuild.
1801 * Makefile.in (HLDENV): New variable.
1802 ($(LD_PROG)): Use $(HLDENV).
1803
1804 Thu Aug 22 16:29:28 1996 Jeffrey A Law (law@cygnus.com)
1805
1806 * Makefile.in (ev850.c): New target.
1807 * configure.tgt (v850-*-*): New target.
1808 * emulparams/v850.sh: New file.
1809
1810 Thu Aug 22 11:16:02 1996 Stan Shebs <shebs@andros.cygnus.com>
1811
1812 * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit.
1813
1814 Wed Aug 21 11:26:37 1996 Ian Lance Taylor <ian@cygnus.com>
1815
1816 * scripttempl/elf.sc: Put .gnu.linkonce* sections in appropriate
1817 containing sections.
1818
1819 Mon Aug 19 13:01:42 1996 Ian Lance Taylor <ian@cygnus.com>
1820
1821 * fnmatch.c: Include sysdep.h.
1822
1823 Mon Aug 19 11:28:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1824
1825 * genscripts.sh: Undo 8/16 change.
1826
1827 * emulparams/d10velf.sh (MACHINE): Explicitly set to nothing.
1828
1829 Fri Aug 16 19:18:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1830
1831 * genscripts.sh: Explicitly reset any shell variables set or used
1832 by the various .sc scripts to allow inadvertant use of these
1833 names as normal environment variables by the person running
1834 configure.
1835
1836 * Makefile.in (ed10velf.c): Use tdir_d10v, not tdir_arcelf.
1837
1838 Fri Aug 16 14:15:41 1996 James G. Smith <jsmith@cygnus.co.uk>
1839
1840 * scripttempl/armcoff.sc (__bss_start__, __bss_end__,
1841 __data_start__, __data_end__): Added to keep in sync. with the
1842 default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
1843
1844 Thu Aug 8 14:24:56 1996 Ian Lance Taylor <ian@cygnus.com>
1845
1846 * ldcref.c (check_reloc_refs): If info->same, look for any symbol
1847 defined in info->defsec, not just the section symbol.
1848
1849 Wed Aug 7 14:40:48 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
1850
1851 * configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
1852 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
1853 (NEED_DECLARATION_SBRK): New macro.
1854 * configure, config.in: Rebuild.
1855 * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
1856 * ldmain.c (sbrk): Declare if HAVE_SBRK and
1857 NEED_DECLARATION_SBRK.
1858
1859 * ldlang.c (lang_record_phdrs): Cast xmalloc and xrealloc return.
1860
1861 Mon Aug 5 16:26:14 1996 Ian Lance Taylor <ian@cygnus.com>
1862
1863 * ldlex.l: Recognize OVERLAY.
1864 * ldgram.y: Add section_phdr field to %union.
1865 (section): Handle phdr_opt result. Add OVERLAY case.
1866 (opt_exp_without_type): New nonterminal.
1867 (phdr_opt): Return list of phdrs.
1868 (overlay_section): New nonterminal.
1869 * ldlang.c: Include <ctype.h>.
1870 (lang_leave_output_section_statement): Add phdrs parameter.
1871 Change all callers.
1872 (lang_section_in_phdr): Remove.
1873 (overlay_vma, overlay_lmn, overlay_max): New static variables.
1874 (struct overlay_list): Define.
1875 (overlay_list): New static variable.
1876 (lang_enter_overlay, lang_enter_overlay_section): New functions.
1877 (lang_leave_overlay_section, lang_leave_overlay): New functions.
1878 * ldlang.h (lang_leave_output_section_statement): Update
1879 declaration for new parameter.
1880 (lang_section_in_phdr): Don't declare.
1881 (lang_enter_overlay, lang_enter_overlay_section): Declare.
1882 (lang_leave_overlay_section, lang_leave_overlay): Declare.
1883 * ld.texinfo (Overlays): New node under SECTIONS, documenting
1884 overlays.
1885
1886 * ldlex.l: Recognize MAX and MIN.
1887 * ldgram.y (MAX, MIN): New terminals.
1888 (exp): Recognize MAX and MIN.
1889 * ldexp.c (fold_binary): Handle MAX and MIN.
1890 * ld.texinfo (Arithmetic Functions): Document MAX and MIN.
1891
1892 * ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
1893 index entries.
1894
1895 * ldgram.y (SIZEOF, ADDR): Do not specify type.
1896
1897 * ldcref.c (check_nocrossref): Skip symbols with no output
1898 sections.
1899
1900 Fri Aug 2 14:57:49 1996 Ian Lance Taylor <ian@cygnus.com>
1901
1902 * ldgram.y (LOADADDR): New terminal.
1903 (exp): Handle LOADADDR.
1904 * ldlex.l: Recognize LOADADDR.
1905 * ldexp.c (exp_print_token): Add LOADADDR.
1906 (fold_name): Implement LOADADDR.
1907 * ldlang.c (exp_init_os): Treat LOADADDR like ADDR.
1908 * ld.texinfo (Arithmetic Functions): Document LOADADDR.
1909
1910 Thu Aug 1 12:52:19 1996 Ian Lance Taylor <ian@cygnus.com>
1911
1912 * ld.h (check_nocrossrefs): Declare.
1913 * ldlang.h (struct lang_nocrossref): Define.
1914 (struct lang_nocrossrefs): Define.
1915 (nocrossref_list): Declare.
1916 (lang_add_nocrossref): Declare.
1917 * ldlex.l: Recognize NOCROSSREFS keyword.
1918 * ldgram.y (%union): Add nocrossref field.
1919 (NOCROSSREFS): New terminal.
1920 (ifile_p1): Recognize NOCROSSREFS.
1921 (nocrossref_list): New nonterminal.
1922 * ldlang.c (nocrossref_list): Define.
1923 (lang_add_nocrossref): New function.
1924 * ldmain.c (main): If nocrossref_list is not NULL, call
1925 check_nocrossrefs.
1926 (warning_callback): Free symbols if there is no place to store
1927 them.
1928 (notice): Call add_cref if nocrossref_list is not NULL.
1929 * ldcref.c: Include "ldexp.h" and "ldlang.h".
1930 (check_nocrossrefs): New function.
1931 (check_nocrossref): New static function.
1932 (struct check_refs_info): Define.
1933 (check_refs, check_reloc_refs): New static functions.
1934 * Makefile.in: Rebuild dependencies.
1935 * ld.texinfo (Option Commands): Document NOCROSSREFS.
1936
1937 * ld.texinfo (Section Placement): Improve the wording of the
1938 wildcard documentation. Mention that wildcards are only searched
1939 for on the command line, not in the file system.
1940
1941 * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move
1942 definition of lib_path inside condition where it is used.
1943
1944 Wed Jul 31 13:17:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1945
1946 * emulparams/d10velf.sh: Now works with elf.sc.
1947
1948 Wed Jul 31 11:52:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1949
1950 * emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla.
1951
1952 Tue Jul 30 14:46:42 1996 Ian Lance Taylor <ian@cygnus.com>
1953
1954 * ldlang.c (lang_size_sections): Add the section VMA to the result
1955 value when computing the address of a section.
1956
1957 * ld.h (args_type): Add cref field.
1958 * lexsup.c (parse_args): Set command_line.cref.
1959 * ldmain.c (main): Check command_line.cref rather than
1960 link_info.notice_all.
1961 (notice): Likewise.
1962
1963 * ldcref.c (output_one_cref): Don't crash if a symbol is defined
1964 in a section without an owner.
1965
1966 Mon Jul 29 17:23:33 1996 Ian Lance Taylor <ian@cygnus.com>
1967
1968 * fnmatch.h, fnmatch.c: New files.
1969 * ldlex.l: Remove unused definition of FILENAME. Add definition
1970 of WILDCHAR. In SCRIPT mode, accept any sequence of WILDCHAR as a
1971 NAME.
1972 * ldgram.y (file_NAME_list): Accept '*' and '?' specially.
1973 (input_section_spec): Accept '?' specially.
1974 (statement): Change exp to mustbe_exp in length and FILL cases.
1975 (section): Call ldlex_script before section statements, and call
1976 ldlex_popstate after them.
1977 * ldlang.c: Include "fnmatch.h".
1978 (wildcardp): New static function.
1979 (wild_section): Permit the section name to be a wildcard.
1980 (wild_file): New static function, broken out of wild.
1981 (wild): Call wild_file. Permit the file name to be a wildcard.
1982 (open_input_bfds): Don't call lookup_name for a wildcard pattern.
1983 * Makefile.in: Rebuild dependencies.
1984 (CFILES): Add fnmatch.c.
1985 (HFILES): Add fnmatch.h.
1986 (OFILES): Add fnmatch.o.
1987 * ld.texinfo: Document that file and section names can now be
1988 wildcard patterns.
1989
1990 * ldlang.c (lang_place_orphans): Correct condition: place a common
1991 section if not relocateable or if common definitions are forced.
1992
1993 Wed Jul 24 12:16:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
1994
1995 * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf.
1996
1997 Wed Jul 24 13:38:22 1996 Michael Meissner <meissner@wogglebug.tiac.net>
1998
1999 * configure.tgt (d10v-*-*): Don't require the -elf, allow plain d10v.
2000
2001 Tue Jul 23 10:36:19 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
2002
2003 * Makefile.in (ed10velf.c): New target.
2004 * configure.tgt (d10v-*-elf*): New target.
2005 * emulparams/d10velf.sh: New file.
2006
2007 Thu Jul 18 16:25:39 1996 Ian Lance Taylor <ian@cygnus.com>
2008
2009 * configure.tgt (sparc*-*-sysv4*): New target. From Andrew Gierth
2010 <ANDREWG@microlise.co.uk>.
2011
2012 * configure.host: Change irix5 to irix[56]*.
2013 * configure.tgt: Likewise.
2014
2015 Wed Jul 17 10:52:46 1996 Kim Knuttila <krk@cygnus.com>
2016
2017 * emultempl/pe.em (sort_sections): Pay attention to return code.
2018
2019 * ldmisc.c (demangle): Remove all prefix '.'s from a name.
2020
2021 Mon Jul 15 11:49:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2022
2023 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
2024 the value of __start_SECNAME to the alignment required by the
2025 section to be placed.
2026
2027 Tue Jul 9 12:09:02 1996 Ian Lance Taylor <ian@cygnus.com>
2028
2029 * configure.tgt (mips*el-*-elf*): Use elf32elmip.
2030 (mips*-*-elf*): Use elf32ebmip.
2031 * emulparams/elf32bmip.sh (EMBEDDED): Don't define.
2032 * emulparams/elf32lmip.sh (EMBEDDED): Don't define.
2033 * emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with
2034 EMBEDDED defined.
2035 * emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with
2036 EMBEDDED defined.
2037 * emulparams/elf32b4300.sh (EMBEDDED): Define.
2038 * emulparams/elf32l4300.sh (EMBEDDED): Define.
2039 * Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o.
2040 (eelf32ebmip.c, eelf32elmip.c): New targets.
2041
2042 Thu Jul 4 12:01:03 1996 Ian Lance Taylor <ian@cygnus.com>
2043
2044 * ldver.c (ldversion): Set version to cygnus-2.7.1.
2045
2046 * Released binutils 2.7.
2047
2048 * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid
2049 System V file name limitations.
2050 * configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
2051 pc532macha rather than pc532machaout.
2052 * Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
2053 epc532macha.o.
2054 (epc532macha.c): Rename target from epc532machaout.c.
2055
2056 Wed Jul 3 11:40:10 1996 Ian Lance Taylor <ian@cygnus.com>
2057
2058 * ldlang.c (print_padding_statement): Use %u, not %x, to print
2059 fill value.
2060
2061 Sun Jun 30 11:16:43 1996 Stan Shebs <shebs@andros.cygnus.com>
2062
2063 * mpw-eppcmac.c: Update to reflect May 23 change to aix.em.
2064
2065 Thu Jun 27 14:03:42 1996 Ian Lance Taylor <ian@cygnus.com>
2066
2067 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Put the .sa
2068 file just before the .so file, rather than just after.
2069
2070 * configure.host: Use -print-file-name=FILE rather than piping
2071 -print-libgcc-file-name through sed.
2072 (i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
2073 crtend.o files, in case gcc doesn't use them.
2074 * Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
2075
2076 Wed Jun 26 15:57:21 1996 Ian Lance Taylor <ian@cygnus.com>
2077
2078 * configure.tgt (mips*-dec-osf*): New target.
2079
2080 Tue Jun 25 22:15:29 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
2081
2082 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
2083 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
2084 (docdir): Removed.
2085 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
2086 (AC_PROG_INSTALL): Added.
2087 * configure: Rebuilt.
2088
2089 Mon Jun 24 18:48:16 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2090
2091 * scripttempl/elfppc.sc (_GLOBAL_OFFSET_TABLE_): Don't do a
2092 PROVIDE of _GLOBAL_OFFSET_TABLE_, since it needs to be at a
2093 non-fixed location.
2094
2095 Mon Jun 24 17:55:31 1996 Jouke Numan <jnuman@bazis.nl>
2096
2097 * ldlang.h (enum section_type): Define.
2098 (lang_output_section_statement_type): Remove loadable field. Add
2099 sectype field.
2100 (lang_enter_output_section_statement): Change flags parameter in
2101 prototype to sectype.
2102 * ldgram.y (typebits): Remove.
2103 (sectype): New static variable.
2104 (opt_at): Use sectype rather than typebits.
2105 (type): Set sectype rather than typebits.
2106 (atype): Likewise.
2107 * ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
2108 EXPRESSION mode.
2109 * ldlang.c (lang_output_section_statement_lookup): Set sectype
2110 field rather than loadable field.
2111 (wild_doit): Check sectype rather than loadable.
2112 (lang_record_phdrs): Likewise.
2113 (lang_enter_output_section_statement): Rename flags parameter to
2114 sectype. Set sectype field rather than loadable field. Set flags
2115 field based on sectype.
2116
2117 Mon Jun 24 12:00:32 1996 Ian Lance Taylor <ian@cygnus.com>
2118
2119 * scripttempl/elf.sc: Force .stab* and .comment sections to start
2120 at 0.
2121
2122 * configure.in: On alpha*-*-osf*, link against libbfd.a if not
2123 using shared libraries.
2124 * configure: Rebuild with autoconf 2.10.
2125
2126 Fri Jun 21 17:40:56 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
2127
2128 * configure.tgt: Add support for *-*-rtems* configurations.
2129
2130 Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu>
2131
2132 * configure.tgt (alpha-*-linuxecoff*): New target.
2133 (alpha-*-linux*): Use elf64alpha.
2134 * emulparams/elf64alpha.sh: New file.
2135 * emultempl/elf32.em: If ELFSIZE is not set, set it to 32. Use
2136 ${ELFSIZE} rather than 32 when calling BFD routines.
2137 (hold_rodata): New static variable.
2138 (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
2139 readonly section that is not code.
2140 (gld${EMULATION_NAME}_place_section): Set hold_rodata. Don't use
2141 a .rel section unless its bfd_section field is not NULL.
2142 * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
2143 (eelf64alpha.c): New target.
2144
2145 Fri Jun 21 12:45:46 1996 Ian Lance Taylor <ian@cygnus.com>
2146
2147 * ldmisc.c (vfinfo): Correct handling of 0 in %W case.
2148
2149 Thu Jun 20 13:55:28 1996 Ian Lance Taylor <ian@cygnus.com>
2150
2151 Add enough support to understand the gcc svr3.ifile script:
2152 * ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context. Add
2153 BIND keyword.
2154 * ldgram.y: Add BIND token.
2155 (section): Recognize GROUP.
2156 (opt_ext_with_type): Recognize a couple of cases of BIND.
2157 * ldlang.c (init_os): Don't do anything if section is already
2158 initialized. Call exp_init_os on addr_tree field.
2159 (exp_init_os): New static function.
2160 (map_input_to_output_sections): Call exp_init_os on assignment
2161 expression.
2162 (lang_place_orphans): Check for common sections by name COMMON
2163 rather than by common_section field. Don't warn about absence of
2164 [COMMON] command.
2165
2166 * ldlang.h (lang_input_statement_type): Remove useless fields
2167 common_section, common_output_section, and complained, as well as
2168 all references to them.
2169
2170 * ldexp.c: Reindent a lot of code.
2171 (exp_fold_tree): Call FAIL rather than einfo in default case.
2172
2173 Wed Jun 19 11:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
2174
2175 * configure.host (m88*-*-dgux*): Quote HOSTING_CRT0. From
2176 <randall.hron@medaphis.com>.
2177
2178 Tue Jun 18 15:53:09 1996 Jeffrey A. Law <law@rtl.cygnus.com>
2179
2180 * scripttempl/h8300s.sc: New file for H8/S.
2181 * emulpararms/h8300s.sh: New file for H8/S.
2182 * Makefile.in (ALL_EMULATIONS): Add H8/S.
2183 (e_h8300s.c): Add dependencies.
2184 * configure.tgt: Add H8/S to targ_extra_emuls.
2185
2186 Tue Jun 18 17:55:39 1996 Ian Lance Taylor <ian@cygnus.com>
2187
2188 * configure.tgt (i[345]86*-*-isc*): New target. From
2189 <uddeborg@carmen.se>.
2190
2191 Wed Jun 12 12:46:21 1996 Ian Lance Taylor <ian@cygnus.com>
2192
2193 * lexsup.c: Include "libiberty.h".
2194 (parse_args): Copy the -Y argument into memory.
2195 (set_default_dirlist): Don't put the ':' back into the directory
2196 list.
2197
2198 Fri Jun 7 11:27:42 1996 Ian Lance Taylor <ian@cygnus.com>
2199
2200 * emultempl/sunos.em: Include libiberty.h.
2201 (gld${EMULATION_NAME}_set_symbols): New static function to add
2202 LD_LIBRARY_PATH to the list of search directories.
2203 (ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
2204
2205 Thu Jun 6 11:50:31 1996 Ian Lance Taylor <ian@cygnus.com>
2206
2207 * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
2208 rather than . when computing _gp value. From Per Fogelstrom.
2209 * emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
2210
2211 * ldmain.c (main): Don't close and unlink the file on error, since
2212 remove_output will do it anyhow.
2213 * ldlang.c (open_output): Set boolean variable to true, not 1.
2214
2215 Wed Jun 5 18:34:14 1996 James G. Smith <jsmith@cygnus.co.uk>
2216
2217 * emulparams/{elf32b4300.sh,elf32l4300.sh} (SCRIPT_NAME): Use
2218 elfmips instead of elf.
2219
2220 Tue Jun 4 18:43:07 1996 Ian Lance Taylor <ian@cygnus.com>
2221
2222 * ldcref.c: New file.
2223 * ld.h (add_cref, output_cref): Declare.
2224 * ldmain.c (main): Initialize notice_all field. If it is set at
2225 end of link, call output_cref.
2226 (notice): Rename from notice_ysym. Check notice_all.
2227 * ldmisc.c (finfo): Make globally visible.
2228 * ldmisc.h (finfo): Declare.
2229 * lexsup.c (OPTION_CREF): Define.
2230 (ld_options): Add "cref".
2231 (parse_args): Handle OPTION_CREF.
2232 * Makefile.in: Rebuild dependencies.
2233 (CFILES): Add ldcref.c.
2234 (OFILES): Add ldcref.o.
2235 * ld.texinfo, ld.1: Document --cref.
2236
2237 Tue Jun 4 12:12:25 1996 Tom Tromey <tromey@csk3.cygnus.com>
2238
2239 * Makefile.in (install): Make $(tooldir) and $(tooldir)/bin.
2240
2241 Fri May 31 12:40:55 1996 Ian Lance Taylor <ian@cygnus.com>
2242
2243 * emultempl/pe.em (sort_sections): Don't assume that a
2244 wild_statement has a section name.
2245
2246 Wed May 29 13:13:35 1996 Ian Lance Taylor <ian@cygnus.com>
2247
2248 * scripttempl/elfmips.sc: Quote test -z argument.
2249
2250 * ld.texinfo: Clarify the CONSTRUCTORS command.
2251
2252 Thu May 23 16:07:44 1996 Ian Lance Taylor <ian@cygnus.com>
2253
2254 * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
2255 file, not impfile.
2256
2257 Wed May 22 11:31:30 1996 Doug Evans <dje@seba.cygnus.com>
2258
2259 * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
2260 if final link.
2261 * emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
2262 (sort_by_section_name, sort_sections_1): New functions.
2263 (sort_sections): Only sort by file name sections in .idata.
2264 Add "Grouped Sections" support.
2265 (gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
2266 Sections.
2267 (gld${EMULATION_NAME}_place_section): Delete.
2268 * scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
2269 (.CRT,.rsrc): Rewrite to use Grouped Section support.
2270
2271 Tue May 21 14:31:48 1996 Stan Shebs <shebs@andros.cygnus.com>
2272
2273 * mpw-eppcmac.c: Update to reflect changes to aix.em.
2274
2275 Sun May 19 16:59:44 1996 Doug Evans <dje@seba.cygnus.com>
2276
2277 * ldlang.c (dprint_statement): Stop printing at end of list.
2278
2279 Sat May 18 13:12:05 1996 Steve Chamberlain <sac@slash.cygnus.com>
2280
2281 Support for --force-exe-suffix
2282 * ld.h (args_type): Add force_exe_suffix.
2283 * ld.texinfo: Add documentation.
2284 * ldmain.c (main): Add support for option.
2285 * lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
2286 (ld_options, parse_args): Add support for option.
2287
2288 Wed May 15 12:50:25 1996 Jim Wilson <wilson@chestnut.cygnus.com>
2289
2290 * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call.
2291
2292 Fri May 10 16:28:44 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2293
2294 * scripttempl/elfppc.sc (__stack): Make __stack 0 if it was
2295 referenced but not defined.
2296
2297 Thu May 9 08:52:23 1996 Rob Savoye <rob@chinadoll.cygnus.com>
2298
2299 * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
2300 Set a new variable to signify if the final target is an embedded
2301 system.
2302 * scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
2303 .text for an embedded system.
2304
2305 Tue May 7 10:56:11 1996 Doug Evans <dje@canuck.cygnus.com>
2306
2307 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
2308 (gld${EMULATION_NAME}_place_section): New function.
2309 (hold_{section,use,text,rdata,data}): New static locals.
2310 (ld_${EMULATION_NAME}_emulation): Update orphan field.
2311 * scripttempl/pe.sc: Whitespace cleanup. Semicolon usage cleanup.
2312 (INIT,FINI): Delete, unused.
2313 (.text): Document orphan .text.foo sections.
2314 (.rdata): Document orphan .rdata.foo sections.
2315 (.data): Document orphan .data.foo sections.
2316
2317 Tue May 7 11:35:46 1996 Jeffrey A Law (law@cygnus.com)
2318
2319 * scripttempl/h8300.sc: Place ".tiny" sections right
2320 after ".data" sections.
2321 * scripttempl/h8300h.sc: Place ".tiny" sections into
2322 the "tiny" memory region, 0xff8000 through 0xffff00.
2323
2324 * scripttempl/h8300.sc: Set the entry point to the value of
2325 "_start" rather than the start of the text segment.
2326 * scripttempl/h8300h.sc: Likewise.
2327
2328 * scripttempl/h8300.sc: Place .rodata sections before .text
2329 sections in main ram.
2330 * scripttempl/h8300h.sc: Likewise.
2331
2332 Mon May 6 23:32:30 1996 Jeffrey A Law (law@cygnus.com)
2333
2334 * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
2335 8-bit region and 8-bit sections.
2336
2337 Wed May 1 17:50:06 1996 Doug Evans <dje@canuck.cygnus.com>
2338
2339 * ldlang.c (section_already_linked): Fix typos.
2340
2341 Mon Apr 29 20:31:06 1996 Doug Evans <dje@canuck.cygnus.com>
2342
2343 * scripttempl/pe.sc (.endjunk): Define __end__.
2344
2345 Mon Apr 29 17:05:13 1996 Ian Lance Taylor <ian@cygnus.com>
2346
2347 * ldlang.c (longest_section_name): Remove.
2348 (SECTION_NAME_MAP_LENGTH): Define.
2349 (print_size, print_alignment, print_fill, print_section): Remove.
2350 (print_flags): Remove.
2351 (lang_map): Rewrite.
2352 (print_output_section_statement): Rewrite.
2353 (print_assignment): Rewrite.
2354 (print_one_symbol): Rewrite.
2355 (print_input_section): Rewrite.
2356 (print_fill_statement): Rewrite.
2357 (print_data_statement): Rewrite.
2358 (print_address_statement): New static function.
2359 (print_reloc_statement): Rewrite.
2360 (print_padding_statement): Rewrite.
2361 (print_wild_statement): Rewrite.
2362 (print_statement_list): Clean up.
2363 (print_statement): Clean up. Some minor output changes.
2364 (print_statements): Clean up.
2365 (load_symbols): Put another - before -whole-archive.
2366 * ldexp.c (exp_print_tree): Change etree_value and etree_rel to
2367 print 0x and to omit leading zeroes. For etree_rel, use %B to
2368 print the BFD. For etree_assign, remove the space after the
2369 destination name.
2370 * ldwrite.c: Include "libiberty.h".
2371 (clone_section): Call xstrdup, not strdup.
2372 (ldwrite): Don't print any map information.
2373 (print_symbol_table, print_file_stuff, print_symbol): Remove.
2374 * ldmain.c (main): Call lang_map when appropriate.
2375 * ldmisc.c (vfinfo): Add support for %W.
2376 (print_address): Remove.
2377 * ldmisc.h (print_address): Don't declare.
2378 * Makefile.in: Rebuild dependencies.
2379
2380 Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2381
2382 * configure.host (m68*-*-linux*): Add -dynamic-linker to
2383 HOSTING_CRT0. Search -lgcc both before and after -lc in
2384 HOSTING_LIBS. Look for crt{begin,end}.o in the compiler directory
2385 at first.
2386 (i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
2387 directory at first.
2388
2389 Fri Apr 26 14:42:27 1996 Ian Lance Taylor <ian@cygnus.com>
2390
2391 * ldmisc.h (demangle): Declare.
2392 * ldmisc.c: Include "libiberty.h". Include demangle.h with "",
2393 not <>.
2394 (demangle): Make non-static. Remove remove_underscore paramter.
2395 Always return an allocated string.
2396 (vfinfo): Free result of demangle. Add case 'G'. Use %T to print
2397 functionname, rather than calling demangle. Print a colon between
2398 the BFD(section+offset) and the line number.
2399 * ldmain.c (add_archive_element): Improve format of archive
2400 information in map file.
2401 (constructor_callback): Don't print anything to the map file.
2402 * ldlang.c (lang_one_common): Improve format of common symbol
2403 information in map file.
2404 * ldctor.c (ldctor_build_sets): If producing a map file, print set
2405 information.
2406 * ldwrite.c (print_symbol_table): Print a newline before the
2407 header in the map file.
2408 * Makefile.in: Rebuild dependencies.
2409
2410 * ldmisc.c (vfinfo): Reindent.
2411
2412 Mon Apr 22 12:07:32 1996 Ian Lance Taylor <ian@cygnus.com>
2413
2414 * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
2415 don't clobber it when not relaxing.
2416
2417 * ld.h (ld_config_type): Remove traditional_format field.
2418 * ldmain.c (main): Use link_info.traditional_format rather than
2419 config.traditional_format.
2420 * ldlang.c (ldlang_open_output): Likewise.
2421 * lexsup.c (parse_args): Likewise.
2422 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
2423 * mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
2424
2425 * ldlang.c (wild_doit): Discard debugging sections if we are
2426 stripping debugging information.
2427
2428 * emulparams/z8002.sh (ARCH): Set to z8002, not z8k.
2429
2430 Tue Apr 16 16:38:32 1996 Ian Lance Taylor <ian@cygnus.com>
2431
2432 * ldexp.c (fold_binary): Correct handling of subtraction with
2433 absolute values.
2434 (fold_name): Permit symbols in lang_allocating_phase_enum.
2435
2436 * scripttempl/aout.sc: Only PROVIDE __stack when RELOCATING. Undo
2437 accidental changes in last patch.
2438
2439 Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2440
2441 * configure.tgt (powerpc*-*-{sysv,linux}): Add aliases.
2442 (powerpcle*-*-{sysv,solaris}): Ditto.
2443
2444 Mon Apr 15 14:50:56 1996 Rob Savoye <rob@chinadoll.cygnus.com>
2445
2446 * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
2447 in m68k/crt0.S without things blowing up.
2448
2449 Fri Apr 12 16:40:56 1996 Rob Savoye <rob@chinadoll.cygnus.com>
2450
2451 * scripttempl/m68kcoff.sc: Remove default address for .data so
2452 .text, .data, and .bss are all sequential.
2453
2454 Thu Apr 11 12:05:35 1996 Ian Lance Taylor <ian@cygnus.com>
2455
2456 * scripttempl/m68kcoff.sc: Remove regions and simplify.
2457
2458 Wed Apr 10 14:41:53 1996 Jeffrey A Law (law@cygnus.com)
2459
2460 * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
2461 bytes of the address space. Put data from the ".eight" sections
2462 into the 8-bit area.
2463 * scripttempl/h8300h.sc: Likewise.
2464
2465 Tue Apr 9 14:10:42 1996 Doug Evans <dje@canuck.cygnus.com>
2466
2467 * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
2468 Pass $ARCH to ldfile_set_output_arch instead of setting
2469 ldfile_output_architecture directly.
2470
2471 Tue Apr 9 14:22:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2472
2473 * scripttempl/elfppc.sc (.init,.fini): Put .init, .fini section
2474 next to .text. Put _etext after .text, .init, .fini, and
2475 .rodata{,2} sections.
2476
2477 Tue Apr 9 12:18:57 1996 Ian Lance Taylor <ian@cygnus.com>
2478
2479 * ld.texinfo: Rearrange option documentation.
2480
2481 * lexsup.c (ld_options): New static array.
2482 (parse_args): Build shortopts and longopts from ld_options array.
2483 (help): New static function.
2484 * ldver.h (help): Don't declare.
2485 * ldver.c (ldversion): Reindent.
2486 (help): Remove.
2487
2488 * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic.
2489
2490 Mon Apr 8 11:56:23 1996 Ian Lance Taylor <ian@cygnus.com>
2491
2492 * emultempl/elf32.em: When checking for a native emulation, check
2493 that the current emulation is the default emulation.
2494 * emultempl/sunos.em: Likewise.
2495
2496 * configure.in: Permit --enable-shared to specify a list of
2497 directories.
2498 * configure: Rebuild.
2499
2500 * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
2501 for HP/UX compatibility.
2502
2503 Fri Apr 5 14:30:14 1996 Ian Lance Taylor <ian@cygnus.com>
2504
2505 * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
2506 static function, if ${host} = ${target}.
2507 (gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
2508 needed shared library if ${host} = $[target}.
2509
2510 * configure.host (i[345]86-*-linux*): Add -dynamic-linker to
2511 HOSTING_CRT0. Search -lgcc both before and after -lc in
2512 HOSTING_LIBS.
2513
2514 * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
2515 Polstra <jdp@polstra.com>.
2516
2517 Fri Apr 5 18:11:25 1996 James G. Smith <jsmith@cygnus.co.uk>
2518
2519 * emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
2520 architecture number.
2521 * scripttempl/elf.sc: Use $MACHINE definition if present.
2522 * configure.tgt (targ_extra_emuls): Force 4100 build to use same
2523 template as 4300.
2524
2525 Mon Apr 1 17:35:40 1996 Ian Lance Taylor <ian@cygnus.com>
2526
2527 * ldlang.c (lang_size_sections): Change region check to handle
2528 regions which end at the highest possible address correctly.
2529 From Roland Weber <roweber@ira.uka.de>.
2530
2531 * ldlang.c (section_already_linked): New static function.
2532 (wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
2533 relocateable link. Don't worry about section being NULL, since it
2534 never should be. Don't call init_os unless the section is going
2535 to be added.
2536 (ldlang_add_file): Call section_already_linked for each section.
2537 * ldmain.c (multiple_definition): Don't warn about multiple
2538 definitions in sections which are being discarded.
2539
2540 Sun Mar 31 00:30:47 1996 steve chamberlain <sac@slash.cygnus.com>
2541
2542 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
2543 * emultempl/pe.em (init): Remove special case PPC code.
2544
2545 Fri Mar 29 00:01:29 1996 Jeffrey A Law (law@cygnus.com)
2546
2547 * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
2548 so as not to overwrite the magic syscall entry at 0xc4.
2549 * scripttempl/h8300h.sc: Likewise.
2550
2551 Thu Mar 28 11:05:47 1996 Doug Evans <dje@canuck.cygnus.com>
2552
2553 * configure.tgt (sparc64-*-solaris2*): Delete.
2554 Stick with sparc-*-solaris2*.
2555
2556 Wed Mar 27 12:33:24 1996 Ian Lance Taylor <ian@cygnus.com>
2557
2558 * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
2559 * ldlang.c (init_os): Fail on an attempt to initialize any section
2560 named DISCARD_SECTION_NAME.
2561 (wild_doit): Discard input sections assigned to an output section
2562 named DISCARD_SECTION_NAME.
2563 * ld.texinfo: Document use of /DISCARD/.
2564
2565 * ldlang.c: Fix some indentation and comments.
2566
2567 Tue Mar 26 18:14:49 1996 Ian Lance Taylor <ian@cygnus.com>
2568
2569 * ldmain.c (main): Call bfd_set_error_program_name.
2570
2571 Thu Mar 21 13:17:34 1996 Ian Lance Taylor <ian@cygnus.com>
2572
2573 * ld.texinfo: Fix a couple of indexing entries. Mention that
2574 --verbose displays builtin linker scripts.
2575
2576 * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
2577 and the local symbol name does not match the filename, print the
2578 filename as well.
2579
2580 Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
2581 * lexsup.c (parse_args): -Bshareable is a synonym for -shared.
2582 * emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
2583 as TEXT_START_ADDR.
2584
2585 Wed Mar 20 18:18:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2586
2587 * ld.texinfo: Fix typos. Use @pxref only inside parentheses.
2588
2589 Wed Mar 20 16:56:15 1996 Ian Lance Taylor <ian@cygnus.com>
2590
2591 * ldmain.c (add_wrap): New function.
2592 * ldmain.h (add_wrap): Declare.
2593 * lexsup.c (parse_args): Call add_wrap.
2594
2595 Tue Mar 19 16:44:20 1996 Doug Evans <dje@canuck.cygnus.com>
2596
2597 * configure.host (sparc*-*-solaris2* host): Accept any sparc variant.
2598
2599 Wed Mar 13 17:47:31 1996 Jeffrey A Law (law@cygnus.com)
2600
2601 * scripttempl/h8300.sc: Change name of page zero memory
2602 from "null" to "vectors". Create an output section for
2603 vectors. Add comments on how to explicitly place items
2604 in the vector table.
2605 * scripttempl/h8300h.sc: Likewise.
2606
2607 Wed Mar 13 12:40:18 1996 Ian Lance Taylor <ian@cygnus.com>
2608
2609 * emultempl/lnk960.em (machine_table): Add jx and hx.
2610
2611 * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
2612 support it.
2613
2614 Tue Mar 12 12:43:59 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
2615
2616 * ld.h (ld_config_type): Add warn_multiple_gp field.
2617 * lexsup.c (parse_args): Handle --warn-multiple-gp.
2618 * ldmain.c (warning_callback): Suppress multiple gp values warning
2619 if --warn_multiple_gp was not used.
2620 * ld.texinfo, ld.1: Document --warn-multiple-gp.
2621
2622 Tue Mar 12 12:02:21 1996 Ian Lance Taylor <ian@cygnus.com>
2623
2624 * lexsup.c (parse_args): Handle --wrap.
2625 * ldmain.c (main): Initialize link_info.wrap_hash.
2626 * ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
2627 and NAME cases.
2628 * ld.texinfo, ld.1: Document --wrap.
2629
2630 * configure: Rebuild with autoconf 2.8.
2631
2632 Don't do SunOS style dynamic linking for sparc-aout:
2633 * configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
2634 (sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
2635 (sparc*-wrs-vxworks*): Likewise.
2636 * emulparams/sparcaout.sh: New file.
2637 * Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
2638 (esparcaout.c): New target.
2639
2640 Wed Mar 6 16:06:52 1996 J.T. Conklin <jtc@rtl.cygnus.com>
2641
2642 * scripttempl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
2643 in a different manner to work around differences in shell variable
2644 expansion.
2645
2646 Wed Mar 6 18:08:18 1996 Ian Lance Taylor <ian@cygnus.com>
2647
2648 * ldemul.h (ldemul_unrecognized_file): Declare.
2649 (ldemulation_xfer_type): Add unrecognized_file field.
2650 * ldemul.c (ldemul_unrecognized_file): New function.
2651 * ldlang.c (load_symbols): If a file can not be recognized, call
2652 ldemul_unrecognized_file before trying it as a linker script.
2653 * aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
2654 function.
2655 (gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
2656 (ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
2657
2658 Mon Mar 4 14:11:17 1996 Ian Lance Taylor <ian@cygnus.com>
2659
2660 * ldlang.c (wild): Handle foo.a(.text) by mapping each included
2661 member of foo.a separately. From Jouke Numan <jnuman@bazis.nl>.
2662
2663 Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2664
2665 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
2666 Search trinary.cond rather than searching trinary.lhs twice.
2667
2668 Tue Feb 27 15:08:43 1996 Stan Shebs <shebs@andros.cygnus.com>
2669
2670 * mpw-make.sed: Edit out shared library support.
2671 (@TDIRS@): Edit out, can't use genscripts.
2672
2673 Tue Feb 27 15:09:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2674
2675 * configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
2676 * emulparams/m68klinux.sh: New file.
2677 * emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
2678 Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
2679 bfd_linux_size_dynamic_sections.
2680 * Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
2681 (em68klinux.c): New target.
2682 * configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.
2683
2684 Tue Feb 27 12:55:46 1996 Ian Lance Taylor <ian@cygnus.com>
2685
2686 * Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
2687 Fill in missing entries.
2688
2689 * lexsup.c (parse_args): Recognize --no-whole-archive.
2690 * ldlang.h (lang_input_statement_type): Add whole_archive field.
2691 * ldlang.c (new_afile): Set whole_archive field.
2692 (load_symbols): Check input file specific whole_archive field
2693 rather than global variable.
2694 * ld.texinfo, ld.1: Document --no-whole-archive.
2695
2696 Tue Feb 20 16:07:00 1996 Ian Lance Taylor <ian@cygnus.com>
2697
2698 * configure.tgt: Correct gldi960 to gld960.
2699
2700 Mon Feb 19 11:16:44 1996 Ian Lance Taylor <ian@cygnus.com>
2701
2702 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
2703 the SONAME if it is available.
2704 (gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
2705 filename, when checking for conflicting library versions. Don't
2706 assume that the suffix is only numbers and dots.
2707
2708 * ld.texinfo: Mention that -R can be used for -rpath.
2709
2710 Sun Feb 18 15:05:17 1996 Ian Lance Taylor <ian@cygnus.com>
2711
2712 * configure.host: Check for 'do not mix' from native linker before
2713 trying to use -rpath.
2714
2715 Thu Feb 15 13:58:06 1996 Ian Lance Taylor <ian@cygnus.com>
2716
2717 * configure.in: Remove explicit substitution of CFLAGS; autoconf
2718 does it anyhow.
2719 * configure: Rebuild.
2720 * Makefile.in (LDFLAGS): Set to @LDFLAGS@.
2721
2722 * configure.in: Call AC_PROG_CC before configure.host.
2723 * configure: Rebuild.
2724 * configure.host: Remove go32 host, since it should no longer be
2725 necessary. Don't set CC for romp host.
2726
2727 * scripttempl/elf.sc: Don't skip a page in virtual memory space if
2728 the text segment ends exactly on a page boundary.
2729
2730 * configure.in: Substitute RPATH_ENVVAR.
2731 * configure: Rebuild.
2732 * configure.host: Set RPATH_ENVVAR.
2733 * Makefile.in (RPATH_ENVVAR): New variable.
2734 (check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
2735
2736 Wed Feb 14 18:49:01 1996 Alan Modra <alan@spri.levels.unisa.edu.au>
2737
2738 * configure.in: Redo emulation handling so that each emulation
2739 searches the correct tool directory, based on the target alias.
2740 For example, "configure --enable-targets=m68k-coff i386-linux"
2741 will search /usr/local/i386-linux/lib for linux and
2742 /usr/local/m68k-coff/lib for m68k-coff.
2743 * configure: Rebuild.
2744 * configure.tgt: Add special tdir settings for Linux.
2745 * Makefile.in: Add @TDIRS@. Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
2746 for each eEMUL.c target.
2747 * genscripts.sh: Accept specific alias as 9th argument, and use it
2748 in LIB_PATH.
2749
2750 Wed Feb 14 16:38:36 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
2751
2752 * ldlang.c (lang_set_startof): Don't do anything for a
2753 relocateable link.
2754
2755 * ldgram.y (mri_script_file): Call mri_draw_tree.
2756 * mri.c (mri_draw_tree): Make globally visible. Don't bother to
2757 create memory regions.
2758 (mri_load): Don't call mri_draw_tree.
2759 * mri.h (mri_draw_tree): Declare.
2760
2761 * configure.tgt (m68*-*-psos): New target.
2762 * emulparams/m68kpsos.sh: New file.
2763 * scripttempl/psos.sc: New file.
2764 * Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
2765 (em68kpsos.c): New target.
2766
2767 Wed Feb 14 11:09:25 1996 Ian Lance Taylor <ian@cygnus.com>
2768
2769 * configure.tgt (*-*-ieee*): New target; use vanilla.
2770
2771 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
2772 `:foo' from ${ARCH}.
2773
2774 Tue Feb 13 15:58:58 1996 Bryan Ford <baford@snake.cs.utah.edu>
2775
2776 * scripttempl/i386msdos.sc: Don't pad the .text section. Put
2777 .rodata in .data.
2778
2779 Tue Feb 13 14:04:19 1996 Ian Lance Taylor <ian@cygnus.com>
2780
2781 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
2782
2783 * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
2784 it looks like we might be linking in two different versions of the
2785 same shared library. Based on a patch from H J Lu <hjl@zoom.com>.
2786
2787 Thu Feb 8 19:25:54 1996 Ian Lance Taylor <ian@cygnus.com>
2788
2789 * ldlang.c (lang_size_sections): Increment the section size when a
2790 padding statement is encountered.
2791
2792 Wed Feb 7 14:01:33 1996 Ian Lance Taylor <ian@cygnus.com>
2793
2794 * configure.in: Look for --enable-shared. Change the value of
2795 BFDLIB when linking against a shared library on SunOS.
2796 * configure: Rebuild.
2797 * configure.host: If using a shared BFD library, try to pass a
2798 reasonable -rpath option when linking.
2799 * Makefile.in (BFDLIB): Set to @BFDLIB@.
2800
2801 Tue Feb 6 12:29:14 1996 Doug Evans <dje@charmed.cygnus.com>
2802
2803 * emulparams/elf64_sparc.sh (ARCH): Change to `sparc:v9'.
2804 * emultempl/generic.em: Strip `:foo' from ${ARCH}.
2805
2806 Mon Feb 5 16:25:30 1996 Ian Lance Taylor <ian@cygnus.com>
2807
2808 Support for building bfd and opcodes as shared libraries, based on
2809 patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
2810 * configure.in (HLDFLAGS): New substitution.
2811 * configure: Rebuild.
2812 * configure.host: Set HLDFLAGS on SunOS.
2813 * Makefile.in (HLDFLAGS): New variable.
2814 (BFDDEP): New variable.
2815 (BFDLIB): Change to -L../bfd -lbfd.
2816 ($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB). Use
2817 $(HLDFLAGS) in link.
2818 (check): Set LD_LIBRARY_PATH in the environment.
2819
2820 Fri Feb 2 19:26:25 1996 Michael Meissner <meissner@wogglebug.tiac.net>
2821
2822 * scripttempl/elfppc.sc (.sdata2, .sbss2): Put .sdata2 and .sbss
2823 in the read-only section, not read/write unless we are making a
2824 shared library.
2825 (.debug*): Add dwarf debug sections.
2826 (.rela.{sdata*,sbss*}): Add sections.
2827
2828 Fri Feb 2 16:50:21 1996 Ian Lance Taylor <ian@cygnus.com>
2829
2830 * configure: Regenerate.
2831
2832 Thu Feb 1 10:50:46 1996 Ian Lance Taylor <ian@cygnus.com>
2833
2834 * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
2835 for SVR4 compatibility.
2836
2837 * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
2838
2839 Wed Jan 31 17:30:19 1996 Steve Chamberlain <sac@slash.cygnus.com>
2840
2841 * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
2842 * emultempl/pe.em (definfo init): Make the default stack reserve
2843 of a PPC larger.
2844
2845 Wed Jan 31 14:34:23 1996 Richard Henderson <rth@tamu.edu>
2846
2847 * configure.tgt (m68*-apple-aux*): New target.
2848 * emulparams/m68kaux.sh: New file.
2849 * scripttempl/m68kaux.sc: New file.
2850 * Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
2851 (em68kaux.c): New target.
2852
2853 Tue Jan 30 13:18:56 1996 Ian Lance Taylor <ian@cygnus.com>
2854
2855 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
2856 -bnoentry, since the right thing tends to happen anyhow.
2857
2858 Mon Jan 29 12:29:26 1996 Ian Lance Taylor <ian@cygnus.com>
2859
2860 * ld.texinfo, ld.1: Document -export-dynamic.
2861
2862 Fri Jan 26 11:11:55 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2863
2864 * emultempl/sunos.em: Check for native compile by comparing
2865 ${target} and ${host}.
2866
2867 Thu Jan 25 16:46:58 1996 James G. Smith <jsmith@cygnus.co.uk>
2868
2869 * emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
2870 TEXT_START_ADDR to allow use on IDT and PMON systems.
2871
2872 Wed Jan 24 20:59:40 1996 Steve Chamberlain <sac@slash.cygnus.com>
2873
2874 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
2875 correct spelling.
2876
2877 Wed Jan 24 16:59:19 1996 Doug Evans <dje@charmed.cygnus.com>
2878
2879 * configure.tgt (sparc64-*-solaris2*): New configuration.
2880 (sparc64-*-aout*): Renamed from sparc64*.
2881
2882 Mon Jan 22 13:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2883
2884 * Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
2885 * genscripts.sh: Set host, target and target_alias variables.
2886 Check for native compile by comparing ${target} and ${host}.
2887 * emultempl/elf32.em: Likewise.
2888 * scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
2889
2890 Mon Jan 22 11:03:23 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2891
2892 * scripttempl/elfppc.sc: Refine eabi support to better support
2893 .sdata, .sdata2, .sbss, etc. sections.
2894
2895 Tue Jan 16 15:16:58 1996 Ian Lance Taylor <ian@cygnus.com>
2896
2897 * ldgram.y (%union): Add phdr field.
2898 (phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
2899 (phdr_qualifiers): New nonterminal. Add support for FLAGS.
2900 (opt_hdrs, hdr): Remove.
2901 (phdr_val): New nonterminal.
2902 * ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
2903 and phdrs parameters. Add flags parameter.
2904 (lang_record_phdrs): Update for changes to lang_phdr. Pass flags
2905 to bfd_record_phdr.
2906 * ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
2907 phdrs fields. Add flags field.
2908 (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
2909 (lang_new_phdr): Update declaration.
2910 * ld.texinfo: Document FLAGS.
2911
2912 Mon Jan 15 15:07:19 1996 Ian Lance Taylor <ian@cygnus.com>
2913
2914 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
2915 Don't make a shared library because of an undefined reference to
2916 __GLOBAL_OFFSET_TABLE_.
2917
2918 Add some Irix 5 support, mostly from Kazumoto Kojima
2919 <kkojima@info.kanagawa-u.ac.jp>:
2920 * emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
2921 (SHLIB_TEXT_START_ADDR): Define.
2922 (OTHER_GOT_SYMBOLS): Define.
2923 (OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
2924 (EXECUTABLE_SYMBOLS): Don't define.
2925 (DYNAMIC_LINK): Don't define.
2926 * emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
2927 * scripttempl/elfmips.sc: New file.
2928 * configure.host (mips*-dec-bsd*): Change mips to mips*.
2929 (mips*-sgi-irix4*): Likewise.
2930 (mips*-sgi-irix5*): New entry.
2931 * Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
2932 elf.sc.
2933 (eelf32lmip.c): Likewise.
2934
2935 Sat Jan 13 09:41:43 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2936
2937 * scripttempl/elfppc.sc: Remove support for .rel.* sections. Add
2938 .rela.got.neg section.
2939
2940 Fri Jan 12 14:56:19 1996 Ian Lance Taylor <ian@cygnus.com>
2941
2942 * scripttempl/sh.sc: Only build constructors when CONSTRUCTING.
2943
2944 * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
2945 ANSI_PROTOTYPES is defined. Remove special handling of
2946 WINDOWS_NT. Various indendation fixes.
2947 (vfinfo): Change fmt parameter to const char *.
2948 (info_msg): Write <stdarg.h> version.
2949 (einfo, minfo, finfo): Likewise.
2950 (info_assert): Change file parameter to const char *.
2951 * ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
2952 defined, use a real prototype.
2953 (info_assert): Change first parameter to be const char *.
2954
2955 Fri Jan 12 13:29:55 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2956
2957 * scripttempl/elfppc.sc: Add support for .sdata2/.sbss2, etc. Add
2958 in old support that 2.7.2 needs, but the current compiler does
2959 not.
2960
2961 * Makefile.in (eelf32{,l}ppc.c): Fix up dependencies to use the
2962 correct Linker script template.
2963
2964 * emulparams/elf32{,l}ppc.sh (TEXT_START_ADDR): Set to 0x40000,
2965 not 0x400000.
2966 (DATA_ADDR,NONPAGED_TEXT_START_ADDR): Delete.
2967
2968 Tue Jan 9 15:53:02 1996 Ian Lance Taylor <ian@cygnus.com>
2969
2970 * scripttempl/alpha.sc: Put .rconst right after .rdata.
2971
2972 Fri Jan 5 14:07:45 1996 Steve Chamberlain <sac@slash.cygnus.com>
2973
2974 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
2975 sort using right pointer.
2976
2977 Fri Jan 5 12:25:47 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2978
2979 * scripttempl/elfppc.sc: Remove support for creating special
2980 labels for eabi section begin/end here. The compiler now uses
2981 crt{i,n}.o to create these symbols.
2982
2983 Thu Jan 4 17:08:58 1996 Ian Lance Taylor <ian@cygnus.com>
2984
2985 * configure.host: Change existing Linux HOSTING_CRT0 to be used
2986 for a.out only, and put in appropriate HOSTING_CRT0 and
2987 HOSTING_LIBS values for Linux ELF.
2988
2989 Thu Jan 4 12:02:05 1996 Doug Evans <dje@canuck.cygnus.com>
2990
2991 * scripttempl/h8300.sc: Use all 64K for ram.
2992 * scripttempl/h8300h.sc: Define 256K ram size.
2993
2994 Thu Dec 21 15:57:18 1995 Ian Lance Taylor <ian@cygnus.com>
2995
2996 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Pass
2997 export_defines as true to bfd_xcoff_size_dynamic_sections if -unix
2998 was used, regardless of whether -bE was used.
2999
3000 Tue Dec 19 17:35:38 1995 Ian Lance Taylor <ian@cygnus.com>
3001
3002 * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
3003 relocateable before calling ldctor_build_sets if the output file
3004 is in an XCOFF format.
3005
3006 Fri Dec 15 16:34:36 1995 Ian Lance Taylor <ian@cygnus.com>
3007
3008 * ldwrite.c (build_link_order): When handling a data statement, if
3009 the endianness of the output file is unknown, use the endianness
3010 of the input file.
3011
3012 Tue Dec 12 13:55:41 1995 Stan Shebs <shebs@andros.cygnus.com>
3013
3014 * mpw-config.in: Recognize mips-*-* as equivalent to
3015 mips-idt-ecoff.
3016 * mpw-eppcmacos.c: Rename to shorter mpw-eppcmac.c.
3017 * mpw-ld.r: Add version resources.
3018 (cfrg): Use symbolic instead of literal name for executable.
3019
3020 Mon Dec 11 15:13:41 1995 Kim Knuttila <krk@cygnus.com>
3021
3022 * scripttempl/ppcpe.sc (FINI): Moved the .reloc section.
3023
3024 Wed Dec 6 14:33:50 1995 Doug Evans <dje@canuck.cygnus.com>
3025
3026 * ldlang.c (print_statement{,s}): Delete duplicate prototype.
3027 (print_statement_list): Renamed from print_statement. All callers
3028 updated.
3029 (print_statement): New function to print just one statement.
3030 (print_{data,reloc,padding}_statement): Don't crash if
3031 output_section == NULL.
3032 (dprint_statement): New function.
3033
3034 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
3035 call to sort_sections.
3036
3037 Wed Dec 6 14:59:06 1995 Ian Lance Taylor <ian@cygnus.com>
3038
3039 * emultempl/aix.em (unix_ld): New static variable.
3040 (gld${EMULATION_NAME}_parse_args): Handle -unix.
3041 (gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
3042 gc as false and export_defineds as true to size_dynamic_sections.
3043
3044 * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
3045 phase if the current section is abs_output_section.
3046
3047
3048 Tue Dec 5 09:49:39 1995 Doug Evans <dje@canuck.cygnus.com>
3049
3050 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix call
3051 to sort_sections.
3052
3053 Fri Dec 1 16:48:36 1995 Ian Lance Taylor <ian@cygnus.com>
3054
3055 * ldgram.y (PHDRS): New token.
3056 (ifile_p1): Accept phdrs.
3057 (section): Accept phdr_opt at the end of the section definition.
3058 (phdr_op): New nonterminal.
3059 (phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
3060 * ldlex.l: Accept PHDRS.
3061 * ldlang.h (struct lang_output_section_phdr_list): Define.
3062 (lang_output_section_statement_type): Add phdrs field.
3063 (struct lang_phdr): Define.
3064 (LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
3065 (lang_new_phdr): Declare.
3066 * ldlang.c (lang_phdr_list): New static variable.
3067 (lang_output_section_statement_lookup): Initialize phdrs field.
3068 (lang_process): Call lang_record_phdrs.
3069 (lang_new_phdr): New function.
3070 (lang_section_in_phdr): New function.
3071 (lang_record_phdrs): New static function.
3072 * ld.texinfo: Document PHDRS.
3073
3074 Thu Nov 30 13:14:30 1995 Kim Knuttila <krk@cygnus.com>
3075
3076 * scripttempl/ppcpe.sc: Moved .edata into its own section to
3077 expose it.
3078
3079 Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
3080
3081 * configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
3082 HOSTING_LIBS for testing.
3083 (m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
3084 testing.
3085
3086 Tue Nov 28 12:14:53 1995 Ian Lance Taylor <ian@cygnus.com>
3087
3088 * lexsup.c (parse_args): Set config.dynamic_link to false for -N
3089 and -n.
3090
3091 Mon Nov 27 13:12:09 1995 Ian Lance Taylor <ian@cygnus.com>
3092
3093 * configure: Rebuild with autoconf 2.7.
3094
3095 Fri Nov 24 18:35:35 1995 Doug Evans <dje@canuck.cygnus.com>
3096
3097 * scripttempl/pe.sc: Two .junk's is too much junk.
3098
3099 Tue Nov 21 16:14:32 1995 Ian Lance Taylor <ian@cygnus.com>
3100
3101 * configure.in: Use BFD_NEED_DECLARATION.
3102 * acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
3103 * configure, config.in: Rebuild with autoconf 2.6.
3104
3105 * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
3106 being unsupported if this is not a relocateable link and the input
3107 BFD supports it, since ldctor_build_sets can cope with that case.
3108
3109 Fri Nov 17 16:23:15 1995 Stan Shebs <shebs@andros.cygnus.com>
3110
3111 * configure.tgt (powerpc-*-macos*): New target.
3112 * emulparams/ppcmacos.sh: New file, PowerMac emulation.
3113 * Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
3114 (eppcmacos.c): New target.
3115 * mpw-eppcmacos.c: Update.
3116 * mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
3117
3118 Fri Nov 17 10:37:27 1995 Ian Lance Taylor <ian@cygnus.com>
3119
3120 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
3121 $(host_canonical) and $(target_canonical).
3122 (CXX_FOR_TARGET): Likewise.
3123
3124 Thu Nov 16 11:23:42 1995 Doug Evans <dje@canuck.cygnus.com>
3125
3126 * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
3127 so the malloc heap begins at a sane place.
3128
3129 Thu Nov 16 03:09:32 1995 Ken Raeburn <raeburn@cygnus.com>
3130
3131 Version 2.6 released.
3132 * ldver.c (ldversion): Update to 2.6.
3133
3134 * Makefile.in (mostlyclean): Delete ldemul-list.h here, but not
3135 $(GENERATED_*FILES), since they need to be retained by distclean.
3136 (maintainer-clean, realclean): Delete them here.
3137
3138 Tue Nov 14 17:08:06 1995 Ian Lance Taylor <ian@cygnus.com>
3139
3140 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Open the
3141 base file with FOPEN_WB, not "w".
3142
3143 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
3144 environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
3145 were used.
3146 (gld${EMULATION_NAME}_before_allocation): Use the environment
3147 variable LD_RUN_PATH if -rpath was not used.
3148 * ld.texinfo, ld.1: Document LD_RUN_PATH.
3149
3150 Thu Nov 9 13:09:29 1995 Ian Lance Taylor <ian@cygnus.com>
3151
3152 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Recognize
3153 -bl and -bloadmap options.
3154
3155 * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
3156 report a better error.
3157
3158 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
3159 new local variable special_sections, and pass it to
3160 size_dynamic_sections. Look through the results, and move the
3161 sections around in the mapping so that they are defined correctly.
3162
3163 Wed Nov 8 11:40:59 1995 Ian Lance Taylor <ian@cygnus.com>
3164
3165 * ldemul.c (ldemul_default_target): Cast getenv return value.
3166
3167 Tue Nov 7 11:15:36 1995 Kim Knuttila <krk@cygnus.com>
3168
3169 * emulparams/ppcpe.sh (ARCH): New file for PowerPC Portable
3170 Executable support.
3171 * scripttempl/ppcpe.sc: New file for PowerPC Portable Executable
3172 support.
3173
3174 * configure.tgt (targ_extra_emuls): Added powerpcle-pe target.
3175 * Makefile.in (ALL_EMULATIONS): Added eppcpe.o target.
3176
3177 * emultempl/pe.em (TARGET_IS_ppcpe): file tailoring macro
3178 (gld_$_before_allocation): added hooks for toc construction based
3179 on the above macro.
3180
3181 Tue Nov 7 11:47:23 1995 Ian Lance Taylor <ian@cygnus.com>
3182
3183 * ld.texinfo: The linker does not use _main as an entry point.
3184
3185 Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
3186
3187 * scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
3188 0x2000 not 0x200.
3189
3190 Mon Nov 6 10:59:21 1995 Ian Lance Taylor <ian@cygnus.com>
3191
3192 * configure.in: Add test for whether free must be declared.
3193 * sysdep.h: Declare free if necessary. Include "ansidecl.h".
3194 * acconfig.h: Explain NEED_DECLARATION_FREE.
3195 * configure, config.in: Rebuild.
3196
3197 * lexsup.c (parse_args): Take B:: out of shortopts.
3198
3199 Sun Nov 5 03:08:28 1995 Ken Raeburn <raeburn@cygnus.com>
3200
3201 * emulparams/i386nbsd.sh (EXECUTABLE_SYMBOLS): Set __DYNAMIC to 0
3202 for now, as with m68k4kbsd, until shared library support gets
3203 done.
3204
3205 * configure.host: For i386 BSD variants, crt0.o lives in
3206 /usr/lib. (True for NetBSD at least, unconfirmed for others.)
3207
3208 Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
3209
3210 * Makefile.in (ALL_EMULATIONS): Add edelta68.o.
3211 (edelta68.c): New target.
3212 * configure.tgt (m68*-motorola-sysv*): New target.
3213 * emulparams/delta68.sh: New file.
3214 * scripttempl/delta68.sc: New file.
3215
3216 * scripttempl/m88kbcs.sc: Handle .init and .fini. Change section
3217 addresses.
3218
3219 Wed Nov 1 11:41:56 1995 Ian Lance Taylor <ian@cygnus.com>
3220
3221 * ldgram.y (mri_script_command): Accept ',' as well as '=' in
3222 ALIGN and ALIGNMOD statements.
3223
3224 * emultempl/aix.em: Include ldgram.h.
3225 (gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
3226 AIX 4.1.
3227 * Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
3228
3229 Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com>
3230
3231 * configure.host (alpha-*-linux*): New host.
3232 * configure.tgt (alpha-*-linux*): New target.
3233
3234 Tue Oct 31 12:36:52 1995 Ian Lance Taylor <ian@cygnus.com>
3235
3236 * emultempl/aix.em (export_files): Remove.
3237 (import_files): Make static.
3238 (struct export_symbol_list): Define.
3239 (export_symbols): New static variable.
3240 (gld${EMULATION_NAME}_parse_args): Handle an initial -b option
3241 correctly. Call read_file for an export file.
3242 (gld${EMULATION_NAME}_before_allocation): Call
3243 bfd_xcoff_export_symbol for each export symbol, rather than
3244 calling read_file for each export file.
3245 (gld${EMULATION_NAME}_read_file): For an export file, make the
3246 exported symbols undefined, and store them on the export_symbols
3247 list.
3248
3249 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
3250
3251 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
3252 Don't hang if last option is unrecognised.
3253 (gld_${EMULATION_NAME}_set_symbols): Insert created
3254 symbols into ABS output section.
3255
3256 Fri Oct 27 18:03:17 1995 Niklas Hallqvist <niklas@appli.se>
3257
3258 * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
3259 m68k4k arch.
3260 (em68k4knbsd.c): New rule.
3261
3262 * configure.tgt: Added support for the NetBSD m68k4k arch.
3263
3264 * genscripts.sh, ldint.texinfo,
3265 emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
3266 gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
3267 hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
3268 i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
3269 m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
3270 pc532machaout,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
3271 st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
3272 PAGE_SIZE to TARGET_PAGE_SIZE.
3273
3274 * emulparams/m68knbsd.h: Ditto.
3275 (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
3276 (EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
3277 being.
3278
3279 * emulparams/m68k4knbsd.sh: New file.
3280
3281 * scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
3282
3283 Fri Oct 27 17:59:09 1995 Ian Lance Taylor <ian@cygnus.com>
3284
3285 * emultempl/aix.em: Include ldctor.h.
3286 (gld${EMULATION_NAME}_after_open): New static function.
3287 (gld${EMULATION_NAME}_before_allocation): Call find_relocs.
3288 (gld${EMULATION_NAME}_find_relocs): New static function.
3289 (gld${EMULATION_NAME}_find_exp_assignment): New static function.
3290 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
3291 * scripttempl/aix.sc: Use CONSTRUCTORS in .data.
3292 * ldctor.c (struct set_info): Move definition into ldctor.h.
3293 (struct set_element): Likewise.
3294 (sets): Make non-static.
3295 (ldctor_add_set_entry): Add name parameter. Save it in the new
3296 set element.
3297 (ldctor_build_sets): Avoid being called twice. Pass set element
3298 name to lang_add_reloc.
3299 * ldctor.h (struct set_info): Move definition here from ldctor.c.
3300 (struct set_element): Likewise. Add new field name.
3301 (sets): Declare.
3302 (ldctor_add_set_entry): Declare new name parameter.
3303 * ldwrite.c (build_link_order): Don't insist that either name or
3304 section be NULL in a lang_reloc_statement.
3305 * ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
3306 new name parameter.
3307 (constructor_callback): Pass name to ldctor_add_new_set_entry for
3308 new name parameter.
3309
3310 * ldmisc.c (demangle): Fix indentation. Remove a leading period.
3311
3312 Thu Oct 26 22:22:49 1995 Stan Shebs <shebs@andros.cygnus.com>
3313
3314 * mpw-config.in: Add PowerMac target support, generate config.h.
3315 * mac-ld.r: New file, Mac resources.
3316 * mpw-make.sed: New file, edits Makefile.in into MPW syntax.
3317 * mpw-make.in: Remove.
3318 * mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
3319
3320 Thu Oct 26 14:11:26 1995 Ian Lance Taylor <ian@cygnus.com>
3321
3322 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
3323 -static as a synonym for -bnso.
3324
3325 * scripttempl/aix.sc: Move special symbols inside sections.
3326 Always start .data at 0.
3327
3328 Wed Oct 25 11:52:12 1995 Per Bothner <bothner@kalessin.cygnus.com>
3329
3330 * Makefile.in (diststuff): Also make info.
3331 (maintainer-clean realclean): Also delete *.info*.
3332
3333 Wed Oct 25 11:27:25 1995 Ian Lance Taylor <ian@cygnus.com>
3334
3335 * emultempl/aix.em: Add support for various AIX linker options,
3336 for AIX import and export files, and for AIX shared objects.
3337 * scripttempl/aix.sc: Add .pad. Put .ds just before the TOC.
3338
3339 * ldmain.c (main): Initialize new field link_info.static_link.
3340
3341 * ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
3342 (constructor_callback): Likewise.
3343 * ldmisc.c (vfinfo): Likewise.
3344 * ldwrite.c (build_link_order): Likewise.
3345
3346 * ld.texinfo: The MRI ALIGN directive is supported.
3347
3348 Mon Oct 23 11:46:43 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk>
3349
3350 * emulparams/elf32vr4300.sh: Deleted.
3351 * emulparams/elf32vr4300el.sh: Deleted.
3352 * emulparams/elf32b4300.sh: Added.
3353 * emulparams/elf32l4300.sh: Added.
3354 * configure.tgt, Makefile.in: Updated the build to use the
3355 new 8.3 unique names.
3356
3357 Thu Oct 19 17:41:46 1995 Ian Lance Taylor <ian@cygnus.com>
3358
3359 * ldlang.c (entry_symbol): Make non-static.
3360 * ldlang.h (entry_symbol): Declare.
3361
3362 * ldlex.l: Treat PROVIDE as a keyword in expression state.
3363
3364 Wed Oct 18 17:34:06 1995 steve chamberlain <sac@slash.cygnus.com>
3365
3366 * scripttempl/pe.sc (.bss): Move to be after .text
3367
3368 Tue Oct 17 12:22:05 1995 Ian Lance Taylor <ian@cygnus.com>
3369
3370 * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
3371 Search trinary.cond rather than searching trinary.lhs twice. From
3372 linli@ihp.PHys.ethz.CH.
3373
3374 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
3375 directory searching code into gld${EMULATION_NAME}_search_dir.
3376 (gld${EMULATION_NAME}_search_dir): New static function, extracted
3377 from gld${EMULATION_NAME}_find_so.
3378 (global_needed, global_found): New static variables.
3379 (gld${EMULATION_NAME}_after_open): New static function.
3380 (gld${EMULATION_NAME}_search_needed): New static function.
3381 (gld${EMULATION_NAME}_try_needed): New static function.
3382 (gld${EMULATION_NAME}_check_needed): New static function.
3383 (ld_${EMULATION_NAME}_emulation): Use new after_open function.
3384 * ld.texinfo, ld.1: Mention -rpath-link on SunOS.
3385
3386 * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
3387 (eelf32lppc.c): Likewise.
3388 * emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
3389 (GENERATE_SHLIB_SCRIPT): Define as yes.
3390
3391 Mon Oct 16 19:11:13 1995 Ian Lance Taylor <ian@cygnus.com>
3392
3393 * emultempl/elf32.em: Struct bfd_elf_link_needed_list is now named
3394 bfd_link_needed-list; make appropriate changes.
3395
3396 * configure.tgt (powerpc-*-aix*): New target; use aixppc.
3397 (rs6000-*-aix*): New target; use aixrs6.
3398 * emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
3399 * emultempl/aix.em: New file.
3400 * scripttempl/aix.sc: New file.
3401 * Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
3402 (eaixppc.c, eaixrs6.c): New targets.
3403
3404 Fri Oct 13 14:00:37 1995 steve chamberlain <sac@slash.cygnus.com>
3405
3406 * scripttemp/pe.sc (.reloc): Move to the end.
3407
3408 Tue Oct 10 17:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
3409
3410 * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
3411 section which was not linked into the final output.
3412
3413 Tue Oct 10 10:17:22 1995 steve chamberlain <sac@slash.cygnus.com>
3414
3415 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
3416 fatal typos.
3417
3418 Tue Oct 10 01:01:51 1995 Ian Lance Taylor <ian@cygnus.com>
3419
3420 * ld.h (args_type): Add rpath_link field.
3421 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
3422 required dependencies in rpath_link path. Only search
3423 LD_LIBRARY_PATH when configured native.
3424 * lexsup.c (parse_args): Recognize -rpath-link.
3425 * ld.1, ld.texinfo: Document -rpath-link.
3426
3427 Sat Oct 7 17:07:17 1995 Ian Lance Taylor <ian@cygnus.com>
3428
3429 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
3430 bother searching for needed libraries unless doing a final link.
3431
3432 Fri Oct 6 16:26:16 1995 Ken Raeburn <raeburn@cygnus.com>
3433
3434 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3435
3436 * ld/ld.1: Fix formatting bugs.
3437
3438 Wed Oct 4 17:37:46 1995 Ian Lance Taylor <ian@cygnus.com>
3439
3440 * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
3441 * ldexp.h (exp_get_abs_int): Update declaration.
3442 * ldlang.c (print_output_section_statement): Use fprintf_vma to
3443 print return value of exp_get_abs_int.
3444
3445 Mon Oct 2 13:56:09 1995 Ian Lance Taylor <ian@cygnus.com>
3446
3447 * emultempl/elf32.em (global_stat): New file static variable.
3448 (gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
3449 that the file has not already been included under another name.
3450 (gld${EMULATION_NAME}_stat_needed): New static function.
3451
3452 Fri Sep 29 12:00:18 1995 Doug Evans <dje@deneb.cygnus.com>
3453
3454 * scripttempl/armcoff.sc: Start .text at 0x8000.
3455 Start .data at 0x40000.
3456
3457 Fri Sep 29 11:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
3458
3459 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
3460 command_line.rpath is set, use it, rather than the -L options, to
3461 build the rules section.
3462 * ld.texinfo: Document this use of -rpath.
3463
3464 * lexsup.c (parse_args): Don't set link_info.shared for -assert
3465 pure-text. Pass true, not 1, to lang_add_entry.
3466 * emultempl/sunos.em (find_assign): New static variable.
3467 (found_assign): New static variable.
3468 (gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
3469 If not a relocateable link, and no start symbol was specified on
3470 the command line, and there are any undefined symbols, set
3471 link_info.shared. If link_info.shared is set, set the address of
3472 the .text section to 0x20.
3473 (gld${EMULATION_NAME}_find_assignment): Rename from
3474 gld${EMULATION_NAME}_find_statement_assignment. If find_assign is
3475 set, then just set found_assign based on whether an assignment is
3476 found to find_assign.
3477 (gld${EMULATION_NAME}_get_script): Don't use a special script when
3478 producing a shared library.
3479 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
3480 * scripttempl/aout.sc: Remove CREATE_SHLIB tests.
3481 * ldlang.c (entry_from_cmdline): New global variable.
3482 (lang_add_entry): Change cmdline parameter from int to boolean.
3483 Use global entry_from_cmdline rather than function static
3484 from_cmdline.
3485 * ldlang.h (entry_from_cmdline): Declare.
3486 (lang_add_entry): Change declaration of second parameter from int
3487 to boolean.
3488 * ldgram.y: Pass false, not 0, to lang_add_entry.
3489
3490 Thu Sep 28 12:34:13 1995 Ian Lance Taylor <ian@cygnus.com>
3491
3492 * ld.h (parsing_defsym): Declare.
3493 * ldlex.h (lex_string): Declare.
3494 * ldlex.l (lex_string): Define.
3495 * lexsup.c (parsing_defsym): Define.
3496 (parse_args): In OPTION_DEFSYM case, set lex_string before calling
3497 lex_redirect, and clear it after calling yyparse. Set
3498 parsing_defsym around call to yyparse.
3499 * ldmain.c (main): Set lex_string before calling lex_redirect, and
3500 clear it after calling yyparse.
3501 * ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
3502 in linker scripts correctly.
3503
3504 * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
3505 COFF targets, allowing for the leading underscore used on SPARC
3506 COFF.
3507
3508 * lexsup.c (parse_args): Handle -assert.
3509 * emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
3510 * emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
3511 shared library script when appropriate.
3512 * scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
3513 section at SIZEOF_HEADERS.
3514
3515 Thu Sep 28 01:40:37 1995 Doug Evans <dje@deneb.cygnus.com>
3516
3517 * Makefile.in (earmcoff.c): Build.
3518 * configure.tgt (arm-*-coff): New target
3519 * emulparms/armcoff.sh: New file.
3520 * scripttempl/armcoff.sc: New file.
3521
3522 Tue Sep 26 10:59:32 1995 Ian Lance Taylor <ian@cygnus.com>
3523
3524 * scripttempl/i386coff.sc: Remove .data2; no longer needed.
3525
3526 Fri Sep 22 18:09:02 1995 Ian Lance Taylor <ian@cygnus.com>
3527
3528 * ldfile.c (ldfile_set_output_arch): Make arch const.
3529
3530 Thu Sep 21 17:55:24 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3531
3532 * scripttempl/elfppc.sc: Correctly locate __bss_start at the
3533 beginning of the .bss area, not at the end of data. Add
3534 __sbss_{start,end} symbols.
3535
3536 Wed Sep 20 12:29:36 1995 Ian Lance Taylor <ian@cygnus.com>
3537
3538 * Makefile.in (CC_FOR_TARGET): Quote $(program_transform_name).
3539 (CXX_FOR_TARGET, install): Likewise.
3540
3541 Mon Sep 18 14:53:22 1995 Ian Lance Taylor <ian@cygnus.com>
3542
3543 Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
3544 * Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
3545 (CXX_FOR_TARGET): Likewise.
3546 (install): Likewise.
3547 (GENERATED_HFILES): Remove config.h.
3548 (.dep): Depend upon config.h.
3549
3550 Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no>
3551
3552 * configure.tgt (mips*-dec-netbsd*): New target.
3553
3554 Fri Sep 15 20:01:52 1995 Ken Raeburn <raeburn@cygnus.com>
3555
3556 * configure.host (m88*-*-dgux*): Fix another shell syntax error.
3557
3558 Fri Sep 15 23:28:05 1995 Andrew Cagney <cagney@highland.com.au>
3559
3560 * configure.host (i[345]86-*-bsd*): Fix shell syntax error.
3561
3562 Thu Sep 12 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com>
3563
3564 * scripttemp/pe.sc: Allow both spellings of .ctors/.dtors.
3565 Start .text section on the right boundary. Always align
3566 stabs.
3567
3568 Tue Sep 12 12:24:17 1995 Ian Lance Taylor <ian@cygnus.com>
3569
3570 * Makefile.in (maintainer-clean): New target.
3571
3572 * ldmain.c (struct warning_callback_info): Define.
3573 (warning_callback): Add new parameter symbol. Call
3574 warning_find_reloc to try to find the section and VMA.
3575 (warning_find_reloc): New static function.
3576 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
3577 Pass NULL as symbol parameter to warning callback.
3578
3579 * ld.texinfo: Clarify -L option.
3580
3581 * ldlang.c (lang_one_common): Add cast to avoid warning.
3582 (topower): Likewise. Also, reindent.
3583 * ldwrite.c (clone_section): Change i to unsigned int.
3584 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
3585 cast to avoid warning.
3586
3587 Fri Sep 8 16:32:43 1995 Ian Lance Taylor <ian@cygnus.com>
3588
3589 * Makefile.in (config.status): Depend upon configure.tgt.
3590
3591 * ldemul.h (ldemul_set_symbols): Declare.
3592 (ldemul_parse_args): Declare.
3593 * ldemul.c (ldemul_parse_args): Fix indentation.
3594
3595 * configure.in: Call AC_HEADER_DIRENT.
3596 * configure, config.in: Rebuild.
3597 * emultempl/sunos.em: Use autoconf recommend mechanism to define
3598 DIR and struct dirent.
3599
3600 * configure.tgt (mips*-*-bsd*): New case.
3601
3602 * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
3603 New case.
3604 * configure.tgt (i[345]86-*-ptx*): New case.
3605
3606 Thu Sep 7 10:48:26 1995 Ian Lance Taylor <ian@cygnus.com>
3607
3608 * config.in: Rename from config.h.in.
3609 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
3610 Check for config.h:config.in when creating stamp-h.
3611 * configure: Rebuild.
3612 * Makefile.in (stamp-h): Depend upon config.in rather than
3613 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
3614 calling config.status.
3615
3616 * Makefile.in (distclean): Remove config.h and stamp-h.
3617
3618 * configure.host (sparc-*-sunos64*): Remove.
3619 * ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
3620
3621 * ldexp.c (exp_fold_tree): Don't warn about moving the location
3622 counter backward in the absolute section.
3623
3624 Wed Sep 6 14:42:11 1995 Ian Lance Taylor <ian@cygnus.com>
3625
3626 * configure.in: Rewrite to use autoconf.
3627 * configure.host: New file.
3628 * configure.tgt: New file.
3629 * aclocal.m4: New file.
3630 * configure: New file, built by autoconf.
3631 * acconfig.h: New file.
3632 * config.h.in: New file, built by autoheader.
3633 * sysdep.h: New file.
3634 * ld.h: Incorporate old contents of config.h.
3635 * config.h: Remove.
3636 * Makefile.in: Various changes for new configure script. Also:
3637 (CC_FOR_BUILD): Remove.
3638 (ldmain.o): Don't bother to ensure that EMUL is non-empty.
3639 (dep.sed): Use @SRCDIR@, not @srcdir@.
3640 * dep-in.sed: Use @SRCDIR@, not @srcdir@.
3641 * genscripts.sh: Create ldscripts if it does not exist.
3642 * ldemul.c, lexsup.c, mpw-emipsidt.c: Don't include "config.h".
3643 * mpw-esh.c, emultemp/*.em: Likewise.
3644 * ldmain.c: Likewise. Include <ctype.h>. Don't try to set
3645 HAVE_SBRK here.
3646 * config/*.mt, config/*.mh: Remove.
3647
3648 Tue Sep 5 14:55:24 1995 Ken Raeburn <raeburn@cygnus.com>
3649
3650 * configure.in: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
3651 ns32k-pc532-lites* like ns32k-pc532-netbsd*. From Ian Dall.
3652
3653 Fri Sep 1 22:29:52 1995 Doug Evans <dje@canuck.cygnus.com>
3654
3655 * scripttempl/pe.sc: Fix typo in spelling of .ctors/.dtors.
3656
3657 Fri Sep 1 13:13:29 1995 Ian Lance Taylor <ian@cygnus.com>
3658
3659 * ldmain.c (warning_callback): Add abfd, section, and address
3660 parameters.
3661 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
3662 Change call to warning accordingly.
3663
3664 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
3665 relocateable and not shared, put .gnu.warning.SYMBOL sections into
3666 the .text section.
3667
3668 Fri Sep 1 08:35:16 1995 James G. Smith <jsmith@beauty.cygnus.com>
3669
3670 * configure.in: Added mips*vr4300-idt-elf* and
3671 mips*vr4300el-idt-elf* targets.
3672 * Makefile.in: Added eelf32vr4300* targets.
3673 * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
3674 * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
3675
3676 Fri Sep 1 10:51:45 1995 Ian Lance Taylor <ian@cygnus.com>
3677
3678 * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe
3679 <brendan@cygnus.com>.
3680
3681 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
3682
3683 * ldemul.c (ldemul_parse_args): New.
3684 * ldemul.h (ld_emulation_xfer_struct): Add parse_args.
3685 * lexsup.c (all pe stuff): Moved into pe.em
3686 (parse_args): Call emulation arg parser.
3687 * emultempl/pe.em (parse_args): handle PE specfic args.
3688
3689 Thu Aug 31 17:01:37 1995 Ian Lance Taylor <ian@cygnus.com>
3690
3691 * ldlang.c (lang_memory_region_lookup): Don't use the first region
3692 as the default region. Create a new region instead.
3693
3694 Tue Aug 29 14:21:41 1995 steve chamberlain <sac@slash.cygnus.com>
3695
3696 * ldemul.c (ldemul_set_symbols): New function.
3697 * ldemul.h (ld_emulation_xfer_struct): Add set_symbols.
3698 * ldmain.c (main): Add call to ldemul_set_symbols.
3699 * lexsup.c (set_pe_value): New args.
3700 (set_pe_name): New.
3701 (parse_args): Cope with new set_pe_value args.
3702 * emultempl/pe.em (set_symbols): New function.
3703 (ld_emulation_xfer_struct): Add set_symbols.
3704 * scripttempl/pe.sc: Use new symbols.
3705
3706 Thu Aug 24 18:12:18 1995 Ian Lance Taylor (ian@cygnus.com)
3707
3708 * lexsup.c (parse_args): Don't call set_default_dirlist for -O.
3709 For -Y, ignore a leading `P,', and only call set_default_dirlist
3710 after processing all the other arguments.
3711
3712 Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
3713
3714 * scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
3715 * emulparams/armpe.sh: Run PE script.
3716
3717 Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
3718
3719 * ldmain.c (main): Remove PE stuff.
3720 * lexsup.c (options): Load more PE options.
3721 (set_pe_value): New function.
3722
3723 Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
3724
3725
3726 * emultempl/{armpe.sc, i386pe.sc}: Deleted.
3727 * emultempl/pe.sc: New file performs generic PE support and sorts
3728 archive members.
3729 * emulparams/{armpe.sh,i386pe.sh}: Use new file.
3730 * scripttempl/{armpe.sc, i386pe.sc}: Deleted
3731 * scripttempl/pe.sc: New.
3732 * Makefile.in: Use new files.
3733
3734 Thu Aug 17 14:46:34 1995 Doug Evans <dje@canuck.cygnus.com>
3735
3736 * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
3737 (.strings,.ctors,.dtors): Likewise.
3738
3739 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
3740
3741 * scripttempl/armpe.sc: Always start code at 0x401000, even
3742 if -r.
3743 * ldwrite.c (strdup): New extern declaration.
3744 * ldgram.y (atype): New rule to clarify type parsing.
3745 * ldlang.c (init_os): Remove commented out code.
3746 (lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
3747 unless told not to by the link script.
3748
3749 Wed Aug 16 11:45:11 1995 Ian Lance Taylor <ian@cygnus.com>
3750
3751 * ldlang.c (lang_set_startof): New static function.
3752 (lang_process): Call it.
3753
3754 * ldgram.y: Tweak casesymlist to avoid bison errors.
3755
3756 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
3757 Solaris compatibility.
3758
3759 Tue Aug 15 17:31:16 1995 Ian Lance Taylor <ian@cygnus.com>
3760
3761 * ldgram.y (YYDEBUG): If not defined, define as 1.
3762 (CASE, EXTERN, START): New tokens.
3763 (mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
3764 (casesymlist): New nonterminal.
3765 (extern_name_list): New nonterminal.
3766 * ldlex.l: Accept lower case trailing base specifiers. Don't
3767 ignore the first digit when the base is a suffix. Accept many
3768 EXPRESSION state tokens in MRI state. Support MRI continuation
3769 lines and MRI semicolon comments. Accept all MRI keywords in
3770 lower case. Add CASE, EXTERN, and START MRI keywords.
3771
3772 Tue Aug 8 19:14:58 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
3773
3774 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc
3775 instead of alloca.
3776
3777 Tue Aug 8 15:24:05 1995 J.T. Conklin <jtc@rtl.cygnus.com>
3778
3779 * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
3780 $r/../gcc/xgcc unless it is present.
3781
3782 Thu Aug 3 11:56:22 1995 Ian Lance Taylor <ian@cygnus.com>
3783
3784 * scripttempl/m68kcoff.sc: Only put .ctors and .dtors in .text
3785 when CONSTRUCTING.
3786 * scripttempl/m68klynx.sc: Likewise.
3787 * scripttempl/nw.sc: Likewise.
3788 * scripttempl/sa29200.sc: Likewise.
3789 * scripttempl/sparclynx.sc: Likewise.
3790
3791 Fri Jul 28 12:02:23 1995 steve chamberlain <sac@slash.cygnus.com>
3792
3793 * emulparams/{z8001.sh, z8002.sh}: Fix typo.
3794
3795 Thu Jul 27 21:06:21 1995 Ken Raeburn <raeburn@cygnus.com>
3796
3797 * configure.in (i[345]86-*-linuxoldld): Treat like linuxaout*.
3798
3799 Thu Jul 27 15:26:28 1995 steve chamberlain <sac@slash.cygnus.com>
3800
3801 * scripttempl/i386pe.sc: Cope with constructors.
3802 * scripttempl/z8ksim.sc: Deleted.
3803 * scripttempl/z8000.sc: Resurrected as this, but
3804 can handle z8001 and z8002 formats.
3805 * emulparams/z8ksim.sh: Deleted.
3806 * emulparams/{z8001.sh, z8002.sh}: New files.
3807 * config/z8ksim.mt: Deleted
3808 * config/z8k-coff.mt: New, generates both emulations.
3809
3810 Tue Jul 25 14:53:02 1995 Ian Lance Taylor <ian@cygnus.com>
3811
3812 * ldmisc.c (vfinfo): In %C and %D case, always print the BFD using
3813 %B, in case it is in an archive.
3814
3815 Mon Jul 24 15:23:39 1995 Ian Lance Taylor <ian@cygnus.com>
3816
3817 * ldlang.c (lang_process): Call reset_memory_regions for each
3818 relaxation pass.
3819
3820 Fri Jul 21 22:49:44 1995 Michael Meissner <meissner@cygnus.com>
3821
3822 * scripttempl/elfppc.sc: Add support for .sdata, .sbss, and
3823 _SDA_BASE.
3824
3825 Thu Jul 20 16:26:55 1995 Ken Raeburn <raeburn@cygnus.com>
3826
3827 * ldmain.c (constructor_callback): Allocate set_name in stack
3828 frame, rather than always calling alloca with a fixed size.
3829
3830 Wed Jul 19 16:21:43 1995 Doug Evans <dje@canuck.cygnus.com>
3831
3832 * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
3833 (LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
3834
3835 Mon Jul 17 13:57:00 1995 Ian Lance Taylor <ian@cygnus.com>
3836
3837 * ldwrite.c (clone_section): Set the alignment of the clone
3838 section to that of the section being cloned.
3839
3840 * ldwrite.c (split_sections): Don't split the first input section
3841 into a new output section.
3842
3843 Sat Jul 15 00:26:35 1995 Michael Meissner <meissner@cygnus.com>
3844
3845 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Define as elf32.
3846 (GENERATE_SHLIB_SCRIPT): Define as yes.
3847
3848 Fri Jul 14 12:11:46 1995 Ian Lance Taylor <ian@cygnus.com>
3849
3850 * emultempl/mipsecoff.em (check_sections): Use %P, not %F.
3851
3852 * ldver.c (help): Update list of options to match currently
3853 supported list.
3854
3855 Thu Jul 13 13:52:10 1995 Ian Lance Taylor <ian@cygnus.com>
3856
3857 * emultempl/lnk960.em (ld_lnk960_emulation): Initialize
3858 after_open field.
3859
3860 * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
3861 it takes a size_t anyhow.
3862 (exp_binop): Likewise.
3863 (exp_trinop): Likewise.
3864 (exp_unop): Likewise.
3865 (exp_nameop): Likewise.
3866 (exp_assop): Likewise.
3867 * ldlang.c (lang_memory_region_lookup): Likewise.
3868 (init_os): Likewise.
3869 (ldlang_add_undef): Likewise.
3870 (insert_pad): Likewise.
3871 * ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
3872 bfd_size_type.
3873
3874 * Makefile.in (ALL_EMULATIONS): It's earmaoutb.o, not earmoutb.o.
3875
3876 Wed Jul 12 11:32:22 1995 Ian Lance Taylor <ian@cygnus.com>
3877
3878 * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
3879 declaration.
3880 (ld_emulation_xfer_type): Add search parameter to
3881 open_dynamic_archive entry point.
3882 * ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
3883 * ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
3884 make non-static. Change all callers to use new name.
3885 (ldfile_open_file_search): Make static. If entry is dynamic, call
3886 ldemul_open_dynamic_archive.
3887 (ldfile_open_file): Don't call ldemul_open_dynamic_archive.
3888 * ldfile.h (ldfile_open_file_search): Don't declare.
3889 (ldfile_try_open_bfd): Declare.
3890 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
3891 Accept search parameter. Don't search for a library, just look in
3892 a single place.
3893 * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
3894 Likewise.
3895
3896 Tue Jul 11 16:44:21 1995 Ian Lance Taylor <ian@cygnus.com>
3897
3898 * ldmain.c (set_scripts_dir): Don't base script directory on
3899 current directory.
3900
3901 Tue Jul 11 12:29:02 1995 Rick Sladkey <jrs@world.std.com>
3902
3903 * ldmisc.c (vfinfo): Don't print the line number if it isn't
3904 meaningful.
3905
3906 Mon Jul 10 13:38:28 1995 Ian Lance Taylor <ian@cygnus.com>
3907
3908 * ld.h (ld_config_type): Add field warn_constructors.
3909 * ldmain.c (add_to_set): Warn if config.warn_constructors.
3910 (constructor_callback): Likewise.
3911 * lexsup.c (parse_args): Handle -warn-constructors.
3912 * ld.texinfo, ld.1: Document -warn-constructors.
3913
3914 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
3915 get confused by directory names if we searched for the file.
3916
3917 Based on patches from H.J. Lu <hjl@nynexst.com>:
3918 * ldlang.h (lang_input_statement_type): Add new field dynamic.
3919 * ldlang.c (new_afile): Set dynamic from config.dynamic_link.
3920 * ldfile.c: Include bfdlink.h.
3921 (ldfile_open_file): Check dynamic field of entry, not global
3922 dynamic_link field. Don't do a dynamic search when doing a
3923 relocateable link.
3924 * ldmain.c (main): Don't warn about dynamic_link for a
3925 relocateable link.
3926 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
3927 dynamic is false.
3928 (gld${EMULATION_NAME}_create_output_section_statements): Always
3929 loop over input files.
3930 * Makefile.in: Rebuild dependencies.
3931
3932 * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
3933 -shared.
3934
3935 Mon Jul 10 13:29:43 1995 Eric Youngdale <eric@aib.com>
3936
3937 * ldmain.c (main): Set link_info.symbolic to false.
3938 * lexsup.c (parse_args): Handle -Bsymbolic.
3939
3940 Wed Jul 5 00:12:11 1995 Fred Fish (fnf@cygnus.com)
3941
3942 * ldmain.c (HAVE_SBRK): Define for everything except
3943 specific systems that are known to not support sbrk.
3944 (main): Use HAVE_SBRK to decide whether or not to use sbrk.
3945
3946 Tue Jul 4 12:55:48 1995 Ian Lance Taylor <ian@cygnus.com>
3947
3948 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
3949 Handle etree_provide.
3950
3951 * emultempl/elf32.em (global_needed): New static variable.
3952 (global_found): Likewise.
3953 (gld${EMULATION_NAME}_after_open): New static function.
3954 (gld${EMULATION_NAME}_search_needed): Likewise.
3955 (gld${EMULATION_NAME}_try_needed): Likewise.
3956 (gld${EMULATION_NAME}_check_needed): Likewise.
3957 (ld_${EMULATION_NAME}_emulation): Replace after_open_default with
3958 gld${EMULATION_NAME}_after_open.
3959
3960 Mon Jul 3 14:26:37 1995 Steve Chamberlain <sac@slash.cygnus.com>
3961
3962 * configure.in (i386-*-win32): New target.
3963
3964 Mon Jul 3 14:39:22 1995 Ian Lance Taylor <ian@cygnus.com>
3965
3966 * lexsup.c (parse_args): Let -G either set the small data size or
3967 be equivalent to --shared, depending on the next argument. Accept
3968 and ignore -z for Solaris compatibility.
3969
3970 Sun Jul 2 17:52:34 1995 Ian Lance Taylor <ian@cygnus.com>
3971
3972 * lexsup.c (parse_args): Cast fopen result to PTR before storing
3973 it in link_info.base_file. Fix indentation.
3974
3975 Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
3976
3977 * ldmain.c (main): Always initialize PE info in link_info.
3978 * lexsup.c (OPTION_BASE_FILE): New option.
3979 (parse_args): Handle new option.
3980 * emulparams/armpe.sh: Output pei.
3981 * emultempl/i386pe.em: Add newline to end.
3982 * scripttempl/armpe.sc: Change output and quote the $s.
3983 * scripttempl/i386pe.sc: Change output and quote the $s.
3984
3985 Thu Jun 22 19:55:41 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
3986
3987 Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
3988
3989 * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
3990 * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
3991 (i386msdos.o): New target.
3992 * config/i386-msdos.mt: Created.
3993 * emulparams/i386msdos.sh: Created.
3994 * scripttempl/i386msdos.sc: Created.
3995
3996 Thu Jun 22 15:06:35 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3997
3998 * scripttempl/elfppc.sc (.fixup): Add support for a .fixup section
3999 that contains pointers to be relocated.
4000
4001 Tue Jun 20 17:47:20 1995 Stan Shebs <shebs@andros.cygnus.com>
4002
4003 * mpw-esh.c: New file, modified for MPW from esh.c.
4004 * scripttempl/sh.sc: Reformatted to simplify MPWification,
4005 use *() to concat stab sections instead of [].
4006
4007 Thu Jun 15 08:48:16 1995 Steve Chamberlain <sac@slash.cygnus.com>
4008
4009 * scripttempl/armpe.sc: Add constructor support.
4010
4011 Tue Jun 13 09:11:20 1995 Steve Chamberlain <sac@slash.cygnus.com>
4012
4013 * ldlang.c (lang_size_sections): Any section with a DATA
4014 statement has contents.
4015
4016 Sun Jun 11 15:20:46 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
4017
4018 * emulparams/m68kelf.sh (NOP): Define.
4019 (DYNAMIC_LINK): Don't define.
4020 (TEXT_START_ADDR): Set to 0x80000000; the extra 0x100 for headers
4021 will come from the linker script.
4022
4023 Thu Jun 8 14:17:33 1995 Steve Chamberlain <sac@slash.cygnus.com>
4024
4025 * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack.
4026
4027 Mon Jun 5 02:16:24 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
4028
4029 * configure.in (i[345]86-*-gnu*): Use GNU elf config.
4030
4031 Thu May 25 11:49:28 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4032
4033 From Andrew Cagney <cagney@highland.com.au>
4034 * Makefile.in: Fixup more gotchas from renaming elf32ppcle to
4035 elf32lppc.
4036
4037 Wed May 24 11:23:21 1995 Steve Chamberlain <sac@slash.cygnus.com>
4038
4039 Add support for ARM-PE.
4040 * Makefile.in (ALL_EMULATIONS): Add armpe.o
4041 * configure.in: Recognize armpe.
4042 * config/arm-pe.mt: New file.
4043 * emulparams/armpe.sh: New file.
4044 * scripttempl/armpe.sc: New file.
4045
4046
4047 Mon May 22 15:19:26 1995 Doug Evans <dje@chestnut.cygnus.com>
4048
4049 * configure.in (h8300h-*-hms): Deleted
4050 * config/cf-h8300h.mt: Deleted.
4051
4052 Thu May 18 04:26:10 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
4053
4054 Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
4055
4056 From David Taylor (dtaylor@armltd.co.uk)
4057 * Makefile.in (ALL_EMULATIONS): Add earmout[lb].o
4058 * configure.in: Recognize arm{,e[lb]-*-aout.
4059 * config/arm[lb]-aout.mt: New files.
4060 * emulparams/armaout[lb].sh: New files.
4061 * scripttempl/armaout.sc: New file.
4062
4063 Tue May 16 18:27:11 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4064
4065 * config/ppcle-elf32.mt (EMUL): Use elf32lppc, not elf32ppcle, to
4066 be unique in 8 characters for DOS.
4067
4068 * emulparams/elf32lppc.sh: New file, renamed from elf32ppcle.sh.
4069 * emulparams/elf32ppcle.sh: Deleted.
4070
4071 Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com>
4072 Tom Griest <griest@cs.yale.edu>
4073
4074 Initial support for PE executables (eg NT, win32)
4075
4076 * Makefile.in (configure.in, ei386pe): Add support.
4077 * ldmain.c (main): Initialize PE argument info.
4078 * ldwrite.c (print_file_stuff): Don't print out .drectve
4079 and .debug section info.
4080 * lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
4081 OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
4082 Handle new arguments.
4083 * config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
4084 New files
4085
4086 Wed May 10 18:37:59 1995 Stu Grossman (grossman@andros.cygnus.com)
4087
4088 * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text
4089 segment. This allows ld -r to preserve unwind sections.
4090
4091 Tue May 9 17:19:57 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4092
4093 * configure.in: Add little endian PowerPC support.
4094
4095 * Makefile.in (ALL_EMULATIONS): Add eelf32ppcle.o.
4096 (eelf32ppcle.c): Support for little endian PowerPC.
4097
4098 * config/ppcle-elf32.mt: New file for little endian PowerPC.
4099 * emulparams/elf32ppcle.sh: Ditto.
4100
4101 Wed May 3 12:56:32 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
4102
4103 * ldlang.c (print_output_section_statement): Check
4104 subsection_alignment, instead of checking section_alignment twice.
4105 Noticed by Alan Modra <alan@spri.levels.unisa.edu.au>.
4106
4107 Tue May 2 16:36:07 1995 Jeff Law (law@snake.cs.utah.edu)
4108
4109 * configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
4110
4111 Mon Apr 24 19:21:02 1995 Michael Meissner <meissner@cygnus.com>
4112
4113 * ldwrite.c (ldwrite): Before doing anything, reset the error
4114 code. If bfd_final_link returns an error, but the error code is
4115 unset, don't issue an extra message. Assume a correct error
4116 message was already set.
4117
4118 Fri Apr 14 16:31:24 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
4119
4120 * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
4121 (em68kelf.o): New target.
4122 * config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
4123 * configure.in: Use them for m68*-*-elf.
4124
4125 Tue Apr 11 12:02:03 1995 Stan Shebs <shebs@andros.cygnus.com>
4126
4127 Merge in support for Mac MPW as a host.
4128 (Old change descriptions retained for informational value.)
4129
4130 * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
4131 (i386-unknown-coff): Remove.
4132 (sh-hitachi-hms): New target.
4133 (emulation_ofiles): Set correctly for each target.
4134 (version, TDEFINES): Add to makefile fragment.
4135 * mpw-make.in (BISON): Use byacc instead of bison.
4136 (em_*.c): Replace with e*.c everywhere.
4137 (ldgram.h): Separate action from ldgram.c generation.
4138 (LD_PROG): Depend on Version.r.
4139 (Version.r): generate from version info.
4140 * mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
4141
4142 * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
4143 i386-unknown-aout, i386-unknown-coff): New targets.
4144 (m68k-aout, m68k-coff): Remove targets.
4145 (mk.tmp): Add definition of EMUL.
4146
4147 * mpw-config.in (emulname): Set based on target.
4148 (ldemul-list.h): Construct.
4149 * mpw-make.in (install-only): New target.
4150 (install): Depend on install-only.
4151
4152 * mpw-make.in (bindir): Fix pathname.
4153 (install): Move here from mpw-build.in.
4154
4155 * mpw-config.in: New file, MPW configuration fragment.
4156 * mpw-make.in: New file, MPW makefile fragment.
4157 (This file is semi-automatically generated from Makefile.in.)
4158 * ldfile.c (slash): If MPW, set to `:'.
4159 * ldlex.l (TRUE_FALSE_ALREADY_DEFINED): If MPW, set this to
4160 prevent redefinition errors.
4161
4162 Tue Apr 4 17:55:18 1995 Steve Chamberlain <sac@bang.hack.com>
4163
4164 * ldwrite.c (clone_section): Align clone sections on even
4165 boundaries.
4166
4167 Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
4168
4169 * configure.in: Change linux to default to elf. Using
4170 i[345]86-*-linuxaout will build a linker which defaults to a.out.
4171 * config/i386-laout.mt: Rename from old config/i386-linux.mt.
4172 * config/i386-linux.mt: Rename from old config/i386-lelf.mt.
4173 * config/i386-lelf.mt: Remove.
4174
4175 Thu Mar 30 13:09:46 1995 Ian Lance Taylor <ian@cygnus.com>
4176
4177 * ldmain.c (main): If opening the map file fails, call
4178 bfd_set_error before calling einfo.
4179
4180 * ld.texinfo, ld.1: Document the -no-keep-memory option.
4181
4182 Mon Mar 27 11:10:08 1995 Ian Lance Taylor <ian@cygnus.com>
4183
4184 * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
4185 does mark shared libraries as executable.
4186
4187 Tue Mar 21 15:15:38 1995 Ian Lance Taylor <ian@cygnus.com>
4188
4189 * ldlang.c (lang_common): Change power to int. Pass larger values
4190 before smaller values.
4191 (lang_one_common): Treat info as int *. Don't bother to check for
4192 last value, since it is now zero.
4193
4194 Sat Mar 18 01:49:14 1995 Ian Lance Taylor <ian@cygnus.com>
4195
4196 * ldlang.c (load_symbols): An empty archive is OK.
4197
4198 Fri Mar 17 16:15:31 1995 Stan Shebs <shebs@andros.cygnus.com>
4199
4200 * ldmain.c (progress.h): Include.
4201 (main): Call START_PROGRESS and END_PROGRESS.
4202
4203 Thu Mar 16 17:17:33 1995 Michael Meissner <meissner@cygnus.com>
4204
4205 * scripttempl/elfppc.sc: Move _GOT2_END_ after the .ctors and
4206 .dtors sections, so that these pointers get relocated also.
4207 Define the symbols __{C,D}TOR_{LIST,END}__ to mark the beginning
4208 and end of the constructors/destructors.
4209
4210 Thu Mar 16 13:59:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
4211
4212 * ldlang.c (load_symbols): If whole_archive is true and ENTRY
4213 describes an archive, call bfd_link_add_symbols on each member.
4214 * ldmain.c (whole_archive): New variable.
4215 (main): Initialize it to false.
4216 * ldmain.h: Declare whole_archive.
4217 * lexsup.c (parse_args): Grok --whole-archive switch.
4218 * ld.texinfo, ld.1: Document --whole-archive.
4219
4220 Thu Mar 16 11:38:48 1995 Ian Lance Taylor <ian@cygnus.com>
4221
4222 * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
4223 using the default emulation.
4224
4225 * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
4226 LDEMULATION.
4227 * config/hppaelf.mh (HOSTING_EMU): Likewise.
4228
4229 Tue Mar 14 12:28:03 1995 Ian Lance Taylor <ian@cygnus.com>
4230
4231 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
4232 for -lc.N. From H.J. Lu <hjl@nynexst.com>.
4233
4234 Fri Mar 10 14:43:48 1995 Ian Lance Taylor <ian@cygnus.com>
4235
4236 * ldmain.c (main): Don't set EXEC_P if link_info.shared is set.
4237
4238 * ldlex.l: Return -lFILENAME as the token LNAME.
4239 * ldgram.y: Add token LNAME.
4240 (input_list): Treat LNAME like NAME, but pass it to
4241 lang_add_input_file as lang_input_file_is_l_enum.
4242 * ld.texinfo: Document using -lFILENAME in INPUT.
4243
4244 Thu Mar 9 12:21:51 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4245
4246 * ldlang.c (lang_check): If the architectures are compatible call
4247 bfd_merge_private_bfd_data to let the backend do additional
4248 checks.
4249
4250 Tue Mar 7 00:53:08 1995 Ian Lance Taylor <ian@cygnus.com>
4251
4252 * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
4253 all supported emulations.
4254
4255 Mon Mar 6 14:03:50 1995 Ian Lance Taylor <ian@cygnus.com>
4256
4257 * ldemul.c (ldemul_list_emulations): New function.
4258 * ldemul.h (ldemul_list_emulations): Declare.
4259 * ldver.c (help): List supported targets and emulations.
4260
4261 Fri Mar 3 15:40:36 1995 Doug Evans <dje@canuck.cygnus.com>
4262
4263 * scripttempl/elf.sc (.debug): Relocate to address 0.
4264 (.debug_srcinfo, .debug_aranges, .debug_pubnames,
4265 .debug_sfnames, .line): Likewise.
4266
4267 Fri Mar 3 17:07:14 1995 Ian Lance Taylor <ian@cygnus.com>
4268
4269 * emultempl/elf32.em (hold_rel): New static variable.
4270 (gld${EMULATION_NAME}_place_orphan): Place readonly sections with
4271 contents whose names begin with ".rel" after hold_rel. Remove the
4272 assertion which checked for unplaced .rel sections. Don't try to
4273 sort the section into place if place->bfd_section is NULL.
4274 (gld${EMULATION_NAME}_place_section): Set hold_rel to the first
4275 section beginning with ".rel".
4276
4277 Thu Mar 2 14:34:43 1995 Ian Lance Taylor <ian@cygnus.com>
4278
4279 Doc note from pierre@phi.la.tce.com (Pierre Willard):
4280 * ld.texinfo: -X and -x work even if -s or -S are not specified.
4281 * ld.1: Similar change.
4282
4283 Wed Mar 1 13:51:16 1995 Ian Lance Taylor <ian@cygnus.com>
4284
4285 * emulparams/gld960coff.sh (COFF_CTORS): Define.
4286 * scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
4287
4288 Tue Feb 28 12:42:56 1995 Ian Lance Taylor <ian@cygnus.com>
4289
4290 * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
4291 (i[345]86-*-gnuelf*): New target. Use i386-gelf.
4292 * config/i386-lelf.mt: New file.
4293 * config/i386-gelf.mt: New file.
4294
4295 Tue Feb 28 10:27:54 1995 Rob Savoye <rob@darkstar.cygnus.com>
4296
4297 * configure.in: Match on mips-ecoff, and default to the IDT
4298 configuration.
4299
4300 Fri Feb 17 13:06:47 1995 Michael Meissner <meissner@cygnus.com>
4301
4302 * scripttempl/elfppc.sc: Add support for .got1 and .got2 sections.
4303 Offset _GLOBAL_OFFSET_TABLE_ 32768 from the start of the GOT area
4304 to double the size of the table.
4305
4306 Thu Feb 9 18:29:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
4307
4308 * Makefile.in (distclean): Do recursive deletion, since ldscripts
4309 is a directory.
4310
4311 Thu Feb 9 11:38:22 1995 Ian Lance Taylor <ian@cygnus.com>
4312
4313 * ldmain.c (main): If trace_file_tries is true, and we are using
4314 an internal linker script, print out the script.
4315 * ldfile.c (try_open): Reindent function. Make the messages about
4316 opening script files more informative.
4317
4318 * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
4319 * ld.texinfo, ld.1: Update accordingly.
4320
4321 Wed Feb 8 17:34:45 1995 Ian Lance Taylor <ian@cygnus.com>
4322
4323 * ldlang.c (lang_one_common): Adjust references to common symbol
4324 information for new structure.
4325
4326 Mon Feb 6 12:17:24 1995 Ian Lance Taylor <ian@cygnus.com>
4327
4328 * ldmain.c (undefined_symbol): Handle section being NULL.
4329
4330 * ldctor.c (ldctor_build_sets): Handle bfd_link_hash_defweak.
4331 * ldexp.c (fold_name): Likewise.
4332 * ldlang.c (print_one_symbol): Likewise.
4333 (lang_finish): Likewise.
4334 * ldmain.c (multiple_common): Likewise.
4335 * ldwrite.c (print_symbol): Likewise. Also, bfd_link_hash_weak
4336 renamed to bfd_link_hash_undefweak.
4337
4338 * scripttempl/alpha.sc: Set address of .data section correctly
4339 when -n or -N is used. Patch from Chris G Demetriou
4340 <Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
4341 * scripttempl/mips.sc: Similar change.
4342
4343 Tue Jan 31 16:20:52 1995 Doug Evans <dje@canuck.cygnus.com>
4344
4345 * ldlang.c (lang_size_sections): Clarify error message when user
4346 specified start addr conflicts with region. Fix resetting of
4347 region pointer.
4348
4349 Tue Jan 31 12:37:09 1995 Ian Lance Taylor <ian@cygnus.com>
4350
4351 * ldexp.c (fold_name): In case NAME, permit an absolute symbol
4352 in lang_allocating_phase_enum.
4353
4354 Mon Jan 30 11:33:25 1995 Ian Lance Taylor <ian@cygnus.com>
4355
4356 * Makefile.in (distclean): Depend upon clean. Don't bother to
4357 remove files which will be removed by clean. From patch by
4358 alan@SPRI.Levels.UniSA.Edu.Au (Alan Modra).
4359
4360 Fri Jan 27 16:27:34 1995 Ian Lance Taylor <ian@cygnus.com>
4361
4362 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
4363 a MIPS target, clobber the size of all but the first input
4364 .reginfo section to be 0, so that lang_size_sections sets the
4365 correct size for the output .reginfo section.
4366
4367 Thu Jan 26 19:53:37 1995 Ian Lance Taylor <ian@cygnus.com>
4368
4369 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4370 Remove unused variable is.
4371
4372 Thu Jan 26 12:33:05 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4373
4374 * configure.in: Add support for powerpc-*-eabi.
4375
4376 * scripttempl/elfppc.sc: New file for PowerPC embedded ABI
4377 support.
4378
4379 * emulparams/elf32ppc.sh (SCRIPT_NAME): Use elfppc.sc instead of
4380 elf.sc, which defines some new symbols PowerPC elf needs.
4381
4382 Tue Jan 24 10:32:15 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
4383
4384 * ldctor.c (ldctor_add_set_entry): Don't dump core if a
4385 constructor entry is in the absolute section.
4386
4387 Mon Jan 23 13:58:13 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
4388
4389 * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
4390 * config/i386-gnu.mt: New file. Include ELF support.
4391
4392 Thu Jan 19 16:22:11 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
4393
4394 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): If
4395 there are any input sections named .gnu.warning, treat them as
4396 containing a warning message to be printed by the linker, and
4397 clobber the size so that the message is not copied into the output
4398 file.
4399 * scripttempl/elf.sc: Put .gnu.warning sections into the .text
4400 section.
4401
4402 Sun Jan 15 16:45:00 1995 Steve Chamberlain <sac@splat>
4403
4404 * configure.in (w65-*-*): New target.
4405 * Makefile.in: Update.
4406 * scripttempl/w65.sc: New.
4407 * config/coff-w65.mt: New.
4408
4409 Thu Jan 12 01:32:25 1995 Ian Lance Taylor <ian@tweedledumb.cygnus.com>
4410
4411 * ldlang.c (lang_place_orphans): Don't ignore files with
4412 just_syms_flag set. Instead, put all their sections in
4413 bfd_abs_section_ptr, using the section VMA as the output_offset.
4414
4415 Wed Jan 11 22:59:09 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
4416
4417 * ldctor.c (ldctor_build_sets): Don't use `const' with typedef
4418 name `reloc_howto_type', since it's now defined to be const.
4419 * ldlang.c (lang_add_reloc): Ditto.
4420 * ldlang.h (lang_reloc_statement_type, lang_add_reloc): Ditto.
4421
4422 Wed Jan 11 11:24:45 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
4423
4424 * ldexp.c (fold_binary): Adding or subtracting an absolute value
4425 to a relative value does not require forcing the relative value to
4426 be absolute. Also, reindent function.
4427
4428 Wed Dec 28 22:05:52 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4429
4430 * ldwrite.c (clone_section): Create a symbol with the
4431 same name as the section.
4432
4433 Mon Dec 19 14:02:13 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4434
4435 * ld.h (split_by_reloc, split_by_file): New flags.
4436 * ldwrite.c (clone_section, split_sections): New functions.
4437 * lexsup.c (parse_args): Understand new split options.
4438
4439 Fri Dec 9 17:22:55 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4440
4441 * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
4442 .data segment. They must be writable when creating a shared
4443 library. From H.J. Lu <hjl@nynexst.com>.
4444
4445 Fri Dec 2 14:09:00 1994 Ian Lance Taylor <ian@rtl.cygnus.com>
4446
4447 * emultempl/miposecoff.em: New file.
4448 * emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
4449 * emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
4450 * scripttempl/mips.sc: Put .rel.sdata sections in .text, and
4451 provide __runtime_reloc_start and __runtime_reloc_stop if they are
4452 used. Align _fdata to a 16 byte boundary.
4453 * Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
4454 generic.em.
4455 (emipsidtl.c): Likewise.
4456 (check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
4457
4458 * ld.h (args_type): Add new field embedded_relocs.
4459 * ldemul.h (ldemul_after_open, after_open_default): Declare.
4460 (ld_emulation_xfer_struct): Add new field after_open.
4461 * ldemul.c (ldemul_after_open): New function.
4462 (after_open_default): New function.
4463 * ldlang.c (lang_process): Call ldemul_after_open.
4464 * lexsup.c (parse_args): Handle --embedded-relocs.
4465 * emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
4466 new after_open field to after_open_default.
4467 * emultempl/generic.em, emultempl/gld960.em: Likewise.
4468 * emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
4469 * emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
4470 * emultempl/sunos.em, emultempl/vanilla.em: Likewise.
4471 * ld.texinfo, ld.1: Mention -embedded-relocs.
4472
4473 Wed Nov 23 22:04:47 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4474
4475 * Makefile.in: Add eshl.o.
4476 * config/coff-sh.mt: Add shl emulation.
4477
4478 Tue Nov 22 11:55:37 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4479
4480 * scripttempl/elf.sc: Fill .text section with NOPS. From Eric
4481 Youngdale <eric@aib.com>.
4482
4483 Thu Nov 17 14:39:48 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4484
4485 Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
4486 * config/i386linux.mh: New file; set HOSTING_CRT0.
4487 * genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
4488 /usr/lib, since that is already in LIB_PATH.
4489
4490 Wed Nov 16 10:03:03 1994 Jeff Law (law@snake.cs.utah.edu)
4491
4492 * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
4493 address.
4494 (.data, .bss): If "-N", then place the data/bss just after the end
4495 of the .text section rather than at the default 0x40000000.
4496
4497 * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
4498 text segment.
4499
4500 Sat Nov 12 15:55:56 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4501
4502 Patches from Eric Youngdale <eric@aib.com>:
4503 * ldlang.c (lang_finish): Don't warn if entry symbol not found
4504 when generating a shared library.
4505 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Warn if
4506 attempting to place an orphaned relocation section when generating
4507 a dynamically linked object.
4508
4509 * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
4510 _start.
4511
4512 Fri Nov 11 14:27:23 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4513
4514 * ld.h (args_type): Add field export_dynamic.
4515 * lexsup.c (parse_args): Recognize --export-dynamic.
4516 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4517 Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
4518
4519 Wed Nov 9 12:47:11 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4520
4521 * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
4522 we allocate common symbols.
4523
4524 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
4525
4526 * scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
4527 .rela.fini to the list of .rel* sections.
4528
4529 Tue Nov 8 17:47:45 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4530
4531 * ldlang.c (load_symbols): Add new argument place. Only accept
4532 linker scripts if place is not NULL. Put commands found in an
4533 assumed linker script into place.
4534 (lookup_name): Pass NULL as place argument to load_symbols.
4535 (open_input_bfds): In lang_input_statement_enum case, pass a place
4536 argument to load_symbols, and store any new statements after the
4537 current one.
4538
4539 Mon Nov 7 15:53:02 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
4540
4541 * ldver.c (ldversion): Bump to 2.5.3.
4542
4543 Fri Nov 4 15:11:26 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
4544
4545 * Makefile.in (e*nbsd.c): Fix typo in dependencies.
4546
4547 Thu Nov 3 19:35:44 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
4548
4549 * Makefile.in (check): Add missing "else true" clause.
4550
4551 * emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".
4552
4553 * scripttempl/go32coff.sc: Changes from DJ Delorie: Change default
4554 entry point to "start". Align at end of each section to 0x200.
4555 Start .text section 0x1000 later. Add _etext, _edata, _end
4556 symbols.
4557
4558 Wed Nov 2 12:17:49 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4559
4560 * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
4561 composed of different object file formats.
4562 (ldctor_build_sets): If the output format does not support the
4563 reloc, and we are not generating a relocateable link, try getting
4564 the reloc from the input format.
4565
4566 Tue Nov 1 10:30:19 1994 J.T. Conklin (jtc@rtl.cygnus.com)
4567
4568 * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
4569 (em68knbsd.c): New target.
4570
4571 * config/m68k-nbsd.mt: New file.
4572 * emulparams/m68knbsd.sh: New file.
4573 * configure.in (m68*-*-netbsd*): Use above configs.
4574
4575 Mon Oct 31 19:35:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4576
4577 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
4578 appropriately named static library, stop the search at that
4579 directory.
4580
4581 Wed Oct 26 13:59:12 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
4582
4583 * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
4584 and esparcnbsd.o; sorted entries.
4585 (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.
4586
4587 * config/netbsd532.mt: Removed.
4588 * emulparams/netbsd532.sh: Removed.
4589
4590 * config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
4591 * emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
4592 * configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
4593 sparc*-*-netbsd*): Use above configs.
4594
4595 Tue Oct 25 11:47:10 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4596
4597 * ldmain.c (multiple_common): One of the types may now be
4598 bfd_link_hash_indirect. The old BFD argument may be NULL.
4599
4600 Thu Oct 20 22:01:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4601
4602 * configure.in: Add * at the end of m68k-hp-hpux.
4603
4604 Tue Oct 18 15:58:39 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4605
4606 * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
4607 YY_CHAR *.
4608
4609 Mon Oct 17 14:53:16 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
4610
4611 * scripttempl/nw.sc: Gather constructors and destructors and
4612 define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
4613
4614 Fri Oct 14 14:35:38 1994 J.T. Conklin (jtc@rtl.cygnus.com)
4615
4616 * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
4617 (ei386nw.c, eppcnw.c): New targets.
4618
4619 * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
4620 scripttempl/nw.sc: New files, for i386 and powerpc netware.
4621
4622 * configure.in: Changed netware ld_target name to be {i386,ppc}-nw
4623 instead of {i386,ppc}-elf.
4624
4625 * configure.in (sparc*-*-netware): Removed. There is no such
4626 thing anymore.
4627
4628 * ldint.texinfo: Move misplaced `@end iftex'.
4629
4630 Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com)
4631
4632 * scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
4633 .rela.dtors to the list of .rel* sections.
4634
4635 Thu Oct 13 14:16:27 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
4636
4637 * ldver.c (ldversion): Update to version 2.5.
4638 * Version 2.5 released.
4639
4640 * configure.in (all_targets): Handle i386-linux*.
4641
4642 Thu Oct 13 11:24:33 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4643
4644 * scripttempl/aout.sc: Set _etext and __etext to ., not
4645 ${DATA_ALIGNMENT}. This is compatible with SunOS, and, with luck,
4646 will not break any other system. From Eric Valette
4647 <ev@chorus.fr>.
4648
4649 Wed Oct 12 16:22:58 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
4650
4651 * lexsup.c (parse_args): Change -V to be a synonym for -v. Add
4652 --verbose to get the old -V behaviour.
4653 * ld.1, ld.texinfo: Document this change.
4654
4655 Tue Sep 27 14:56:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4656
4657 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
4658 assertion, since it could fail with a user defined linker script.
4659
4660 * ldexp.c (fold_name): For DEFINED case, don't try to look up the
4661 name in the hash table during the first phase--the hash table does
4662 not even exist at that point, much less have the right value.
4663
4664 * Makefile.in (CC): Define.
4665 (CXX): Move definition, change from g++ to gcc.
4666 (EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
4667 (RUNTEST_CC, RUNTEST_CFLAGS): Remove.
4668 (RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
4669 (CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
4670 (.cc.o): Comment out.
4671 (testdir): Remove.
4672 (site.exp): Don't create testdir or set tmpdir.
4673 (check): Run checks even if not running native. Use CC_FOR_TARGET
4674 instead of RUNTEST_CC, and likewise for CXX.
4675 (cdtest targets): Comment out.
4676 * config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
4677 * cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
4678 * cdtest-main.cc, cdtest.exp: Remove.
4679
4680 Mon Sep 26 11:40:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4681
4682 * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
4683 file naming problems.
4684 * emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
4685 * Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
4686 eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
4687 (eelf32bmip.c): Rename from eelf32mipb.c. Use elf32bmip.sh.
4688 (eelf32lmip.c): Rename from eelf32mipl.c. Use elf32lmip.sh.
4689 * config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
4690 * config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
4691
4692 * genscripts.sh: Always search /usr/local/TARGET/lib.
4693
4694 * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".".
4695
4696 Fri Sep 23 15:05:49 1994 Ken Raeburn <raeburn@cujo.cygnus.com>
4697
4698 * configure.in: Handle i386-bsdi* targets like i386-bsd.
4699
4700 Fri Sep 23 00:06:59 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4701
4702 * lexsup.c (parse_args): Add support for -a for HP/UX
4703 compatibility.
4704
4705 * lexsup.c (parse_args): -c takes an argument.
4706
4707 Tue Sep 20 14:35:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4708
4709 * ld.h (args_type): Add new field endian.
4710 * lexsup.c (parse_args): Handle -EB and -EL by setting
4711 command_line.endian.
4712 * ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
4713 * ldlang.c (lang_add_output_format): Add arguments big and little.
4714 If command_line.endian is set, use it to select big or little
4715 rather than the default. Changed all callers.
4716 * ldlang.h (lang_add_output_format): Update declaration.
4717 * emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
4718 LITTLE_OUTPUT_FORMAT.
4719 * emulparams/elf32mipl.sh: Likewise.
4720 * emulparams/mipsbig.sh: Likewise.
4721 * emulparams/mipsbsd.sh: Likewise.
4722 * emulparams/mipsidt.sh: Likewise.
4723 * emulparams/mipsidtl.sh: Likewise.
4724 * emulparams/mipslit.sh: Likewise.
4725 * scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
4726 LITTLE_OUTPUT_FORMAT if not already defined. Pass them to
4727 OUTPUT_FORMAT.
4728 * scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
4729 LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
4730 * scripttempl/mipsbsd.sc: Likewise.
4731
4732 * Makefile.in (ldgram.h): Make separate target from ldgram.c,
4733 depending upon ldgram.c, so that a parallel make does not try to
4734 build both at once.
4735
4736 * configure.in (mips*el-elf*): New target.
4737 * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
4738 (eelf32mipl.c): New target.
4739
4740 * config/mipsl-elf32.mt: New file.
4741 * emulparams/elf32mipl.sh: New file.
4742
4743 Fri Sep 16 12:16:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4744
4745 * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
4746 ld -r -S -x.
4747
4748 Thu Sep 15 13:05:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4749
4750 * ldmisc.c (vfinfo): Print BFD file name as well as file name
4751 returned by find_nearest_line, in case the file name is something
4752 unhelpful such as a .h file. Handle %u.
4753
4754 Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4755
4756 * ldlang.c (lang_do_assignments): Make sure output statement
4757 has an attached bfd_section before trying to dereference it.
4758
4759 Wed Sep 14 12:48:09 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4760
4761 * ld.h (ld_config_type): Add new field warn_once.
4762 * ldmain.c (undefined_symbol): Handle -warn-once.
4763 * lexsup.c (parse_args): Recognize -warn-once.
4764 * ld.texinfo (Options): Document -warn-once.
4765 * ld.1: Likewise.
4766
4767 * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
4768 name. For %C, print the function name on a separate line, to keep
4769 the length of error messages under control.
4770 * ldmain.c (multiple_definition): Use %D for ``first defined
4771 here.''
4772 (undefined_symbol): Use %D for ``more undefined references
4773 follow''.
4774
4775 * ldmisc.c (multiple_warn): Remove; no longer used.
4776 * ldmisc.h (multiple_warn): Don't declare.
4777
4778 Tue Sep 13 20:47:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4779
4780 * ldlang.c (print_output_section_statement): Print all lines
4781 to the map file.
4782
4783 Tue Sep 13 16:30:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4784
4785 * ldlang.c (load_symbols): Check for archive before object. Use
4786 bfd_check_format_matches, and, if ambiguous, print a list of
4787 matching formats. If file format is not recognized, treat file as
4788 a linker script.
4789 * ldgram.y (yyerror): If assuming an object file is a script,
4790 mention that. Tweak the format of the error messages.
4791 * ldlex.l (lex_warn_invalid): If assuming an object is a script,
4792 guess that this is not actually a script, and just report that the
4793 file format was not recognized.
4794 * ld.texinfo (Options): Admit that -( may be used more than once.
4795 Add note that unrecognized object files are now treated as linker
4796 scripts.
4797
4798 * ldfile.c (ldfile_input_filename): Make const.
4799 (ldfile_assumed_script): New variable.
4800 (try_open): Change arguments types to const.
4801 (ldfile_find_command_file): Likewise.
4802 (ldfile_open_command_file): Likewise. Also, set lineno to 1.
4803 * ldfile.h: Update declarations for ldfile.c changes.
4804 * ldlex.l: Include <ctype.h>.
4805 (file_name_stack): Change to be const char *.
4806 (lineno_stack): New static variable.
4807 (<<EOF>>): Set lineno as well as ldfile_input_filename.
4808 (lex_push_file): Make name argument const. Initialize
4809 lineno_stack entry.
4810 (lex_redirect): Initialize lineno_stack entry.
4811 (lex_warn_invalid): Handle non printable characters nicely.
4812 * ldlex.h (lex_push_file): Declare second argument as const.
4813
4814 * ldgram.y (ifile_p1): Recognize GROUP.
4815 * ldlex.l: Recognize GROUP.
4816 * ld.texinfo (Option Commands): Document GROUP.
4817
4818 Mon Sep 12 17:04:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4819
4820 * config/m68klynx.mh: New file.
4821
4822 Mon Sep 12 01:50:03 1994 Jeff Law (law@snake.cs.utah.edu)
4823
4824 * emultempl/hppaelf.em: Add newlines to the error messages.
4825
4826 Sat Sep 10 16:05:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4827
4828 * config/i386lynx.mh: New file.
4829 * scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
4830 unless CONSTRUCTING.
4831
4832 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4833
4834 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
4835 (GENERATE_SHLIB_SCRIPT): Define as yes.
4836 (DYNAMIC_LINK): Define as false.
4837 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
4838 Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
4839 (gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
4840 * Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
4841 generic.em.
4842
4843 Thu Sep 8 16:30:37 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4844
4845 * scripttempl/h8500b.sc: Put rdata stuff into own segment.
4846
4847 Thu Sep 8 13:25:24 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4848
4849 * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
4850 .got section is now explicitly handled in elf.sc.
4851
4852 Wed Sep 7 13:08:34 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4853
4854 * scripttempl/alpha.sc: Redo script to set . outside of sections
4855 and not bother to explicitly specify section addresses.
4856 Explicitly place .sdata section.
4857
4858 Tue Sep 6 23:51:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4859
4860 * scripttempl/m68kcoff.sc: Put .bss in data segment.
4861
4862 * scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
4863 0, and to only be marked as NOLOAD if relocating.
4864 * scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
4865 * scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
4866 * scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
4867 * scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
4868 * scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
4869 * scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
4870 * scripttempl/sparclynx.sc: Likewise.
4871
4872 Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org)
4873
4874 * Makefile.in, configure.in: Add support (disabled) the ARM/RISCiX.
4875 * config/riscix.mt, emulparams/riscix.sh, scripttempl/riscix.sc:
4876 New files.
4877
4878 Tue Aug 30 11:48:08 1994 Eric Youngdale (ericy@cais.cais.com)
4879
4880 * ld.h (args_type): Add field soname.
4881 * lexsup.c (parse_args): Handle -soname argument.
4882 * emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
4883 pass soname.
4884 * ld.texinfo: Document -soname.
4885
4886 Mon Aug 29 15:21:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4887
4888 * ldlang.c (lang_check): Don't try to set the architecture if the
4889 input and output files are incompatible. Just warn.
4890
4891 Wed Aug 24 12:52:30 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4892
4893 * configure.in: Change i[34]86 to i[345]86.
4894
4895 Sun Aug 21 16:17:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4896
4897 * emulparams/hp3hpux.sh: Define __DYNAMIC to be 0.
4898
4899 Thu Aug 18 15:37:45 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4900
4901 Make the ELF linker handle orphaned sections reasonably. Also,
4902 define __start_SECNAME and __stop_SECNAME around sections whose
4903 names can be represented in C, for the benefit of symbol sets in
4904 glibc.
4905 * ldemul.h (ldemul_place_orphan): Declare.
4906 (ld_emulation_xfer_type): Add place_orphan field.
4907 * ldemul.c (ldemul_place_orphan): New function.
4908 * ldlang.h (wild_doit): Declare.
4909 * ldlang.c (wild_doit): Make nonstatic.
4910 (lang_place_orphans): Call ldemul_place_orphan.
4911 * emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
4912 (hold_section, hold_use, hold_text, hold_data, hold_bss): New
4913 static variables.
4914 (gld${EMULATION_NAME}_place_orphan): New static function.
4915 (gld${EMULATION_NAME}_place_section): New static function.
4916 (ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
4917
4918 Tue Aug 16 00:17:20 1994 Eric Youngdale (ericy@cais.cais.com)
4919
4920 * scripttempl/aout.sc: Add .linux-dynamic after .data.
4921
4922 Tue Aug 16 00:08:22 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
4923
4924 * lexsup.c (parse_args) Treat --dll-verbose as --version, for
4925 Linux compatibility. From hjl@nynexst.com (H.J. Lu).
4926
4927 Mon Aug 15 17:17:33 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4928
4929 * ldexp.h (exp_get_abs_int): Declare.
4930
4931 Sat Aug 6 01:45:39 1994 Steve Chamberlain (sac@jonny.cygnus.com)
4932
4933 * ldlang.c (lang_do_assignments): Handle complex AT's better.
4934 * ldexp.c (exp_get_abs_int): New function.
4935
4936 Fri Aug 5 20:55:55 1994 Jason Molenda (crash@phydeaux.cygnus.com)
4937
4938 * configure.in: add i960-nindy-coff support.
4939
4940 Thu Aug 4 14:45:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4941
4942 * ldlex.l (yy_create_string_buffer): Handle change to internal
4943 interface in flex 2.4.7.
4944
4945 Tue Aug 2 11:52:06 1994 Eric Youngdale (ericy@cais.cais.com)
4946
4947 * emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
4948 New function; add 0x20 to any use of -Ttext.
4949 (gld${EMULATION_NAME}_create_output_section_statements): New
4950 function.
4951 (ld_${EMULATION_NAME}_emulation): Use the new function
4952 gld${EMULATION_NAME}_create_output_section_statements.
4953
4954 Mon Aug 1 15:50:44 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4955
4956 * scripttempl/mips.sc: Redo script to set . outside of sections
4957 and not bother to explicitly specify section addresses.
4958
4959 Tue Jul 26 11:02:35 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4960
4961 * scripttempl/elf.sc: Copy several more relocation sections into
4962 the output. Put .got.plt sections into .got.
4963
4964 Fri Jul 22 12:15:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4965
4966 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
4967
4968 Add a new script operator, PROVIDE, to define a symbol only if it
4969 is needed.
4970 * ldgram.y (PROVIDE): New token.
4971 (assignment): Accept PROVIDE.
4972 * ldlex.l (PROVIDE): New token.
4973 * ldexp.h (node_type): Add etree_provide to node_class enum.
4974 (exp_provide): Declare.
4975 * ldexp.c (exp_fold_tree): Handle etree_provide.
4976 (exp_provide): New function.
4977 (exp_print_tree): Handle etree_provide.
4978 * ld.texinfo: Document PROVIDE.
4979
4980 * ldlang.c (lang_common): Pass desired alignment to
4981 lang_one_common as power of two.
4982 (lang_one_common): Get common symbol alignment from linker hash
4983 table entry. Treat desired alignment as a power of two.
4984
4985 * ldlang.c (wild_section): Attach all section with the given name,
4986 not just the first one. If there is no name, attach all sections
4987 even if the SEC_IS_COMMON flag is set.
4988
4989 Wed Jul 20 15:49:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
4990
4991 * ld.h (args_type): Add field rpath.
4992 * lexsup.c (S_ISDIR): Define if not already defined.
4993 (parse_args): Add support for -rpath. If -R is used to name a
4994 directory, treat it as -rpath for Solaris compatibility.
4995 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
4996 Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
4997 * ldmain.c (main): Initialize command_line.rpath to NULL.
4998 * ld.texinfo: Document -rpath option.
4999
5000 Sun Jul 10 00:33:24 1994 Ian Dall (dall@hfrd.dsto.gov.au)
5001
5002 * emulparams/pc532machaout.sh: New file. Pc532 mach script
5003 parameters.
5004
5005 * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
5006
5007 * config/pc532mach.mt: New file. Pc532 mach target support.
5008
5009 * config/pc532mach.mh: New file. Pc532 mach host support.
5010
5011 * config/netbsd532.mt: New file. Netbsd 532 target support.
5012
5013 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
5014
5015 * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
5016 dependency.
5017
5018 Fri Jul 8 10:57:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5019
5020 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
5021 bfd_abs_section_ptr, not &bfd_abs_section.
5022
5023 * lexsup.c (parse_args): Changed "retain-symbols-file" from
5024 no_argument to required_argument. From djm.
5025
5026 Thu Jul 7 12:29:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5027
5028 * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
5029 sections to force a VMA of 0; needed for ELF backends which have
5030 not been converted to the new linker style.
5031
5032 Mon Jul 4 19:35:45 1994 Jeff Law (law@snake.cs.utah.edu)
5033
5034 * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
5035 it was for the HPUX dynamic loader's use and it creates problems
5036 with ELF GDB.
5037
5038 Fri Jul 1 12:53:47 1994 Jeff Law (law@snake.cs.utah.edu)
5039
5040 * ldlang.c (lang_do_assignments): No longer static. Delete decl.
5041 * ldlang.h (lang_do_assignments): Put external decl here.
5042 * emultempl/hppaelf.em: Minor cleanups throughout file.
5043 (hppa_elf_create_output_section_statements): Rewrite.
5044 (hppaelf_finish): Rewrite.
5045
5046 Wed Jun 29 16:50:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5047
5048 * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
5049
5050 * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not
5051 accept plain -B.
5052 * ld.texinfo: -Bstatic is not ignored.
5053
5054 Tue Jun 28 12:13:34 1994 Stan Shebs (shebs@andros.cygnus.com)
5055
5056 * ldlex.l: Recognize \r the same as \n.
5057
5058 Thu Jun 23 17:53:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5059
5060 Preliminary support for generating shared libraries, from Eric
5061 Youngdale <ericy@cais.cais.com>.
5062 * genscripts.sh: If the emulation parameter file sets
5063 GENERATE_SHLIB_SCRIPT, generate a .xs script file with
5064 CREATE_SHLIB defined.
5065 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
5066 link_info.shared is set, use the .xs script file.
5067 * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
5068 .interp section, and don't include TEXT_START_ADDR in the starting
5069 address of the first section.
5070 * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
5071 * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
5072
5073 Thu Jun 23 12:52:22 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5074
5075 * configure.in: Change --with-targets to --enable-targets.
5076
5077 Wed Jun 22 13:42:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5078
5079 * lexsup.c (parse_args): Add support for new options -( -) with
5080 synonyms --start-group --end-group.
5081 * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
5082 (lang_group_statement_type): Define new struct.
5083 (lang_statement_union_type): Add group_statement field.
5084 (lang_enter_group, lang_leave_group): Declare.
5085 * ldlang.c (lang_for_each_statement_worker): Handle
5086 lang_group_statement_enum.
5087 (map_input_to_output_sections, print_statement): Likewise.
5088 (lang_size_sections, lang_do_assignments): Likewise.
5089 (open_input_bfds): Completely rewrite. Now does its own looping,
5090 rather than using lang_for_each_statement. Handle groups.
5091 (lang_process): Update call to open_input_bfds.
5092 (print_group): New static function.
5093 (lang_enter_group, lang_leave_group): New static functions.
5094 * ldfile.c (ldfile_open_file): If the file has already been
5095 opened, just return rather than taking an assertion failure.
5096 * ldver.c (help): Mention new options.
5097 * ld.texinfo: Document new options.
5098
5099 * ldlang.c (end_of_data_section_statement_list): Don't define.
5100 (lang_leave_output_section_statement): Don't set obsolete variable
5101 end_of_data_section_statement_list.
5102
5103 * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
5104 ALIGN.
5105
5106 * ldlang.c (lang_size_sections): Adjust current region address
5107 even for sections with an explicit address. From
5108 ralphc@pyramid.com (Ralph Campbell).
5109
5110 * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
5111 From jrs@world.std.com (Rick Sladkey).
5112
5113 * scripttempl/mipsbsd.sc: Let sections align to their natural
5114 boundaries.
5115
5116 Tue Jun 21 11:27:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
5117
5118 * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
5119 &bfd_abs_section.
5120 (lang_abs_symbol_at_beginning_of): Likewise.
5121 (lang_abs_symbol_at_end_of): Likewise.
5122 (lang_size_sections): Use bfd_is_abs_section to check for the
5123 absolute section. Don't try to set the VMA or output_offset or
5124 size of the absolute section.
5125 * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
5126 undefined section.
5127
5128 Thu Jun 16 22:48:41 1994 Jeff Law (law@snake.cs.utah.edu)
5129
5130 * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
5131 when generating relocatable objects.
5132
5133 Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
5134
5135 * emultempl/linux.em: New file providing support for linking
5136 against Linux shared libraries.
5137 * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
5138 * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
5139
5140 Thu Jun 16 12:22:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5141
5142 * lexsup.c (parse_args): Add -shared to longopts, and handle it.
5143 * ldmain.c (main): Initialize link_info.shared to false. Give
5144 error if link_info.relocateable and link_info.shared are both set.
5145
5146 * configure.in: If EMUL_EXTRA* is defined in a config file, treat
5147 it as naming an emulation to be added to EMULATION_OFILES.
5148 * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
5149
5150 * Makefile.in: Rebuilt dependencies.
5151 (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
5152 eelf64_sparc.o. Remove $(OTHER_EMULATIONS).
5153 (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
5154 * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
5155 (ei386linux.c): Remove; now in Makefile.in.
5156 * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
5157 * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
5158 * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
5159 * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
5160 (eelf64_sparc.c): Remove; now in Makefile.in.
5161 * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
5162 (eelf32_sparc.c): Remove; now in Makefile.in.
5163
5164 * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
5165 no owner--it might be bfd_abs_section. From Eric Youngdale
5166 <ericy@cais.cais.com>.
5167
5168 * scripttempl/aout.sc: Let sections align to their natural
5169 boundaries.
5170
5171 Wed Jun 15 01:54:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5172
5173 * ldemul.h (ldemul_open_dynamic_archive): Declare.
5174 (ld_emulation_xfer_type): Add new field open_dynamic_archive.
5175 * ldemul.c: Include ldexp.h and ldlang.h.
5176 (ldemul_open_dynamic_archive): New function.
5177 * ldfile.h (ldfile_open_file_search): Declare.
5178 * ldfile.c: Include ldemul.h.
5179 (try_open_bfd): Rename from cache_bfd_openr. Return boolean
5180 argument, not bfd *. Change all callers.
5181 (ldfile_open_file_search): Rename from open_a. Return boolean
5182 argument, not bfd *. Clean up. Change all callers.
5183 (ldfile_open_file): If doing a dynamic link, call
5184 ldemul_open_dynamic_archive rather than assuming the extension of
5185 a dynamic object is ".so".
5186 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
5187 New function.
5188 (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
5189 field.
5190 * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
5191
5192 * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
5193 * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
5194 Accept -static as a synonym for -non_shared.
5195
5196 Let the user change the dynamic linker used by ELF code.
5197 * ld.h (args_type): Add new field interpreter.
5198 * lexsup.c (parse_args): Add dynamic-linker to longopts, and
5199 handle it.
5200 * ldmain.c (main): Initialize command_line.interpreter to NULL.
5201 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
5202 the ELF backend to return the .interp section. If
5203 command_line.interpreter is not NULL, set the contents of .interp
5204 to it.
5205 * ld.texinfo: Mention -dynamic-linker.
5206
5207 * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
5208 generic.em.
5209
5210 * lexsup.c (parse_args): Sort out the option macros and change the
5211 definitions to make it easier to add a new option.
5212
5213 * scripttempl/aout.sc: Define __etext and __edata to go along with
5214 _etext and _edata.
5215
5216 * ld.h (ld_config_type): Add new field traditional_format.
5217 * lexsup.c (parse_args): Add traditional-format to longopts, and
5218 handle it.
5219 * ldmain.c (main): Initialize config.traditional_format to false.
5220 * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
5221 flags of output_bfd according to config.traditional_format.
5222 * ldver.c (help): Mention -traditional-format.
5223 * ld.texinfo: Document -traditional-format.
5224
5225 Tue Jun 14 23:10:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5226
5227 * ldctor.c (ldctor_add_entry): Add entries to a set in the order
5228 they are encountered.
5229
5230 Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com)
5231
5232 * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
5233 (NONPAGED_TEXT_START_ADDR): Define as 0x20.
5234
5235 Mon Jun 13 15:46:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5236
5237 * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
5238 _FTEXT, _ETEXT and _FDATA. Dont define _END.
5239
5240 * ldfile.c (open_a): If this is not an archive, try to open it in
5241 the current directory before searching for it.
5242
5243 * lexsup.c (parse_args): Treat -i as a synonym for -r.
5244
5245 * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
5246 BLOCK works in a section address as documented.
5247
5248 * ldgram.y (YYDEBUG): Don't define.
5249
5250 Fri Jun 10 16:45:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5251
5252 * emultempl/gld960.em: Pass false for new argument to
5253 ldfile_add_library_path.
5254 * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
5255
5256 * emultempl/sunos.em: Only look for .so files if doing a dynamic
5257 link.
5258
5259 Thu Jun 9 08:35:17 1994 Ian Lance Taylor (ian@cygnus.com)
5260
5261 * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
5262
5263 Thu Jun 9 06:52:29 1994 Bill Cox (bill@rtl.cygnus.com)
5264
5265 * Makefile.in (check): Delete ld.new dependency so that a regression
5266 test doesn't trigger a rebuild of the linker.
5267
5268 Thu Jun 9 00:17:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5269
5270 * ldlang.c (map_input_to_output_sections): For lang_address, call
5271 init_os if it hasn't already been called.
5272
5273 Thu Jun 2 17:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5274
5275 Add support for SunOS shared libraries.
5276 * aout.sc: Don't define __DYNAMIC here. Add new sections used by
5277 shared library support code.
5278 * emultempl/sunos.em: New file.
5279 * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
5280 * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
5281 * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
5282 (esun3.c): Likewise.
5283
5284 * ldlang.c: Minor formatting cleanups.
5285 (lang_for_each_input_file): New function.
5286 * ldlang.h (lang_for_each_input_file): Declare.
5287
5288 * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
5289 field.
5290 (search_head): Declare.
5291 (ldfile_add_library_path): Add new cmdline argument in prototype.
5292 * ldfile.c (search_head): Make non-static.
5293 (search_dirs_type): Move to ldfile.h.
5294 (ldfile_add_library_path): Accept cmdline argument, and save it.
5295 * lexsup.c (parse_args): Pass true for new cmdline argument of
5296 ldfile_add_library_path.
5297 (set_default_dirlist): Likewise.
5298 * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
5299 argument of ldfile_add_library_path.
5300 * ldgram.y (ifile_p1): Likewise.
5301
5302 Wed Jun 1 14:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5303
5304 * ldlang.h (lang_input_statement_type): Remove fields subfiles,
5305 total_size, superfile and chain.
5306 * ldfile.c (open_a): Don't clear search_dirs_flag.
5307 (ldfile_open_file): Don't try to open superfile. Assert that file
5308 has not already been opened.
5309 * ldlang.c (new_afile): Don't initialize superfile.
5310 * ldmain.c (add_archive_element): Don't initialize subfiles or
5311 chain or superfile. Initialize search_dirs_flag to false.
5312
5313 Fri May 27 12:25:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5314
5315 * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
5316
5317 Changes from binutils-2.4 release:
5318
5319 * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
5320 variables, use whitespace, so scripts don't break.
5321
5322 * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
5323
5324 * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
5325
5326 * cdtest-bar.cc: Renamed from cdtest-func.cc.
5327 * Makefile.in: Noted change.
5328
5329 * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
5330 don't know where that's supposed to come from, or why it's
5331 necessary.
5332
5333 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
5334
5335 * configure.bat: update to latest makefile.in
5336 * emulpara/go32.sh: set to coff-go32 not aout
5337 * emultemp/generic.em: strength-reduce the structure of
5338 this shell script, since the only available shell for
5339 DOS can't handle complex syntax.
5340 * emultemp/stringify.sed: for "sed -f" instead of inline.
5341 * makefile.in: depend on stringify.sed as well as genscripts.sh
5342 * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
5343 * genscripts.sh: empty variables aren't always considered "set",
5344 so set them to "y" instead.
5345
5346 Fri May 27 01:08:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5347
5348 * ldlang.c (entry_symbol): Make static.
5349 (lang_add_entry): Add cmdline argument.
5350 * ldlang.h (lang_add_entry): Change prototype.
5351 * ldgram.y (statement_anywhere): Change lang_add_entry call.
5352 * lexsup.c (parse_args): Likewise.
5353
5354 Tue May 24 16:13:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5355
5356 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
5357 .reginfo an address.
5358 (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
5359 (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
5360 * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
5361
5362 Thu May 19 13:31:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5363
5364 Add support for ELF shared libraries.
5365 * ld.h (ld_config_type): Add field dynamic_link.
5366 * ldmain.c (main): Initialize config.dynamic_link to false. Warn
5367 on attempts to use -r with -relax, -call_shared or -s.
5368 * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
5369 OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
5370 accordingly. Add "dy" and "non_shared" options. Change "Qy" to
5371 OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
5372 OPTION_NON_SHARED by setting dynamic_link field accordingly.
5373 Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
5374 -r and -Ur.
5375 * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
5376 opening a file with a .so extension first.
5377 * emultempl/elf32.em: New file.
5378 * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
5379 (NONPAGED_TEXT_START_ADDR): Likewise.
5380 (TEMPLATE_NAME): Define as elf32.
5381 (DATA_PLT): Define.
5382 * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
5383 * scripttempl/elf.sc: Add placement for new dynamic sections.
5384 Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
5385 outside of any section. Don't use ALIGN(8); just let one section
5386 VMA follow another. Put .dynbss in .bss. Don't mention debugging
5387 sections; they'll be handled correctly anyhow.
5388 * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
5389
5390 Wed May 18 10:15:39 1994 Ian Lance Taylor (ian@cygnus.com)
5391
5392 * Makefile.in (install): Redirect output of ln to /dev/null.
5393
5394 Mon May 16 13:35:08 1994 Jeff Law (law@snake.cs.utah.edu)
5395
5396 * emultempl/hppaelf.em: Change all references of
5397 .hppa_linker_stubs to .PARISC.stubs.
5398 * scripttempl/hppaelf.sc: Likewise.
5399
5400 Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5401
5402 * ldlang.c (print_output_section_statement): Change ``no attached
5403 output section'' message slightly.
5404 (lang_do_assignments): Don't recurse down if there is no real
5405 section.
5406
5407 * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
5408 match corresponding change in emulation templates.
5409 * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
5410 * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
5411
5412 Wed May 11 18:16:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5413
5414 * ldver.c (ldversion): Updated version number.
5415
5416 * cdtest-foo.cc: Use explicit "#pragma implementation".
5417 * cdtest-bar.cc: Renamed from cdtest-func.cc.
5418 * Makefile.in: References to cdtest-func.o changed to
5419 cdtest-bar.o.
5420
5421 Wed May 11 16:24:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5422
5423 Don't create unnecessary output sections.
5424 * ldlang.c (out_bfd_get_section_by_name): Remove.
5425 (wild_section): Call bfd_get_section_by_name rather than
5426 our_bfd_get_section_by_name. Don't call wild_doit if there is no
5427 section.
5428 (lang_create_output_section_statements): Remove.
5429 (map_input_to_output_sections): For several cases, call init_os if
5430 it has not already been called.
5431 (lang_size_sections): If output section was not created, skip it.
5432 (lang_process): Don't call lan_create_output_section_statements.
5433 (lang_place_orphans): Skip files with just_syms_flags set to true.
5434 * ld.texinfo: Document change.
5435
5436 Tue May 10 14:31:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5437
5438 * ldlang.c (wild_doit): Don't bother initializing the vma and
5439 section size. Don't special case SEC_SHARED_LIBRARY.
5440 (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
5441 specially.
5442
5443 Fri May 6 12:24:27 1994 Steve Chamberlain (sac@cygnus.com)
5444
5445 * config/go32.mh : New file for Xgo32X.
5446
5447 Fri May 6 15:15:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5448
5449 * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
5450 before calling einfo, since we are reporting an fopen failure.
5451 From jrs@world.std.com (Rick Sladkey).
5452
5453 * configure.in: Use "e" rather than "em_" as prefix for
5454 emulations.
5455
5456 Fri May 6 01:08:14 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
5457
5458 * emultempl/generic.em: Use "e" rather than "em_" as prefix for
5459 filename.
5460 * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
5461 emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
5462 Ditto.
5463 * Makefile.in: Changed all generated file names.
5464 (ldemul-list.h): Depend on Makefile, not config.status. Changed
5465 sed patterns to handle new filenames.
5466
5467 * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
5468 * configure.in: Adjusted.
5469
5470 Thu May 5 15:07:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5471
5472 * Makefile.in (install-info): Don't use "$<*", it doesn't always
5473 work. Instead, check build dir and $srcdir explicitly, and use
5474 `echo' to get all the filenames.
5475
5476 * configure.in (h8300h-*-hms): Changed ld_target name to
5477 cf-h8300h.
5478 * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
5479 unique in 8.3.
5480
5481 * config/i960coff.mt: New file.
5482 * emulparams/gld960coff.sh: New file.
5483 * emultempl/gld960c.em: New file.
5484 * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
5485 i960coff configuration.
5486 * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
5487
5488 * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
5489 code isn't included in FSF releases, and it can still be
5490 explicitly selected.
5491 (distclean): Remove site.bak and tmpdir.
5492 (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
5493 (mostlyclean): Delete them explicitly here. Also remove tmpdir.
5494
5495 Patches from Ralph Campbell:
5496 * config/mipsbsd.mh: New file.
5497 * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
5498 * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
5499 * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
5500 instead of `aout'.
5501
5502 * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
5503
5504 Wed May 4 11:59:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5505
5506 * config/m68k.mt (EMUL): Set to m68kaout.
5507 * emulparams/m68kaout.sh: New file.
5508 * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
5509 (em_m68kaout.c): New target.
5510
5511 * ldlang.c (lang_size_sections): If dot moves because of an
5512 assignment, don't try to insert a pad into the absolute output
5513 section, just change the address of the default memory region
5514 instead.
5515
5516 * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
5517 cdtest-ur.out, and cdtest-ur.tmp.
5518
5519 Wed Apr 27 16:03:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5520
5521 * scripttempl/sa29200.sc: Align all sections to four byte
5522 boundaries.
5523
5524 Wed Apr 27 10:48:03 1994 Steve Chamberlain (sac@cygnus.com)
5525
5526 * Makefile.in, configure.in: Support for go32 coff.
5527 * config/i386-go32.mt: New file
5528 * emulparams/i386go32.sh: New file
5529 * scripttempl/i386go32.sc: New file
5530
5531 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
5532
5533 * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
5534 Lynx-specific script templates.
5535 * configure.in (sparclite*-*-coff): Use coff-sparc.
5536 * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
5537 * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
5538 (ENTRY): Set to __main.
5539 * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
5540 * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
5541 * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
5542
5543 Tue Apr 26 12:41:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5544
5545 * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
5546 byte boundary, in case the global constructors do not take up an
5547 even 16 bytes.
5548
5549 * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
5550 exist, get crtbegin based on gcc -print-libgcc-file-name.
5551 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
5552
5553 Mon Apr 25 15:27:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5554
5555 * ldlang.c (lang_size_sections): When no address is given for a
5556 section, align it according to its requirements.
5557
5558 Thu Apr 21 17:24:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5559
5560 * Makefile.in (clean, distclean): Remove configdoc.texi.
5561
5562 Tue Apr 19 12:12:15 1994 Bill Cox (bill@rtl.cygnus.com)
5563
5564 * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
5565
5566 Fri Apr 15 14:35:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5567
5568 * ldlang.c (lang_size_sections): When relaxing, adjust the
5569 position of a padding statement, and adjust dot accordingly.
5570
5571 Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com)
5572
5573 * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
5574
5575 Mon Apr 11 12:32:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5576
5577 * scripttempl/i386coff.sc: If relocating, don't put .init and
5578 .fini sections into .text; keep them separate.
5579 * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
5580 exist, get crtbegin based on gcc -print-libgcc-file-name.
5581 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
5582
5583 Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com)
5584
5585 * Makefile.in (check): Set TCL_LIBRARY for runtest.
5586
5587 Wed Apr 6 00:09:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5588
5589 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
5590 manufacturer.
5591
5592 * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
5593 if building a final executable.
5594
5595 Tue Apr 5 12:17:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5596
5597 * ldmain.c (main): Check the return value of bfd_close.
5598
5599 Thu Mar 31 18:07:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5600
5601 * scripttempl/alpha.sc: Clean up section alignment to ensure that
5602 sections never overlap when using -r.
5603
5604 Wed Mar 30 15:51:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5605
5606 * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
5607 changes: get_symtab_upper_bound renamed and returns long,
5608 bfd_canonicalize_symtab returns long, check for error indications.
5609
5610 Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5611
5612 * ldlang.c (print_input_section): For section size, use
5613 _cooked_size if it is non-zero, size otherwise.
5614 (size_input_section): Likewise.
5615 (lang_do_assignments): Likewise (case lang_input_section_enum).
5616
5617 Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5618
5619 * ldlang.c (new_afile): Add new argument add_to_list. Don't set
5620 real to true for lang_input_file_is_marker_enum. Clear the_bfd.
5621 (lang_add_input_file): Pass true to new_afile for add_to_list.
5622 (lookup_name): Remove force_load argument. Changed all callers.
5623 Pass false to new_afile for add_to_list. Split loading of symbols
5624 out into separate function.
5625 (load_symbols): New function split out of lookup_name. Don't load
5626 the symbols if they are already loaded.
5627 (open_input_bfds): For lang_input_statement_enum call load_symbols
5628 rather than lookup_name.
5629 (lang_process): Pass abs_output_section rather than NULL to
5630 lang_size_sections.
5631 (lang_startup): Set real field of first_file to true.
5632
5633 Wed Mar 23 14:15:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5634
5635 * ldlang.c (had_relax): Removed.
5636 (relax_again): New static variable.
5637 (lang_size_sections): Change call to bfd_relax_section to
5638 correspond to BFD changes. Set relax_again appropriately.
5639 (lang_process): Remove #if 0 code. When relaxing, keep calling
5640 lang_do_assignments and lang_size_sections until relax_again
5641 becomes false.
5642
5643 * emultemp/gld960.em: Include libiberty.h
5644 (gld960_before_parse): Pass NULL as final argument to concat.
5645
5646 Tue Mar 22 13:08:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5647
5648 * scripttempl/aout.sc: Force _end and __end to be aligned to a
5649 four byte boundary.
5650
5651 * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
5652 building a bfd_data_link_order, rather than by setting the section
5653 contents immediately.
5654
5655 Mon Mar 21 18:28:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5656
5657 Changes to make -Ur work again.
5658 * ldmain.c (add_to_set): Now takes reloc argument rather than
5659 bitsize. Check config.build_constructors here. If an new hash
5660 table entry is created, mark it as undefined.
5661 (constructor_callback): No longer takes bitsize argument. Pass
5662 BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
5663 BFD backend supports it.
5664 (reloc_overflow): Handle a NULL abfd argument.
5665 (reloc_dangerous, unattached_reloc): Likewise.
5666 * ldctor.c: Include ldmain.h.
5667 (struct set_info): Change bitsize field to reloc.
5668 (ldctor_add_set_entry): Now takes reloc argument rather than
5669 bitsize. Don't bother to check config.build_constructors here.
5670 (ldctor_build_sets): Get the size from the reloc howto. If
5671 generating relocateable output, call lang_add_reloc rather than
5672 lang_add_data.
5673 * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
5674 instead of bitsize.
5675 * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
5676 (lang_reloc_statement_type): New structure.
5677 (lang_statement_union_type): Add reloc_statement field.
5678 (lang_add_reloc): Declare new function.
5679 * ldlang.c (lang_for_each_statement_worker): Handle
5680 lang_reloc_statement_enum.
5681 (map_input_to_output_sections, print_statement): Likewise.
5682 (lang_size_sections, lang_do_assignments): Likewise.
5683 (print_reloc_statement): New function.
5684 (lang_add_reloc): New function.
5685 * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
5686
5687 * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
5688 (cdtest-ur, cdtest-ur.out): New targets.
5689 (check-cdtest): Now also check that -Ur works correctly.
5690
5691 * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
5692
5693 Thu Mar 17 12:45:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5694
5695 * ldlang.c (lang_process): Move lang_common call before
5696 map_input_to_output_sections, to ensure that any alignment
5697 constraints set by common symbols are copied over to the output
5698 sections.
5699
5700 Fri Mar 11 22:17:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5701
5702 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
5703 (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
5704 * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
5705 * emultempl/ppc.em: Remove ugly stub code; turns out not to be
5706 needed for ELF.
5707
5708 Tue Mar 8 04:22:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5709
5710 * config/i386bsd.mh: New file.
5711
5712 Mon Mar 7 15:23:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5713
5714 * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
5715 defined.
5716 * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
5717 (DATA_START_SYMBOLS): Define _fdata.
5718
5719 Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com)
5720
5721 * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
5722
5723 Sun Feb 27 16:29:38 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5724
5725 * emultempl/hppaelf.em (hppaelf_finish): Update comments. This
5726 works again. Attach some output symbols to the stub file bfd.
5727
5728 * emultempl/hppaelf.em: Include elf32-hppa.h.
5729 (file_chain): Add decl.
5730 (hppa_look_for_stubs_in_section): Delete decl.
5731 (hppaelf_finish): Reenable code. Do not pass symbols
5732 down to hppa_look_for_stubs_in_section.
5733
5734 Sat Feb 26 10:58:25 1994 Ian Lance Taylor (ian@cygnus.com)
5735
5736 * ldmain.c (write_map): Don't define. Removed all references.
5737 Just use map_file or map_filename instead.
5738 (add_archive_element): Use minfo to write map information, not
5739 info_msg.
5740 (constructor_callback): Use fprintf to write map information, not
5741 info_msg.
5742 * ldmain.h (write_map): Don't declare.
5743 * ldgram.y (mri_script_command): Removed reference to write_map.
5744 * ldlang.c (lang_one_common): Likewise.
5745 * lexsup.c (parse_args): Likewise.
5746
5747 Fri Feb 25 19:12:03 1994 Ian Lance Taylor (ian@cygnus.com)
5748
5749 * scripttempl/elf.sc: Force all sections to be aligned.
5750
5751 * ldgram.y (section): Reverse the order of memspec_opt and
5752 fill_opt to avoid an ambiguity when both are used.
5753 * ld.texinfo: Changed accordingly.
5754
5755 * ldgram.y: Move include of ldlex.h back with other includes.
5756 * ldlex.h (input_type): Don't initialize enum constants to
5757 particular values.
5758 * ldlex.l: Use a switch to return the right token based on
5759 input_type, rather than knowing that input_type has a value based
5760 on a token type.
5761
5762 * ldgram.y (dirlist_ptr): Removed; not used.
5763 * lexsup.c: Include ldver.h.
5764 * Makefile.in: Rebuilt dependencies.
5765
5766 Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com)
5767
5768 * ldlang.c (lookup_name): don't call bfd_set_gp_size.
5769 (ldlang_add_file): call it here instead.
5770
5771 Fri Feb 25 18:13:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5772
5773 * ldgram.y: Include ldlex.h after %token decls, for byacc.
5774
5775 Fri Feb 25 10:47:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5776
5777 * emultempl/hppaelf.em: First attempt to clean this file up.
5778 Add comments in several functions as to their purpose and
5779 how they function (or my current best guess). Clean up horrible
5780 spacing and indention that never should have been accepted in the
5781 first place. Add FIXMEs for issues which need to be resolved.
5782 Disable linker-stub generation until it gets fixed. This allows
5783 the linker to at least work on simple code for testing purposes.
5784
5785 * ldlang.c (lang_size_sections): No longer static (PA ELF calls
5786 it via hppaelf_finish). Prototype moved into ldlang.h.
5787 (lang_process): Move problematic extra call to lang_size_sections
5788 into the PA ELF specific code.
5789 * emultempl/hppaelf.em (hppaelf_finish): Extra call to
5790 lang_size_sections moved here.
5791
5792 Thu Feb 24 16:47:33 1994 Ian Lance Taylor (ian@cygnus.com)
5793
5794 * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
5795 * config/ppc-elf32.mt: New file.
5796 * emulparams/elf32ppc.sh: New file.
5797 * emultempl/ppc.em: New file.
5798 * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
5799 (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
5800 (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
5801
5802 Thu Feb 24 12:27:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5803
5804 * lexsup.c (parse_args): Use symbolic numbers for long options.
5805 Fix misunderstanding in -Y and -call_shared et al.
5806
5807 Use getopt instead of lex and yacc to parse the command line.
5808
5809 * ld.texinfo (Options): Document changes to option syntax.
5810 * Makefile.in: Update dependencies.
5811 * ldver.c (help): Tweak dashes in usage message.
5812 * ldgram.y (%union): Remove unused members.
5813 Remove %tokens for command line options; add ones for input types.
5814 (command_line): Rules removed.
5815 (file): Instead of command line, recognize an
5816 input type indicator, then use the nonterminal for that type.
5817 (defsym_expr): New nonterminal from code formerly in command_line.
5818 * ldlex.h: Declare parser input type enum and variable.
5819 Don't declare parse_line.
5820 * ldlex.l: Remove unused variables. Make some used ones static
5821 and comment them.
5822 (COMMAND): Start state and its rules removed.
5823 At start of yylex, return input state token if at start of input.
5824 (lex_redirect): Don't need to set yyout.
5825 (ldlex_command): Function removed.
5826 * ldmain.c (main): Instead of calling parse_line, set up the
5827 redirections and call yyparse directly.
5828 * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
5829 "command line".
5830 * lexsup.c: Remove #if 0'd code.
5831 (parse_line): Function removed.
5832 (parse_args): Rewrite to use getopt_long_only.
5833 (set_default_dirlist): New function from code formerly in
5834 ldgram.y:command_line.
5835 (set_section_start): New function.
5836 * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
5837 emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
5838 compiled-in link scripts in "{" and "}", as the grammar no longer
5839 wants them to be.
5840
5841 Thu Feb 24 08:43:26 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
5842
5843 * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
5844 require that it be in $(srcdir).
5845
5846 Tue Feb 22 09:21:18 1994 Ian Lance Taylor (ian@cygnus.com)
5847
5848 * ldlang.c (lang_size_sections): Only align section to alignment
5849 required by linker script, not to maximum alignment of input
5850 sections.
5851
5852 * ldlang.h (largest_section): Don't declare.
5853 * ldlang.c (largest_section): Don't define.
5854 (size_input_section): Don't set largest_section; not used.
5855
5856 Mon Feb 21 15:15:29 1994 Ian Lance Taylor (ian@cygnus.com)
5857
5858 * ldlang.c (new_afile): Pass NULL as last argument to concat.
5859
5860 Thu Feb 17 15:51:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5861
5862 * ldlang.c, ldmain.c: Include libiberty.h.
5863
5864 * ldmisc.h (concat): Don't declare.
5865 * ldmisc.c (concat): Don't define; just use the one in libiberty.
5866
5867 * ld.h (as_output_section_statement): Removed; not used.
5868
5869 Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5870
5871 * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
5872 bfd_set_error and new error names.
5873
5874 Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5875
5876 * ldwrite.c (build_link_order): If the cooked size of the section
5877 has been set, use it, for determining link_order size.
5878 (ldwrite): In the error message displayed if bfd_final_link fails,
5879 indicate that it was in fact the final link step that failed.
5880
5881 * ldlang.c (lang_size_sections): Clear bfd_error before calling
5882 bfd_relax_section, in case it returns false but doesn't flag an
5883 error. If an error is returned, indicate which one it is in the
5884 error message.
5885
5886 * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
5887 it'll get picked up from $(srcdir) if appropriate.
5888
5889 Tue Feb 15 16:32:04 1994 David J. Mackenzie (djm@rtl.cygnus.com)
5890
5891 * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
5892 * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
5893
5894 Fri Feb 11 17:02:49 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5895
5896 * ldlex.l (comment): Increment line number when newline is read.
5897
5898 Fri Feb 11 17:36:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5899
5900 * ldlang.c (lookup_name): Take new argument, force_load. If true,
5901 reload the file even if it is already loaded.
5902 (wild): Call lookup_name with force_load argument of 0.
5903 (open_input_bfds): Call lookup_name with force_load argument of 1.
5904 (print_symbol): Remove declaration of non-existent function.
5905 (print_one_symbol): Return true rather than falling off end.
5906
5907 Thu Feb 10 11:52:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
5908
5909 * ldmain.c (main): Use %ld when printing long values.
5910
5911 * scripttempl/elf.sc: Move _edata after the .sdata section.
5912 Permit OTHER_BSS_SYMBOLS to be defined.
5913 * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
5914
5915 Mon Feb 7 16:31:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5916
5917 * Rename all "hppaosf" files to "hppaelf".
5918 * Change all "osf" references to "elf" in hppaelf files.
5919 * Makefile.in: Likewise.
5920 * configure.in: Likewise.
5921
5922 Sun Feb 6 20:31:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5923
5924 * ldmain.c (main): Call xatexit, not atexit.
5925 Call xmalloc_set_program_name.
5926
5927 * ldlang.c (lang_size_sections): Check if bfd_relax_section set
5928 bfd_errno.
5929
5930 Sat Feb 5 03:54:34 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5931
5932 * emultempl/lnk960.em (append), emultempl/hppaosf.em
5933 (hppaosf_finish): Call xmalloc, not ldmalloc.
5934 * ldmain.c (preserve_output): Function removed.
5935 (main): Do it here instead.
5936
5937 Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
5938
5939 * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
5940 GNU C specific macros.
5941
5942 * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
5943 call to LANG_FOR_EACH_INPUT_SECTION.
5944
5945 Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5946
5947 * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
5948 deleted; will use libiberty versions instead.
5949 * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
5950 mri.c Makefile.in: Change callers.
5951
5952 * ldmisc.c (vfinfo): Remove cleanup code.
5953 * ldmain.c (remove_output): Put it here (new function).
5954 (preserve_output): New function.
5955 (main): Register remove_output and preserve_output with atexit.
5956 * ldmain.c ldgram.y: Call xexit instead of exit.
5957 * ldmisc.h: Declare xexit.
5958
5959 Fri Feb 4 15:19:01 1994 Steve Chamberlain (sac@cygnus.com)
5960
5961 * Makefile.in: Lots of new H8/500 memory models.
5962
5963 Sun Jan 30 14:33:40 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5964
5965 * ldlex.l: Removed duplicate rules.
5966 (yywrap): Provide default definition, needed with some versions of
5967 flex.
5968
5969 Fri Jan 28 09:12:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5970
5971 * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
5972 the archive filename too.
5973
5974 * ldlex.l: Add rule to catch invalid input characters instead of
5975 printing them. Include "ldmain.h" for program_name decl.
5976 (lex_warn_invalid): New function.
5977 * Makefile.in: Add dependency.
5978
5979 Fri Jan 28 12:58:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
5980
5981 * Makefile.in (check): Don't bother running any tests of
5982 cross-linker until the test suite no longer assumes native mode.
5983
5984 Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com)
5985
5986 * ldlang.c (print_one_symbol, print_input_section): Print
5987 global symbols in symbol table again.
5988
5989 Thu Jan 27 12:35:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
5990
5991 * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
5992 exit successfully instead of complaining if no input files are
5993 given.
5994
5995 Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
5996
5997 * Makefile.in: Format variable definitions consistently.
5998 (LD_PROG): Remove unnecessary variables from link command,
5999 change variable LOADLIBES to EXTRALIBS.
6000
6001 * ldmain.c (main): Compute and display total execution time.
6002 * ld.texinfo (-stats): Document the option.
6003
6004 Mon Jan 24 12:56:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6005
6006 * ldmain.c (reloc_overflow): Added name, reloc_name and addend
6007 arguments.
6008
6009 * ldlang.c (lookup_name): Set BFD GP size to -G argument value
6010 after opening BFD.
6011
6012 * ldlang.c (relaxing): Removed global variable.
6013 (lang_size_sections): If the canonical symbols have not already
6014 been read in, read them in before relaxing.
6015 * ldlang.h (relaxing): Removed declaration.
6016
6017 Fri Jan 21 00:44:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6018
6019 * ldlang.c (new_afile): Initialize loaded field to false.
6020 (lookup_name): If file was already loaded, don't call the
6021 add_symbols entry point again.
6022
6023 Wed Jan 19 13:57:00 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6024
6025 * ld.texinfo: Clarify what -T option does.
6026
6027 Tue Jan 18 16:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
6028
6029 * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
6030 for a.out.
6031
6032 Tue Jan 11 13:22:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6033
6034 * ldmain.c (add_archive_element): If trace_files or
6035 trace_file_tries, print file name.
6036 * ldlang.c (lookup_name): Likewise.
6037 (ldlang_add_file): Don't put files on input_bfds list in reverse
6038 order.
6039
6040 * scripttempl/elf.sc: Correct typo.
6041
6042 Mon Jan 10 19:49:05 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6043
6044 * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
6045 their arguments optional, for compatibility with the old GNU ld.
6046
6047 Fri Jan 7 20:00:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6048
6049 * scripttempl/elf.c: Define __bss_start before the .sbss section.
6050
6051 Thu Jan 6 00:13:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6052
6053 * ldmain.c (add_to_set): Add bitsize argument.
6054 (constructor_callback): New function.
6055 (link_callbacks): Add constructor_callback.
6056 * ldctor.c (struct set_info): Add bitsize field.
6057 (ldctor_add_set_entry): Add bitsize argument.
6058 (ldctor_build_sets): Base the size of the elements of the set on
6059 the bitsize, rather than always using LONG.
6060 * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
6061
6062 * ld.h (QUAD_SIZE): Define.
6063 * ldgram.y (QUAD): New token.
6064 (length): Handle it.
6065 * ldlex.l: Return QUAD.
6066 * lexsup.c (keywords): Add QUAD.
6067 * ldwrite.c (build_link_order): Handle QUAD.
6068 * ldlang.c (print_data_statement): Handle QUAD.
6069 (lang_size_sections): Likewise.
6070 (lang_do_assignments): Likewise.
6071 * ldexp.c (exp_print_token): Add QUAD to table.
6072 * ld.texinfo: Describe QUAD.
6073
6074 * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
6075 since the Alpha doesn't use them.
6076
6077 Wed Jan 5 17:42:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6078
6079 * ldemul.h (ld_emulation_xfer_struct): Comment the members.
6080
6081 Sat Jan 1 13:39:31 1994 Rob Savoye (rob@darkstar.cygnus.com)
6082
6083 * Makefile.in, configure.in: Add support for VSTa micro-kernel.
6084 * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
6085
6086 Sat Jan 1 10:53:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
6087
6088 * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
6089 needed for i386mach. (Should be a no-op on other systems.)
6090
6091 * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
6092 (PAGE_SIZE): Don't define; not used.
6093
6094 Fri Dec 31 16:12:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6095
6096 * ldgram.y (yyerror): Make argument const char *, and actually
6097 print it out rather than assuming it is a syntax error.
6098 * ldmisc.h: Change declaration of yyerror.
6099 * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
6100
6101 Fri Dec 31 11:37:28 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6102
6103 * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
6104 exec header offset, since the exec header isn't loaded.
6105 (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
6106
6107 Thu Dec 30 13:01:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6108
6109 A major rewrite to move the bulk of the linker into BFD so that
6110 more efficient backend code can be written for specific object
6111 files.
6112 * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
6113 ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
6114 * ldctor.c, ldctor.h: Complete rewrite.
6115 * ldwrite.c, ldwrite.h: Complete rewrite.
6116 * ld.h (strip_symbols_type, strip_symbols): Removed. Use
6117 link_info.strip instead. Changed all uses.
6118 (discard_locals_type, discard_locals): Removed. Use
6119 link_info.discard instead. Changed all uses.
6120 (ld_config_type): Removed relocateable_output field; use
6121 link_info.relocateable instead; changed all uses. Added stats
6122 field.
6123 (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
6124 set_loader_symbol): Removed.
6125 * ldexp.h (node_class): Added etree_rel.
6126 (etree_type): Added rel field.
6127 * ldexp.c (exp_print_token): Bracketed table initialization.
6128 (exp_relop): New function.
6129 (fold_name): Use linker hash table rather than ldsym functions.
6130 (exp_fold_tree): Likewise. Also, handle etree_rel case.
6131 (exp_print_tree): Handle etree_rel.
6132 * ldgram.y (strip_symbols, discard_locals): Removed.
6133 (OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them.
6134 (REL): New token. Does not appear in grammar, but needed for
6135 expression code.
6136 (file): Don't call lang_final; it's called by main anyhow.
6137 * ldlex.l: Accept -stats and -no-keep-memory options.
6138 * ldlang.h (fill_type): Make unsigned int, not unsigned short.
6139 * ldlang.c: Consistently use fill_type for fill argument.
6140 (lang_init_script_file, script_file): Removed.
6141 (create_object_symbols): Removed. Use
6142 link_info.create_object_symbols_section instead. Changed all
6143 uses.
6144 (lang_add_keepsyms_file): Removed.
6145 (lookup_name): Call bfd_link_add_symbols instead of
6146 ldmain_open_file_read_symbol.
6147 (wild): Don't iterate over script_file.
6148 (open_output): Create link hash table.
6149 (lang_place_undefineds): Rewrote.
6150 (lang_size_sections): Handle relaxing (doesn't work yet).
6151 (lang_relocate_globals): Removed.
6152 (lang_finish): Use link hash table rather than ldsym functions.
6153 (lang_common): Rewrote.
6154 (lang_one_common): New function.
6155 (ldlang_add_file): Add file to link_info.input_bfds list. Set
6156 usrdata.
6157 (create_symbol): Removed.
6158 (lang_process): Don't call lang_init_script_file. Call
6159 ldctor_build_sets rather than find_constructors. Don't call
6160 lang_relocate_globals.
6161 (lang_abs_symbol_at_beginning_of): Rewrote.
6162 (lang_abs_symbol_at_end_of): Rewrote.
6163 * ldmain.c (had_y): Removed.
6164 (lprefix, lprefix_len): Removed; use link_info fields instead.
6165 Changed all uses.
6166 (multiple_def_count, commons_pending, undefined_global_sym_count,
6167 total_symbols_seen, total_files_seen): Removed.
6168 (link_callbacks, link_info): New variables.
6169 (main): Initialize link_info. Don't call init_bfd_error_vector or
6170 ldsym_init. Don't set now unused variables. Handle -stats.
6171 (get_emulation): Removed obsolete and nonfunctional GNU960 code.
6172 (add_ysym): Rewrote.
6173 (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
6174 search_library, gnu960_check_format, decode_library_subfile,
6175 linear_library, symdef_library, clear_syms, subfile_wanted_p):
6176 Removed.
6177 (add_keepsyms_file, add_archive_element, multiple_definition,
6178 multiple_common, add_to_set, warning_callback, undefined_symbol,
6179 reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
6180 New functions.
6181 * ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't
6182 require symbols for %C; look them up instead.
6183 * emultempl/hppaosf.em: Pass link_info to
6184 hppa_look_for_stubs_in_section.
6185 * Makefile.in: Rebuilt dependencies.
6186 (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
6187 relax.c.
6188 (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
6189 relax.h.
6190 (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
6191 ldlang.h and ldctor.h.
6192
6193 * Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove
6194 declarations of free and malloc from flex output. Change malloc
6195 to ldmalloc in flex output.
6196
6197 Thu Dec 16 21:19:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6198
6199 * ldmain.c (lprefix): Change default from a char to a string
6200 with only one character.
6201 (lprefix_len): Set default to one.
6202
6203 * ldmain.h (lprefix_len): Declare.
6204
6205 * ldsym.c (write_file_locals): Use strncmp rather than a character
6206 comparison for lprefix.
6207
6208 * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
6209 correctly.
6210
6211 * emultmpl/hppaosf.em: Include ldexp.h.
6212 (before_parse): Set lprefix and lprefix_len correctly.
6213
6214 Tue Dec 14 17:19:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6215
6216 * ldlex.h: Don't declare yywrap if it is a macro.
6217 * ldlex.l: Include sysdep.h.
6218 * ldlang.c (lang_for_each_statement_worker,
6219 lang_for_each_statement): Forgot to use PARAMS.
6220
6221 Mon Dec 13 14:30:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6222
6223 * Makefile.in: Added .PHONY targets where appropriate. Added some
6224 comments. Also:
6225 (gcclibdir, version): Removed unused variables.
6226 (DEP): New variable, set to mkdep.
6227 (ALL_CFLAGS): New variable. Used in .c.o target.
6228 (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
6229 variables.
6230 (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
6231 GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
6232 mostly obsolete variables. Adjusted remaining uses.
6233 (DEF_EMUL): Removed variable.
6234 (ldmain.o): Handle undefined EMUL error correctly.
6235 (ldemul-list.h): Depend on config.status rather than Makefile.
6236 Create via temporary file.
6237 (ver960.c, roll, make): Removed obsolete targets.
6238 (.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild
6239 dependencies.
6240 * dep-in.sed: New file, used when rebuilding dependencies.
6241
6242 Sat Dec 11 14:43:44 1993 Ian Lance Taylor (ian@deneb.cygnus.com)
6243
6244 Made many changes to eliminate gcc warnings. Made various
6245 cosmetic changes, declared various things in header files, removed
6246 various extern declarations from .c files. No substantive
6247 changes.
6248
6249 * ldlang.c (lang_process): Ifdef out final call to
6250 lang_size_sections again (reverting change of Nove 2), since it
6251 breaks the Sun4 linker.
6252
6253 Thu Dec 2 16:31:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6254
6255 * configure.in (alpha-*-netware*): New target; use alpha.
6256
6257 Wed Dec 1 14:04:20 1993 Ken Raeburn (raeburn@cygnus.com)
6258
6259 * configure.in: Group targets by CPU. Merge some m68k target
6260 entries with different CPU specs that use the same ld_target
6261 values.
6262
6263 * configure.in: Add sparc*-*-coff.
6264 * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
6265 * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
6266 (em_coff_sparc.c): Add dependencies and build rules.
6267
6268 * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
6269
6270 Wed Dec 1 12:19:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6271
6272 * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
6273 New tokens.
6274 (command_line_option): Accept and ignore them (for now).
6275 * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
6276 where n is a number.
6277
6278 Mon Nov 22 14:14:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6279
6280 * ldmain.c (subfile_wanted_p): If merging a common symbol which is
6281 not in bfd_com_section, create the section in the BFD so that it
6282 can be placed in the right output section.
6283
6284 Fri Nov 19 14:12:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6285
6286 * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
6287 * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
6288 (OTHER_READONLY_SECTIONS): Define for .reginfo.
6289 (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
6290 * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
6291 Move OTHER_READONLY_SECTIONS after all the other readonly
6292 sections. Don't use DATA_ADDR twice.
6293
6294 * ldmain.c (enter_file_symbols): Removed duplicate tests of p. If
6295 p is in a common section, make sure the BFD has a section of that
6296 name.
6297
6298 * ldlang.c (lang_common): Add newline to error message.
6299
6300 Thu Nov 11 15:54:41 1993 Stan Shebs (shebs@rtl.cygnus.com)
6301
6302 * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
6303 Lynx-specific script instead of m68kcoff.
6304 (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
6305 (ENTRY): Define as __main.
6306 (TEXT_START_ADDR): Define as 0.
6307 (PAGE_SIZE): Define as 0x1000.
6308 * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
6309 * scripttempl/m68klynx.sc: New file.
6310
6311 Mon Nov 8 12:00:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6312
6313 * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
6314 arguments rather than treating them as emulation names.
6315
6316 Fri Nov 5 09:02:52 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
6317
6318 * configure.in: Support x86 unixware and netware plus generic netware.
6319
6320 Fri Nov 5 21:47:55 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6321
6322 * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
6323 Correct values (?).
6324
6325 Wed Nov 3 15:10:15 1993 Ken Raeburn (raeburn@rover.cygnus.com)
6326
6327 * Makefile.in (distclean): Don't delete dvi or info files.
6328 (ld.info): Update dependency list.
6329 (ld.dvi): Ditto. Extend TEXINPUTS to get bfdsumm.texi.
6330
6331 Wed Nov 3 12:07:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6332
6333 * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
6334 Set output_filename instead of creating a new node.
6335 (open_output): Don't set output_filename.
6336 (lang_final): Create the new node here.
6337 * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
6338
6339 Tue Nov 2 15:45:51 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
6340
6341 From Pete Hoogenboom (hoogen@cs.utah.edu):
6342
6343 * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
6344 edata, _edata, end): Add definitions of these symbols.
6345 (__end): Remove definition of this symbol.
6346 (__data_start): Move definition of this symbol.
6347
6348 * emultempl/hppaosf.em: Various fixes and support for linker stub
6349 generation.
6350 (hppaosf_finish, hppaosf_search_for_padding_statements,
6351 hppaosf_create_output_section_statements): New functions in
6352 support of linker stub generation.
6353 (ld_hppaosf_emulation): Redefine to include new
6354 emulation-specific routines.
6355
6356 * ldlang.c (lang_process): Re-enable last call lang_size_sections.
6357 Pass abs_output_section rather than NULL to avoid invalidating
6358 absolute symbols.
6359
6360 Thu Oct 28 21:16:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6361
6362 * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
6363 (em_i386mach.c): New rule.
6364 * configure.in (i[34]86-*-mach*): New case.
6365 * config/i386-mach.mt: New file.
6366 * emulparams/i386mach.sh: New file.
6367
6368 Fri Oct 29 14:55:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6369
6370 * ld.h (flag_is_*): Removed macros.
6371 * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
6372 Consistently check the BFD symbol flags directly, rather than
6373 using file_is_* macros.
6374
6375 Thu Oct 28 19:08:42 1993 Stan Shebs (shebs@rtl.cygnus.com)
6376
6377 * configure.in (sparc*-*-lynxos*): New target.
6378 * Makefile.in: Add rule for em_sparclynx.c.
6379 (ALL_EMULATIONS): Add Lynx emulations.
6380 * config/sparc-lynx.mt: New file.
6381 * emulparams/sparclynx.sh: New file.
6382 * scripttempl/sparccoff.sc: New file.
6383
6384 Thu Oct 28 13:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6385
6386 * Makefile.in: Add dependency for $(EMULATION_OFILES).
6387
6388 Mon Oct 25 16:09:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6389
6390 * relax.c (write_relax): Check return value of bfd_seclet_link.
6391
6392 Mon Oct 25 09:31:21 1993 Ken Raeburn (raeburn@cygnus.com)
6393
6394 * ldlang.c (delete_output_file_on_failure): New variable.
6395 (open_output): Set it after bfd open succeeds.
6396 * ldmisc.c (vfinfo): Test it.
6397
6398 Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
6399
6400 * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
6401 symbols.
6402
6403 * ldemul.c: Support was added to allow emulation-specific
6404 processing to occur. This support was added primarily for linker
6405 stub generation in the elf32-hppa gld.
6406 (ldemul_finish, ldemul_create_output_section_statements): New
6407 functions.
6408 * ldemul.h: Support was added to allow emulation-specific
6409 processing to occur. (As described above.) Added finish and
6410 create_output_section_statements fields to
6411 ld_emulation_xfer_struct structure.
6412 * ldlang.c: Add calls to emulation-specific routines.
6413 (lang_process): Add call to
6414 ldemul_create_output_section_statements function.
6415 (lang_process): Add call to a emulation-specific routine (and
6416 some processing after the call).
6417
6418 Fri Oct 22 20:54:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
6419
6420 * configure.in: mips*- instead of mips-, mips*el changes
6421
6422 Tue Oct 19 15:46:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6423
6424 * configure.in (alpha-*-osf*): New target; use alpha.mt.
6425 * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
6426 (em_alpha.c): New target; use alpha.sh and alpha.sc.
6427 * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
6428 * config/alpha.mt: New file.
6429 * emulparams/alpha.sh: New file.
6430 * scripttempl/alpha.sc: New file.
6431
6432 Fri Oct 15 02:20:04 1993 Doug Evans (dje@canuck.cygnus.com)
6433
6434 * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
6435 types of different sizes (eg: 64 and 32 bits), so coerce.
6436 * ld.h (ALIGN_N): Add warning about usage.
6437
6438 Wed Oct 13 16:02:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6439
6440 * ldmain.c (enter_global_ref): Just ignore any weak symbol for
6441 which we already have a definition, rather than checking in
6442 several different places whether the symbol is weak.
6443
6444 Tue Oct 12 17:30:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6445
6446 * configure.in (mips-*-elf*): New target; use mipsb-elf32.
6447 * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
6448 OTHER_READWRITE_SECTIONS if relocating. Shell variables are not
6449 expanded within them.
6450 * config/mipsb-elf32.mt: New file.
6451 * emulparams/elf32mipb.sh: New file.
6452 * Makefile.in (em_elf32mipb.c): New target.
6453
6454 Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com)
6455
6456 * ldgram.y: In input_list, change lang_input_file_is_file_enum to
6457 lang_input_file_is_search_file_enum so objects brought in using
6458 INPUT() do a path lookup.
6459
6460 Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com)
6461
6462 * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
6463 instead of {i386,m68k}-coff.
6464 * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
6465 * config/i386-lynx.mt: New file.
6466 * config/m68k-lynx.mt: New file.
6467 * emulparams/i386lynx.sh: New file.
6468 * emulparams/m68klynx.sh: New file.
6469
6470 * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
6471 but defaulting to _start.
6472
6473 * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
6474 ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
6475 LynxOS libc.
6476
6477 Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com)
6478
6479 * config/solaris2.mh: New file. Define HOSTING_CRT0 and
6480 HOSTING_LIBS for testing.
6481
6482 Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6483
6484 Finish up support for i386-sysv4 (without shared libraries):
6485 * ld.h (flag_is_weak): Define.
6486 * ldlang.c (print_symbol): Mention whether symbol is weak.
6487 (print_input_section): Print weak symbols as globals.
6488 * ldmain.c (refize): Do not zero out BSF_WEAK flag.
6489 (enter_global_ref): Do not warn if a weak symbol redefines a
6490 global symbol. Do not let a weak symbol redefine a common symbol.
6491 (enter_file_symbols): Treat weak symbols as global symbols.
6492 (subfile_wanted_p): Do not pull in an object file from a archive
6493 just to resolve an undefined weak symbol.
6494 * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
6495 error; the error might be that malloc has run out of space.
6496 * ldsym.c (write_file_locals): Treat weak symbols as global.
6497 * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
6498 use i386-elf.
6499 * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
6500 * config/i386-elf.mt: New file; set EMUL to elf_i386.
6501 * emulparams/elf_i386.sh: New file.
6502 * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
6503 * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
6504 (ALL_EMULATIONS): Add em_elf_i386.o.
6505 (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
6506 (em_elf_i386.c): New target, like other em_*.c targets.
6507 ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
6508 * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If
6509 nonempty, and configured for native, add it to LIB_PATH.
6510
6511 Fri Sep 17 13:07:39 1993 Stan Shebs (shebs@rtl.cygnus.com)
6512
6513 * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
6514 Added statements to pass stab and stabstr sections through and
6515 mark them as NOLOAD, which makes GDB happier.
6516
6517 Wed Sep 15 16:02:29 1993 Stan Shebs (shebs@rtl.cygnus.com)
6518
6519 * configure.in: Accept m68k-lynx-lynxos config.
6520
6521 * Makefile.in: Use $(SHELL) to run genscripts.sh.
6522
6523 Sun Sep 12 16:04:40 1993 Doug Evans (dje@cygnus.com)
6524
6525 * config/coff-h8300.mt: Add EMUL=h8300h.
6526
6527 * ldmain.c (main): Call set_scripts_dir after argv has been processed.
6528
6529 Fri Sep 10 09:36:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
6530
6531 * Makefile.in: Changed CXX back to g++.
6532
6533 Fri Sep 10 09:34:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
6534
6535 * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
6536
6537 Fri Sep 10 07:26:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6538
6539 * Makefile.in (TAGS): Use shell wildcards.
6540
6541 Tue Sep 7 18:04:54 1993 Jeffrey Osier (jeffrey@cygnus.com)
6542
6543 * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target
6544
6545 Fri Sep 3 16:46:41 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
6546
6547 * ld.texinfo: re-enable included config file; conditionalize doc
6548 for -oformat to interact properly with SingleFormat doc config
6549 var; rename @up/@down to @raisesections/@lowersections.
6550
6551 Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com)
6552
6553 * configure.in: recognize m88110.
6554
6555 Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6556
6557 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
6558 * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
6559 ELF emulation is "elf32-hppa" not "elf-big".
6560 (hppaosf_before_parse): Remove unneeded processing of environment
6561 variables.
6562 * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
6563 .text segment of output file.
6564 * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
6565
6566 Tue Aug 24 16:17:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
6567
6568 * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
6569 longer in bfd.h.
6570
6571 * ldlang.c, ld.h: updated copyright.
6572
6573 Tue Aug 17 15:22:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6574
6575 * ldlang.c (open_output, lang_check): Check return value of
6576 bfd_set_arch_mach.
6577
6578 Tue Aug 17 07:02:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
6579
6580 * scripttempl/h8500.sc: Start all sections in a different segment.
6581 * scripttempl/z8ksim.sc: Handle constructors
6582
6583 Thu Aug 12 16:05:37 1993 Jeffrey Wheat (cassidy@cygnus.com)
6584
6585 * Makefile.in: revert earlier changes back to execute runtest
6586 with make check. cdtest and bootstrap now function as they
6587 did within the Makefile.
6588
6589 Thu Aug 12 10:20:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6590
6591 * Makefile.in: Update dependencies.
6592
6593 * configure.in: Set EMULATION_OFILES in Makefile based on
6594 --with-targets option.
6595
6596 Thu Aug 12 08:52:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
6597
6598 * Makefile.in: check targets reimplemented to old way.
6599
6600 Wed Aug 11 08:26:11 1993 Ian Lance Taylor (ian@cygnus.com)
6601
6602 * config/i386v.mh, config/irix4.mh: Use gcc
6603 -print-libgcc-file-name rather than $(libdir)/libgcc.a.
6604 * config/i386sco.mh: New file; copy of i386v.mh to correspond to
6605 bfd/configure.host change.
6606
6607 Mon Aug 9 14:25:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6608
6609 * scripttempl/elf.sc: Handle .line and .debug* sections.
6610
6611 * ldlex.l: Use bfd_scan_vma, not strtoul.
6612
6613 Fri Aug 6 08:57:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6614
6615 * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
6616 Remove inital caps in some error messages, change "can't" to
6617 "cannot", add missing colons.
6618 * ldmisc.c (vfinfo): Print "%%" as a single %.
6619 For '%' followed by unrecognized character, print them both
6620 verbatim instead of expecting a char * arg.
6621 For '%C', don't put the function name in parens.
6622
6623 * ldexp.c (invalid): Pass "%%", not "% ".
6624
6625 Fri Aug 6 14:31:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
6626
6627 * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
6628 (BSS_VAR): Removed; now always define _fbss.
6629 * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
6630 Removed.
6631
6632 Thu Aug 5 15:55:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
6633
6634 * configure.in: z8k-coff is the same as z8k-sim
6635
6636 Wed Aug 4 21:00:18 1993 Jeffrey Wheat (cassidy@cygnus.com)
6637
6638 * testsuite/lib/ld.exp: new file
6639 * testsuite/config/unix-ld.exp: new file
6640 * testsuite/ld.bootstrap/bootstrap.exp: new file
6641 * Makefile.in: add dejagnu support for make check
6642
6643 Wed Aug 4 17:52:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6644
6645 * ldlex.l (comment): Add missing newline in message.
6646 * ldindr.c (add_indirect): Ditto.
6647 * ldexp.c (exp_fold_tree): Ditto.
6648
6649 Tue Aug 3 10:57:41 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6650
6651 * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
6652 into externs.
6653
6654 * ldmisc.c (multiple_warn): New function.
6655 * ldmisc.h: Declare it.
6656 * ldmain.c (enter_global_ref): Call it.
6657 * ld.h (ld_config_type): Add warn_common.
6658 * ldlex.l, ldgram.y: Set it with -warn-common option.
6659 * ldver.c (help): Document it.
6660
6661 Mon Aug 2 12:04:36 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6662
6663 * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
6664 target-specific sections, and for changing data section vma.
6665
6666 Mon Jul 26 14:00:02 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6667
6668 * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
6669 terminals, for Solaris.
6670 (dirlist_ptr): New static variable.
6671 (command_line_option): Accept new options.
6672
6673 * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
6674 "-YP,...".
6675
6676 * config/sun4sol2.mt: Pass emulation name without ".sh".
6677
6678 * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
6679 * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
6680
6681 Fri Jul 23 13:51:09 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6682
6683 * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
6684 .dtors, .data1, .rodata1 sections, instead of combining them into
6685 other sections. For `-r', set all section start addresses to
6686 zero.
6687
6688 * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
6689 NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
6690 (MAXPAGESIZE): Renamed from PAGE_SIZE.
6691
6692 Wed Jul 21 14:28:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6693
6694 * genscripts.sh: If this is the default emulation, set
6695 COMPILE_IN.
6696 * emultempl/*.em: Use it to determine whether to compile in the
6697 scripts.
6698
6699 * Makefile.in (GENSCRIPTS): Pass the default emulation name to
6700 genscripts.sh. Pass the current emulation name without ".sh" on
6701 the end.
6702 * genscripts.sh: Take an default emulation arg.
6703 Use the current emulation name as EMULATION_NAME.
6704 Make default lib path for cross-compiling ':', not null.
6705 * emulparams/*.sh: Don't set EMULATION_NAME.
6706 * ldemul.c (ldemul_get_script): Take isfile arg.
6707 Pass it to emulation's get_script function.
6708 * ldemul.h: Adjust get_script prototypes.
6709 * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
6710 No longer static.
6711 * ldfile.h: Declare it.
6712 * ldgram.y: Accept a script on the command line again,
6713 for parsing compiled-in scripts.
6714 * ldmain.c (main): If ld script is a file, parse it as a -T
6715 option, otherwise parse it directly.
6716 * emultempl/*.em (*get_script): Return the scripts themselves if
6717 this is the default emulation; otherwise return their file names.
6718 * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
6719 generic.em.
6720 * emulparams/m88kbcs.sh: Use it.
6721
6722 * ld.h (ld_config_type::unix_relocate): Remove unused element.
6723
6724 Tue Jul 20 12:01:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6725
6726 * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
6727 there's no change log entry yet, tsk tsk) from the list of
6728 emulations compiled in until Mark gets around to checking in
6729 emulparams/i386linux.sh.
6730 (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
6731 changed, this file gets updated.
6732
6733 Fri Jul 16 14:14:32 1993 Ian Lance Taylor (ian@cygnus.com)
6734
6735 * ldgram.y (OPTION_Lfile): New token.
6736 (command_line_option): Accept OPTION_L NAME (whitespace after -L).
6737 * ldlex.l (<COMMAND>): Accept -L without FILENAME.
6738
6739 Fri Jul 16 13:44:26 1993 Doug Evans (dje@canuck.cygnus.com)
6740
6741 * configure.in: h8/300h support needs own .mt file.
6742 config/coff-h8300h.mt: New file.
6743
6744 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6745
6746 * ldmain.c: Don't include sys/stat.h; it already got included
6747 somewhere along the way.
6748
6749 Thu Jul 15 14:43:34 1993 Doug Evans (dje@canuck.cygnus.com)
6750
6751 * Makefile.in: Add h8300h support.
6752 emulparams/h8300h.sh: New file.
6753 scripttempl/h8300h.sc: New file.
6754
6755 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6756
6757 * ldfile.c (ldfile_open_file): In error message, use the name the
6758 user gave (e.g., "-lc"), rather than the base file name.
6759
6760 * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
6761
6762 * ldmain.[ch]: Remove initial Q_ from function names.
6763 * ldexp.c, ldindr.c, ldlang.c: Change callers.
6764
6765 * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
6766
6767 * ldlang.c (lang_process): Move loading of default script from
6768 here to main. Add a "/" to start of script name to prevent
6769 finding it in "." first.
6770
6771 * ldmain.c (set_scripts_dir): Don't look in "." first.
6772
6773 * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
6774 option_longmap.
6775
6776 Thu Jul 15 10:55:59 1993 Ian Lance Taylor (ian@cygnus.com)
6777
6778 * Makefile.in (em_m88kbcs.c): Correct dependency.
6779 * scripttempl/m88kbcs.sc: It's ARCH, not arch. Removed TARGET
6780 statement. Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
6781 * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
6782
6783 Wed Jul 14 21:42:53 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6784
6785 * ldfile.c (ldlang_open_file, ldfile_open_command_file),
6786 main.c (main): Print the errno string in the error message.
6787
6788 Tue Jul 13 20:00:30 1993 Doug Evans (dje@canuck.cygnus.com)
6789
6790 * configure.in: Accept h8300h for target cpu.
6791
6792 * ldmisc.c (vfinfo): Have demangle remove leading underscore if
6793 present (demangle is smart enough to know whether to do it or not).
6794
6795 Mon Jul 12 11:45:48 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6796
6797 * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
6798 ldscripts, as well as <ld bin dir> and SCRIPTDIR.
6799
6800 * ldlang.c (lang_process): Use sizeof instead of magic constant.
6801
6802 * ldmain.c (get_emulation, check_for_scripts_dir,
6803 set_scripts_dir): New functions.
6804 (main): Call them.
6805
6806 Mon Jul 12 10:57:03 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
6807
6808 * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
6809 Create symbol "end" instead of "__end". Comment out some parts
6810 that may not be needed (yet) for elf.
6811
6812 * configure.in: Accept sparc-elf and sparc-solaris2 configs.
6813
6814 Thu Jul 8 15:33:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6815
6816 * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
6817
6818 * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
6819 when no prototype is being supplied.
6820 (ldmalloc, ldrealloc): Size argument is now size_t.
6821
6822 * ldmisc.c (finfo): New function, accepts FILE* argument.
6823 (vfinfo, case 'v'): New format character; displays bfd_vma in hex
6824 without leading zeros.
6825 (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
6826 bfd_vma value, instead of fprintf(%x) which won't hold a long long
6827 value.
6828 (concat, buystring): String lengths are size_t.
6829 (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
6830
6831 * ldlang.c (new_statement): Size argument is now size_t. Added
6832 forward declaration with prototype.
6833
6834 Thu Jul 8 10:53:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6835
6836 * ldgram.y (OPTION_v): Don't turn on verbose output.
6837
6838 Wed Jul 7 17:10:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6839
6840 * ldlex.l: Get rid of local typedef for bfd_vma! Get it from
6841 bfd.h instead.
6842
6843 Wed Jul 7 11:33:12 1993 Ian Lance Taylor (ian@cygnus.com)
6844
6845 * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
6846 collect2 doesn't look for gld any more anyhow.
6847
6848 Mon Jul 5 14:29:48 1993 Ian Lance Taylor (ian@cygnus.com)
6849
6850 * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
6851 now have a non NULL srefs_chain.
6852
6853 * config/hp300hpux.mt: Use emulation hp3hpux rather than
6854 hp300hpux, since the latter does not exist.
6855
6856 Fri Jul 2 18:06:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6857
6858 * genscripts.sh: Put the scripts in the ldscripts directory, not
6859 emulations.
6860 * configure.in (ldscripts): Make, instead of emulations.
6861 * Makefile.in (scriptdir): Take off the "ld" part.
6862 (install, clean, distclean): Use ldscripts, not emulations.
6863 In tests, don't pass -Lemulations.
6864 Don't pass tooldir/lib to genscripts.sh.
6865 * genscripts.sh: Don't take tooldir/lib arg.
6866 * ldlang.c (lang_process): Add "ldscripts/" to the name of the
6867 default script file.
6868
6869 Fri Jul 2 17:13:35 1993 Doug Evans (dje@canuck.cygnus.com)
6870
6871 * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
6872
6873 Thu Jul 1 16:38:45 1993 Doug Evans (dje@canuck.cygnus.com)
6874
6875 * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
6876
6877 Wed Jun 30 15:45:55 1993 K. Richard Pixley (rich@sendai.cygnus.com)
6878
6879 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
6880 run in parallel without colliding on yacc's static file names.
6881 Without the stub rule, make will try to start two yacc's
6882 concurrently which fails because of yacc's static file names.
6883
6884 Tue Jun 29 12:20:36 1993 Ian Lance Taylor (ian@cygnus.com)
6885
6886 * ldmain.c (subfile_wanted_p): Don't dump core if there are no
6887 symbols.
6888
6889 Mon Jun 28 12:22:11 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6890
6891 * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
6892 different from libdir.
6893
6894 * Makefile.in (scriptdir): Base on tooldir, not datadir.
6895
6896 Sat Jun 26 12:03:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6897
6898 * ldver.c (help): New function.
6899 * ldver.h: Declare it.
6900 * ldlex.l, ldgram.y: Recognize new options --help and --version.
6901
6902 Mon Jun 21 20:39:48 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
6903
6904 * Makefile.in (INCLUDES): Don't need ../include any more.
6905
6906 Mon Jun 21 16:38:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6907
6908 * ldlex.l, ldgram.y: Support new -oformat option.
6909 Remove attempt at supporting script fragments on the command line.
6910 * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
6911 * mri.c (mri_format), ldgram.y: Change callers.
6912 * ldlang.h: Change prototype.
6913
6914 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
6915
6916 * Makefile.in: canonicalize install.sh; for use within
6917 this directory (and subdirs)
6918
6919 Thu Jun 17 14:33:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6920
6921 * ldgram.y: Tweak grammar to make reporting of invalid options work.
6922
6923 * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
6924 and .cc.o rule.
6925
6926 Wed Jun 16 11:45:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6927
6928 * ldfile.c (ldfile_open_command): Don't try .ld extension.
6929 It wasn't documented (or likely used) and wastes time.
6930 (try_open): If EXTEN is empty, don't try it.
6931
6932 * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
6933 ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
6934 ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
6935 with normal function declarations.
6936
6937 * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh.
6938 Move *.sc-sh to scripttempl/*.sc.
6939 * {emultempl,emulparams,scripttempl}/README: New files.
6940 * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
6941 removed, replaced with generic.em.
6942 * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
6943 h8[35]00hms.s[ch]. Change their contents to omit the "hms".
6944
6945 * *.em (*_get_script): Return script name instead of script contents.
6946 * ldlang.c (lang_process): Change caller.
6947
6948 * ldlex.l, ldgram.y: Recognize -m option.
6949 Check for input files after *all* options in grammar.
6950 * ldmain.c (main): Check for -m options. Add default directory
6951 for -m.
6952
6953 * mkscript.c: File removed.
6954 * genscripts.sh: Take two more parameters, tooldirlib and libdir,
6955 to add to the default LIB_PATH.
6956 Look for input files in the new subdirectories.
6957 Create the scripts in emulations subdirectory and don't filter
6958 them through mkscript.
6959 * configure.in: Make the emulations subdirectory.
6960
6961 * Makefile.in: Account for all of the above changes.
6962 Remove unused .SUFFIXES. Get libgcc.a path with gcc
6963 -print-libgcc-file-name instead of $(libdir)/libgcc.a.
6964 Put CFLAGS last in the compilation rules.
6965 Add -I../bfd to INCLUDES so sysdep.h is found.
6966
6967 Tue Jun 15 23:04:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
6968
6969 * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
6970
6971 * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO
6972 dependent on RELOCATING, not RELOCATION.
6973 * hp3hpux.sh (SHLIB_PATH): Define it.
6974
6975 Mon Jun 14 19:06:15 1993 David J. Mackenzie (djm@thepub.cygnus.com)
6976
6977 * ldfile.c (try_open): If opening without the extension fails,
6978 try with the extension even if -v or -V was given.
6979 had_script is imported (from ldgram.y), not exported.
6980
6981 Mon Jun 14 16:26:10 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
6982
6983 * Makefile.in: remove parentdir support, use INSTALL_XFORM
6984
6985 Thu Jun 10 14:00:06 1993 Ian Lance Taylor (ian@cygnus.com)
6986
6987 * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
6988 * ldgram.y (statement_list_opt): New nonterminal, either empty or
6989 statement_list.
6990 (section): Use statement_list_opt, not statement_list.
6991 * m68kcoff.sc-sh: Gather constructors and destructors and define
6992 __CTOR_LIST__ and __DTOR_LIST__ appropriately.
6993 * sa29200.sc-sh: Gather constructors and destructors and define
6994 ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
6995
6996 Mon Jun 7 12:53:28 1993 Per Bothner (bothner@rtl.cygnus.com)
6997
6998 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
6999 * configure.in: No longer need to configure to get sysdep.h.
7000
7001 Fri Jun 4 16:18:24 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7002
7003 * Makefile.in: remove install:all and install-info:info
7004 dependencies (these cause some spurious rebuilds at 'make install'
7005 time)
7006
7007 Fri Jun 4 08:50:14 1993 Ian Lance Taylor (ian@cygnus.com)
7008
7009 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
7010 (mips-idt-ecoff*): Added trailing '*'.
7011 * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
7012 * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
7013 * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
7014
7015 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
7016 incorrect definitions.
7017
7018 Tue Jun 1 14:56:10 1993 Per Bothner (bothner@rtl.cygnus.com)
7019
7020 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
7021 symbols, unless stripping.
7022
7023 Tue May 25 15:34:25 1993 Ian Lance Taylor (ian@cygnus.com)
7024
7025 * Makefile.in: configure looks for ####, so remove lines with many
7026 '#' characters.
7027 * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
7028 and HOSTING_LIBS correctly so that ``make check'' will work.
7029
7030 Thu May 20 13:56:16 1993 Per Bothner (bothner@deneb.cygnus.com)
7031
7032 * mips.sc-sh: Define _etext, _edata, and _end, in addition
7033 to etext, edata, and end. Needed for IRIX 4.0.5F.
7034 Patch from mwp@iconix.oz.au (Michael Paddon).
7035
7036 * Version 2.2.1 released.
7037
7038 Thu May 20 11:42:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7039
7040 * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
7041 * mipsbsd.sh (EMULATION_NAME): Use new file name.
7042
7043 Tue May 18 17:10:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7044
7045 * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
7046 properly right now.
7047
7048 * Version 2.2 released.
7049
7050 Mon May 17 15:37:28 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
7051
7052 * ldver.c (ldversion): Bump version number to 2.2.
7053
7054 Mon May 17 12:44:31 1993 Per Bothner (bothner@cygnus.com)
7055
7056 * NEWS: New file.
7057
7058 Fri May 14 11:26:24 1993 Ian Lance Taylor (ian@cygnus.com)
7059
7060 * mips.sc-sh: Don't define BSS_VAR unless relocating.
7061
7062 Wed May 12 13:33:29 1993 Ian Lance Taylor (ian@cygnus.com)
7063
7064 * Makefile.in (mkscript.o, mkscript): Build mkscript via
7065 mkscript.o, rather than directly from mkscript.c.
7066
7067 Tue May 4 21:58:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7068
7069 * configure.in: Look for ${target_makefile_frag} relative to
7070 ${srcdir}, not relative to build directory.
7071
7072 * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
7073 * configure.in: Recognize hppa*-hp-osf.
7074 * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
7075 (em_hppaosf.c): Build it.
7076 * config/hppaosf.mh, hppaosf.mt: New files.
7077
7078 * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
7079 some system header files. All uses changed.
7080
7081 * configure.in: Recognize i386-aix configurations as i386-coff
7082 targets.
7083
7084 * configure.in: Recognize m68*-*-hpux.
7085 * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
7086 the value of STACKZERO.
7087 * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
7088 (em_hp3hpux.c): Build it.
7089 * hp3hpux.sh, config/hp300hpux.mt: New files.
7090
7091 Tue May 4 12:37:35 1993 Ian Lance Taylor (ian@cygnus.com)
7092
7093 * mips.sc-sh: Put constructors in the .data section.
7094 * Makefile.in (cdtest): Added dependency on ld.new.
7095
7096 Mon May 3 19:43:39 1993 Per Bothner (bothner@cygnus.com)
7097
7098 * Makefile.in: Change definition of $(tooldir) to match FSF.
7099 * vax.sh, config/vax.mt, configure.in, Makefile.in:
7100 Support VAX Ultrix and BSD.
7101
7102 Mon Apr 26 18:35:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7103
7104 * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
7105
7106 Wed Apr 14 21:01:51 1993 John Gilmore (gnu@cygnus.com)
7107
7108 * ldlang.h (struct memory_region): Change `length' and
7109 `old_length' fields to bfd_size_type. Eliminate use of bfd_offset.
7110 * ldlang.c, mri.c: Corresponding changes, plus lint.
7111
7112 Thu Apr 8 22:08:18 1993 Ian Lance Taylor (ian@cygnus.com)
7113
7114 * configure.in: For all i386 targets, accept i486 as well.
7115
7116 Mon Apr 5 17:33:39 1993 Ian Lance Taylor (ian@cygnus.com)
7117
7118 * ldlang.c (wild_doit): Preserve all flags for a
7119 SEC_SHARED_LIBRARY section.
7120 (size_input_section): Consider any SEC_HAS_CONTENTS section when
7121 computing largest_section.
7122
7123 Fri Apr 2 14:33:52 1993 Ian Lance Taylor (ian@cygnus.com)
7124
7125 * ldlang.c (lang_output_section_statement_lookup): Initialize all
7126 fields of newly created structure.
7127
7128 Wed Mar 31 18:19:15 1993 Ian Lance Taylor (ian@cygnus.com)
7129
7130 * ldmain.c (g_switch_value): New variable.
7131 * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
7132 (command_line_option): Accept -G and set g_switch_value.
7133 * ldlex.l (COMMAND): Accept -G.
7134 * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
7135
7136 Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7137
7138 Support for linking and loading at different places:
7139
7140 * ldlex.l: Add "AT" keyword.
7141 * ldgram.y: Cleanup, and parse AT.
7142 * ldlang.c (print_output_section_statement): Print output address
7143 of section in map. (lang_size_sections): Fill sections' lma with
7144 load address.
7145 * ldlang.h (lang_output_section_statement_type): Add load_base
7146 information.
7147
7148 * ldindr.c (add_indirect): Keep more information in the alias
7149 symbol chain.
7150 * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
7151 attribute from an input section.
7152 * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
7153 default. (Q_enter_file_symbos): Indirect symbols now are known by
7154 their section, not a special symbol flag.
7155 * ldsym.c (write_file_locals): Indirect symbols aren't local.
7156 (write_file_globals): Write the mapping for an indirect symbol.
7157 * relax.c (build_it): When forced to write a NEVER_LOAD section,
7158 fill it with zeros.
7159
7160 Tue Mar 23 13:24:10 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
7161
7162 * ld.texinfo: changes for q1
7163
7164 Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7165
7166 * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
7167
7168 Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7169
7170 * Makefile.in: rename HOST_CC to CC_FOR_BUILD
7171
7172 Thu Mar 4 12:44:33 1993 Ian Lance Taylor (ian@cygnus.com)
7173
7174 * mips.sc-sh: Added variables which may be overridden by a
7175 specific emulation.
7176 * mipsidt.sh: New file; emulation for IDT MIPS board.
7177 * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
7178 (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
7179 * config/mips-idt.mt: New file; sets EMUL to mipsidt.
7180 * configure.in (mips-idt-ecoff): New target; uses mips-idt.
7181
7182 Sat Feb 27 00:00:14 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
7183
7184 * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
7185 ralphc@pyramid.com.
7186 * i386bsd.sh, config/i386bsd.mt: New files.
7187 * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
7188
7189 Thu Feb 25 15:33:10 1993 Per Bothner (bothner@rtl.cygnus.com)
7190
7191 * mri.c: Add extern declaration of strdup.
7192 * ldsym.c (KEEP macro): Add spaces around '=' for the
7193 sake of old (e.g. PCC) compilers.
7194
7195 Wed Feb 24 19:49:31 1993 Per Bothner (bothner@rtl.cygnus.com)
7196
7197 * ldver.c: Bump to version 2.1.
7198
7199 Fri Feb 12 08:09:11 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7200
7201 * ldgram.y: allow section types without address expressions.
7202 * ldlang.c (lang_relocate_globals): avoid possible hang with
7203 undefined but unreferenced symbols.
7204 * relax.c (relax_section): don't complain if the script file isn't
7205 relaxable but -relax is set
7206
7207 Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7208
7209 * configure.in: go32 is the 3rd part of the triple, not the 2nd
7210
7211 Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com)
7212
7213 * mipsbig.sh: New file. Big endian MIPS emulation.
7214 * config/mips-big.mt: New file. Use mipsbig emulation.
7215 * configure.in (mips-sgi-irix*): Use target mips-big.
7216 * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
7217 (em_mipsbig.c): New target. Uses mipsbig.sh.
7218
7219 Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com)
7220
7221 * mips.sc-sh: Put .scommon sections into .sbss section.
7222
7223 * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
7224 rather than always putting them in bfd_com_section.
7225 * ldlang.c (lang_common): If a common symbol is not in
7226 bfd_com_section, put in a section of the same name, rather than
7227 always putting it in section COMMON.
7228
7229 Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
7230
7231 * ldmain.c (subfile_wanted_p): If we already have a common
7232 definition of a symbol, don't necessarily pull in an object file
7233 that provides a non-common definition.
7234
7235 * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
7236 returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS
7237 linker.
7238 * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
7239 (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
7240
7241 Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com)
7242
7243 * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
7244 the link to it.
7245
7246 Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com)
7247
7248 * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
7249 checking for equality to bfd_com_section.
7250
7251 Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com)
7252
7253 * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF
7254 targets, linker script.
7255 * mipslit.sh: New file. Little endian MIPS emulation.
7256 * config/mips-lit.mt: New file. Use mipslit emulation.
7257 * configure.in (mips-dec-ultrix*): Use target mips-lit.
7258 * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
7259 (em_mipslit.c): New target. Uses mipslit.sh.
7260
7261 Thu Jan 14 15:30:27 1993 Ian Lance Taylor (ian@cygnus.com)
7262
7263 * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
7264 $(tooldir)/bin/gld, so that gcc can find it with or without
7265 collect2.
7266
7267 Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
7268
7269 * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
7270 write_norel. All linking is now done via write_relax. Call
7271 ldsym_write before calling write_relax.
7272 * relax.c: Added copyright.
7273 (write_relax): Renamed from write_relaxnorel. Added relocateable
7274 argument. seclet_dump renamed to bfd_seclet_link.
7275 * relax.h: Added copyright.
7276
7277 Mon Jan 11 15:41:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7278
7279 * ldmain.c (decode_library_subfile): Patch from
7280 hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
7281
7282 Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7283
7284 * config/vxworks960.mt renamed to config/i960.mt
7285
7286 * configure.in: sparc-aout emulates a sun4, as does
7287 sparc*-vxworks, i960-nindy uses gld960 emulation
7288
7289 Fri Jan 8 14:39:07 1993 Steve Chamberlain (sac@thepub.cygnus.com)
7290
7291 Fix support for NOLOAD, add INCLUDE
7292 * ldfile.c (ldfile_open_command_file): pass file name to
7293 lex_push_file.
7294 * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
7295 * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
7296 attribute.
7297
7298 Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7299
7300 * Makefile.in, config.h: no more default emulation. Make the lack
7301 of emulation a compile time error
7302
7303 Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7304
7305 * configure.in: recognise all sparclite variants, not just 'sparclite'
7306
7307 Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com)
7308
7309 * m68kcoff.sc-sh: define _end as well as end, for consistency with
7310 aout.sc-sh.
7311
7312 * configure.in: accept *-ericsson-ose for any m68k CPU.
7313
7314 * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
7315 for each output section.
7316
7317 Mon Dec 21 16:06:59 1992 Per Bothner (bothner@rtl.cygnus.com)
7318
7319 * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new
7320 macro bfd_asymbol_bfd as appropriate.
7321 * Makefile.in: Un-duplicate ldlex.c dependency.
7322 * condigure.in: Replace my_host case table by sourcing
7323 ../bfd/configure.host. Allow std-host as the default.
7324 * ldmisc.c: Change logic for C++ name demangling: There is
7325 no initial '_' to remove from stab-derived function names.
7326
7327 Sun Dec 13 16:31:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7328
7329 * ldlang.c (lang_init_script_file): don't attach the output file
7330 sections to the script file.
7331
7332 Wed Dec 9 08:38:05 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7333 * ldlang.c (wild): run expansion loop over command line bfd too.
7334 (lang_ini_script_file): initialize more parts of the command line
7335 bfd.
7336 * ldlex.l: fix DEFINED start states.
7337
7338 Mon Dec 7 08:43:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7339 -y support
7340 * ld.texinfo: new doc.
7341 * ldgram.y, ldlex.l: understand -y<symbol>
7342 * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
7343 print info. (add_ysym): new function.
7344 * ldsym.h: (ldsym_type): new define SYM_Y.
7345
7346 Sat Nov 21 03:15:27 1992 John Gilmore (gnu@cygnus.com)
7347
7348 * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
7349 ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
7350 ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue
7351 macros with PARAMS. Recreational cleanup. Update copyrights.
7352
7353 Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7354
7355 * Makefile.in: pass down the bfd source directory for includes
7356
7357 Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com)
7358
7359 * ldlang.c (lang_size_sections): don't change size and address for
7360 SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
7361 sections.
7362
7363 Thu Nov 5 11:33:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7364
7365 * relax.c (build_it): re-enable the processing of data_statements
7366 in scripts, makes counted contructor lists work again.
7367
7368 Thu Nov 5 05:43:01 1992 John Gilmore (gnu@cygnus.com)
7369
7370 * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS).
7371
7372 Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com)
7373
7374 * m68kcoff.sc-sh: don't use initial underscores for etext, edata
7375 and end.
7376
7377 Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
7378
7379 * Support for i386-sysv.
7380 configure.in: check for i386-*-sysv* and i386-*-sco*.
7381 i386coff.sc-sh: rewrote to support SVR3 by default.
7382 ldctor.c (find_constructors): preserve stat_ptr.
7383 ldlang.c (wild_doit): initialize vma and size of new output
7384 section to corresponding input section. This is required for
7385 shared library support.
7386 (lang_size_sections): don't modify vma and size of sections which
7387 are never loaded (for shared libraries).
7388 ldwrite.c (copy_and_relocate): copy the contents of any section
7389 which has contents, not just sections which are loaded (for shared
7390 libraries).
7391
7392 Thu Oct 15 15:20:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7393
7394 * ldlang.c (size_input_section): count the sizes of all sections
7395 we allocate.
7396
7397 Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7398
7399 * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
7400 to demangle symbols better
7401
7402 Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com)
7403
7404 * ldlang.c (lang_finish): don't warn if -e start symbol does not
7405 exist when linking with -r.
7406
7407 Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com)
7408
7409 * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
7410 .bss segment.
7411
7412 Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7413
7414 * ldmain.c (linear_library): don't even think about processing
7415 an object file if it's already been done
7416
7417 Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7418
7419 * configure.in: the hp9000/300 config file is now hp300
7420
7421 Wed Sep 30 07:34:09 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7422
7423 * config/z8ksim.mt: new file
7424
7425 Fri Sep 25 13:49:52 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
7426
7427 * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
7428 lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
7429
7430 * ld.h (strip_symbols_type): Add value STRIP_SOME.
7431 * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
7432 * ldlang.c (lang_add_keepsyms_file): New function.
7433 * ldlex.l: Handle "-retain-symbols-file".
7434 * ldsym.c (keepsyms_file, kept_syms): New vars.
7435 (process_keepsyms): New functihon; reads file, marks symbols for
7436 saving.
7437 (write_file_locals): File symbols should always be kept.
7438 (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
7439 and "-s". Process retain-symbols file before setting symtab.
7440 * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
7441 (keepsyms_file, kept_syms): Declare them.
7442
7443 * ldmain.c (main): Non-fatal errors should still cause non-zero
7444 exit status even with -r.
7445
7446 Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7447
7448 Added initial support for the z8k
7449 * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
7450 * configure.in, Makefile.in: modified to reflect above
7451
7452 * ldlang.c (lang_check): when linking conflicting architectures,
7453 make the output file reflect at least one of the bad inputs.
7454
7455 Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com)
7456
7457 * Makefile.in (install): if $(tooldir) exists, install ld in
7458 $(tooldir)/bin.
7459
7460 Fri Sep 11 10:24:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7461
7462 * Makefile.in, configure.in: modified to support i386-coff
7463 * i386coff.sh: new file
7464
7465 Wed Sep 9 11:52:58 1992 Ian Lance Taylor (ian@cygnus.com)
7466
7467 * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
7468 added m68k-coff emulation mode, stolen from a29k emulation.
7469 Almost certainly wrong, but perhaps better than sun3.
7470
7471 Thu Sep 3 14:19:30 1992 Per Bothner (bothner@rtl.cygnus.com)
7472
7473 * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
7474 gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
7475 vanilla.em: Rename all (generated) ld__*.c files to em_.c.
7476 This is one character shorter, and lets people build on
7477 SVR3 system. (ld__h8300xray.[co] was the killer there;
7478 h8300xray.sc-sh is also overlong, but seems harmless.)
7479 Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
7480 * Makefile.in (clean): Fix typo mostclean -> mostlyclean.
7481 * configure.in: Add host isc.
7482
7483 * ldver.c: Call it version 2.0.
7484
7485 Wed Sep 2 00:21:33 1992 Per Bothner (bothner@rtl.cygnus.com)
7486
7487 * ldver.c: Bump to version 0.98.
7488 * TODO: New file.
7489
7490 * Makefile.in: Added mostlyclean, distclean, realclean rules.
7491
7492 Tue Sep 1 23:42:16 1992 Per Bothner (bothner@rtl.cygnus.com)
7493
7494 * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c).
7495 * ldlex.l: Moved comment() to end, since some compilers
7496 otherwise have problems with input() used before it is defined.
7497
7498 Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7499
7500 * configure.in: added Solaris 2 and Irix 4 host support.
7501
7502 Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7503
7504 * Makefile.in: remove -S flag from the FLEX definition
7505
7506 * configure.in: rewrote, using new style case statement. use
7507 m68k.mt for m68k-aout systems
7508
7509 Sun Aug 30 21:38:53 1992 Ian Lance Taylor (ian@cygnus.com)
7510
7511 * Makefile.in: map "ld" through program_transform_name when
7512 installing.
7513
7514 Sun Aug 30 18:12:13 1992 Per Bothner (bothner@rtl.cygnus.com)
7515
7516 * cplus-dem.c: Removed. Use the version in libiberty now.
7517 * ldmisc.c: Use new libiberty version of cplus_demangle().
7518
7519 Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com)
7520
7521 * gld960.em (gld960_choose_target): default to little endian, not
7522 big endian.
7523
7524 Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7525
7526 * ldlang.c (lang_process): don't pass null pointers when
7527 abs_output_section is what is required.
7528 * ldwrite.c (ldwrite): use malloc to allocate the largest space
7529 used, and pass that down.
7530 * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
7531 than alloca.
7532
7533 Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com)
7534
7535 * configure.in, config/ose68.mt: renamed OSE to ose.
7536
7537 Thu Aug 20 19:55:22 1992 Ken Raeburn (raeburn@cygnus.com)
7538
7539 * ldsym.c (write_file_locals): Reorder check for common or
7540 undefined symbols so that it works.
7541
7542 Tue Aug 18 13:41:36 1992 Ian Lance Taylor (ian@cygnus.com)
7543
7544 * configure.in: accept all m68K family members.
7545
7546 * Makefile.in: always create installation directories.
7547
7548 Thu Aug 13 11:49:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7549
7550 * ldlex.l: now parses comment correctly, added ~ to acceptable
7551 chars in filenames
7552
7553 * ldexp.c (exp_unop): pass down abs_output_section - now can have
7554 unary -ve constants.
7555
7556 * ldlang.c (lang_finish): warn when an entry symbol supplied on
7557 the command line can't be found.
7558
7559 Fri Aug 7 12:31:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7560
7561 * ldlang.h: add new field "loadable" to output_section_statement.
7562 * ldlang.c (lang_output_section_statement_lookup): initilize new
7563 field. (wild_doit): if new field is not set, then stop output
7564 section from being loadable.
7565 (lang_enter_output_section_statement): set the field from the
7566 NOLOAD keyword
7567 * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
7568 * h8300hms.sc-sh, h8300hms.em: get -r right.
7569
7570 Thu Aug 6 18:35:21 1992 Per Bothner (bothner@rtl.cygnus.com)
7571
7572 * ldint.texinfo: New internals manual (beginnings thereof).
7573 * PORTING: Removed, merged into ldint.texinfo.
7574
7575 Tue Aug 4 21:12:29 1992 Per Bothner (bothner@rtl.cygnus.com)
7576
7577 * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
7578 cdtest.exp: A test program (copied from libg++/test-install)
7579 that tests that constructor and destructors are handled
7580 corrrectly.
7581
7582 Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7583
7584 * Makefile.in (install): install from ld.new, renaming during the
7585 copy, or else the next 'make install' needs to re-link ld.
7586
7587 Mon Jul 20 03:37:06 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
7588
7589 * configure.in: generalise hp recognition (from sef).
7590
7591 Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
7592
7593 * configure.in: recognize bsd and hpux hppa configurations.
7594 error messages echo to stderr, not stdout
7595
7596 Fri Jul 17 22:06:11 1992 K. Richard Pixley (rich@rtl.cygnus.com)
7597
7598 * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
7599 ldmisc.c: removed rcsid's.
7600
7601 Tue Jul 14 08:34:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7602
7603 * ldlang.c (lang_map): print changes in sizes due to relaxing
7604 (size_input_section): maintain the delta information.
7605 * ldlang.h: add new field to struct to contain delta info.
7606 * relax.c (relax_section): complain if input not relaxable.
7607 * ldlex.l : add '_', ',' and '$' to chars which can appear at the
7608 start of a filename
7609
7610 Mon Jul 13 17:33:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7611
7612 * ldmain.c(main): prevent -r and -relax from being on at the same
7613 time.
7614
7615 Wed Jul 1 17:51:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7616
7617 * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
7618 aliasing problems
7619
7620
7621 Thu Jun 18 09:38:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7622
7623 * h8300hms.em, h8300hms.sc-sh: do the right thing for -r
7624 * ldexp.c: lint
7625 * ldlang.c(open_output): set the target arch and machine as soon
7626 as we can. (lang_size_sections): use new macros for setting vma
7627 * ldwrite.c: lint
7628
7629 Mon Jun 15 08:47:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
7630
7631 * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
7632 Also deleted an unreachable path to wrs.
7633
7634 Wed May 27 23:24:19 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
7635
7636 * Makefile.in (install): use -d test for $tooldir before
7637 installing ld there so that $tooldir can be inherited from
7638 top-level Makefile.
7639
7640 Wed May 27 16:56:48 1992 Per Bothner (bothner@rtl.cygnus.com)
7641
7642 * ldlang.c: Two non-substantial changes for the sake of
7643 the old Portable C Compiler.
7644
7645 Wed May 27 15:15:58 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7646
7647 * ldgram.y, ldlex.l: parse ABSOLUTE
7648 * ldexp.c: add support for ABSOLUTE
7649
7650 Wed May 27 13:07:20 1992 Per Bothner (bothner@rtl.cygnus.com)
7651
7652 * Makefile.in: Added default definitions for HOSTING_CRT0,
7653 HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
7654 * config/*.mh: Miscellaneous clean-up: Removed definitions
7655 of YACC (since it is not longer used in the Makefile).
7656 Remove HOSTING_* definitions that are subsumed by the
7657 ones added to Makefile.in. Removed most definitions of CC.
7658 * config/{sparc,news,hp300bsd,decstation}.mh: Removed;
7659 These are no longer needed.
7660
7661 Fri May 22 13:47:19 1992 Per Bothner (bothner@cygnus.com)
7662
7663 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
7664 rules, since these are used when building a distribution.
7665 * Makefile.in (ldlex.c): Don't re-direct output, since that
7666 leaves a bogus output files if it fails.
7667
7668 * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working.
7669 * ldlex.c: Fix some unnecessary flex-specific-isms.
7670
7671 Fri May 8 11:49:43 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7672
7673 * ldgram.y: move spurious semicolon
7674 * ldexp.h: fix prototype
7675
7676 Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
7677
7678 * ld.texinfo: references to linker now say "ld" not "gld".
7679
7680 Wed May 6 13:26:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7681
7682 changed calling convention for Q_enter_global_ref
7683 * ldexp.c, ldlang.c, ldmain.c: reflect this
7684 * ldver.c: bump version to 1.97.1
7685 * ldindr.c (add_indirect): when an edict declaring an indirect
7686 symbol is found, make sure that any ideas about the symbol being
7687 common are changed if it now known to be defined.
7688 * ldmain.c (linear_library): complain once if archive isn't
7689 ranlibbed.
7690 * ldlang.h, ldlang.c: make room for and initialize the complain
7691 once field.
7692
7693 Wed May 6 11:07:35 1992 K. Richard Pixley (rich@rtl.cygnus.com)
7694
7695 * Makefile.in: use flex & bison from ../ if they exist.
7696
7697 Tue May 5 17:47:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7698
7699 * relax.c (build_it): don't allocate space in the output file for
7700 stuff if -R flag applys to it.
7701 * ldfile.c: merge in VMS filename support
7702 * ldmain.c (main): take out ./ from library path, and close file
7703 before unlinking. Make multiple defs of a symbol create an
7704 unexecable file.
7705 * ldmisc.c: fatal errosrs delete output file
7706
7707 Tue May 5 14:05:05 1992 Per Bothner (bothner@rtl.cygnus.com)
7708
7709 * ldver.c: Increase version number to 1.97, for consistency
7710 with ../binutils.
7711
7712 Tue May 5 12:12:24 1992 K. Richard Pixley (rich@cygnus.com)
7713
7714 * Makefile.in: FLEX -> LEX.
7715
7716 * ld.texinfo: {} -> @{@}.
7717
7718 Mon May 4 17:52:41 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
7719
7720 * ld.texinfo: describe alternate, MRI-compatible linker scripts
7721 (and associated change in -c option, now used for these scripts)
7722
7723 Mon May 4 16:10:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7724
7725 * ldver.c: Bumped version to 1.96 - new release, resync with the
7726 bfd too #.
7727 * ldexp.c, ldlang.c: now build memory shape tree in obstacks
7728 rather than with raw malloc, makes it easier to track where memory
7729 is going.
7730 * ldsym.h, ldsym.c: create obstack for all global symbols too.
7731 * ldwrite.c (ldwrite): moved malloc so only used when needed.
7732 * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
7733
7734
7735 Fri May 1 18:17:52 1992 K. Richard Pixley (rich@cygnus.com)
7736
7737 * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
7738
7739 * Makefile.in: use bootstrap for check.
7740
7741 Fri May 1 13:03:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7742
7743 * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
7744 PUBLIC.
7745 * Makefile.in: now use flex, not lex
7746 * ldlex.l, ldlang.c, ldctor.c: lint
7747
7748 Wed Apr 22 12:48:42 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7749
7750 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
7751 different sorts of filenames on the command line than in a script.
7752
7753 Mon Apr 20 22:37:04 1992 K. Richard Pixley (rich@rtl.cygnus.com)
7754
7755 * Makefile.in: rework CFLAGS so that they can be passed on the
7756 make command line. Remove MINUS_G. Default CFLAGS to -g.
7757
7758 Fri Apr 17 08:57:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7759
7760 * relax.c: added handling for new "padding" seclet type, used to
7761 fill out gaps between section.
7762 * ldgram.y, ldlex.l: now -defsym on the command line is done
7763 properly.
7764
7765 Wed Apr 15 21:20:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
7766
7767 * Makefile.in: the tooldir copy of ld goes directly in tooldir.
7768
7769 Wed Apr 15 16:09:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7770
7771 * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
7772 scripts.
7773
7774 Thu Apr 9 05:52:02 1992 Ken Raeburn (Raeburn@Cygnus.COM)
7775
7776 * Makefile.in (install): Install second copy in $(tooldir)/bin
7777 without $(program_prefix), since that's what gcc expects.
7778
7779 Sat Apr 4 17:44:06 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7780
7781 * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
7782 * h8300*: fix bit rot and add support for h8300xray target
7783 * go32.sh: target emulation for go32.
7784
7785 Mon Mar 16 14:53:29 1992 Steve Chamberlain (sac@rtl.cygnus.com)
7786
7787 * gld960.em, i960.sc-sh. Fix i960 bit rot
7788
7789 Fri Mar 13 19:47:22 1992 K. Richard Pixley (rich@cygnus.com)
7790
7791 * Makefile.in: install man page.
7792
7793 Fri Mar 13 08:23:59 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7794
7795 * config/mt-<foo> renamed to <foo>.mt
7796 * config/mh-<foo> renamed to <foo>.mt
7797 * configure.in changed to reflect this
7798 * genscripts.sh now make .xbn files rather than .xN files
7799
7800 Sat Mar 7 03:40:40 1992 K. Richard Pixley (rich@cygnus.com)
7801
7802 * ldver.h: fix decl of ldversion.
7803
7804 Fri Mar 6 22:00:35 1992 K. Richard Pixley (rich@cygnus.com)
7805
7806 * Makefile.in: added check target.
7807
7808 Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7809
7810 * ldmain.c (Q_enter_file_symbols): now aliases work again
7811
7812 Thu Mar 5 21:39:29 1992 K. Richard Pixley (rich@cygnus.com)
7813
7814 * Makefile.in: added clean-info target.
7815
7816 Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
7817
7818 * ldexp.c (exp_print_tree): don't try and follow null pointers
7819 around.
7820 * ldgram.y: remove 11 shift reduce errors
7821
7822 Tue Mar 3 15:46:39 1992 K. Richard Pixley (rich@rtl.cygnus.com)
7823
7824 * Makefile.in: added tooldir and program_prefix.
7825
7826 Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com)
7827
7828 * ldlang.c (size_input_section): don't move absolute sections
7829 around!
7830
7831
7832 Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
7833
7834 * cplus-dem.c: yet another copy of this - maybe it should go into
7835 libiberty ?
7836 * ldgram.y: now -V and -v have different actions
7837 * ldver.c: if -V, prints list of emulations compiled in
7838 * ldmisc.c: support for cplus demangling
7839
7840
7841 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
7842
7843 * Makefile.in, configure.in: removed traces of namesubdir,
7844 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
7845 copyrights to '92, changed some from Cygnus to FSF.
7846
7847 Thu Feb 20 17:43:46 1992 Per Bothner (bothner at cygnus.com)
7848
7849 * Makefile.in: Change mkscript rule into one for ./mkscript
7850 (for the sake of makes that don't realize they're the same).
7851 * PORTING: Add more details.
7852 * genscripts.sh: Add more tailorability of DATA_ALIGNMENT.
7853
7854 Mon Feb 17 12:04:36 1992 Per Bothner (bothner at cygnus.com)
7855
7856 * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
7857 config/mt-hp300bsd: New port to hp300 running BSD.
7858
7859 Sat Feb 15 13:59:54 1992 Per Bothner (bothner at cygnus.com)
7860
7861 Major rewrite of how ld is configured. The major idea
7862 is to use shell scripts to generate everything.
7863 * generic.em replaces ldtemplate.
7864 * Other *.em files replace various *.c files.
7865 A *.em file is a shell script that generates the corresponding
7866 ld__*.c file that implements an emulation. This is usually
7867 a straight 'cat' of a here-document, possibly with substitutions.
7868 * Script files (*.sc) are places by *.sc-sh scripts.
7869 Again, these are simple shell scripts that 'cat'
7870 here-documents, usually with some substitutions.
7871 The output a *.sc-sh is a script file.
7872 * Each emulation is defined by a short shell script with
7873 extension *.sh that specifies the emulation-specific
7874 parameters (such as the name of the *.sh-sc and *.em
7875 files to use).
7876 * genscript.sh is the master shell script used to generate
7877 an emulation. It is passed various argument, including
7878 the name a the emulation-speciic *.sh file that it
7879 "sources" to set variables to emulation-specifc parameters.
7880 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
7881 to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
7882 * config/mh-foo: Rename LDEMULATION names as appropriate
7883 (usually 'gldfoo' -> plain 'foo').
7884 * ldwrite.c: Fixed a typo in a comment.
7885 * Makefile.in: Major changes. Removed some the sed
7886 magic to converts scripts, since that is now handled
7887 by genscripts.sh and the *.sc-sh scipt generators.
7888 * config.h: Remove a bunch of macros defining emulations
7889 and targets. This becomes one less file to edit when
7890 adding emulations or targets.
7891 * ldemul.h (struct ld_emulation_xfer_struct): Add
7892 emulation_name and target_name fields.
7893 * ldemul.c, ldemul.h: Define some default functions used
7894 by most emulations (and remove from the *.em scripts).
7895 * ldemul.c (ldemul_choose_target): Search the new
7896 ld_emulations array using a loop (instead of a hardwired
7897 nested if statement).
7898 Define the ld_emulation from the automatically-geenrated
7899 ldemul-list.h. This means you no longer have to edit ldemul.c
7900 to add a new emulation.
7901 * ldmain.c: Replace {GLD,LNK}960_EMULATION_NAME by
7902 their expansions, since the former no longer exist.
7903 * PORTING: A very rough first draft of a porting guide.
7904
7905 * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
7906 to be terminated by a new-line (instead of requiring a semicolon).
7907
7908 Mon Feb 10 16:21:02 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7909
7910 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
7911 tests for NULL pointers all over the place.
7912 * ldlang.c (lang_process): remember to relocate global symbols
7913 *after* relaxing has done it stuff.
7914
7915 Thu Feb 6 11:40:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7916
7917 * config/mt-coff-h8300: use EMUL like everything else
7918 * ldlang.c: (print_padding_statement): print the right address.
7919 * Makefile.in, config.h, ldemul.c: renamed h8300hds to h8300hms
7920
7921
7922 Tue Feb 4 15:28:01 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7923
7924 * ldlex.l: Put pack -noinhibit-exec and -sort-common
7925 * ldlang.c (print_data_statement): print the right address.
7926
7927 Thu Jan 30 17:51:53 1992 Per Bothner (bothner at cygnus.com)
7928
7929 * Makefile.in: The rule for testing ld by re-linking itself
7930 via an intermediate -r link was moved to the ld1 rule
7931 instead of the ld2 rule. This allows ld2 and ld3 to be identical,
7932 which allows the bootstrap rule to work.
7933 * ldctor.c (find_constructors): Don't create a constructor
7934 list if it is already defined (as would happen if ld is
7935 invoked by collect).
7936
7937 Wed Jan 29 08:35:39 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7938
7939 * config/mh-sparc.h: now uses libgcc.a
7940 * ldmain.c: quit using exit
7941 * *sc: use *(COMMON) rather than [COMMON]
7942 * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
7943 to allow preprocessing of .l file.
7944 * Makefile.in: New ldlex.l mangling
7945 * ldexp.c (fold_binary): perform expressions with % and / in
7946 integer.
7947 * ldfile.c (open_a): open archives on VMS in a special way
7948
7949
7950 Tue Jan 28 10:18:16 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7951
7952 * ldgram.y: map -M behave in the same way as -Map (sets file name
7953 to be "-".
7954 * ldsym.c, ldlang.c: remember that size of a section is dependent on
7955 whether or not relaxing has been done.
7956 * ldmain.c: don't open a map file if it doesn't have a name
7957 * relax.c: all the brains have moved into bfd.
7958 * ldwrite.c: ammend comment
7959
7960 Fri Jan 24 14:23:46 1992 Steve Chamberlain (sac at rtl.cygnus.com)
7961
7962 * Makefile.in: added relax, also made three stage go through a
7963 partial link stage.
7964 * relax.c : added
7965 * config.h: if GNU960 defined, then default emulation mode is
7966 GLD960
7967 * ldexp.h, ldexp.c: map to file hooks
7968 * ldlang.c: map to file hooks
7969 * ldgram.y: added -Map -relax
7970 * ldlex.l: added -relax, -Map
7971 * ldmain.c: open map file
7972 * ldmisc.c: support for map file
7973 * ldwrite.c: new relax magic
7974
7975 Thu Dec 19 18:49:51 1991 John Gilmore (gnu at cygnus.com)
7976
7977 * Makefile.in, config/tm-*.h: Clean up make output, only
7978 pass DEFAULT_EMULATION to ldmain.c.
7979
7980 Wed Dec 18 15:02:47 1991 Per Bothner (bothner at cygnus.com)
7981
7982 * ldver.c: Bump to version 1.94.
7983
7984 Tue Dec 10 04:07:23 1991 K. Richard Pixley (rich at rtl.cygnus.com)
7985
7986 * Makefile.in: infodir belongs in datadir.
7987
7988 Mon Dec 9 16:26:43 1991 Per Bothner (bothner at cygnus.com)
7989
7990 * Makefile.in: Pass -y to bison. (Again;
7991 accidentally deleted by Rich.)
7992 * news.sc, ldgld68k.sc: Define __end as well as _end.
7993
7994 Sat Dec 7 17:19:26 1991 Steve Chamberlain (sac at rtl.cygnus.com)
7995
7996 * ldindr.h: added to contain prototypes of ldindr.c
7997 * ldfile.c: include ctype.h
7998 * ldmain.c: include the requried prototype headers
7999 * ldwrite.c: get_reloc_upper_bound has been renamed
8000 bfd_get_reloc_upper_bound
8001
8002 Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
8003
8004 * Makefile.in: punt "fundamental" mode because it breaks my emacs
8005 macros. install using INSTALL_PROGRAM and INSTALL_DATA. remove
8006 spaces following hyphens, bsd make can't cope. added
8007 standards.text support and made it look like all the other
8008 makefiles.
8009
8010 * configure.in: configure now runs entirely in objdir so make file
8011 existence checks against ${srcdir}. Mark this directory as
8012 target dependent.
8013
8014 Thu Dec 5 22:46:16 1991 K. Richard Pixley (rich at rtl.cygnus.com)
8015
8016 * Makefile.in: idestdir and ddestdir go away. Added copyrights
8017 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
8018 and mandir now keyed off datadir by default.
8019
8020 Wed Dec 4 23:36:55 1991 Per Bothner (bothner at cygnus.com)
8021
8022 * ldver.c: Bumped version to 1.93.
8023 * Makefile.in: Pass -y to bison.
8024
8025 Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com)
8026
8027 * config.h: h8 is now coff, not ieee
8028 * h8300hds.sc: reflect the same
8029
8030 Thu Nov 14 19:55:09 1991 Per Bothner (bothner at cygnus.com)
8031
8032 * ldver.c (ldversion()): Update to 1.92.
8033 * ldctor.c: There are two places constructor sets
8034 can be defined. One of them checked for an existing
8035 duplicate, the other didn't. Unfortunately, the latter
8036 was called after the former ...
8037 So, factor out code for inserting a new element into
8038 constructor_name_list (after checking for a duplicate)
8039 into a new function add_constructor_name, and call
8040 it from both aforementioned places (ldlang_add_constructor
8041 and ldlang_check_for_constructors).
8042
8043 Wed Nov 13 15:17:43 1991 Per Bothner (bothner at cygnus.com)
8044
8045 * Makefile.in: Rename .c files generated from ldtemplate
8046 to have names starting with ld__. This helps 'make clean'.
8047
8048 Tue Nov 12 18:36:50 1991 Steve Chamberlain (sac at cygnus.com)
8049
8050 * Makefile.in: Take out the version number for install
8051 * m88kbcs.sc: put in contructor blocks.
8052
8053 Mon Nov 11 18:47:33 1991 Per Bothner (bothner at cygnus.com)
8054
8055 * ldmisc.c, ldmisc.h: Re-write info() to take a filename
8056 parameter, a format, and an arg pointer, and rename it to
8057 vfinfo(). Write info() in terms of new vfinfo().
8058 New einfo() is the same as info(), except it writes to stderr.
8059 * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
8060 ldmisc.c: Replace "error" calls to info() by new einfo().
8061
8062 Mon Nov 11 09:57:32 1991 Steve Chamberlain (steve at cygnus.com)
8063
8064 * ldlex.l ldgram.y: made -V option do same as -v
8065 * Makefile.in: Added $(MINUS_G) flag so debugging can be
8066 turned off
8067
8068 Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com)
8069 i386 aout changes from Bob Kukura
8070 * Makefile.in, config.h: added i386aout support
8071 * configure.in: fixed /h-{myhost} typo
8072 * ldgram.y: -MM now gives more boring map.
8073 * ldlang.c: now does D_PAGED flag the right way.
8074 * ldsym.c: -MM flags does the right thing.
8075
8076 Sun Nov 3 15:00:03 1991 Per Bothner (bothner at cygnus.com)
8077
8078 * configure.in: Fixed typo. Also, a fix for hp300bsd.
8079 * ldlang.c (init_os): Compensate for BFD change,
8080 where bfd_make_section now returns NULL for a duplicate
8081 section request, instead of the old section.
8082
8083 Thu Oct 17 15:27:13 1991 Per Bothner (bothner at cygnus.com)
8084
8085 * ldver.c: Bump to version 1.91 (consistent with binutils).
8086
8087 Wed Oct 16 12:27:08 1991 Per Bothner (bothner at cygnus.com)
8088
8089 * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
8090 ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
8091 ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
8092 ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
8093 Add or update copyright notices.
8094
8095 Mon Oct 14 23:55:27 1991 Per Bothner (bothner at cygnus.com)
8096
8097 * README: New file.
8098 * Makefile.in: Changed installation directory name scheme
8099 to be consistent with gcc. Also changed 'install'.
8100
8101 Mon Oct 14 17:30:02 1991 Roland H. Pesch (pesch at cygnus.com)
8102
8103 * Makefile.in: new targets ld.mm, ld.me
8104
8105 Mon Oct 14 17:27:24 1991 Per Bothner (bothner at cygnus.com)
8106
8107 * Makefile.in, ldtemplate: Need to use separate scripts
8108 for -n and -N options. Yet more complication.
8109
8110 Fri Oct 11 22:40:46 1991 John Gilmore (gnu at cygnus.com)
8111
8112 * Makefile.in: Avoid using $< in explicit Make rules (it doesn't
8113 work). Add some lines to avoid Sun Make VPATH bugs.
8114
8115 Fri Oct 11 16:42:22 1991 Per Bothner (bothner at cygnus.com)
8116
8117 * news.sc: Add alignment for data segment.
8118 * ldtemplate: Add (yet another) script to get for -n or -N
8119 options. (These need different alignment than ZMAGIC files.)
8120 * Makefile.in: Add stuff for new foo.xn scripts.
8121 These are generated by replacing "ALIGN(0x...00)" by ".".
8122
8123 Fri Oct 11 15:43:04 1991 Roland H. Pesch (pesch at cygnus.com)
8124
8125 * Makefile.in: new targets ld.ms, ld-index.ms
8126 ld.texinfo: remove tabs, other cleanups for texi2roff
8127
8128 Fri Oct 11 13:51:54 1991 Per Bothner (bothner at cygnus.com)
8129
8130 * ldmain.c (main): Make config.magic_demand_paged be true
8131 by default. Don't the WP_TEXT and D_PAGED flags of
8132 output_bfd here; it's too late, so set it when output_bfd
8133 is created (in ldlang.c). Also fix setting of EXEC_P flag
8134 * ldlang.c (ldlang_open_output): Set output_bfd->flags here.
8135 * ldlang.c: Remove some duplicate extern declarations.
8136 * ldgram.y: Fixes to -N and -n options.
8137 * Makefile.in: Recognize upper case letters in sed script
8138 to remove assignments from script files.
8139 * ldtemplate: Don't assukme that -N or -n options
8140 imply use of -r script.
8141 * mkscript.c: Tweaking to correctly handle \n and \\ in input.
8142
8143 Fri Oct 11 10:29:27 1991 Steve Chamberlain (steve at cygnus.com)
8144
8145 * ldtemplate: include bfd.h before sysdep.h.
8146
8147 Fri Oct 11 04:24:45 1991 John Gilmore (gnu at cygnus.com)
8148
8149 Restructure configuration scheme for bfd, binutils, ld.
8150
8151 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
8152 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
8153 Change some config names to match other dirs.
8154 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
8155 get defined first.
8156 * config/: Rename some config files to match up h-*.h names.
8157 Remove all the HOST_SYS definitions from the config files.
8158
8159 Tue Oct 8 16:00:57 1991 Per Bothner (bothner at cygnus.com)
8160
8161 * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
8162 * ldtemplate: Remove ldfile_add_library_path calls;
8163 just use the SEARCH_DIR commands in the script files.
8164 * Makefile.in: Add LIB_PATH macro, which if set is used to replace
8165 the SEARCH_DIR commands in the scripts (using ugly sed magic).
8166 This is primarily intended for cross-linking, where you would
8167 place libaries in a different place than native libraries.
8168 Also, emulations made from ldtemplate now use $(srcdir).
8169 * ldglda29k.sc: Change SEARCH_DIR commands to a conventional
8170 form; people can use the Makefile's LIB_PATH to override.
8171
8172 Tue Oct 8 14:51:21 1991 Roland H. Pesch (pesch at cygnus.com)
8173
8174 * Makefile.in: fix target ld.dvi, add target ld.info
8175 ld.texinfo: make info filename ld.info
8176
8177 Fri Oct 4 21:51:58 1991 John Gilmore (gnu at cygnus.com)
8178
8179 * Makefile.in: Avoid using $< in non-suffix rules (breaks on Sun
8180 Make).
8181 * ldfile.c, ldlang.c, ldmain.c, ldwrite.c: Cope with renames of a
8182 few BFD types & enums.
8183
8184 \f
8185 Local Variables:
8186 mode: change-log
8187 left-margin: 8
8188 fill-column: 74
8189 version-control: never
8190 End:
This page took 0.197053 seconds and 4 git commands to generate.