PR ld/6519
[platform/upstream/binutils.git] / ld / ChangeLog
1 2008-05-21  Nick Clifton  <nickc@redhat.com>
2
3         PR ld/6519
4         * ld.texinfo (Orphan Sections): Mention that the linker will
5         provide start and stop symbols for orphaned sections if their
6         names are valid C identifiers.
7         * NEWS: Add an addendum to the description of the linker feature
8         for providing orphan section start and end symbols.
9
10 2008-05-21  Maxim Kuvyrkov  <maxim@codesourcery.com>
11
12         * configure.in (--enable-got): New option.  Handle it.
13         * configure: Regenerate.
14         * config.in: Regenerate.
15         * emultempl/m68kelf.em: (got_handling_target_default): New shell
16         variable.
17         (GOT_HANDLING_TARGET_DEFAULT): New macro.
18         (GOT_HANDLING_DEFAULT): New macro.  Initialize it from configure
19         option if one was given.
20         (got_handling): New static variable.
21         (elf_m68k_create_output_section_statements): New static function
22         implementing hook.
23         (PARSE_AND_LIST_PROLOGUE): Define shell variable.
24         (OPTION_GOT): New macro.
25         (PARSE_AND_LIST_LONGOPTS): Define shell variable.  Specify
26         --got option.
27         (got): New linker option.
28         (PARSE_AND_LIST_OPTIONS): Define shell variable.  Print help string
29         for --got option.
30         (PARSE_AND_LIST_ARGS_CASES): Define shell variable.  Handle --got
31         option. 
32         * ld.texinfo: Document --got=<type> option.
33         * gen-doc.texi: Add M68K.
34         * NEWS: Mention the new feature.
35
36 2008-05-21  Evandro Menezes  <evandro@yahoo.com>
37
38         PR ld/6430
39         * ld.texinfo (--sort-common): Correct documentation to indicate
40         that sorting is performed by alignment, not size, biggest
41         alignment first.
42
43 2008-05-21  Christophe Lyon  <christophe.lyon@st.com>
44             Nick Clifton  <nickc@redhat.com>
45
46         * ld.texinfo (ARM): Document --stub-group-size=N option.
47         Move description of --pic-veneer option into the ARM section.
48         * NEWS: Mention the support for long function calls.
49
50 2008-05-15  Christophe Lyon  <christophe.lyon@st.com>
51         
52         * emultempl/armelf.em (build_section_lists): New function.
53         (stub_file): Define.
54         (need_laying_out): Define.
55         (group_size): Define.
56         (hook_stub_info): Define.
57         (hook_in_stub): New function.
58         (elf32_arm_add_stub_section): New function.
59         (gldarm_layout_sections_again): New function.
60         (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
61         stubs for long calls if needed.
62         (arm_elf_create_output_section_statements): create stub_file bfd.
63         (arm_for_each_input_file_wrapper): New function.
64         (arm_lang_for_each_input_file): New function.
65         (lang_for_each_input_file): Define.
66         (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
67         (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
68         (PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
69         (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
70         (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
71         * lang.c (print_input_statement): Skip if bfd has
72         BFD_LINKER_CREATED.
73
74 2008-05-14  Alan Modra  <amodra@bigpond.net.au>
75
76         * Makefile.in: Regenerate.
77
78 2008-05-09  Kai Tietz  <kai.tietz@onevision.com>
79
80         ld/PR6502
81         * emultempl/pep.em (compute_dll_image_base): Use bfd_vma instead
82         of long and change return type to bfd_vma.
83         (definfo): Change type of address from long to bfd_vma.
84         (set_pep_value): Replace strtoul to strtoull.
85         (gld_${EMULATION_NAME}_set_symbols): use bfd_vma instead of long..
86         * pe-dll.c (pe_dll_generate_def_file): Use fprintf_vma to print
87         ImageBase.
88         (quick_reloc): Change argument address from int to bfd_size_type.
89
90 2008-05-08  Tom Tromey  <tromey@redhat.com>
91
92         * ld.texinfo (PowerPC64 ELF64): Fix typo.
93
94 2008-05-08  Alan Modra  <amodra@bigpond.net.au>
95
96         * elf32_spu.sh (OTHER_SECTIONS): Add "._ea".
97         * elf32ppc.sh: If building with spu support, put ".data.spehandle"
98         sections at the start of ".data" and provide a symbol to locate
99         the directory of embedded spe programs.
100
101 2008-05-08  Alan Modra  <amodra@bigpond.net.au>
102
103         * ldexp.c (exp_print_token): Add ABSOLUTE, MIN_K, ASSERT_K.  Correct
104         MAX_K.
105         (fold_binary <SEGMENT_START>): Set expld.result.section to
106         current section.  Expand comment.  Formatting.
107         (fold_name <DEFINED>): Set expld.result.section to current section.
108
109 2008-04-28  Nathan Sidwell  <nathan@codesourcery.com>
110
111         * ldlang.c (lang_size_sections_1): Don't check LMA overflow on
112         non-load sections.
113
114 2008-04-25  Michael Frysinger  <vapier@gentoo.org>
115
116         * configure.tgt (bfin-*-linux-uclibc*): Set targ_emul to elf32bfinfd
117         and targ_extra_emuls to elf32bfin.
118
119 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
120
121         * aclocal.m4: Regenerate.
122         * configure: Regenerate.
123
124 2008-04-03  Kai Tietz  <kai.tietz@onevision.com>
125
126         * scripttempl/pep.sc: Align start of symbol __CTOR_LIST__.
127
128 2008-04-08  Alan Modra  <amodra@bigpond.net.au>
129
130         * po/POTFILES.in: Regenerate.
131
132 2008-04-08  Alan Modra  <amodra@bigpond.net.au>
133
134         * emultempl/spuelf.em (auto_overlay, auto_overlay_file,
135         auto_overlay_fixed, auto_overlay_reserved, my_argc, my_argv): New vars.
136         (spu_before_allocation): Warn on --auto-overlay and existing overlays.
137         (struct tflist, clean_tmp): Move.
138         (new_tmp_file): New function, extracted from..
139         (embedded_spu_file): ..here.
140         (spu_elf_open_overlay_script, spu_elf_relink): New function.
141         (gld${EMULATION_NAME}_finish): Pass a bunch of --auto-overlay params.
142         Warn on --auto-overlay and zero local store.
143         (gld${EMULATION_NAME}_choose_target): New function to stash argv.
144         (OPTION_SPU_AUTO_OVERLAY, OPTION_SPU_AUTO_RELINK,
145         OPTION_SPU_OVERLAY_RODATA, OPTION_SPU_FIXED_SPACE,
146         OPTION_SPU_RESERVED_SPACE, OPTION_SPU_NO_AUTO_OVERLAY): Define.
147         (PARSE_AND_LIST_LONGOPTS): Add entries for new options.
148         (PARSE_AND_LIST_OPTIONS): Likewise.
149         (PARSE_AND_LIST_ARGS_CASES): Likewise.
150         (LDEMUL_CHOOSE_TARGET): Define.
151
152 2008-04-03  Kai Tietz  <kai.tietz@onevision.com>
153
154         PR ld/6026
155         * pe-dll.c (make_head): Fix iat and thunk addend offset.
156
157 2008-03-31  Nick Clifton  <nickc@redhat.com>
158
159         * po/fr.po: Updated French translation.
160
161 2008-03-24  Ian Lance Taylor  <iant@google.com>
162
163         The sha1 code is now in libiberty.
164         * sha1.c: Remove.
165         * sha1.h: Remove.
166         * Makefile.am (CFILES): Remove sha1.c.
167         (HFILES): Remove sha1.h.
168         (OFILES): Remove sha1.o.
169         (ld_new_SOURCES): Remove sha1.c.
170         (sha1.o): Remove target.
171         * Makefile.in: Rebuild.
172
173 2008-03-20  Alan Modra  <amodra@bigpond.net.au>
174
175         * emultempl/spuelf.em: Update calls to elf32-spu.c funcs.
176
177 2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
178
179         * aclocal.m4: Regenerate.
180         * configure: Likewise.
181         * Makefile.in: Likewise.
182
183 2008-03-14  Alan Modra  <amodra@bigpond.net.au>
184
185         * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Protect
186         spu_elf_build_stubs with is_spu_target.
187
188 2008-03-13  Alan Modra  <amodra@bigpond.net.au>
189
190         * Makefile.am: Run "make dep-am".
191         * Makefile.in: Regenerate.
192         * configure: Regenerate.
193
194 2008-03-06  Joseph Myers  <joseph@codesourcery.com>
195             Roman Zippel  <zippel@linux-m68k.org>
196
197         * emulparams/m68kelf.sh (GENERATE_PIE_SCRIPT): Define.
198         (COMMONPAGESIZE): Define.
199
200 2008-02-22  Nick Clifton  <nickc@redhat.com>
201
202         PR ld/5785
203         * ldlang.c (lang_size_sections_1): Honour the setting of an
204         lma_region even if there is no vma region set, or the vma region
205         is the same as the lma region.
206
207 2008-02-18  Nick Clifton  <nickc@redhat.com>
208
209         * scripttempl/armbpabi.sc (ENTRY): Do not define when performing a
210         relocatable link.
211         * scripttempl/elf32cr16.sc: Likewise.
212         * scripttempl/elf32cr16c.sc: Likewise.
213         * scripttempl/elf32crx.sc: Likewise.
214         * scripttempl/elf32sh-symbian.sc: Likewise.
215         * scripttempl/elf_chaos.sc: Likewise.
216         * scripttempl/elfd10v.sc: Likewise.
217         * scripttempl/elfi370.sc: Likewise.
218         * scripttempl/elfm68hc11.sc: Likewise.
219         * scripttempl/elfm68hc12.sc: Likewise.
220         * scripttempl/ip2k.sc: Likewise.
221         * scripttempl/iq2000.sc: Likewise.
222         * scripttempl/mep.sc: Likewise.
223         * scripttempl/v850.sc: Likewise.
224         * scripttempl/xstormy16.sc: Likewise.
225
226 2008-02-16  Alan Modra  <amodra@bigpond.net.au>
227
228         PR ld/5761
229         * ldexp.c (fold_name <LOADADDR>): Check result of evaluating
230         load_base before calling make_abs.
231
232 2008-02-15  Alan Modra  <amodra@bigpond.net.au>
233
234         * emultempl/alphaelf.em (alpha_after_open): Use elf_object_id.
235         * emultempl/hppaelf.em (hppaelf_create_output_section_statements):
236         Likewise.
237         * emultempl/ppc64elf.em (ppc_create_output_section_statements):
238         Likewise.
239         * emultempl/ppc32elf.em (is_ppc_elf32_vec): Delete.  Replace all
240         uses with..
241         (is_ppc_elf): ..this new macro.
242
243 2008-02-15  Alan Modra  <amodra@bigpond.net.au>
244
245         * ldmain.h (output_bfd): Delete.
246         * ldmain.c (output_bfd): Delete.
247         Replace all occurrences of output_bfd with link_info.output_bfd.
248         * ldcref.c: Likewise.
249         * ldctor.c: Likewise.
250         * ldemul.c: Likewise.
251         * ldexp.c: Likewise.
252         * ldfile.c: Likewise.
253         * ldlang.c: Likewise.
254         * ldmisc.c: Likewise.
255         * ldwrite.c: Likewise.
256         * pe-dll.c: Likewise.
257         * emultempl/aix.em: Likewise.
258         * emultempl/alphaelf.em: Likewise.
259         * emultempl/armcoff.em: Likewise.
260         * emultempl/armelf.em: Likewise.
261         * emultempl/avrelf.em: Likewise.
262         * emultempl/beos.em: Likewise.
263         * emultempl/elf-generic.em: Likewise.
264         * emultempl/elf32.em: Likewise.
265         * emultempl/gld960.em: Likewise.
266         * emultempl/hppaelf.em: Likewise.
267         * emultempl/irix.em: Likewise.
268         * emultempl/linux.em: Likewise.
269         * emultempl/lnk960.em: Likewise.
270         * emultempl/m68hc1xelf.em: Likewise.
271         * emultempl/mmix-elfnmmo.em: Likewise.
272         * emultempl/mmo.em: Likewise.
273         * emultempl/pe.em: Likewise.
274         * emultempl/pep.em: Likewise.
275         * emultempl/ppc32elf.em: Likewise.
276         * emultempl/ppc64elf.em: Likewise.
277         * emultempl/scoreelf.em: Likewise.
278         * emultempl/sh64elf.em: Likewise.
279         * emultempl/spuelf.em: Likewise.
280         * emultempl/sunos.em: Likewise.
281         * emultempl/vanilla.em: Likewise.
282         * emultempl/vxworks.em: Likewise.
283         * emultempl/xtensaelf.em: Likewise.
284         * emultempl/z80.em: Likewise.
285         * ldlang.c (open_output): Don't return output, instead write
286         link_info_output_bfd directly.
287         * emultempl/alphaelf.em: Replace occurrences of link_info.hash->creator
288         with link_info.output_bfd->xvec.
289         * emultempl/hppaelf.em: Likewise.
290         * emultempl/ppc32elf.em: Likewise.
291         * emultempl/ppc64elf.em: Likewise.
292         * emultempl/spuelf.em: Likewise.
293
294 2008-02-07  Alan Modra  <amodra@bigpond.net.au>
295
296         * ldlang.c (new_afile): Don't pass unadorned NULL to concat.
297         * ldfile.c (ldfile_add_library_path): Likewise.
298         * emultempl/elf32.em (check_ld_elf_hints, check_ld_so_conf): Likewise.
299         * emultempl/lnk960.em (lnk960_before_parse): Likewise.
300         * emultempl/spuelf.em (embedded_spu_file): Likewise.
301
302 2008-02-07  Alan Modra  <amodra@bigpond.net.au>
303
304         * emultempl/spu_ovl.S: Use low bit of _ovly_table.size as
305         a "present" bit rather than low bit of .buf.  Correct indexing
306         into _ovly_buf_table.  Use relative loads and stores to access
307         overlay manager local vars.
308         * emultempl/spu_ovl.o: Regenerate.
309
310 2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>
311
312         PR 5715
313         * configure: Regenerated.
314
315 2008-01-31  Marc Gauthier  <marc@tensilica.com>
316
317         * configure.tgt (xtensa*-*-*): Recognize processor variants.
318
319 2008-01-28  Fabian Groffen  <grobian@gentoo.org>
320
321         * configure.tgt (x86_64-*-solaris2): Add support for this target.
322
323 2008-01-28  Vincent Riviere  <vincent.riviere@freesbee.fr>
324
325         PR ld/5652
326         * genscripts.sh: Check for the existence of BASH_LINENO not just
327         the BASH shell before generating line numbers in the emulation
328         file.
329
330 2008-01-28  Alan Modra  <amodra@bigpond.net.au>
331
332         * emultempl/spu_ovl.S: Rewrite.
333         * emultempl/spu_ovl.o: Regenerate.
334         * emultempl/spuelf.em (toe): Delete.
335         (spu_place_special_section): Add param to control section placement.
336         Adjust callers.
337         (spu_elf_load_ovl_mgr): Adjust for struct _spu_elf_section_data
338         changes.
339         (spu_before_allocation): Adjust spu_elf_size_stubs call.
340         (gld${EMULATION_NAME}_finish): Adjust spu_elf_build_stubs call.
341
342 2008-01-25  H.J. Lu  <hongjiu.lu@intel.com>
343
344         PR ld/5670
345         * ldlang.c (process_insert_statements): Silence gcc 4.1 alias
346         warning.
347
348 2008-01-25  Alan Modra  <amodra@bigpond.net.au>
349
350         * ld.texinfo (INSERT): Describe.
351         * ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
352         (INSERT_K, AFTER, BEFORE): Add as tokens.
353         (ifile_p1): Handle INSERT statements.
354         (saved_script_handle, force_make_executable): Move to..
355         * ldmain.c: ..here.
356         (previous_script_handle): New global var.
357         * ldmain.h (saved_script_handle, force_make_executable): Declare.
358         (previous_script_handle): Likewise.
359         * ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
360         * lexsup.c (parge_args <-T>): Set previous_script_handle.
361         * ldlang.c (lang_for_each_statement_worker): Handle insert statement.
362         (map_input_to_output_sections, print_statement): Likewise.
363         (lang_size_sections_1, lang_do_assignments_1): Likewise.
364         (insert_os_after): New function, extracted from..
365         (lang_insert_orphan): ..here.
366         (process_insert_statements): New function.
367         (lang_process): Call it.
368         (lang_add_insert): New function.
369         * ldlang.h (lang_insert_statement_enum): New.
370         (lang_insert_statement_type): New.
371         (lang_statement_union_type): Add insert_statement.
372         (lang_add_insert): Declare.
373
374 2008-01-18  Bob Wilson  <bob.wilson@acm.org>
375
376         * scripttempl/elfxtensa.sc: Merge ENTRY and .note.gnu.build-id
377         changes from elf.sc.
378
379 2008-01-16  Alan Modra  <amodra@bigpond.net.au>
380
381         * ldlang.c (lang_size_sections_1): Simplify SEC_NEVER_LOAD test.
382
383 2008-01-16  Alan Modra  <amodra@bigpond.net.au>
384
385         * ldlang.h (lang_afile_asection_pair_statement_enum): Delete.
386         (lang_afile_asection_pair_statement_type): Delete.
387         (lang_statement_union_type): Delete afile_asection_pair_statement.
388         * ldlang.c (lang_insert_orphan): Delete case handling the above.
389         (map_input_to_output_sections, print_statement): Likewise.
390
391 2008-01-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
392
393         * emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
394         with __data_start.
395         * emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.
396
397 2008-01-15  Alan Modra  <amodra@bigpond.net.au>
398
399         PR 5604
400         * ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
401         syms to _bfd_elf_gc_keep.
402         * emultempl/ppc64elf.em (ppc_before_allocation): Don't call
403         ppc64_elf_edit_opd if no_opd_opt.
404
405 2008-01-11  Tristan Gingold  <gingold@adacore.com>
406             Eric Botcazou  <ebotcazou@adacore.com>
407
408         * ldlang.c (lang_end): Warns if the entry point is not found when
409         --gc-sections.
410         Emit an error if no root is specified when --gc-sections -r.
411         * ld.texinfo (Options): Document that --gc-sections is compatible
412         with -r and -q.
413         * ldmain.c (main): Do not error out if -r and --gc-sections.
414         * scripttempl/elf.sc: Emit ENTRY command only if relocating.
415
416 2008-01-10  Daniel Jacobowitz  <drow@sources.redhat.com>
417
418         PR ld/5533
419         * ldlang.c (lang_end): Issue a warning for a missing start symbol
420         of a shared library if the symbol was specified on the command
421         line.
422
423 2008-01-10  Alan Modra  <amodra@bigpond.net.au>
424
425         * ld.texinfo (--gc-sections): Describe linker behaviour.
426
427 For older changes see ChangeLog-2007
428 \f
429 Local Variables:
430 mode: change-log
431 left-margin: 8
432 fill-column: 74
433 version-control: never
434 End: