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