* scripttempl/elf.sc: Copy several more relocation sections into
[binutils-gdb.git] / ld / ChangeLog
1 Tue Jul 26 11:02:35 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
2
3 * scripttempl/elf.sc: Copy several more relocation sections into
4 the output. Put .got.plt sections into .got.
5
6 Fri Jul 22 12:15:36 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
7
8 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
9
10 Add a new script operator, PROVIDE, to define a symbol only if it
11 is needed.
12 * ldgram.y (PROVIDE): New token.
13 (assignment): Accept PROVIDE.
14 * ldlex.l (PROVIDE): New token.
15 * ldexp.h (node_type): Add etree_provide to node_class enum.
16 (exp_provide): Declare.
17 * ldexp.c (exp_fold_tree): Handle etree_provide.
18 (exp_provide): New function.
19 (exp_print_tree): Handle etree_provide.
20 * ld.texinfo: Document PROVIDE.
21
22 * ldlang.c (lang_common): Pass desired alignment to
23 lang_one_common as power of two.
24 (lang_one_common): Get common symbol alignment from linker hash
25 table entry. Treat desired alignment as a power of two.
26
27 * ldlang.c (wild_section): Attach all section with the given name,
28 not just the first one. If there is no name, attach all sections
29 even if the SEC_IS_COMMON flag is set.
30
31 Wed Jul 20 15:49:27 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
32
33 * ld.h (args_type): Add field rpath.
34 * lexsup.c (S_ISDIR): Define if not already defined.
35 (parse_args): Add support for -rpath. If -R is used to name a
36 directory, treat it as -rpath for Solaris compatibility.
37 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
38 Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
39 * ldmain.c (main): Initialize command_line.rpath to NULL.
40 * ld.texinfo: Document -rpath option.
41
42 Sun Jul 10 00:33:24 1994 Ian Dall (dall@hfrd.dsto.gov.au)
43
44 * emulparams/pc532machaout.sh: New file. Pc532 mach script
45 parameters.
46
47 * emulparams/netbsd532.sh: New file. Netbsd 532 script parameters.
48
49 * config/pc532mach.mt: New file. Pc532 mach target support.
50
51 * config/pc532mach.mh: New file. Pc532 mach host support.
52
53 * config/netbsd532.mt: New file. Netbsd 532 target support.
54
55 * configure.in: Add ns32k-pc532-mach and ns32k-pc532-netbsd support.
56
57 * Makefile.in: Add epcmachaout.c dependency and enetbsd532.c
58 dependency.
59
60 Fri Jul 8 10:57:02 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
61
62 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Use
63 bfd_abs_section_ptr, not &bfd_abs_section.
64
65 * lexsup.c (parse_args): Changed "retain-symbols-file" from
66 no_argument to required_argument. From djm.
67
68 Thu Jul 7 12:29:53 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
69
70 * scripttempl/elf.sc: Explicitly mention .stab and .stabstr
71 sections to force a VMA of 0; needed for ELF backends which have
72 not been converted to the new linker style.
73
74 Mon Jul 4 19:35:45 1994 Jeff Law (law@snake.cs.utah.edu)
75
76 * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
77 it was for the HPUX dynamic loader's use and it creates problems
78 with ELF GDB.
79
80 Fri Jul 1 12:53:47 1994 Jeff Law (law@snake.cs.utah.edu)
81
82 * ldlang.c (lang_do_assignments): No longer static. Delete decl.
83 * ldlang.h (lang_do_assignments): Put external decl here.
84 * emultempl/hppaelf.em: Minor cleanups throughout file.
85 (hppa_elf_create_output_section_statements): Rewrite.
86 (hppaelf_finish): Rewrite.
87
88 Wed Jun 29 16:50:00 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
89
90 * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib.
91
92 * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not
93 accept plain -B.
94 * ld.texinfo: -Bstatic is not ignored.
95
96 Tue Jun 28 12:13:34 1994 Stan Shebs (shebs@andros.cygnus.com)
97
98 * ldlex.l: Recognize \r the same as \n.
99
100 Thu Jun 23 17:53:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
101
102 Preliminary support for generating shared libraries, from Eric
103 Youngdale <ericy@cais.cais.com>.
104 * genscripts.sh: If the emulation parameter file sets
105 GENERATE_SHLIB_SCRIPT, generate a .xs script file with
106 CREATE_SHLIB defined.
107 * emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
108 link_info.shared is set, use the .xs script file.
109 * scripttempl/elf.sc: If CREATE_SHLIB is set, don't create a
110 .interp section, and don't include TEXT_START_ADDR in the starting
111 address of the first section.
112 * emulparams/elf_i386.sh (GENERATE_SHLIB_SCRIPT): Likewise.
113 * emulparams/elf32_sparc.sh (GENERATE_SHLIB_SCRIPT): Define.
114
115 Thu Jun 23 12:52:22 1994 David J. Mackenzie (djm@rtl.cygnus.com)
116
117 * configure.in: Change --with-targets to --enable-targets.
118
119 Wed Jun 22 13:42:14 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
120
121 * lexsup.c (parse_args): Add support for new options -( -) with
122 synonyms --start-group --end-group.
123 * ldlang.h (enum statement_enum): Add lang_group_statement_enum.
124 (lang_group_statement_type): Define new struct.
125 (lang_statement_union_type): Add group_statement field.
126 (lang_enter_group, lang_leave_group): Declare.
127 * ldlang.c (lang_for_each_statement_worker): Handle
128 lang_group_statement_enum.
129 (map_input_to_output_sections, print_statement): Likewise.
130 (lang_size_sections, lang_do_assignments): Likewise.
131 (open_input_bfds): Completely rewrite. Now does its own looping,
132 rather than using lang_for_each_statement. Handle groups.
133 (lang_process): Update call to open_input_bfds.
134 (print_group): New static function.
135 (lang_enter_group, lang_leave_group): New static functions.
136 * ldfile.c (ldfile_open_file): If the file has already been
137 opened, just return rather than taking an assertion failure.
138 * ldver.c (help): Mention new options.
139 * ld.texinfo: Document new options.
140
141 * ldlang.c (end_of_data_section_statement_list): Don't define.
142 (lang_leave_output_section_statement): Don't set obsolete variable
143 end_of_data_section_statement_list.
144
145 * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
146 ALIGN.
147
148 * ldlang.c (lang_size_sections): Adjust current region address
149 even for sections with an explicit address. From
150 ralphc@pyramid.com (Ralph Campbell).
151
152 * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
153 From jrs@world.std.com (Rick Sladkey).
154
155 * scripttempl/mipsbsd.sc: Let sections align to their natural
156 boundaries.
157
158 Tue Jun 21 11:27:04 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
159
160 * ldlang.c (lang_init): Use new bfd_abs_section_ptr, not
161 &bfd_abs_section.
162 (lang_abs_symbol_at_beginning_of): Likewise.
163 (lang_abs_symbol_at_end_of): Likewise.
164 (lang_size_sections): Use bfd_is_abs_section to check for the
165 absolute section. Don't try to set the VMA or output_offset or
166 size of the absolute section.
167 * ldmain.c (notice_ysym): Use bfd_is_und_section to check for the
168 undefined section.
169
170 Thu Jun 16 22:48:41 1994 Jeff Law (law@snake.cs.utah.edu)
171
172 * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
173 when generating relocatable objects.
174
175 Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
176
177 * emultempl/linux.em: New file providing support for linking
178 against Linux shared libraries.
179 * config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
180 * emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
181
182 Thu Jun 16 12:22:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
183
184 * lexsup.c (parse_args): Add -shared to longopts, and handle it.
185 * ldmain.c (main): Initialize link_info.shared to false. Give
186 error if link_info.relocateable and link_info.shared are both set.
187
188 * configure.in: If EMUL_EXTRA* is defined in a config file, treat
189 it as naming an emulation to be added to EMULATION_OFILES.
190 * config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
191
192 * Makefile.in: Rebuilt dependencies.
193 (ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
194 eelf64_sparc.o. Remove $(OTHER_EMULATIONS).
195 (ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
196 * config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
197 (ei386linux.c): Remove; now in Makefile.in.
198 * config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
199 * config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
200 * config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
201 * config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
202 (eelf64_sparc.c): Remove; now in Makefile.in.
203 * config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
204 (eelf32_sparc.c): Remove; now in Makefile.in.
205
206 * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
207 no owner--it might be bfd_abs_section. From Eric Youngdale
208 <ericy@cais.cais.com>.
209
210 * scripttempl/aout.sc: Let sections align to their natural
211 boundaries.
212
213 Wed Jun 15 01:54:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
214
215 * ldemul.h (ldemul_open_dynamic_archive): Declare.
216 (ld_emulation_xfer_type): Add new field open_dynamic_archive.
217 * ldemul.c: Include ldexp.h and ldlang.h.
218 (ldemul_open_dynamic_archive): New function.
219 * ldfile.h (ldfile_open_file_search): Declare.
220 * ldfile.c: Include ldemul.h.
221 (try_open_bfd): Rename from cache_bfd_openr. Return boolean
222 argument, not bfd *. Change all callers.
223 (ldfile_open_file_search): Rename from open_a. Return boolean
224 argument, not bfd *. Clean up. Change all callers.
225 (ldfile_open_file): If doing a dynamic link, call
226 ldemul_open_dynamic_archive rather than assuming the extension of
227 a dynamic object is ".so".
228 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
229 New function.
230 (ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
231 field.
232 * emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
233
234 * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
235 * lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
236 Accept -static as a synonym for -non_shared.
237
238 Let the user change the dynamic linker used by ELF code.
239 * ld.h (args_type): Add new field interpreter.
240 * lexsup.c (parse_args): Add dynamic-linker to longopts, and
241 handle it.
242 * ldmain.c (main): Initialize command_line.interpreter to NULL.
243 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
244 the ELF backend to return the .interp section. If
245 command_line.interpreter is not NULL, set the contents of .interp
246 to it.
247 * ld.texinfo: Mention -dynamic-linker.
248
249 * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
250 generic.em.
251
252 * lexsup.c (parse_args): Sort out the option macros and change the
253 definitions to make it easier to add a new option.
254
255 * scripttempl/aout.sc: Define __etext and __edata to go along with
256 _etext and _edata.
257
258 * ld.h (ld_config_type): Add new field traditional_format.
259 * lexsup.c (parse_args): Add traditional-format to longopts, and
260 handle it.
261 * ldmain.c (main): Initialize config.traditional_format to false.
262 * ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
263 flags of output_bfd according to config.traditional_format.
264 * ldver.c (help): Mention -traditional-format.
265 * ld.texinfo: Document -traditional-format.
266
267 Tue Jun 14 23:10:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
268
269 * ldctor.c (ldctor_add_entry): Add entries to a set in the order
270 they are encountered.
271
272 Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com)
273
274 * emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
275 (NONPAGED_TEXT_START_ADDR): Define as 0x20.
276
277 Mon Jun 13 15:46:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
278
279 * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
280 _FTEXT, _ETEXT and _FDATA. Dont define _END.
281
282 * ldfile.c (open_a): If this is not an archive, try to open it in
283 the current directory before searching for it.
284
285 * lexsup.c (parse_args): Treat -i as a synonym for -r.
286
287 * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
288 BLOCK works in a section address as documented.
289
290 * ldgram.y (YYDEBUG): Don't define.
291
292 Fri Jun 10 16:45:39 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
293
294 * emultempl/gld960.em: Pass false for new argument to
295 ldfile_add_library_path.
296 * emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
297
298 * emultempl/sunos.em: Only look for .so files if doing a dynamic
299 link.
300
301 Thu Jun 9 08:35:17 1994 Ian Lance Taylor (ian@cygnus.com)
302
303 * scripttempl/i960.sc: Add CONSTRUCTORS to .data.
304
305 Thu Jun 9 06:52:29 1994 Bill Cox (bill@rtl.cygnus.com)
306
307 * Makefile.in (check): Delete ld.new dependency so that a regression
308 test doesn't trigger a rebuild of the linker.
309
310 Thu Jun 9 00:17:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
311
312 * ldlang.c (map_input_to_output_sections): For lang_address, call
313 init_os if it hasn't already been called.
314
315 Thu Jun 2 17:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
316
317 Add support for SunOS shared libraries.
318 * aout.sc: Don't define __DYNAMIC here. Add new sections used by
319 shared library support code.
320 * emultempl/sunos.em: New file.
321 * emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
322 * emulparams/sun3.sh (TEMPLATE_NAME): Likewise.
323 * Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
324 (esun3.c): Likewise.
325
326 * ldlang.c: Minor formatting cleanups.
327 (lang_for_each_input_file): New function.
328 * ldlang.h (lang_for_each_input_file): Declare.
329
330 * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
331 field.
332 (search_head): Declare.
333 (ldfile_add_library_path): Add new cmdline argument in prototype.
334 * ldfile.c (search_head): Make non-static.
335 (search_dirs_type): Move to ldfile.h.
336 (ldfile_add_library_path): Accept cmdline argument, and save it.
337 * lexsup.c (parse_args): Pass true for new cmdline argument of
338 ldfile_add_library_path.
339 (set_default_dirlist): Likewise.
340 * ldmain.c (check_for_scripts_dir): Pass false for new cmdline
341 argument of ldfile_add_library_path.
342 * ldgram.y (ifile_p1): Likewise.
343
344 Wed Jun 1 14:24:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
345
346 * ldlang.h (lang_input_statement_type): Remove fields subfiles,
347 total_size, superfile and chain.
348 * ldfile.c (open_a): Don't clear search_dirs_flag.
349 (ldfile_open_file): Don't try to open superfile. Assert that file
350 has not already been opened.
351 * ldlang.c (new_afile): Don't initialize superfile.
352 * ldmain.c (add_archive_element): Don't initialize subfiles or
353 chain or superfile. Initialize search_dirs_flag to false.
354
355 Fri May 27 12:25:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
356
357 * ldver.c (ldversion): Changed version to "cygnus-2.4.1".
358
359 Changes from binutils-2.4 release:
360
361 * genscripts.sh (RELOCATING, CONSTRUCTING): When setting
362 variables, use whitespace, so scripts don't break.
363
364 * config/alphaosf.mh (HDEFINES, CFLAGS): Deleted.
365
366 * emultempl/generic.em: Find emultempl/stringify.sed in ${srcdir}.
367
368 * cdtest-bar.cc: Renamed from cdtest-func.cc.
369 * Makefile.in: Noted change.
370
371 * scripttempl/a29k.sc: Don't include /lab3/u3/..../segments.o; I
372 don't know where that's supposed to come from, or why it's
373 necessary.
374
375 Wed May 11 22:32:00 1994 DJ Delorie (dj@ctron.com)
376
377 * configure.bat: update to latest makefile.in
378 * emulpara/go32.sh: set to coff-go32 not aout
379 * emultemp/generic.em: strength-reduce the structure of
380 this shell script, since the only available shell for
381 DOS can't handle complex syntax.
382 * emultemp/stringify.sed: for "sed -f" instead of inline.
383 * makefile.in: depend on stringify.sed as well as genscripts.sh
384 * scripttemp/go32coff.sc: correct for djgpp 1.11's COFF format
385 * genscripts.sh: empty variables aren't always considered "set",
386 so set them to "y" instead.
387
388 Fri May 27 01:08:14 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
389
390 * ldlang.c (entry_symbol): Make static.
391 (lang_add_entry): Add cmdline argument.
392 * ldlang.h (lang_add_entry): Change prototype.
393 * ldgram.y (statement_anywhere): Change lang_add_entry call.
394 * lexsup.c (parse_args): Likewise.
395
396 Tue May 24 16:13:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
397
398 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
399 .reginfo an address.
400 (OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
401 (OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
402 * scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
403
404 Thu May 19 13:31:33 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
405
406 Add support for ELF shared libraries.
407 * ld.h (ld_config_type): Add field dynamic_link.
408 * ldmain.c (main): Initialize config.dynamic_link to false. Warn
409 on attempts to use -r with -relax, -call_shared or -s.
410 * lexsup.c (longopts): Separate OPTION_CALL_SHARED from
411 OPTION_NON_SHARED. Add OPTION_IGNORE. Adjust macro values
412 accordingly. Add "dy" and "non_shared" options. Change "Qy" to
413 OPTION_IGNORE for now. Handle OPTION_CALL_SHARED and
414 OPTION_NON_SHARED by setting dynamic_link field accordingly.
415 Handle OPTION_IGNORE by ignoring it. Clear dynamic_link field for
416 -r and -Ur.
417 * ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
418 opening a file with a .so extension first.
419 * emultempl/elf32.em: New file.
420 * emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
421 (NONPAGED_TEXT_START_ADDR): Likewise.
422 (TEMPLATE_NAME): Define as elf32.
423 (DATA_PLT): Define.
424 * emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
425 * scripttempl/elf.sc: Add placement for new dynamic sections.
426 Don't use CREATE_OBJECT_SYMBOLS. Define _etext, _edata and _end
427 outside of any section. Don't use ALIGN(8); just let one section
428 VMA follow another. Put .dynbss in .bss. Don't mention debugging
429 sections; they'll be handled correctly anyhow.
430 * Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
431
432 Wed May 18 10:15:39 1994 Ian Lance Taylor (ian@cygnus.com)
433
434 * Makefile.in (install): Redirect output of ln to /dev/null.
435
436 Mon May 16 13:35:08 1994 Jeff Law (law@snake.cs.utah.edu)
437
438 * emultempl/hppaelf.em: Change all references of
439 .hppa_linker_stubs to .PARISC.stubs.
440 * scripttempl/hppaelf.sc: Likewise.
441
442 Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
443
444 * ldlang.c (print_output_section_statement): Change ``no attached
445 output section'' message slightly.
446 (lang_do_assignments): Don't recurse down if there is no real
447 section.
448
449 * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
450 match corresponding change in emulation templates.
451 * config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
452 * config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
453
454 Wed May 11 18:16:46 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
455
456 * ldver.c (ldversion): Updated version number.
457
458 * cdtest-foo.cc: Use explicit "#pragma implementation".
459 * cdtest-bar.cc: Renamed from cdtest-func.cc.
460 * Makefile.in: References to cdtest-func.o changed to
461 cdtest-bar.o.
462
463 Wed May 11 16:24:19 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
464
465 Don't create unnecessary output sections.
466 * ldlang.c (out_bfd_get_section_by_name): Remove.
467 (wild_section): Call bfd_get_section_by_name rather than
468 our_bfd_get_section_by_name. Don't call wild_doit if there is no
469 section.
470 (lang_create_output_section_statements): Remove.
471 (map_input_to_output_sections): For several cases, call init_os if
472 it has not already been called.
473 (lang_size_sections): If output section was not created, skip it.
474 (lang_process): Don't call lan_create_output_section_statements.
475 (lang_place_orphans): Skip files with just_syms_flags set to true.
476 * ld.texinfo: Document change.
477
478 Tue May 10 14:31:16 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
479
480 * ldlang.c (wild_doit): Don't bother initializing the vma and
481 section size. Don't special case SEC_SHARED_LIBRARY.
482 (lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
483 specially.
484
485 Fri May 6 12:24:27 1994 Steve Chamberlain (sac@cygnus.com)
486
487 * config/go32.mh : New file for Xgo32X.
488
489 Fri May 6 15:15:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
490
491 * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
492 before calling einfo, since we are reporting an fopen failure.
493 From jrs@world.std.com (Rick Sladkey).
494
495 * configure.in: Use "e" rather than "em_" as prefix for
496 emulations.
497
498 Fri May 6 01:08:14 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com)
499
500 * emultempl/generic.em: Use "e" rather than "em_" as prefix for
501 filename.
502 * emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
503 emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em:
504 Ditto.
505 * Makefile.in: Changed all generated file names.
506 (ldemul-list.h): Depend on Makefile, not config.status. Changed
507 sed patterns to handle new filenames.
508
509 * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
510 * configure.in: Adjusted.
511
512 Thu May 5 15:07:32 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
513
514 * Makefile.in (install-info): Don't use "$<*", it doesn't always
515 work. Instead, check build dir and $srcdir explicitly, and use
516 `echo' to get all the filenames.
517
518 * configure.in (h8300h-*-hms): Changed ld_target name to
519 cf-h8300h.
520 * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it
521 unique in 8.3.
522
523 * config/i960coff.mt: New file.
524 * emulparams/gld960coff.sh: New file.
525 * emultempl/gld960c.em: New file.
526 * configure.in (i960-*-vxworks5* except -vxworks5.0*): Use
527 i960coff configuration.
528 * Makefile.in (em_gld960coff.c): Added dependencies, build rule.
529
530 * Makefile.in (ALL_EMULATIONS): Remove em_delta68.o, since the
531 code isn't included in FSF releases, and it can still be
532 explicitly selected.
533 (distclean): Remove site.bak and tmpdir.
534 (STAGESTUFF): Removed $(GENERATED_CFILES) $(GENERATED_HFILES).
535 (mostlyclean): Delete them explicitly here. Also remove tmpdir.
536
537 Patches from Ralph Campbell:
538 * config/mipsbsd.mh: New file.
539 * Makefile.in (em_mipsbsd.c): Use mipsbsd.sc, not aout.sc.
540 * scripttempl/mipsbsd.sc: Don't define __DYNAMIC.
541 * emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
542 instead of `aout'.
543
544 * configure.in (i386-*-gnu*): Treat like i386-*-mach*.
545
546 Wed May 4 11:59:40 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
547
548 * config/m68k.mt (EMUL): Set to m68kaout.
549 * emulparams/m68kaout.sh: New file.
550 * Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
551 (em_m68kaout.c): New target.
552
553 * ldlang.c (lang_size_sections): If dot moves because of an
554 assignment, don't try to insert a pad into the absolute output
555 section, just change the address of the default memory region
556 instead.
557
558 * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
559 cdtest-ur.out, and cdtest-ur.tmp.
560
561 Wed Apr 27 16:03:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
562
563 * scripttempl/sa29200.sc: Align all sections to four byte
564 boundaries.
565
566 Wed Apr 27 10:48:03 1994 Steve Chamberlain (sac@cygnus.com)
567
568 * Makefile.in, configure.in: Support for go32 coff.
569 * config/i386-go32.mt: New file
570 * emulparams/i386go32.sh: New file
571 * scripttempl/i386go32.sc: New file
572
573 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
574
575 * Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
576 Lynx-specific script templates.
577 * configure.in (sparclite*-*-coff): Use coff-sparc.
578 * emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
579 * emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
580 (ENTRY): Set to __main.
581 * scripttempl/i386lynx.sc: New file, script for I386 Lynx.
582 * scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
583 * scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
584
585 Tue Apr 26 12:41:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
586
587 * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
588 byte boundary, in case the global constructors do not take up an
589 even 16 bytes.
590
591 * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
592 exist, get crtbegin based on gcc -print-libgcc-file-name.
593 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
594
595 Mon Apr 25 15:27:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
596
597 * ldlang.c (lang_size_sections): When no address is given for a
598 section, align it according to its requirements.
599
600 Thu Apr 21 17:24:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
601
602 * Makefile.in (clean, distclean): Remove configdoc.texi.
603
604 Tue Apr 19 12:12:15 1994 Bill Cox (bill@rtl.cygnus.com)
605
606 * configure.in: Add i[34]86-*-bsd386 to the patterns recognized.
607
608 Fri Apr 15 14:35:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
609
610 * ldlang.c (lang_size_sections): When relaxing, adjust the
611 position of a padding statement, and adjust dot accordingly.
612
613 Mon Apr 11 17:37:09 1994 Bill Cox (bill@rtl.cygnus.com)
614
615 * Makefile.in (EXPECT, RUNTEST): Set these for the check goal.
616
617 Mon Apr 11 12:32:57 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
618
619 * scripttempl/i386coff.sc: If relocating, don't put .init and
620 .fini sections into .text; keep them separate.
621 * config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
622 exist, get crtbegin based on gcc -print-libgcc-file-name.
623 (HOSTING_LIBS): Similar change for ../gcc/crtend.o.
624
625 Mon Apr 11 10:31:00 1994 Bill Cox (bill@rtl.cygnus.com)
626
627 * Makefile.in (check): Set TCL_LIBRARY for runtest.
628
629 Wed Apr 6 00:09:37 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
630
631 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
632 manufacturer.
633
634 * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
635 if building a final executable.
636
637 Tue Apr 5 12:17:30 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
638
639 * ldmain.c (main): Check the return value of bfd_close.
640
641 Thu Mar 31 18:07:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
642
643 * scripttempl/alpha.sc: Clean up section alignment to ensure that
644 sections never overlap when using -r.
645
646 Wed Mar 30 15:51:15 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
647
648 * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
649 changes: get_symtab_upper_bound renamed and returns long,
650 bfd_canonicalize_symtab returns long, check for error indications.
651
652 Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
653
654 * ldlang.c (print_input_section): For section size, use
655 _cooked_size if it is non-zero, size otherwise.
656 (size_input_section): Likewise.
657 (lang_do_assignments): Likewise (case lang_input_section_enum).
658
659 Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
660
661 * ldlang.c (new_afile): Add new argument add_to_list. Don't set
662 real to true for lang_input_file_is_marker_enum. Clear the_bfd.
663 (lang_add_input_file): Pass true to new_afile for add_to_list.
664 (lookup_name): Remove force_load argument. Changed all callers.
665 Pass false to new_afile for add_to_list. Split loading of symbols
666 out into separate function.
667 (load_symbols): New function split out of lookup_name. Don't load
668 the symbols if they are already loaded.
669 (open_input_bfds): For lang_input_statement_enum call load_symbols
670 rather than lookup_name.
671 (lang_process): Pass abs_output_section rather than NULL to
672 lang_size_sections.
673 (lang_startup): Set real field of first_file to true.
674
675 Wed Mar 23 14:15:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
676
677 * ldlang.c (had_relax): Removed.
678 (relax_again): New static variable.
679 (lang_size_sections): Change call to bfd_relax_section to
680 correspond to BFD changes. Set relax_again appropriately.
681 (lang_process): Remove #if 0 code. When relaxing, keep calling
682 lang_do_assignments and lang_size_sections until relax_again
683 becomes false.
684
685 * emultemp/gld960.em: Include libiberty.h
686 (gld960_before_parse): Pass NULL as final argument to concat.
687
688 Tue Mar 22 13:08:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
689
690 * scripttempl/aout.sc: Force _end and __end to be aligned to a
691 four byte boundary.
692
693 * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
694 building a bfd_data_link_order, rather than by setting the section
695 contents immediately.
696
697 Mon Mar 21 18:28:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
698
699 Changes to make -Ur work again.
700 * ldmain.c (add_to_set): Now takes reloc argument rather than
701 bitsize. Check config.build_constructors here. If an new hash
702 table entry is created, mark it as undefined.
703 (constructor_callback): No longer takes bitsize argument. Pass
704 BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
705 BFD backend supports it.
706 (reloc_overflow): Handle a NULL abfd argument.
707 (reloc_dangerous, unattached_reloc): Likewise.
708 * ldctor.c: Include ldmain.h.
709 (struct set_info): Change bitsize field to reloc.
710 (ldctor_add_set_entry): Now takes reloc argument rather than
711 bitsize. Don't bother to check config.build_constructors here.
712 (ldctor_build_sets): Get the size from the reloc howto. If
713 generating relocateable output, call lang_add_reloc rather than
714 lang_add_data.
715 * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
716 instead of bitsize.
717 * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
718 (lang_reloc_statement_type): New structure.
719 (lang_statement_union_type): Add reloc_statement field.
720 (lang_add_reloc): Declare new function.
721 * ldlang.c (lang_for_each_statement_worker): Handle
722 lang_reloc_statement_enum.
723 (map_input_to_output_sections, print_statement): Likewise.
724 (lang_size_sections, lang_do_assignments): Likewise.
725 (print_reloc_statement): New function.
726 (lang_add_reloc): New function.
727 * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
728
729 * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
730 (cdtest-ur, cdtest-ur.out): New targets.
731 (check-cdtest): Now also check that -Ur works correctly.
732
733 * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
734
735 Thu Mar 17 12:45:41 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
736
737 * ldlang.c (lang_process): Move lang_common call before
738 map_input_to_output_sections, to ensure that any alignment
739 constraints set by common symbols are copied over to the output
740 sections.
741
742 Fri Mar 11 22:17:34 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
743
744 * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
745 (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
746 * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
747 * emultempl/ppc.em: Remove ugly stub code; turns out not to be
748 needed for ELF.
749
750 Tue Mar 8 04:22:27 1994 David J. Mackenzie (djm@rtl.cygnus.com)
751
752 * config/i386bsd.mh: New file.
753
754 Mon Mar 7 15:23:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
755
756 * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
757 defined.
758 * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
759 (DATA_START_SYMBOLS): Define _fdata.
760
761 Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com)
762
763 * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
764
765 Sun Feb 27 16:29:38 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
766
767 * emultempl/hppaelf.em (hppaelf_finish): Update comments. This
768 works again. Attach some output symbols to the stub file bfd.
769
770 * emultempl/hppaelf.em: Include elf32-hppa.h.
771 (file_chain): Add decl.
772 (hppa_look_for_stubs_in_section): Delete decl.
773 (hppaelf_finish): Reenable code. Do not pass symbols
774 down to hppa_look_for_stubs_in_section.
775
776 Sat Feb 26 10:58:25 1994 Ian Lance Taylor (ian@cygnus.com)
777
778 * ldmain.c (write_map): Don't define. Removed all references.
779 Just use map_file or map_filename instead.
780 (add_archive_element): Use minfo to write map information, not
781 info_msg.
782 (constructor_callback): Use fprintf to write map information, not
783 info_msg.
784 * ldmain.h (write_map): Don't declare.
785 * ldgram.y (mri_script_command): Removed reference to write_map.
786 * ldlang.c (lang_one_common): Likewise.
787 * lexsup.c (parse_args): Likewise.
788
789 Fri Feb 25 19:12:03 1994 Ian Lance Taylor (ian@cygnus.com)
790
791 * scripttempl/elf.sc: Force all sections to be aligned.
792
793 * ldgram.y (section): Reverse the order of memspec_opt and
794 fill_opt to avoid an ambiguity when both are used.
795 * ld.texinfo: Changed accordingly.
796
797 * ldgram.y: Move include of ldlex.h back with other includes.
798 * ldlex.h (input_type): Don't initialize enum constants to
799 particular values.
800 * ldlex.l: Use a switch to return the right token based on
801 input_type, rather than knowing that input_type has a value based
802 on a token type.
803
804 * ldgram.y (dirlist_ptr): Removed; not used.
805 * lexsup.c: Include ldver.h.
806 * Makefile.in: Rebuilt dependencies.
807
808 Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com)
809
810 * ldlang.c (lookup_name): don't call bfd_set_gp_size.
811 (ldlang_add_file): call it here instead.
812
813 Fri Feb 25 18:13:46 1994 David J. Mackenzie (djm@rtl.cygnus.com)
814
815 * ldgram.y: Include ldlex.h after %token decls, for byacc.
816
817 Fri Feb 25 10:47:25 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
818
819 * emultempl/hppaelf.em: First attempt to clean this file up.
820 Add comments in several functions as to their purpose and
821 how they function (or my current best guess). Clean up horrible
822 spacing and indention that never should have been accepted in the
823 first place. Add FIXMEs for issues which need to be resolved.
824 Disable linker-stub generation until it gets fixed. This allows
825 the linker to at least work on simple code for testing purposes.
826
827 * ldlang.c (lang_size_sections): No longer static (PA ELF calls
828 it via hppaelf_finish). Prototype moved into ldlang.h.
829 (lang_process): Move problematic extra call to lang_size_sections
830 into the PA ELF specific code.
831 * emultempl/hppaelf.em (hppaelf_finish): Extra call to
832 lang_size_sections moved here.
833
834 Thu Feb 24 16:47:33 1994 Ian Lance Taylor (ian@cygnus.com)
835
836 * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
837 * config/ppc-elf32.mt: New file.
838 * emulparams/elf32ppc.sh: New file.
839 * emultempl/ppc.em: New file.
840 * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
841 (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
842 (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
843
844 Thu Feb 24 12:27:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
845
846 * lexsup.c (parse_args): Use symbolic numbers for long options.
847 Fix misunderstanding in -Y and -call_shared et al.
848
849 Use getopt instead of lex and yacc to parse the command line.
850
851 * ld.texinfo (Options): Document changes to option syntax.
852 * Makefile.in: Update dependencies.
853 * ldver.c (help): Tweak dashes in usage message.
854 * ldgram.y (%union): Remove unused members.
855 Remove %tokens for command line options; add ones for input types.
856 (command_line): Rules removed.
857 (file): Instead of command line, recognize an
858 input type indicator, then use the nonterminal for that type.
859 (defsym_expr): New nonterminal from code formerly in command_line.
860 * ldlex.h: Declare parser input type enum and variable.
861 Don't declare parse_line.
862 * ldlex.l: Remove unused variables. Make some used ones static
863 and comment them.
864 (COMMAND): Start state and its rules removed.
865 At start of yylex, return input state token if at start of input.
866 (lex_redirect): Don't need to set yyout.
867 (ldlex_command): Function removed.
868 * ldmain.c (main): Instead of calling parse_line, set up the
869 redirections and call yyparse directly.
870 * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
871 "command line".
872 * lexsup.c: Remove #if 0'd code.
873 (parse_line): Function removed.
874 (parse_args): Rewrite to use getopt_long_only.
875 (set_default_dirlist): New function from code formerly in
876 ldgram.y:command_line.
877 (set_section_start): New function.
878 * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
879 emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
880 compiled-in link scripts in "{" and "}", as the grammar no longer
881 wants them to be.
882
883 Thu Feb 24 08:43:26 1994 Ken Raeburn (raeburn@rtl.cygnus.com)
884
885 * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
886 require that it be in $(srcdir).
887
888 Tue Feb 22 09:21:18 1994 Ian Lance Taylor (ian@cygnus.com)
889
890 * ldlang.c (lang_size_sections): Only align section to alignment
891 required by linker script, not to maximum alignment of input
892 sections.
893
894 * ldlang.h (largest_section): Don't declare.
895 * ldlang.c (largest_section): Don't define.
896 (size_input_section): Don't set largest_section; not used.
897
898 Mon Feb 21 15:15:29 1994 Ian Lance Taylor (ian@cygnus.com)
899
900 * ldlang.c (new_afile): Pass NULL as last argument to concat.
901
902 Thu Feb 17 15:51:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
903
904 * ldlang.c, ldmain.c: Include libiberty.h.
905
906 * ldmisc.h (concat): Don't declare.
907 * ldmisc.c (concat): Don't define; just use the one in libiberty.
908
909 * ld.h (as_output_section_statement): Removed; not used.
910
911 Thu Feb 17 09:32:14 1994 David J. Mackenzie (djm@thepub.cygnus.com)
912
913 * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
914 bfd_set_error and new error names.
915
916 Tue Feb 15 20:14:53 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
917
918 * ldwrite.c (build_link_order): If the cooked size of the section
919 has been set, use it, for determining link_order size.
920 (ldwrite): In the error message displayed if bfd_final_link fails,
921 indicate that it was in fact the final link step that failed.
922
923 * ldlang.c (lang_size_sections): Clear bfd_error before calling
924 bfd_relax_section, in case it returns false but doesn't flag an
925 error. If an error is returned, indicate which one it is in the
926 error message.
927
928 * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
929 it'll get picked up from $(srcdir) if appropriate.
930
931 Tue Feb 15 16:32:04 1994 David J. Mackenzie (djm@rtl.cygnus.com)
932
933 * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
934 * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
935
936 Fri Feb 11 17:02:49 1994 David J. Mackenzie (djm@thepub.cygnus.com)
937
938 * ldlex.l (comment): Increment line number when newline is read.
939
940 Fri Feb 11 17:36:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
941
942 * ldlang.c (lookup_name): Take new argument, force_load. If true,
943 reload the file even if it is already loaded.
944 (wild): Call lookup_name with force_load argument of 0.
945 (open_input_bfds): Call lookup_name with force_load argument of 1.
946 (print_symbol): Remove declaration of non-existent function.
947 (print_one_symbol): Return true rather than falling off end.
948
949 Thu Feb 10 11:52:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
950
951 * ldmain.c (main): Use %ld when printing long values.
952
953 * scripttempl/elf.sc: Move _edata after the .sdata section.
954 Permit OTHER_BSS_SYMBOLS to be defined.
955 * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
956
957 Mon Feb 7 16:31:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
958
959 * Rename all "hppaosf" files to "hppaelf".
960 * Change all "osf" references to "elf" in hppaelf files.
961 * Makefile.in: Likewise.
962 * configure.in: Likewise.
963
964 Sun Feb 6 20:31:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
965
966 * ldmain.c (main): Call xatexit, not atexit.
967 Call xmalloc_set_program_name.
968
969 * ldlang.c (lang_size_sections): Check if bfd_relax_section set
970 bfd_errno.
971
972 Sat Feb 5 03:54:34 1994 David J. Mackenzie (djm@thepub.cygnus.com)
973
974 * emultempl/lnk960.em (append), emultempl/hppaosf.em
975 (hppaosf_finish): Call xmalloc, not ldmalloc.
976 * ldmain.c (preserve_output): Function removed.
977 (main): Do it here instead.
978
979 Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
980
981 * ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
982 GNU C specific macros.
983
984 * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
985 call to LANG_FOR_EACH_INPUT_SECTION.
986
987 Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com)
988
989 * ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions
990 deleted; will use libiberty versions instead.
991 * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
992 mri.c Makefile.in: Change callers.
993
994 * ldmisc.c (vfinfo): Remove cleanup code.
995 * ldmain.c (remove_output): Put it here (new function).
996 (preserve_output): New function.
997 (main): Register remove_output and preserve_output with atexit.
998 * ldmain.c ldgram.y: Call xexit instead of exit.
999 * ldmisc.h: Declare xexit.
1000
1001 Fri Feb 4 15:19:01 1994 Steve Chamberlain (sac@cygnus.com)
1002
1003 * Makefile.in: Lots of new H8/500 memory models.
1004
1005 Sun Jan 30 14:33:40 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1006
1007 * ldlex.l: Removed duplicate rules.
1008 (yywrap): Provide default definition, needed with some versions of
1009 flex.
1010
1011 Fri Jan 28 09:12:56 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1012
1013 * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
1014 the archive filename too.
1015
1016 * ldlex.l: Add rule to catch invalid input characters instead of
1017 printing them. Include "ldmain.h" for program_name decl.
1018 (lex_warn_invalid): New function.
1019 * Makefile.in: Add dependency.
1020
1021 Fri Jan 28 12:58:45 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
1022
1023 * Makefile.in (check): Don't bother running any tests of
1024 cross-linker until the test suite no longer assumes native mode.
1025
1026 Thu Jan 27 17:19:54 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1027
1028 * ldlang.c (print_one_symbol, print_input_section): Print
1029 global symbols in symbol table again.
1030
1031 Thu Jan 27 12:35:01 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1032
1033 * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
1034 exit successfully instead of complaining if no input files are
1035 given.
1036
1037 Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
1038
1039 * Makefile.in: Format variable definitions consistently.
1040 (LD_PROG): Remove unnecessary variables from link command,
1041 change variable LOADLIBES to EXTRALIBS.
1042
1043 * ldmain.c (main): Compute and display total execution time.
1044 * ld.texinfo (-stats): Document the option.
1045
1046 Mon Jan 24 12:56:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1047
1048 * ldmain.c (reloc_overflow): Added name, reloc_name and addend
1049 arguments.
1050
1051 * ldlang.c (lookup_name): Set BFD GP size to -G argument value
1052 after opening BFD.
1053
1054 * ldlang.c (relaxing): Removed global variable.
1055 (lang_size_sections): If the canonical symbols have not already
1056 been read in, read them in before relaxing.
1057 * ldlang.h (relaxing): Removed declaration.
1058
1059 Fri Jan 21 00:44:44 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1060
1061 * ldlang.c (new_afile): Initialize loaded field to false.
1062 (lookup_name): If file was already loaded, don't call the
1063 add_symbols entry point again.
1064
1065 Wed Jan 19 13:57:00 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1066
1067 * ld.texinfo: Clarify what -T option does.
1068
1069 Tue Jan 18 16:18:15 1994 Steve Chamberlain (sac@jonny.cygnus.com)
1070
1071 * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
1072 for a.out.
1073
1074 Tue Jan 11 13:22:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1075
1076 * ldmain.c (add_archive_element): If trace_files or
1077 trace_file_tries, print file name.
1078 * ldlang.c (lookup_name): Likewise.
1079 (ldlang_add_file): Don't put files on input_bfds list in reverse
1080 order.
1081
1082 * scripttempl/elf.sc: Correct typo.
1083
1084 Mon Jan 10 19:49:05 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1085
1086 * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
1087 their arguments optional, for compatibility with the old GNU ld.
1088
1089 Fri Jan 7 20:00:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1090
1091 * scripttempl/elf.c: Define __bss_start before the .sbss section.
1092
1093 Thu Jan 6 00:13:10 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1094
1095 * ldmain.c (add_to_set): Add bitsize argument.
1096 (constructor_callback): New function.
1097 (link_callbacks): Add constructor_callback.
1098 * ldctor.c (struct set_info): Add bitsize field.
1099 (ldctor_add_set_entry): Add bitsize argument.
1100 (ldctor_build_sets): Base the size of the elements of the set on
1101 the bitsize, rather than always using LONG.
1102 * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
1103
1104 * ld.h (QUAD_SIZE): Define.
1105 * ldgram.y (QUAD): New token.
1106 (length): Handle it.
1107 * ldlex.l: Return QUAD.
1108 * lexsup.c (keywords): Add QUAD.
1109 * ldwrite.c (build_link_order): Handle QUAD.
1110 * ldlang.c (print_data_statement): Handle QUAD.
1111 (lang_size_sections): Likewise.
1112 (lang_do_assignments): Likewise.
1113 * ldexp.c (exp_print_token): Add QUAD to table.
1114 * ld.texinfo: Describe QUAD.
1115
1116 * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
1117 since the Alpha doesn't use them.
1118
1119 Wed Jan 5 17:42:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1120
1121 * ldemul.h (ld_emulation_xfer_struct): Comment the members.
1122
1123 Sat Jan 1 13:39:31 1994 Rob Savoye (rob@darkstar.cygnus.com)
1124
1125 * Makefile.in, configure.in: Add support for VSTa micro-kernel.
1126 * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
1127
1128 Sat Jan 1 10:53:35 1994 David J. Mackenzie (djm@thepub.cygnus.com)
1129
1130 * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
1131 needed for i386mach. (Should be a no-op on other systems.)
1132
1133 * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
1134 (PAGE_SIZE): Don't define; not used.
1135
1136 Fri Dec 31 16:12:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1137
1138 * ldgram.y (yyerror): Make argument const char *, and actually
1139 print it out rather than assuming it is a syntax error.
1140 * ldmisc.h: Change declaration of yyerror.
1141 * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
1142
1143 Fri Dec 31 11:37:28 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1144
1145 * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
1146 exec header offset, since the exec header isn't loaded.
1147 (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
1148
1149 Thu Dec 30 13:01:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1150
1151 A major rewrite to move the bulk of the linker into BFD so that
1152 more efficient backend code can be written for specific object
1153 files.
1154 * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
1155 ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
1156 * ldctor.c, ldctor.h: Complete rewrite.
1157 * ldwrite.c, ldwrite.h: Complete rewrite.
1158 * ld.h (strip_symbols_type, strip_symbols): Removed. Use
1159 link_info.strip instead. Changed all uses.
1160 (discard_locals_type, discard_locals): Removed. Use
1161 link_info.discard instead. Changed all uses.
1162 (ld_config_type): Removed relocateable_output field; use
1163 link_info.relocateable instead; changed all uses. Added stats
1164 field.
1165 (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
1166 set_loader_symbol): Removed.
1167 * ldexp.h (node_class): Added etree_rel.
1168 (etree_type): Added rel field.
1169 * ldexp.c (exp_print_token): Bracketed table initialization.
1170 (exp_relop): New function.
1171 (fold_name): Use linker hash table rather than ldsym functions.
1172 (exp_fold_tree): Likewise. Also, handle etree_rel case.
1173 (exp_print_tree): Handle etree_rel.
1174 * ldgram.y (strip_symbols, discard_locals): Removed.
1175 (OPTION_stats, OPTION_no_keep_memory): New tokens. Handle them.
1176 (REL): New token. Does not appear in grammar, but needed for
1177 expression code.
1178 (file): Don't call lang_final; it's called by main anyhow.
1179 * ldlex.l: Accept -stats and -no-keep-memory options.
1180 * ldlang.h (fill_type): Make unsigned int, not unsigned short.
1181 * ldlang.c: Consistently use fill_type for fill argument.
1182 (lang_init_script_file, script_file): Removed.
1183 (create_object_symbols): Removed. Use
1184 link_info.create_object_symbols_section instead. Changed all
1185 uses.
1186 (lang_add_keepsyms_file): Removed.
1187 (lookup_name): Call bfd_link_add_symbols instead of
1188 ldmain_open_file_read_symbol.
1189 (wild): Don't iterate over script_file.
1190 (open_output): Create link hash table.
1191 (lang_place_undefineds): Rewrote.
1192 (lang_size_sections): Handle relaxing (doesn't work yet).
1193 (lang_relocate_globals): Removed.
1194 (lang_finish): Use link hash table rather than ldsym functions.
1195 (lang_common): Rewrote.
1196 (lang_one_common): New function.
1197 (ldlang_add_file): Add file to link_info.input_bfds list. Set
1198 usrdata.
1199 (create_symbol): Removed.
1200 (lang_process): Don't call lang_init_script_file. Call
1201 ldctor_build_sets rather than find_constructors. Don't call
1202 lang_relocate_globals.
1203 (lang_abs_symbol_at_beginning_of): Rewrote.
1204 (lang_abs_symbol_at_end_of): Rewrote.
1205 * ldmain.c (had_y): Removed.
1206 (lprefix, lprefix_len): Removed; use link_info fields instead.
1207 Changed all uses.
1208 (multiple_def_count, commons_pending, undefined_global_sym_count,
1209 total_symbols_seen, total_files_seen): Removed.
1210 (link_callbacks, link_info): New variables.
1211 (main): Initialize link_info. Don't call init_bfd_error_vector or
1212 ldsym_init. Don't set now unused variables. Handle -stats.
1213 (get_emulation): Removed obsolete and nonfunctional GNU960 code.
1214 (add_ysym): Rewrote.
1215 (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
1216 search_library, gnu960_check_format, decode_library_subfile,
1217 linear_library, symdef_library, clear_syms, subfile_wanted_p):
1218 Removed.
1219 (add_keepsyms_file, add_archive_element, multiple_definition,
1220 multiple_common, add_to_set, warning_callback, undefined_symbol,
1221 reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
1222 New functions.
1223 * ldmisc.c (vfinfo): Accept a string for %T, not a symbol. Don't
1224 require symbols for %C; look them up instead.
1225 * emultempl/hppaosf.em: Pass link_info to
1226 hppa_look_for_stubs_in_section.
1227 * Makefile.in: Rebuilt dependencies.
1228 (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
1229 relax.c.
1230 (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
1231 relax.h.
1232 (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
1233 ldlang.h and ldctor.h.
1234
1235 * Makefile.in (ldlex.c): Don't depend on ldgram.h. Remove
1236 declarations of free and malloc from flex output. Change malloc
1237 to ldmalloc in flex output.
1238
1239 Thu Dec 16 21:19:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1240
1241 * ldmain.c (lprefix): Change default from a char to a string
1242 with only one character.
1243 (lprefix_len): Set default to one.
1244
1245 * ldmain.h (lprefix_len): Declare.
1246
1247 * ldsym.c (write_file_locals): Use strncmp rather than a character
1248 comparison for lprefix.
1249
1250 * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
1251 correctly.
1252
1253 * emultmpl/hppaosf.em: Include ldexp.h.
1254 (before_parse): Set lprefix and lprefix_len correctly.
1255
1256 Tue Dec 14 17:19:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1257
1258 * ldlex.h: Don't declare yywrap if it is a macro.
1259 * ldlex.l: Include sysdep.h.
1260 * ldlang.c (lang_for_each_statement_worker,
1261 lang_for_each_statement): Forgot to use PARAMS.
1262
1263 Mon Dec 13 14:30:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1264
1265 * Makefile.in: Added .PHONY targets where appropriate. Added some
1266 comments. Also:
1267 (gcclibdir, version): Removed unused variables.
1268 (DEP): New variable, set to mkdep.
1269 (ALL_CFLAGS): New variable. Used in .c.o target.
1270 (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
1271 variables.
1272 (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
1273 GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
1274 mostly obsolete variables. Adjusted remaining uses.
1275 (DEF_EMUL): Removed variable.
1276 (ldmain.o): Handle undefined EMUL error correctly.
1277 (ldemul-list.h): Depend on config.status rather than Makefile.
1278 Create via temporary file.
1279 (ver960.c, roll, make): Removed obsolete targets.
1280 (.dep, .dep1, dep.sed, dep, dep-in): New targets. Used to rebuild
1281 dependencies.
1282 * dep-in.sed: New file, used when rebuilding dependencies.
1283
1284 Sat Dec 11 14:43:44 1993 Ian Lance Taylor (ian@deneb.cygnus.com)
1285
1286 Made many changes to eliminate gcc warnings. Made various
1287 cosmetic changes, declared various things in header files, removed
1288 various extern declarations from .c files. No substantive
1289 changes.
1290
1291 * ldlang.c (lang_process): Ifdef out final call to
1292 lang_size_sections again (reverting change of Nove 2), since it
1293 breaks the Sun4 linker.
1294
1295 Thu Dec 2 16:31:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1296
1297 * configure.in (alpha-*-netware*): New target; use alpha.
1298
1299 Wed Dec 1 14:04:20 1993 Ken Raeburn (raeburn@cygnus.com)
1300
1301 * configure.in: Group targets by CPU. Merge some m68k target
1302 entries with different CPU specs that use the same ld_target
1303 values.
1304
1305 * configure.in: Add sparc*-*-coff.
1306 * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
1307 * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
1308 (em_coff_sparc.c): Add dependencies and build rules.
1309
1310 * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare.
1311
1312 Wed Dec 1 12:19:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1313
1314 * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
1315 New tokens.
1316 (command_line_option): Accept and ignore them (for now).
1317 * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
1318 where n is a number.
1319
1320 Mon Nov 22 14:14:29 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1321
1322 * ldmain.c (subfile_wanted_p): If merging a common symbol which is
1323 not in bfd_com_section, create the section in the BFD so that it
1324 can be placed in the right output section.
1325
1326 Fri Nov 19 14:12:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1327
1328 * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
1329 * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
1330 (OTHER_READONLY_SECTIONS): Define for .reginfo.
1331 (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
1332 * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
1333 Move OTHER_READONLY_SECTIONS after all the other readonly
1334 sections. Don't use DATA_ADDR twice.
1335
1336 * ldmain.c (enter_file_symbols): Removed duplicate tests of p. If
1337 p is in a common section, make sure the BFD has a section of that
1338 name.
1339
1340 * ldlang.c (lang_common): Add newline to error message.
1341
1342 Thu Nov 11 15:54:41 1993 Stan Shebs (shebs@rtl.cygnus.com)
1343
1344 * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
1345 Lynx-specific script instead of m68kcoff.
1346 (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
1347 (ENTRY): Define as __main.
1348 (TEXT_START_ADDR): Define as 0.
1349 (PAGE_SIZE): Define as 0x1000.
1350 * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
1351 * scripttempl/m68klynx.sc: New file.
1352
1353 Mon Nov 8 12:00:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1354
1355 * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
1356 arguments rather than treating them as emulation names.
1357
1358 Fri Nov 5 09:02:52 1993 D. V. Henkel-Wallace (gumby@blues.cygnus.com)
1359
1360 * configure.in: Support x86 unixware and netware plus generic netware.
1361
1362 Fri Nov 5 21:47:55 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1363
1364 * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR):
1365 Correct values (?).
1366
1367 Wed Nov 3 15:10:15 1993 Ken Raeburn (raeburn@rover.cygnus.com)
1368
1369 * Makefile.in (distclean): Don't delete dvi or info files.
1370 (ld.info): Update dependency list.
1371 (ld.dvi): Ditto. Extend TEXINPUTS to get bfdsumm.texi.
1372
1373 Wed Nov 3 12:07:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1374
1375 * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
1376 Set output_filename instead of creating a new node.
1377 (open_output): Don't set output_filename.
1378 (lang_final): Create the new node here.
1379 * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
1380
1381 Tue Nov 2 15:45:51 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1382
1383 From Pete Hoogenboom (hoogen@cs.utah.edu):
1384
1385 * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
1386 edata, _edata, end): Add definitions of these symbols.
1387 (__end): Remove definition of this symbol.
1388 (__data_start): Move definition of this symbol.
1389
1390 * emultempl/hppaosf.em: Various fixes and support for linker stub
1391 generation.
1392 (hppaosf_finish, hppaosf_search_for_padding_statements,
1393 hppaosf_create_output_section_statements): New functions in
1394 support of linker stub generation.
1395 (ld_hppaosf_emulation): Redefine to include new
1396 emulation-specific routines.
1397
1398 * ldlang.c (lang_process): Re-enable last call lang_size_sections.
1399 Pass abs_output_section rather than NULL to avoid invalidating
1400 absolute symbols.
1401
1402 Thu Oct 28 21:16:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1403
1404 * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
1405 (em_i386mach.c): New rule.
1406 * configure.in (i[34]86-*-mach*): New case.
1407 * config/i386-mach.mt: New file.
1408 * emulparams/i386mach.sh: New file.
1409
1410 Fri Oct 29 14:55:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1411
1412 * ld.h (flag_is_*): Removed macros.
1413 * ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
1414 Consistently check the BFD symbol flags directly, rather than
1415 using file_is_* macros.
1416
1417 Thu Oct 28 19:08:42 1993 Stan Shebs (shebs@rtl.cygnus.com)
1418
1419 * configure.in (sparc*-*-lynxos*): New target.
1420 * Makefile.in: Add rule for em_sparclynx.c.
1421 (ALL_EMULATIONS): Add Lynx emulations.
1422 * config/sparc-lynx.mt: New file.
1423 * emulparams/sparclynx.sh: New file.
1424 * scripttempl/sparccoff.sc: New file.
1425
1426 Thu Oct 28 13:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1427
1428 * Makefile.in: Add dependency for $(EMULATION_OFILES).
1429
1430 Mon Oct 25 16:09:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1431
1432 * relax.c (write_relax): Check return value of bfd_seclet_link.
1433
1434 Mon Oct 25 09:31:21 1993 Ken Raeburn (raeburn@cygnus.com)
1435
1436 * ldlang.c (delete_output_file_on_failure): New variable.
1437 (open_output): Set it after bfd open succeeds.
1438 * ldmisc.c (vfinfo): Test it.
1439
1440 Changes from Peter Hoogenboom, hoogen@cs.utah.edu:
1441
1442 * ldsym.c (write_file_locals): Set the BSF_FILE flag for object
1443 symbols.
1444
1445 * ldemul.c: Support was added to allow emulation-specific
1446 processing to occur. This support was added primarily for linker
1447 stub generation in the elf32-hppa gld.
1448 (ldemul_finish, ldemul_create_output_section_statements): New
1449 functions.
1450 * ldemul.h: Support was added to allow emulation-specific
1451 processing to occur. (As described above.) Added finish and
1452 create_output_section_statements fields to
1453 ld_emulation_xfer_struct structure.
1454 * ldlang.c: Add calls to emulation-specific routines.
1455 (lang_process): Add call to
1456 ldemul_create_output_section_statements function.
1457 (lang_process): Add call to a emulation-specific routine (and
1458 some processing after the call).
1459
1460 Fri Oct 22 20:54:13 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1461
1462 * configure.in: mips*- instead of mips-, mips*el changes
1463
1464 Tue Oct 19 15:46:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1465
1466 * configure.in (alpha-*-osf*): New target; use alpha.mt.
1467 * Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
1468 (em_alpha.c): New target; use alpha.sh and alpha.sc.
1469 * config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
1470 * config/alpha.mt: New file.
1471 * emulparams/alpha.sh: New file.
1472 * scripttempl/alpha.sc: New file.
1473
1474 Fri Oct 15 02:20:04 1993 Doug Evans (dje@canuck.cygnus.com)
1475
1476 * ldlang.c (lang_size_sections, lang_common): ALIGN_N can't handle
1477 types of different sizes (eg: 64 and 32 bits), so coerce.
1478 * ld.h (ALIGN_N): Add warning about usage.
1479
1480 Wed Oct 13 16:02:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1481
1482 * ldmain.c (enter_global_ref): Just ignore any weak symbol for
1483 which we already have a definition, rather than checking in
1484 several different places whether the symbol is weak.
1485
1486 Tue Oct 12 17:30:51 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1487
1488 * configure.in (mips-*-elf*): New target; use mipsb-elf32.
1489 * scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
1490 OTHER_READWRITE_SECTIONS if relocating. Shell variables are not
1491 expanded within them.
1492 * config/mipsb-elf32.mt: New file.
1493 * emulparams/elf32mipb.sh: New file.
1494 * Makefile.in (em_elf32mipb.c): New target.
1495
1496 Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com)
1497
1498 * ldgram.y: In input_list, change lang_input_file_is_file_enum to
1499 lang_input_file_is_search_file_enum so objects brought in using
1500 INPUT() do a path lookup.
1501
1502 Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com)
1503
1504 * configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
1505 instead of {i386,m68k}-coff.
1506 * Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
1507 * config/i386-lynx.mt: New file.
1508 * config/m68k-lynx.mt: New file.
1509 * emulparams/i386lynx.sh: New file.
1510 * emulparams/m68klynx.sh: New file.
1511
1512 * scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
1513 but defaulting to _start.
1514
1515 * ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
1516 ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
1517 LynxOS libc.
1518
1519 Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com)
1520
1521 * config/solaris2.mh: New file. Define HOSTING_CRT0 and
1522 HOSTING_LIBS for testing.
1523
1524 Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1525
1526 Finish up support for i386-sysv4 (without shared libraries):
1527 * ld.h (flag_is_weak): Define.
1528 * ldlang.c (print_symbol): Mention whether symbol is weak.
1529 (print_input_section): Print weak symbols as globals.
1530 * ldmain.c (refize): Do not zero out BSF_WEAK flag.
1531 (enter_global_ref): Do not warn if a weak symbol redefines a
1532 global symbol. Do not let a weak symbol redefine a common symbol.
1533 (enter_file_symbols): Treat weak symbols as global symbols.
1534 (subfile_wanted_p): Do not pull in an object file from a archive
1535 just to resolve an undefined weak symbol.
1536 * ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
1537 error; the error might be that malloc has run out of space.
1538 * ldsym.c (write_file_locals): Treat weak symbols as global.
1539 * configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
1540 use i386-elf.
1541 * config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
1542 * config/i386-elf.mt: New file; set EMUL to elf_i386.
1543 * emulparams/elf_i386.sh: New file.
1544 * scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
1545 * Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
1546 (ALL_EMULATIONS): Add em_elf_i386.o.
1547 (GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
1548 (em_elf_i386.c): New target, like other em_*.c targets.
1549 ($(LD_PROG)): Pass $(CFLAGS) to $(CC).
1550 * genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument. If
1551 nonempty, and configured for native, add it to LIB_PATH.
1552
1553 Fri Sep 17 13:07:39 1993 Stan Shebs (shebs@rtl.cygnus.com)
1554
1555 * scripttempl/{h8300.sc,h8500.sc,i386coff.sc,m68kcoff.sc,sh.sc}:
1556 Added statements to pass stab and stabstr sections through and
1557 mark them as NOLOAD, which makes GDB happier.
1558
1559 Wed Sep 15 16:02:29 1993 Stan Shebs (shebs@rtl.cygnus.com)
1560
1561 * configure.in: Accept m68k-lynx-lynxos config.
1562
1563 * Makefile.in: Use $(SHELL) to run genscripts.sh.
1564
1565 Sun Sep 12 16:04:40 1993 Doug Evans (dje@cygnus.com)
1566
1567 * config/coff-h8300.mt: Add EMUL=h8300h.
1568
1569 * ldmain.c (main): Call set_scripts_dir after argv has been processed.
1570
1571 Fri Sep 10 09:36:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
1572
1573 * Makefile.in: Changed CXX back to g++.
1574
1575 Fri Sep 10 09:34:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
1576
1577 * Makefile.in: Fixed RUNTEST* CXX CXXFLAGS macros and check rule.
1578
1579 Fri Sep 10 07:26:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1580
1581 * Makefile.in (TAGS): Use shell wildcards.
1582
1583 Tue Sep 7 18:04:54 1993 Jeffrey Osier (jeffrey@cygnus.com)
1584
1585 * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target
1586
1587 Fri Sep 3 16:46:41 1993 Roland H. Pesch (pesch@fowanton.cygnus.com)
1588
1589 * ld.texinfo: re-enable included config file; conditionalize doc
1590 for -oformat to interact properly with SingleFormat doc config
1591 var; rename @up/@down to @raisesections/@lowersections.
1592
1593 Wed Aug 25 16:29:56 1993 K. Richard Pixley (rich@sendai.cygnus.com)
1594
1595 * configure.in: recognize m88110.
1596
1597 Tue Aug 24 18:49:40 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1598
1599 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
1600 * emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
1601 ELF emulation is "elf32-hppa" not "elf-big".
1602 (hppaosf_before_parse): Remove unneeded processing of environment
1603 variables.
1604 * scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
1605 .text segment of output file.
1606 * emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
1607
1608 Tue Aug 24 16:17:00 1993 K. Richard Pixley (rich@sendai.cygnus.com)
1609
1610 * ld.h: define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no
1611 longer in bfd.h.
1612
1613 * ldlang.c, ld.h: updated copyright.
1614
1615 Tue Aug 17 15:22:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1616
1617 * ldlang.c (open_output, lang_check): Check return value of
1618 bfd_set_arch_mach.
1619
1620 Tue Aug 17 07:02:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1621
1622 * scripttempl/h8500.sc: Start all sections in a different segment.
1623 * scripttempl/z8ksim.sc: Handle constructors
1624
1625 Thu Aug 12 16:05:37 1993 Jeffrey Wheat (cassidy@cygnus.com)
1626
1627 * Makefile.in: revert earlier changes back to execute runtest
1628 with make check. cdtest and bootstrap now function as they
1629 did within the Makefile.
1630
1631 Thu Aug 12 10:20:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1632
1633 * Makefile.in: Update dependencies.
1634
1635 * configure.in: Set EMULATION_OFILES in Makefile based on
1636 --with-targets option.
1637
1638 Thu Aug 12 08:52:29 1993 Jeffrey Wheat (cassidy@cygnus.com)
1639
1640 * Makefile.in: check targets reimplemented to old way.
1641
1642 Wed Aug 11 08:26:11 1993 Ian Lance Taylor (ian@cygnus.com)
1643
1644 * config/i386v.mh, config/irix4.mh: Use gcc
1645 -print-libgcc-file-name rather than $(libdir)/libgcc.a.
1646 * config/i386sco.mh: New file; copy of i386v.mh to correspond to
1647 bfd/configure.host change.
1648
1649 Mon Aug 9 14:25:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1650
1651 * scripttempl/elf.sc: Handle .line and .debug* sections.
1652
1653 * ldlex.l: Use bfd_scan_vma, not strtoul.
1654
1655 Fri Aug 6 08:57:39 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1656
1657 * ldexp.c, ldfile.c, ldlang.c, lexsup.c, ldmain.c, ldemul.c:
1658 Remove inital caps in some error messages, change "can't" to
1659 "cannot", add missing colons.
1660 * ldmisc.c (vfinfo): Print "%%" as a single %.
1661 For '%' followed by unrecognized character, print them both
1662 verbatim instead of expecting a char * arg.
1663 For '%C', don't put the function name in parens.
1664
1665 * ldexp.c (invalid): Pass "%%", not "% ".
1666
1667 Fri Aug 6 14:31:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
1668
1669 * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
1670 (BSS_VAR): Removed; now always define _fbss.
1671 * emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
1672 Removed.
1673
1674 Thu Aug 5 15:55:19 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
1675
1676 * configure.in: z8k-coff is the same as z8k-sim
1677
1678 Wed Aug 4 21:00:18 1993 Jeffrey Wheat (cassidy@cygnus.com)
1679
1680 * testsuite/lib/ld.exp: new file
1681 * testsuite/config/unix-ld.exp: new file
1682 * testsuite/ld.bootstrap/bootstrap.exp: new file
1683 * Makefile.in: add dejagnu support for make check
1684
1685 Wed Aug 4 17:52:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1686
1687 * ldlex.l (comment): Add missing newline in message.
1688 * ldindr.c (add_indirect): Ditto.
1689 * ldexp.c (exp_fold_tree): Ditto.
1690
1691 Tue Aug 3 10:57:41 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1692
1693 * ldgram.y, ldlex.l, mri.c, ldwrite.c: Change multiple commons
1694 into externs.
1695
1696 * ldmisc.c (multiple_warn): New function.
1697 * ldmisc.h: Declare it.
1698 * ldmain.c (enter_global_ref): Call it.
1699 * ld.h (ld_config_type): Add warn_common.
1700 * ldlex.l, ldgram.y: Set it with -warn-common option.
1701 * ldver.c (help): Document it.
1702
1703 Mon Aug 2 12:04:36 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1704
1705 * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
1706 target-specific sections, and for changing data section vma.
1707
1708 Mon Jul 26 14:00:02 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1709
1710 * ldgram.y (OPTION_Qy, OPTION_Y, OPTION_dn, OPTION_YP): New
1711 terminals, for Solaris.
1712 (dirlist_ptr): New static variable.
1713 (command_line_option): Accept new options.
1714
1715 * ldlex.l: Accept command-line options "-Qy", "-dn", "-Y", and
1716 "-YP,...".
1717
1718 * config/sun4sol2.mt: Pass emulation name without ".sh".
1719
1720 * emulparams/elf32_sparc.c: Renamed from elf32-sparc.c.
1721 * config/sun4sol2.mt (em_elf32_sparc.c): Adjusted accordingly.
1722
1723 Fri Jul 23 13:51:09 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1724
1725 * scripttempl/elf.sc: Add support for .init, .fini, .ctors,
1726 .dtors, .data1, .rodata1 sections, instead of combining them into
1727 other sections. For `-r', set all section start addresses to
1728 zero.
1729
1730 * emulparams/elf32-sparc.sh (TEXT_START_ADDR,
1731 NONPAGED_TEXT_START_ADDR): Value should be 0x10100.
1732 (MAXPAGESIZE): Renamed from PAGE_SIZE.
1733
1734 Wed Jul 21 14:28:42 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1735
1736 * genscripts.sh: If this is the default emulation, set
1737 COMPILE_IN.
1738 * emultempl/*.em: Use it to determine whether to compile in the
1739 scripts.
1740
1741 * Makefile.in (GENSCRIPTS): Pass the default emulation name to
1742 genscripts.sh. Pass the current emulation name without ".sh" on
1743 the end.
1744 * genscripts.sh: Take an default emulation arg.
1745 Use the current emulation name as EMULATION_NAME.
1746 Make default lib path for cross-compiling ':', not null.
1747 * emulparams/*.sh: Don't set EMULATION_NAME.
1748 * ldemul.c (ldemul_get_script): Take isfile arg.
1749 Pass it to emulation's get_script function.
1750 * ldemul.h: Adjust get_script prototypes.
1751 * ldfile.c (ldfile_find_command_file): Renamed from find_a_name.
1752 No longer static.
1753 * ldfile.h: Declare it.
1754 * ldgram.y: Accept a script on the command line again,
1755 for parsing compiled-in scripts.
1756 * ldmain.c (main): If ld script is a file, parse it as a -T
1757 option, otherwise parse it directly.
1758 * emultempl/*.em (*get_script): Return the scripts themselves if
1759 this is the default emulation; otherwise return their file names.
1760 * emultempl/m88kbcs.em: New file, to take m88kbcs #ifdef out of
1761 generic.em.
1762 * emulparams/m88kbcs.sh: Use it.
1763
1764 * ld.h (ld_config_type::unix_relocate): Remove unused element.
1765
1766 Tue Jul 20 12:01:49 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1767
1768 * Makefile.in (ALL_EMULATIONS): Delete em_i386linux.o (for which
1769 there's no change log entry yet, tsk tsk) from the list of
1770 emulations compiled in until Mark gets around to checking in
1771 emulparams/i386linux.sh.
1772 (ldemul-list.h): Depend on Makefile, so if EMULATION_OFILES is
1773 changed, this file gets updated.
1774
1775 Fri Jul 16 14:14:32 1993 Ian Lance Taylor (ian@cygnus.com)
1776
1777 * ldgram.y (OPTION_Lfile): New token.
1778 (command_line_option): Accept OPTION_L NAME (whitespace after -L).
1779 * ldlex.l (<COMMAND>): Accept -L without FILENAME.
1780
1781 Fri Jul 16 13:44:26 1993 Doug Evans (dje@canuck.cygnus.com)
1782
1783 * configure.in: h8/300h support needs own .mt file.
1784 config/coff-h8300h.mt: New file.
1785
1786 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1787
1788 * ldmain.c: Don't include sys/stat.h; it already got included
1789 somewhere along the way.
1790
1791 Thu Jul 15 14:43:34 1993 Doug Evans (dje@canuck.cygnus.com)
1792
1793 * Makefile.in: Add h8300h support.
1794 emulparams/h8300h.sh: New file.
1795 scripttempl/h8300h.sc: New file.
1796
1797 Thu Jul 15 12:44:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1798
1799 * ldfile.c (ldfile_open_file): In error message, use the name the
1800 user gave (e.g., "-lc"), rather than the base file name.
1801
1802 * ldexp.c (exp_fold_tree): Don't assign an int to an enum.
1803
1804 * ldmain.[ch]: Remove initial Q_ from function names.
1805 * ldexp.c, ldindr.c, ldlang.c: Change callers.
1806
1807 * ldfile.c, ldmain.c, ldgram.y: Rename option_v to trace_file_tries.
1808
1809 * ldlang.c (lang_process): Move loading of default script from
1810 here to main. Add a "/" to start of script name to prevent
1811 finding it in "." first.
1812
1813 * ldmain.c (set_scripts_dir): Don't look in "." first.
1814
1815 * ldgram.y, ldlang.c, ldsym.c: Remove traces of unused var
1816 option_longmap.
1817
1818 Thu Jul 15 10:55:59 1993 Ian Lance Taylor (ian@cygnus.com)
1819
1820 * Makefile.in (em_m88kbcs.c): Correct dependency.
1821 * scripttempl/m88kbcs.sc: It's ARCH, not arch. Removed TARGET
1822 statement. Changed OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
1823 * emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
1824
1825 Wed Jul 14 21:42:53 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1826
1827 * ldfile.c (ldlang_open_file, ldfile_open_command_file),
1828 main.c (main): Print the errno string in the error message.
1829
1830 Tue Jul 13 20:00:30 1993 Doug Evans (dje@canuck.cygnus.com)
1831
1832 * configure.in: Accept h8300h for target cpu.
1833
1834 * ldmisc.c (vfinfo): Have demangle remove leading underscore if
1835 present (demangle is smart enough to know whether to do it or not).
1836
1837 Mon Jul 12 11:45:48 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1838
1839 * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
1840 ldscripts, as well as <ld bin dir> and SCRIPTDIR.
1841
1842 * ldlang.c (lang_process): Use sizeof instead of magic constant.
1843
1844 * ldmain.c (get_emulation, check_for_scripts_dir,
1845 set_scripts_dir): New functions.
1846 (main): Call them.
1847
1848 Mon Jul 12 10:57:03 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
1849
1850 * scripttempl/elf.sc: Include .init, .fini, .rodata sections.
1851 Create symbol "end" instead of "__end". Comment out some parts
1852 that may not be needed (yet) for elf.
1853
1854 * configure.in: Accept sparc-elf and sparc-solaris2 configs.
1855
1856 Thu Jul 8 15:33:32 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1857
1858 * Makefile.in (ALL_EMULATIONS): Include $(OTHER_EMULATIONS).
1859
1860 * ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro
1861 when no prototype is being supplied.
1862 (ldmalloc, ldrealloc): Size argument is now size_t.
1863
1864 * ldmisc.c (finfo): New function, accepts FILE* argument.
1865 (vfinfo, case 'v'): New format character; displays bfd_vma in hex
1866 without leading zeros.
1867 (vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a
1868 bfd_vma value, instead of fprintf(%x) which won't hold a long long
1869 value.
1870 (concat, buystring): String lengths are size_t.
1871 (ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
1872
1873 * ldlang.c (new_statement): Size argument is now size_t. Added
1874 forward declaration with prototype.
1875
1876 Thu Jul 8 10:53:47 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1877
1878 * ldgram.y (OPTION_v): Don't turn on verbose output.
1879
1880 Wed Jul 7 17:10:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
1881
1882 * ldlex.l: Get rid of local typedef for bfd_vma! Get it from
1883 bfd.h instead.
1884
1885 Wed Jul 7 11:33:12 1993 Ian Lance Taylor (ian@cygnus.com)
1886
1887 * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
1888 collect2 doesn't look for gld any more anyhow.
1889
1890 Mon Jul 5 14:29:48 1993 Ian Lance Taylor (ian@cygnus.com)
1891
1892 * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
1893 now have a non NULL srefs_chain.
1894
1895 * config/hp300hpux.mt: Use emulation hp3hpux rather than
1896 hp300hpux, since the latter does not exist.
1897
1898 Fri Jul 2 18:06:05 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1899
1900 * genscripts.sh: Put the scripts in the ldscripts directory, not
1901 emulations.
1902 * configure.in (ldscripts): Make, instead of emulations.
1903 * Makefile.in (scriptdir): Take off the "ld" part.
1904 (install, clean, distclean): Use ldscripts, not emulations.
1905 In tests, don't pass -Lemulations.
1906 Don't pass tooldir/lib to genscripts.sh.
1907 * genscripts.sh: Don't take tooldir/lib arg.
1908 * ldlang.c (lang_process): Add "ldscripts/" to the name of the
1909 default script file.
1910
1911 Fri Jul 2 17:13:35 1993 Doug Evans (dje@canuck.cygnus.com)
1912
1913 * scripttempl/h8300.sc: Add .tors section for constructor/destructors.
1914
1915 Thu Jul 1 16:38:45 1993 Doug Evans (dje@canuck.cygnus.com)
1916
1917 * config/coff-h8300.mt: EMUL=h8300hms -> h8300.
1918
1919 Wed Jun 30 15:45:55 1993 K. Richard Pixley (rich@sendai.cygnus.com)
1920
1921 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now
1922 run in parallel without colliding on yacc's static file names.
1923 Without the stub rule, make will try to start two yacc's
1924 concurrently which fails because of yacc's static file names.
1925
1926 Tue Jun 29 12:20:36 1993 Ian Lance Taylor (ian@cygnus.com)
1927
1928 * ldmain.c (subfile_wanted_p): Don't dump core if there are no
1929 symbols.
1930
1931 Mon Jun 28 12:22:11 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1932
1933 * genscripts.sh (LIB_PATH): Only add /usr/local/lib if it's
1934 different from libdir.
1935
1936 * Makefile.in (scriptdir): Base on tooldir, not datadir.
1937
1938 Sat Jun 26 12:03:57 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1939
1940 * ldver.c (help): New function.
1941 * ldver.h: Declare it.
1942 * ldlex.l, ldgram.y: Recognize new options --help and --version.
1943
1944 Mon Jun 21 20:39:48 1993 Ken Raeburn (raeburn@poseidon.cygnus.com)
1945
1946 * Makefile.in (INCLUDES): Don't need ../include any more.
1947
1948 Mon Jun 21 16:38:35 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1949
1950 * ldlex.l, ldgram.y: Support new -oformat option.
1951 Remove attempt at supporting script fragments on the command line.
1952 * ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
1953 * mri.c (mri_format), ldgram.y: Change callers.
1954 * ldlang.h: Change prototype.
1955
1956 Thu Jun 17 16:53:56 1993 david d `zoo' zuhn (zoo@cygnus.com)
1957
1958 * Makefile.in: canonicalize install.sh; for use within
1959 this directory (and subdirs)
1960
1961 Thu Jun 17 14:33:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1962
1963 * ldgram.y: Tweak grammar to make reporting of invalid options work.
1964
1965 * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
1966 and .cc.o rule.
1967
1968 Wed Jun 16 11:45:32 1993 David J. Mackenzie (djm@thepub.cygnus.com)
1969
1970 * ldfile.c (ldfile_open_command): Don't try .ld extension.
1971 It wasn't documented (or likely used) and wastes time.
1972 (try_open): If EXTEN is empty, don't try it.
1973
1974 * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
1975 ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
1976 ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
1977 with normal function declarations.
1978
1979 * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh.
1980 Move *.sc-sh to scripttempl/*.sc.
1981 * {emultempl,emulparams,scripttempl}/README: New files.
1982 * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
1983 removed, replaced with generic.em.
1984 * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
1985 h8[35]00hms.s[ch]. Change their contents to omit the "hms".
1986
1987 * *.em (*_get_script): Return script name instead of script contents.
1988 * ldlang.c (lang_process): Change caller.
1989
1990 * ldlex.l, ldgram.y: Recognize -m option.
1991 Check for input files after *all* options in grammar.
1992 * ldmain.c (main): Check for -m options. Add default directory
1993 for -m.
1994
1995 * mkscript.c: File removed.
1996 * genscripts.sh: Take two more parameters, tooldirlib and libdir,
1997 to add to the default LIB_PATH.
1998 Look for input files in the new subdirectories.
1999 Create the scripts in emulations subdirectory and don't filter
2000 them through mkscript.
2001 * configure.in: Make the emulations subdirectory.
2002
2003 * Makefile.in: Account for all of the above changes.
2004 Remove unused .SUFFIXES. Get libgcc.a path with gcc
2005 -print-libgcc-file-name instead of $(libdir)/libgcc.a.
2006 Put CFLAGS last in the compilation rules.
2007 Add -I../bfd to INCLUDES so sysdep.h is found.
2008
2009 Tue Jun 15 23:04:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2010
2011 * Makefile.in (INCLUDES): Look in ../include, not ../bfd.
2012
2013 * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO
2014 dependent on RELOCATING, not RELOCATION.
2015 * hp3hpux.sh (SHLIB_PATH): Define it.
2016
2017 Mon Jun 14 19:06:15 1993 David J. Mackenzie (djm@thepub.cygnus.com)
2018
2019 * ldfile.c (try_open): If opening without the extension fails,
2020 try with the extension even if -v or -V was given.
2021 had_script is imported (from ldgram.y), not exported.
2022
2023 Mon Jun 14 16:26:10 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
2024
2025 * Makefile.in: remove parentdir support, use INSTALL_XFORM
2026
2027 Thu Jun 10 14:00:06 1993 Ian Lance Taylor (ian@cygnus.com)
2028
2029 * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
2030 * ldgram.y (statement_list_opt): New nonterminal, either empty or
2031 statement_list.
2032 (section): Use statement_list_opt, not statement_list.
2033 * m68kcoff.sc-sh: Gather constructors and destructors and define
2034 __CTOR_LIST__ and __DTOR_LIST__ appropriately.
2035 * sa29200.sc-sh: Gather constructors and destructors and define
2036 ___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
2037
2038 Mon Jun 7 12:53:28 1993 Per Bothner (bothner@rtl.cygnus.com)
2039
2040 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
2041 * configure.in: No longer need to configure to get sysdep.h.
2042
2043 Fri Jun 4 16:18:24 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2044
2045 * Makefile.in: remove install:all and install-info:info
2046 dependencies (these cause some spurious rebuilds at 'make install'
2047 time)
2048
2049 Fri Jun 4 08:50:14 1993 Ian Lance Taylor (ian@cygnus.com)
2050
2051 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
2052 (mips-idt-ecoff*): Added trailing '*'.
2053 * config/mips-idtl.mt: New file; use EMUL of mipsidtl.
2054 * mipsidtl.sh: New file; like mipsidt.sh, but little endian.
2055 * Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
2056
2057 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
2058 incorrect definitions.
2059
2060 Tue Jun 1 14:56:10 1993 Per Bothner (bothner@rtl.cygnus.com)
2061
2062 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
2063 symbols, unless stripping.
2064
2065 Tue May 25 15:34:25 1993 Ian Lance Taylor (ian@cygnus.com)
2066
2067 * Makefile.in: configure looks for ####, so remove lines with many
2068 '#' characters.
2069 * config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
2070 and HOSTING_LIBS correctly so that ``make check'' will work.
2071
2072 Thu May 20 13:56:16 1993 Per Bothner (bothner@deneb.cygnus.com)
2073
2074 * mips.sc-sh: Define _etext, _edata, and _end, in addition
2075 to etext, edata, and end. Needed for IRIX 4.0.5F.
2076 Patch from mwp@iconix.oz.au (Michael Paddon).
2077
2078 * Version 2.2.1 released.
2079
2080 Thu May 20 11:42:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2081
2082 * mipsbsd.sc-sh: Renamed from aout-mipsbsd.sc-sh.
2083 * mipsbsd.sh (EMULATION_NAME): Use new file name.
2084
2085 Tue May 18 17:10:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2086
2087 * Makefile.in (LDDISTSTUFF): Remove ld.mm since we can't build it
2088 properly right now.
2089
2090 * Version 2.2 released.
2091
2092 Mon May 17 15:37:28 1993 Ken Raeburn (raeburn@deneb.cygnus.com)
2093
2094 * ldver.c (ldversion): Bump version number to 2.2.
2095
2096 Mon May 17 12:44:31 1993 Per Bothner (bothner@cygnus.com)
2097
2098 * NEWS: New file.
2099
2100 Fri May 14 11:26:24 1993 Ian Lance Taylor (ian@cygnus.com)
2101
2102 * mips.sc-sh: Don't define BSS_VAR unless relocating.
2103
2104 Wed May 12 13:33:29 1993 Ian Lance Taylor (ian@cygnus.com)
2105
2106 * Makefile.in (mkscript.o, mkscript): Build mkscript via
2107 mkscript.o, rather than directly from mkscript.c.
2108
2109 Tue May 4 21:58:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2110
2111 * configure.in: Look for ${target_makefile_frag} relative to
2112 ${srcdir}, not relative to build directory.
2113
2114 * hppaosf.em, hppaosf.sc-sh, hppaosf.sh: New files.
2115 * configure.in: Recognize hppa*-hp-osf.
2116 * Makefile.in (ALL_EMULATIONS): Include hppaosf emulation.
2117 (em_hppaosf.c): Build it.
2118 * config/hppaosf.mh, hppaosf.mt: New files.
2119
2120 * ld.h (ALIGN_N): Renamed from ALIGN, because that conflicted with
2121 some system header files. All uses changed.
2122
2123 * configure.in: Recognize i386-aix configurations as i386-coff
2124 targets.
2125
2126 * configure.in: Recognize m68*-*-hpux.
2127 * aout.sc-sh: If STACKZERO and RELOCATING are both defined, output
2128 the value of STACKZERO.
2129 * Makefile.in (ALL_EMULATIONS): Include hp300-hpux emulation.
2130 (em_hp3hpux.c): Build it.
2131 * hp3hpux.sh, config/hp300hpux.mt: New files.
2132
2133 Tue May 4 12:37:35 1993 Ian Lance Taylor (ian@cygnus.com)
2134
2135 * mips.sc-sh: Put constructors in the .data section.
2136 * Makefile.in (cdtest): Added dependency on ld.new.
2137
2138 Mon May 3 19:43:39 1993 Per Bothner (bothner@cygnus.com)
2139
2140 * Makefile.in: Change definition of $(tooldir) to match FSF.
2141 * vax.sh, config/vax.mt, configure.in, Makefile.in:
2142 Support VAX Ultrix and BSD.
2143
2144 Mon Apr 26 18:35:47 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2145
2146 * sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH.
2147
2148 Wed Apr 14 21:01:51 1993 John Gilmore (gnu@cygnus.com)
2149
2150 * ldlang.h (struct memory_region): Change `length' and
2151 `old_length' fields to bfd_size_type. Eliminate use of bfd_offset.
2152 * ldlang.c, mri.c: Corresponding changes, plus lint.
2153
2154 Thu Apr 8 22:08:18 1993 Ian Lance Taylor (ian@cygnus.com)
2155
2156 * configure.in: For all i386 targets, accept i486 as well.
2157
2158 Mon Apr 5 17:33:39 1993 Ian Lance Taylor (ian@cygnus.com)
2159
2160 * ldlang.c (wild_doit): Preserve all flags for a
2161 SEC_SHARED_LIBRARY section.
2162 (size_input_section): Consider any SEC_HAS_CONTENTS section when
2163 computing largest_section.
2164
2165 Fri Apr 2 14:33:52 1993 Ian Lance Taylor (ian@cygnus.com)
2166
2167 * ldlang.c (lang_output_section_statement_lookup): Initialize all
2168 fields of newly created structure.
2169
2170 Wed Mar 31 18:19:15 1993 Ian Lance Taylor (ian@cygnus.com)
2171
2172 * ldmain.c (g_switch_value): New variable.
2173 * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
2174 (command_line_option): Accept -G and set g_switch_value.
2175 * ldlex.l (COMMAND): Accept -G.
2176 * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
2177
2178 Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2179
2180 Support for linking and loading at different places:
2181
2182 * ldlex.l: Add "AT" keyword.
2183 * ldgram.y: Cleanup, and parse AT.
2184 * ldlang.c (print_output_section_statement): Print output address
2185 of section in map. (lang_size_sections): Fill sections' lma with
2186 load address.
2187 * ldlang.h (lang_output_section_statement_type): Add load_base
2188 information.
2189
2190 * ldindr.c (add_indirect): Keep more information in the alias
2191 symbol chain.
2192 * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
2193 attribute from an input section.
2194 * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
2195 default. (Q_enter_file_symbos): Indirect symbols now are known by
2196 their section, not a special symbol flag.
2197 * ldsym.c (write_file_locals): Indirect symbols aren't local.
2198 (write_file_globals): Write the mapping for an indirect symbol.
2199 * relax.c (build_it): When forced to write a NEVER_LOAD section,
2200 fill it with zeros.
2201
2202 Tue Mar 23 13:24:10 1993 Jeffrey Osier (jeffrey@fowanton.cygnus.com)
2203
2204 * ld.texinfo: changes for q1
2205
2206 Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2207
2208 * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
2209
2210 Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2211
2212 * Makefile.in: rename HOST_CC to CC_FOR_BUILD
2213
2214 Thu Mar 4 12:44:33 1993 Ian Lance Taylor (ian@cygnus.com)
2215
2216 * mips.sc-sh: Added variables which may be overridden by a
2217 specific emulation.
2218 * mipsidt.sh: New file; emulation for IDT MIPS board.
2219 * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
2220 (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
2221 * config/mips-idt.mt: New file; sets EMUL to mipsidt.
2222 * configure.in (mips-idt-ecoff): New target; uses mips-idt.
2223
2224 Sat Feb 27 00:00:14 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
2225
2226 * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
2227 ralphc@pyramid.com.
2228 * i386bsd.sh, config/i386bsd.mt: New files.
2229 * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
2230
2231 Thu Feb 25 15:33:10 1993 Per Bothner (bothner@rtl.cygnus.com)
2232
2233 * mri.c: Add extern declaration of strdup.
2234 * ldsym.c (KEEP macro): Add spaces around '=' for the
2235 sake of old (e.g. PCC) compilers.
2236
2237 Wed Feb 24 19:49:31 1993 Per Bothner (bothner@rtl.cygnus.com)
2238
2239 * ldver.c: Bump to version 2.1.
2240
2241 Fri Feb 12 08:09:11 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2242
2243 * ldgram.y: allow section types without address expressions.
2244 * ldlang.c (lang_relocate_globals): avoid possible hang with
2245 undefined but unreferenced symbols.
2246 * relax.c (relax_section): don't complain if the script file isn't
2247 relaxable but -relax is set
2248
2249 Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2250
2251 * configure.in: go32 is the 3rd part of the triple, not the 2nd
2252
2253 Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com)
2254
2255 * mipsbig.sh: New file. Big endian MIPS emulation.
2256 * config/mips-big.mt: New file. Use mipsbig emulation.
2257 * configure.in (mips-sgi-irix*): Use target mips-big.
2258 * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
2259 (em_mipsbig.c): New target. Uses mipsbig.sh.
2260
2261 Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com)
2262
2263 * mips.sc-sh: Put .scommon sections into .sbss section.
2264
2265 * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
2266 rather than always putting them in bfd_com_section.
2267 * ldlang.c (lang_common): If a common symbol is not in
2268 bfd_com_section, put in a section of the same name, rather than
2269 always putting it in section COMMON.
2270
2271 Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
2272
2273 * ldmain.c (subfile_wanted_p): If we already have a common
2274 definition of a symbol, don't necessarily pull in an object file
2275 that provides a non-common definition.
2276
2277 * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
2278 returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS
2279 linker.
2280 * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
2281 (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
2282
2283 Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com)
2284
2285 * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
2286 the link to it.
2287
2288 Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com)
2289
2290 * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
2291 checking for equality to bfd_com_section.
2292
2293 Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com)
2294
2295 * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF
2296 targets, linker script.
2297 * mipslit.sh: New file. Little endian MIPS emulation.
2298 * config/mips-lit.mt: New file. Use mipslit emulation.
2299 * configure.in (mips-dec-ultrix*): Use target mips-lit.
2300 * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
2301 (em_mipslit.c): New target. Uses mipslit.sh.
2302
2303 Thu Jan 14 15:30:27 1993 Ian Lance Taylor (ian@cygnus.com)
2304
2305 * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
2306 $(tooldir)/bin/gld, so that gcc can find it with or without
2307 collect2.
2308
2309 Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
2310
2311 * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
2312 write_norel. All linking is now done via write_relax. Call
2313 ldsym_write before calling write_relax.
2314 * relax.c: Added copyright.
2315 (write_relax): Renamed from write_relaxnorel. Added relocateable
2316 argument. seclet_dump renamed to bfd_seclet_link.
2317 * relax.h: Added copyright.
2318
2319 Mon Jan 11 15:41:56 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2320
2321 * ldmain.c (decode_library_subfile): Patch from
2322 hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
2323
2324 Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2325
2326 * config/vxworks960.mt renamed to config/i960.mt
2327
2328 * configure.in: sparc-aout emulates a sun4, as does
2329 sparc*-vxworks, i960-nindy uses gld960 emulation
2330
2331 Fri Jan 8 14:39:07 1993 Steve Chamberlain (sac@thepub.cygnus.com)
2332
2333 Fix support for NOLOAD, add INCLUDE
2334 * ldfile.c (ldfile_open_command_file): pass file name to
2335 lex_push_file.
2336 * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
2337 * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
2338 attribute.
2339
2340 Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2341
2342 * Makefile.in, config.h: no more default emulation. Make the lack
2343 of emulation a compile time error
2344
2345 Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2346
2347 * configure.in: recognise all sparclite variants, not just 'sparclite'
2348
2349 Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com)
2350
2351 * m68kcoff.sc-sh: define _end as well as end, for consistency with
2352 aout.sc-sh.
2353
2354 * configure.in: accept *-ericsson-ose for any m68k CPU.
2355
2356 * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
2357 for each output section.
2358
2359 Mon Dec 21 16:06:59 1992 Per Bothner (bothner@rtl.cygnus.com)
2360
2361 * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new
2362 macro bfd_asymbol_bfd as appropriate.
2363 * Makefile.in: Un-duplicate ldlex.c dependency.
2364 * condigure.in: Replace my_host case table by sourcing
2365 ../bfd/configure.host. Allow std-host as the default.
2366 * ldmisc.c: Change logic for C++ name demangling: There is
2367 no initial '_' to remove from stab-derived function names.
2368
2369 Sun Dec 13 16:31:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2370
2371 * ldlang.c (lang_init_script_file): don't attach the output file
2372 sections to the script file.
2373
2374 Wed Dec 9 08:38:05 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2375 * ldlang.c (wild): run expansion loop over command line bfd too.
2376 (lang_ini_script_file): initialize more parts of the command line
2377 bfd.
2378 * ldlex.l: fix DEFINED start states.
2379
2380 Mon Dec 7 08:43:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2381 -y support
2382 * ld.texinfo: new doc.
2383 * ldgram.y, ldlex.l: understand -y<symbol>
2384 * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
2385 print info. (add_ysym): new function.
2386 * ldsym.h: (ldsym_type): new define SYM_Y.
2387
2388 Sat Nov 21 03:15:27 1992 John Gilmore (gnu@cygnus.com)
2389
2390 * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
2391 ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
2392 ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue
2393 macros with PARAMS. Recreational cleanup. Update copyrights.
2394
2395 Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2396
2397 * Makefile.in: pass down the bfd source directory for includes
2398
2399 Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com)
2400
2401 * ldlang.c (lang_size_sections): don't change size and address for
2402 SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
2403 sections.
2404
2405 Thu Nov 5 11:33:57 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2406
2407 * relax.c (build_it): re-enable the processing of data_statements
2408 in scripts, makes counted contructor lists work again.
2409
2410 Thu Nov 5 05:43:01 1992 John Gilmore (gnu@cygnus.com)
2411
2412 * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS).
2413
2414 Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com)
2415
2416 * m68kcoff.sc-sh: don't use initial underscores for etext, edata
2417 and end.
2418
2419 Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
2420
2421 * Support for i386-sysv.
2422 configure.in: check for i386-*-sysv* and i386-*-sco*.
2423 i386coff.sc-sh: rewrote to support SVR3 by default.
2424 ldctor.c (find_constructors): preserve stat_ptr.
2425 ldlang.c (wild_doit): initialize vma and size of new output
2426 section to corresponding input section. This is required for
2427 shared library support.
2428 (lang_size_sections): don't modify vma and size of sections which
2429 are never loaded (for shared libraries).
2430 ldwrite.c (copy_and_relocate): copy the contents of any section
2431 which has contents, not just sections which are loaded (for shared
2432 libraries).
2433
2434 Thu Oct 15 15:20:26 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2435
2436 * ldlang.c (size_input_section): count the sizes of all sections
2437 we allocate.
2438
2439 Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2440
2441 * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
2442 to demangle symbols better
2443
2444 Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com)
2445
2446 * ldlang.c (lang_finish): don't warn if -e start symbol does not
2447 exist when linking with -r.
2448
2449 Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com)
2450
2451 * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
2452 .bss segment.
2453
2454 Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2455
2456 * ldmain.c (linear_library): don't even think about processing
2457 an object file if it's already been done
2458
2459 Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2460
2461 * configure.in: the hp9000/300 config file is now hp300
2462
2463 Wed Sep 30 07:34:09 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2464
2465 * config/z8ksim.mt: new file
2466
2467 Fri Sep 25 13:49:52 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
2468
2469 * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
2470 lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
2471
2472 * ld.h (strip_symbols_type): Add value STRIP_SOME.
2473 * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
2474 * ldlang.c (lang_add_keepsyms_file): New function.
2475 * ldlex.l: Handle "-retain-symbols-file".
2476 * ldsym.c (keepsyms_file, kept_syms): New vars.
2477 (process_keepsyms): New functihon; reads file, marks symbols for
2478 saving.
2479 (write_file_locals): File symbols should always be kept.
2480 (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
2481 and "-s". Process retain-symbols file before setting symtab.
2482 * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
2483 (keepsyms_file, kept_syms): Declare them.
2484
2485 * ldmain.c (main): Non-fatal errors should still cause non-zero
2486 exit status even with -r.
2487
2488 Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2489
2490 Added initial support for the z8k
2491 * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
2492 * configure.in, Makefile.in: modified to reflect above
2493
2494 * ldlang.c (lang_check): when linking conflicting architectures,
2495 make the output file reflect at least one of the bad inputs.
2496
2497 Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com)
2498
2499 * Makefile.in (install): if $(tooldir) exists, install ld in
2500 $(tooldir)/bin.
2501
2502 Fri Sep 11 10:24:22 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2503
2504 * Makefile.in, configure.in: modified to support i386-coff
2505 * i386coff.sh: new file
2506
2507 Wed Sep 9 11:52:58 1992 Ian Lance Taylor (ian@cygnus.com)
2508
2509 * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
2510 added m68k-coff emulation mode, stolen from a29k emulation.
2511 Almost certainly wrong, but perhaps better than sun3.
2512
2513 Thu Sep 3 14:19:30 1992 Per Bothner (bothner@rtl.cygnus.com)
2514
2515 * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
2516 gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
2517 vanilla.em: Rename all (generated) ld__*.c files to em_.c.
2518 This is one character shorter, and lets people build on
2519 SVR3 system. (ld__h8300xray.[co] was the killer there;
2520 h8300xray.sc-sh is also overlong, but seems harmless.)
2521 Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
2522 * Makefile.in (clean): Fix typo mostclean -> mostlyclean.
2523 * configure.in: Add host isc.
2524
2525 * ldver.c: Call it version 2.0.
2526
2527 Wed Sep 2 00:21:33 1992 Per Bothner (bothner@rtl.cygnus.com)
2528
2529 * ldver.c: Bump to version 0.98.
2530 * TODO: New file.
2531
2532 * Makefile.in: Added mostlyclean, distclean, realclean rules.
2533
2534 Tue Sep 1 23:42:16 1992 Per Bothner (bothner@rtl.cygnus.com)
2535
2536 * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c).
2537 * ldlex.l: Moved comment() to end, since some compilers
2538 otherwise have problems with input() used before it is defined.
2539
2540 Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2541
2542 * configure.in: added Solaris 2 and Irix 4 host support.
2543
2544 Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2545
2546 * Makefile.in: remove -S flag from the FLEX definition
2547
2548 * configure.in: rewrote, using new style case statement. use
2549 m68k.mt for m68k-aout systems
2550
2551 Sun Aug 30 21:38:53 1992 Ian Lance Taylor (ian@cygnus.com)
2552
2553 * Makefile.in: map "ld" through program_transform_name when
2554 installing.
2555
2556 Sun Aug 30 18:12:13 1992 Per Bothner (bothner@rtl.cygnus.com)
2557
2558 * cplus-dem.c: Removed. Use the version in libiberty now.
2559 * ldmisc.c: Use new libiberty version of cplus_demangle().
2560
2561 Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com)
2562
2563 * gld960.em (gld960_choose_target): default to little endian, not
2564 big endian.
2565
2566 Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2567
2568 * ldlang.c (lang_process): don't pass null pointers when
2569 abs_output_section is what is required.
2570 * ldwrite.c (ldwrite): use malloc to allocate the largest space
2571 used, and pass that down.
2572 * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather
2573 than alloca.
2574
2575 Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com)
2576
2577 * configure.in, config/ose68.mt: renamed OSE to ose.
2578
2579 Thu Aug 20 19:55:22 1992 Ken Raeburn (raeburn@cygnus.com)
2580
2581 * ldsym.c (write_file_locals): Reorder check for common or
2582 undefined symbols so that it works.
2583
2584 Tue Aug 18 13:41:36 1992 Ian Lance Taylor (ian@cygnus.com)
2585
2586 * configure.in: accept all m68K family members.
2587
2588 * Makefile.in: always create installation directories.
2589
2590 Thu Aug 13 11:49:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2591
2592 * ldlex.l: now parses comment correctly, added ~ to acceptable
2593 chars in filenames
2594
2595 * ldexp.c (exp_unop): pass down abs_output_section - now can have
2596 unary -ve constants.
2597
2598 * ldlang.c (lang_finish): warn when an entry symbol supplied on
2599 the command line can't be found.
2600
2601 Fri Aug 7 12:31:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2602
2603 * ldlang.h: add new field "loadable" to output_section_statement.
2604 * ldlang.c (lang_output_section_statement_lookup): initilize new
2605 field. (wild_doit): if new field is not set, then stop output
2606 section from being loadable.
2607 (lang_enter_output_section_statement): set the field from the
2608 NOLOAD keyword
2609 * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
2610 * h8300hms.sc-sh, h8300hms.em: get -r right.
2611
2612 Thu Aug 6 18:35:21 1992 Per Bothner (bothner@rtl.cygnus.com)
2613
2614 * ldint.texinfo: New internals manual (beginnings thereof).
2615 * PORTING: Removed, merged into ldint.texinfo.
2616
2617 Tue Aug 4 21:12:29 1992 Per Bothner (bothner@rtl.cygnus.com)
2618
2619 * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
2620 cdtest.exp: A test program (copied from libg++/test-install)
2621 that tests that constructor and destructors are handled
2622 corrrectly.
2623
2624 Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2625
2626 * Makefile.in (install): install from ld.new, renaming during the
2627 copy, or else the next 'make install' needs to re-link ld.
2628
2629 Mon Jul 20 03:37:06 1992 D. V. Henkel-Wallace (gumby@cygnus.com)
2630
2631 * configure.in: generalise hp recognition (from sef).
2632
2633 Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
2634
2635 * configure.in: recognize bsd and hpux hppa configurations.
2636 error messages echo to stderr, not stdout
2637
2638 Fri Jul 17 22:06:11 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2639
2640 * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
2641 ldmisc.c: removed rcsid's.
2642
2643 Tue Jul 14 08:34:34 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2644
2645 * ldlang.c (lang_map): print changes in sizes due to relaxing
2646 (size_input_section): maintain the delta information.
2647 * ldlang.h: add new field to struct to contain delta info.
2648 * relax.c (relax_section): complain if input not relaxable.
2649 * ldlex.l : add '_', ',' and '$' to chars which can appear at the
2650 start of a filename
2651
2652 Mon Jul 13 17:33:00 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2653
2654 * ldmain.c(main): prevent -r and -relax from being on at the same
2655 time.
2656
2657 Wed Jul 1 17:51:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2658
2659 * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
2660 aliasing problems
2661
2662
2663 Thu Jun 18 09:38:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2664
2665 * h8300hms.em, h8300hms.sc-sh: do the right thing for -r
2666 * ldexp.c: lint
2667 * ldlang.c(open_output): set the target arch and machine as soon
2668 as we can. (lang_size_sections): use new macros for setting vma
2669 * ldwrite.c: lint
2670
2671 Mon Jun 15 08:47:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
2672
2673 * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
2674 Also deleted an unreachable path to wrs.
2675
2676 Wed May 27 23:24:19 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
2677
2678 * Makefile.in (install): use -d test for $tooldir before
2679 installing ld there so that $tooldir can be inherited from
2680 top-level Makefile.
2681
2682 Wed May 27 16:56:48 1992 Per Bothner (bothner@rtl.cygnus.com)
2683
2684 * ldlang.c: Two non-substantial changes for the sake of
2685 the old Portable C Compiler.
2686
2687 Wed May 27 15:15:58 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2688
2689 * ldgram.y, ldlex.l: parse ABSOLUTE
2690 * ldexp.c: add support for ABSOLUTE
2691
2692 Wed May 27 13:07:20 1992 Per Bothner (bothner@rtl.cygnus.com)
2693
2694 * Makefile.in: Added default definitions for HOSTING_CRT0,
2695 HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
2696 * config/*.mh: Miscellaneous clean-up: Removed definitions
2697 of YACC (since it is not longer used in the Makefile).
2698 Remove HOSTING_* definitions that are subsumed by the
2699 ones added to Makefile.in. Removed most definitions of CC.
2700 * config/{sparc,news,hp300bsd,decstation}.mh: Removed;
2701 These are no longer needed.
2702
2703 Fri May 22 13:47:19 1992 Per Bothner (bothner@cygnus.com)
2704
2705 * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
2706 rules, since these are used when building a distribution.
2707 * Makefile.in (ldlex.c): Don't re-direct output, since that
2708 leaves a bogus output files if it fails.
2709
2710 * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working.
2711 * ldlex.c: Fix some unnecessary flex-specific-isms.
2712
2713 Fri May 8 11:49:43 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2714
2715 * ldgram.y: move spurious semicolon
2716 * ldexp.h: fix prototype
2717
2718 Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
2719
2720 * ld.texinfo: references to linker now say "ld" not "gld".
2721
2722 Wed May 6 13:26:19 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2723
2724 changed calling convention for Q_enter_global_ref
2725 * ldexp.c, ldlang.c, ldmain.c: reflect this
2726 * ldver.c: bump version to 1.97.1
2727 * ldindr.c (add_indirect): when an edict declaring an indirect
2728 symbol is found, make sure that any ideas about the symbol being
2729 common are changed if it now known to be defined.
2730 * ldmain.c (linear_library): complain once if archive isn't
2731 ranlibbed.
2732 * ldlang.h, ldlang.c: make room for and initialize the complain
2733 once field.
2734
2735 Wed May 6 11:07:35 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2736
2737 * Makefile.in: use flex & bison from ../ if they exist.
2738
2739 Tue May 5 17:47:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2740
2741 * relax.c (build_it): don't allocate space in the output file for
2742 stuff if -R flag applys to it.
2743 * ldfile.c: merge in VMS filename support
2744 * ldmain.c (main): take out ./ from library path, and close file
2745 before unlinking. Make multiple defs of a symbol create an
2746 unexecable file.
2747 * ldmisc.c: fatal errosrs delete output file
2748
2749 Tue May 5 14:05:05 1992 Per Bothner (bothner@rtl.cygnus.com)
2750
2751 * ldver.c: Increase version number to 1.97, for consistency
2752 with ../binutils.
2753
2754 Tue May 5 12:12:24 1992 K. Richard Pixley (rich@cygnus.com)
2755
2756 * Makefile.in: FLEX -> LEX.
2757
2758 * ld.texinfo: {} -> @{@}.
2759
2760 Mon May 4 17:52:41 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
2761
2762 * ld.texinfo: describe alternate, MRI-compatible linker scripts
2763 (and associated change in -c option, now used for these scripts)
2764
2765 Mon May 4 16:10:10 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2766
2767 * ldver.c: Bumped version to 1.96 - new release, resync with the
2768 bfd too #.
2769 * ldexp.c, ldlang.c: now build memory shape tree in obstacks
2770 rather than with raw malloc, makes it easier to track where memory
2771 is going.
2772 * ldsym.h, ldsym.c: create obstack for all global symbols too.
2773 * ldwrite.c (ldwrite): moved malloc so only used when needed.
2774 * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
2775
2776
2777 Fri May 1 18:17:52 1992 K. Richard Pixley (rich@cygnus.com)
2778
2779 * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
2780
2781 * Makefile.in: use bootstrap for check.
2782
2783 Fri May 1 13:03:41 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2784
2785 * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
2786 PUBLIC.
2787 * Makefile.in: now use flex, not lex
2788 * ldlex.l, ldlang.c, ldctor.c: lint
2789
2790 Wed Apr 22 12:48:42 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2791
2792 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
2793 different sorts of filenames on the command line than in a script.
2794
2795 Mon Apr 20 22:37:04 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2796
2797 * Makefile.in: rework CFLAGS so that they can be passed on the
2798 make command line. Remove MINUS_G. Default CFLAGS to -g.
2799
2800 Fri Apr 17 08:57:17 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2801
2802 * relax.c: added handling for new "padding" seclet type, used to
2803 fill out gaps between section.
2804 * ldgram.y, ldlex.l: now -defsym on the command line is done
2805 properly.
2806
2807 Wed Apr 15 21:20:07 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2808
2809 * Makefile.in: the tooldir copy of ld goes directly in tooldir.
2810
2811 Wed Apr 15 16:09:33 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2812
2813 * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
2814 scripts.
2815
2816 Thu Apr 9 05:52:02 1992 Ken Raeburn (Raeburn@Cygnus.COM)
2817
2818 * Makefile.in (install): Install second copy in $(tooldir)/bin
2819 without $(program_prefix), since that's what gcc expects.
2820
2821 Sat Apr 4 17:44:06 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2822
2823 * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
2824 * h8300*: fix bit rot and add support for h8300xray target
2825 * go32.sh: target emulation for go32.
2826
2827 Mon Mar 16 14:53:29 1992 Steve Chamberlain (sac@rtl.cygnus.com)
2828
2829 * gld960.em, i960.sc-sh. Fix i960 bit rot
2830
2831 Fri Mar 13 19:47:22 1992 K. Richard Pixley (rich@cygnus.com)
2832
2833 * Makefile.in: install man page.
2834
2835 Fri Mar 13 08:23:59 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2836
2837 * config/mt-<foo> renamed to <foo>.mt
2838 * config/mh-<foo> renamed to <foo>.mt
2839 * configure.in changed to reflect this
2840 * genscripts.sh now make .xbn files rather than .xN files
2841
2842 Sat Mar 7 03:40:40 1992 K. Richard Pixley (rich@cygnus.com)
2843
2844 * ldver.h: fix decl of ldversion.
2845
2846 Fri Mar 6 22:00:35 1992 K. Richard Pixley (rich@cygnus.com)
2847
2848 * Makefile.in: added check target.
2849
2850 Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2851
2852 * ldmain.c (Q_enter_file_symbols): now aliases work again
2853
2854 Thu Mar 5 21:39:29 1992 K. Richard Pixley (rich@cygnus.com)
2855
2856 * Makefile.in: added clean-info target.
2857
2858 Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
2859
2860 * ldexp.c (exp_print_tree): don't try and follow null pointers
2861 around.
2862 * ldgram.y: remove 11 shift reduce errors
2863
2864 Tue Mar 3 15:46:39 1992 K. Richard Pixley (rich@rtl.cygnus.com)
2865
2866 * Makefile.in: added tooldir and program_prefix.
2867
2868 Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com)
2869
2870 * ldlang.c (size_input_section): don't move absolute sections
2871 around!
2872
2873
2874 Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
2875
2876 * cplus-dem.c: yet another copy of this - maybe it should go into
2877 libiberty ?
2878 * ldgram.y: now -V and -v have different actions
2879 * ldver.c: if -V, prints list of emulations compiled in
2880 * ldmisc.c: support for cplus demangling
2881
2882
2883 Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
2884
2885 * Makefile.in, configure.in: removed traces of namesubdir,
2886 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
2887 copyrights to '92, changed some from Cygnus to FSF.
2888
2889 Thu Feb 20 17:43:46 1992 Per Bothner (bothner at cygnus.com)
2890
2891 * Makefile.in: Change mkscript rule into one for ./mkscript
2892 (for the sake of makes that don't realize they're the same).
2893 * PORTING: Add more details.
2894 * genscripts.sh: Add more tailorability of DATA_ALIGNMENT.
2895
2896 Mon Feb 17 12:04:36 1992 Per Bothner (bothner at cygnus.com)
2897
2898 * Makefile.in, and new files hp300bsd.sh, config/mh-hp300bsd,
2899 config/mt-hp300bsd: New port to hp300 running BSD.
2900
2901 Sat Feb 15 13:59:54 1992 Per Bothner (bothner at cygnus.com)
2902
2903 Major rewrite of how ld is configured. The major idea
2904 is to use shell scripts to generate everything.
2905 * generic.em replaces ldtemplate.
2906 * Other *.em files replace various *.c files.
2907 A *.em file is a shell script that generates the corresponding
2908 ld__*.c file that implements an emulation. This is usually
2909 a straight 'cat' of a here-document, possibly with substitutions.
2910 * Script files (*.sc) are places by *.sc-sh scripts.
2911 Again, these are simple shell scripts that 'cat'
2912 here-documents, usually with some substitutions.
2913 The output a *.sc-sh is a script file.
2914 * Each emulation is defined by a short shell script with
2915 extension *.sh that specifies the emulation-specific
2916 parameters (such as the name of the *.sh-sc and *.em
2917 files to use).
2918 * genscript.sh is the master shell script used to generate
2919 an emulation. It is passed various argument, including
2920 the name a the emulation-speciic *.sh file that it
2921 "sources" to set variables to emulation-specifc parameters.
2922 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
2923 to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
2924 * config/mh-foo: Rename LDEMULATION names as appropriate
2925 (usually 'gldfoo' -> plain 'foo').
2926 * ldwrite.c: Fixed a typo in a comment.
2927 * Makefile.in: Major changes. Removed some the sed
2928 magic to converts scripts, since that is now handled
2929 by genscripts.sh and the *.sc-sh scipt generators.
2930 * config.h: Remove a bunch of macros defining emulations
2931 and targets. This becomes one less file to edit when
2932 adding emulations or targets.
2933 * ldemul.h (struct ld_emulation_xfer_struct): Add
2934 emulation_name and target_name fields.
2935 * ldemul.c, ldemul.h: Define some default functions used
2936 by most emulations (and remove from the *.em scripts).
2937 * ldemul.c (ldemul_choose_target): Search the new
2938 ld_emulations array using a loop (instead of a hardwired
2939 nested if statement).
2940 Define the ld_emulation from the automatically-geenrated
2941 ldemul-list.h. This means you no longer have to edit ldemul.c
2942 to add a new emulation.
2943 * ldmain.c: Replace {GLD,LNK}960_EMULATION_NAME by
2944 their expansions, since the former no longer exist.
2945 * PORTING: A very rough first draft of a porting guide.
2946
2947 * ldgram.y, ldlex.l, lexsup.c: Changes to allow an assignment
2948 to be terminated by a new-line (instead of requiring a semicolon).
2949
2950 Mon Feb 10 16:21:02 1992 Steve Chamberlain (sac at rtl.cygnus.com)
2951
2952 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
2953 tests for NULL pointers all over the place.
2954 * ldlang.c (lang_process): remember to relocate global symbols
2955 *after* relaxing has done it stuff.
2956
2957 Thu Feb 6 11:40:15 1992 Steve Chamberlain (sac at rtl.cygnus.com)
2958
2959 * config/mt-coff-h8300: use EMUL like everything else
2960 * ldlang.c: (print_padding_statement): print the right address.
2961 * Makefile.in, config.h, ldemul.c: renamed h8300hds to h8300hms
2962
2963
2964 Tue Feb 4 15:28:01 1992 Steve Chamberlain (sac at rtl.cygnus.com)
2965
2966 * ldlex.l: Put pack -noinhibit-exec and -sort-common
2967 * ldlang.c (print_data_statement): print the right address.
2968
2969 Thu Jan 30 17:51:53 1992 Per Bothner (bothner at cygnus.com)
2970
2971 * Makefile.in: The rule for testing ld by re-linking itself
2972 via an intermediate -r link was moved to the ld1 rule
2973 instead of the ld2 rule. This allows ld2 and ld3 to be identical,
2974 which allows the bootstrap rule to work.
2975 * ldctor.c (find_constructors): Don't create a constructor
2976 list if it is already defined (as would happen if ld is
2977 invoked by collect).
2978
2979 Wed Jan 29 08:35:39 1992 Steve Chamberlain (sac at rtl.cygnus.com)
2980
2981 * config/mh-sparc.h: now uses libgcc.a
2982 * ldmain.c: quit using exit
2983 * *sc: use *(COMMON) rather than [COMMON]
2984 * ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
2985 to allow preprocessing of .l file.
2986 * Makefile.in: New ldlex.l mangling
2987 * ldexp.c (fold_binary): perform expressions with % and / in
2988 integer.
2989 * ldfile.c (open_a): open archives on VMS in a special way
2990
2991
2992 Tue Jan 28 10:18:16 1992 Steve Chamberlain (sac at rtl.cygnus.com)
2993
2994 * ldgram.y: map -M behave in the same way as -Map (sets file name
2995 to be "-".
2996 * ldsym.c, ldlang.c: remember that size of a section is dependent on
2997 whether or not relaxing has been done.
2998 * ldmain.c: don't open a map file if it doesn't have a name
2999 * relax.c: all the brains have moved into bfd.
3000 * ldwrite.c: ammend comment
3001
3002 Fri Jan 24 14:23:46 1992 Steve Chamberlain (sac at rtl.cygnus.com)
3003
3004 * Makefile.in: added relax, also made three stage go through a
3005 partial link stage.
3006 * relax.c : added
3007 * config.h: if GNU960 defined, then default emulation mode is
3008 GLD960
3009 * ldexp.h, ldexp.c: map to file hooks
3010 * ldlang.c: map to file hooks
3011 * ldgram.y: added -Map -relax
3012 * ldlex.l: added -relax, -Map
3013 * ldmain.c: open map file
3014 * ldmisc.c: support for map file
3015 * ldwrite.c: new relax magic
3016
3017 Thu Dec 19 18:49:51 1991 John Gilmore (gnu at cygnus.com)
3018
3019 * Makefile.in, config/tm-*.h: Clean up make output, only
3020 pass DEFAULT_EMULATION to ldmain.c.
3021
3022 Wed Dec 18 15:02:47 1991 Per Bothner (bothner at cygnus.com)
3023
3024 * ldver.c: Bump to version 1.94.
3025
3026 Tue Dec 10 04:07:23 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3027
3028 * Makefile.in: infodir belongs in datadir.
3029
3030 Mon Dec 9 16:26:43 1991 Per Bothner (bothner at cygnus.com)
3031
3032 * Makefile.in: Pass -y to bison. (Again;
3033 accidentally deleted by Rich.)
3034 * news.sc, ldgld68k.sc: Define __end as well as _end.
3035
3036 Sat Dec 7 17:19:26 1991 Steve Chamberlain (sac at rtl.cygnus.com)
3037
3038 * ldindr.h: added to contain prototypes of ldindr.c
3039 * ldfile.c: include ctype.h
3040 * ldmain.c: include the requried prototype headers
3041 * ldwrite.c: get_reloc_upper_bound has been renamed
3042 bfd_get_reloc_upper_bound
3043
3044 Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3045
3046 * Makefile.in: punt "fundamental" mode because it breaks my emacs
3047 macros. install using INSTALL_PROGRAM and INSTALL_DATA. remove
3048 spaces following hyphens, bsd make can't cope. added
3049 standards.text support and made it look like all the other
3050 makefiles.
3051
3052 * configure.in: configure now runs entirely in objdir so make file
3053 existence checks against ${srcdir}. Mark this directory as
3054 target dependent.
3055
3056 Thu Dec 5 22:46:16 1991 K. Richard Pixley (rich at rtl.cygnus.com)
3057
3058 * Makefile.in: idestdir and ddestdir go away. Added copyrights
3059 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
3060 and mandir now keyed off datadir by default.
3061
3062 Wed Dec 4 23:36:55 1991 Per Bothner (bothner at cygnus.com)
3063
3064 * ldver.c: Bumped version to 1.93.
3065 * Makefile.in: Pass -y to bison.
3066
3067 Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com)
3068
3069 * config.h: h8 is now coff, not ieee
3070 * h8300hds.sc: reflect the same
3071
3072 Thu Nov 14 19:55:09 1991 Per Bothner (bothner at cygnus.com)
3073
3074 * ldver.c (ldversion()): Update to 1.92.
3075 * ldctor.c: There are two places constructor sets
3076 can be defined. One of them checked for an existing
3077 duplicate, the other didn't. Unfortunately, the latter
3078 was called after the former ...
3079 So, factor out code for inserting a new element into
3080 constructor_name_list (after checking for a duplicate)
3081 into a new function add_constructor_name, and call
3082 it from both aforementioned places (ldlang_add_constructor
3083 and ldlang_check_for_constructors).
3084
3085 Wed Nov 13 15:17:43 1991 Per Bothner (bothner at cygnus.com)
3086
3087 * Makefile.in: Rename .c files generated from ldtemplate
3088 to have names starting with ld__. This helps 'make clean'.
3089
3090 Tue Nov 12 18:36:50 1991 Steve Chamberlain (sac at cygnus.com)
3091
3092 * Makefile.in: Take out the version number for install
3093 * m88kbcs.sc: put in contructor blocks.
3094
3095 Mon Nov 11 18:47:33 1991 Per Bothner (bothner at cygnus.com)
3096
3097 * ldmisc.c, ldmisc.h: Re-write info() to take a filename
3098 parameter, a format, and an arg pointer, and rename it to
3099 vfinfo(). Write info() in terms of new vfinfo().
3100 New einfo() is the same as info(), except it writes to stderr.
3101 * ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
3102 ldmisc.c: Replace "error" calls to info() by new einfo().
3103
3104 Mon Nov 11 09:57:32 1991 Steve Chamberlain (steve at cygnus.com)
3105
3106 * ldlex.l ldgram.y: made -V option do same as -v
3107 * Makefile.in: Added $(MINUS_G) flag so debugging can be
3108 turned off
3109
3110 Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com)
3111 i386 aout changes from Bob Kukura
3112 * Makefile.in, config.h: added i386aout support
3113 * configure.in: fixed /h-{myhost} typo
3114 * ldgram.y: -MM now gives more boring map.
3115 * ldlang.c: now does D_PAGED flag the right way.
3116 * ldsym.c: -MM flags does the right thing.
3117
3118 Sun Nov 3 15:00:03 1991 Per Bothner (bothner at cygnus.com)
3119
3120 * configure.in: Fixed typo. Also, a fix for hp300bsd.
3121 * ldlang.c (init_os): Compensate for BFD change,
3122 where bfd_make_section now returns NULL for a duplicate
3123 section request, instead of the old section.
3124
3125 Thu Oct 17 15:27:13 1991 Per Bothner (bothner at cygnus.com)
3126
3127 * ldver.c: Bump to version 1.91 (consistent with binutils).
3128
3129 Wed Oct 16 12:27:08 1991 Per Bothner (bothner at cygnus.com)
3130
3131 * Makefile.in, config.h, ld.h, ldemul.c, ldexp.c, ldexp.h,
3132 ldgram.y, ldlex.l, ldlnk960.c, ldmain.c, ldmisc.c, ldmisc.h,
3133 ldsym.c, ldsym.h, ldtemplate, ldvanilla.c, ldver.c, ldver.h,
3134 ldwarn.c, ldwarn.h, ldwrite.c, ldwrite.h, mkscript.c:
3135 Add or update copyright notices.
3136
3137 Mon Oct 14 23:55:27 1991 Per Bothner (bothner at cygnus.com)
3138
3139 * README: New file.
3140 * Makefile.in: Changed installation directory name scheme
3141 to be consistent with gcc. Also changed 'install'.
3142
3143 Mon Oct 14 17:30:02 1991 Roland H. Pesch (pesch at cygnus.com)
3144
3145 * Makefile.in: new targets ld.mm, ld.me
3146
3147 Mon Oct 14 17:27:24 1991 Per Bothner (bothner at cygnus.com)
3148
3149 * Makefile.in, ldtemplate: Need to use separate scripts
3150 for -n and -N options. Yet more complication.
3151
3152 Fri Oct 11 22:40:46 1991 John Gilmore (gnu at cygnus.com)
3153
3154 * Makefile.in: Avoid using $< in explicit Make rules (it doesn't
3155 work). Add some lines to avoid Sun Make VPATH bugs.
3156
3157 Fri Oct 11 16:42:22 1991 Per Bothner (bothner at cygnus.com)
3158
3159 * news.sc: Add alignment for data segment.
3160 * ldtemplate: Add (yet another) script to get for -n or -N
3161 options. (These need different alignment than ZMAGIC files.)
3162 * Makefile.in: Add stuff for new foo.xn scripts.
3163 These are generated by replacing "ALIGN(0x...00)" by ".".
3164
3165 Fri Oct 11 15:43:04 1991 Roland H. Pesch (pesch at cygnus.com)
3166
3167 * Makefile.in: new targets ld.ms, ld-index.ms
3168 ld.texinfo: remove tabs, other cleanups for texi2roff
3169
3170 Fri Oct 11 13:51:54 1991 Per Bothner (bothner at cygnus.com)
3171
3172 * ldmain.c (main): Make config.magic_demand_paged be true
3173 by default. Don't the WP_TEXT and D_PAGED flags of
3174 output_bfd here; it's too late, so set it when output_bfd
3175 is created (in ldlang.c). Also fix setting of EXEC_P flag
3176 * ldlang.c (ldlang_open_output): Set output_bfd->flags here.
3177 * ldlang.c: Remove some duplicate extern declarations.
3178 * ldgram.y: Fixes to -N and -n options.
3179 * Makefile.in: Recognize upper case letters in sed script
3180 to remove assignments from script files.
3181 * ldtemplate: Don't assukme that -N or -n options
3182 imply use of -r script.
3183 * mkscript.c: Tweaking to correctly handle \n and \\ in input.
3184
3185 Fri Oct 11 10:29:27 1991 Steve Chamberlain (steve at cygnus.com)
3186
3187 * ldtemplate: include bfd.h before sysdep.h.
3188
3189 Fri Oct 11 04:24:45 1991 John Gilmore (gnu at cygnus.com)
3190
3191 Restructure configuration scheme for bfd, binutils, ld.
3192
3193 * include/sys/h-*.h: Move to bfd/hosts/h-*.h.
3194 * configure.in: Revise to symlink sysdep.h to ../bfd/hosts/h-xxx.h.
3195 Change some config names to match other dirs.
3196 * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO()
3197 get defined first.
3198 * config/: Rename some config files to match up h-*.h names.
3199 Remove all the HOST_SYS definitions from the config files.
3200
3201 Tue Oct 8 16:00:57 1991 Per Bothner (bothner at cygnus.com)
3202
3203 * ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
3204 * ldtemplate: Remove ldfile_add_library_path calls;
3205 just use the SEARCH_DIR commands in the script files.
3206 * Makefile.in: Add LIB_PATH macro, which if set is used to replace
3207 the SEARCH_DIR commands in the scripts (using ugly sed magic).
3208 This is primarily intended for cross-linking, where you would
3209 place libaries in a different place than native libraries.
3210 Also, emulations made from ldtemplate now use $(srcdir).
3211 * ldglda29k.sc: Change SEARCH_DIR commands to a conventional
3212 form; people can use the Makefile's LIB_PATH to override.
3213
3214 Tue Oct 8 14:51:21 1991 Roland H. Pesch (pesch at cygnus.com)
3215
3216 * Makefile.in: fix target ld.dvi, add target ld.info
3217 ld.texinfo: make info filename ld.info
3218
3219 Fri Oct 4 21:51:58 1991 John Gilmore (gnu at cygnus.com)
3220
3221 * Makefile.in: Avoid using $< in non-suffix rules (breaks on Sun
3222 Make).
3223 * ldfile.c, ldlang.c, ldmain.c, ldwrite.c: Cope with renames of a
3224 few BFD types & enums.
3225
3226 \f
3227 Local Variables:
3228 mode: indented-text
3229 left-margin: 8
3230 fill-column: 74
3231 version-control: never
3232 End: