Add support for generating and inserting build IDs into COFF binaries.
[deliverable/binutils-gdb.git] / ld / ChangeLog
CommitLineData
61e2488c
JT
12014-04-08 Jon TURNEY <jon.turney@dronecode.org.uk>
2
3 * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id):
4 Move code for parsing build-id option and calculating the build-id to...
5 * ldbuildid.c: New file.
6 * ldbuildid.h: New file.
7 * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new
8 files.
9 * Makefile.in: Regenerate.
10 * ld.texinfo: Update --build-id description to mention COFF
11 support.
12 * NEWS: Mention support for COFF build ids.
13 * emultempl/pe.em (gld${EMULATION_NAME}_handle_option):
14 (pecoff_checksum_contents, write_build_id, setup_build_id)
15 (gld_${EMULATION_NAME}_after_open): Handle and implement
16 build-id option.
17 * emultempl/pep.em: Likewise.
18
abc9061b
CC
192014-04-04 Cary Coutant <ccoutant@google.com>
20
21 PR gold/16804
22 * ld.texinfo: Document optional comma following output section
23 command and overlay command.
24
ffe54b37
AM
252014-04-04 Alan Modra <amodra@gmail.com>
26
27 * ldlang.c (lang_size_sections_1 <lang_input_section_enum>): Use
28 current "fill", not "output_section_statement->fill".
29
76f0cad6
NC
302014-03-31 Nick Clifton <nickc@redhat.com>
31
32 PR ld/16744
33 * emultempl/elf32.em (_after_open): Create a .note.GNU-stack
34 section when performing a relocatable link with -z [no]execstack
35 specified.
36
4c6d802e
L
372014-03-27 H.J. Lu <hongjiu.lu@intel.com>
38
39 PR ld/16756
40 * ldmain.c (symbol_warning): New function.
41 (warning_callback): Use it. Scan all input files for a reference
42 to SYMBOL.
43
8547a0f9 442014-03-21 Christopher Faylor <me.cygwin2013@cgf.cx>
d0e6d77b
CF
45
46 * ld.texinfo: Document change in handling of --enable-auto-image-base.
47 * emultempl/pe.em (pe_auto_image_base): Set to default base.
48 (gld_${EMULATION_NAME}_list_options): Change usage message to reflect
49 optional --enable-auto-image-base argument.
50 (gld${EMULATION_NAME}_handle_option): Handle optional
51 --enable-auto-image-base argument.
52 (compute_dll_image_base): Eliminate constant. Use pe_auto_image_base.
53
1d63324c
NC
542014-03-19 Nick Clifton <nickc@redhat.com>
55
56 * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET.
57 * Makefile.in: Regenerate.
58 * emultempl/default-manifest.rc: Fix typo.
59 * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion.
6caf7111 60 (.rsrc): Add SUBALIGN(4). Remove SORT.
1d63324c
NC
61 * scripttempl/pep.sc: Likewise.
62
c712f1e3
CF
632014-03-17 Christopher Faylor <me.cygwin2014@cgf.cx>
64
65 * Makefile.am: Use host version of windres.
66 * Makefile.in: Regenerate.
67
d4ae5fb0
AM
682014-03-14 Romain Geissler <romain.geissler@amadeus.com>
69 Alan Modra <amodra@gmail.com>
70
71 * ldlang.h (full_name_provided): New input flag.
72 * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum
73 for -l:namespec. Instead use lang_input_file_is_l_enum with
74 full_name_provided flag.
75 * ldlfile.c (ldfile_open_file_search): Don't complete lib name if
76 full_name_provided flag is set.
77 * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
78 Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION
79 support. Set DT_NEEDED for -l:namespec as namespec.
80 * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided.
81 * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
82 Don't handle full_name_provided libraries.
83 * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
84 * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
85 * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto.
86
fa47fa92
AM
872014-03-12 Alan Modra <amodra@gmail.com>
88
89 * Makefile.in: Regenerate.
90
4b95cf5c
AM
912014-03-05 Alan Modra <amodra@gmail.com>
92
93 Update copyright years.
94
0b55a33e
NC
952014-03-04 Nick Clifton <nickc@redhat.com>
96
97 * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest.
98 * Makefile.in: Regenerate.
99
1db37fe6
YG
1002014-02-27 Yuri Gribov <y.gribov@samsung.com>
101
102 * emultempl/armelf.em (OPTION_LONG_PLT): Define.
103 (PARSE_AND_LIST_LONGOPTS): Add long-plt.
104 (PARSE_AND_LIST_OPTIONS): Likewise.
105 (PARSE_AND_LIST_ARGS_CASES): Handle long-plt.
106 * ld.texinfo: Document --long-plt.
107
db434ba0
AM
1082014-02-27 Alan Modra <amodra@gmail.com>
109
110 * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and
111 use ppc32elf.em.
112 * emultempl/ppc32elf.em (ppc_after_open): Don't compile for
113 vxworks.
114 (LDEMUL_AFTER_OPEN): Don't set for vxworks.
115 (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude
116 -secure-plt, -bss-plt and -sdata-got when vxworks.
117
5063daf7
NC
1182014-02-27 Nick Clifton <nickc@redhat.com>
119
120 * configure.in (all_emul_extra_binaries): New variable. Populated
121 by invoking configure.tgt.
122 (EMUL_EXTRA_BINARIES): New substitution.
123 * configure: Regenerate.
124 * configure.tgt (target_extra_binaries): New variable. Set to
125 default-manifest.o for Cygwin and MinGW targets.
126 * Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised
127 by the configure script.
128 (ALL_EMUL_EXTRA_BINARIES): New variable.
129 (default-manifest.o): New rule to build the default manifest.
130 (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES.
131 (install-data-local): Add EMUL_EXTRA_BINARIES.
132 * Makefile.in: Regenerate.
133 * ld.texinfo: Document default manifest support.
134 * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define.
135 * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define.
136 * emultempl/default-manifest.rc: New file.
137 * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined.
138 * scripttempl/pep.sc (R_RSRC): Likewise.
139
e3e37035
DM
1402014-02-26 Dan Mick <dan.mick@inktank.com>
141
142 PR ld/16569
143 * ldcref.c (cref_sort_array): Compare unmangled names unless
144 demanglng has been requiested.
145 (output_one_cref): Output unmangled name unless demangling has
146 been requested.
147
0ff2b86e
L
1482014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
149 H.J. Lu <hongjiu.lu@intel.com>
150
151 * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New.
152
7d4c687d
AM
1532014-02-19 Alan Modra <amodra@gmail.com>
154
155 * emultempl/ppc64elf.em (params): Init new field.
156 (ppc_create_output_section_statements): Set params.save_restore_funcs
157 default.
158 (PARSE_AND_LIST_*): Add support for --save-restore-funcs and
159 --no-save-restore-funcs.
160
e7d1c40c
AM
1612014-02-17 Alan Modra <amodra@gmail.com>
162
163 * emultemps/ppc64elf.em (params): New static struct replacing
164 various other static vars. Adjust code throughout file.
165
668e22e5
AM
1662014-02-17 Alan Modra <amodra@gmail.com>
167
168 * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
169 ppc476 workaround for ld -r.
170
795bc6b3
AM
1712014-02-12 Alan Modra <amodra@gmail.com>
172
173 * emultempl/ppc32elf.em (pagesize): New static var.
174 (ppc_after_open_output): Set params.pagesize_p2 from pagesize.
175 (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
176
7d0edd4b
AP
1772014-02-11 Andrew Pinski <apinski@cavium.com>
178
179 * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32.
180 (ELF_INTERPRETER_NAME): Define.
181 * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define.
182
c1c69e83
AM
1832014-02-10 Alan Modra <amodra@gmail.com>
184
185 * po/ld.pot: Regenerate.
186
5446cbdf
AM
1872014-02-03 Alan Modra <amodra@gmail.com>
188
189 * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms)
190 plt_style): Delete. Adjust all refs to instead use..
191 (params): ..this. New variable.
192 (ppc_after_open_output): New function. Tweak params and pass to
193 ppc_elf_link_params.
194 (ppc_after_open): Adjust ppc_elf_select_plt_layout call.
195 (ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable
196 relaxation for ppc476 workaround.
197 (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support.
198 (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define.
199
13075d04
SH
2002014-02-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
201
202 * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation.
203 * ld/ldlang.c (lang_size_sections_1): Add dotdelta
204 variable which reflects the VMA change due to alignment
205 requirements. Use dotdelta do change the LMA if
206 ALIGN_WITH_INPUT is requested.
207
0a09fb4a
HPN
2082014-02-01 Hans-Peter Nilsson <hp@bitrange.com>
209
210 * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
211 call to bfd_set_section_vma exposed by recent bfd_set_section_vma
212 change.
213
78058a5e
SL
2142014-01-30 Sandra Loosemore <sandra@codesourcery.com>
215
216 * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies.
217 * Makefile.in: Regenerated.
218 * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set.
219 * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set.
220 * emultempl/nios2elf.em: New file.
221 * gen-doc.texi (NIOSII): Set.
222 * ld.texinfo (NIOSII): Set.
223
1ade0651
NC
2242014-01-28 Nick Clifton <nickc@redhat.com>
225
226 * Makefile.am: Remove obsolete MSP430 emulations.
227 * configure.tgt: Likewise.
228 * emulparams/msp430all.sh: Likewise.
229 * Makefile.in: Regenerate.
230
d85e71fe
L
2312014-01-24 H.J. Lu <hongjiu.lu@intel.com>
232
233 PR ld/16498
234 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
235 orphaned TLS section handling.
236
d9d94ac8
AM
2372014-01-24 Alan Modra <amodra@gmail.com>
238
239 * ldlang.c (lang_output_section_find_by_flags): Be careful to
240 test look->bfd_section->flags if available rather than
241 look->flags. Separate SEC_THREAD_LOCAL handling from
242 SEC_READONLY loop, and rewrite.
243
16e4ecc0
AM
2442014-01-22 Alan Modra <amodra@gmail.com>
245
246 * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars.
247 (lang_init): Initialise them.
248 (lang_print_asneeded): New function.
249 (lang_process): Call lang_print_asneeded.
250 * ldlang.h (struct asneeded_minfo): New.
251 (asneeded_list_tail): Declare.
252 * ldmain.c (add_archive_element): Improve archive map heading.
253 * ldmisc.c (minfo): Stash --as-needed info.
254
7dd9c6eb
AM
2552014-01-22 Alan Modra <amodra@gmail.com>
256
257 * ld.h (struct map_symbol_def): Move to..
258 * ldlang.h: ..here.
259 * ldlang.c (print_assignment): Don't set expld.assign_name to dot.
260
2edab91c
AM
2612014-01-22 Alan Modra <amodra@gmail.com>
262
263 * ld.texinfo (Output Section Discarding): Mention assigning to dot
264 as a way of keeping otherwise empty sections.
265 * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0,
266 is_dot_plus_0, is_align_conditional): New predicates.
267 (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an
268 output section, except for some special cases.
269 * scripttempl/elfmicroblaze.sc: Use canonical form to align at
270 end of .heap and .stack.
271
5a4f2336
MS
2722014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
273
274 * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
275
30feb358
MS
2762014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
277
278 * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
279
fa72205c
AM
2802014-01-20 Alan Modra <amodra@gmail.com>
281
282 * ldlang.h (struct lang_definedness_hash_entry): Add by_object and
283 by_script. Make iteration a single bit field.
284 (lang_track_definedness, lang_symbol_definition_iteration): Delete.
285 (lang_symbol_defined): Declare.
286 * ldlang.c (lang_statement_iteration): Expand comment a little.
287 (lang_init <lang_definedness_table>): Make it bigger.
288 (lang_track_definedness, lang_symbol_definition): Delete.
289 (lang_definedness_newfunc): Update.
290 (lang_symbol_defined): New function.
291 (lang_update_definedness): Create entries here. Do track whether
292 script definition of symbol is valid, even when also defined in
293 an object file.
294 * ldexp.c (fold_name <DEFINED>): Update.
295 (fold_name <NAME>): Allow self-assignment for absolute symbols
296 defined in a linker script.
297
24ef1aa7
GM
2982014-01-20 Guy Martin <gmsoft@tuxicoman.be>
299 Alan Modra <amodra@gmail.com>
300
301 * ldlang.h (lang_output_section_get): Define.
302 * ldlang.c (lang_output_section_get): Likewise.
303 (init_os): Set the output_section userdata to the output
304 section statement.
305 * emultempl/hppaelf.em: Use lang_output_section_get instead of
306 lang_output_section_find where applicable.
307 * emultempl/aarch64elf.em: Likewise.
308 * emultempl/aix.em: Likewise.
309 * emultempl/armelf.em: Likewise.
310 * emultempl/m68hc1xelf.em: Likewise.
311 * emultempl/metagelf.em: Likewise.
312 * emultempl/mipself.em: Likewise.
313 * emultempl/ppc64elf.em: Likewise.
314 * emultempl/spuelf.em: Likewise.
315
7225345d
AM
3162014-01-17 Alan Modra <amodra@gmail.com>
317
318 * genscripts.sh (COMPILE_IN): Don't set if already set.
319 * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set
320 COMPILE_IN=no.
321 * emulparams/nds32elf16m.sh: Likewise.
322 * emulparams/nds32elf_linux.sh: Likewise.
323 * emultempl/aix.em: Test COMPILE_IN value is "yes".
324 * emultempl/armcoff.em: Likewise.
325 * emultempl/elf32.em: Likewise.
326 * emultempl/generic.em: Likewise.
327 * emultempl/gld960.em: Likewise.
328 * emultempl/gld960c.em: Likewise.
329 * emultempl/linux.em: Likewise.
330 * emultempl/lnk960.em: Likewise.
331 * emultempl/m68kcoff.em: Likewise.
332 * emultempl/sunos.em: Likewise.
333 * emultempl/ticoff.em: Likewise.
334
f6f6c679
L
3352014-01-16 H.J. Lu <hongjiu.lu@intel.com>
336
337 PR ld/16456
338 * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP
339 suffix.
340 * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64
341 for elf32_x86_64 emulation.
342 * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64
343 for elf_i386 emulation.
344
6fcc66ab
AM
3452014-01-16 Alan Modra <amodra@gmail.com>
346
347 * ld.h (fat_section_userdata_type, get_userdata): Move to..
348 * ldlang.h (input_section_userdata_type, get_userdata): ..here.
349 * ldlang.c (init_map_userdata): Delete. Fold into..
350 (sort_def_symbol): ..here. Don't attach input section userdata
351 to output sections or global bfd sections.
352 (lang_map): Don't pre-allocate input section userdata.
353 (init_os): Don't allocate userdata for output sections.
354 (print_all_symbols): Update.
355
f9c316c4
L
3562014-01-15 H.J. Lu <hongjiu.lu@intel.com>
357
358 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
359 Silence uninitialized warning on ehdr_start_save with older
360 GCC.
361
4199e3b8
AM
3622014-01-15 Alan Modra <amodra@gmail.com>
363
364 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
365 __ehdr_start before size_dynamic_sections and restore afterwards.
366
eec2f3ed
AM
3672014-01-10 Alan Modra <amodra@gmail.com>
368
369 PR ld/14207
370 PR ld/16322
371 PR binutils/16323
372 * ldlang.c (lang_size_sections): Remove unneeded RELRO base
373 adjust. Tidy comments.
374 * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description.
375
d1e1519e
HPN
3762014-01-10 Hans-Peter Nilsson <hp@axis.com>
377
378 * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
379
43a8475c
L
3802014-01-08 H.J. Lu <hongjiu.lu@intel.com>
381
382 PR ld/14207
383 PR ld/16322
384 PR binutils/16323
385 * ldlang.c (lang_size_sections): Properly align RELRO base.
386
221fd5d5
L
3872014-01-08 H.J. Lu <hongjiu.lu@intel.com>
388
389 * ldver.c (ldversion): Update copyright year to 2014.
390
5fb776a6 391For older changes see ChangeLog-2013
252b5132 392\f
5fb776a6 393Copyright (C) 2014 Free Software Foundation, Inc.
752937aa
NC
394
395Copying and distribution of this file, with or without modification,
396are permitted in any medium without royalty provided the copyright
397notice and this notice are preserved.
398
252b5132
RH
399Local Variables:
400mode: change-log
401left-margin: 8
402fill-column: 74
403version-control: never
404End:
This page took 0.666346 seconds and 4 git commands to generate.