1 2004-11-04 Daniel Jacobowitz <dan@debian.org>
3 * Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
4 (earmelf_oabi.c): Remove rule.
5 * configure.tgt: Remove arm-*-oabi and thumb-*-oabi.
6 * emulparams/armelf_oabi.sh, emultempl/armelf_oabi.em: Delete files.
7 * Makefile.in: Regenerated.
9 2004-11-04 Hans-Peter Nilsson <hp@axis.com>
11 * configure.tgt (crisv32-*-*): Handle like cris-*-* for non-aout.
12 * emulparams/criself.sh (INIT_START): Remove emitted "push srp".
14 (INIT_END): Remove emitted "jump [sp+]".
17 2004-11-04 Alan Modra <amodra@bigpond.net.au>
19 * emultempl/ppc64elf.em (no_tls_opt): Rename from notlsopt.
20 (no_opd_opt, no_toc_opt): New static vars.
21 (ppc_before_allocation): Don't edit opt if no_opd_opt. Call
23 (OPTION_NO_OPD_OPT, OPTION_NO_TOC_OPT): Define.
24 (PARSE_AND_LIST_LONGOPTS): Add no-opd-optimize and no-toc-optimize.
25 (PARSE_AND_LIST_OPTIONS): Describe new options.
26 (PARSE_AND_LIST_ARGS_CASES): Handle them.
28 2004-10-27 Nick Clifton <nickc@redhat.com>
30 * emultempl/alphaelf.em (alpha_after_parse): Add extra, NULL,
31 parameter to invocation of lang_section_start.
32 * emultempl/aix.em (_handle_option): Likewise.
34 * Makefile.am (eelf64alpha.c, eelf64alpha_fbsd.c,
35 eelf64alpha_nbsd.c): Add dependency upon emultempl/alphaelf.em.
36 * Makefile.in: Regenerate.
38 2004-10-26 Mark Mitchell <mark@codesourcery.com>
40 * emulparams/armelf.sh (OTHER_READONLY_SECTIONS): Do not emit
41 __exidx_{start,end} when not relocating.
43 2004-10-25 Mark Mitchell <mark@codesourcery.com>
45 * Makefile.in (earmsymbian.c): Depend on armbpabi.sc, not elf.sc.
46 * ldexp.h (segment_type): New type.
47 (segments): New variable.
48 * ldexp.c (segments): New variable.
49 (exp_print_token): Handle SEGMENT_START.
50 (fold_binary): Likewise.
51 * ldgram.y (SEGMENT_START): Declare it as a token.
52 (exp): Handle SEGMENT_START.
53 * ldlang.h (lang_address_statement_type): Add segment field.
54 (lang_section_start): Change prototype.
55 * ldlang.c (map_input_to_output_sections): Do not process section
56 assignments if a corresponding SEGMENT_START has already been
58 (lang_section_start): Add segment parameter.
59 * ldlex.l (SEGMENT_START): Add it.
60 * lexsup.c (seg_segment_start): New function.
61 (parse_args): Use it for -Tbss, -Tdata, and -Ttext.
62 * ld.texinfo (SEGMENT_START): Document it.
63 * emulparams/armsymbian.sh (EMBEDDED): Set it.
64 * scripttempl/armbpabi.sc: Use SEGMENT_START to control segment
65 base addresses. Do not map relocations.
66 * NEWS: Mention SEGMENT_START.
68 2004-10-26 Paul Brook <paul@codesourcery.com>
70 * ld.texinfo: Document --default-symver.
71 * ldmain.c (main): Set link_info.create_default_symver.
72 * lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER.
73 (ld_options): Add default-symver.
74 (parse_args): Handle OPTION_DEFAULT_SYMVER.
76 2004-10-24 Danny Smith <dannysmith@users.sourceforge.net>
78 * pe-dll.c (process_def_file): Don't export all symbols by default if
79 building a position-independent executable.
81 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
84 * ldmain.c (reloc_overflow): Accept a pointer to struct
85 bfd_link_hash_entry. Report symbol location for relocation
88 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
90 * genscripts.sh (libpath.exp): Really generate for first
93 2004-10-19 Danny Smith <dannysmith@users.sourceforge.net>
95 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Simplify
96 comparison and replacement of filenames.
98 2004-10-19 H.J. Lu <hongjiu.lu@intel.com>
101 * ldlang.c (load_symbols): Use the same -Bdynamic/-Bstatic
102 option on linker script as the one for linker script.
104 2004-10-16 Daniel Jacobowitz <dan@debian.org>
106 * ldlang.c (struct excluded_lib, excluded_libs, add_excluded_libs)
107 (check_excluded_libs): New.
108 (load_symbols): Call check_excluded_libs.
109 * ldlang.h (add_excluded_libs): New prototype.
110 * emultempl/elf32.em (OPTION_EXCLUDED_LIBS): Define.
111 (gld${EMULATION_NAME}_add_options): Add --exclude-libs.
112 (gld${EMULATION_NAME}_handle_option): Handle --exclude-libs.
113 * ld.texinfo (Command Line Variables): Document --exclude-libs.
114 (Options Specific to i386 PE Targets): Remove --exclude-libs.
116 2004-10-15 Alan Modra <amodra@bigpond.net.au>
118 * ldexp.c (exp_fold_tree): Don't immediately exit ld on a
119 failing link script assert.
121 * ldctor.c (ldctor_add_set_entry): Fix comment typo.
123 2004-10-14 H.J. Lu <hongjiu.lu@intel.com>
126 * emulparams/elf64_ia64.sh (SMALL_DATA_CTOR): Set.
127 (SMALL_DATA_DTOR): Set.
128 * emulparams/elf64_ia64_fbsd.sh (SMALL_DATA_CTOR): Unset.
129 (SMALL_DATA_DTOR): Unset.
130 * scripttempl/elf.sc: If SMALL_DATA_CTOR is set, move .ctors
131 after .data. If SMALL_DATA_DTOR is set, move .dtors after
134 2004-10-14 Alan Modra <amodra@bigpond.net.au>
137 * ldlang.h (lang_output_section_statement_type): Make "next" a
138 struct lang_output_section_statement_struct *.
139 (struct orphan_save): Move from elf32.em. Add "name" and "flags".
140 (lang_output_section_find_by_flags, lang_insert_orphan): Declare.
141 * ldlang.c (lang_output_section_find_1): Adjust for changed
142 output_section_statement "next".
143 (strip_excluded_output_sections): Likewise.
144 (lang_record_phdrs): Likewise.
145 (lang_output_section_find_by_flags): New function.
146 (output_prev_sec_find): Move from pe.em. Adjust iterator.
147 (lang_insert_orphan): New function. Tail end of elf32.em's
148 place_orphan merged with that from pe.em. Allow bfd_section to
149 be placed first. New heuristic for placing new output section
150 statement in existing script, and accompanying split of __start
151 symbol alignment into a separate assignment to dot.
152 (lang_add_section): Consistently use output->bfd_section rather than
153 an alias, section->output_section.
154 (map_input_to_output_sections): Rename overly long arg. Move
155 initialization of data_statement output section to here..
156 (lang_check_section_addresses): ..from here.
157 (print_assignment): Correct printing of etree_assert.
158 (print_all_symbols): Don't bomb if userdata is NULL.
159 (IGNORE_SECTION): Rearrange.
160 * emultempl/elf32.em (output_rel_find): Adjust interator.
161 (output_prev_sec_find): Delete.
162 (struct orphan_save): Delete.
163 (gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
164 flags without creating a duplicate output section statement.
165 Revise code holding history of various orphan section placements.
166 Allow orphan sections to place before script specified output
167 sections. Call lang_output_section_find_by_flags when placement
168 by name fails. Use lang_insert_orphan.
169 * emultempl/mmo.em (output_prev_sec_find): Delete.
170 (struct orphan_save): Delete.
171 (mmo_place_orphan): Revise code holding history of orphan placement.
172 Allow orphans to place before existing output sections. Use
174 * emultempl/pe.em (output_prev_sec_find): Delete.
175 (struct orphan_save): Delete.
176 (gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
179 2004-10-13 Mark Mitchell <mark@codesourcery.com>
181 * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
184 2004-10-13 Alan Modra <amodra@bigpond.net.au>
187 * ldcref.c (check_section_sym_xref): Delete.
188 (check_local_sym_xref): New function.
189 (check_nocrossrefs): Adjust call.
190 * emultempl/pe.em (struct orphan_save): Add os_tail.
191 (place_orphan): Backport assorted fixes from elf32.em.
193 2004-10-12 Bob Wilson <bob.wilson@acm.org>
195 * emultempl/xtensaelf.em: Use ISO C90 formatting.
197 2004-10-11 Jakub Jelinek <jakub@redhat.com>
199 * emultempl/elf32.em (gld${EMULATION_NAME}_parse_ld_so_conf): Avoid
200 getline for portability.
202 * emultempl/elf32.em (gld${EMULATION_NAME}_ld_so_conf): New structure.
203 (gld${EMULATION_NAME}_parse_ld_so_conf,
204 gld${EMULATION_NAME}_parse_ld_so_conf_include): New functions.
205 (gld${EMULATION_NAME}_check_ld_so_conf): Use them.
207 2004-10-11 Alan Modra <amodra@bigpond.net.au>
210 * ldfile.c (ldfile_try_open_bfd): Ensure dynamic objects are
211 rejected when linking statically.
213 2004-10-08 Daniel Jacobowitz <dan@debian.org>
215 * configure.tgt: Include elf_x86_64 for i[3-7]86-*-solaris2*.
217 2004-10-07 Bob Wilson <bob.wilson@acm.org>
219 * ld.texinfo (Xtensa): Describe new linker relaxation to optimize
220 assembler-generated longcall sequences. Describe new --size-opt
222 * emulparams/elf32xtensa.sh (OTHER_SECTIONS): Add .xt.prop section.
223 * emultempl/xtensaelf.em (remove_section,
224 replace_insn_sec_with_prop_sec, replace_instruction_table_sections,
225 elf_xtensa_after_open): New.
226 (OPTION_OPT_SIZEOPT, OPTION_LITERAL_MOVEMENT,
227 OPTION_NO_LITERAL_MOVEMENT): Define.
228 (elf32xtensa_size_opt, elf32xtensa_no_literal_movement): New globals.
229 (PARSE_AND_LIST_LONGOPTS): Add size-opt and [no-]literal-movement.
230 (PARSE_AND_LIST_OPTIONS): Add --size-opt.
231 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_OPT_SIZEOPT,
232 OPTION_LITERAL_MOVEMENT, and OPTION_NO_LITERAL_MOVEMENT.
233 (LDEMUL_AFTER_OPEN): Set to elf_xtensa_after_open.
234 * scripttempl/elfxtensa.sc: Update with changes from elf.sc.
235 * Makefile.am (eelf32xtensa.c): Update dependencies.
236 * Makefile.in: Regenerate.
238 2004-10-07 Jeff Baker <jbaker@qnx.com>
240 * lexsup.c: Handle --warn-shared-textrel option.
241 (ld_options): Restore alpha sorting of options.
242 * ldmain.c (main): Initialise warn_shared_info field to FALSE.
243 * ld.texinfo: Add documentation for --warn-shared-textrel.
244 * NEWS: Added mention of --warn-shared-textrel option.
246 2004-10-05 Tomer Levi <Tomer.Levi@nsc.com>
248 * emultempl/crxelf.em (disable_relaxation): Add.
249 (crxelf_before_allocation): Enable --relax option by default.
250 (PARSE_AND_LIST_PROLOGUE): Add OPTION_NO_RELAX.
251 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-relax.
252 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NO_RELAX.
254 2004-10-04 H.J. Lu <hongjiu.lu@intel.com>
256 * NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
257 --sort-section name|alignment.
259 * ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
260 --sort-section name|alignment.
262 * ld.h (sort_type): New enum.
263 (wildcard_spec): Change the type of `sorted' to sort_type.
265 * ldgram.y (SORT): Removed.
266 (SORT_BY_NAME): Added.
267 (SORT_BY_ALIGNMENT): Added.
268 (wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
270 (input_section_spec_no_keep): Updated `sorted'.
271 (statement): Replace SORT with SORT_BY_NAME.
273 * ldlang.c (compare_section): New function to compare 2
274 sections with different sorting schemes.
275 (wild_sort): Updated. Use compare_section.
276 (update_wild_statements): New function.
277 (lang_process): Call update_wild_statements before
278 map_input_to_output_sections.
280 * ldlex.l (SORT_BY_NAME): New.
281 (SORT_BY_ALIGNMENT): New.
282 (SORT): Return SORT_BY_NAME.
284 * ldmain.c (sort_section): New. Defined.
285 (main): Initialize it to none.
287 * lexsup.c (option_values): Add OPTION_SORT_SECTION.
288 (ld_options): Add an entry for OPTION_SORT_SECTION.
289 (parse_args): Handle OPTION_SORT_SECTION.
291 * mri.c (mri_draw_tree): Updated `sorted'.
293 2004-10-04 Jakub Jelinek <jakub@redhat.com>
295 * ldgram.y (DATA_SEGMENT_RELRO_END): Add one argument.
296 * scripttempl/elf.sc (DATA_SEGMENT_RELRO_END): Add 0 as first
298 (DATA_SEGMENT_RELRO_GOTPLT_END): Pass $SEPARATE_GOTPLT as first
299 and . as second argument.
300 (GOTPLT): Move $DATA_SEGMENT_RELRO_GOTPLT_END before the section.
301 * ldexp.c (fold_unary): Remove DATA_SEGMENT_RELRO_END handling here.
302 (fold_binary): Add it here. Insert padding to make relro_end
303 COMMONPAGESIZE bytes aligned. For DATA_SEGMENT_ALIGN in
304 exp_dataseg_relro_adjust phase just use previously computed
306 * ldlang.c (lang_size_sections): Set exp_data_seg.base for
307 relro_adjust here. Call lang_size_sections_1 once more if there
308 was too big padding at DATA_SEGMENT_RELRO_END.
309 * ld.texinfo (DATA_SEGMENT_RELRO_END): Add documentation.
311 2004-10-01 Paul Brook <paul@codesourcery.com>
313 * emulparams/armelf.sh: Add unwinding table sections.
315 2004-09-30 Filip Navara <navaraf@reactos.com>
317 * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Generate
318 correct base address for position independant executables.
319 * pe-dll.c (pe_dll_fill_sections): Don't mark position independant
322 2004-09-30 Paul Brook <paul@codesourcery.com>
324 * ld.texinfo: Document --target2=abs.
325 * emulparms/armsymbian.sh (TARGET2_TYPE): Set.
327 2004-09-29 Nick Clifton <nickc@redhat.com>
329 * scripttempl/xstormy16.sc: Only perform the assignments to the
330 ROM region when not performing a relocatable link. The ROM region
331 does not start at address 0, but the sections will.
332 * Makefile.am: Fix linker script dependency for the generation of
334 * Makefile.in: Regenerate.
336 2004-09-18 Filip Navara <navaraf@reactos.com>
338 * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh,
339 emulparams/i386pe_posix.sh, emulparams/mcorepe.sh,
340 emulparams/mipspe.sh, emulparams/ppcpe.sh, scripttempl/pe.sc: Define
342 * scripttempl/pe.sc: Make the virtual address and file offset synced if
343 the alignment is lower than the target page size.
345 2004-09-27 Filip Navara <navaraf@reactos.com>
347 * emultempl/pe.em (gld_${EMULATION_NAME}_unrecognized_file): Allow
348 def_file_parse to handle pe_def_file if NULL and prevent crash with
351 2004-09-27 Alan Modra <amodra@bigpond.net.au>
353 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Enable
354 --emit-stub-syms automatically when --emit-relocs.
356 2004-09-24 Paul Brook <paul@codeosurcery.com>
358 * scripttempl/elf.sc: Keep .preinit_array, .init_array and
359 .fini_array sections.
361 2004-09-19 Andreas Schwab <schwab@suse.de>
363 * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
364 base so that relro end is suitably aligned.
366 2004-09-17 Paul Brook <paul@codesourcery.com>
368 * ld.texinfo: Rename arm-specific section. Document --target*
369 * emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
370 * emulparams/armelf_linux.sh: Ditto.
371 * emulparams/armelf_nbsd.sh: Ditto.
372 * emultempl/armelf.em: Set default for TARGET2_TYPE.
373 (target2_type): New variable.
374 (arm_elf_before_allocation): Don't pass target1_type.
375 (arm_elf_create_output_section_statements): New function.
376 (PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
377 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
378 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
379 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
380 * emultempl/armelf_oabi.em (_before_allocation): Remove extra
381 argument to bfd_elf32_arm_process_before_allocation.
383 2004-09-17 Alan Modra <amodra@bigpond.net.au>
385 * ldexp.c (fold_name): Update u.undef.next refs.
386 * emultempl/pe.em: Likewise.
387 * emultempl/sunos.em: Likewise.
389 2004-09-17 Alan Modra <amodra@bigpond.net.au>
391 * Makefile.am: Run "make dep-am".
392 * Makefile.in: Regenerate.
393 * config.in: Regenerate.
394 * configure: Regenerate.
395 * aclocal.m4: Regenerate.
396 * po/ld.pot: Regenerate.
398 2004-09-16 Tomer Levi <Tomer.Levi@nsc.com>
400 * scripttempl/elf32crx.sc (.init): Add KEEP for section's *personality*.
404 2004-09-16 Alan Modra <amodra@bigpond.net.au>
406 * emultempl/armelf_oabi.em (before_allocation): Add extra zero param
407 to bfd_elf32_arm_process_before_allocation call.
409 2004-09-13 Paul Brook <paul@codesourcery.com>
411 * emulparams/armsymbian.sh: Set TARGET1_IS_REL.
412 * emultempl/armelf.em: Use TARGET1_IS_REL. Add --target1-{rel,abs}.
414 2004-09-07 H.J. Lu <hongjiu.lu@intel.com>
416 * configure: Regenerated with autconfig 2.13.
418 2004-09-07 Andreas Schwab <schwab@suse.de>
420 * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Apply data segment
421 alignment before adjusting DATA_SEGMENT_RELRO_END.
423 2004-09-06 Mark Mitchell <mark@codesourcery.com>
425 * emulparams/armsymbian.sh: Use armbpabi script.
426 * scripttempl/armbpabi.sc: New script.
428 2004-09-02 Mark Mitchell <mark@codesourcery.com>
430 * Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
431 (earmsymbian.c): New target.
432 * configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
433 * Makefile.in: Regenerated.
434 * aclocal.m4: Likewise.
435 * configure: Likewise.
436 * emulparams/armsymbian.sh: New file.
438 2004-09-03 Tomer Levi <Tomer.Levi@nsc.com>
440 * scripttempl/elf32crx.sc: Edit file with comments.
441 (.init): Add new section.
443 (.ctor): Control the linkage order.
446 2004-08-27 Nick Clifton <nickc@redhat.com>
448 * emultempl/pe.em (after_open): Do not assume that either bfd is
451 2004-08-26 Alan Modra <amodra@bigpond.net.au>
453 * ldlang.c (lang_init): Don't compare with TRUE.
455 2004-08-25 Dmitry Diky <diwil@spec.ru>
457 * emulparams/msp430all.sh: Fix RAM sizes for all targets.
458 * scripttempl/elf32msp430.sc: Add .profiler section definition.
460 2004-08-24 H.J. Lu <hongjiu.lu@intel.com>
462 * ldlang.c (wildcardp): Defined as a macro with strpbrk.
464 2004-08-19 Mark Mitchell <mark@codesourcery.com>
466 * configure.tgt (arm*-*-symbianelf*): New target.
467 (arm*-*-eabi*): Likewise.
469 2004-08-19 Jakub Jelinek <jakub@redhat.com>
471 * emultempl/ppc64elf.em (non_overlapping_opd): New variable.
472 (ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
473 (OPTION_NON_OVERLAPPING_OPD): Define.
474 (PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
475 --non-overlapping-opd option.
477 2004-08-18 Alan Modra <amodra@bigpond.net.au>
480 * ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
481 was already on the undefs list.
483 2004-08-17 Alan Modra <amodra@bigpond.net.au>
485 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Dot
486 prefix the symbol field too.
488 2004-08-13 Alan Modra <amodra@bigpond.net.au>
490 * ldmain.c (link_callbacks): Remove "error_handler".
491 * ldmisc.c: Include elf-bfd.h.
492 (vfinfo): Sort comment. Handle %A. Use %A instead of
493 bfd_get_section_indent.
494 (error_handler): Delete.
495 * ldmisc.h (error_handler): Delete declaration.
497 2004-08-10 Alan Modra <amodra@bigpond.net.au>
499 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Call
500 ppc64_elf_restore_symbols.
502 2004-08-09 Alan Modra <amodra@bigpond.net.au>
504 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if
505 .toc is too large on relocatable linking.
507 2004-08-09 Alan Modra <amodra@bigpond.net.au>
509 * emultempl/ppc64elf.em (ppc_after_open): Delete.
510 (LDEMUL_AFTER_OPEN): Don't define.
512 2004-08-02 Stephane Carrez <stcarrez@nerim.fr>
514 * ld.texinfo (Top): Document specific options of 68HC11 and 68HC12.
516 2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
518 * scripttempl/elfm68hc12.sc: Align text, rodata and data section
521 2004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
523 * emulparams/hppanbsd.sh (OUTPUT_FORMAT): Set to "elf32-hppa-netbsd".
525 2004-07-26 Dmitry Diky <diwil@spec.ru>
527 * Makefile.am: Add new subtargets: msp430x1610, msp430x1611,
528 msp430x1612, msp430x415, msp430x417, msp430xG437, msp430xG438,
530 * configure.tgt: Likewise.
531 * emulparams/msp430all.sh: Likewise.
532 * Makefile.in: Regenerate.
534 2004-07-23 Nick Clifton <nickc@redhat.com>
536 * emultempl/elf32.em (_place_orphan): Use an already existing
537 section name if that section does not have any flags set.
539 2004-07-21 H.J. Lu <hongjiu.lu@intel.com>
541 * ldlang.c (already_linked_hash_entry): Removed.
542 (already_linked): Likewise.
543 (already_linked_table): Likewise.
544 (section_already_linked): Call bfd_section_already_linked.
545 (lang_process): Replace already_linked_table_init with
546 bfd_section_already_linked_table_init and check return. Replace
547 already_linked_table_free with bfd_section_already_linked_table_free.
549 2004-07-21 Nick Clifton <nickc@redhat.com>
551 * ldlang.c (init_os): Make sure that the newly allocated userdata
552 structure is zeroed out.
554 2004-07-19 H.J. Lu <hongjiu.lu@intel.com>
556 * NEWS: Mention the new --add-needed/--no-add-needed and
557 --as-needed/--no-as-needed options.
559 2004-07-19 H.J. Lu <hongjiu.lu@intel.com>
561 * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): Also
562 check the add_needed field.
563 (dt_needed): New struct.
564 (gld${EMULATION_NAME}_try_needed): Change the first argument
565 to a pointer to struct dt_needed. Check the DYN_NO_ADD_NEEDED
566 bit in the file where the DT_NEEDED entry comes from.
567 (gld${EMULATION_NAME}_search_needed): Change the second
568 argument to a pointer to struct dt_needed.
569 (gld${EMULATION_NAME}_check_ld_so_conf): Updated.
570 (gld${EMULATION_NAME}_after_open): Likewise.
572 * ld.texinfo: Add --add-needed document.
573 * ldlang.c (new_afile): Set p->add_needed.
574 * ldlang.h (lang_input_statement_type): Add add_needed field.
575 * ldmain.h (add_needed): Declare.
576 * ldmain.c (add_needed): New global var.
577 * lexsup.c (option_values): Add OPTION_ADD_NEEDED and
578 OPTION_NO_ADD_NEEDED.
579 (ld_options): Likewise.
580 (parse_args): Handle them.
582 2004-07-13 Christof Petig <christof@petig-baender.de>
584 * emultempl/pe.em (make_import_fixup): Use bfd_get_32 to correct
585 for endian-ness of extracted addend.
587 2004-07-13 Danny Smith <dannysmith@usesr.sourceforge.net>
589 * pe-dll.c (auto_export): Filter on just the import prefix,
590 "_imp_", not "_imp__".
592 2004-07-09 Nick Clifton <nickc@redhat.com>
594 * configure.tgt: Change sh-sybmian-elf to sh-*-symbianelf.
596 2004-07-06 Tomer Levi <Tomer.Levi@nsc.com>
598 * Makefile.am (ALL_EMULATIONS): Add eelf32crx.o.
599 (eelf32crx.c): New target.
600 * Makefile.in: Regenerate.
601 * configure.tgt: Handle crx-*-elf*.
602 * emulparams/elf32crx.sh: New file.
603 * emultempl/crxelf.em: New file.
604 * scripttempl/elf32crx.sc: New file.
605 * NEWS: Mention new target.
607 2004-07-06 Nick Clifton <nickc@redhat.com>
609 * Makefile.am: Add eshlsymbian.c.
610 * Makefile.in: Regenerate.
611 * configure.tgt: Add sh*-symbian-elf target.
612 * emulparams/shlsymbian.sh: New file. Configure the
613 sh-symbian-elf linker scripts.
614 * scripttemp/elf32sh-symbian.sc: New file. Linker script
615 template for the sh-symbian-elf target.
617 2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
619 * emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
620 * emulparams/hppalinux.sh: Likewise.
621 * scripttempl/elf.sc: Place .plt just before .got when .plt is in
622 data segment and PLT_BEFORE_GOT is defined.
624 2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
626 * ld.texinfo (WIN32): Document PE weak symbols.
628 2004-07-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
630 * emulparams/shlelf32_linux.sh (COMMONPAGESIZE): Set to 4KB.
632 2004-07-01 H.J. Lu <hongjiu.lu@intel.com>
634 * ldmisc.c (vfinfo): Call bfd_get_section_ident to identify
637 2004-06-29 Alan Modra <amodra@bigpond.net.au>
639 * ldlang.c (lang_reset_memory_regions): Save last relax pass section
642 2004-06-24 Alan Modra <amodra@bigpond.net.au>
644 * ldlang.c (print_output_section_statement): Don't print size before
646 (IGNORE_SECTION): Remove bfd arg. Update all callers.
648 * ldexp.c (fold_name): .. See below.
649 * ldlang.c (section_already_linked, print_output_section_statement,
650 print_input_section, insert_pad, size_input_section,
651 lang_check_section_addresses, lang_size_sections_1,
652 lang_size_sections, lang_do_assignments_1, lang_set_startof,
653 lang_one_common, lang_reset_memory_regions, lang_process,
654 lang_abs_symbol_at_end_of, lang_do_version_exports_section): ..
655 * ldwrite.c (build_link_order, clone_section, ds, split_sections): ..
656 * pe-dll.c (process_def_file, generate_reloc): ..
657 * emultempl/elf32.em (gld${EMULATION_NAME}_find_statement_assignment,
658 gld${EMULATION_NAME}_before_allocation): ..
659 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): ..
660 * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_before_allocation,
661 sh64_elf_${EMULATION_NAME}_after_allocation): ..
662 * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): ..
663 * emultempl/xtensaelf.em (ld_assign_relative_paged_dot,
664 ld_local_file_relocations_fit, ld_xtensa_insert_page_offsets): Use
665 "size" instead of "_raw_size" and "_cooked_size". Expand
666 bfd_section_size macro invocations.
668 2004-06-22 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
670 * ld/scripttemp/pe.sc (.CRT): Define ___crt_xc_start__,
671 ___crt_xc_end__, ___crt_xi_start__, ___crt_xi_end__, ___crt_xl_start__,
672 ___crt_xp_start__, ___crt_xp_end__, ___crt_xt_start__ and
674 (.tls): Define ___tls_start__ and ___tls_end__.
676 2004-06-21 Alexandre Oliva <aoliva@redhat.com>
678 * emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
680 2004-06-18 Adam Nemet <anemet@lnxw.com>
682 * configure.in: Set EXTRA_SHLIB_EXTENSION to .a for LynxOS.
683 * configure: Regenerate.
685 2004-06-15 Jakub Jelinek <jakub@redhat.com>
687 * scripttempl/elf.sc: Readd KEEP and .gcc_except_table.* to
688 .gcc_except_table output sections lost accidentally with
691 2004-06-15 Alan Modra <amodra@bigpond.net.au>
693 * ldwrite.c (build_link_order): Use bfd_get_section_size
694 instead of bfd_get_section_size_before_reloc or _raw_size.
695 * pe-dll.c (process_def_file): Likewise.
697 2004-06-14 Alan Modra <amodra@bigpond.net.au>
699 From Richard Wirth <r.wirth@wirthware.de>
700 * ldlang.c (lang_finish): Don't free lang_definedness_table.
702 2004-05-29 Alan Modra <amodra@bigpond.net.au>
704 * ldlang.c (gc_section_callback): Move SEC_EXCLUDE twiddles..
705 (lang_gc_sections): .. to a LANG_FOR_EACH_INPUT_STATEMENT loop here.
707 2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
709 * testsuite/ld-sh/arch/arch.exp: New test script.
710 * testsuite/ld-sh/arch/arch_expected.txt: New file.
711 * testsuite/ld-sh/arch/sh.s: New file.
712 * testsuite/ld-sh/arch/sh2.s: New file.
713 * testsuite/ld-sh/arch/sh-dsp.s: New file.
714 * testsuite/ld-sh/arch/sh2e.s: New file.
715 * testsuite/ld-sh/arch/sh3-nommu.s: New file.
716 * testsuite/ld-sh/arch/sh3.s: New file.
717 * testsuite/ld-sh/arch/sh3-dsp.s: New file.
718 * testsuite/ld-sh/arch/sh3e.s: New file.
719 * testsuite/ld-sh/arch/sh4-nommu-nofpu.s: New file.
720 * testsuite/ld-sh/arch/sh4-nofpu.s: New file.
721 * testsuite/ld-sh/arch/sh4.s: New file.
722 * testsuite/ld-sh/arch/sh4a-nofpu.s: New file.
723 * testsuite/ld-sh/arch/sh4al-dsp.s: New file.
724 * testsuite/ld-sh/arch/sh4a.s: New file.
726 2004-05-28 Alan Modra <amodra@bigpond.net.au>
728 * ldlang.c: Formatting. Wrap long lines, expand bfd_get_section_flags
730 * lexsup.c: Formatting. Wrap long lines.
731 * ldwrite.c: Update copyright date.
733 * ldlang.c (lang_add_section): Don't twidlle SEC_EXCLUDE here.
734 (output_section_callback): Nor SEC_KEEP here.
735 (gc_section_callback): Twiddle SEC_EXCLUDE here.
736 (lang_gc_wild): Delete. Fold into..
737 (lang_gc_sections_1): ..here. Only call bfd_gc_sections when garbage
739 (lang_process): Always call lang_gc_sections.
740 (lang_place_orphans): Handle SEC_EXCLUDE sections.
741 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Remove
744 2004-05-26 H.J. Lu <hongjiu.lu@intel.com>
746 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Clear
747 SEC_EXCLUDE on non-SEC_DEBUGGING sections for relocatable link.
748 * ldlang.c (lang_add_section): Likewise.
750 2004-05-26 Alan Modra <amodra@bigpond.net.au>
752 * ldlang.c (lang_add_section): Set SEC_EXCLUDE for SEC_GROUP
753 sections when doing a final link. Clear SEC_EXCLUDE when doing
754 a relocable link, except for SEC_DEBUGGING sections.
755 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Use the
756 same condition here to drop SEC_EXCLUDE orphan sections.
758 2004-05-25 Alan Modra <amodra@bigpond.net.au>
760 * ldlang.c (lang_process): Call bfd_merge_sections later, and
761 only when not a relocatable link.
762 (print_input_section): Handle SEC_EXCLUDE sections.
763 (size_input_section): Don't update dot on SEC_EXCLUDE sections.
764 (lang_do_assignments_1): Likewise.
765 * ldwrite.c (build_link_order): Ignore SEC_EXCLUDE input sections.
766 * emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Likewise.
767 * emultempl/hppaelf.em (build_section_lists): Likewise.
768 * emultempl/ppc64elf.em (build_toc_list): Likewise.
769 (build_section_lists): Likewise.
771 2004-05-23 Andreas Schwab <schwab@suse.de>
773 * ld.texinfo (Options): Fix typo in last change.
775 2004-05-21 Andy Chittenden <achittenden@bluearc.com>
777 * ld.h (ld_config_type): Add new field: hash_table_size.
778 * ldmain.c: Initialise the new field to zero. If it is non-zero
779 after parsing the linker's command line call
780 bfd_hash_set_default_size.
781 * lexsup.c (option_values): Add OPTION_HASH_SIZE.
782 (ld_options): Add hash-size.
783 (parse_args): Parse --hash-size option. Allow
784 --reduce-memory-overheads to set the default hash table size as
786 * ld.texinfo: Document the new switch. Also mention that
787 --reduce-memory-overheads can affect the hash table size.
788 * NEWS: Mention the new feature.
790 2004-05-19 J"orn Rennecke <joern.rennecke@superh.com>
792 * NEWS: Mention new linker map file generation and the
793 --reduce-memory-overheads option.
794 * ld.texinfo: Document --reduce-memory-overheads option.
795 * ld.h (map_symbol_def): New struct.
796 (struct user_section_struct, section_userdata_type): Rename to:
797 (struct lean_user_section_struct, lean_section_userdata_type).
798 (struct fat_user_section_struct, fat_section_userdata_type): New.
799 (SECTION_USERDATA_SIZE): Define.
800 (args_type): New member reduce_memory_overheads.
801 * ldlang.c (map_obstack): New static variable.
802 (init_map_userdata, print_all_symbols, sort_def_symbol): New functions.
803 (lang_map): Unless command_line.reduce_memory_overheads is set,
804 initialize lists of defined symbols for each section.
805 (print_input_section): Unless command_line.reduce_memory_overheads
806 is set, use print_all_symbols.
807 (init_os): Use lean_section_userdata_type / SECTION_USERDATA_SIZE.
808 * ldmain.c (main): Initialize command_line.reduce_memory_overheads.
809 * lexsup.c (enum option_values): Add OPTION_REDUCE_MEMORY_OVERHEADS.
810 (ld_options): Add entry for --reduce-memory-overheads.
811 (parse_args): Handle OPTION_REDUCE_MEMORY_OVERHEADS.
813 2004-05-19 Jakub Jelinek <jakub@redhat.com>
815 * ldgram.y (sect_constraint): New.
816 (ONLY_IF_RO, ONLY_IF_RW): New tokens.
817 (section): Add sect_constraint. Pass additional argument
818 to lang_enter_output_section_statement.
819 * mri.c (mri_draw_tree): Pass additional argument to
820 lang_enter_output_section_statement.
821 * emultempl/pe.em (place_orphan): Likewise.
822 (output_prev_sec_find): Disregard output section statements with
824 * emultempl/mmo.em (output_prev_sec_find): Likewise.
825 (mmo_place_orphan): Pass additional argument to
826 lang_enter_output_section_statement.
827 * emultempl/elf32.em (output_prev_sec_find): Disregard output section
828 statements with constraint == -1.
829 (place_orphan): Pass additional argument to
830 lang_enter_output_section_statement.
831 * ldlang.c (lang_enter_overlay_section): Likewise.
832 (lang_output_section_find_1): New.
833 (lang_output_section_find): Use it.
834 (lang_output_section_statement_lookup_1): New.
835 (lang_output_section_statement_lookup): Use it.
836 (check_section_callback, check_input_sections): New.
837 (map_input_to_output_sections): Check if all input sections
838 are readonly if ONLY_IF_RO or ONLY_IF_RW was seen.
839 (strip_excluded_output_sections): Disregard output section statements
840 with constraint == -1.
841 (lang_record_phdrs): Likewise.
842 (lang_enter_output_section_statement): Add constraint argument.
843 Use lang_output_section_statement_lookup_1.
844 * ldlang.h (lang_output_section_statement_type): Add constraint
845 and all_input_readonly fields.
846 (lang_enter_output_section_statement): Adjust prototype.
847 * ldlex.l (ONLY_IF_RO, ONLY_IF_RW): New tokens.
848 * scripttempl/elf.sc (.eh_frame, .gcc_except_table): Move into text
849 segment if all input sections are readonly.
851 2004-05-19 Adam Nemet <anemet@lnxw.com>
853 * scripttempl/i386lynx.sc: Remove file.
855 2004-05-17 Bob Wilson <bob.wilson@acm.org>
857 * ld.texinfo (Output Section Address): Correct subsection name.
859 2004-05-17 Adam Nemet <anemet@lnxw.com>
861 * configure.tgt (powerpc-*-lynxos* case): New case.
862 * configure.host (i[3-7]86-*-lynxos* case): Remove case.
863 * emulparams/ppclynx.sh: New file.
864 * emulparams/i386lynx.sh (SCRIPT_NAME): Update to LynxOS 4.0.
865 * Makefile.am (ALL_EMULATIONS): Add eppclynx.o
866 (ei386lynx.c): Update rule to LynxOS 4.0 ELF.
867 (eppclynx.c): New rule.
868 * Makefile.in: Regenerate.
870 2004-05-13 Joel Sherrill <joel@oarcorp.com>
872 * configure.tgt (or32-*-rtems*): Switch to elf and
873 support versioned targets.
875 2004-05-13 Nick Clifton <nickc@redhat.com>
877 * po/fr.po: Updated French translation.
879 2004-05-11 Jakub Jelinek <jakub@redhat.com>
881 * genscripts.sh: Generate -z combreloc -z now -z relro scripts
882 for binaries, -shared and -pie.
883 * emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
884 * emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
885 * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
886 (OTHER_RELRO_SECTIONS): ... this.
887 * ldlex.l (DATA_SEGMENT_RELRO_END): Add.
888 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
889 -z relro and -z norelro.
890 (gld${EMULATION_NAME}_list_options): Add it to usage.
891 (gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
892 -z relro scripts when appropriate.
893 * scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
894 Create separate .got.plt section if SEPARATE_GOTPLT.
895 Move sections which are only written during relocation handling
896 to the beginning of RW segment. If NO_SMALL_DATA, move .got
897 before .data. Add DATA_SEGMENT_RELRO_END directive.
898 Include OTHER_RELRO_SECTIONS.
899 * ldgram.y (DATA_SEGMENT_RELRO_END): Add.
900 * ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
901 (fold_unary): Likewise.
902 (fold_binary): Handle -z relro.
903 * ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
904 exp_dataseg_relro_adjust phases. Add relro_end field.
905 * ldmain.c (main): Initialize link_info.relro to FALSE.
906 * ldlang.c (lang_size_sections): Handle -z relro.
908 2004-05-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
910 * scripttempl/avr.sc: Do not set LMA for "eeprom" section.
912 2004-05-07 J"orn Rennecke <joern.rennecke@superh.com>
914 * ldlang.c (print_padding_statement): Cast size_t to bfd_vma
915 before printing it with %W.
917 2004-05-07 Brian Ford <ford@vss.fsi.com>
918 DJ Delorie <dj@redhat.com>
920 * emultempl/pe.em (real_flags): New static.
921 (OPTION_LARGE_ADDRESS_AWARE): New define.
922 (gld${EMULATION_NAME}_add_options): Add --large-address-aware option.
923 (gld_${EMULATION_NAME}_list_options): Likewise.
924 (gld${EMULATION_NAME}_handle_option): Likewise.
925 (gld_${EMULATION_NAME}_after_open): Pass real_flags to PE private data.
926 * ld.texinfo: Document it.
929 2004-05-07 Brian Ford <ford@vss.fsi.com>
931 * NEWS: Mention DWARF 2 support for i386pe.
933 2004-05-05 Alexandre Oliva <aoliva@redhat.com>
935 * emulparams/elf32frvfd.sh (OUTPUT_FORMAT): Switch to new
938 2004-04-30 Alan Modra <amodra@bigpond.net.au>
940 * ldlang.c (unique_section_p): Pass section parm, return true on
942 (output_section_callback): Adjust.
943 * ldlang.h (unique_section_p): Update prototype.
944 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
946 2004-04-30 Eric Botcazou <ebotcazou@act-europe.fr>
948 * ld.texinfo (--gc-sections): Remove restriction for
951 2004-04-29 Brian Ford <ford@vss.fsi.com>
953 * scripttempl/pe.sc: Handle .debug* and .gnu.linkonce.wi.* sections
954 for DWARF 2/3. Update stab section's syntax.
956 2004-04-29 Alan Modra <amodra@bigpond.net.au>
958 * pe-dll.c: Revert changes accidentally committed 2004-03-08.
959 (fill_edata): Correct pointer arithmetic.
961 2004-04-21 Chris Demetriou <cgd@broadcom.com>
963 * ld.texinfo: Remove MIPS --embedded-relocs documentation.
964 * emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
965 * emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
966 (EXTRA_EM_FILE): Use mipsecoff.em
967 * emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
968 (EXTRA_EM_FILE): Use mipsecoff.em
969 * emultempl/mipsecoff.em: Restructure to be included as an
970 extra emulation file.
971 (check_sections, gld${EMULATION_NAME}_after_open)
972 (gld${EMULATION_NAME}_after_allocation)
973 (gld${EMULATION_NAME}_get_script)
974 (ld_${EMULATION_NAME}_emulation): Remove
975 (gld${EMULATION_NAME}_before_parse): Rename to...
976 (mipsecoff_before_parse): This.
977 (LDEMUL_BEFORE_PARSE): Define.
978 * emultempl/mipself.em: Remove file.
979 * scripttempl/mips.sc (.rel.sdata): Do not include in output.
980 (__runtime_reloc_start, __runtime_reloc_stop): Stop providing
982 * Makefile.am: Remove dependencies on emultempl/mipself.em.
983 * Makefile.in: Regenerate.
985 2004-04-21 Anil Paranjpe <anilp1@kpitcummins.com>
987 * ld.texinfo (synthesizing on H8/300): Information about linker
988 relaxation support for bit manipulation instructions and system
989 control instructions is added.
991 2004-04-21 Hans-Peter Nilsson <hp@axis.com>
993 * NEWS: Mention change in DEFINED semantics.
995 2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
997 * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
998 (.data): Add KEEP for .gnu.linkonce.d.*personality*.
999 (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
1001 2004-04-21 Ben Elliston <bje@au.ibm.com>
1003 * ld.texinfo (Simple Example): Add missing punctuation.
1005 2004-04-20 Chris Demetriou <cgd@broadcom.com>
1007 * NEWS: Note that MIPS --embedded-relocs option is deprecated.
1009 2004-04-19 Jakub Jelinek <jakub@redhat.com>
1011 * ldlang.c (lang_do_assignments_1): Handle .tbss output section
1014 2004-04-18 Danny Smith <dannysmith@users.sourceforge.net>
1016 * scriptempl/pe.sc: Put numbered .ctors.* after .ctors
1017 with default priority. Likewise for dtors.
1019 2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1021 * configure.host: Remove mips*-dec-bsd* target.
1022 * configure.tgt: Likewise.
1024 2004-04-08 Richard Sandiford <rsandifo@redhat.com>
1026 * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix.
1027 * emulparams/elf64bmip.sh (EXTRA_EM_FILE): Likewise.
1028 * emulparams/elf32bmipn32.sh (EXTRA_EM_FILE): Likewise.
1029 * emultempl/irix.em: New file.
1030 * Makefile.am (eelf32bsmip.c, eelf32bmipn32.c, eelf64bmip.c): Update
1032 * Makefile.in: Regenerate.
1034 2004-04-01 Paul Brook <paul@codesourcery.com>
1036 * emultempl/armelf.em (byteswap_code): Add.
1037 (arm_elf_before_allocation): Pass extra parameter.
1038 (PARSE_AND_LIST_PROLOGUE): Add OPTION_BE8.
1039 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add be8.
1040 (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_BE8.
1041 * emultempl/armelf_oabi.em: Pass extra parameter.
1042 * ld.texinfo: Document --be8.
1044 2004-03-30 Stan Shebs <shebs@apple.com>
1046 Remove long-obsolete MPW support.
1047 * mpw-config.in, mpw-make.sed, mac-ld.r: Remove files.
1048 * Makefile.am (mpw): Remove file-presynthesizing actions.
1049 * Makefile.in: Likewise.
1050 * ldfile.c (slash): Remove MPW case.
1051 * ldlex.l [MPW]: Remove unused definition.
1053 2004-03-30 Galit Heller <Galit.Heller@nsc.com>
1055 * Makefile.am (ALL_EMULATIONS): Add eelf32cr16c.o.
1056 (eelf32cr16c.c): New target.
1057 * Makefile.in: Regenerate.
1058 * configure.tgt: Handle cr16c-*-elf*.
1059 * emulparams/elf32cr16c.sh: New file.
1060 * scripttempl/elfcr16c.sc: Likewise
1061 * NEWS: Mention support for new target.
1063 2004-03-30 Nick Clifton <nickc@redhat.com>
1065 * po/sv.po: Updated Swedish translation.
1067 2004-03-27 Alan Modra <amodra@bigpond.net.au>
1069 * emultempl/elf32.em: Update new bfd_elf_discard_info name.
1070 * emultempl/hppaelf.em: Likewise.
1071 * emultempl/ppc64elf.em: Likewise.
1072 * emultempl/sh64elf.em: Likewise.
1074 2004-03-25 Alan Modra <amodra@bigpond.net.au>
1076 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Update
1077 size_dynamic_sections call.
1079 2004-03-23 Alan Modra <amodra@bigpond.net.au>
1082 * emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
1083 link_info.wrap_char.
1085 2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
1087 * lexsup.c (parse_args): Don't set unresolved_syms_in_objects
1088 or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
1090 2004-03-20 Alexandre Oliva <aoliva@redhat.com>
1092 * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
1094 2004-03-19 Alan Modra <amodra@bigpond.net.au>
1096 * config.in: Regenerate.
1097 * po/ld.pot: Regenerate.
1099 2004-03-18 Alan Modra <amodra@bigpond.net.au>
1101 * ld.texinfo: Add --as-needed doco.
1102 * ldmain.c (as_needed): New global var.
1103 * ldmain.h (as_needed): Declare.
1104 * lexsup.c (option_values): Add OPTION_AS_NEEDED and
1105 OPTION_NO_AS_NEEDED.
1106 (ld_options): Likewise.
1107 (parse_args): Handle them.
1108 * ldlang.h (lang_input_statement_type): Add as_needed field.
1109 * ldlang.c (new_afile): Set p->as_needed.
1110 * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): New function.
1111 (gld${EMULATION_NAME}_try_needed): Use bfd_elf_set_dyn_lib_class.
1112 (ld_${EMULATION_NAME}_emulation): Set LDEMUL_RECOGNIZED_FILE entry.
1114 * ldlang.c (open_input_bfds): Remove useless cast.
1115 (lang_do_assignments_1): Likewise.
1116 (lang_for_each_input_section): Delete.
1118 2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1120 * configure.tgt: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
1122 2004-03-08 Danny Smith <dannysmith@users.sourceforge.net>
1124 * pe-dll.c (pe_dll_generate_implib): Skip sections marked as
1125 private when building implib.
1127 2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
1129 * ldlang.c (lang_add_section): Don't force SEC_LOAD on
1131 (IGNORE_SECTION): Ignore .tbss sections too.
1132 (lang_size_sections_1): .tbss sections do not advance dot.
1134 2004-03-01 Andreas Schwab <schwab@suse.de>
1136 * ld.texinfo (Options): Fix example for --wrap.
1138 2004-02-25 Danny Smith <dannysmith@users.sourceforge.net>
1140 * pe-dll.c (fill_edata): Check that exported_symbol_sections is
1143 2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
1145 * ldlang.c (lang_check): Use %P, not %E, in error message.
1147 2004-02-23 Nathan Sidwell <nathan@codesourcery.com>
1149 * ldlang.h (struct lang_output_section_state): Change processed
1151 * ldexp.c (check, invalid): Remove.
1152 (fold_name): Move valid_p assignments. Create undefined symbol
1153 when needed. Directly exampine section's processd flag.
1154 * ldlang.c (lang_output_section_statement_lookup): Adjust
1155 processed field init.
1156 (lang_size_sections_1): Allow LOADADDR when determining section's
1157 VMA. Adjust error message. Fold data statement's expr.
1158 (lang_size_sections): Correctly increment lang_statement_iteration.
1160 2004-02-23 Alan Modra <amodra@bigpond.net.au>
1162 * ldexp.c (fold_tree): Follow indirect symbols.
1164 2004-02-20 Nathan Sidwell <nathan@codesourcery.com>
1166 * ldgram.y (exp): Add two operand ALIGN.
1167 * ldexp.c (fold_binary): Add ALIGN_K case.
1168 * ld.texinfo (ALIGN): Document two operand version.
1170 2004-02-19 Nathan Sidwell <nathan@codesourcery.com>
1172 * ldlang.c (map_input_to_output_sections): Initialize sections
1173 mentioned in a data statement expression.
1174 (lang_do_assignments_1): Add data statement's expression's
1177 2004-02-18 Nathan Sidwell <nathan@codesourcery.com>
1179 * ldgram.y (statement_anywhere): Add assert rule.
1180 * ldlang.c (exp_init_os): Add assert case.
1182 2004-02-14 Andrew Cagney <cagney@redhat.com>
1184 * ldmain.c (remove_output): Call bfd_cache_close.
1186 2004-02-14 Richard Sandiford <rsandifo@redhat.com>
1188 * emulparams/elf32bmipn32-defs.sh (OTHER_SECTIONS): Discard
1189 .MIPS.content* and .MIPS.events* sections.
1191 2004-02-09 Daniel Jacobowitz <drow@mvista.com>
1193 * emulparams/armelf.sh, emulparams/armelf_linux.sh: Move
1194 .note.gnu.arm.ident to after allocated sections. Mark its
1197 2004-02-09 Daniel Jacobowitz <drow@mvista.com>
1199 * emulparams/armelf_linux.sh (COMMONPAGESIZE): Set to 4KB.
1200 * emulparams/elf32bmip.sh (COMMONPAGESIZE): Likewise.
1201 * emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Likewise.
1202 * emulparams/elf32btsmipn32.sh (COMMONPAGESIZE): Likewise.
1203 * emulparams/shlelf_linux.sh (COMMONPAGESIZE): Likewise.
1205 2004-02-05 Nick Clifton <nickc@redhat.com>
1207 * emultempl/pe.em (_after_open): Fix typo in previous delta.
1209 2004-02-04 Danny Smith <dannysmith@users.sourceforge.net>
1211 * emultempl/pe.em (_after_open): Fix thinko in 2003-12-18 patch.
1213 2004-01-28 Alan Modra <amodra@bigpond.net.au>
1215 * genscripts.sh: Fix typo.
1217 * genscripts.sh: Apply $LIBPATH_SUFFIX to $tool_lib and $libdir too.
1219 2004-01-24 Jakub Jelinek <jakub@redhat.com>
1221 * emulparams/elf64_ia64.sh: Put .rela.opd into
1222 OTHER_GOT_RELOC_SECTIONS instead of OTHER_PLT_RELOC_SECTIONS.
1224 2004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
1226 * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
1227 * ld.texinfo (--omagic): Note that writable text section
1228 does not conform to published PE-COFF specs.
1229 (--enable-auto-import): Likewise.
1231 2004-01-15 Alan Modra <amodra@bigpond.net.au>
1233 * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define.
1235 2004-01-13 Nick Clifton <nickc@redhat.com>
1237 * ldlang.c (lang_get_regions): Add extra parameter 'have_vma'
1238 which if true will prevent the LMA region being used as a
1239 replacement for a default VMA region.
1240 (lang_leave_output_section_statement): Pass extra parameter.
1241 (lang_leave_overlay): Likewise.
1242 * ld.texinfo (Output Section LMA): Document that the LMA
1243 region can be set to the VMA region if no VMA has been set.
1244 * ldlang.h (struct lang_output_section_phdr_list): Create a
1245 typedef for this type. Minor formatting fixes.
1247 2004-01-13 Nick Clifton <nickc@redhat.com>
1249 * ldlang.c (lang_size_sections_1): If dot is advanced, then
1250 assume that the section should be allocated.
1252 2004-01-13 Alan Modra <amodra@bigpond.net.au>
1254 * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
1255 sections. Do ignore SEC_NEVER_LOAD sections.
1256 (lang_size_sections_1): Remove test made redundant with the above.
1258 2004-01-09 Alan Modra <amodra@bigpond.net.au>
1260 * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
1261 program_header_size.
1263 2004-01-06 Alexandre Oliva <aoliva@redhat.com>
1265 2003-11-28 Alexandre Oliva <aoliva@redhat.com>
1266 * emulparams/elf32frvfd.sh (EMBEDDED): Clear.
1267 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
1268 * emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
1269 (MAXPAGESIZE): Set to 64Kb.
1270 (OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
1271 __ROFIXUP_END__. Don't map .rofixup.got any more.
1272 * emulparams/elf32frv.sh (NOP): Set.
1273 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
1274 * configure.tgt: Add frv-*-*linux*.
1275 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
1276 * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
1277 (eelf32frvfd.c): New.
1278 * configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
1279 * emulparams/elf32frv.sh: Reverted previous two patches.
1280 * emulparams/elf32frvfd.sh: New.
1281 * Makefile.in: Rebuilt.
1282 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
1283 * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
1284 .rofixup.got to .rofixup.
1285 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
1286 * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
1287 (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
1289 2004-01-05 Jakub Jelinek <jakub@redhat.com>
1291 * emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
1292 * emulparams/elf64_s390.sh (NO_SMALL_DATA): Set to yes.
1294 2004-01-03 Alan Modra <amodra@bigpond.net.au>
1296 * ldexp.c (align_n): Make static.
1297 * ldexp.h (align_n): Delete declaration.
1298 * ldlang.h (lang_enter_output_section_statement): Remove
1300 * ldlang.c (lang_enter_output_section_statement): Likewise.
1301 (TO_ADDR, TO_SIZE): Define.
1302 (opb_shift): New var.
1303 (init_opb): New function.
1304 (print_input_section): Call init_opb and use TO_ADDR.
1305 (print_data_statement, print_reloc_statement): Likewise.
1306 (print_padding_statement): Likewise.
1307 (size_input_section): Use TO_SIZE and TO_ADDR, and global opb_shift.
1308 (lang_check_section_addresses): Likewise.
1309 (lang_size_sections_1): Likewise.
1310 (lang_do_assignments_1): Likewise.
1311 (lang_set_startof): Likewise.
1312 (lang_one_common): Likewise. Combine power_of_two and opb_shift align.
1313 (lang_process): Call init_opb.
1314 (lang_abs_symbol_at_end_of): Use TO_ADDR and global opb_shift.
1315 (lang_enter_overlay_section): Adjust
1316 lang_enter_output_section_statement call.
1317 * ldgram.y: Likewise.
1318 * mri.c (mri_draw_tree): Likewise.
1319 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise.
1320 * emultempl/mmo.em (mmo_place_orphan): Likewise.
1321 * emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Likewise.
1323 * ldfile.c (ldfile_set_output_arch): Add defarch param.
1324 * ldfile.h (ldfile_set_output_arch): Ditto.
1325 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Use
1326 ldfile_set_output_arch.
1327 * emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Ditto.
1328 * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Ditto.
1329 * emultempl/linux.em (gld${EMULATION_NAME}_before_parse): Ditto.
1330 * emultempl/mipsecoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
1331 * emultempl/pe.em (gld${EMULATION_NAME}_before_parse): Ditto.
1332 * emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Ditto.
1333 * ldgram.y: Adjust ldfile_set_output_arch call.
1334 * emultempl/armcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
1335 * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Ditto.
1336 * emultempl/armelf_oabi.em (gld${EMULATION_NAME}_before_parse): Ditto.
1337 * emultempl/generic.em (gld${EMULATION_NAME}_before_parse): Ditto.
1338 * emultempl/gld960c.em (gld960_set_output_arch): Ditto.
1339 * emultempl/m68kcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
1340 * emultempl/ticoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
1342 2004-01-02 Bernardo Innocenti <bernie@develer.com>
1344 * configure.tgt: Add m68k-uClinux target.
1346 For older changes see ChangeLog-0203
1352 version-control: never