1 2014-03-14 Romain Geissler <romain.geissler@amadeus.com>
2 Alan Modra <amodra@gmail.com>
4 * ldlang.h (full_name_provided): New input flag.
5 * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
6 for -l:namespec. Instead use lang_input_file_is_l_enum with
7 full_name_provided flag.
8 * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
9 full_name_provided flag is set.
10 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
11 Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION
12 support. Set DT_NEEDED for -l:namespec as namespec.
13 * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
14 * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
15 Don't handle full_name_provided libraries.
16 * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
17 * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
18 * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
20 2014-03-12 Alan Modra <amodra@gmail.com>
22 * Makefile.in: Regenerate.
24 2014-03-05 Alan Modra <amodra@gmail.com>
26 Update copyright years.
28 2014-03-04 Nick Clifton <nickc@redhat.com>
30 * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
31 * Makefile.in: Regenerate.
33 2014-02-27 Yuri Gribov <y.gribov@samsung.com>
35 * emultempl/armelf.em (OPTION_LONG_PLT): Define.
36 (PARSE_AND_LIST_LONGOPTS): Add long-plt.
37 (PARSE_AND_LIST_OPTIONS): Likewise.
38 (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
39 * ld.texinfo: Document --long-plt.
41 2014-02-27 Alan Modra <amodra@gmail.com>
43 * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
45 * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
47 (LDEMUL_AFTER_OPEN): Don't set for vxworks.
48 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
49 -secure-plt, -bss-plt and -sdata-got when vxworks.
51 2014-02-27 Nick Clifton <nickc@redhat.com>
53 * configure.in (all_emul_extra_binaries): New variable. Populated
54 by invoking configure.tgt.
55 (EMUL_EXTRA_BINARIES): New substitution.
56 * configure: Regenerate.
57 * configure.tgt (target_extra_binaries): New variable. Set to
58 default-manifest.o for Cygwin and MinGW targets.
59 * Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
60 by the configure script.
61 (ALL_EMUL_EXTRA_BINARIES): New variable.
62 (default-manifest.o): New rule to build the default manifest.
63 (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
64 (install-data-local): Add EMUL_EXTRA_BINARIES.
65 * Makefile.in: Regenerate.
66 * ld.texinfo: Document default manifest support.
67 * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
68 * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
69 * emultempl/default-manifest.rc: New file.
70 * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
71 * scripttempl/pep.sc (R_RSRC): Likewise.
73 2014-02-26 Dan Mick <dan.mick@inktank.com>
76 * ldcref.c (cref_sort_array): Compare unmangled names unless
77 demanglng has been requiested.
78 (output_one_cref): Output unmangled name unless demangling has
81 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
82 H.J. Lu <hongjiu.lu@intel.com>
84 * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
86 2014-02-19 Alan Modra <amodra@gmail.com>
88 * emultempl/ppc64elf.em (params): Init new field.
89 (ppc_create_output_section_statements): Set params.save_restore_funcs
91 (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
92 --no-save-restore-funcs.
94 2014-02-17 Alan Modra <amodra@gmail.com>
96 * emultemps/ppc64elf.em (params): New static struct replacing
97 various other static vars. Adjust code throughout file.
99 2014-02-17 Alan Modra <amodra@gmail.com>
101 * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
102 ppc476 workaround for ld -r.
104 2014-02-12 Alan Modra <amodra@gmail.com>
106 * emultempl/ppc32elf.em (pagesize): New static var.
107 (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
108 (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
110 2014-02-11 Andrew Pinski <apinski@cavium.com>
112 * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
113 (ELF_INTERPRETER_NAME): Define.
114 * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
116 2014-02-10 Alan Modra <amodra@gmail.com>
118 * po/ld.pot: Regenerate.
120 2014-02-03 Alan Modra <amodra@gmail.com>
122 * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
123 plt_style): Delete. Adjust all refs to instead use..
124 (params): ..this. New variable.
125 (ppc_after_open_output): New function. Tweak params and pass to
127 (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
128 (ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable
129 relaxation for ppc476 workaround.
130 (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
131 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
133 2014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
135 * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
136 * ld/ldlang.c (lang_size_sections_1): Add dotdelta
137 variable which reflects the VMA change due to alignment
138 requirements. Use dotdelta do change the LMA if
139 ALIGN_WITH_INPUT is requested.
141 2014-02-01 Hans-Peter Nilsson <hp@bitrange.com>
143 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
144 call to bfd_set_section_vma exposed by recent bfd_set_section_vma
147 2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
149 * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
150 * Makefile.in: Regenerated.
151 * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
152 * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
153 * emultempl/nios2elf.em: New file.
154 * gen-doc.texi (NIOSII): Set.
155 * ld.texinfo (NIOSII): Set.
157 2014-01-28 Nick Clifton <nickc@redhat.com>
159 * Makefile.am: Remove obsolete MSP430 emulations.
160 * configure.tgt: Likewise.
161 * emulparams/msp430all.sh: Likewise.
162 * Makefile.in: Regenerate.
164 2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
167 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
168 orphaned TLS section handling.
170 2014-01-24 Alan Modra <amodra@gmail.com>
172 * ldlang.c (lang_output_section_find_by_flags): Be careful to
173 test look->bfd_section->flags if available rather than
174 look->flags. Separate SEC_THREAD_LOCAL handling from
175 SEC_READONLY loop, and rewrite.
177 2014-01-22 Alan Modra <amodra@gmail.com>
179 * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
180 (lang_init): Initialise them.
181 (lang_print_asneeded): New function.
182 (lang_process): Call lang_print_asneeded.
183 * ldlang.h (struct asneeded_minfo): New.
184 (asneeded_list_tail): Declare.
185 * ldmain.c (add_archive_element): Improve archive map heading.
186 * ldmisc.c (minfo): Stash --as-needed info.
188 2014-01-22 Alan Modra <amodra@gmail.com>
190 * ld.h (struct map_symbol_def): Move to..
192 * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
194 2014-01-22 Alan Modra <amodra@gmail.com>
196 * ld.texinfo (Output Section Discarding): Mention assigning to dot
197 as a way of keeping otherwise empty sections.
198 * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
199 is_dot_plus_0, is_align_conditional): New predicates.
200 (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
201 output section, except for some special cases.
202 * scripttempl/elfmicroblaze.sc: Use canonical form to align at
203 end of .heap and .stack.
205 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
207 * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
209 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
211 * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
213 2014-01-20 Alan Modra <amodra@gmail.com>
215 * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
216 by_script. Make iteration a single bit field.
217 (lang_track_definedness, lang_symbol_definition_iteration): Delete.
218 (lang_symbol_defined): Declare.
219 * ldlang.c (lang_statement_iteration): Expand comment a little.
220 (lang_init <lang_definedness_table>): Make it bigger.
221 (lang_track_definedness, lang_symbol_definition): Delete.
222 (lang_definedness_newfunc): Update.
223 (lang_symbol_defined): New function.
224 (lang_update_definedness): Create entries here. Do track whether
225 script definition of symbol is valid, even when also defined in
227 * ldexp.c (fold_name <DEFINED>): Update.
228 (fold_name <NAME>): Allow self-assignment for absolute symbols
229 defined in a linker script.
231 2014-01-20 Guy Martin <gmsoft@tuxicoman.be>
232 Alan Modra <amodra@gmail.com>
234 * ldlang.h (lang_output_section_get): Define.
235 * ldlang.c (lang_output_section_get): Likewise.
236 (init_os): Set the output_section userdata to the output
238 * emultempl/hppaelf.em: Use lang_output_section_get instead of
239 lang_output_section_find where applicable.
240 * emultempl/aarch64elf.em: Likewise.
241 * emultempl/aix.em: Likewise.
242 * emultempl/armelf.em: Likewise.
243 * emultempl/m68hc1xelf.em: Likewise.
244 * emultempl/metagelf.em: Likewise.
245 * emultempl/mipself.em: Likewise.
246 * emultempl/ppc64elf.em: Likewise.
247 * emultempl/spuelf.em: Likewise.
249 2014-01-17 Alan Modra <amodra@gmail.com>
251 * genscripts.sh (COMPILE_IN): Don't set if already set.
252 * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
254 * emulparams/nds32elf16m.sh: Likewise.
255 * emulparams/nds32elf_linux.sh: Likewise.
256 * emultempl/aix.em: Test COMPILE_IN value is "yes".
257 * emultempl/armcoff.em: Likewise.
258 * emultempl/elf32.em: Likewise.
259 * emultempl/generic.em: Likewise.
260 * emultempl/gld960.em: Likewise.
261 * emultempl/gld960c.em: Likewise.
262 * emultempl/linux.em: Likewise.
263 * emultempl/lnk960.em: Likewise.
264 * emultempl/m68kcoff.em: Likewise.
265 * emultempl/sunos.em: Likewise.
266 * emultempl/ticoff.em: Likewise.
268 2014-01-16 H.J. Lu <hongjiu.lu@intel.com>
271 * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
273 * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
274 for elf32_x86_64 emulation.
275 * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
276 for elf_i386 emulation.
278 2014-01-16 Alan Modra <amodra@gmail.com>
280 * ld.h (fat_section_userdata_type, get_userdata): Move to..
281 * ldlang.h (input_section_userdata_type, get_userdata): ..here.
282 * ldlang.c (init_map_userdata): Delete. Fold into..
283 (sort_def_symbol): ..here. Don't attach input section userdata
284 to output sections or global bfd sections.
285 (lang_map): Don't pre-allocate input section userdata.
286 (init_os): Don't allocate userdata for output sections.
287 (print_all_symbols): Update.
289 2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
291 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
292 Silence uninitialized warning on ehdr_start_save with older
295 2014-01-15 Alan Modra <amodra@gmail.com>
297 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
298 __ehdr_start before size_dynamic_sections and restore afterwards.
300 2014-01-10 Alan Modra <amodra@gmail.com>
305 * ldlang.c (lang_size_sections): Remove unneeded RELRO base
306 adjust. Tidy comments.
307 * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
309 2014-01-10 Hans-Peter Nilsson <hp@axis.com>
311 * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
313 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
318 * ldlang.c (lang_size_sections): Properly align RELRO base.
320 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
322 * ldver.c (ldversion): Update copyright year to 2014.
324 For older changes see ChangeLog-2013
326 Copyright (C) 2014 Free Software Foundation, Inc.
328 Copying and distribution of this file, with or without modification,
329 are permitted in any medium without royalty provided the copyright
330 notice and this notice are preserved.
336 version-control: never