ld/
[platform/upstream/binutils.git] / ld / ChangeLog
1 2009-03-17  Alan Modra  <amodra@bigpond.net.au>
2
3         * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
4         * Makefile.am (check-DEJAGNU): Set DO_COMPARE.
5         * aclocal.m4: Regenerate.
6         * configure: Regenerate.
7         * Makefile.in: Regenerate.
8
9 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
10
11         * emultempl/aix.em (auto_export_flags): New variable.
12         (explicit_auto_export_flags): Likewise.
13         (OPTION_EXPALL, OPTION_EXPFULL): New enum values.
14         (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
15         (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
16         -bnoexpall and -bnoexpfull.
17         (gld${EMULATION_NAME}_handle_option): Handle them.
18         (gld${EMULATION_NAME}_before_allocation): Update the call to
19         bfd_size_dynamic_sections.
20
21 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
22
23         * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
24         -berok and -bernotok control link_info.unresolved_syms_in_objects
25         and link_info.unresolved_syms_in_shared_libs instead of
26         force_make_executable.
27
28 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
29
30         * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
31         config.dynamic_link to TRUE.
32
33 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
34
35         * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
36         .text, .data and .bss output sections as SEC_KEEP.
37
38 2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>
39
40         * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
41
42 2009-03-14  Dave Korn  <dave.korn.cygwin@gmail.com>
43             Danny Smith  <dannysmith@users.sourceforge.net>
44
45         * emultmpl/pe.em (pe_dll_characteristics): New variable.
46         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
47         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
48         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
49         New macros for options to set DllCharacteristics flag bits.
50         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
51         nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
52         (init): Add DllCharacteristics field.
53         (gld_${EMULATION_NAME}_list_options): List new options.
54         (gld${EMULATION_NAME}_handle_option): Handle new options.
55         * emultmpl/pep.em (pe_dll_characteristics): New variable.
56         (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
57         OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
58         OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
59         New macros for options to set DllCharacteristics flags.
60         (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
61         nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
62         (init): Add DllCharacteristics field.
63         (gld_${EMULATION_NAME}_list_options): List new options.
64         (gld${EMULATION_NAME}_handle_option): Handle new options.
65         * ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
66         no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
67
68 2009-03-06  Nick Clifton  <nickc@redhat.com>
69
70         * po/es.po: Updated Spanish translation.
71
72 2009-03-03  Dave Korn  <dave.korn.cygwin@gmail.com>
73
74         * emultempl/pe.em (debug_section_p):  New bfd_map_over_sections hook.
75         (gld_${EMULATION_NAME}_after_open):  Use it to iterate all sections
76         of all input BFDs, looking for debug info.  Enable long section names
77         if any found.
78         * emultempl/pe.em (debug_section_p):  Likewise.
79         (gld_${EMULATION_NAME}_after_open):  Likewise.
80         * NEWS:  Retrospectively adjust news announcement.
81         * ld.texinfo:  Update documentation to mention new behaviour.
82
83 2009-03-03  Alan Modra  <amodra@bigpond.net.au>
84
85         * Makefile.am: Run "make dep-am".
86         * Makefile.in: Regenerate.
87
88 2009-03-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
89
90         * ldgram.y: Add support for REGION_ALIAS operator.
91         * ldlang.c: Likewise.
92         * ldlang.h: Likewise.
93         * ldlex.l: Likewise.
94         * NEWS: Mention the new feature.
95         * ld.texinfo: Document the new feature.
96
97 2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
98
99         * Makefile.am: Replace score elf emulation with score3 and score7
100         emulations.
101         * Makefile.in: Regenerate,
102         * NEWS: Mention support for Score7 architecture.
103         * configure.tgt: Add score7 emulation to score-elf target.
104         * emulparams/scoreelf.sh: Add score7 support.
105         * emultempl/scoreelf.em: Likewise.
106
107 2009-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
108
109         * configure.tgt: Only use elf64hppa target emulation for hpux.
110         * emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
111         (SCRIPT_NAME): Use new script elf64hppa.
112         (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
113         TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
114         OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
115         DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
116         TEXT_DYNAMIC): Define.
117         * emulparams/hppa64linux.sh: Adjust comments.
118         * scripttempl/elf64hppa.sc: New file.
119
120 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
121
122         * configure: Regenerate.
123
124 2009-02-27  Dave Korn  <dave.korn.cygwin@gmail.com>
125
126         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):  Set
127         default state of auto-import flag based on $target.
128
129 2009-02-24  Joseph Myers  <joseph@codesourcery.com>
130
131         * ld.texinfo (ARM): Document changed meaning of --stub-group-size.
132         * emultempl/armelf.em (hook_in_stub): Insert after the input section.
133         (elf32_arm_add_stub_section): Update comment.
134         (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.
135
136 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
137
138         * ld.texinfo (Options): Correct typos in example.  Recommend
139         using joined forms of syntax for passing options with arguments 
140         from a driver.
141         (-a): Use consistent syntax for documenting option arguments.
142         Clean up indexing and markup.
143         (-A/--architecture): Likewise.
144         (-f/--auxiliary): Likewise.
145         (-F/--filter): Likewise.
146         (-fini): Likewise.
147         (-G/--gpsize): Likewise.
148         (-h/-soname):Likewise.
149         (-init): Likewise.
150         (-l/--library): Likewise.
151         (-L/--library-path): Likewise.
152         (-m): Likewise.
153         (--defsym): Likewise.
154         (-I/--dynamic-linker): Likewise.
155         (-Map): Likewise.
156         (--oformat): Likewise.
157         (--retain-symbols-file): Likewise.
158         (-rpath): Likewise.
159         (-rpath-link): Likewise.
160         (--sort-common): Likewise.
161         (--sort-section): Likewise.
162         (--split-by-file): Likewise.
163         (--split-by-reloc): Likewise.
164         (--sysroot): Likewise.
165         (--section-start): Likewise.
166         (-Tbss, -Tdata, -Ttext): Likewise.
167         (-Ttext-segment): Likewise.
168         (--version-script): Likewise.
169         (--wrap): Likewise.
170
171 2009-02-18  Dave Korn  <dave.korn.cygwin@gmail.com>
172
173         * ld.texinfo:  Update to mention long section name options.
174         * NEWS:  Mention new behaviour and command-line options.
175         * pe-dll.c (pe_use_coff_long_section_names):  New global variable.
176         (pe_output_file_set_long_section_names):  New function.
177         (pe_dll_build_sections):  Call it on output BFDs.
178         (pe_exe_build_sections):  Likewise.
179         (pe_dll_fill_sections):  Likewise.
180         (pe_exe_fill_sections):  Likewise.
181         * pe-dll.h (pe_use_coff_long_section_names):  Declare extern.
182         (pe_output_file_set_long_section_names):  Add prototype.
183         * pep-dll.c (pe_use_coff_long_section_names):  Define pep_ alias.
184         (pe_output_file_set_long_section_names):  Likewise.
185         * pep-dll.h (pep_use_coff_long_section_names):  Declare extern.
186         (pep_output_file_set_long_section_names):  Add prototype.
187         * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES):  New getopt value macro.
188         (OPTION_DISABLE_LONG_SECTION_NAMES):  Likewise.
189         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
190         (gld_${EMULATION_NAME}_list_options):  Describe them.
191         (gld${EMULATION_NAME}_handle_option):  Set or clear global
192         pe_use_coff_long_section_names flag when options recognised.
193         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
194         for main output bfd by calling pe_output_file_set_long_section_names.
195         * pep.em (enum options):  Extend enum with new getopt option values.
196         (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
197         (gld_${EMULATION_NAME}_list_options):  Describe them.
198         (gld${EMULATION_NAME}_handle_option):  Set or clear global
199         pe_use_coff_long_section_names flag when options recognised.
200         (gld_${EMULATION_NAME}_after_open):  En/disable long section names
201         for main output bfd by calling pep_output_file_set_long_section_names.
202
203 2009-02-16  Dave Korn  <dave.korn.cygwin@gmail.com>
204
205         * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):  Don't emit
206         inadvertent .reloc sections caused by refactoring accident.
207
208 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
209
210         * ldlang.c (process_insert_statements): ASSERT that output section
211         statements are in order.
212
213 2009-02-16  Alan Modra  <amodra@bigpond.net.au>
214
215         * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
216         (stat_save, stat_save_ptr): New variables.
217         (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
218         (load_symbols): Likewise.  Delete dead "bad_load" code.
219         (open_input_bfds): Warn on script containing output sections.
220         (lang_enter_output_section_statement): Use push_stat_ptr.
221         (lang_enter_group): Likewise.
222         (lang_leave_output_section_statement): Use pop_stat_ptr.
223         (lang_leave_group): Likewise.
224         * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
225         * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
226         * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
227         * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
228         * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
229         * emultempl/spuelf.em (spu_place_special_section): Likewise.
230         * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.
231
232 2009-02-09  Nathan Sidwell  <nathan@codesourcery.com>
233
234         Missing piece of 2009-01-26 commit
235         * ldlang.c (lang_process): Don't consider relocatable flag when
236         checking for overlap.
237
238 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
239
240         * emulparams/m68kelf.sh: Add newline at end of file.
241
242 2009-02-04  Nick Clifton  <nickc@redhat.com>
243
244         PR 9805
245         * ld.texinfo (--allow-shlib-undefined): Correct description of
246         default settings and tidy up the rest of the entry.
247
248 2009-02-04  Alan Modra  <amodra@bigpond.net.au>
249
250         * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
251         during relocatable link.
252
253 2009-02-03  Nick Clifton  <nickc@redhat.com>
254
255         PR 9797
256         * ld.texinfo (Constants): Document the base-encoding suffixes
257         supported in linker scripts.
258
259 2009-02-03  Alan Modra  <amodra@bigpond.net.au>
260
261         * NEWS: Mention --as-needed change.
262
263 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
264
265         * configure.in: AC_SUBST pdfdir.
266         * Makefile.am: Add install-pdf, install-pdf-am,
267         and install-pdf-recursive targets. Define pdf__strip_dir.
268         * po/Make-in: Add install-pdf target.
269         * configure: Regenerate.
270         * Makefile.in: Regenerate.
271
272 2009-01-31  Alan Modra  <amodra@bigpond.net.au>
273
274         * ld.texinfo (--as-needed): Update.
275
276 2009-01-29  Andrew Jenner  <andrew@codesourcery.com>
277
278         * emultempl/armelf.em: Correct formatting of help text for
279         --no-enum-size-warning option.
280
281 2009-01-26  Nathan Sidwell  <nathan@codesourcery.com>
282
283         * lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
284         * ld.h (args_type): Make check_section_addresses a char.
285         * ldmain.c (main): Default check_section_addresses to -1. Check it
286         for relocatable links.
287         * ld.texinfo (--check-sections): Update documentation.
288
289 2009-01-26  Kai Tietz  <kai.tietz@onevision.com>
290
291         * pe-dll.c (tmp_seq2): New static variable.
292         (make_singleton_name_imp): New.
293         (make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
294         avoid duplicate import table generation for same symbol.
295         (pe_create_runtime_relocator_reference): Make reference for
296         64-bit 8 bytes.
297
298 2009-01-21  Alan Modra  <amodra@bigpond.net.au>
299
300         * emultempl/spuelf.em (params): Init new field.
301         (OPTION_SPU_NON_IA_TEXT): Define.
302         (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
303         (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.
304
305 2009-01-16  H.J. Lu  <hongjiu.lu@intel.com>
306
307         * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
308         (ld_options): Add -Ttext-segment.
309         (parse_args): Handle OPTION_TTEXT_SEGMENT.
310
311         * ld.texinfo: Document -Ttext-segment.
312
313         * NEWS: Mention -Ttext-segment.
314
315         * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
316         (SHLIB_TEXT_START_ADDR): Likewise.
317
318 2009-01-13  Alan Modra  <amodra@bigpond.net.au>
319
320         * emultempl/spu_icache.o_c: Regenerate.
321
322 2009-01-12  Alan Modra  <amodra@bigpond.net.au>
323
324         * emultempl/spuelf.em (params): Init new fields.
325         (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
326         (spu_place_special_section): Adjust placement for soft-icache.  Pad
327         soft-icache section to a fixed size.  Clear addr_tree.
328         (spu_elf_load_ovl_mgr): Support soft-icache.  Map overlay manager
329         sections a little more intelligently.
330         (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
331         (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
332         (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
333         (OPTION_SPU_LRLIVE): Define.
334         (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
335         (PARSE_AND_LIST_OPTIONS): Likewise.
336         (PARSE_AND_LIST_ARGS_CASES): Handle them.
337         * emultempl/spu_icache.S: Dummy file.
338         * emultempl/spu_icache.o_c: Regenerate.
339         * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
340         (spu_icache.o_c): Add rule to build.
341         (CLEANFILES): Zap temp files.
342         (EXTRA_DIST): Add spu_icache.o_c.
343         * Makefile.in: Regenerate.
344
345 2009-01-08  Kai Tietz  <kai.tietz@onevision.com>
346
347         * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
348         (gld..._add_options): Add new option
349         --use-nul-prefixed-import-tables.
350         (gld..._handle_option): Likewise.
351         * pep.em: Same as for pe.em.
352         * ld.texinfo: Add new option documentation for
353         --use-nul-prefixed-import-tables.
354         * pe-dll.c (pe_use_nul_prefixed_import_tables): New.
355         (make_head): Make prefix leading zero prefix element for
356         idata$4 and idata$5 dependent to new flag.
357         (make_import_fixup_entry): Remove idata4/5 prefix.
358         * pe-dll.h (pe_use_nul_prefixed_import_tables): New.
359         * pep-dll.c (pe_use_nul_prefixed_import_tables): New.
360         * pep-dll.h (pep_use_nul_prefixed_import_tables): New.
361         * NEWS: Add new option.
362
363 2009-01-05  Kai Tietz  <kai.tietz@onevision.com>
364
365         * emultempl/pe.em: Prefix dollar characters to be outputed in
366         generated C file.
367         * emultempl/pep.em: Likewise.
368
369 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
370
371         * NEWS:  Mention new feature --exclude-modules-for-implib.
372         * ld.texinfo:  Document new --exclude-modules-for-implib option.
373         * pe-dll.c (exclude_list_struct):  Change type member from int to
374         new enumeration exclude_type.
375         (pe_dll_add_excludes):  Accept exclude_type instead of int param.
376         (auto_export):  Replace magic constants by exclude_type values and
377         handle new choice EXCLUDEFORIMPLIB.
378         (pe_dll_generate_implib):  Accept a pointer to the link_info and
379         iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
380         fresh BFDs for any found and link into import lib archive chain.
381         * pe-dll.h (exclude_type):  Add new enumerated type to replace magic
382         constants previously used for exclude_list_struct type member.
383         (pe_dll_add_excludes, pe_dll_generate_implib):  Update prototypes.
384         * pep-dll.h (exclude_type, pe_dll_add_excludes,
385         pe_dll_generate_implib):  Likewise to all the above.
386         * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB):  Define new
387         getopts long option code for new --exclude-modules-for-implib option.
388         (gld${EMULATION_NAME}_add_options):  Add new entry to xtra_long[].
389         (gld_${EMULATION_NAME}_list_options):  List usage for it.
390         (gld${EMULATION_NAME}_handle_option):  Use exclude_type enumerated
391         values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
392         (gld_${EMULATION_NAME}_finish):  Pass pointer to link_info when
393         calling pe_dll_generate_implib.
394         * emultempl/pep.em (options):  Define new enumerated value for getopts
395         long option code for new --exclude-modules-for-implib option.
396         (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
397         gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
398         Again, likewise to all the above.
399
400 2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>
401
402         * pe-dll.c (autofilter_liblist):  Add entry for shared libgcc.
403         (libnamencmp):  New function.
404         (auto_export):  Use it in place of strncmp when filtering libraries.
405
406 For older changes see ChangeLog-2008
407 \f
408 Local Variables:
409 mode: change-log
410 left-margin: 8
411 fill-column: 74
412 version-control: never
413 End: