* ld.texinfo (File Commands): Document that INCLUDE can be used in
[binutils.git] / ld / ChangeLog
blob8ad99bc0f3c08955ed75a1d8ac557988d792b2a7
1 2008-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3         * ld.texinfo (File Commands): Document that INCLUDE can be used in
4         several different places.
5         * ldgram.y (statement, memory_spec, section): Allow INCLUDE.
6         (memory, memory_spec_list): Simplify BNF
7         (memory_spec_list_opt): New rule.
8         * ldlex.l (INCLUDE): Recognize in EXPRESSION.
10 2008-06-20  Alan Modra  <amodra@bigpond.net.au>
12         * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Make "can not
13         build overlay stubs" a fatal error.
15 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17         * config.in: Regenerate.
18         * configure: Regenerate.
20 2008-06-17  Alan Modra  <amodra@bigpond.net.au>
22         * emultempl/spuelf.em (extra_stack_space): New variable.
23         (gld${EMULATION_NAME}_finish): Pass it to spu_elf_check_vma.
24         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
25         PARSE_AND_LIST_ARGS_CASES): Handle --extra-stack-space.
26         * emultempl/spu_ovl.S: Mask interrupts during dma and update of
27         overlay manager structures.
28         * emultempl/spu_ovl.o: Regenerate.
30 2008-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
32         * ld.texinfo (@node MMIX): For the __.MMIX.start. prefix, only
33         mention it as being special for global symbols.
35 2008-06-12  Nick Clifton  <nickc@redhat.com>
37         * ldlang.c (print_output_section_statement): If the output section
38         statement has an update_dot_tree expression, apply it to
39         print_dot.
40         (print_input_section): Do not update print_dot if it would move
41         print_dot backwards.
42         (lang_do_assignments_1): If the output section statement has an
43         update_dot_tree expression apply it to dot.
45 2008-06-07  Alan Modra  <amodra@bigpond.net.au>
47         * NEWS: Mention archive:path patterns.
48         * ld.texinfo: Likewise.
49         * ldlang.c: Formatting throughout.
50         (archive_path): Only assume "[A-Za-z]:" is a dos drive.
51         (input_statement_is_archive_path): New function, extracted from..
52         (walk_wild): ..here.
53         (walk_wild_consider_section): Match archive:path here too.
54         (init_map_userdata, sort_def_symbol): Convert to ISO C.
55         * ldmain.c (main): Set link_info.path_separator.
56         * emultempl/spuelf.em (choose_target): Don't set it here.
58 2008-06-06  Alan Modra  <amodra@bigpond.net.au>
60         * ldlang.c (name_match): New function.
61         (unique_section_p, walk_wild_consider_section): Use it here.
62         (walk_wild_section_general): And here.
63         (archive_path): New function.
64         (walk_wild): Match archive:path filespecs.
65         (open_input_bfds): Don't load archive:path files.
66         * emultempl/spuelf.em (choose_target): Set path_separator.
67         * emulparams/elf32_spu.sh: Add ._ea.* sections to ._ea output.
69 2008-06-04  Nick Clifton  <nickc@redhat.com>
71         * ld.texinfo (Orphan Sections): Fix texi typo.
73 2008-06-04  Chris Metcalf  <cmetcalf@tilera.com>
75         * lexsup.c (option_values): Add OPTION_NO_WARN_FATAL.
76         (ld_options): Add entry for --no-fatal-warnings.
77         (parse_args): Handle OPTION_NO_WARN_FATAL.
78         * ld.texinfo (Options): Document new command line switch.
80 2008-06-04  Alan Modra  <amodra@bigpond.net.au>
82         * emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.
84 2008-06-02  Nathan Sidwell  <nathan@codesourcery.com>
86         * ldlang.c (closest_target_match): Skip generic big and little
87         endian ELF targets.
89 2008-05-31  Evandro Menezes  <evandro@yahoo.com>
91         PR ld/6430
92         * ld.h (enum sort_order): New.
93         * ldlang.c (lang_check: Fix comment.
94         (lang_common): Sort commons in ascending or descending order.
95         (lang_one_common): Likewise.
96         * lexsup.c (ld_options): Have --sort-common take an option
97         argument.
98         (parse_args): Handle argument to --sort-common.
99         * ld.texinfo (--sort-common): Document new optional argument.
100         * NEWS: Mention new feature.
102 2008-05-28  Christophe Lyon  <christophe.lyon@st.com>
103         
104         * ld.texinfo: State that farcalls stubs are supported for ARM-EABI
105         only.
107 2008-05-27  Kai Tietz  <kai.tietz@onevision.com>
109         * pe-dll.c (fill_edata): Make sure we calculate vma's in
110         type bfd_vma.
111         (generate_reloc): Likewise.
112         (pe_implied_import_dll): Likewise.
114 2008-05-21  Nick Clifton  <nickc@redhat.com>
116         PR ld/6519
117         * ld.texinfo (Orphan Sections): Mention that the linker will
118         provide start and stop symbols for orphaned sections if their
119         names are valid C identifiers.
120         * NEWS: Add an addendum to the description of the linker feature
121         for providing orphan section start and end symbols.
123 2008-05-21  Maxim Kuvyrkov  <maxim@codesourcery.com>
125         * configure.in (--enable-got): New option.  Handle it.
126         * configure: Regenerate.
127         * config.in: Regenerate.
128         * emultempl/m68kelf.em: (got_handling_target_default): New shell
129         variable.
130         (GOT_HANDLING_TARGET_DEFAULT): New macro.
131         (GOT_HANDLING_DEFAULT): New macro.  Initialize it from configure
132         option if one was given.
133         (got_handling): New static variable.
134         (elf_m68k_create_output_section_statements): New static function
135         implementing hook.
136         (PARSE_AND_LIST_PROLOGUE): Define shell variable.
137         (OPTION_GOT): New macro.
138         (PARSE_AND_LIST_LONGOPTS): Define shell variable.  Specify
139         --got option.
140         (got): New linker option.
141         (PARSE_AND_LIST_OPTIONS): Define shell variable.  Print help string
142         for --got option.
143         (PARSE_AND_LIST_ARGS_CASES): Define shell variable.  Handle --got
144         option. 
145         * ld.texinfo: Document --got=<type> option.
146         * gen-doc.texi: Add M68K.
147         * NEWS: Mention the new feature.
149 2008-05-21  Evandro Menezes  <evandro@yahoo.com>
151         PR ld/6430
152         * ld.texinfo (--sort-common): Correct documentation to indicate
153         that sorting is performed by alignment, not size, biggest
154         alignment first.
156 2008-05-21  Christophe Lyon  <christophe.lyon@st.com>
157             Nick Clifton  <nickc@redhat.com>
159         * ld.texinfo (ARM): Document --stub-group-size=N option.
160         Move description of --pic-veneer option into the ARM section.
161         * NEWS: Mention the support for long function calls.
163 2008-05-15  Christophe Lyon  <christophe.lyon@st.com>
164         
165         * emultempl/armelf.em (build_section_lists): New function.
166         (stub_file): Define.
167         (need_laying_out): Define.
168         (group_size): Define.
169         (hook_stub_info): Define.
170         (hook_in_stub): New function.
171         (elf32_arm_add_stub_section): New function.
172         (gldarm_layout_sections_again): New function.
173         (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
174         stubs for long calls if needed.
175         (arm_elf_create_output_section_statements): create stub_file bfd.
176         (arm_for_each_input_file_wrapper): New function.
177         (arm_lang_for_each_input_file): New function.
178         (lang_for_each_input_file): Define.
179         (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
180         (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
181         (PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
182         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
183         (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
184         * lang.c (print_input_statement): Skip if bfd has
185         BFD_LINKER_CREATED.
187 2008-05-14  Alan Modra  <amodra@bigpond.net.au>
189         * Makefile.in: Regenerate.
191 2008-05-09  Kai Tietz  <kai.tietz@onevision.com>
193         ld/PR6502
194         * emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
195         of long and change return type to bfd_vma.
196         (definfo): Change type of address from long to bfd_vma.
197         (set_pep_value): Replace strtoul to strtoull.
198         (gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long..
199         * pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
200         ImageBase.
201         (quick_reloc): Change argument address from int to bfd_size_type.
203 2008-05-08  Tom Tromey  <tromey@redhat.com>
205         * ld.texinfo (PowerPC64 ELF64): Fix typo.
207 2008-05-08  Alan Modra  <amodra@bigpond.net.au>
209         * elf32_spu.sh (OTHER_SECTIONS): Add "._ea".
210         * elf32ppc.sh: If building with spu support, put ".data.spehandle"
211         sections at the start of ".data" and provide a symbol to locate
212         the directory of embedded spe programs.
214 2008-05-08  Alan Modra  <amodra@bigpond.net.au>
216         * ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K.  Correct
217         MAX_K.
218         (fold_binary <SEGMENT_START>): Set expld.result.section to
219         current section.  Expand comment.  Formatting.
220         (fold_name <DEFINED>): Set expld.result.section to current section.
222 2008-04-28  Nathan Sidwell  <nathan@codesourcery.com>
224         * ldlang.c (lang_size_sections_1): Don't check LMA overflow on
225         non-load sections.
227 2008-04-25  Michael Frysinger  <vapier@gentoo.org>
229         * configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
230         and targ_extra_emuls to elf32bfin.
232 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
234         * aclocal.m4: Regenerate.
235         * configure: Regenerate.
237 2008-04-03  Kai Tietz  <kai.tietz@onevision.com>
239         * scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
241 2008-04-08  Alan Modra  <amodra@bigpond.net.au>
243         * po/POTFILES.in: Regenerate.
245 2008-04-08  Alan Modra  <amodra@bigpond.net.au>
247         * emultempl/spuelf.em (auto_overlay, auto_overlay_file,
248         auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
249         (spu_before_allocation): Warn on --auto-overlay and existing overlays.
250         (struct tflist, clean_tmp): Move.
251         (new_tmp_file): New function, extracted from..
252         (embedded_spu_file): ..here.
253         (spu_elf_open_overlay_script, spu_elf_relink): New function.
254         (gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
255         Warn on --auto-overlay and zero local store.
256         (gld${EMULATION_NAME}_choose_target): New function to stash argv.
257         (OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
258         OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
259         OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
260         (PARSE_AND_LIST_LONGOPTS): Add entries for new options.
261         (PARSE_AND_LIST_OPTIONS): Likewise.
262         (PARSE_AND_LIST_ARGS_CASES): Likewise.
263         (LDEMUL_CHOOSE_TARGET): Define.
265 2008-04-03  Kai Tietz  <kai.tietz@onevision.com>
267         PR ld/6026
268         * pe-dll.c (make_head): Fix iat and thunk addend offset.
270 2008-03-31  Nick Clifton  <nickc@redhat.com>
272         * po/fr.po: Updated French translation.
274 2008-03-24  Ian Lance Taylor  <iant@google.com>
276         The sha1 code is now in libiberty.
277         * sha1.c: Remove.
278         * sha1.h: Remove.
279         * Makefile.am (CFILES): Remove sha1.c.
280         (HFILES): Remove sha1.h.
281         (OFILES): Remove sha1.o.
282         (ld_new_SOURCES): Remove sha1.c.
283         (sha1.o): Remove target.
284         * Makefile.in: Rebuild.
286 2008-03-20  Alan Modra  <amodra@bigpond.net.au>
288         * emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
290 2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
292         * aclocal.m4: Regenerate.
293         * configure: Likewise.
294         * Makefile.in: Likewise.
296 2008-03-14  Alan Modra  <amodra@bigpond.net.au>
298         * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
299         spu_elf_build_stubs with is_spu_target.
301 2008-03-13  Alan Modra  <amodra@bigpond.net.au>
303         * Makefile.am: Run "make dep-am".
304         * Makefile.in: Regenerate.
305         * configure: Regenerate.
307 2008-03-06  Joseph Myers  <joseph@codesourcery.com>
308             Roman Zippel  <zippel@linux-m68k.org>
310         * emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
311         (COMMONPAGESIZE): Define.
313 2008-02-22  Nick Clifton  <nickc@redhat.com>
315         PR ld/5785
316         * ldlang.c (lang_size_sections_1): Honour the setting of an
317         lma_region even if there is no vma region set, or the vma region
318         is the same as the lma region.
320 2008-02-18  Nick Clifton  <nickc@redhat.com>
322         * scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
323         relocatable link.
324         * scripttempl/elf32cr16.sc: Likewise.
325         * scripttempl/elf32cr16c.sc: Likewise.
326         * scripttempl/elf32crx.sc: Likewise.
327         * scripttempl/elf32sh-symbian.sc: Likewise.
328         * scripttempl/elf_chaos.sc: Likewise.
329         * scripttempl/elfd10v.sc: Likewise.
330         * scripttempl/elfi370.sc: Likewise.
331         * scripttempl/elfm68hc11.sc: Likewise.
332         * scripttempl/elfm68hc12.sc: Likewise.
333         * scripttempl/ip2k.sc: Likewise.
334         * scripttempl/iq2000.sc: Likewise.
335         * scripttempl/mep.sc: Likewise.
336         * scripttempl/v850.sc: Likewise.
337         * scripttempl/xstormy16.sc: Likewise.
339 2008-02-16  Alan Modra  <amodra@bigpond.net.au>
341         PR ld/5761
342         * ldexp.c (fold_name <LOADADDR>): Check result of evaluating
343         load_base before calling make_abs.
345 2008-02-15  Alan Modra  <amodra@bigpond.net.au>
347         * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id.
348         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
349         Likewise.
350         * emultempl/ppc64elf.em (ppc_create_output_section_statements):
351         Likewise.
352         * emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete.  Replace all
353         uses with..
354         (is_ppc_elf): ..this new macro.
356 2008-02-15  Alan Modra  <amodra@bigpond.net.au>
358         * ldmain.h (output_bfd): Delete.
359         * ldmain.c (output_bfd): Delete.
360         Replace all occurrences of output_bfd with link_info.output_bfd.
361         * ldcref.c: Likewise.
362         * ldctor.c: Likewise.
363         * ldemul.c: Likewise.
364         * ldexp.c: Likewise.
365         * ldfile.c: Likewise.
366         * ldlang.c: Likewise.
367         * ldmisc.c: Likewise.
368         * ldwrite.c: Likewise.
369         * pe-dll.c: Likewise.
370         * emultempl/aix.em: Likewise.
371         * emultempl/alphaelf.em: Likewise.
372         * emultempl/armcoff.em: Likewise.
373         * emultempl/armelf.em: Likewise.
374         * emultempl/avrelf.em: Likewise.
375         * emultempl/beos.em: Likewise.
376         * emultempl/elf-generic.em: Likewise.
377         * emultempl/elf32.em: Likewise.
378         * emultempl/gld960.em: Likewise.
379         * emultempl/hppaelf.em: Likewise.
380         * emultempl/irix.em: Likewise.
381         * emultempl/linux.em: Likewise.
382         * emultempl/lnk960.em: Likewise.
383         * emultempl/m68hc1xelf.em: Likewise.
384         * emultempl/mmix-elfnmmo.em: Likewise.
385         * emultempl/mmo.em: Likewise.
386         * emultempl/pe.em: Likewise.
387         * emultempl/pep.em: Likewise.
388         * emultempl/ppc32elf.em: Likewise.
389         * emultempl/ppc64elf.em: Likewise.
390         * emultempl/scoreelf.em: Likewise.
391         * emultempl/sh64elf.em: Likewise.
392         * emultempl/spuelf.em: Likewise.
393         * emultempl/sunos.em: Likewise.
394         * emultempl/vanilla.em: Likewise.
395         * emultempl/vxworks.em: Likewise.
396         * emultempl/xtensaelf.em: Likewise.
397         * emultempl/z80.em: Likewise.
398         * ldlang.c (open_output): Don't return output, instead write
399         link_info_output_bfd directly.
400         * emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator
401         with link_info.output_bfd->xvec.
402         * emultempl/hppaelf.em: Likewise.
403         * emultempl/ppc32elf.em: Likewise.
404         * emultempl/ppc64elf.em: Likewise.
405         * emultempl/spuelf.em: Likewise.
407 2008-02-07  Alan Modra  <amodra@bigpond.net.au>
409         * ldlang.c (new_afile): Don't pass unadorned NULL to concat.
410         * ldfile.c (ldfile_add_library_path): Likewise.
411         * emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise.
412         * emultempl/lnk960.em (lnk960_before_parse): Likewise.
413         * emultempl/spuelf.em (embedded_spu_file): Likewise.
415 2008-02-07  Alan Modra  <amodra@bigpond.net.au>
417         * emultempl/spu_ovl.S: Use low bit of _ovly_table.size as
418         a "present" bit rather than low bit of .buf.  Correct indexing
419         into _ovly_buf_table.  Use relative loads and stores to access
420         overlay manager local vars.
421         * emultempl/spu_ovl.o: Regenerate.
423 2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>
425         PR 5715
426         * configure: Regenerated.
428 2008-01-31  Marc Gauthier  <marc@tensilica.com>
430         * configure.tgt (xtensa*-*-*): Recognize processor variants.
432 2008-01-28  Fabian Groffen  <grobian@gentoo.org>
434         * configure.tgt (x86_64-*-solaris2): Add support for this target.
436 2008-01-28  Vincent Riviere  <vincent.riviere@freesbee.fr>
438         PR ld/5652
439         * genscripts.sh: Check for the existence of BASH_LINENO not just
440         the BASH shell before generating line numbers in the emulation
441         file.
443 2008-01-28  Alan Modra  <amodra@bigpond.net.au>
445         * emultempl/spu_ovl.S: Rewrite.
446         * emultempl/spu_ovl.o: Regenerate.
447         * emultempl/spuelf.em (toe): Delete.
448         (spu_place_special_section): Add param to control section placement.
449         Adjust callers.
450         (spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data
451         changes.
452         (spu_before_allocation): Adjust spu_elf_size_stubs call.
453         (gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call.
455 2008-01-25  H.J. Lu  <hongjiu.lu@intel.com>
457         PR ld/5670
458         * ldlang.c (process_insert_statements): Silence gcc 4.1 alias
459         warning.
461 2008-01-25  Alan Modra  <amodra@bigpond.net.au>
463         * ld.texinfo (INSERT): Describe.
464         * ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
465         (INSERT_K, AFTER, BEFORE): Add as tokens.
466         (ifile_p1): Handle INSERT statements.
467         (saved_script_handle, force_make_executable): Move to..
468         * ldmain.c: ..here.
469         (previous_script_handle): New global var.
470         * ldmain.h (saved_script_handle, force_make_executable): Declare.
471         (previous_script_handle): Likewise.
472         * ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
473         * lexsup.c (parge_args <-T>): Set previous_script_handle.
474         * ldlang.c (lang_for_each_statement_worker): Handle insert statement.
475         (map_input_to_output_sections, print_statement): Likewise.
476         (lang_size_sections_1, lang_do_assignments_1): Likewise.
477         (insert_os_after): New function, extracted from..
478         (lang_insert_orphan): ..here.
479         (process_insert_statements): New function.
480         (lang_process): Call it.
481         (lang_add_insert): New function.
482         * ldlang.h (lang_insert_statement_enum): New.
483         (lang_insert_statement_type): New.
484         (lang_statement_union_type): Add insert_statement.
485         (lang_add_insert): Declare.
487 2008-01-18  Bob Wilson  <bob.wilson@acm.org>
489         * scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
490         changes from elf.sc.
492 2008-01-16  Alan Modra  <amodra@bigpond.net.au>
494         * ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.
496 2008-01-16  Alan Modra  <amodra@bigpond.net.au>
498         * ldlang.h (lang_afile_asection_pair_statement_enum): Delete.
499         (lang_afile_asection_pair_statement_type): Delete.
500         (lang_statement_union_type): Delete afile_asection_pair_statement.
501         * ldlang.c (lang_insert_orphan): Delete case handling the above.
502         (map_input_to_output_sections, print_statement): Likewise.
504 2008-01-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
506         * emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
507         with __data_start.
508         * emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.
510 2008-01-15  Alan Modra  <amodra@bigpond.net.au>
512         PR 5604
513         * ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
514         syms to _bfd_elf_gc_keep.
515         * emultempl/ppc64elf.em (ppc_before_allocation): Don't call
516         ppc64_elf_edit_opd if no_opd_opt.
518 2008-01-11  Tristan Gingold  <gingold@adacore.com>
519             Eric Botcazou  <ebotcazou@adacore.com>
521         * ldlang.c (lang_end): Warns if the entry point is not found when
522         --gc-sections.
523         Emit an error if no root is specified when --gc-sections -r.
524         * ld.texinfo (Options): Document that --gc-sections is compatible
525         with -r and -q.
526         * ldmain.c (main): Do not error out if -r and --gc-sections.
527         * scripttempl/elf.sc: Emit ENTRY command only if relocating.
529 2008-01-10  Daniel Jacobowitz  <drow@sources.redhat.com>
531         PR ld/5533
532         * ldlang.c (lang_end): Issue a warning for a missing start symbol
533         of a shared library if the symbol was specified on the command
534         line.
536 2008-01-10  Alan Modra  <amodra@bigpond.net.au>
538         * ld.texinfo (--gc-sections): Describe linker behaviour.
540 For older changes see ChangeLog-2007
542 Local Variables:
543 mode: change-log
544 left-margin: 8
545 fill-column: 74
546 version-control: never
547 End: