Provide win32-based dlapi replacements on windows platforms without dlfcn.h.
[external/binutils.git] / ld / ChangeLog
1 2010-10-15  Dave Korn  <dave.korn.cygwin@gmail.com>
2
3         * configure.in: If <dlfcn.h> can't be found, try for <Windows.h>
4         * configure: Regenerate.
5         * config.in: Likewise.
6         * plugin.c [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlopen): Provide
7         trival LoadLibrary-based replacement for Windows systems.
8         [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise trivial
9         replacement based on GetProcAddress.
10         [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise FreeLibrary.
11         * sysdep.h: Don't infer presence of <dlfcn.h> from ENABLE_PLUGINS
12         anymore, use its own guard.
13
14 2010-10-15  Dave Korn  <dave.korn.cygwin@gmail.com>
15
16         * plugin.c (add_input_file): Take copy of input string.
17         (add_input_library): Likewise.
18         (set_extra_library_path): Likewise.
19
20 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
21
22         Apply LD plugin patch series (part 6/6).
23         * ldlang.c (load_symbols): Handle bfd subsitution when calling the
24         add_archive_element callback.
25         * ldmain.c (add_archive_element)[ENABLE_PLUGINS]: Offer the archive
26         member to the plugins and if claimed set "subsbfd" output parameter to
27         point to the dummy IR-only BFD.
28
29 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
30
31         Apply LD plugin patch series (part 5/6).
32         * plugin.c (asymbol_from_plugin_symbol): If the bfd is an ELF bfd,
33         find the elf symbol data and set the visibility in the st_other field.
34
35 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
36
37         Apply LD plugin patch series (part 4/6).
38         * ldlang.c (lang_process)[ENABLE_PLUGINS]: Move invocation of
39         plugin_call_all_symbols_read to before setting of gc_sym_list, and
40         open any new input files that may have been added during it.
41         * ldmain.c (multiple_definition)[ENABLE_PLUGINS]: Call out to
42         plugin_multiple_definition and let it have first say over what to do
43         with the clashing definitions.
44         * plugin.c (no_more_claiming): New boolean variable.
45         (plugin_cached_allow_multiple_defs): Likewise.
46         (add_input_file): Implement.
47         (add_input_library): Likewise.
48         (set_extra_library_path): Likewise.
49         (plugin_call_claim_file): Don't do anything when no_more_claiming set.
50         (plugin_call_all_symbols_read): Set it.  Disable link info
51         "allow_multiple_definition" flag, but cache its value.
52         (plugin_multiple_definition): New function.
53         * plugin.h (plugin_multiple_definition): Add prototype.
54         * testplug.c (addfile_enum_t): New enumerated typedef.
55         (add_file_t): New struct typedef.
56         (addfiles_list): New variable.
57         (addfiles_tail_chain_ptr): Likewise.
58         (record_add_file): New function.
59         (parse_option): Parse "add:", "lib:" and "dir:" options and call it.
60         (onall_symbols_read): Iterate the list of new files, libs and dirs,
61         adding them.
62
63 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
64
65         Apply LD plugin patch series (part 3/6).
66         * ldmain.c (notice)[ENABLE_PLUGINS]: Call plugin_notice.
67         * plugin.c (non_ironly_hash): Add new bfd hash table.
68         (plugin_load_plugins): Exit early if no plugins to load.  If plugins
69         do load successfully, set notice_all flag in link info.
70         (get_symbols): Implement.
71         (plugin_load_plugins): Exit early if no plugins to load, else after
72         loading plugins successfully enable notice_all mode.
73         (init_non_ironly_hash): Lazily init non_ironly_hash table.
74         (plugin_notice): Record symbols referenced from non-IR files in the
75         non_ironly_hash.  Suppress tracing, cref generation and nocrossrefs
76         tracking for symbols from dummy IR bfds.
77         * plugin.h: Fix formatting.
78         (plugin_notice): Add prototype.
79         * testplug.c (dumpresolutions): New global var.
80         (parse_options): Accept "dumpresolutions".
81         (onall_symbols_read): Get syms and dump resolutions if it was given.
82
83 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
84
85         Apply LD plugin patch series (part 2/6).
86         * ldfile.c (ldfile_try_open_bfd)[ENABLE_PLUGINS]: Don't return early
87         during compat checks if they pass, instead offer any successfully
88         opened and accepted file to the plugin claim file hooks chain.  Create
89         a dummy bfd to accept symbols added by the plugin, if the plugin
90         claims the file.
91         * ldlang.c (lang_process)[ENABLE_PLUGINS]: Call plugin all symbols
92         read hook chain before ldemul_after_open.
93         * ldlang.h (struct lang_input_statement_struct): Add new single-bit
94         'claimed' flag.
95         * plugin.c (IRONLY_SUFFIX): New macro for dummy bfd file suffix.
96         (IRONLY_SUFFIX_LEN): Length of the above string.
97         (plugin_get_ir_dummy_bfd): New function to create the dummy bfd used
98         to store symbols for ir-only files.
99         (is_ir_dummy_bfd): New function to check if a bfd is ir-only.
100         (asymbol_from_plugin_symbol): New function converts symbol formats.
101         (add_symbols): Call it to convert plugin syms to bfd syms and add
102         them to the dummy bfd.
103         * plugin.h: Add missing include guards.
104         (plugin_get_ir_dummy_bfd): Add prototype.
105         (is_ir_dummy_bfd): Likewise.
106         * testplug.c (TV_MESSAGE): New helper macro.
107         (struct claim_file): New struct.
108         (claim_file_t): New typedef.
109         (tag_names[]): Make static and const.
110         (claimfiles_list): New variable.
111         (claimfiles_tail_chain_ptr): Likewise.
112         (last_claimfile): Likewise.
113         (record_claim_file): Record a file to claim on a singly-linked list.
114         (parse_symdefstr): Parse an ASCII representation of a symbol from a
115         plugin option into the fields of a struct ld_plugin_symbol.
116         (record_claimed_file_symbol):  Use it to parse plugin option for
117         adding a symbol.
118         (parse_option): Parse claim file and add symbol options.
119         (dump_tv_tag): Use TV_MESSAGE.
120         (onload): Likewise.
121         (onclaim_file): Make static.  Use TV_MESSAGE.  Scan list of files to
122         claim and claim this file if required, adding any symbols specified.
123         (onall_symbols_read): Make static and use TV_MESSAGE.
124         (oncleanup): Likewise.
125
126 2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
127
128         Apply LD plugin patch series (part 1/6).
129         * configure.in: Add AC_CHECKs for file io and dlfcn headers and
130         functions and AC_SEARCH for -ldl.
131         (enable_plugins): New shell variable set if above tests find dlopen
132         functionality.
133         (ENABLE_PLUGINS): Add related automake conditional.
134         * configure: Regenerate.
135         * config.in: Likewise.
136         * Makefile.am (PLUGIN_C): Declare plugin C source file, conditional
137         on ENABLE_PLUGINS being defined.
138         (PLUGIN_H): Likewise for header file.
139         (PLUGIN_OBJECT): Likewise for object file.
140         (PLUGIN_CFLAGS): Likewise -D flag required to compile plugin support.
141         (AM_CPPFLAGS): Use PLUGIN_CFLAGS.
142         (CFILES): Use PLUGIN_C.
143         (HFILES): Use PLUGIN_H.
144         (OFILES): Use PLUGIN_OBJECT.
145         (ld_new_SOURCES): Use PLUGIN_C.
146         (noinst_LTLIBRARIES)[ENABLE_PLUGINS]: Declare test plugin.
147         (libldtestplug_la_SOURCES)[ENABLE_PLUGINS]: Add automake definition
148         for test plugin.
149         (libldtestplug_la_CFLAGS)[ENABLE_PLUGINS]: Likewise.
150         (libldtestplug_la_LDFLAGS)[ENABLE_PLUGINS]: Likewise.
151         * Makefile.in: Regenerate.
152         * sysdep.h: Include stdarg.h, unistd.h and one of fcntl.h or
153         sys/file.h where available.  Include dlfcn.h when ENABLE_PLUGINS.
154         (O_RDONLY): Supply default definition likewise to bfd's sysdep.h
155         (O_WRONLY): Likewise.
156         (O_RDWR): Likewise.
157         (O_ACCMODE): Likewise.
158         (O_BINARY): Likewise.
159         (SEEK_SET): Likewise.
160         (SEEK_CUR): Likewise.
161         (SEEK_END): Likewise.
162         * ldmisc.c (vfinfo): Make non-static.  Add %p format char.
163         * ldmisc.h (vfinfo): Declare extern prototype.
164         * lexsup.c (enum option_values)[ENABLE_PLUGINS]: Add new entries for
165         OPTION_PLUGIN and OPTION_PLUGIN_OPT.
166         (ld_options[])[ENABLE_PLUGINS]: Add option data for the above two.
167         (parse_args)[ENABLE_PLUGINS]: Handle them, and load all plugins once
168         option parsing is complete.
169         * ldmain.c (main)[ENABLE_PLUGINS]: Call plugin cleanup hooks just
170         after lang_finish.
171         * plugin.c: New source file.
172         * plugin.h: Likewise new header.
173         * testplug.c: New source file.
174
175 2010-10-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
176
177         * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed
178         basever_syms to global_syms.
179         Emit global_syms into .dynamic section for all executables and
180         shared objects.
181         (elf_solaris2_after_allocation): New function.
182         (LDEMUL_AFTER_ALLOCATION): Use it.
183         * emulparams/solaris2.sh: New file.
184         * emulparams/elf32_sparc_sol2.sh: Use it.
185         * emulparams/elf64_sparc_sol2.sh: Likewise.
186         * emulparams/elf_i386_sol2.sh: Likewise.
187         * emulparams/elf_x86_64_sol2.sh: Likewise.
188         * Makefile.am (eelf32_sparc_sol2.c): Depend on
189         $(srcdir)/emulparams/solaris2.sh.
190         (eelf64_sparc_sol2.c): Likewise.
191         (eelf_x86_64_sol2.c): Likewise.
192         (eelf_i386_sol2.c): Likewise.
193         * Makefile.in: Regenerate.
194
195 2010-10-06  Nick Clifton  <nickc@redhat.com>
196
197         * ld.texinfo: Update description of computation of VMA and LMA
198         addresses for output sections.
199
200 2010-10-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
201
202         * Makefile.am (ALL_64_EMULATIONS): Fix typo in last commit.
203         * Makefile.in: Regenerate.
204
205         * Makefile.am (ALL_EMULATIONS): Rewrite in terms of ...
206         (ALL_EMULATION_SOURCES): ... this new variable.
207         (ALL_64_EMULATIONS): Rewrite in terms of ...
208         (ALL_64_EMULATION_SOURCES): ... this new variable.
209         (EXTRA_ld_new_SOURCES): Rewrite in terms of the _SOURCES
210         variables.
211         (eelf32microblaze.c): Fix indentation.
212         * Makefile.in: Regenerate.
213
214 2010-10-04  Bernd Schmidt  <bernds@codesourcery.com>
215
216         * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Use
217         _bfd_elf_single_rel_hdr.
218
219 2010-10-01  Alan Modra  <amodra@gmail.com>
220
221         PR ld/12066
222         * ldexp.c (fold_name): Treat absolute symbols as plain numbers.
223         * ld.texinfo (Expression Section): Don't say absolute symbols
224         are addresses.
225
226 2010-09-29  Alan Modra  <amodra@gmail.com>
227
228         * ldlang.c (lang_place_orphans): Zero vma when relocatable or non-load
229         section for orphans handled here.
230
231 2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
232
233         * configure: Regenerate.
234
235 2010-09-23  Dave Korn  <dave.korn.cygwin@gmail.com>
236
237         * scripttempl/armcoff.sc: Revert 2010-09-22 change.
238
239 2010-09-23  Alan Modra  <amodra@gmail.com>
240
241         * ldlang.c (lang_add_section): Don't copy SEC_RELOC from input
242         to output section on a final link.
243
244 2010-09-22  Kai Tietz  <kai.tietz@onevision.com>
245
246         * ldlang.c (lang_add_section): Allow for debugging
247         section to be marked as noload but to keep content.
248         (IGNORE_SECTION): Likewise.
249         (lang_check_section_addresses): Likewise.
250         * ldwrite.c (build_link_order): Likewise.
251
252         * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add
253         idata to orphan set.
254         * emultempl/pep.em: Likewise.
255         * scripttempl/armcoff.sc: Separate idata
256         and add __IAT_start__ and __IAT_end__ labels.
257         * scripttempl/pe.sc: Likewise.
258         * scripttempl/pep.sc: Likewise.
259
260 2010-09-20  David S. Miller  <davem@davemloft.net>
261
262         * emulparams/elf32_sparc.sh: Set NOP to 0x01000000
263
264 2010-09-16  Alan Modra  <amodra@gmail.com>
265
266         * ld.texinfo (NOLOAD): Do not erroneously state that contents will
267         appear in output file.
268         * ldlang.c (lang_add_section): Clear SEC_HAS_CONTENTS on noload
269         unless SEC_COFF_SHARED_LIBRARY.
270         (map_input_to_output_sections): Don't set SEC_HAS_CONTENTS for noload
271         output sections.
272         (lang_size_sections_1): Don't test SEC_NEVER_LOAD when deciding
273         to update dot in region.  Ditto when setting SEC_ALLOC if dot
274         advanced due to assignment.
275         * ldwrite.c (build_link_order): Don't test SEC_NEVER_LOAD.
276
277 2010-09-15  Kai Tietz  <kai.tietz@onevision.com>
278
279         * scripttempl/pep.sc: Add .xdata segment and
280         put into .pdata all segments beginning with .pdata.
281
282 2010-09-10  Alan Modra  <amodra@gmail.com>
283
284         PR ld/11931
285         * ldlang.h (lang_for_each_statement_worker): Declare.
286         * ldlang.c (lang_for_each_statement_worker): Make global.  Don't
287         recurse into children of output_section_statement with constraint
288         set to -1.
289         (print_assignment): Handle NULL output_section->bfd_section.
290         (lang_size_sections_1): Ignore output section statement address
291         when constraint is -1.
292         * emultempl/xtensaelf.em (lang_for_each_statement_worker): Delete.
293
294 2010-09-09  Tristan Gingold  <gingold@adacore.com>
295
296         * NEWS: Add a entry for alpha-vms.
297
298 2010-09-07  Andrew Burgess  <aburgess@broadcom.com>
299
300         * ldwrite.c (clone_section): Call bfd_copy_private_section_data on
301         newly cloned section.
302
303 2010-09-02  Richard Henderson  <rth@redhat.com>
304
305         * configure.tgt (x86_64-*-mingw*): Add 32-bit pe emulations too.
306
307 2010-08-31  Nick Clifton  <nickc@redhat.com>
308
309         * ldlex.l (WILDCHAR): Add the caret and exclamation point
310         characters, so that they can be used inside globs.
311
312 2010-08-31  Nick Clifton  <nickc@redhat.com>
313
314         * ld.texinfo (MEMORY): Clarify the behaviour of the ! character in
315         a region's attributes.
316
317 2010-08-31  Alan Modra  <amodra@gmail.com>
318
319         * scripttempl/mmo.sc: Move assignment to "Main" inside .text
320         output section statement.
321
322 2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
323
324         PR ld/11946
325         * emultempl/elf32.em (_before_allocation): Check audit entry
326         only on ELF input.
327
328 2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>
329
330         PR ld/11937
331         * emultempl/elf32.em (_after_open): Find one .eh_frame section
332         for --eh-frame-hdr.
333
334 2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>
335
336         PR ld/11937
337         * emultempl/elf32.em (_after_open): Find an ELF input for
338         --build-id and --eh-frame-hdr.
339
340 2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
341
342         * Makefile.am (eshlelf_fd.c): Correct the name of the tool
343         directory.
344         * Makefile.in: Regenerate.
345
346 2010-08-20  Nick Clifton  <nickc@redhat.com>
347
348         * emultempl/elf32.em (_after_open): Check for get_elf_backend_data
349         returning NULL.
350
351 2010-08-19  Alan Modra  <amodra@gmail.com>
352
353         * NEWS: Mention change in linker script expression evaluation.
354
355 2010-08-19  Alan Modra  <amodra@gmail.com>
356
357         * ld.texinfo (Expression Section): Detail expression evaluation.
358         (Builtin Functions <ADDR>): Correct.
359         (Builtin Functions <LOADADDR>): Don't mention LOADADDR normally
360         the same as ADDR.
361         (Builtin Functions <SEGMENT_START>): Typo fix.
362         * ldexp.c (new_number): New function.
363         (make_abs, exp_get_abs_int): Cope with NULL expld.result.section.
364         (fold_unary <'~', '!', '-'>): Don't make_abs.
365         (fold_binary): Simplify result section logic.  Return NULL section
366         for logical ops.
367         (fold_binary <SEGMENT_START>): Use new_rel_from_abs to set value to
368         a consistent result.
369         (fold_name <SIZEOF_HEADERS>): Return new_number, not new_abs.
370         (fold_name <DEFINED, SIZEOF, ALIGNOF, LENGTH, CONSTANT>): Likewise.
371         (fold_name <NAME>): No need to handle absolute symbols differently
372         from relative ones.
373         (fold_name <ORIGIN>): Don't return valid result when
374         lang_first_phase_enum.  Return new_rel_from_abs, not new_abs.
375         (exp_fold_tree_1 <etree_value>): Return new_number, not new_rel.
376         (exp_fold_tree_1): Ajust for NULL expld.result.section.  When assigning
377         a plain number to dot, assume the value is relative to expld.section.
378         Make terms not in an output section, absolute.
379         * ldlang.c (print_assignment): Fix style nit.
380         (lang_size_sections_1): Cope with NULL expld.result.section.
381         (lang_do_assignments_1): Likewise.
382
383 2010-08-12  Alan Modra  <amodra@gmail.com>
384
385         * ldexp.c (new_rel): Remove "str".  Update all call sites.
386         (exp_fold_tree_1): When assigning to dot, calculate nextdot
387         using expld.result.section rather than expld.section.
388
389 2010-08-06  Alan Modra  <amodra@gmail.com>
390
391         PR ld/11887
392         * ldlang.c (lang_add_vers_depend): Don't leave version_needed
393         uninitialised.
394
395 2010-07-28  Alan Modra  <amodra@gmail.com>
396
397         * ldexp.c (exp_print_tree): Print function-like binary nodes as
398         functions rather than in-fix operators.  Use fputs and fputc
399         where appropriate.
400
401 2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
402             Ina Pandit  <ina.pandit@kpitcummins.com>
403
404         * configure.tgt: Match all v850 targets.
405
406 2010-07-20  Mike Frysinger  <vapier@gentoo.org>
407
408         * ld.texinfo (VERSION): Remove "int" from example script and add ";".
409         Declare the default language as C.
410
411 2010-07-17  Alan Modra  <amodra@gmail.com>
412
413         * ldlang.c (lang_check_section_addresses): Catch overlap for
414         sections that wrap around the address space.
415
416 2010-06-29  Nick Clifton  <nickc@redhat.com>
417
418         * scripttempl/xstormy16.sc (.gcc_except_table): Include sections
419         with the .gcc_except_table. prefix.
420
421 2010-06-29  Alan Modra  <amodra@gmail.com>
422
423         * emulparams/maxqcoff.sh: Delete file.
424         * scripttempl/maxqcoff.sc: Delete file.
425         * Makefile.am: Remove references to maxq.
426         * configure.tgt: Likewise.
427         * Makefile.in: Regenerate.
428         * configure: Regenerate.
429         * po/POTFILES.in: Regenerate.
430
431 2010-06-27  Alan Modra  <amodra@gmail.com>
432
433         * pe-dll.c (fill_edata): Avoid set but unused warning.
434         (pe_walk_relocs_of_symbol): Delete set but unused variables.
435         (generate_reloc, pe_implied_import_dll): Likewise.
436         * emultempl/aix.em (open_dynamic_archive): Likewise.
437         * emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Likewise.
438         (xtensa_layout_wild): Likewise.
439         (xtensa_colocate_output_literals_callback): Likewise.
440
441 2010-06-25  Alan Modra  <amodra@gmail.com>
442
443         * emultempl/ppc64elf.em (prelim_size_sections): New function.
444         (ppc_before_allocation): Use it.  Size sections before toc edit too.
445
446 2010-06-25  Alan Modra  <amodra@gmail.com>
447
448         * emultempl/elf32.em (find_exp_assignment): Handle etree_provided.
449
450 2010-06-20  Danny Smith  <dannysmith@users.sourceforge.net>
451
452         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Make
453         auto-import and merge-rdata defaults same for i[3-7]86 and
454         x86_64 mingw.
455
456 2010-06-15  Joseph Myers  <joseph@codesourcery.com>
457
458         * emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define.
459
460 2010-06-09  Dave Korn  <dave.korn.cygwin@gmail.com>
461
462         PR ld/11603
463         * pe-dll.c (process_def_file_and_drectve): Reorder check for
464         forwarded export name after check for ordinary export.
465
466 2010-06-08  Bernd Schmidt  <bernds@codesourcery.com>
467
468         * emulparams/elf32_tic6x_le.sh (OTHER_BSS_SECTIONS): New.
469
470 2010-06-08  Nick Clifton  <nickc@redhat.com>
471
472         * fdl.texi: Replace with v1.3 text.
473         * ld.texinfo: Replace abbreviated 20th century year numbers with
474         full versions.
475         * ldint.texinfo: Likewise.
476         Relicense under GFDL v1.3.  Replace text of v1.1 FDL with an
477         include of the fdl.texi file.
478
479 2010-06-01  Tristan Gingold  <gingold@adacore.com>
480
481         * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
482         readonly output-section. Handle LIB$INITIALIZE and sections
483         created by gcc.
484         * emultempl/vms.em (vms_place_orphan): Add comments.
485
486 2010-05-28  Nick Clifton  <nickc@redhat.com>
487
488         * Makefile.am (eshlelf_fd.c): Fix typo in rule.
489         * Makefile.in: Regenerate.
490
491 2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
492
493         PR ld/11628
494         * ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
495         multiple of maximum page size.
496
497 2010-05-25  Nick Clifton  <nickc@redhat.com>
498
499         * Makefile.am: Fix typo.
500         * Makefile.in: Regenerate.
501
502 2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
503             Joseph Myers  <joseph@codesourcery.com>
504             Andrew Stubbs  <ams@codesourcery.com>
505
506         * Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
507         (eshelf_fd.c, eshlelf_fd.c): New rules.
508         * Makefile.in: Regenerate.
509         * configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
510         emulations.
511         * emulparams/shelf_fd.sh: New file.
512         * emulparams/shlelf_fd.sh: New file.
513         * emulparams/shlelf_linux.sh: Update comment.
514
515 2010-05-25  Jay Krell  <jay.krell@cornell.edu>
516
517         PR ld/11621
518         * Makefile.am: Replace all occurences of .o with .@OBJEXT@
519         * Makefile.in: Regenerate.
520
521 2010-05-25  Kai Tietz  <kai.tietz@onevision.com>
522
523         * deffilep.y (opt_name): Allow leading dot.
524         (dot_name): Likewise.
525         (anylang_id): Likewise.
526         * emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by
527         default auto_import.
528         (gld${EMULATION_NAME}_handle_option): Warn about v1.
529         (pep_find_data_imports): Remove superflous warnings about
530         auto-import.
531         (gld_${EMULATION_NAME}_get_script): Don't merge for auto-import
532         and active pseudo-relocation-v2 rdata into data section.
533         * emultempl/pe.em (default_merge_rdata): New shell variable.
534         (MERGE_RDATA_V2): New macro.
535         (gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import
536         selected script.
537
538 2010-05-15  Kai Tietz  <kai.tietz@onevision.com>
539
540         * emultempl/pe.em (is_underscoring): New helper function.
541         (gld_${EMULATION_NAME}_before_parse): Replace code
542         for pe(p)_leading_underscore detection by is_underscoring.
543         (U): Likewise.
544         (GET_INIT_SYMBOL_NAME): Likewise.
545         (U_SIZE): Likewise.
546         (set_pe_name):
547         (set_entry_point):
548         (gld_${EMULATION_NAME}_set_symbols):
549         * emultempl/pep.em: Likewise.
550         * pe-dll.c (pe_detail_list): Set default
551         underscoring for x64 target.
552         (pe_dll_id_target): Add initialization of
553         pe(p)_leading_underscore.
554
555 2010-05-15  Dave Korn  <dave.korn.cygwin@gmail.com>
556
557         * pe-dll.c: Removed trailing whitespaces.
558
559 2010-05-14  Alan Modra  <amodra@gmail.com>
560
561         PR ld/11583
562         * ldexp.c (exp_fold_tree_1): If assignment source expression is
563         invalid, make the destination symbol undefined.
564
565 2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
566
567         * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
568         Initialize pe(p)_leading_underscore variable.
569         (set_pe_name): Likewise.
570         * emultempl/pep.em: Likewise.
571         Additional change default to non-underscore for
572         pep_leading_underscore equal to -1.
573
574 2010-05-07  Tristan Gingold  <gingold@adacore.com>
575
576         * Makefile.in: Regenerate with automake 1.11.1.
577         * aclocal.m4: Ditto.
578
579 2010-05-05  Nick Clifton  <nickc@redhat.com>
580
581         * po/es.po: Updated Spanish translation.
582
583 2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
584
585         * pe-dll.c (_nm_-symbols): Use always underscored variant
586         for symbols.
587         (__imp_-symbols): Likewise.
588         (___imp_-symbols): Likewise.
589         * NEWS: Mention ABI change for x64 PE-COFF.
590
591 2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
592
593         * Makefile.am (install-exec-local): Properly install ld as
594         default cross linker.
595         * Makefile.in: Regenerated.
596
597 2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
598             Nick Clifton  <nickc@redhat.com>
599
600         * configure.in (install_as_default): Define and set to true
601         unless --enable-gold=both/gold has been specified.
602         * configure: Regenerate.
603
604         * Makefile.am (transform): Use ld.bfd as the default name of
605         the linker.
606         (install-exec-local): Also install the executable as a binary
607         named 'ld' if install_as_default is true.
608         * Makefile.in: Regenerate.
609
610 2010-04-22  Nick Clifton  <nickc@redhat.com>
611
612         * po/ld.pot: Updated by the Translation project.
613         * po/vi.po: Updated Vietnamese translation.
614         * po/bg.po: Updated Bulgarian translation.
615
616 2010-04-15  Andrew Haley  <aph@redhat.com>
617
618         * emultempl/armelf.em (merge_exidx_entries): New variable.
619         (OPTION_NO_MERGE_EXIDX_ENTRIES): New definition.
620         ("no-merge-exidx-entries"): New option.
621         * ld.texinfo (merge-exidx-entries): Document this option.
622
623 2010-04-14  Tristan Gingold  <gingold@adacore.com>
624
625         * emulparams/alphavms.sh: New file.
626         * emultempl/vms.em: New file.
627         * scripttempl/alphavms.sc: New file.
628         * configure.tgt (alpha*-*-*vms*): Added.
629         * Makefile.am (ALL_EMULATIONS): Add ealphavms.o
630         (ealphavms.c): New target.
631         * Makefile.in: Regenerate.
632
633 2010-04-09  Nick Clifton  <nickc@redhat.com>
634
635         * ldlang.c (wild_sort): Remove unused variable section_name.
636
637 2010-04-07  Alan Modra  <amodra@gmail.com>
638
639         * configure: Regenerate.
640
641 2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>
642
643         PR ld/11434
644         * ld/testsuite/ld-x86-64/unique1.d: New.
645         * ld/testsuite/ld-x86-64/unique1.s: Likewise.
646
647         * ld-x86-64/x86-64.exp: Run unique1.
648
649 2010-04-05  Kai Tietz  <kai.tietz@onevision.com>
650
651         * emultempl/pep.em (U): Macro modified.
652         (U_SIZE): New helper macro.
653         (GET_INIT_SYMBOL_NAME): Likewise.
654         (enum options): Add OPTION_NO_LEADING_UNDERSCORE
655         and OPTION_LEADING_UNDERSCORE enumerator-values.
656         (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
657         option.
658         (definfo): Add new member is_c_symbol.
659         (D): Add to macro underscore mode parameter.
660         (init): Add definition for is_c_symbol.
661         (gld_${EMULATION_NAME}_list_options): Display new options.
662         (set_pep_name): Adjust underscoring dependent fixed
663         symbol handling.
664         (gld_${EMULATION_NAME}_set_symbols): Likewise.
665         (saw_option): Likewise.
666         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
667         (set_entry_point): Initial initial_symbol_char dependent to
668         target's default and new option flag pep_leading_underscore.
669         * emultempl/pe.em (U): Macro modified.
670         (U_SIZE): New helper macro.
671         (GET_INIT_SYMBOL_NAME): Likewise.
672         (OPTION_LEADING_UNDERSCORE): Add new option define.
673         (OPTION_NO_LEADING_UNDERSCORE): Likewise.
674         (gld${EMULATION_NAME}_add_options): Add --(no-)leading-underscore
675         option.
676         (definfo): Add new member is_c_symbol.
677         (D): Add to macro underscore mode parameter.
678         (init): Add definition for is_c_symbol.
679         (gld_${EMULATION_NAME}_list_options): Display new options.
680         (set_pep_name): Adjust underscoring dependent fixed
681         symbol handling.
682         (gld_${EMULATION_NAME}_set_symbols): Likewise.
683         (saw_option): Likewise.
684         (gld_${EMULATION_NAME}_unrecognized_file): Likewise.
685         (set_entry_point): Initial initial_symbol_char dependent to
686         target's default and new option flag pep_leading_underscore.
687         * pe-dll.c (pe_leading_underscore): New flag variable.
688         (pe_detail_list): Remove const to allow modify of
689         member underscore.
690         (pe_dll_id_target): Initialize pe_details' underscore variable
691         dependent to target's default and flag pe_leading_underscore.
692         * pe-dll.h (pe_leading_underscore): Add extern declaration of
693         option flag.
694         * pep-dll.c (pe_leading_underscore): Add alias define for
695         pep_leading_underscore.
696         * pep-dll.h (pep_leading_underscore) Add extern declaration of
697         option flag.
698         * ld.texinfo: Add documentation for --(no-)leading-underscore
699         option.
700
701 2010-03-26  Alan Modra  <amodra@gmail.com>
702
703         PR ld/11426
704         * configure.host (many linux targets <HOSTING_CRT0>): Remove edits.
705         (m68*-motorola-sysv <HOSTING_LIBS>): Use here doc, not echo.
706
707 2010-03-25  Joseph Myers  <joseph@codesourcery.com>
708
709         * Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
710         eelf32_tic6x_le.o.
711         (eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
712         * NEWS: Add news entry for TI C6X support.
713         * configure.tgt (tic6x-*-*): New.
714         * emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.
715
716 2010-03-23  Joseph Myers  <joseph@codesourcery.com>
717
718         * scripttempl/elf.sc (RODATA_NAME, SDATA_NAME, SBSS_NAME,
719         BSS_NAME): Define if not already defined.  Use in place of some
720         hardcoded section names.
721
722 2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
723
724         * scripttempl/elf.sc (INIT_ARRAY): Re-indent.
725
726 2010-03-18  Aymeric Vincent  <vincent@labri.fr>
727
728         PR ld/11384
729         * emultempl/sh64elf.em: Add missing EOF.
730
731 2010-03-18  Doug Semler  <dougsemler@gmail.com>
732
733         * pe-dll.c (make_one): Make text section readonly.
734         (make_one): Add *ABS* symbol @feat.00 with value 1 to tag
735         the jump stub on X86 as /SAFESEH compatible for
736         native toolchains.
737
738 2010-03-17  Alan Modra  <amodra@gmail.com>
739
740         * ldlang.c (lang_size_sections_1): Remove "s" param.  Set "s" from
741         *prev instead.  Update all callers.
742
743 2010-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
744
745         * ldlang.c (lang_insert_orphan): Place loadable orphans in the same
746         region and phdrs as their placement section.
747
748 2010-03-15  Alan Modra  <amodra@gmail.com>
749
750         * emultempl/ppc64elf.em (move_input_section, sort_toc_sections): New.
751         (ppc_before_allocation): Call sort_toc_sections.
752         (no_toc_sort, OPTION_NO_TOC_SORT): New.
753         (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
754          PARSE_AND_LIST_OPTIONS): Handle --no-toc-sort.
755
756 2010-03-14  Alan Modra  <amodra@gmail.com>
757
758         PR ld/11378
759         * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call
760         ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs.
761
762 2010-03-11  George Gensure  <werkt0@gmail.com>
763
764         PR ld/11367
765         * ldcref.c (handle_asneeded_cref): Correct copying of refs.
766
767 2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
768
769         * Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
770         eelf_i386_sol2.o.
771         (ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o.
772         (eelf32_sparc_sol2.c): New rule.
773         (eelf64_sparc_sol2.c): Likewise.
774         (eelf_x86_64_sol2.c): Likewise.
775         (eelf_i386_sol2.c): Likewise.
776         * Makefile.in: Regenerate.
777         * configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to
778         elf_i386_sol2.
779         Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls.
780         (x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2.
781         Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls.
782         (sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2.
783         Add target_extra_emuls.
784         (sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2.
785         Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls.
786         (sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2.
787         Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls.
788         * emulparams/elf32_sparc_sol2.sh: New file.
789         * emulparams/elf64_sparc_sol2.sh: New file.
790         * emulparams/elf_i386_sol2.sh: New file.
791         * emulparams/elf_x86_64_sol2.sh: New file.
792         * emultempl/solaris2.em: New file.
793
794 2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
795
796         PR ld/11330
797         * ld.texinfo: Replace explicitely with explicitly.
798
799 2010-02-27  Jie Zhang  <jie@codesourcery.com>
800
801         * scripttempl/armbpabi.sc: Don't combine .init_array.* or
802         .fini_array.* when do relocatable linking.
803         * scripttempl/elf.sc: Likewise.
804         * scripttempl/elf32sh-symbian.sc: Likewise.
805         * scripttempl/elf64hppa.sc: Likewise.
806         * scripttempl/elfxtensa.sc: Likewise.
807
808 2010-02-26  Alan Modra  <amodra@gmail.com>
809
810         * scripttempl/elf.sc (.fini_array): Place input .fini_array after
811         .fini_array.*.
812         * scripttempl/armbpabi.sc: Likewise.
813         * scripttempl/elf32sh-symbian.sc: Likewise.
814         * scripttempl/elf64hppa.sc: Likewise.
815         * scripttempl/elfxtensa.sc: Likewise.
816
817 2010-02-25  Alan Modra  <amodra@gmail.com>
818
819         PR ld/11304
820         * ldlang.c (init_os): Remove isec param.  Don't check for
821         bfd_section already set or call bfd_init_private_section_data
822         here.
823         (exp_init_os): Update init_os call.
824         (lang_add_section): Tidy.  Really don't set SEC_LINK_ONCE
825         flags.  Call bfd_init_private_section_data here.
826         (map_input_to_output_sections): Tidy.  Update init_os calls.
827         Use os->sectype to select sec flags for lang_data_statement.
828
829 2010-02-23  Alan Modra  <amodra@gmail.com>
830
831         PR ld/11304
832         * ldlang.c: Revert last patch.
833
834 2010-02-23  Nick Clifton  <nickc@redhat.com>
835
836         * po/bg.po: Updated Bulgarian translation.
837
838 2010-02-22  Alan Modra  <amodra@gmail.com>
839
840         PR ld/11304
841         * ldlang.c (exp_init_os): Delete forward declaration.
842         (init_os): Don't check for bfd_section already created and don't
843         init addr_tree and load_base expressions here.
844         (map_input_to_output_sections): Only map input to output sections
845         and set constraints here, and as an exception, create output
846         sections which have their address set.  Move all the other code to..
847         (create_other_output_sections): ..here.  New function.  Handle init
848         of addr_tree and load_base here too.
849         (lang_process): Call create_other_output_sections.
850
851 2010-02-19  Alan Modra  <amodra@gmail.com>
852
853         * Makefile.am (eelf32_i960.c): Depend on ELF_GEN_DEPS, not ELF_DEPS.
854         * Makefile.in: Regenerate.
855
856 2010-02-19  Alan Modra  <amodra@gmail.com>
857
858         * ldlang.c (unique_section_p): Add os param.  Allow group
859         sections to match /DISCARD/.  Update all callers.
860         * emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New.
861         (LDEMUL_BEFORE_ALLOCATION): Define.
862
863 2010-02-15  Nick Clifton  <nickc@redhat.com>
864
865         * po/vi.po: Updated Vietnamese translation.
866
867 2010-02-10  Richard Sandiford  <r.sandiford@uk.ibm.com>
868
869         * Makefile.am (CFILES): Add ldlex-wrapper.c.
870         (OFILES): Replace ldlex.c with ldlex-wrapper.c.
871         (ldlex.o): Replace with...
872         (ldlex-wrapper.o): ...this new rule.
873         (EXTRA_ld_new_SOURCES): Add ldlex.l.
874         (ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c.
875         * Makefile.in: Regenerate.
876         * ldlex.l (sysdep.h): Don't include here.
877         * ldlex-wrapper.c: New file.
878
879 2010-02-09  Alan Modra  <amodra@gmail.com>
880
881         * emultempl/ppc64elf.em (ppc_before_allocation): Update for changed
882         function parameters.
883
884 2010-02-05  Nick Clifton  <nickc@redhat.com>
885
886         * configure.in (ALL_LIBGUAS): Add bg.
887         * configure: Regenerate.
888         * po/bg.po: New Bulgarian translation.
889
890 2010-02-05  Ryan Mansfield  <rmansfield@qnx.com>
891
892         * emultempl/armelf.em (PARSE_AND_LIST_OPTIONS): Fix help for
893         --target1-abs and --target1-rel options.
894
895 2010-02-03  Nick Clifton  <nickc@redhat.com>
896
897         * emultempl/alphaelf.em: Update value expected from elf_object_id.
898         * emultempl/hppaelf.em: Likewise.
899         * emultempl/mipself.em: Likewise.
900         * emultempl/ppc32elf.em: Likewise.
901         * emultempl/ppc64elf.em: Likewise.
902
903 2010-02-03  Alan Modra  <amodra@gmail.com>
904
905         * emultempl/ppc64elf.em (build_toc_list): Report errors from
906         ppc64_elf_next_toc_section.
907         (after_allocation): Update for changed function names and params.
908         Run second pass of multitoc partitioning.
909
910 2010-01-21  Jon Grant  <jg@jguk.org>
911             Nick Clifton  <nickc@redhat.com>
912
913         PR 4437
914         * ldfile.c: (ldfile_open_file): Do not stop link upon encountering
915         a missing file or library.  Instead mark the entry as missing and
916         set the global flag to indicate that missing files were
917         encountered.
918         * ldlang.c (missing_files): New exported variable.
919         (load_symbols): Skip loading if the file is missing.
920         (open_input_bfds): Terminate link if any input files were
921         missing.
922         * ldlang.h (struct lang_input_statement_struct): Add missing_file
923         field.
924         Add export of missing_file variable.
925
926 2010-01-13  DJ Delorie  <dj@redhat.com>
927
928         * emultempl/elf32.em (_place_orphan): If an input section doesn't
929         match an existing output section, but an unused output section
930         statement does match, use it.
931         * emultempl/pe.em (_place_orphan): Likewise.
932         * emultempl/pep.em (_place_orphan): Likewise.
933
934 2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
935
936         * configure: Regenerate.
937         * Makefile.in: Regenerate.
938
939 2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>
940
941         * ldver.c (ldversion): Change to "Copyright 2010".
942
943 2010-01-08  Alan Modra  <amodra@gmail.com>
944
945         PR 11107
946         * emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr.
947
948 For older changes see ChangeLog-2009
949 \f
950 Local Variables:
951 mode: change-log
952 left-margin: 8
953 fill-column: 74
954 version-control: never
955 End: