Fix ldah being disassembled as ldaexh
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
ead3d542
L
12015-12-01 H.J. Lu <hongjiu.lu@intel.com>
2
3 PR ld/19319
4 * elf32-i386.c (elf_i386_convert_load): Check h->def_regular
5 instead of bfd_link_hash_new.
6 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise. Skip
7 relocation overflow for bfd_link_hash_undefined and
8 bfd_link_hash_new if h->def_regular is set.
9
3a8c4a5b
AM
102015-12-01 Alan Modra <amodra@gmail.com>
11
12 * aoutx.h (adjust_sizes_and_vmas): Remove unused text_size and
13 text_end parameters. Update callers.
14 * aout-tic30.c: Update adjust_sizes_and_vmas callers.
15 * hp300hpux.c: Likewise.
16 * i386lynx.c: Likewise.
17 * libaout.h: Likewise.
18 * netbsd.h: Likewise.
19 * pdp11.c: Likewise.
20 * riscix.c: Likewise.
21
bbb1afc8
AM
222015-12-01 Alan Modra <amodra@gmail.com>
23
24 * aout-adobe.c: Invoke aout N_* macros with pointer to
25 struct internal_exec.
26 * aout-arm.c: Likewise.
27 * aout-cris.c: Likewise.
28 * aout-target.h: Likewise.
29 * aout-tic30.c: Likewise.
30 * aoutf1.h: Likewise.
31 * aoutx.h: Likewise.
32 * bout.c: Likewise.
33 * freebsd.h: Likewise.
34 * gen-aout.c: Likewise.
35 * hp300hpux.c: Likewise.
36 * i386aout.c: Likewise.
37 * i386linux.c: Likewise.
38 * i386lynx.c: Likewise.
39 * i386mach3.c: Likewise.
40 * i386os9k.c: Likewise.
41 * libaout.h: Likewise.
42 * m68klinux.c: Likewise.
43 * m88kmach3.c: Likewise.
44 * mipsbsd.c: Likewise.
45 * netbsd.h: Likewise.
46 * pc532-mach.c: Likewise.
47 * pdp11.c: Likewise.
48 * riscix.c: Likewise.
49 * sparclinux.c: Likewise.
50 * sparclynx.c: Likewise.
51
b560e2ac
AM
522015-12-01 Alan Modra <amodra@gmail.com>
53
54 * coff-rs6000.c (_bfd_xcoff_put_symbol_name): Replace abfd param
55 with info param. Test info->traditional_format rather than
56 BFD_TRADITIONAL_FORMAT flag.
57 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Likewise.
58 * libxcoff.h (struct xcoff_backend_data_rec): Update
59 _xcoff_put_symbol_name prototype.
60 (bfd_xcoff_put_symbol_name): Add info param.
61 * xcofflink.c (xcoff_find_tc0): Update bfd_xcoff_put_symbol_name call.
62 (xcoff_write_global_symbol): Likewise.
63 (xcoff_link_input_bfd): Test info->traditional_format rather than
64 BFD_TRADITIONAL_FORMAT flag.
65 * cofflink.c (_bfd_coff_final_link): Likewise.
66 (_bfd_coff_link_input_bfd, _bfd_coff_write_global_sym): Likewise.
67
44c2e680
AM
682015-12-01 Alan Modra <amodra@gmail.com>
69
70 * po/SRC-POTFILES.in: Regenerate.
71
f26dd308
AM
722015-12-01 Alan Modra <amodra@gmail.com>
73
74 * elf32-arc.c (ARC_ELF_HOWTO): Delete.
75 (arc_elf_howto): New function.
76 (bfd_elf32_bfd_reloc_type_lookup): Use it in place of existing
77 init code.
78 (bfd_elf32_bfd_reloc_name_lookup): Use arc_elf_howto.
79 (arc_info_to_howto_rel, elf_arc_relocate_section): Likwise.
80 (elf_arc_check_relocs): Likewise.
81
0a5ff21b
AM
822015-12-01 Cupertino Miranda <cupertino.miranda@synopsys.com>
83
84 * elf32-arc.c (arc_elf_howto_init): Init dst_mask.
85
0b1fa288
ST
862015-11-20 Stefan Teleman <stefan.teleman@oracle.com>
87
88 PR ld/19260
89 * cache.c (bfd_cache_max_open): Avoid using getrlimit on 32-bit
90 Solaris as the result is unreliable.
91
9b334a2c
TG
922015-11-20 Tristan Gingold <gingold@adacore.com>
93
94 * mach-o-x86-64.c (x86_64_howto_table): Change name here too.
95
f075eb5e
TG
962015-11-20 Tristan Gingold <gingold@adacore.com>
97
98 * targets.c (aarch64_mach_o_vec, arm_mach_o_vec): Declare.
99 (_bfd_target_vector): Add new vectors.
100 * reloc.c (BFD_RELOC_MACH_O_SUBTRACTOR32)
101 (BFD_RELOC_MACH_O_SUBTRACTOR64, BFD_RELOC_MACH_O_ARM64_ADDEND)
102 (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21)
103 (BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12)
104 (BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT): New relocations.
105 (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32)
106 (BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64): Remove.
107 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Change
108 name of subtractor relocations.
109 * config.bfd: Handle aarch64-*-darwin*, arm-*-darwin*.
110 * Makefile.am (BFD32_BACKENDS): Add mach-o-arm.lo.
111 (BFD32_BACKENDS_CFILES): Add mach-o-arm.c.
112 (BFD64_BACKENDS): Add mach-o-aarch64.lo.
113 (BFD64_BACKENDS_CFILES): Add mach-o-aarch64.c.
114 * configure.ac: Handle aarch64_mach_o_vec and arm_mach_o_vec.
115 * mach-o-aarch64.c: New file.
116 * mach-o-arm.c: New file.
117 * Makefile.in: Regenerate.
118 * bfd-in2.h: Regenerate.
119 * configure: Regenerate.
120 * libbfd.h: Regenerate.
121
11b8aeb8
DB
1222015-11-20 David Bridgham <dab@froghouse.org>
123
124 * pdp11.c (TARGET_PAGE_SIZE): Set to 256 to match definition in
125 ld/emulparams/pdp11.sh.
126
d47b13e0
AK
1272015-11-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
128
129 PR ld/19263
130 * elf32-s390.c (elf_s390_gc_sweep_hook): Add null ptr check.
131 * elf64-s390.c (elf_s390_check_relocs): Port the GOTOFF handling
132 over from the 32 bit code.
133 (elf_s390_relocate_section): Likewise.
134
4978e369
AM
1352015-11-18 Alan Modra <amodra@gmail.com>
136
137 PR 19256
138 * archive.c (bfd_generic_openr_next_archived_file): Don't allow
139 backward file movement via "negative" sizes.
140 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Likewise.
141
bcb51645
TG
1422015-11-18 Tristan Gingold <gingold@adacore.com>
143
144 * mach-o.h (bfd_mach_o_swap_in_non_scattered_reloc)
145 (bfd_mach_o_canonicalize_non_scattered_reloc)
146 (bfd_mach_o_pre_canonicalize_one_reloc): Declare.
147 (bfd_mach_o_backend_data): Rename field
148 _bfd_mach_o_swap_reloc_in to _bfd_mach_o_canonicalize_one_reloc.
149 * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): Now public.
150 (bfd_mach_o_canonicalize_non_scattered_reloc): Renames from
151 bfd_mach_o_canonicalize_one_reloc.
152 (bfd_mach_o_pre_canonicalize_one_reloc): New function.
153 (bfd_mach_o_canonicalize_relocs): Adjust.
154 (bfd_mach_o_canonicalize_relocs): Rename define from
155 bfd_mach_o_swap_reloc_in.
156 * mach-o-target.c (TARGET_NAME_BACKEND): Use
157 bfd_mach_o_canonicalize_one_reloc instead of
158 bfd_mach_o_swap_reloc_in.
159 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Renames
160 from bfd_mach_o_i386_swap_reloc_in and adjust.
161 (bfd_mach_o_canonicalize_one_reloc): Renames from
162 bfd_mach_o_i386_canonicalize_one_reloc.
163 * mach-o-x86_64.c (bfd_mach_o_x86_64_canonicalize_one_reloc): Renames
164 from bfd_mach_o_x86_64_swap_reloc_in and adjust.
165 (bfd_mach_o_canonicalize_one_reloc): Renames from
166 bfd_mach_o_x86_64_canonicalize_one_reloc.
167
47daa70f
TG
1682015-11-18 Tristan Gingold <gingold@adacore.com>
169
170 * mach-o.h (struct mach_o_data_struct): Add hdr_offset field.
171 (bfd_mach_o_fat_archive_p): Renames prototype.
172 (bfd_mach_o_fat_openr_next_archived_file): Renames.
173 (bfd_mach_o_header_p): Add argument.
174 * mach-o.c (bfd_mach_o_read_header): Add hdr_off argument and
175 use it.
176 (bfd_mach_o_read_section_32, bfd_mach_o_read_section_64)
177 (bfd_mach_o_read_section): Remove offset argument.
178 (bfd_mach_o_read_dylinker): Remove bfd_seek call.
179 (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib)
180 (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints)
181 (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab)
182 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
183 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
184 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min)
185 (bfd_mach_o_read_encryption_info): Likewise.
186 (bfd_mach_o_read_encryption_info_64): New function.
187 (bfd_mach_o_read_main, bfd_mach_o_read_source_version)
188 (bfd_mach_o_read_segment): Remove call to bfd_seek.
189 (bfd_mach_o_read_command): Use hdr_offset in bfd_seek.
190 Handle BFD_MACH_O_LC_LINKER_OPTIMIZATION_HINT,
191 BFD_MACH_O_LC_ENCRYPTION_INFO_64, BFD_MACH_O_LC_VERSION_MIN_WATCHOS.
192 (bfd_mach_o_header_p): Add hdr_off argument.
193 (bfd_mach_o_gen_object_p, bfd_mach_o_gen_core_p): Adjust calls.
194 (bfd_mach_o_fat_archive_p): Renames.
195 (bfd_mach_o_fat_openr_next_archived_file): Renames.
196 (bfd_mach_o_close_and_cleanup): Remove useless code.
197 (bfd_mach_o_close_and_cleanup): Define.
198 * mach-o-x86-64.c (bfd_mach_o_x86_64_object_p)
199 (bfd_mach_o_x86_64_core_p): Adjust calls.
200 * mach-o-target.c: Move defines for archive from mach-o.c.
201 Remove check on TARGET_ARCHIVE.
202 * mach-o-i386.c (bfd_mach_o_i386_object_p)
203 (bfd_mach_o_i386_core_p): Adjust calls.
204
eee926f2
CL
2052015-11-17 Christophe Lyon <christophe.lyon@linaro.org>
206
207 * elf32-arm.c (elf32_arm_write_section): Force offset output as
208 long (%ld).
209
d8bd95ef
TG
2102015-11-13 Tristan Gingold <gingold@adacore.com>
211
212 * version.m4: Bump version to 2.26.51
213 * configure: Regenerate.
214
a680de9a
PB
2152015-11-11 Alan Modra <amodra@gmail.com>
216 Peter Bergner <bergner@vnet.ibm.com>
217
218 * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_REL16DX_HA.
219 (ppc_elf_reloc_type_lookup): Handle R_PPC_REL16DX_HA.
220 (ppc_elf_addr16_ha_reloc): Likewise.
221 (ppc_elf_check_relocs): Likewise.
222 (ppc_elf_relocate_section): Likewise.
223 (is_insn_dq_form): Handle lxv and stxv instructions.
224 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_REL16DX_HA.
225 (ppc64_elf_reloc_type_lookup): Handle R_PPC64_REL16DX_HA.
226 (ppc64_elf_ha_reloc): Likewise.
227 (ppc64_elf_check_relocs): Likewise.
228 (ppc64_elf_relocate_section): Likewise.
229 * bfd-in2.h: Regenerate.
230 * libbfd.h: Likewise.
231 * reloc.c (BFD_RELOC_PPC_REL16DX_HA): New.
232
18954b29
L
2332015-11-10 H.J. Lu <hongjiu.lu@intel.com>
234
235 * elf32-i386.c (elf_i386_relocate_section): Handle VTINHERIT
236 and VTENTRY relocations when deleting relocations.
237 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
238
2d5da473
L
2392015-11-10 H.J. Lu <hongjiu.lu@intel.com>
240
241 * elf32-i386.c (elf_i386_relocate_section): Properly move
242 kept relocations when deleting relocations.
243 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
244
60f2e42e
L
2452015-11-09 H.J. Lu <hongjiu.lu@intel.com>
246
247 * elf32-i386.c (elf_i386_relocate_section): Use read and write
248 pointers to reloc array, rather than memmove when deleting a
249 reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
250 reloc counts at end of loop.
251 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
252
c316a17c
AM
2532015-11-10 Alan Modra <amodra@gmail.com>
254
255 * elf64-ppc.c (ppc64_elf_relocate_section): Use read and write
256 pointers to reloc array, rather than memmove when deleting a
257 reloc. Don't use RELOC_AGAINST_DISCARDED_SECTION. Adjust
258 reloc counts at end of loop.
259 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
260
29f628db
DV
2612015-11-09 Dominik Vogt <vogt@linux.vnet.ibm.com>
262
263 * elf64-ppc.c (ppc64_elf_size_stubs, ppc64_elf_build_stubs): Fix left
264 shift of negative value.
265 * libbfd.c (safe_read_leb128): Likewise.
266 * dwarf2.c (place_sections): Likewise.
267 * bfd-in.h (align_power): Likewise.
268 * bfd-in2.h (align_power): Likewise.
269
26f187cd
NC
2702015-10-30 Nick Clifton <nickc@redhat.com>
271
272 * po/zh_CN.po: Updated (simplified) Chinese translation.
273
ca9584fb 2742015-10-29 Catherine Moore <clm@codesourcery.com>
26f187cd 275
ca9584fb
CM
276 * elfxx-mips.c (mips_elf_check_mips16_stubs): Set a stub's output
277 section to bfd_abs_section_ptr if the stub is discarded.
278
a75cf613
ES
2792015-10-29 Ed Schouten <ed@nuxi.nl>
280
281 * config.bfd (targ_defvec): Add support for CloudABI on aarch64.
282 For this target we have to make sure we use ELFOSABI_CLOUDABI
283 instead of ELFOSABI_NONE.
284 * configure.ac (tb): Likewise.
285 * elfnn-aarch64.c: Likewise.
286 * targets.c (_bfd_target_vector): Likewise.
287 * configure: Regenerate.
288
968bc5cc
PA
2892015-10-29 Pedro Alves <palves@redhat.com>
290
291 * libhppa.h (bfd_hppa_insn2fmt): Add cast.
292
a3718e9e
L
2932015-10-28 H.J. Lu <hongjiu.lu@intel.com>
294
295 * elf32-i386.c (elf_i386_relocate_section): Fix a typo in
296 comment.
297
82188b29
NC
2982015-10-28 Nick Clifton <nickc@redhat.com>
299
300 * elf32-arm.c (create_instruction_branch_absolute): Replace
301 pointer parameters with a simple integer parameter.
302 (stm32l4xx_create_replacing_stub_ldmia): Update calls to
303 create_instruction_branch_absolute.
304 (stm32l4xx_create_replacing_stub_ldmdb): Likewise.
305 (stm32l4xx_create_replacing_stub_vldm): Likewise.
306 (elf32_arm_write_section): Use pointer type for veneer addresses.
307
6f4b1afc
CM
3082015-10-28 Cupertino Miranda <cmiranda@synopsys.com>
309
310 * reloc.c (BFD_RELOC_ARC_32_PCREL): New entry.
311 * elf32-arc.c (arc_elf_howto_ini): Update formula.
312 (get_middle_endian_relocation): New function.
313 (PDATA): Define.
314 * bfd-in2.h: Regenerate.
315 * libbfd.h: Likewise.
316
199af150
AM
3172015-10-28 Alan Modra <amodra@gmail.com>
318
319 PR ld/19162
320 * elflink.c (_bfd_elf_gc_mark_reloc): Move code iterating over
321 linker input bfds..
322 * section.c (bfd_get_next_section_by_name): ..to here. Add ibfd param.
323 (bfd_get_linker_section): Adjust bfd_get_next_section_by_name call.
324 * tekhex.c (first_phase): Likewise.
325 * elflink.c (bfd_elf_gc_sections): Likewise.
326 * bfd-in2.h: Regenerate.
327
a504d23a
LA
3282015-10-27 Laurent Alfonsi <laurent.alfonsi@st.com>
329 Christophe Monat <christophe.monat@st.com>
330
331 * bfd-in2.h: Regenerate.
332 * bfd-in.h (bfd_arm_stm32l4xx_fix): New enum. Specify how
333 STM32L4XX instruction scanning should be done.
334 (bfd_elf32_arm_set_stm32l4xx_fix)
335 (bfd_elf32_arm_stm32l4xx_erratum_scan)
336 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Add prototypes.
337 (bfd_elf32_arm_set_target_relocs): Add stm32l4xx fix type argument
338 to prototype.
339 * elf32-arm.c (STM32L4XX_ERRATUM_VENEER_SECTION_NAME)
340 (STM32L4XX_ERRATUM_VENEER_ENTRY_NAME): Define macros.
341 (elf32_stm32l4xx_erratum_type): New enum.
342 (elf32_stm32l4xx_erratum_list): New struct. List of veneers or
343 jumps to veneers.
344 (_arm_elf_section_data): Add stm32l4xx_erratumcount,
345 stm32l4xx_erratumlist.
346 (elf32_arm_link_hash_table): Add stm32l4xx_erratum_glue_size,
347 stm32l4xx_fix and num_stm32l4xx_fixes fields.
348 (ctz): New function.
349 (popcount): New function.
350 (elf32_arm_link_hash_table_create): Initialize stm32l4xx_fix.
351 (put_thumb2_insn): New function.
352 (STM32L4XX_ERRATUM_LDM_VENEER_SIZE): Define. Size of a veneer for
353 LDM instructions.
354 (STM32L4XX_ERRATUM_VLDM_VENEER_SIZE): Define. Size of a veneer for
355 VLDM instructions.
356 (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
357 glue section.
358 (record_stm32l4xx_erratum_veneer) : New function. Create a single
359 veneer, and its associated symbols.
360 (bfd_elf32_arm_add_glue_sections_to_bfd): Add STM32L4XX erratum glue.
361 (bfd_elf32_arm_set_stm32l4xx_fix): New function. Set the type of
362 erratum workaround required.
363 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): New function. Find
364 out where veneers and branches to veneers have been placed in
365 virtual memory after layout.
366 (is_thumb2_ldmia): New function.
367 (is_thumb2_ldmdb): Likewise.
368 (is_thumb2_vldm ): Likewise.
369 (stm32l4xx_need_create_replacing_stub): New function. Decide if a
370 veneer must be emitted.
371 (bfd_elf32_arm_stm32l4xx_erratum_scan): Scan the sections of an
372 input BFD for potential erratum-triggering insns. Record results.
373 (bfd_elf32_arm_set_target_relocs): Set stm32l4xx_fix field in
374 global hash table.
375 (elf32_arm_size_dynamic_sections): Collect glue information.
376 (create_instruction_branch_absolute): New function.
377 (create_instruction_ldmia): Likewise.
378 (create_instruction_ldmdb): Likewise.
379 (create_instruction_mov): Likewise.
380 (create_instruction_sub): Likewise.
381 (create_instruction_vldmia): Likewise.
382 (create_instruction_vldmdb): Likewise.
383 (create_instruction_udf_w): Likewise.
384 (create_instruction_udf): Likewise.
385 (push_thumb2_insn32): Likewise.
386 (push_thumb2_insn16): Likewise.
387 (stm32l4xx_fill_stub_udf): Likewise.
388 (stm32l4xx_create_replacing_stub_ldmia): New function. Expands the
389 replacing stub for ldmia instructions.
390 (stm32l4xx_create_replacing_stub_ldmdb): Likewise for ldmdb.
391 (stm32l4xx_create_replacing_stub_vldm): Likewise for vldm.
392 (stm32l4xx_create_replacing_stub): New function. Dispatches the
393 stub emission to the appropriate functions.
394 (elf32_arm_write_section): Output veneers, and branches to veneers.
395
d6867a75
SM
3962015-10-27 Sangamesh Mallayya <nickc@redhat.com>sangamesh.swamy@in.ibm.com>
397
398 * configure.ac (powerpc64-*-aix[5-9].*): Match powerpc64 running
399 aix for core file support.
400 * configure: Regenerate.
401 * rs6000-core.c: Check for __ld_info64 if compiling 64-bit gdb.
402 Added BFD64 check if we are using old core file format for 32-bit gdb.
403 Set sizeof CORE_COMMONSZ appropriately in case of either new or
404 old core file format.
405 (read_hdr): Added BFD64 check for 64-bit support.
406 (rs6000coff_core_p): Likewise.
407 (rs6000coff_core_file_matches_executable_p): Likewise.
408 (rs6000coff_core_file_failing_command): Likewise.
409 (rs6000coff_core_file_failing_signal): Likewise.
410 Add support for debugging core files generated by binaries in
411 Large Memory model.
412 (rs6000coff_core_p): If Large Memory Model is used, then the .data
413 segment should start from BDATAORG which has been defined in the
414 system header files.
415
7b7e7f1d
L
4162015-10-26 H.J. Lu <hongjiu.lu@intel.com>
417
418 PR ld/19175
419 * elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
420 instead of calling bfd_link_get_defined_symbol.
421 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise. Skip
422 relocation overflow for bfd_link_hash_new.
423 * linker.c (bfd_link_get_defined_symbol): Removed.
424 * bfd-in2.h: Regenerated.
425
a6af384b
L
4262015-10-26 H.J. Lu <hongjiu.lu@intel.com>
427
428 PR ld/19171
429 * elf32-i386.c (elf_i386_convert_load): Call
430 bfd_link_get_defined_symbol to check if a symbol is defined.
431 * elf64-x86-64.c (elf_x86_64_convert_load): Call
432 bfd_link_get_defined_symbol to get defined symbol section and
433 value.
434 * linker.c (bfd_link_get_defined_symbol): New function.
435 * bfd-in2.h: Regenerated.
436
1cce69b9
AM
4372015-10-23 Alan Modra <amodra@gmail.com>
438
439 PR ld/11133
440 PR ld/19161
441 PR ld/19167
442 * elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
443 and __stop_* symbol refs.
444 (_bfd_elf_gc_mark_rsec): Add start_stop parameter. Handle __start_*
445 and __stop_* symbol refs here..
446 (_bfd_elf_gc_mark_reloc): ..and here.
447 * elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
448 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
449 _bfd_elf_gc_mark_rsec call.
450
1e7eae0d
AM
4512015-10-23 Alan Modra <amodra@gmail.com>
452
453 PR ld/11133
454 PR ld/19161
455 * elflink.c (elf_gc_sweep): Revert last patch.
456 (_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
457
bba037e0
L
4582015-10-22 H.J. Lu <hongjiu.lu@intel.com>
459
460 PR ld/19161
461 * elflink.c (elf_gc_sweep): Always keep sections marked with
462 SEC_KEEP.
463
c287bfe4
HPN
4642015-10-22 Hans-Peter Nilsson <hp@bitrange.com>
465
466 * mmo.c (struct mmo_data_struct): New members
467 symbol_consistency_override_calculated and ignore_symbol_consistency.
468 (mmo_section_has_contents, mmo_ignore_symbol_consistency): New
469 functions.
470 (mmo_create_symbol): Check with mmo_ignore_symbol_consistency if to
471 report an error for unexpected value of Main.
472 (mmo_write_symbols_and_terminator): Similar.
473
caa65211
L
4742015-10-22 H.J. Lu <hongjiu.lu@intel.com>
475
476 * elf32-i386.c (elf_i386_convert_load): Use call_nop_byte and
477 check call_nop_as_suffix for 1-byte NOP padding to pad call.
478 * elf64-x86-64.c (elf_x86_64_convert_load): Likewise.
479
56ceb5b5
L
4802015-10-22 H.J. Lu <hongjiu.lu@intel.com>
481
482 * elf64-x86-64.c: Include opcode/i386.h.
483 (x86_64_elf_howto_table): Add R_X86_64_GOTPCRELX and
484 R_X86_64_REX_GOTPCRELX.
485 (R_X86_64_standard): Replace R_X86_64_PLT32_BND with
486 R_X86_64_REX_GOTPCRELX.
487 (x86_64_reloc_map): Add BFD_RELOC_X86_64_GOTPCRELX and
488 BFD_RELOC_X86_64_REX_GOTPCRELX.
489 (need_convert_mov_to_lea): Renamed to ...
490 (need_convert_load): This.
491 (elf_x86_64_check_relocs): Handle R_X86_64_GOTPCRELX and
492 R_X86_64_REX_GOTPCRELX. Replace need_convert_mov_to_lea with
493 need_convert_load.
494 (elf_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPCRELX and
495 R_X86_64_REX_GOTPCRELX.
496 (elf_x86_64_size_dynamic_sections): Likewise.
497 (elf_x86_64_relocate_section): Likewise.
498 (elf_x86_64_convert_mov_to_lea): Renamed to ...
499 (elf_x86_64_convert_load): This. Replace need_convert_mov_to_lea
500 with need_convert_load. Support R_X86_64_GOTPCRELX and
501 R_X86_64_REX_GOTPCRELX transformations.
502 * reloc.c (BFD_RELOC_X86_64_GOTPCRELX): New.
503 (BFD_RELOC_X86_64_REX_GOTPCRELX): Likewise.
504 * bfd-in2.h: Regenerated.
505 * libbfd.h: Likewise.
506
02a86693
L
5072015-10-22 H.J. Lu <hongjiu.lu@intel.com>
508
509 * elf32-i386.c: Include opcode/i386.h.
510 (elf_howto_table): Add R_386_GOT32X.
511 (R_386_ext2): Replace R_386_IRELATIVE with R_386_GOT32X.
512 (elf_i386_reloc_type_lookup): Handle BFD_RELOC_386_GOT32X.
513 (need_convert_mov_to_lea): Renamed to ...
514 (need_convert_load): This.
515 (elf_i386_check_relocs): Handle R_386_GOT32X. Replace
516 need_convert_mov_to_lea with need_convert_load.
517 (elf_i386_gc_sweep_hook): Handle R_386_GOT32X.
518 (elf_i386_size_dynamic_sections): Likewise.
519 (elf_i386_relocate_section): Likewise.
520 (elf_i386_convert_mov_to_lea): Renamed to ...
521 (elf_i386_convert_load): This. Replace need_convert_mov_to_lea
522 with need_convert_load. Support R_386_GOT32X transformations.
523 * reloc.c (BFD_RELOC_386_GOT32X): New.
524 * bfd-in2.h: Regenerated.
525 * libbfd.h: Likewise.
526
99ba5125
AK
5272015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
528
529 * elf32-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
530 only when linking an executable.
531 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
532 slot.
533 * elf64-s390.c (elf_s390_check_relocs): Set the non_got_ref marker
534 only when linking an executable.
535 (elf_s390_relocate_section): Redirect PC-relative relocs to a IPLT
536 slot.
537
d8ee9e44
AK
5382015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
539
540 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Set the PLT
541 reference counters for local IFUNC calls.
542 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
543
01a53584
AK
5442015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
545
546 * elf32-s390.c (elf_s390_check_relocs): Fallthrough to the PLT
547 slot allocating code for GOTOFF relocs on ifunc symbols.
548 (elf_s390_gc_sweep_hook): Decrement plt refcount for GOTOFF relocs
549 on ifunc symbols.
550 (elf_s390_relocate_section): Redirect a GOTOFF reloc to an iplt
551 slot.
552
0f042c67
AK
5532015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
554
555 PR ld/18841
556 * elf32-s390.c (elf_s390_reloc_type_class): Return
557 reloc_class_ifunc for ifunc symbols.
558 * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
559
0a511368
AK
5602015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
561
562 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Call
563 elf_s390_finish_ifunc_symbol only for actually defined symbols.
564 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
565
61643fba
AK
5662015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
567
568 * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs): Remove
569 `head' parameter.
570 * elf32-s390.c (allocate_dynrelocs): Don't use last parameter.
571 * elf64-s390.c (allocate_dynrelocs): Don't use last parameter.
572
f9c62303
HPN
5732015-10-20 Hans-Peter Nilsson <hp@bitrange.com>
574
575 * mmo.c (mmo_write_symbols_and_terminator): Correct printed value
576 of Main in error message.
577
434d28e0
DE
5782015-10-18 Doug Evans <xdje42@gmail.com>
579
580 * targets.c (bfd_flavour_name): "MMO" is spelled "mmo".
581
9f08fa5c
AM
5822015-10-17 Alan Modra <amodra@gmail.com>
583
584 * elf64-ppc.c (ppc64_elf_size_stubs): Correct __glink_PLTresolve
585 eh_frame FDE for ELFv1.
586
75a06c79
L
5872015-10-16 H.J. Lu <hongjiu.lu@intel.com>
588
589 * elf32-i386.c (elf_i386_convert_mov_to_lea): Check if symbol
590 is defined.
591 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
592
b31bcacc
L
5932015-10-16 H.J. Lu <hongjiu.lu@intel.com>
594
595 * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't check
596 def_regular.
597 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
598
ae7683d2
L
5992015-10-15 H.J. Lu <hongjiu.lu@intel.com>
600
601 * elflink.c (_bfd_elf_merge_symbol): Fix typos in comments
602
e43fb831
AM
6032015-10-15 Alan Modra <amodra@gmail.com>
604
605 * elf32-v850.c (v850_elf_copy_private_bfd_data): Remove assertion
606 that input and output .note.renesas sections are same size.
607 Instead, only copy input to output if they are.
608
b32a5c16
RV
6092015-10-15 Riku Voipio <riku.voipio@iki.fi>
610
611 PR ld/19123
612 * elfcore.h (elf_core_file_p): Use the file_ptr type to hold the
613 offset for bfd_seek.
614 * elfcode.h (elf_object_p): Likewise.
615
b4b0e149
RF
6162015-10-14 Rich Felker <dalias@libc.org>
617
618 PR ld/19091
619 * elf32-sh.c (sh_elf_size_dynamic_sections): Always emit
620 DT_PLTGOT for FDPIC output.
621
341b8ee7
AM
6222015-10-13 Alan Modra <amodra@gmail.com>
623
624 * elf.c (_bfd_elf_map_sections_to_segments): Don't set
625 PT_GNU_RELRO p_flags.
626 (assign_file_positions_for_non_load_sections): Set PT_GNU_RELRO
627 flags to PF_R here.
628
4373f8af
L
6292015-10-12 H.J. Lu <hongjiu.lu@intel.com>
630
631 PR ld/19073
632 * elflink.c (_bfd_elf_add_default_symbol): Skip the unversioned
633 definition after the default version.
634
ef05be83
AK
6352015-10-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
636
637 PR ld/19083
638 * elf32-s390.c (elf_s390_gc_sweep_hook): Do not reduce got
639 refcount for relocs not really requiring a got slot.
640 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
641
da6e19a9
JDA
6422015-10-11 John David Anglin <danglin@gcc.gnu.org>
643
644 * elf-hppa.h (elf_hppa_action_discarded): Ignore relocations in
645 .data.rel.ro.local.
646
886a2506
NC
6472015-10-07 Cupertino Miranda <cmiranda@synopsys.com>
648
649 * archures.c: Remove support for older ARC. Added support for new
650 ARC cpus (ARC600, ARC601, ARC700, ARCV2).
651 * bfd-in2.h: Likewise.
652 * config.bfd: Likewise.
653 * cpu-arc.c: Likewise.
654 * elf32-arc.c: Totally changed file with a refactored
655 inplementation of the ARC port.
656 * libbfd.h: Added ARC specific relocation types.
657 * reloc.c: Likewise.
658
8c6da3df
L
6592015-10-06 H.J. Lu <hongjiu.lu@intel.com>
660
661 * bfd.c (bfd_update_compression_header): Clear the ch_reserved
662 field in 64-bit output.
663 (bfd_convert_section_contents): Likewise.
664
a0d49154
L
6652015-10-05 H.J. Lu <hongjiu.lu@intel.com>
666
667 PR ld/18914
668 * elflink.c (elf_link_add_object_symbols): Don't re-export a
669 symbol if it isn't undefined.
670
d00c2bc9
L
6712015-10-04 H.J. Lu <hongjiu.lu@intel.com>
672
673 * config.bfd (targ_selvecs, targ64_selvecs): Add iamcu_elf32_vec,
674 i386_pei_vec and x86_64_pei_vec for Solaris2/x86.
675
0484b454
RL
6762015-10-02 Renlin Li <renlin.li@arm.com>
677
678 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Add
679 relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
680 TLSDESC_OFF_G1.
681 (aarch64_tls_transition_without_check): Add relaxation support.
682 (aarch64_reloc_got_type): Add support.
683 (elfNN_aarch64_final_link_relocate): Likewise.
684 (elfNN_aarch64_tls_relax): Likewise.
685 (elfNN_aarch64_relocate_section): Likewise.
686 (elfNN_aarch64_gc_sweep_hook): Likewise.
687 (elfNN_aarch64_check_relocs): Likewise.
688 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
689 (_bfd_aarch64_elf_resolve_relocation): Likewise.
690
43a357f9
RL
6912015-10-02 Renlin Li <renlin.li@arm.com>
692
693 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Check overflow for
694 BFD_RELOC_AARCH64_TLSDESC_OFF_G1.
695
ac734732
RL
6962015-10-02 Renlin Li <renlin.li@arm.com>
697
698 * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC):
699 Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1.
700 (aarch64_tls_transition_without_check): Likewise
701 (elfNN_aarch64_tls_relax): Likwise.
702
b7a944fe
RL
7032015-10-02 Renlin Li <renlin.li@arm.com>
704
705 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Create GOT section
706 for TLSLE_MOVW_TPREL_G(1, 1_NC, 2) relocation.
707
3b957e5b
RL
7082015-10-02 Renlin Li <renlin.li@arm.com>
709
710 * reloc.c: Make AARCH64_TLSIE_MOVW_GOTTPREL_G1 and
711 AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC defined in alphabetical order.
712 * libbfd.h: Regenerate.
713 * bfd-in2.h: Likewise.
714 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Make
715 TLSIE_MOVW_GOTTPREL_G1 check overflow.
716 (aarch64_reloc_got_type): Add support for TLSIE_MOVW_GOTTPREL_G1
717 and TLSIE_MOVW_GOTTPREL_G0_NC.
718 (elfNN_aarch64_final_link_relocate): Likewise.
719 (elfNN_aarch64_relocate_section): Likewise.
720 (elfNN_aarch64_gc_sweep_hook): Likewise.
721 (elfNN_aarch64_check_relocs): Likewise.
722 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
723 (_bfd_aarch64_elf_resolve_relocation): Likewise.
724
7ba7cfe4
RL
7252015-10-02 Renlin Li <renlin.li@arm.com>
726
727 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
728 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC support.
729 (elfNN_aarch64_final_link_relocate): Likewise.
730 (elfNN_aarch64_relocate_section): Likewise.
731 (elfNN_aarch64_gc_sweep_hook): Likewise.
732 (elfNN_aarch64_check_relocs): Likewise.
733 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
734 (_bfd_aarch64_elf_resolve_relocation): Likewise.
735
3e8286c0
RL
7362015-10-02 Renlin Li <renlin.li@arm.com>
737
738 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC): New entry.
739 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
740 BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC.
741 * libbfd.h: Regenerate.
742 * bfd-in2.h: Likewise
743
94facae3
RL
7442015-10-02 Renlin Li <renlin.li@arm.com>
745
746 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
747 BFD_RELOC_AARCH64_TLSGD_MOVW_G1 support.
748 (elfNN_aarch64_final_link_relocate): Likewise.
749 (elfNN_aarch64_relocate_section): Likewise.
750 (elfNN_aarch64_gc_sweep_hook): Likewise.
751 (elfNN_aarch64_check_relocs): Likewise.
752 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
753 (_bfd_aarch64_elf_resolve_relocation): Likewise.
754
1aa66fb1
RL
7552015-10-02 Renlin Li <renlin.li@arm.com>
756
757 * reloc.c (BFD_RELOC_AARCH64_TLSGD_MOVW_G1): New entry.
758 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
759 BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
760 * bfd-in2.h: Regenerate.
761 * libbfd.h: Likewise.
762
dc8008f5
RL
7632015-10-02 Renlin Li <renlin.li@arm.com>
764
765 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
766 BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC support.
767 (elfNN_aarch64_final_link_relocate): Likewise.
768 (elfNN_aarch64_gc_sweep_hook): Likewise.
769 (elfNN_aarch64_check_relocs): Likewise.
770 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
771 (_bfd_aarch64_elf_resolve_relocation): Likewise.
772
ca632371
RL
7732015-10-02 Renlin Li <renlin.li@arm.com>
774
775 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC): New.
776 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry
777 MOVW_GOTOFF_G0_NC.
778 * libbfd.h: Regnerate.
779 * bfd-in2.h: Regenerate.
780
74a1bfe1
RL
7812015-10-02 Renlin Li <renlin.li@arm.com>
782
783 * elfnn-aarch64.c (aarch64_reloc_got_type): Add support
784 for BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
785 (elfNN_aarch64_gc_sweep_hook): Likewise.
786 (elfNN_aarch64_check_relocs): Likewise
787 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
788 (_bfd_aarch64_elf_resolve_relocation): Likewise
789 (elfNN_aarch64_final_link_relocate): Likewise
790
654248e7
RL
7912015-010-02 Renlin Li <renlin.li@arm.com>
792
793 * reloc.c (BFD_RELOC_AARCH64_MOVW_GOTOFF_G1): New.
794 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
795 MOVW_GOTOFF_G1.
796 * libbfd.h: Regenerate.
797 * bfd-in2.h: Regenerate.
798
a2e1db00
RL
7992015-10-02 Renlin Li <renlin.li@arm.com>
800
801 * elfnn-aarch64.c (aarch64_reloc_got_type): Add
802 BFD_RELOC_AARCH64_LD_64_GOTOFF_LO15 support.
803 (elfNN_aarch64_gc_sweep_hook): Likewise.
804 (elfNN_aarch64_check_relocs): Likewise
805 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
806 (_bfd_aarch64_elf_resolve_relocation): Likewise
807 (elfNN_aarch64_final_link_relocate): Calculate offset within GOT.
808
a0becb89
RL
8092015-10-02 Renlin Li <renlin.li@arm.com>
810
811 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
812 switch statement.
813
5db4f0d3
L
8142015-10-01 H.J. Lu <hongjiu.lu@intel.com>
815
816 PR ld/19031
817 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
818 pointer_equality_needed for R_X86_64_PC32 reloc in non-code
819 sections.
820
73524045
RL
8212015-10-01 Renlin Li <renlin.li@arm.com>
822
823 * elfnn-aarch64.c (elfNN_aarch64_output_plt_map): Remove.
824 (elfNN_aarch64_output_arch_local_syms): Emit AARCH64_MAP_INSN once.
825
de48f481
KK
8262015-10-01 Kaz Kojima <kkojima@rr.iij4u.or.jp>
827
828 * config.bfd (targ_selvecs): Remove sh_elf32_vec and
829 sh_elf32_le_vec from sh*-*-linux cases.
830
017e6bce
AM
8312015-10-01 Alan Modra <amodra@gmail.com>
832
833 PR ld/19013
834 * elflink.c (_bfd_elf_merge_sections): Revert last change.
835
4b627c18
L
8362015-09-30 H.J. Lu <hongjiu.lu@intel.com>
837
838 PR ld/19031
839 * elf32-i386.c (elf_i386_check_relocs): Set
840 pointer_equality_needed for R_386_PC32 reloc in non-code
841 sections.
842
9865bd0d
L
8432015-09-30 H.J. Lu <hongjiu.lu@intel.com>
844
845 PR ld/19013
846 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds
847 that have the compatible ELF machine code with the output bfd.
848
630993ec
AM
8492015-09-30 Alan Modra <amodra@gmail.com>
850
851 PR ld/19013
852 * elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
853 will be handled by elf_link_input_bfd. Rename abfd param to obfd.
854
6c4f2328
RF
8552015-09-30 Rich Felker <dalias@libc.org>
856
857 * config.bfd (targ_selvecs): Add fdpic and misc targets
858 for sh*-*-linux*.
859
cbd44e24
L
8602015-09-29 Andrew Stubbs <ams@codesourcery.com>
861 H.J. Lu <hongjiu.lu@intel.com>
862
863 PR binutils/19020
864 * bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
865 * bfd-in2.h: Regenerated.
866
8a9e7a91
PZ
8672015-08-11 Peter Zotov <whitequark@whitequark.org>
868
869 PR ld/18759
870 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
871 (R_OR1K_16_PCREL): Likewise.
872 (R_OR1K_8_PCREL): Likewise.
873
b6518b38
NC
8742015-09-23 Nick Clifton <nickc@redhat.com>
875
876 * bout.c (b_out_slurp_reloc_table): Cast constant to unsigned in
877 order to avoid problems with left shifting negative values.
878 (abs32code): Likewise.
879 * mach-o.c (FILE_ALIGN): Likewise.
880 * coff-rs6000.c (xcoff_debug_sections): Delete unused static
881 array.
882 * elf32-visium.c (visium_reloc_map): Likewise.
883 * elf32-arm.c (elf32_arm_final_link_relocate): Remove useless
884 calls to abs function.
885 * elf32-frv.c (_frvfdpic_relax_tls_entries): Likewise.
886 * elf32-score.c (score_elf_final_link_relocate): Likewise.
887 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
888 * elf32-i860.c (i860_howto_pc26_reloc): Use multiplication instead
889 of shifting to create a negative mask.
890 * elf32-msp430.c (elf_backend_special_sections): Define.
891 * elfxx-mips.c (got_ofst_reloc_p): Delete unused function.
892 (got_hi16_reloc_p): Delete unused function.
893 * ppcboot.c (ppcboot_bfd_print_private_bfd_data): Fix test of
894 partition name.
895
6a40cf0c
NC
8962015-09-23 Nick Clifton <nickc@redhat.com>
897
898 PR binutils/15835
899 * elf-bfd.h (struct elf_section_list): New structure.
900 (struct elf_obj_tdata): Replace symtab_shndx_hdr with
901 symtab_shndx_list. Delete symtab_shndx_section.
902 (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
903 * elf.c (bfd_elf_get_syms): If symtab index sections are present,
904 scan them for the section that matches the provided symbol table.
905 (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
906 (assign_section_numbers): Use the first symtab index table in the
907 list.
908 (_bfd_elf_compute_section_file_positions): Replace use of
909 symtab_shndx_hdr with use of symtab_shndx_list.
910 (find_section_in_list): New function.
911 (assign_file_postions_except_relocs): Use new function.
912 (_bfd_elf_copy_private_symbol_data): Likewise.
913 (swap_out_syms): Handle multiple symbol table index sections.
914 * elf32-m32c.c (m32c_elf_relax_section): Replace use of
915 symtab_shndx_hdr with use of symtab_shndx_list.
916 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
917 * elf32-rx.c (rx_relax_section): Likewise.
918 * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
919 * elflink.c (bfd_elf_final_link): Likewise.
920
c8b187ea
L
9212015-09-21 H.J. Lu <hongjiu.lu@intel.com>
922
923 * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
924 ch_type.
925 (bfd_check_compression_header): Use bfd_get_32 on ch_type.
926 (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
927 on ch_type.
928
9b8b325a
RF
9292015-09-20 Rich Felker <dalias@libc.org>
930
931 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
932 .interp when info->nointerp.
933 (bfd_elf_size_dynamic_sections): Adjust assert.
934 * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
935 when info->nointerp.
936 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
937 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
938 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
939 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
940 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
941 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
942 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
943 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
944 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
945 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
946 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
947 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
948 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
949 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
950 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
951 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
952 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
953 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
954 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
955 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
956 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
957 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
958 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
959 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
960 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
961 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
962 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
963 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
964 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
965 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
966 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
967 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
968 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
969 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
970
015d2e7e
DE
9712015-09-18 Doug Evans <xdje42@gmail.com>
972
973 * targets.c (enum bfd_flavour): Add comment.
974 (bfd_flavour_name): New function.
975 * bfd-in2.h: Regenerate.
976
7c9cf415
AM
9772015-09-18 Alan Modra <amodra@gmail.com>
978
979 * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
980 from no_tls_get_addr_opt.
981 * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
982 (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
983 default of -1.
984
b29b8669
AM
9852015-09-17 Alan Modra <amodra@gmail.com>
986
987 PR 18867
988 * elflink.c (elf_link_adjust_relocs): Correct start of insertion
989 sort main loop.
990
bca6d0e3
AM
9912015-09-16 Alan Modra <amodra@gmail.com>
992
993 PR 18867
994 * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
995 insert a run. Return status in case of malloc failure.
996 Adjust callers.
997
92b3f008
MF
9982015-09-15 Max Filippov <jcmvbkbc@gmail.com>
999
1000 * elf32-xtensa.c (elf_xtensa_be_plt_entry)
1001 (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
1002 windowed ABI.
1003 (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
1004 up instructions according to ABI.
1005
fbedb42d
RF
10062015-09-14 Rich Felker <dalias@libc.org>
1007
1008 * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
1009 instead of clearing it on cross-section relocations.
1010 (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
1011
f3c3938c
JDA
10122015-09-12 Helge Deller <deller@gmx.de>
1013
1014 PR ld/18514
1015 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
1016 size to 0.
1017
4af68b9c
JW
10182015-09-09 Jiong Wang <jiong.wang@arm.com>
1019
1020 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
1021
259364ad
JW
10222015-09-09 Jiong Wang <jiong.wang@arm.com>
1023
1024 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
1025 TLS local dynamic traditional relocations types.
1026 (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
1027 local executable relaxation.
1028
77697d41
L
10292015-09-03 H.J. Lu <hongjiu.lu@intel.com>
1030
1031 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
1032 convert_mov_to_lea.
1033
c74be520
L
10342015-09-02 H.J. Lu <hongjiu.lu@intel.com>
1035
1036 * elf32-i386.c (R_386_irelative): Renamed to ...
1037 (R_386_ext2): This.
1038 (R_386_vt_offset): Updated.
1039 (elf_i386_rtype_to_howto): Likewise.
1040 (elf_i386_relocate_section): Likewise.
1041
04ebc307
L
10422015-09-01 H.J. Lu <hongjiu.lu@intel.com>
1043
1044 PR ld/18900
1045 * elf32-i386.c (elf_i386_link_hash_entry): Add
1046 func_pointer_refcount.
1047 (elf_i386_link_hash_newfunc): Clear func_pointer_refcount.
1048 (elf_i386_get_local_sym_hash): Likewise.
1049 (elf_i386_copy_indirect_symbol): Also copy
1050 func_pointer_refcount.
1051 (elf_i386_check_relocs): Increment func_pointer_refcount.
1052 (elf_i386_gc_sweep_hook): Decrement func_pointer_refcount.
1053 (elf_i386_allocate_dynrelocs): Don't create the PLT entry if
1054 there are only function pointer relocations which can be
1055 resolved at run-time. Keep dynanamic relocations for run-time
1056 function pointer initialization.
1057 (elf_i386_relocate_section): Copy dynamic function pointer
1058 relocations.
1059 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
1060 func_pointer_refcount.
1061 (elf_x86_64_link_hash_newfunc): Clear func_pointer_refcount.
1062 (elf_x86_64_get_local_sym_hash): Likewise.
1063 (elf_x86_64_copy_indirect_symbol): Also copy
1064 func_pointer_refcount.
1065 (elf_x86_64_check_relocs): Increment func_pointer_refcount.
1066 (elf_x86_64_gc_sweep_hook): Decrement func_pointer_refcount.
1067 (elf_x86_64_allocate_dynrelocs): Don't create the PLT entry if
1068 there are only function pointer relocations which can be
1069 resolved at run-time. Keep dynanamic relocations for run-time
1070 function pointer initialization.
1071 (elf_x86_64_relocate_section): Copy dynamic function pointer
1072 relocations.
1073
b07bca4e
AM
10742015-09-01 Alan Modra <amodra@gmail.com>
1075
1076 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Adjust symbol value
1077 if .opd section has been edited.
1078
a4b6fadd
AM
10792015-09-01 Alan Modra <amodra@gmail.com>
1080
1081 PR 18878
1082 * elf64-ppc.c (ARRAY_SIZE): Define. Use throughout.
1083 (enum ppc_stub_type): Add ppc_stub_save_res.
1084 (struct map_stub): Add "next" and "needs_save_res".
1085 (struct ppc_link_hash_entry): Add "save_res" flag.
1086 (struct ppc_link_hash_table): Add "group".
1087 (sfpr_define): Add stub_sec param. Define symbol in stub_sec if
1088 stub_sec is non-null. Set "save_res".
1089 (save_res_funcs): Make file scope, rename from funcs. Adjust uses.
1090 (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
1091 (ppc_build_one_stub): Handle ppc_stub_save_res.
1092 (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
1093 stub for linker defined save_res sym.
1094 (group_sections): Init new fields of struct map_stub.
1095 (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
1096 (ppc64_elf_build_stubs): Copy save/restore funcs to groups. Emit
1097 alias syms too.
1098 (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.
1099
a7c49797
AM
11002015-08-31 Alan Modra <amodra@gmail.com>
1101
1102 * elf64-ppc.c (get_r2off): Return -1 on error.
1103 (ppc_build_one_stub): Adjust for get_r2off change. Don't emit
1104 addi r2,r2,0 on r2off stubs when the low 16-bit delta is zero.
1105 (ppc_size_one_stub): Corresponding size changes for r2off stubs.
1106 Add condition in test for -R objects.
1107
6f20ed8a
AM
11082015-08-31 Alan Modra <amodra@gmail.com>
1109
1110 * section.c (section_id): Make file scope.
1111 (bfd_get_next_section_id): New function.
1112 * elf64-ppc.c (struct map_stub): Remove toc_off field. Move decl.
1113 (struct ppc_stub_hash_entry): Delete stub_sec and id_sec. Add
1114 group. Update all uses.
1115 (struct ppc_link_hash_table): Delete top_id, top_index, and
1116 input_list. Add sec_info_arr_size. Rename stub_group to
1117 sec_info, and make group info indirect. Update stub_group refs
1118 throughout file.
1119 (ppc_add_stub): Don't look for stub_sec on link_sec stub_group
1120 entry.
1121 (ppc_build_one_stub): Delete FIXME.
1122 (ppc64_elf_setup_section_lists): Size htab->sec_info for all
1123 sections, not just input sections. Don't create htab->input_list.
1124 (ppc64_elf_next_input_section): Update to use sec_info union as
1125 list pointer.
1126 (PREV_SEC): Delete.
1127 (group_sections): Pass "info" param rather than "htab". Iterate
1128 over output sections rather than input_list. Use sec_info union
1129 as list pointers. Alloc atruct map_stub, and return fail status.
1130 * bfd-in2.h: Regenerate.
1131
d3435ae8
AM
11322015-08-31 Alan Modra <amodra@gmail.com>
1133
1134 * elflink.c (elf_sort_symbol): Use correctly sized type for
1135 calculating signed section->id difference.
1136 (elf_link_add_object_symbols): Likewise.
1137 * pef.c (bfd_pef_scan_start_address): Warning fix.
1138 * vms-alpha.c (vms_new_section_hook): Likewise.
1139
6cae483a
AM
11402015-08-31 Alan Modra <amodra@gmail.com>
1141
1142 * elf32-nds32.c (nds32_convert_32_to_16_alu1): Warning fix.
1143 (find_relocs_at_address_addr): Make "reloc_type" an enum.
1144 (nds32_elf_relax_delete_blanks): Warning fix.
1145 (nds32_elf_relax_loadstore): Correct loop bound.
1146
7292b3ac
AM
11472015-08-31 Alan Modra <amodra@gmail.com>
1148
1149 * section.c (struct bfd_section): Make "id" and "index" unsigned.
1150 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust local var to suit.
1151 * elf.c (elf_map_symbols): Likewise.
1152 * elf64-ppc.c (sym_exists_at): Make "id" param unsigned.
1153 (struct ppc_link_hash_table): Make "top_id" and "top_index" unsigned.
1154 (ppc64_elf_setup_section_lists): Ditto for local vars.
1155 * elf32-arm.c: Similarly to elf64-ppc.c.
1156 * elf32-avr.c: Likewise.
1157 * elf32-hppa.c: Likewise.
1158 * elf32-m68hc1x.c: Likewise.
1159 * elf32-metag.c: Likewise.
1160 * elf32-nios2.c: Likewise.
1161 * elfnn-aarch64.c: Likewise.
1162 * simple.c (struct saved_offsets): Make "section_count" unsigned.
1163 * bfd-in2.h: Regenerate.
1164
6fc5bb57
AM
11652015-08-27 Alan Modra <amodra@gmail.com>
1166
a40d44c4 1167 PR 18867
6fc5bb57
AM
1168 * elf64-alpha.c (elf64_alpha_sort_relocs_p): New function.
1169 (elf_backend_sort_relocs_p): Define.
1170
0e287786
AM
11712015-08-26 Alan Modra <amodra@gmail.com>
1172
1173 PR 18867
1174 * elflink.c (cmp_ext32l_r_offset, cmp_ext32b_r_offset): Delete.
1175 (cmp_ext64l_r_offset, cmp_ext64b_r_offset): Delete.
1176 (ext32l_r_offset, ext32b_r_offset, ext64l_r_offset, ext64b_r_offset):
1177 New functions.
1178 (elf_link_adjust_relocs): Use an insertion sort to sort relocs.
1179
c97c330b
MF
11802015-08-26 Matthew Fortune <matthew.fortune@imgtec.com>
1181
1182 PR ld/18401
1183 * elfxx-mips.c (bfd_mips_isa_ext_mach): New function: Converts an
1184 ISA value to a bfd machine number.
1185 (bfd_mips_isa_ext): Update the ISA level and revision if
1186 necessary. Use mips_mach_extends_p to decide if the ISA extension
1187 needs to be set.
1188 (_bfd_mips_elf_merge_private_bfd_data): Allow the ISA extension to
1189 be inferred from the ABI setting. Set the ISA level from the
1190 maximum of the incoming and outgoing ISA levels.
1191
16ad13ec
NC
11922015-08-25 Nick Clifton <nickc@redhat.com>
1193
1194 PR binutils/18854
1195 * elf.c (bfd_section_from_shdr): Replace assertions with warnings
1196 about multiple symbol tables.
1197
7c2bea1a
RL
11982015-08-25 Renlin Li <renlin.li@arm.com>
1199
1200 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): Use LP64 instead of
1201 ILP64.
1202 * bfd-in2.h: Regenerate.
1203
595bce75
AM
12042015-08-22 Alan Modra <amodra@gmail.com>
1205
1206 * elf.c (_bfd_elf_slurp_version_tables): Always init vd_nodename.
1207 Don't copy fields not set by _bfd_elf_swap_verdef_in.
1208
07c9aa07
JW
12092015-08-19 Jiong Wang <jiong.wang@arm.com>
1210
1211 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
1212 types, including BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
1213 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1214 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
1215 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1216 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
1217 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
1218 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
1219 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
1220 (elfNN_aarch64_final_link_relocate): Likewise.
1221 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1222 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1223
4c562523
JW
12242015-08-19 Jiong Wang <jiong.wang@arm.com>
1225
1226 * reloc.c (BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
1227 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1228 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
1229 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1230 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
1231 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC.
1232 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
1233 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC): New entries.
1234 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1235 * bfd-in2.h: Regenerate.
1236 * libbfd.h: Regenerate.
1237
6ffe9a1b
JW
12382015-08-19 Jiong Wang <jiong.wang@arm.com>
1239
1240 PR ld/18276
1241 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize new relocation
1242 types, including BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
1243 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
1244 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
1245 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
1246 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
1247 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2.
1248 (elfNN_aarch64_final_link_relocate): Likewise.
1249 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1250 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1251
49df5539
JW
12522015-08-19 Jiong Wang <jiong.wang@arm.com>
1253
1254 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12,
1255 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0,
1256 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
1257 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1,
1258 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
1259 BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2): New entries.
1260 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
1261 * bfd-in2.h: Regenerate.
1262 * libbfd.h: Regenerate.
1263
753999c1
JW
12642015-08-19 Jiong Wang <jiong.wang@arm.com>
1265
1266 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1267 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
1268 (aarch64_reloc_got_type): Likewise.
1269 (elfNN_aarch64_final_link_relocate): Likewise.
1270 (elfNN_aarch64_relocate_section): Likewise.
1271 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1272 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1273
13289c10
JW
12742015-08-19 Jiong Wang <jiong.wang@arm.com>
1275
1276 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC): New entry.
1277 * bfd-in2.h: Regenerate.
1278 * libbfd.h: Regenerate.
1279 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1280 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
1281
3cbc1e5e
AM
12822015-08-19 Alan Modra <amodra@gmail.com>
1283
1284 * elf-s390-common.c: Simplify expressions using
1285 bfd_linke_executable, bfd_link_pie and bfd_link_pic.
1286 * elf32-arm.c: Likewise.
1287 * elf32-bfin.c: Likewise.
1288 * elf32-frv.c: Likewise.
1289 * elf32-m68k.c: Likewise.
1290 * elf32-nios2.c: Likewise.
1291 * elf32-ppc.c: Likewise.
1292 * elf32-s390.c: Likewise.
1293 * elf32-sh.c: Likewise.
1294 * elf64-alpha.c: Likewise.
1295 * elf64-ppc.c: Likewise.
1296 * elf64-s390.c: Likewise.
1297 * elflink.c: Likewise.
1298
44b4145b
JW
12992015-08-18 Jiong Wang <jiong.wang@arm.com>
1300
1301 * elfnn-aarch64.c (aarch64_reloc_got_type): Delete useless check.
1302 (elfNN_aarch64_relocate_section): Likewise.
1303 (elfNN_aarch64_gc_sweep_hook): Likewise.
1304 (elfNN_aarch64_check_relocs): Likewise.
1305
cae1fbbb
L
13062015-08-18 H.J. Lu <hongjiu.lu@intel.com>
1307
1308 PR ld/18841
1309 * elf-bfd.h (elf_link_hash_table): Add dynsym.
1310 * elf32-i386.c (elf_i386_reloc_type_class): Return
1311 reloc_class_ifunc for relocation against STT_GNU_IFUNC symbol.
1312 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1313 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set dynsym.
1314 (bfd_elf_size_dynsym_hash_dynstr): Use dynsym.
1315 (elf_final_link_info): Remove dynsym_sec.
1316 (elf_link_output_extsym): Replace dynsym_sec with dynsym.
1317 (bfd_elf_final_link): Remove reference to dynsym_sec. Replace
1318 dynsym_sec with dynsym.
1319
0e1862bb
L
13202015-08-18 H.J. Lu <hongjiu.lu@intel.com>
1321
1322 * bfd/aoutx.h: Replace shared, executable, relocatable and pie
1323 fields with bfd_link_executable, bfd_link_dll,
1324 bfd_link_relocatable, bfd_link_pic and bfd_link_pie.
1325 * bfd/bout.c: Likewise.
1326 * bfd/coff-alpha.c: Likewise.
1327 * bfd/coff-arm.c: Likewise.
1328 * bfd/coff-i386.c: Likewise.
1329 * bfd/coff-i960.c: Likewise.
1330 * bfd/coff-m68k.c: Likewise.
1331 * bfd/coff-mcore.c: Likewise.
1332 * bfd/coff-mips.c: Likewise.
1333 * bfd/coff-ppc.c: Likewise.
1334 * bfd/coff-rs6000.c: Likewise.
1335 * bfd/coff-sh.c: Likewise.
1336 * bfd/coff-tic80.c: Likewise.
1337 * bfd/coff-x86_64.c: Likewise.
1338 * bfd/coff64-rs6000.c: Likewise.
1339 * bfd/coffgen.c: Likewise.
1340 * bfd/cofflink.c: Likewise.
1341 * bfd/ecoff.c: Likewise.
1342 * bfd/ecofflink.c: Likewise.
1343 * bfd/elf-bfd.h: Likewise.
1344 * bfd/elf-eh-frame.c: Likewise.
1345 * bfd/elf-ifunc.c: Likewise.
1346 * bfd/elf-m10200.c: Likewise.
1347 * bfd/elf-m10300.c: Likewise.
1348 * bfd/elf-s390-common.c: Likewise.
1349 * bfd/elf-vxworks.c: Likewise.
1350 * bfd/elf.c: Likewise.
1351 * bfd/elf32-arm.c: Likewise.
1352 * bfd/elf32-avr.c: Likewise.
1353 * bfd/elf32-bfin.c: Likewise.
1354 * bfd/elf32-cr16.c: Likewise.
1355 * bfd/elf32-cr16c.c: Likewise.
1356 * bfd/elf32-cris.c: Likewise.
1357 * bfd/elf32-crx.c: Likewise.
1358 * bfd/elf32-d10v.c: Likewise.
1359 * bfd/elf32-dlx.c: Likewise.
1360 * bfd/elf32-epiphany.c: Likewise.
1361 * bfd/elf32-fr30.c: Likewise.
1362 * bfd/elf32-frv.c: Likewise.
1363 * bfd/elf32-ft32.c: Likewise.
1364 * bfd/elf32-h8300.c: Likewise.
1365 * bfd/elf32-hppa.c: Likewise.
1366 * bfd/elf32-i370.c: Likewise.
1367 * bfd/elf32-i386.c: Likewise.
1368 * bfd/elf32-i860.c: Likewise.
1369 * bfd/elf32-ip2k.c: Likewise.
1370 * bfd/elf32-iq2000.c: Likewise.
1371 * bfd/elf32-lm32.c: Likewise.
1372 * bfd/elf32-m32c.c: Likewise.
1373 * bfd/elf32-m32r.c: Likewise.
1374 * bfd/elf32-m68hc11.c: Likewise.
1375 * bfd/elf32-m68hc1x.c: Likewise.
1376 * bfd/elf32-m68k.c: Likewise.
1377 * bfd/elf32-mcore.c: Likewise.
1378 * bfd/elf32-mep.c: Likewise.
1379 * bfd/elf32-metag.c: Likewise.
1380 * bfd/elf32-microblaze.c: Likewise.
1381 * bfd/elf32-moxie.c: Likewise.
1382 * bfd/elf32-msp430.c: Likewise.
1383 * bfd/elf32-mt.c: Likewise.
1384 * bfd/elf32-nds32.c: Likewise.
1385 * bfd/elf32-nios2.c: Likewise.
1386 * bfd/elf32-or1k.c: Likewise.
1387 * bfd/elf32-ppc.c: Likewise.
1388 * bfd/elf32-rl78.c: Likewise.
1389 * bfd/elf32-rx.c: Likewise.
1390 * bfd/elf32-s390.c: Likewise.
1391 * bfd/elf32-score.c: Likewise.
1392 * bfd/elf32-score7.c: Likewise.
1393 * bfd/elf32-sh-symbian.c: Likewise.
1394 * bfd/elf32-sh.c: Likewise.
1395 * bfd/elf32-sh64.c: Likewise.
1396 * bfd/elf32-spu.c: Likewise.
1397 * bfd/elf32-tic6x.c: Likewise.
1398 * bfd/elf32-tilepro.c: Likewise.
1399 * bfd/elf32-v850.c: Likewise.
1400 * bfd/elf32-vax.c: Likewise.
1401 * bfd/elf32-visium.c: Likewise.
1402 * bfd/elf32-xc16x.c: Likewise.
1403 * bfd/elf32-xstormy16.c: Likewise.
1404 * bfd/elf32-xtensa.c: Likewise.
1405 * bfd/elf64-alpha.c: Likewise.
1406 * bfd/elf64-hppa.c: Likewise.
1407 * bfd/elf64-ia64-vms.c: Likewise.
1408 * bfd/elf64-mmix.c: Likewise.
1409 * bfd/elf64-ppc.c: Likewise.
1410 * bfd/elf64-s390.c: Likewise.
1411 * bfd/elf64-sh64.c: Likewise.
1412 * bfd/elf64-x86-64.c: Likewise.
1413 * bfd/elflink.c: Likewise.
1414 * bfd/elfnn-aarch64.c: Likewise.
1415 * bfd/elfnn-ia64.c: Likewise.
1416 * bfd/elfxx-mips.c: Likewise.
1417 * bfd/elfxx-sparc.c: Likewise.
1418 * bfd/elfxx-tilegx.c: Likewise.
1419 * bfd/i386linux.c: Likewise.
1420 * bfd/linker.c: Likewise.
1421 * bfd/m68klinux.c: Likewise.
1422 * bfd/pdp11.c: Likewise.
1423 * bfd/pe-mips.c: Likewise.
1424 * bfd/peXXigen.c: Likewise.
1425 * bfd/reloc.c: Likewise.
1426 * bfd/reloc16.c: Likewise.
1427 * bfd/sparclinux.c: Likewise.
1428 * bfd/sunos.c: Likewise.
1429 * bfd/vms-alpha.c: Likewise.
1430 * bfd/xcofflink.c: Likewise.
1431
fe875424
AM
14322015-08-18 Alan Modra <amodra@gmail.com>
1433
1434 PR 18667
1435 * Makefile.am: Use $(SED) in place of sed throughout.
1436 * Makefile.in: Regenerate.
1437
43417696
AM
14382015-08-18 Alan Modra <amodra@gmail.com>
1439
1440 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't redefine .TOC.
1441 if already defined, and set linker_def.
1442 (ppc64_elf_set_toc): Use .TOC. value if defined other than by
1443 the backend.
1444
9b57267f
AM
14452015-08-14 Alan Modra <amodra@gmail.com>
1446
1447 PR ld/18759
1448 * elf32-or1k.c: Revert 2015-08-11 change.
1449
8efa2874
L
14502015-08-13 H.J. Lu <hongjiu.lu@intel.com>
1451
1452 PR ld/18801
1453 * elf32-i386.c (elf_i386_size_dynamic_sections): Issue an error
1454 for read-only segment with dynamic IFUNC relocations.
1455 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1456
40fc1451
SD
14572015-08-12 Simon Dardis <simon.dardis@imgtec.com>
1458
1459 * elfxx-mips.c (STUB_MOVE): Change to use 'or' only.
1460 (mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry,
1461 mips_n64_exec_plt0_entry, micromips_insn32_o32_exec_plt0_entry):
1462 Update to use 'or' instead of 'addu/daddu'.
1463 (_bfd_mips_elf_finish_dynamic_symbol): Update usage of STUB_MOVE.
1464 (move_insns_32): Reorder table.
1465
0eace210
L
14662015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1467
1468 * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC
1469 relocations in debug sections.
1470 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1471
c674f5cd
JW
14722015-08-11 Jiong Wang <jiong.wang@arm.com>
1473
1474 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning
1475 message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14.
1476
9331eea1
JW
14772015-08-11 Jiong Wang <jiong.wang@arm.com>
1478
1479 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New.
1480 (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC.
1481
f678ded7
JW
14822015-08-11 Jiong Wang <jiong.wang@arm.com>
1483
1484 * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
1485 Loose the check for symbol from ABS section.
1486 (elfNN_aarch64_size_stubs): Pass sym_sec.
1487
07f9ddfe
JW
14882015-08-11 Jiong Wang <jiong.wang@arm.com>
1489
1490 PR ld/18668
1491 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
1492 calls go through plt stub.
1493 (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
1494 JUMP26 relocation to support inserting veneer for call to plt stub.
1495
40fbed84
JW
14962015-08-11 Jiong Wang <jiong.wang@arm.com>
1497
1498 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1499 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1500 (aarch64_reloc_got_type): Likewise.
1501 (elfNN_aarch64_final_link_relocate): Likewise.
1502 (elfNN_aarch64_relocate_section): Likewise.
1503 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1504 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1505
70151fb5
JW
15062015-08-11 Jiong Wang <jiong.wang@arm.com>
1507
1508 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12): New entry.
1509 * bfd-in2.h: Regenerate.
1510 * libbfd.h: Regenerate.
1511 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1512 BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
1513
73f925cc
JW
15142015-08-11 Jiong Wang <jiong.wang@arm.com>
1515
1516 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1517 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1518 (aarch64_reloc_got_type): Likewise.
1519 (elfNN_aarch64_final_link_relocate): Likewise.
1520 (elfNN_aarch64_relocate_section): Likewise.
1521 (elfNN_aarch64_gc_sweep_hook): Likewise.
1522 (elfNN_aarch64_check_relocs): Likewise.
1523 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1524 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1525
a12fad50
JW
15262015-08-11 Jiong Wang <jiong.wang@arm.com>
1527
1528 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC): New entry.
1529 * bfd-in2.h: Regenerate.
1530 * libbfd.h: Regenerate.
1531 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1532 BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
1533
f69e4920
JW
15342015-08-11 Jiong Wang <jiong.wang@arm.com>
1535
1536 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1537 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1538 (aarch64_reloc_got_type): Likewise.
1539 (elfNN_aarch64_final_link_relocate): Likewise.
1540 (elfNN_aarch64_relocate_section): Likewise.
1541 (elfNN_aarch64_gc_sweep_hook): Likewise.
1542 (elfNN_aarch64_check_relocs): Likewise.
1543 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
1544 (_bfd_aarch64_elf_resolve_relocation): Likewise.
1545
1107e076
JW
15462015-08-11 Jiong Wang <jiong.wang@arm.com>
1547
1548 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21): New entry.
1549 * bfd-in2.h: Regenerate.
1550 * libbfd.h: Regenerate.
1551 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1552 BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
1553
97dc35c8
L
15542015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1555
1556 PR ld/18808
1557 * elf32-i386.c (elf_i386_relocate_section): Skip IFUNC
1558 relocations in debug sections.
1559 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1560
dbac553d
PZ
15612015-08-11 Peter Zotov <whitequark@whitequark.org>
1562
1563 PR ld/18759
1564 * elf32-or1k.c (R_OR1K_32_PCREL): Set pcrel_offset to TRUE.
1565 (R_OR1K_16_PCREL): Likewise.
1566 (R_OR1K_8_PCREL): Likewise.
1567
4b0e8a5f
NC
15682015-08-11 Nick Clifton <nickc@redhat.com>
1569
4c0160b8
NC
1570 PR binutils/18747
1571 * coff-sh.c (_bfd_sh_align_load_span): Fix typo when setting
1572 opcode count.
1573
4b0e8a5f
NC
1574 PR binutils/18758
1575 * elf.c (_bfd_elf_setup_sections): Add checks for corrupt section
1576 group information.
1577 * peicode.h (pe_ILF_make_a_section): Ensure alignment of the
1578 used_by_bfd pointer.
1579 (pe_ILF_build_a_bfd): Ensure alignment of vars.data pointer.
1580
64140f86
L
15812015-08-11 H.J. Lu <hongjiu.lu@intel.com>
1582
1583 * elf.c (_bfd_elf_copy_private_bfd_data): Fix a typo.
1584
422f1182
L
15852015-08-10 H.J. Lu <hongjiu.lu@intel.com>
1586
1587 * elf-bfd.h (elf_symbol_version): New enum.
1588 (elf_link_hash_entry): Replace hidden with versioned.
1589 * elflink.c (_bfd_elf_merge_symbol): Don't look for symbol
1590 version if the symbol is unversioned. Initialize versioned.
1591 (_bfd_elf_add_default_symbol): Don't look for symbol version
1592 if the symbol is unversioned or hidden. Initialize versioned.
1593 (elf_collect_hash_codes): Don't look for symbol version if the
1594 symbol is unversioned.
1595 (elf_collect_gnu_hash_codes): Likewise.
1596 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
1597 (_bfd_elf_link_hash_copy_indirect): Check versioned instead of
1598 hidden.
1599 (elf_link_output_extsym): Likewise.
1600
d4ac1f87
L
16012015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1602
1603 PR binutils/18785
1604 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the
1605 sh_link and sh_info fields in stripped section headers, we also
64140f86 1606 check if the sh_type, sh_flags, sh_addralign and sh_entsize
d4ac1f87
L
1607 fields of the output section match the output. Since
1608 --only-keep-debug turns all non-debug sections into SHT_NOBITS
1609 sections, the output SHT_NOBITS type matches any input type.
1610
6e33951e
L
16112015-08-07 H.J. Lu <hongjiu.lu@intel.com>
1612
1613 PR ld/18720
1614 * elflink.c (_bfd_elf_merge_symbol): Add a parameter to indicate
1615 if the new symbol matches the existing one. The new hidden
1616 versioned symbol matches the existing symbol if they have the
1617 same symbol version. Update the existing symbol only if they
1618 match.
1619 (_bfd_elf_add_default_symbol): Update call to
1620 _bfd_elf_merge_symbol.
1621 (_bfd_elf_link_assign_sym_version): Don't set the hidden field
1622 here.
1623 (elf_link_add_object_symbols): Override a definition only if the
1624 new symbol matches the existing one.
1625 (_bfd_elf_link_hash_copy_indirect): Don't copy any references to
1626 the hidden versioned symbol.
1627 (elf_link_output_extsym): Bind a symbol locally when linking
1628 executable if it is locally defined, hidden versioned, not
1629 referenced by shared library and not exported. Turn on
422f1182 1630 VERSYM_HIDDEN only if the hidden versioned symbol is defined
6e33951e
L
1631 locally.
1632
63b9bbb7
NC
16332015-08-05 Nick Clifton <nickc@redhat.com>
1634
1635 * elf.c (_bfd_elf_copy_private_bfd_data): Copy the sh_link and
1636 sh_info fields of sections whose type has been changed to
1637 SHT_NOBITS.
1638
7e27a9d5
YK
16392015-08-04 Yuriy M. Kaminskiy" <yumkam@gmail.com>
1640 Tyler Hicks <tyhicks@canonical.com>
1641
1642 PR binutils/18750
1643 * ihex.c (ihex_scan): Fixes incorrect escape sequence in error message
1644 and stack overflow when char is signed and \200-\376 was in place of hex
1645 digit; also fixes \377 was handled as EOF instead of "incorrect character".
1646 (ihex_read_section): Changed for consistency.
1647 (ihex_bad_byte): Prevent (now impossible to trigger) stack
1648 overflow and incorrect escape sequence handling.
1649 * srec.c (srec_bad_byte): Likewise.
1650
cb1c8103
HPN
16512015-08-03 Hans-Peter Nilsson <hp@axis.com>
1652
1653 * elf32-cris.c (cris_elf_relocate_section)
1654 (elf_cris_finish_dynamic_symbol, cris_elf_check_relocs)
1655 (elf_cris_discard_excess_dso_dynamics): Use SYMBOLIC_BIND, not
4122b413 1656 just link_info->symbolic, to check if a symbol should be bound
cb1c8103
HPN
1657 symbolically.
1658
c6e8a9a8
L
16592015-07-30 H.J. Lu <hongjiu.lu@intel.com>
1660
1661 PR ld/18735
1662 * elflink.c (_bfd_elf_add_default_symbol): Add the default
1663 symbol if not performing a relocatable link.
1664 (elf_link_add_object_symbols): Adjust the default symbol if
1665 not performing a relocatable link.
1666
e77e648e
L
16672015-07-29 H.J. Lu <hongjiu.lu@intel.com>
1668
1669 * elflink.c (elf_link_add_object_symbols): Remove
1670 !info->relocatable check for info->executable. Add
1671 !info->relocatable check for !info->executable.
1672 (elf_link_output_extsym): Remove
1673 !info->relocatable check for info->executable.
1674
11509220
HPN
16752015-07-29 Hans-Peter Nilsson <hp@bitrange.com>
1676
1677 * mmo.c (mmo_write_symbols_and_terminator): Skip symbol-type
1678 assignment loop for bfd plugin objects.
1679
e5654c0f
AM
16802015-07-28 Alan Modra <amodra@gmail.com>
1681
1682 * elf.c (_bfd_elf_map_sections_to_segments): Do not make a new
1683 segment for loaded sections after nonloaded sections if the
1684 sections are on the same page.
1685
d6f1bafa
IB
16862015-07-28 Iain Buclaw <ibuclaw@gdcproject.org>
1687
1688 * configure.in: Add asprintf and vasprintf to AC_CHECK_DECLS.
1689 * config.in, configure: Regenerate.
1690
37a42ee9
L
16912015-07-27 H.J. Lu <hongjiu.lu@intel.com>
1692
1693 * configure: Regenerated.
1694
79559014
NC
16952015-07-27 Nick Clifton <nickc@redhat.com>
1696
1697 * elf32-msp430.c (uses_large_model): New function.
1698 (msp430_elf_eh_frame_address_size): New function.
1699 (elf_backend_eh_frame_address_size): Define.
1700
32f573bc
SN
17012015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1702
1703 PR ld/18705
1704 * elfnn-aarch64.c (elf_backend_extern_protected_data): Define.
1705
b68a20d6
SN
17062015-07-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
1707
1708 PR ld/18705
1709 * elf32-arm.c (elf_backend_extern_protected_data): Define.
1710
18d9555c
L
17112015-07-25 H.J. Lu <hongjiu.lu@intel.com>
1712
1713 PR ld/18718
1714 * elflink.c (elf_link_output_extsym): Check symbol version
1715 section check only if not linking executable, the symbol is
1716 referenced by shared library or not locally defined.
1717
a496fbc8
AM
17182015-07-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
1719
1720 * elf32-arm.c (elf32_arm_final_link_relocate): Use SYMBOLIC_BIND to
1721 check if a symbol should be bound symbolically.
1722 * elf32-hppa.c (elf32_hppa_check_relocs,
1723 elf32_hppa_adjust_dynamic_symbol, elf32_hppa_relocate_section,
1724 elf32_hppa_finish_dynamic_symbol): Likewise.
1725 * elf32-m68k.c (elf_m68k_check_relocs,
1726 elf_m68k_relocate_section): Likewise.
1727 * elf32-nios2.c (nios2_elf32_relocate_section,
1728 nios2_elf32_check_relocs, allocate_dynrelocs): Likewise.
1729 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol,
1730 elf32_tic6x_relocate_section): Likewise.
1731
91cb26da
AM
17322015-07-24 Alan Modra <amodra@gmail.com>
1733
1734 * elf.c (_bfd_elf_assign_file_positions_for_non_load): Use .rela
1735 prefix for reloc section corresponding to rela section associated
1736 with renamed debug section.
1737
2fb9328d
AM
17382015-07-24 Alan Modra <amodra@gmail.com>
1739
1740 * section.c (bfd_get_section_by_name_if): Iterate over entire hash
1741 chain.
1742
d5cff5df
JM
17432015-07-23 Joseph Myers <joseph@codesourcery.com>
1744
1745 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
1746 <DT_MIPS_RLD_MAP_REL>: Add target address to host address
1747 difference, not to host pointer.
1748
bb854a36
AM
17492015-07-22 Alan Modra <amodra@gmail.com>
1750
1751 * elf64-ppc.c (opd_entry_value): Remove assertion. Instead,
1752 return -1 if symbol referenced is not defined. Tidy.
1753
f2d7e0f4
AM
17542015-07-20 Alan Modra <amodra@gmail.com>
1755
1756 * po/SRC-POTFILES.in: Regenerate.
1757
4c0a9a6f
JW
17582015-07-17 Jiong Wang <jiong.wang@arm.com>
1759
1760 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Sort alphabetically.
1761 (IS_AARCH64_TLSDESC_RELOC): Sort alphabetically.
1762
77a69ff8
JW
17632015-07-16 Jiong Wang <jiong.wang@arm.com>
1764
1765 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Recognize
1766 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1767 (aarch64_reloc_got_type): Ditto.
1768 (elfNN_aarch64_final_link_relocate): Ditto.
1769 (elfNN_aarch64_relocate_section): Ditto.
1770 (elfNN_aarch64_gc_sweep_hook): Ditto.
1771 (elfNN_aarch64_check_relocs): Ditto.
1772 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
1773 (_bfd_aarch64_elf_resolve_relocation): Ditto.
1774
6c37fedc
JW
17752015-07-16 Jiong Wang <jiong.wang@arm.com>
1776
1777 * reloc.c (BFD_RELOC_AARCH64_TLSLD_ADR_PREL21): New entry.
1778 * bfd-in2.h: Regenerate.
1779 * libbfd.h: Regenerate.
1780 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
1781 BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
1782
88988473
L
17832015-07-10 H.J. Lu <hongjiu.lu@intel.com>
1784
1785 PR binutils/18656
1786 * bfd.c (bfd_convert_section_size): New function.
1787 (bfd_convert_section_contents): Likewise.
1788 * bfd-in2.h: Regenerated.
1789
de231f20
CM
17902015-07-09 Catherine Moore <clm@codesourcery.com>
1791
1792 * elflink.c (bfd_elf_size_dynamic_sections): Call to
1793 _bfd_elf_maybe_strip_eh_frame_hdr should be before
1794 bed->elf_backend_size_dynamic_sections.
1795
328e7bfd
DC
17962015-07-08 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
1797
1798 * elf32-avr.c: Add 32 bit PC relative relocation for AVR target.
1799
92a9c616
RS
18002015-07-05 Richard Sandiford <richard.sandiford@arm.com>
1801
1802 * elf64-ppc.c (toc_adjusting_stub_needed): Use the symbol value
1803 plus addend rather than the original st_value when looking up
1804 entries in opd->adjust.
1805
0f088b2a
KT
18062015-07-03 Kai Tietz <ktietz@redhat.com>
1807 Nick Clifton <nickc@redhat.com>
1808
1809 PR ld/11539
1810 * coffcode.h (coff_bfd_gc_sections): Define default
1811 to bfd_coff_gc_sections function.
1812 (coff_gc_mark_hook_fn): New type.
1813 * coffgen.c (init_reloc_cookie): Copy and adjust coff
1814 related code about gc-sections from elflink.c to here.
1815 (fini_reloc_cookie): Likewise.
1816 (init_reloc_cookie_rels): Likewise.
1817 (fini_reloc_cookie_rels): Likewise.
1818 (init_reloc_cookie_for_section): Likewise.
1819 (fini_reloc_cookie_for_section): Likewise.
1820 (_bfd_coff_gc_mark_hook): Likewise.
1821 (_bfd_coff_gc_mark_rsec): Likewise.
1822 (_bfd_coff_gc_mark_reloc): Likewise.
1823 (_bfd_coff_gc_mark): Likewise.
1824 (_bfd_coff_gc_mark_extra_sections): Likewise.
1825 (coff_gc_sweep_symbol_info): Likewise.
1826 (coff_gc_sweep_symbol): Likewise.
1827 (gc_sweep_hook_fn): Likewise.
1828 (coff_gc_sweep): Likewise.
1829 (bfd_coff_gc_sections): Likewise.
1830 (_bfd_coff_gc_keep): Likewise.
1831 * libcoff-in.h (coff_reloc_cookie): New struct.
1832 (bfd_coff_gc_sections): New prototype.
1833 * libcoff.h: Regenerate.
1834
8c163c5a
SL
18352015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1836 Cesar Philippidis <cesar@codesourcery.com>
1837
1838 * bfd-in2.h: Regenerated.
1839 * elf32-nios2.c (elf_nios2_howto_table_rel): Rename to...
1840 (elf_nios2_r1_howto_table_rel): This.
1841 (elf_nios2_r2_howto_table_rel): New.
1842 (BFD_IS_R2): New.
1843 (lookup_howto): Add ABFD parameter. Adjust to look up in either
1844 the R1 or R2 relocation table, as determined by ABFD.
1845 (nios2_reloc_map): Add R2 relocations.
1846 (nios2_elf32_bfd_reloc_type_lookup): Do lookup using lookup_howto.
1847 Pass it the ABFD parameter.
1848 (nios2_elf32_bfd_reloc_name_lookup): Use ABFD to decide whether to
1849 return an R1 or R2 relocation.
1850 (nios2_elf32_info_to_howto): Do lookup using lookup_howto.
1851 Pass it the ABFD parameter.
1852 (nios2_elf32_do_call26_relocate): Check for alignment on a 4-byte
1853 boundary.
1854 (nios2_elf32_relocate_section): Adjust call to lookup_howto.
1855 * libbfd.h: Regenerated.
1856 * reloc.c (BFD_RELOC_NIOS2_R2_S12): New.
1857 (BFD_RELOC_NIOS2_R2_I10_1_PCREL): New.
1858 (BFD_RELOC_NIOS2_R2_T1I7_1_PCREL): New.
1859 (BFD_RELOC_NIOS2_R2_T1I7_2): New.
1860 (BFD_RELOC_NIOS2_R2_T2I4): New.
1861 (BFD_RELOC_NIOS2_R2_T2I4_1): New.
1862 (BFD_RELOC_NIOS2_R2_T2I4_2): New.
1863 (BFD_RELOC_NIOS2_R2_X1I7_2): New.
1864 (BFD_RELOC_NIOS2_R2_X2L5): New.
1865 (BFD_RELOC_NIOS2_R2_F1I5_2): New.
1866 (BFD_RELOC_NIOS2_R2_L5I4X1): New.
1867 (BFD_RELOC_NIOS2_R2_T1X1I6): New.
1868 (BFD_RELOC_NIOS2_R2_T1X1I6_2): New.
1869
965b1d80
SL
18702015-07-01 Sandra Loosemore <sandra@codesourcery.com>
1871 Cesar Philippidis <cesar@codesourcery.com>
1872
1873 * archures.c (bfd_mach_nios2r1, bfd_mach_nios2r2): New.
1874 * bfd-in2.h: Regenerated.
1875 * cpu-nios2.c (nios2_compatible): New.
1876 (N): Use nios2_compatible instead of bfd_default_compatible.
1877 (NIOS2R1_NEXT, NIOS2R2_NEXT): Define.
1878 (arch_info_struct): New.
1879 (bfd_nios2_arch): Chain to NIOS2R1_NEXT.
1880 * elf32-nios2.c (is_nios2_elf): New.
1881 (nios2_elf32_merge_private_bfd_data): New.
1882 (nios2_elf32_object_p): New.
1883 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1884 (elf_backend_object_p): Define.
1885
dfc87947
L
18862015-07-01 H.J. Lu <hongjiu.lu@intel.com>
1887
1888 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Refactor.
1889
5ee4a1ca
NC
18902015-06-30 Nick Clifton <nickc@redhat.com>
1891
1892 PR binutils/18570
1893 * elf-attrs.c (obj_attr_size): Use an unsigned int type for the tag.
1894 (write_obj_attribute): Likewise.
1895 (elf_new_obj_attr): Likewise.
1896 (bfd_elf_get_obj_attr_int): Likewise.
1897 (bfd_elf_add_obj_attr_int): Likewise.
1898 (bfd_elf_add_obj_attr_string): Likewise.
1899 (bfd_elf_add_obj_attr_int_string): Likewise.
1900 (gnu_obj_attrs_arg_type): Likewise.
1901 (_bfd_elf_obj_attrs_arg_type): Likewise.
1902 (_bfd_elf_parse_attributes): Likewise.
1903 (_bfd_elf_merge_unknown_attribute_list): Likewise.
1904 * elf-bfd.h (struct obj_attribute_list): Likewise.
1905 Update prototypes.
1906
ee0c0c50
L
19072015-06-28 H.J. Lu <hongjiu.lu@intel.com>
1908
1909 * bfd-in.h (compressed_debug_section_type): Remove
1910 COMPRESS_DEBUG_ZLIB.
1911 * bfd-in2.h : Regenerated.
1912
a5499fa4
MF
19132015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
1914
1915 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
1916 instead of !shared to indicate an application vs shared library.
1917 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1918 (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
1919 (_bfd_mips_elf_get_target_dtag): Likewise.
1920
3f307074
DD
19212015-06-25 DJ Delorie <dj@redhat.com>
1922
1923 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
1924 REL loads to match RELA stores.
1925
946748d5
L
19262015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1927
1928 * elf.c (_bfd_elf_compute_section_file_positions): Don't
1929 initialize sh_size for .shstrtab here.
1930
ef10c3ac
L
19312015-06-25 H.J. Lu <hongjiu.lu@intel.com>
1932
1933 PR gas/18451
1934 * elf-bfd.h (elf_sym_strtab): New.
1935 (elf_link_hash_table): Add strtabcount, strtabsize and
1936 strtab.
1937 (_bfd_elf_stringtab_init): Removed.
1938 * elf.c (_bfd_elf_stringtab_init): Removed.
1939 (_bfd_elf_compute_section_file_positions): Replace
1940 bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
1941 _bfd_stringtab_size with
1942 elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
1943 _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
1944 _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
1945 st_name.
1946 (swap_out_syms): Likewise.
1947 * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
1948 with elf_strtab_hash. Remove symbuf, symbuf_count,
1949 symbuf_size and shndxbuf_size.
1950 (elf_link_flush_output_syms): Removed.
1951 (elf_link_output_sym): Renamed to ...
1952 (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
1953 with _bfd_elf_strtab_add. Don't flush symbols to the file nor
1954 swap out symbols.
1955 (elf_link_swap_symbols_out): New.
1956 (elf_link_output_extsym): Replace elf_link_output_sym with
1957 elf_link_output_symstrtab.
1958 (elf_link_input_bfd): Likewise.
1959 (elf_final_link_free): Replace _bfd_stringtab_free with
1960 _bfd_elf_strtab_free. Remove symbuf.
1961 (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
1962 _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
1963 symbuf_size nor shndxbuf_size. Initialize strtabsize and
1964 strtab. Initialize symshndxbuf to -1 when number of sections
1965 >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
1966 elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
1967 call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
1968 and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
1969 and _bfd_stringtab_emit with _bfd_elf_strtab_size and
1970 _bfd_elf_strtab_emit.
1971
7cc152be
L
19722015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1973
1974 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
1975 GCC warning.
1976
7c1e8d3e
L
19772015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1978
1979 * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
1980 space for the first .plt entry.
1981 (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
1982 section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1983 there are PLT relocations.
1984 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
1985 allocate space for the first .plt entry.
1986 (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
1987 .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
1988 there are PLT relocations.
1989
59cab532
L
19902015-06-24 H.J. Lu <hongjiu.lu@intel.com>
1991
1992 PR ld/18591
1993 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
1994 R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
1995 overflow.
1996
c2170589
JW
19972015-06-23 Jiong Wang <jiong.wang@arm.com>
1998
1999 * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
2000 (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
2001 relocations against read-only sections.
2002
75c11999
NC
20032015-06-18 Nick Clifton <nickc@redhat.com>
2004
2005 PR 18481
2006 * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
2007
56f40832
JT
20082015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
2009
2010 * bfd.c: Change struct bfd_build_id to use bfd_size_type.
2011 * bfd-in2.h : Regenerate.
2012
1d5c94cb
AM
20132015-06-16 Alan Modra <amodra@gmail.com>
2014
2015 * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
2016 dynamic relocs.
2017
c74f7d1c
JT
20182015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
2019
2020 * elf-bfd.h : Remove struct elf_build_id.
2021 * bfd.c : Add struct bfd_build_id.
2022 * bfd-in2.h: Regenerate.
2023 * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
2024 * libpei.h: Add protoype and macros for
2025 bfd_XXi_slurp_codeview_record.
2026 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
2027 * peicode.h (pe_bfd_read_buildid): Add.
2028 (pe_bfd_object_p): Use pe_bfd_read_buildid().
2029
87f5fbcc
RL
20302015-06-15 Renlin Li <renlin.li@arm.com>
2031
2032 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
2033 * bfd-in2.h: Regenerate.
2034 * libbfd.h: Regenerate.
2035 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2036 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
2037
3a062fa1
AM
20382015-06-15 Alan Modra <amodra@gmail.com>
2039
2040 * cofflink.c (_bfd_coff_generic_relocate_section): Revert
2041 2014-03-26 change. Call _bfd_clear_contents for relocs against
2042 local and global symbols defined in discarded input sections.
2043
1ade7175
NC
20442015-06-05 Nick Clifton <nickc@redhat.com>
2045
2046 * elf32-msp430.c (rl78_sym_diff_handler): New function.
2047 (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
2048 (msp430x_howto_table): Likewise.
2049
f8b44781
AM
20502015-06-05 Alan Modra <amodra@gmail.com>
2051
2052 * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
2053 relocs with insns moved by --ppc476-workaround. Correct
2054 output of REL16 relocs.
2055
7018c030
JW
20562015-06-01 Jiong Wang <jiong.wang@arm.com>
2057
2058 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
2059 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
2060 (elfNN_aarch64_final_link_relocate): Ditto.
2061 (elfNN_aarch64_gc_swap_hook): Ditto.
2062 (elfNN_aarch64_check_relocs): Ditto.
2063 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2064
3d715ce4
JW
20652015-06-01 Jiong Wang <jiong.wang@arm.com>
2066
2067 * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
2068 * bfd-in2.h: Regenerate.
2069 * libbfd.h: Regenerate.
2070 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2071 BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
2072
36e6c140
JW
20732015-06-01 Jiong Wang <jiong.wang@arm.com>
2074
2075 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
2076 complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
2077 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
2078 PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
2079
99ad26cb
JW
20802015-06-01 Jiong Wang <jiong.wang@arm.com>
2081
2082 * elfnn-aarch64.c (aarch64_reloc_got_type): Support
2083 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
2084 (elfNN_aarch64_final_link_relocate): Ditto.
2085 (elfNN_aarch64_gc_swap_hook): Ditto.
2086 (elfNN_aarch64_check_relocs): Ditto.
2087 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2088
a921b5bd
JW
20892015-06-01 Jiong Wang <jiong.wang@arm.com>
2090
2091 * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
2092 * bfd-in2.h: Regenerate.
2093 * libbfd.h: Regenerate.
2094 * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
2095 BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
2096
2f0c68f2
CM
20972015-05-28 Catherine Moore <clm@codesourcery.com>
2098 Bernd Schmidt <bernds@codesourcery.com>
2099 Paul Brook <paul@codesourcery.com>
2100
2101 bfd/
2102 * bfd-in2.h: Regenerated.
2103 * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
2104 (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
2105 (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
2106 eh_frame_hdr_info.
2107 (compact_eh_frame_hdr_info): Declare.
2108 (eh_frame_hdr_info): Redeclare with union for dwarf-specific
2109 fields and compact-eh fields.
2110 (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
2111 (bfd_elf_section_data): Add eh_frame_entry_field.
2112 (elf_section_eh_frame_entry): Define.
2113 (bfd_elf_parse_eh_frame_entries): Declare.
2114 (_bfd_elf_parse_eh_frame_entry): Declare.
2115 (_bfd_elf_end_eh_frame_parsing): Declare.
2116 (_bfd_elf_write_section_eh_frame_entry): Declare.
2117 (_bfd_elf_eh_frame_entry_present): Declare.
2118 (_bfd_elf_section_for_symbol): Declare.
2119 * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
2120 (bfd_elf_record_eh_frame_entry): New function.
2121 (_bfd_elf_parse_eh_frame_entry): New function.
2122 (_bfd_elf_parse_eh_frame): Update hdr_info field references.
2123 (cmp_eh_frame_hdr): New function.
2124 (add_eh_frame_hdr_terminator): New function.
2125 (_bfd_elf_end_eh_frame_parsing): New function.
2126 (find_merged_cie): Update hdr_info field references.
2127 (_bfd_elf_discard_section_eh_frame): Likewise.
2128 (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
2129 (_bfd_elf_eh_frame_entry_present): New function.
2130 (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
2131 (_bfd_elf_write_section_eh_frame_entry): New function.
2132 (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
2133 (_bfd_elf_fixup_eh_frame_hdr): New function.
2134 (write_compact_eh_frame_hdr): New function.
2135 (write_dwarf_eh_frame_hdr): New function.
2136 (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
2137 * elflink.c (_bfd_elf_section_for_symbol): New function.
2138 (elf_section_ignore_discarded_relocs): Add Compact EH support.
2139 (elf_link_input_bfd): Likewise.
2140 (bfd_elf_final_link): Likewise.
2141 (_bfd_elf_gc_mark): Likewise.
2142 (bfd_elf_parse_eh_frame_entries): New function.
2143 (bfd_elf_gc_sections): Add Compact EH support.
2144 (bfd_elf_discard_info): Likewise.
2145 * elfxx-mips.c: Include dwarf2.h.
2146 (_bfd_mips_elf_compact_eh_encoding): New function.
2147 (_bfd_mips_elf_cant_unwind_opcode): New function.
2148 * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
2149 (_bfd_mips_elf_cant_unwind_opcode): Declare.
2150 (elf_backend_compact_eh_encoding): Define.
2151 (elf_backend_cant_unwind_opcode): Define.
2152 * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
2153 (elf_backend_cant_unwind_opcode): Provide default.
2154 (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
2155 elf_backend_cant_unwind_opcode.
2156 * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
2157
8ded2ddc
L
21582015-05-27 H.J. Lu <hongjiu.lu@intel.com>
2159
2160 PR binutils/18458
2161 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
2162 for now binding only if pointer equality isn't needed.
2163 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
2164 binding only if pointer equality isn't needed.
2165 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
2166 section for now binding only if pointer equality isn't needed.
2167 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
2168 binding only if pointer equality isn't needed.
2169
fca6ae69
L
21702015-05-26 H.J. Lu <hongjiu.lu@intel.com>
2171
2172 PR binutils/18437
2173 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
2174 in .rel.plt/.rela.plt.
2175 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
2176
ce336788
JW
21772015-05-19 Jiong Wang <jiong.wang@arm.com>
2178
2179 * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
2180 relocation case labels alphabetically.
2181 (elfNN_aarch64_final_link_relocate): Ditto.
2182 (elfNN_aarch64_tls_relax): Ditto.
2183 (elfNN_aarch64_relocate_section): Ditto.
2184 (elfNN_aarch64_gc_sweep_hook): Ditto.
2185 (elfNN_aarch64_check_relocs): Ditto.
2186 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
2187 (_bfd_aarch64_elf_resolve_relocation): Ditto.
2188
80de0c6d
JW
21892015-05-18 Jiong Wang <jiong.wang@arm.com>
2190
2191 * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
2192 comments.
2193
25070364
L
21942015-05-16 H.J. Lu <hongjiu.lu@intel.com>
2195
2196 * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
2197 for now binding.
2198 (elf_i386_allocate_dynrelocs): Use .plt.got section for now
2199 binding.
2200 * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
2201 section for now binding.
2202 (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
2203 binding.
2204
dab394de
L
22052015-05-14 H.J. Lu <hongjiu.lu@intel.com>
2206
2207 * bfd.c (bfd_update_compression_header): Also write the zlib
2208 header if the SHF_COMPRESSED bit cleared..
2209 (bfd_check_compression_header): Return the uncompressed size.
2210 * compress.c (decompress_contents): Don't skip the zlib header.
2211 (bfd_compress_section_contents): Properly handle ELFCOMPRESS_ZLIB,
2212 which doesn't have the zlib header.
2213 (bfd_init_section_decompress_status): Likewise.
2214 (bfd_get_full_section_contents): Updated.
2215 (bfd_is_section_compressed): Likewise.
2216 (bfd_is_section_compressed_with_header): Return the uncompressed
2217 size.
2218 * elf.c (_bfd_elf_make_section_from_shdr): Updated.
2219 * bfd-in2.h: Regenerated.
2220
fdc3b1b1
JW
22212015-05-14 Jiong Wang <jiong.wang@arm.com>
2222
2223 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Remove overflow
2224 check restrictions.
2225
e6c9a083
MF
22262015-05-14 Max Filippov <jcmvbkbc@gmail.com>
2227
2228 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
2229 as GOT reference when plt.refcount is not positive.
2230
a3747075
L
22312015-05-12 H.J. Lu <hongjiu.lu@intel.com>
2232
2233 * elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate space
2234 for the first .plt entry only if needed.
2235 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2236
bf64a951
L
22372015-05-11 H.J. Lu <hongjiu.lu@intel.com>
2238
2239 * Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
2240 (ALL_MACHINES_CFILES): Likewise.
2241 * archures.c (bfd_mach_iamcu): New.
2242 (bfd_mach_i386_iamcu): Likewise.
2243 (bfd_mach_i386_iamcu_intel_syntax): Likewise.
2244 (bfd_iamcu_arch): Likewise.
2245 (bfd_archures_list): Add &bfd_iamcu_arch.
2246 * config.bfd (targ_selvecs): Add iamcu_elf32_vec to
2247 i386_elf32_vec.
2248 (targ_archs): Add bfd_iamcu_arch if needed.
2249 * configure.ac: Support iamcu_elf32_vec.
2250 * cpu-iamcu.c: New file.
2251 * elf32-i386.c (elf32_iamcu_elf_object_p): New function.
2252 Add support for iamcu_elf32_vec and elf32_iamcu_bed.
2253 * targets.c (iamcu_elf32_vec): New.
2254 (_bfd_target_vector): Add iamcu_elf32_vec.
2255 * Makefile.in: Regenerated.
2256 * bfd-in2.h: Likewise.
2257 * configure: Likewise.
2258
22abe556
L
22592015-05-11 H.J. Lu <hongjiu.lu@intel.com>
2260
2261 * elfcode.h (elf_object_p): Replace EM_486 with EM_IAMCU.
2262
4b71eec6
L
22632015-05-10 H.J. Lu <hongjiu.lu@intel.com>
2264
2265 * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
2266 and output_bfd with abfd.
2267 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
2268
9ac47a43
TS
22692015-05-06 Toni Spets <toni.spets@iki.fi>
2270
2271 PR ld/18372
2272 * peXXigen.c (rsrc_process_section): Skip discarded resource
2273 sections.
2274
b633b725
L
22752015-05-01 H.J. Lu <hongjiu.lu@intel.com>
2276
2277 * config.bfd: Support i[3-7]86-*-elf*.
2278
914082d1
L
22792015-04-30 H.J. Lu <hongjiu.lu@intel.com>
2280
2281 * elf32-i386.c (elf_backend_post_process_headers): Undef for
2282 Solaris 2.
2283
153a2776
NC
22842015-04-30 Nick Clifton <nickc@redhat.com>
2285
2286 PR 18317
2287 * elf32-mep.c (MEPREL): Use bfd_elf_generic_reloc instead of
2288 mep_reloc.
2289 (mep_reloc): Delete unused function.
2290
a93d5cb1
NC
22912015-04-29 Nick Clifton <nickc@redhat.com>
2292
2293 PR 17099
2294 * coff-i386.c (coff_i386_rtype_to_howto): Allow absolute PCRLONG
2295 relocs.
2296
643f7afb
AK
22972015-04-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2298
2299 * elf-s390-common.c (elf_s390_merge_obj_attributes): New function.
2300 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Call
2301 elf_s390_merge_obj_attributes.
2302 * elf64-s390.c (elf64_s390_merge_private_bfd_data): New function.
2303
b53b1bed
JW
23042015-04-24 Jiong Wang <jiong.wang@arm.com>
2305
2306 PR ld/18270
2307 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic): Count local symbol for
2308 GOT_NORMAL for both sgot/srelgot section.
2309 (elfNN_aarch64_final_link_relocate): Relocate against GOT entry address
2310 and generate necessary runtime relocation for GOT entry.
2311
69b52ab8
L
23122015-04-24 H.J. Lu <hongjiu.lu@intel.com>
2313
2314 PR binutils/18209
2315 * archive.c (_bfd_get_elt_at_filepos): Copy is_linker_input.
2316
dcbd20eb
JW
23172015-04-24 Jiong Wang <jiong.wang@arm.com>
2318
2319 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reject
2320 PC-relative relocation for external symbol.
2321
de13ef81
NC
23222015-04-24 Nick Clifton <nickc@redhat.com>
2323
2324 PR 18313
2325 * compress.c (decompress_contents): Zero initialse the z_stream
2326 structure.
2327
b1fa9dd6
NC
23282015-04-24 Nick Clifton <nickc@redhat.com>
2329
2330 * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
2331 local labels to include local labels with a numeric suffix and
2332 fake symbols.
2333
9361e630
L
23342015-04-24 H.J. Lu <hongjiu.lu@intel.com>
2335
2336 PR binutils/18316
2337 * section.c (SEC_MEP_VLIW): New.
2338 * bfd-in2.h: Regenerated.
2339
3e19fb8f
L
23402015-04-23 H.J. Lu <hongjiu.lu@intel.com>
2341
2342 PR ld/18277
2343 * compress.c (bfd_compress_section_contents): Remove the
2344 write_compress argument.
2345 (bfd_init_section_compress_status): Updated.
2346 (bfd_compress_section): Likewise.
2347 * elf.c (_bfd_elf_set_reloc_sh_name): New.
2348 (_bfd_elf_init_reloc_shdr): Add delay_st_name_p. Set sh_name
2349 to (unsigned int) -1 if delay_st_name_p is TRUE. Use
2350 _bfd_elf_set_reloc_sh_name.
2351 (elf_fake_sections): Don't rename DWARF debug section for
2352 linker output if it will be compressed. Instead, set
2353 delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
2354 (assign_section_numbers): Call _bfd_elf_strtab_addref only if
2355 sh_name != (unsigned int) -1. Don't finalize nor assign
2356 shstrtab section here. Delay setting output section names to
2357 _bfd_elf_write_object_contents.
2358 (_bfd_elf_compute_section_file_positions): Update comments on
2359 sh_offset for shstrtab section.
2360 (assign_file_positions_for_non_load_sections): Set sh_offset to
2361 -1 for shstrtab section.
2362 (assign_file_positions_except_relocs): Likewise.
2363 (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
2364 when compressing DWARF debug sections. Place shstrtab section
2365 after DWARF debug sections have been compressed.
2366 (_bfd_elf_write_object_contents): Setting sh_name for output
2367 sections.
2368
f6fe1ccd
L
23692015-04-23 H.J. Lu <hongjiu.lu@intel.com>
2370
2371 PR binutils/18209
2372 * bfd.c (bfd): Add is_linker_input.
2373 * elf.c (convert_debug_to_zdebug): New.
2374 (convert_zdebug_to_debug): Likewise.
2375 (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
2376 .zdebug_* here. Use convert_zdebug_to_debug. Set SEC_ELF_RENAME.
2377 (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
2378 instead of a pointer to section.
2379 (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
2380 is set.
2381 * section.c (SEC_ELF_RENAME): New.
2382 * bfd-in2.h: Regenerated.
2383
a27e685f
AM
23842015-04-23 Alan Modra <amodra@gmail.com>
2385
2386 * elf64-ppc.c (TOC_BASE_ALIGN): Define.
2387 (ppc64_elf_next_toc_section): Align multi-got toc base.
2388 (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
2389
d5597ebc
L
23902015-04-22 H.J. Lu <hongjiu.lu@intel.com>
2391
2392 PR ld/18289
2393 * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
2394 (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
2395 (elf_i386_create_dynamic_sections): Always allow copy relocs for
2396 building executables.
2397 (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
2398 (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
2399 (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
2400 PIE and R_386_GOTOFF.
2401 (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
2402
e9702963
L
24032015-04-20 H.J. Lu <hongjiu.lu@intel.com>
2404
2405 * elf.c (assign_section_numbers): Always set up sh_name.
2406
e06efbf1
L
24072015-04-20 H.J. Lu <hongjiu.lu@intel.com>
2408
2409 * elf.c (assign_file_positions_for_non_load_sections): Iterate
2410 sections by pointer.
2411 (_bfd_elf_assign_file_positions_for_non_load): Likewise.
2412
0ce398f1
L
24132015-04-14 H.J. Lu <hongjiu.lu@intel.com>
2414
2415 * bfd-in.h (compressed_debug_section_type): New.
2416 * compress.c (bfd_compress_section_contents): Add an argument
2417 for linker write compression and always generate .zdebug_*
2418 section when linking.
2419 (bfd_init_section_compress_status): Pass FALSE to
2420 bfd_compress_section_contents.
2421 (bfd_compress_section): New function.
2422 * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
2423 on DWARF debug sections if COMPRESS_DEBUG is set and rename
2424 section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
2425 (assign_file_positions_for_non_load_sections): Set sh_offset
2426 to -1 if SEC_ELF_COMPRESS is set.
2427 (assign_file_positions_except_relocs): Likwise.
2428 (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
2429 (_bfd_elf_assign_file_positions_for_non_load): This. Change
2430 return time to bfd_boolean. Compress the section if
2431 SEC_ELF_COMPRESS is set.
2432 (_bfd_elf_write_object_contents): Updated.
2433 (_bfd_elf_set_section_contents): Write section contents to
2434 the buffer if SEC_ELF_COMPRESS is set.
2435 * merge.c: Include "elf-bfd.h".
2436 (sec_merge_emit): Add arguments for contents and offset. Write
2437 to contents with offset if contents isn't NULL.
2438 (_bfd_write_merged_section): Write section contents to the
2439 buffer if SEC_ELF_COMPRESS is set. Pass contents and
2440 output_offset to sec_merge_emit.
2441 * elflink.c (bfd_elf_final_link): Allocate the buffer for
2442 output section contents if SEC_ELF_COMPRESS is set.
2443 * section.c (SEC_ELF_COMPRESS): New.
2444 * bfd-in2.h: Regenerated.
2445
95b57ade
AM
24462015-04-15 Alan Modra <amodra@gmail.com>
2447
2448 * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
2449
6ff71e76
NC
24502015-04-14 Nick Clifton <nickc@redhat.com>
2451
2452 * elf32-rl78.c (RL78_OP_REL): New macro.
2453 (rl78_elf_howto_table): Use it for complex relocs.
2454 (get_symbol_value): Handle the cases when the info or status
2455 arguments are NULL.
2456 (get_romstart): Cache the status returned by get_symbol_value.
2457 (get_ramstart): Likewise.
2458 (RL78_STACK_PUSH): Generate an error message if the stack
2459 overflows.
2460 (RL78_STACK_POP): Likewise for underflows.
2461 (rl78_compute_complex_reloc): New function. Contains the basic
2462 processing code for all RL78 complex relocs.
2463 (rl78_special_reloc): New function. Provides special reloc
2464 handling for complex relocs.
2465 (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
2466 (rl78_offset_for_reloc): Likewise.
2467
889c2a67
L
24682015-04-14 H.J. Lu <hongjiu.lu@intel.com>
2469
2470 PR ld/pr17709
2471 * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
2472 info->extern_protected_data when warning copy relocs against
2473 protected symbols.
2474 (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
2475 when checking protected non-function symbols.
2476
97de3545
JB
24772015-04-13 John Baldwin <jhb@FreeBSD.org>
2478
2479 * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
2480 FreeBSD.
2481 (elfcore_write_xstatereg): Use correct note name on FreeBSD.
2482
f0bf6bfd
L
24832015-04-13 H.J. Lu <hongjiu.lu@intel.com>
2484
2485 PR ld/18250
2486 * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
2487 if the object has been claimed by plugin.
2488
e3c0e327
L
24892015-04-11 H.J. Lu <hongjiu.lu@intel.com>
2490
2491 * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
2492 with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
2493 protected data symbol when building shared library.
2494 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
2495 R_X86_64_GOTOFF64 against undefined symbol and replace
2496 SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
2497 R_X86_64_GOTOFF64 against protected data symbol when building
2498 shared library.
2499
3d949995
L
25002015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2501
2502 PR ld/pr17709
2503 * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
2504 against protected data symbol when building shared library.
2505 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
2506 R_X86_64_GOTOFF64 against protected data symbol when building
2507 shared library.
2508
f7483970
L
25092015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2510
2511 PR ld/pr15228
2512 PR ld/pr17709
2513 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
2514 * elf32-i386.c (elf_backend_extern_protected_data): New.
2515 Defined to 1.
2516 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2517 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
2518 copy relocs against protected symbols if extern_protected_data
2519 is true.
2520 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
2521 non-function symbols if extern_protected_data is true.
2522 * elfxx-target.h (elf_backend_extern_protected_data): New.
2523 Default to 0.
2524 (elfNN_bed): Initialize extern_protected_data with
2525 elf_backend_extern_protected_data.
2526
030aeb75
L
25272015-04-10 H.J. Lu <hongjiu.lu@intel.com>
2528
2529 * compress.c (bfd_compress_section_contents): Replace bfd_malloc
2530 and free with bfd_alloc and bfd_release on compressed buffer.
2531 Release buffer if compressed section isn't smaller.
2532
d07a1b05
AM
25332015-04-10 Alan Modra <amodra@gmail.com>
2534
2535 PR ld/18222
2536 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
2537 on adding a protected visibility variable to .dynbss.
2538
8d2ea2a8
AM
25392015-04-10 Alan Modra <amodra@gmail.com>
2540
2541 Revert 2015-03-05 H.J. Lu <hongjiu.lu@intel.com>
2542 PR ld/pr15228
2543 PR ld/pr17709
2544 * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
2545 * elf32-i386.c (elf_backend_extern_protected_data): Delete.
2546 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
2547 * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
2548 extern_protected_data test.
2549 (_bfd_elf_symbol_refs_local_p): Likewise.
2550 * elfxx-target.h (elf_backend_extern_protected_data): Delete.
2551 (elfNN_bed): Delete elf_backend_extern_protected_data init.
2552
18ece1de
L
25532015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2554
2555 * compress.c (bfd_compress_section_contents): Update comments.
2556 (bfd_init_section_decompress_status): Likewise.
2557 (bfd_init_section_compress_status): Likewise.
2558
cd6faa73
L
25592015-04-09 H.J. Lu <hongjiu.lu@intel.com>
2560
2561 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
2562 object_flags.
2563 (TARGET_LITTLE_SYM): Likewise.
2564
19424843
MF
25652015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2566
2567 * elf32-xtensa.c (splay-tree.h): include header.
2568 (text_action_struct): drop next pointer.
2569 (text_action_list_struct): drop head pointer, add count and
2570 tree fields.
2571 (find_fill_action): instead of linear search in text_action_list
2572 search in the tree.
2573 (text_action_compare, action_first, action_next): new functions.
2574 (text_action_add, text_action_add_literal): instead of linear
2575 search and insertion insert new node into the tree.
2576 (removed_by_actions): pass additional parameter: action_list,
2577 use it to traverse the tree.
2578 (offset_with_removed_text): pass additional action_list parameter
2579 to removed_by_actions.
2580 (map_action_fn_context): new typedef.
2581 (map_action_fn_context_struct): new structure.
2582 (map_action_fn): new function.
2583 (map_removal_by_action): use splay_tree_foreach to build map.
2584 (find_insn_action): replace linear search in text_action_list
2585 with series of splay_tree_lookups.
2586 (print_action, print_action_list_fn): new functions.
2587 (print_action_list): use splay_tree_foreach.
2588 (init_xtensa_relax_info): drop action_list.head initialization.
2589 Initialize the tree.
2590 (compute_text_actions): use non-zero action_list_count instead of
2591 non-NULL action list.
2592 (xlate_map_context): new typedef.
2593 (xlate_map_context_struct): new structure.
2594 (xlate_map_fn): new function.
2595 (build_xlate_map): use splay_tree_foreach to build map.
2596 (action_remove_bytes_fn): new function.
2597 (relax_section): use zero action_list_count instead of NULL
2598 action list. Use splay_tree_foreach to count final section size.
2599 Drop unused variable 'removed'.
2600
26012015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2602
2603 * elf32-xtensa.c (removed_literal_map_entry): new typedef.
2604 (removed_literal_map_entry_struct): new structure.
2605 (removed_literal_list_struct): add new fields: n_map and map.
2606 (map_removed_literal, removed_literal_compare): new functions.
2607 (find_removed_literal): build index array for literals ordered
2608 by VMA, use binary search to find removed literal.
2609
26102015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2611
2612 * elf32-xtensa.c (removal_by_action_entry_struct,
2613 removal_by_action_map_struct): new structures.
2614 (removal_by_action_entry, removal_by_action_map): new typedefs.
2615 (text_action_list_struct): add new field: map.
2616 (map_removal_by_action, removed_by_actions_map,
2617 offset_with_removed_text_map): new functions.
2618 (relax_section): replace offset_with_removed_text with
2619 offset_with_removed_text_map.
2620 (translate_reloc, relax_property_section, relax_section_symbols):
2621 replace removed_by_actions with removed_by_actions_map.
2622
26232015-04-09 Max Filippov <jcmvbkbc@gmail.com>
2624
2625 * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
2626 reloc_range): new typedef.
2627 (reloc_range_list_struct, reloc_range_list_entry_struct,
2628 reloc_range_struct): new structures.
2629 (reloc_range_compare, build_reloc_ranges,
2630 reloc_range_list_append, reloc_range_list_remove,
2631 reloc_range_list_update_range, free_reloc_range_list): new
2632 functions.
2633 (compute_text_actions): precompute relocation opcodes before the
2634 loop. Add relevant_relocs variable, initialize it before the
2635 loop, pass it to the check_section_ebb_pcrels_fit.
2636 (check_section_ebb_pcrels_fit): add new parameter:
2637 relevant_relocs. Update address range in the relevant_relocs if
2638 it's non-NULL and iterate only over relevant relocations.
2639
3525236c
NC
26402015-04-09 Nick Clifton <nickc@redhat.com>
2641
2642 * elf32-rx.c (describe_flags): Report the settings of the string
2643 insn using bits.
2644 (rx_elf_merge_private_bfd_data): Handle merging of the string insn
2645 using bits.
2646
51509926
L
26472015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2648
2649 * compress.c (bfd_compress_section_contents): Work around a GCC
2650 uninitialized warning bug fixed in GCC 4.7.
2651
151411f8
L
26522015-04-08 H.J. Lu <hongjiu.lu@intel.com>
2653
2654 * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
2655 bit.
2656 * bfd.c (bfd::flags): Increase size to 18 bits.
2657 (BFD_COMPRESS_GABI): New.
2658 (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
2659 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
2660 (bfd_update_compression_header): New fuction.
2661 (bfd_check_compression_header): Likewise.
2662 (bfd_get_compression_header_size): Likewise.
2663 (bfd_is_section_compressed_with_header): Likewise.
2664 * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
2665 (bfd_compress_section_contents): Return the uncompressed size if
2666 the full section contents is compressed successfully. Support
2667 converting from/to .zdebug* sections.
2668 (bfd_get_full_section_contents): Call
2669 bfd_get_compression_header_size to get compression header size.
2670 (bfd_is_section_compressed): Renamed to ...
2671 (bfd_is_section_compressed_with_header): This. Add a pointer
2672 argument to return compression header size.
2673 (bfd_is_section_compressed): Use it.
2674 (bfd_init_section_decompress_status): Call
2675 bfd_get_compression_header_size to get compression header size.
2676 Return FALSE if uncompressed section size is 0.
2677 * elf.c (_bfd_elf_make_section_from_shdr): Support converting
2678 from/to .zdebug* sections.
2679 * bfd-in2.h: Regenerated.
2680
87070c08
AM
26812015-04-07 Alan Modra <amodra@gmail.com>
2682
2683 * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
2684 mapped to output .got section.
2685
d3e454b9
AM
26862015-04-07 Alan Modra <amodra@gmail.com>
2687
2688 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
2689 and has_addr16_lo. Make has_sda_refs a bitfield.
2690 (ppc_elf_check_relocs): Set new flags.
2691 (ppc_elf_link_hash_table_create): Update default_params.
2692 (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
2693 where we won't be making .dynbss entries or editing code. Set
2694 params->pic_fixup when we'll edit code for protected var access.
2695 (allocate_dynrelocs): Allocate got entry for edited code and
2696 discard dyn_relocs.
2697 (struct ppc_elf_relax_info): Add picfixup_size.
2698 (ppc_elf_relax_section): Rename struct one_fixup to struct
2699 one_branch_fixup. Rename fixups to branch_fixups. Size space for
2700 pic fixups.
2701 (ppc_elf_relocate_section): Edit non-PIC accessing protected
2702 visibility variables to PIC. Don't emit dyn_relocs for code
2703 we've edited.
2704 * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
2705
ffa54770
NC
27062015-04-07 Nick Clifton <nickc@redhat.com>
2707
2708 * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
2709 local labels as local.
2710
4aa90cc0
L
27112015-04-06 H.J. Lu <hongjiu.lu@intel.com>
2712
2713 * compress.c (get_uncompressed_size): Removed.
2714 (bfd_compress_section_contents): Use bfd_putb64 to write
2715 uncompressed section size.
2716 (bfd_init_section_decompress_status): Replace
2717 get_uncompressed_size with bfd_getb64.
2718
68f5ff89
L
27192015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2720
2721 * elf.c (_bfd_elf_init_private_section_data): Also preserve the
2722 SHF_COMPRESSED bit if not decompress.
2723
8bed4e0f
L
27242015-04-04 H.J. Lu <hongjiu.lu@intel.com>
2725
2726 * compress.c (get_uncompressed_size): New. Extracted from ...
2727 (bfd_init_section_decompress_status): This. Use it.
2728
15c7659f
AT
27292015-04-02 Andrew Turner <andrew@freebsd.org>
2730
2731 * config.bfd: Add aarch64-*-freebsd* target triple.
2732
39f3de7c
L
27332015-04-02 H.J. Lu <hongjiu.lu@intel.com>
2734
2735 * configure: Regenerated.
2736
4106101c
MS
27372015-04-01 Tejas Belagod <tejas.belagod@arm.com>
2738 Marcus Shawcroft <marcus.shawcroft@arm.com>
2739 Jiong Wang <jiong.wang@arm.com>
2740
2741 * bfd-in.h (bfd_elf64_aarch64_set_options)
2742 (bfd_elf32_aarch64_set_options): Add parameter.
2743 * bfd-in2.h: Regenerated.
2744 * elfnn-aarch64.c (aarch64_erratum_843419_stub)
2745 (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p)
2746 (_bfd_aarch64_erratum_843419_stub_name)
2747 (_bfd_aarch64_erratum_843419_fixup)
2748 (_bfd_aarch64_erratum_843419_scan)
2749 (_bfd_aarch64_erratum_843419_branch_to_stub)
2750 (_bfd_aarch64_erratum_843419_p): Define.
2751 (enum elf_aarch64_stub_type): Define
2752 aarch64_stub_erratum_843419_veneer.
2753 (struct elf_aarch64_stub_hash_entry): Define adrp_offset.
2754 (struct elf_aarch64_link_hash_table): Define fix_erratum_843419
2755 and fix_erratum_843419_adr.
2756 (stub_hash_newfunc): Initialize adrp_offset;
2757 (_bfd_aarch64_add_stub_entry_after): Define.
2758 (aarch64_map_one_stub, aarch64_build_one_stub)
2759 (aarch64_size_one_stub): Handle
2760 aarch64_stub_erratum_843419_veneer.
2761 (_bfd_aarch64_resize_stubs): Round stub section size.
2762 (elfNN_aarch64_size_stubs): Add scan for 843419.
2763 (bfd_elfNN_aarch64_set_options): Add parameter. Initialize
2764 fix_erratum_843419 and fix_erratum_843419_adr.
2765 (struct erratum_835769_branch_to_stub_data): Add info.
2766 (elfNN_aarch64_write_section): Initialise info. Handle 843419.
2767 (elfNN_aarch64_size_dynamic_sections): Handle 843419.
2768 * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm)
2769 (_bfd_aarch64_sign_extend): Define.
2770 (reencode_adr_imm): Remove static. Rename to:
2771 (_bfd_aarch64_reencode_adr_imm): Define.
2772 (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm.
2773 * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP)
2774 (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend)
2775 (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm):
2776 Define.
2777
afa59b79
L
27782015-04-01 H.J. Lu <hongjiu.lu@intel.com>
2779
2780 * configure: Regenerated.
2781
6036f486
ES
27822015-03-31 Ed Schouten <ed@nuxi.nl>
2783
2784 * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
2785 for x86_64-*-cloudabi*.
2786 * configure.ac: Handle x86_64_elf64_cloudabi_vec.
2787 * configure: Regenerated.
2788 * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
2789 (TARGET_LITTLE_NAME): Likewise.
2790 (ELF_OSABI): Likewise.
2791 (elf64_bed): Likewise.
2792 * targets.c (x86_64_elf64_cloudabi_vec): New.
2793 (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
2794
9ae46699
L
27952015-03-31 H.J. Lu <hongjiu.lu@intel.com>
2796
2797 * configure.ac: Revert the AM_ZLIB change.
2798 * Makefile.in: Regenerated.
2799 * aclocal.m4: Likewise.
2800 * configure: Likewise.
2801 * doc/Makefile.in: Likewise.
2802
bd53a53a
L
28032015-03-30 H.J. Lu <hongjiu.lu@intel.com>
2804
2805 PR ld/18169
2806 * elf-bfd.h (elf_backend_data): Add get_reloc_section.
2807 (_bfd_elf_get_reloc_section): New.
2808 * elf.c (_bfd_elf_get_reloc_section): Likewise.
2809 (assign_section_numbers): Call get_reloc_section to look up the
2810 section the relocs apply.
2811 * elfxx-target.h (elf_backend_get_reloc_section): Likewise.
2812 (elfNN_bed): Initialize get_reloc_section with
2813 elf_backend_get_reloc_section.
2814
243340ad
L
28152015-03-29 H.J. Lu <hongjiu.lu@intel.com>
2816
2817 * Makefile.am (ZLIB): New.
2818 (ZLIBINC): Likewise.
2819 (AM_CFLAGS): Add $(ZLIBINC).
2820 (libbfd_la_LIBADD): Add $(ZLIB).
2821 * compress.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
2822 (decompress_contents): Don't check HAVE_ZLIB_H.
243340ad
L
2823 (bfd_compress_section_contents): Likewise.
2824 (bfd_get_full_section_contents): Likewise.
2825 (bfd_init_section_decompress_status): Likewise.
2826 (bfd_init_section_compress_status): Likewise.
b51724e8 2827 * configure.ac (AM_ZLIB): Removed.
243340ad
L
2828 (zlibdir): New. AC_SUBST.
2829 (zlibinc): Likewise.
2830 Add --with-system-zlib.
2831 * Makefile.in: Regenerated.
2832 * acinclude.m4: Likewise.
2833 * config.in: Likewise.
2834 * configure: Likewise.
2835 * doc/Makefile.in: Likewise.
2836
b8417128
AM
28372015-03-27 Alan Modra <amodra@gmail.com>
2838
2839 PR ld/15228
2840 PR ld/18167
2841 * elflink.c (elf_merge_st_other): Add "sec" parameter. Don't set
2842 protected_def when symbol section is read-only. Adjust all calls.
2843 * elf-bfd.h (struct elf_link_hash_entry): Update protected_def comment.
2844
93ca8569
TB
28452015-03-26 Tejas Belagod <tejas.belagod@arm.com>
2846
2847 * elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
2848 _bfd_final_link_relocate with aarch64_relocate.
2849
b19a8f85
L
28502015-03-26 H.J. Lu <hongjiu.lu@intel.com>
2851
2852 PR ld/18160
2853 * elflink.c (elf_gc_sweep): Skip if relocation is incompatible.
2854 (bfd_elf_gc_sections): Likewise.
2855
61865519
MS
28562015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
2857
2858 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section
2859 size for initial branch.
2860 (elfNN_aarch64_build_stubs): Write initial branch.
2861 _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write
2862 mapping symbol on initial branch.
2863
d9ced15d 28642015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com>
357d1523
MS
2865
2866 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan):
2867 Update erratum count.
2868
d422d1c4
SKS
28692015-03-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2870
2871 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
2872 first matching debug section.
2873
8d001214
L
28742015-03-24 H.J. Lu <hongjiu.lu@intel.com>
2875
2876 PR gas/18087
2877 * compress.c (bfd_compress_section_contents): Don't write the
2878 zlib header and set contents as well as compress_status if
2879 compression didn't make the section smaller.
2880 (bfd_init_section_compress_status): Don't check compression
2881 size here.
2882
fc42baf3
NC
28832015-03-24 Nick Clifton <nickc@redhat.com>
2884
2885 PR binutils/17512
2886 * coffgen.c (coff_get_normalized_symtab): Fix test for out of
2887 range auxillary sections.
2888
fc6d53be
MS
28892015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2890
2891 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor
2892 code into:
2893 (_bfd_aarch64_get_stub_for_link_section): Define.
2894
30068a6d
MS
28952015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2896
2897 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
2898 update of section_group[].stub_sec.
2899
5421cc6e
MS
29002015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2901
2902 * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
2903 (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments.
2904 Delete fixes, fix_table_size and associated code. Call
2905 _bfd_aarch64_add_stub_entry_in_group. Rename to...
2906 (bfd_aarch64_erratum_835769_scan): Define.
2907 (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes,
2908 erratum_835769_fix_table_size, i and associated code. Relocate
2909 call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size
2910 correction. Delete construction of stub entry from
2911 erratum_835769_fixes array.
2912
e572930b
MS
29132015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
2914
2915 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use
2916 _bfd_aarch64_add_stub_entry_in_group.
2917
8131c122
AM
29182015-03-24 Alan Modra <amodra@gmail.com>
2919
2920 * elf64-ppc.c (ppc64_elf_relocate_section): Report overflow to
2921 stubs, even those for undefined weak symbols. Otherwise, don't
2922 report relocation overflow on branches to undefined strong
2923 symbols. Fix memory leak.
2924 * elf32-ppc.c (ppc_elf_relocate_section): Don't report relocation
2925 overflow on branches to undefined strong symbols.
2926
c53ed7cf
KS
29272015-03-23 Keith Seitz <keiths@redhat.com>
2928
2929 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add
2930 missing ';'.
2931
94a75bde
MS
29322015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2933
2934 * elfnn-aarch64.c (erratum_835769_scan): Factor stub name
2935 construction into...
2936 (_bfd_aarch64_erratum_835769_stub_name): Define.
2937
13f622ec
MS
29382015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2939
2940 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out
2941 stub resize code into...
2942 (bfd_aarch64_resize_stubs): Define.
2943
66585675
MS
29442015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2945
2946 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub
2947 creation code into...
2948 (bfd_aarch64_create_stub_section): Define.
2949
ef857521
MS
29502015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2951
2952 * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename
2953 from elf_aarch64_create_or_find_stub_sec.
2954 (_bfd_aarch64_add_stub_entry_in_group): Rename from
2955 elfNN_aarch64_add_stub. Call
2956 _bfd_aarch64_create_or_find_stub_sec.
2957 (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call
2958 _bfd_aarch64_add_stub_entry_in_group.
2959
2144188d
MS
29602015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2961
2962 * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse
2963 sense of boolean return.
2964 (elfNN_aarch64_size_stubs): Adjust for above.
2965
4c77202d
MS
29662015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2967
2968 * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
2969 Remove unused parameter.
2970 (elfNN_aarch64_size_stubs): Adjust for above.
2971
9b9971aa
MS
29722015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2973
2974 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx.
2975
e2cdef47
MS
29762015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2977
2978 * elfnn-aarch64.c (aarch64_erratum_835769_fixes)
2979 (num_aarch64_erratum_835769_fixes): Remove.
2980 (elfNN_aarch64_size_stubs): Remove assignments to above.
2981
3d14faea
MS
29822015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2983
23956543
MS
2984 * elfnn-aarch64.c (aarch64_mem_op_p): Update comment. Rename rtn
2985 to rt2.
3d14faea
MS
2986 (aarch64_erratum_seqeunce): Rename rtn to rt2.
2987
f872121a
MS
29882015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
2989
2990 * elfnn-aarch64.c (elfNN_aarch64_write_section): Adjust layout.
2991
1740ba0c
NC
29922015-03-19 Nick Clifton <nickc@redhat.com>
2993
2994 * elf32-rl78.c (rl78_cpu_name): New function. Prints the name of
2995 the RL78 core based upon the flags.
2996 (rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
2997 flags.
2998 (rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
2999 (elf32_rl78_machine): Always return bfd_mach_rl78.
3000
e2575e05
NC
30012015-03-19 Nick Clifton <nickc@redhat.com>
3002
3003 PR 18078
3004 * compress.c (bfd_compress_section_contents): Do not define this
3005 function if it is not used.
3006
0b0732e1
L
30072015-03-18 H.J. Lu <hongjiu.lu@intel.com>
3008
3009 * compress.c (bfd_compress_section_contents): Make it static.
3010 * bfd/bfd-in2.h: Regenerated.
3011
27aaeda0
NC
30122015-03-18 Eric Youngdale <eyoungdale@ptc.com>
3013
3014 PR ld/16598
3015 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
3016 suitable for the AMD64.
3017
273a4985
JT
30182015-03-18 Jon Turney <jon.turney@dronecode.org.uk>
3019 Nick Clifton <nickc@redhat.com>
3020
3021 PR binutils/18087
3022 * coffgen.c (make_a_section_from_file): Only prepend a z to a
3023 debug section's name if the section was actually compressed.
3024 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
3025 * compress.c (bfd_init_section_compress_status): Do not compress
3026 the section if doing so would make it bigger. In such cases leave
3027 the section alone and return COMPRESS_SECTION_NONE.
3028
c4b0b099
AM
30292015-03-17 Alan Modra <amodra@gmail.com>
3030
3031 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return count of 0
3032 on nothing to do, before malloc of returned symbol array.
3033
9c761a55
NC
30342015-03-16 Nick Clifton <nickc@redhat.com>
3035
3036 * elf32-rx.c (elf32_rx_relax_delete_bytes): If the relocs are not
3037 stored in the elf_section_data structure then load them as
3038 necessary.
3039
b9005ba7
AK
30402015-03-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3041
3042 * elf-s390-common.c (elf_s390_elf_sort_relocs_p): Don't sort
3043 relocs against code sections.
3044 * elf32-s390.c: Define elf_backend_sort_relocs_p.
3045 * elf64-s390.c: Likewise.
3046
1079403c
AM
30472015-03-11 Alan Modra <amodra@gmail.com>
3048
3049 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Examine stubs in
3050 reverse order. Account for larger size of __tls_get_addr_opt stub.
3051
a5721edd
JW
30522015-03-10 Yuri Gribov <y.gribov@samsung.arm>
3053
3054 PR ld/16572
3055 * elf32-arm.c (elf32_arm_final_link_relocate): Remove support for
3056 ELF_ARM_HASENTRY.
3057 (elf32_arm_print_private_bfd_data): Likewise.
3058
65164438
NC
30592015-03-06 Nick Clifton <nickc@redhat.com>
3060
3061 PR binutils/17765
3062 * elflink.c (put_value): Like previous delta, but for the 32-bit
3063 case.
3064
41cd1ad1
NC
30652015-03-05 Nick Clifton <nickc@redhat.com>
3066
3067 PR binutils/17765
3068 * elflink.c (put_value): Avoid using an undefined shift
3069 operation.
3070
ca3fe95e
L
30712015-03-05 H.J. Lu <hongjiu.lu@intel.com>
3072
3073 PR ld/pr15228
3074 PR ld/pr17709
3075 * elf-bfd.h (elf_backend_data): Add extern_protected_data.
3076 * elf32-i386.c (elf_backend_extern_protected_data): New.
3077 Defined to 1.
3078 * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
3079 * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
3080 copy relocs against protected symbols if extern_protected_data
3081 is true.
3082 (_bfd_elf_symbol_refs_local_p): Don't return true on protected
3083 non-function symbols if extern_protected_data is true.
3084 * elfxx-target.h (elf_backend_extern_protected_data): New.
3085 Default to 0.
3086 (elfNN_bed): Initialize extern_protected_data with
3087 elf_backend_extern_protected_data.
3088
425bd9e1
NC
30892015-03-05 Nick Clifton <nickc@redhat.com>
3090
3091 PR binutils/18025
3092 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2
3093 lookup fails, check for an address bias in the dwarf info, and if
3094 one exists, retry the lookup with the biased value.
3095 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function.
3096 Determines if a bias exists bewteen the addresses of functions
3097 based on DWARF information vs symbol table information.
3098 * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype.
3099 * libbfd.h: Regenerate.
3100
8ef229f3
MS
31012015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
3102
3103 * elfxx-aarch64.c (decode_add_imm, decode_movw_imm)
3104 (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19)
3105 (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove.
3106
8e2fe09f
MS
31072015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
3108
3109 * elfnn-aarch64.c (aarch64_build_one_stub): Call abort.
3110 (aarch64_size_one_stub): Likewise.
3111 (aarch64_map_one_stub): Likewise.
3112
df88b702
AA
31132015-03-04 Andreas Arnez <arnez@linux.vnet.ibm.com>
3114
3115 * cpu-s390.c (N): New macro.
3116 (bfd_s390_31_arch): New. Define only if default target word size
3117 is 64 bits. Otherwise define...
3118 (bfd_390_64_arch): ...this. Make static.
3119 (bfd_s390_arch): Define according to the default target word size.
3120 Let the 'next' field point to the alternate arch.
3121
e09ab7ac
RS
31222015-03-04 Richard Sandiford <richard.sandiford@arm.com>
3123
3124 PR gas/17843
3125 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Expect
3126 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
3127 to be used with MOVK rather than MOVZ.
3128
71eef2bd
DD
31292015-03-03 DJ Delorie <dj@redhat.com>
3130
3131 * elf32-rl78.c (rl78_elf_relax_section): Only relax ADDR16's if
3132 there's a symbol.
3133
f01f1741
AM
31342015-02-28 Alan Modra <amodra@gmail.com>
3135
3136 * elf32-ppc.c (ppc_elf_tls_setup): Set no_tls_get_addr_opt if
3137 not PLT_NEW.
3138
c1d11331
L
31392015-02-27 H.J. Lu <hongjiu.lu@intel.com>
3140
3141 * elf32-i386.c (need_convert_mov_to_lea): New.
3142 (elf_i386_check_relocs): Set need_convert_mov_to_lea if needed.
3143 (elf_i386_convert_mov_to_lea): Return TRUE if
3144 need_convert_mov_to_lea is unset.
3145 * elf64-x86-64.c (need_convert_mov_to_lea): New.
3146 (elf_x86_64_check_relocs): Set need_convert_mov_to_lea if needed.
3147 (elf_x86_64_convert_mov_to_lea): Return TRUE if
3148 need_convert_mov_to_lea is unset.
3149
cdb602b1
NC
31502015-02-27 Nick Clifton <nickc@redhat.com>
3151
3152 PR binutils/17910
3153 * coffgen.c (_bfd_coff_internal_syment_name): Only check for
3154 string length overflow when the string table length is actually
3155 set.
3156
96c20bc1
MS
31572015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
3158
3159 * bfd/bfd-in2.h: Regenerate.
3160 * bfd/libbfd.h: Regenerate.
3161
1ada945d
MS
31622015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3163
3164 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix
3165 TLSDESC_LD_PREL19 field width and masks.
3166 (aarch64_tls_transition_without_check)
3167 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3168 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3169 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3170 BFD_RELOC_AARCH64_TLSDESC_LD_PREL19.
3171 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3172 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3173
389b8029
MS
31742015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3175
73920eed
MS
3176 * elfnn-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Reorder R_TYPE
3177 tests.
389b8029
MS
3178 (aarch64_tls_transition_without_check)
3179 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3180 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3181 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3182 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
3183 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3184 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3185 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
3186
3c12b054
MS
31872015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3188
3189 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC)
3190 (elfNN_aarch64_howto_table, aarch64_tls_transition_without_check)
3191 (aarch64_reloc_got_type, elfNN_aarch64_final_link_relocate)
3192 (elfNN_aarch64_tls_relax, elfNN_aarch64_relocate_section)
3193 (elfNN_aarch64_gc_sweep_hook, elfNN_aarch64_check_relocs): Handle
3194 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
3195 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3196 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3197 * reloc.c (BFD_RELOC_AARCH64_TLSGD_ADR_PREL21): Define.
3198
043bf05a
MS
31992015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3200
3201 * elfnn-aarch64.c: (TLSIE_LD_GOTTREL_PREL19): Fix HOWTO bit field width.
3202 (aarch64_tls_transition_without_check, aarch64_reloc_got_type)
3203 (elfNN_aarch64_final_link_relocate, elfNN_aarch64_tls_relax)
3204 (elfNN_aarch64_relocate_section, elfNN_aarch64_gc_sweep_hook)
3205 (elfNN_aarch64_check_relocs): Handle
3206 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
3207
3208 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend)
3209 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3210
7366006f
MS
32112015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3212
3213 * elfnn-aarch64.c: (TLSDESC_CALL): Fix HOWTO bit field width.
3214
07875fbc
MS
32152015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3216
3217 * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
3218 (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
3219 (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
3220 width.
3221
49d8f92c
MS
32222015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
3223
3224 * elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
3225 field width.
3226
c86934ce
NC
32272015-02-26 Nick Clifton <nickc@redhat.com>
3228
3229 PR binutils/17512
3230 * coffcode.h (coff_compute_section_file_positions): Report
3231 negative page sizes.
3232 * elf.c (elf_fake_sections): Handle excessive alignmment powers.
3233 (assign_file_positions_for_non_load_sections): Replace assertion
3234 with an error message.
3235 (rewrite_elf_program_header): Handle excessive segment
3236 alignments.
3237 * mach-o.c (bfd_mach_o_read_section_32): Likewise.
3238 (bfd_mach_o_read_section_64): Likewise.
3239 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Use %B to
3240 print a bfd name, not %A.
3241
bd4d2eaa
AM
32422015-02-26 Alan Modra <amodra@gmail.com>
3243
3244 * elf64-ppc.c (plt_stub_size, build_plt_stub): Don't build
3245 thread-safe stubs for iplt.
3246 (build_tls_get_addr_stub): Restore r2 immediately after call.
3247
99654aaf
TG
32482015-02-26 Terry Guo <terry.guo@arm.com>
3249
3250 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Update how we
3251 merge Tag_ABI_HardFP_use.
3252
a127494f
AM
32532015-02-26 Alan Modra <amodra@gmail.com>
3254
3255 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Heed -z nocopyreloc.
3256 Use text relocs rather than giving an error on trying to use
3257 .dynbss for protected shared lib vars.
3258 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
3259
bac13f5a
AB
32602015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3261
3262 * elf32-avr.c (struct elf_avr_section_data): New structure.
3263 (struct avr_relax_info): New structure.
3264 (elf_avr_new_section_hook): New function.
3265 (struct elf_avr_section_data): Add relax_info.
3266 (get_avr_relax_info): New function.
3267 (init_avr_relax_info): New function.
3268 (elf32_avr_relax_delete_bytes): Find next property record before
3269 deleting bytes. When deleting don't move bytes beyond the next
3270 property record.
3271 (avr_elf32_assign_records_to_section): New function.
3272 (avr_property_record_compare): New function.
3273 (avr_load_all_property_sections): New function.
3274 (elf32_avr_relax_section): Load property data. After relaxing the
3275 section, move any .align directives that have enough deleted bytes
3276 before them.
3277 (bfd_elf32_new_section_hook): Define.
3278
137c83d6
AB
32792015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3280
3281 * elf32-avr.h (struct avr_property_header): New strucure.
3282 (avr_elf32_load_property_records): Declare.
3283 (avr_elf32_property_record_name): Declare.
3284 * elf32-avr.c: Add bfd_stdint.h include.
3285 (retrieve_local_syms): New function.
3286 (get_elf_r_symndx_section): New function.
3287 (get_elf_r_symndx_offset): New function.
3288 (internal_reloc_compare): New function.
3289 (struct avr_find_section_data): New structure.
3290 (avr_is_section_for_address): New function.
3291 (avr_find_section_for_address): New function.
3292 (avr_elf32_load_records_from_section): New function.
3293 (avr_elf32_load_property_records): New function.
3294 (avr_elf32_property_record_name): New function.
3295
fdd410ac
AB
32962015-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3297
3298 * elf32-avr.h (AVR_PROPERTY_RECORD_SECTION_NAME): Define.
3299 (AVR_PROPERTY_RECORDS_VERSION): Define.
3300 (AVR_PROPERTY_SECTION_HEADER_SIZE): Define.
3301 (struct avr_property_record): New structure.
3302
685080f2
NC
33032015-02-24 Nick Clifton <nickc@redhat.com>
3304
3305 * elf32-v850.c (v850_set_note): New function. Creates a Renesas
3306 style note entry.
3307 (v850_elf_make_note_section): New function. Creates a note
3308 section.
3309 (v850_elf_create_sections): New function. Create a note section
3310 if one is not already present.
3311 (v850_elf_set_note): New function. Adds a note to a bfd.
3312 (v850_elf_copy_private_bfd_data): New function. Copies V850
3313 notes.
3314 (v850_elf_merge_notes): New function. Merges V850 notes.
3315 (print_v850_note): New function. Displays a V850 note.
3316 (v850_elf_print_notes): New function. Displays all notes attached
3317 to a bfd.
3318 (v850_elf_merge_private_bfd_data): Call v850_elf_merge_notes.
3319 (v850_elf_print_private_bfd_data): Call v850_elf_print_notes.
3320 (v850_elf_fake_sections): Set the type of the V850 note section.
3321 * bfd-in.h (v850_elf_create_sections): Add prototype.
3322 (v850_elf_set_note): Add prototype.
3323 * bfd-in2.h: Regenerate.
3324
31593e1b
NC
33252015-02-24 Nick Clifton <nickc@redhat.com>
3326
3327 * configure.ac (AC_CHECK_HEADERS): Add wctype.h.
3328 * configure: Regenerate.
3329 * config.in: Regenerate.
3330 * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined.
3331 (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined.
3332 (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H
3333 is defined.
3334
3ad797fd
NC
33352015-02-24 Nick Clifton <nickc@redhat.com>
3336
3337 * pdp11.c (set_section_contents): Pad the .text and .data sections
3338 to their aligned sizes.
3339
5518c738
YS
33402015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
3341
3342 * config.bfd: Add h8300-*-linux.
3343 * configure.ac: Add h8300_elf32_linux_vec.
3344 * configure: Regenerate.
3345 * elf32-h8300.c: Likewise.
3346 * targets.c(_bfd_target_vector): Likewise.
3347
cb967f0d
NC
33482015-02-23 Nick Clifton <nickc@redhat.com>
3349
3350 PR 17914
3351 * cpu-w65.c: Correct typos in license notice.
3352
0f8f0c57
NC
3353 PR 17940
3354 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust debug
3355 symbols at end of sections. Adjust function sizes.
3356
4ef9f41a
AA
33572015-02-20 Andreas Arnez <arnez@linux.vnet.ibm.com>
3358
3359 * elf-bfd.h (elfcore_write_s390_vxrs_low): Add prototype.
3360 (elfcore_write_s390_vxrs_high): Likewise.
3361 * elf.c (elfcore_grok_s390_vxrs_low): New function.
3362 (elfcore_grok_s390_vxrs_high): New function.
3363 (elfcore_grok_note): Call them.
3364 (elfcore_write_s390_vxrs_low): New function.
3365 (elfcore_write_s390_vxrs_high): New function.
3366 (elfcore_write_register_note): Call them.
3367
837914ee
BD
33682015-02-19 Branko Drevensek <branko.drevensek@gmail.com>
3369
3370 PR 17995
3371 * verilog.c (verilog_write_record): Correct buffer size.
3372
cf18fda4
AM
33732015-02-19 Alan Modra <amodra@gmail.com>
3374
3375 * elflink.c (_bfd_elf_define_linkage_sym): Set 'bed' earlier.
3376
d983c8c5
AM
33772015-02-19 Alan Modra <amodra@gmail.com>
3378
3379 PR ld/4317
3380 * elflink.c (elf_link_input_bfd): Drop undefined local syms.
3381 (elf_link_output_extsym): Drop local and global undefined syms.
3382 Tidy. Expand comment.
3383
2ec55de3
AM
33842015-02-17 Alan Modra <amodra@gmail.com>
3385
3386 PR ld/17975
3387 * elflink.c (struct elf_outext_info): Remove need_second_pass
3388 and second_pass.
3389 (elf_link_output_extsym): Delete code handling second forced
3390 local pass. Move code emitting NULL STT_FILE symbol later, so
3391 that it can be omitted if forced local is stripped. Don't
3392 emit the NULL STT_FILE if no file symbols have been output.
3393 (bfd_elf_final_link): Remove second forced local pass.
3394 * elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
3395 (ppc_elf_size_dynamic_sections): Likewise.
3396 * elf64-ppc.c (ppc_build_one_stub): Likewise.
3397 (build_global_entry_stubs): Likewise.
3398 (ppc64_elf_build_stubs): Likewise.
3399
6dfb72b9
L
34002015-02-16 H.J. Lu <hongjiu.lu@intel.com>
3401
3402 PR ld/17975
3403 * elflink.c (elf_link_output_extsym): Only check filesym_count
3404 when outputting a NULL FILE symbol. Set second_pass_sym to
3405 h->forced_local && !h->root.linker_def.
3406
576fa883
L
34072015-02-15 H.J. Lu <hongjiu.lu@intel.com>
3408
3409 * elf32-i386.c (elf_i386_always_size_sections): Set root.linker_def
3410 on _TLS_MODULE_BASE_.
3411 * elf64-x86-64.c (elf_x86_64_always_size_sections): Likewise.
3412
62f8d217
AM
34132015-02-15 Alan Modra <amodra@gmail.com>
3414
3415 * dwarf2.c (read_rangelist): Correct buffer overflow check
3416 Whitespace throughout file.
3417
ce875075
AM
34182015-02-14 Alan Modra <amodra@gmail.com>
3419
3420 PR ld/17973
3421 * bfd.c (struct bfd): Add lto_output.
3422 * linker.c (_bfd_handle_already_linked): Explicitly test for
3423 objects added by the lto plugin.
3424 * opncls.c (_bfd_new_bfd_contained_in): Copy lto_output and
3425 no_export flags from archive.
3426 * archive.c (open_nested_file): New function, setting lto_output
3427 and no_export, extracted from..
3428 (find_nested_archive): ..here. Flip params. Rename from
3429 _bfd_find_nested_archive.
3430 (_bfd_get_elt_at_filepos): Correct var typo. Use open_nested_file.
3431 (_bfd_look_for_bfd_in_cache): Copy no_export.
3432 * elflink.c (elf_link_add_object_symbols): Remove now unnecessary
3433 my_archive->no_export test.
3434 (elf_link_input_bfd): Drop existing lto_output STT_FILE syms.
3435 Don't use the file name when adding lto_output STT_FILE sym.
3436 * bfd-in2.h: Regenerate.
3437
451dfd38
AM
34382015-02-13 Alan Modra <amodra@gmail.com>
3439
3440 PR binutils/17512
3441 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
3442 now redundant assert.
3443
dbb3fbbb
NC
34442015-02-12 Nick Clifton <nickc@redhat.com>
3445
3446 PR binutils/17512
3447 * dwarf.c (read_1_byte, read_1_signed_byte, read_2_bytes)
3448 (read_4_bytes, read_8_bytes, read_n_bytes, read_string)
3449 (read_indirect_string, read_alt_indirect_string)
3450 (read_alt_indirect_ref, read_address, read_abbrevs)
3451 (read_attribute_value, read_attribute, decode_line_info)
3452 (find_abstract_instance_name, read_rangelist)
3453 (scan_unit_for_symbols, parse_comp_unit)
3454 (_bfd_dwarf2_find_nearest_line): Harden DWARF reading code. Pass
3455 end pointers to reading functions and check for offsets taking
3456 pointers out of range. Replace calls to read_*_leb128 with calls
3457 to safe_read_leb128.
3458
3459 (* elf64-ppc.c (opd_entry_value): Add a check for an overlarge
3460 offset.
3461 * syms.c (_bfd_stab_section_find_nearest_line): Add checks for
3462 computed file_name address being before the start of the string
3463 table.
3464
b9dc5a87
L
34652015-02-11 H.J. Lu <hongjiu.lu@intel.com>
3466
3467 PR ld/17878
3468 * bfd.c (bfd_plugin_format): New.
3469 (bfd): Add plugin_format and plugin_dummy_bfd.
3470 * plugin.c (try_load_plugin): Take a pointer to bfd_boolean
3471 argument to return TRUE if any plugin is found. Set plugin_format.
3472 (has_plugin): New.
3473 (bfd_plugin_target_p): New.
3474 (bfd_plugin_specified_p): Likewise.
3475 (bfd_plugin_target_p): Likewise.
3476 (register_ld_plugin_object_p): Likewise.
3477 (bfd_plugin_set_plugin): Set has_plugin.
3478 (load_plugin): Cache try_load_plugin result.
3479 (bfd_plugin_object_p): Try ld_plugin_object_p first. Check
3480 plugin_format.
3481 * plugin.h (bfd_plugin_target_p): New.
3482 (bfd_plugin_specified_p): Likewise.
3483 (register_ld_plugin_object_p): Likewise.
3484 * bfd-in2.h: Regenerated.
3485
55172d69
PA
34862015-02-11 Pedro Alves <palves@redhat.com>
3487
3488 * libbfd-in.h [__cplusplus]: Open extern "C" scope.
3489 * libcoff-in.h [__cplusplus]: Open extern "C" scope.
3490 * libbfd.h: Regenerate.
3491 * libcoff.h: Regenerate.
3492
3493 * elf-bfd.h [__cplusplus]: Wrap in extern "C".
3494 * mach-o.h [__cplusplus]: Wrap in extern "C".
3495 * som.h [__cplusplus]: Wrap in extern "C".
3496
77ef8654
NC
34972015-02-10 Nick Clifton <nickc@redhat.com>
3498
3499 PR binutils/17512
3500 * coffcode.h (styp_to_sec_flags): Use an unsigned long type to
3501 hold the flag bits.
3502 * peXXigen.c (pe_print_reloc): Use unsigned types to hold the
3503 size and number of relocs.
3504 (pe_print_debugdata): Use a 32-bit aligned buffer to store the
3505 codeview record.
3506 * versados.c (process_otr): Check the esdid value before using it
3507 to access the EDATA.
3508
35181b3e
EM
35092015-02-09 Ed Maste <emaste@freebsd.org>
3510
3511 * elf32-i386.c (elf_i386_get_plt_sym_val): Avoid incrementing
3512 uninitialized and unused variable.
3513 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3514
989f9879
AM
35152015-02-09 Alan Modra <amodra@gmail.com>
3516
3517 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault on NULL
3518 tls_sec.
3519 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3520 * elflink.c (elf_link_output_extsym): Don't assert on NULL tls_sec.
3521
ca4be51c
AM
35222015-02-09 Alan Modra <amodra@gmail.com>
3523
3524 * elflink.c: Whitespace, formatting fixes.
3525 (elf_link_input_bfd): Clarify comment.
3526 (elf_link_output_extsym): Exclude symbols in linker created
3527 sections when testing for plugin symbols.
3528
1952c5cd
L
35292015-02-07 H.J. Lu <hongjiu.lu@intel.com>
3530
3531 PR ld/17935
3532 * elf32-i386.c (elf_i386_readonly_dynrelocs): Also issue a
3533 warning for relocation in readonly section for -z text.
3534 (elf_i386_size_dynamic_sections): Likewise.
3535 * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
3536 (elf_x86_64_size_dynamic_sections): Likewise.
3537
9e2dec47
L
35382015-02-06 H.J. Lu <hongjiu.lu@intel.com>
3539
3540 PR ld/12365
3541 PR ld/14272
3542 * elflink.c (_bfd_elf_fix_symbol_flags): Revert the last change.
3543 (elf_link_input_bfd): Mark the plugin symbol undefined if it is
3544 referenced from a non-IR file.
3545
5929c344
NC
35462015-02-06 Nick Clifton <nickc@redhat.com>
3547
3548 PR binutils/17512
3549 * peXXigen.c (rsrc_print_resource_entries): Add range check for
3550 addresses that wrap around the address space.
3551 (rsrc_parse_entry): Likewise.
3552
60f79275
L
35532015-02-03 H.J. Lu <hongjiu.lu@intel.com>
3554
3555 PR ld/12365
3556 PR ld/14272
3557 * elflink.c (_bfd_elf_fix_symbol_flags): Mark the plugin symbol
3558 undefined if it is referenced from a non-IR file.
3559
64d29018
NC
35602015-02-03 Nick Clifton <nickc@redhat.com>
3561
3562 PR binutils/17512
3563 * ecoff.c: Use bfd_alloc2 to allocate space for structure arrays.
3564 (_bfd_ecoff_slurp_symbol_table): Check for a negative symbol
3565 index or an out of range fdr index.
3566 * elf-m10300.c (mn10300_info_to_howto): Fix typo in error message.
3567 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
3568 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
3569 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
3570 * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
3571 * elf32-cris.c (cris_info_to_howto_rela): Likewise.
3572 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3573 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
3574 * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
3575 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
3576 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
3577 * elf32-frv.c (frv_info_to_howto_rela): Likewise.
3578 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3579 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
3580 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
3581 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
3582 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
3583 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
3584 * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
3585 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
3586 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
3587 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3588 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
3589 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
3590 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3591 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
3592 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
3593 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
3594 * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
3595 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
3596 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3597 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3598 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
3599 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
3600 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3601 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3602 * elf32-v850.c (v850_elf_perform_relocation): Likewise.
3603 * elf32-vax.c (rtype_to_howto): Likewise.
3604 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
3605 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
3606 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
3607 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3608 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
3609 * mach-o.c: Use bfd_alloc2 to allocate space for structure arrays.
3610 (bfd_mach_o_canonicalize_one_reloc): Fix check on out
3611 of range symbol indicies.
3612 (bfd_mach_o_canonicalize_relocs): Check for out of range alloc.
3613 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise.
3614 (bfd_mach_o_build_dysymtab): Likewise.
3615 (bfd_mach_o_write_symtab_content): Set the string table size to
3616 zero upon error.
3617 (bfd_mach_o_read_symtab_symbols): Reset the nsyms value if the
3618 read fails.
3619 * peXXigen.c (pe_print_edata): Check for numeric overflow in edt
3620 fields.
3621 * tekhex.c (first_phase): Check for src pointer reaching end of
3622 buffer.
3623
3a635617
WN
36242015-02-03 Will Newton <will.newton@linaro.org>
3625
46b87d49
WN
3626 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
3627 Set st_value to zero for undefined symbols if the reference
3628 is weak or pointer_equality_needed is FALSE.
3629
3a635617
WN
3630 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Improve
3631 comment discussing why we clear st_value for some symbols.
3632
0c4bd9d9
KLC
36332015-02-02 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3634
3635 * elf32-nds32.c (nds32_get_section_contents): Add one more argument.
3636 (nds32_elf_relocate_section): Do not relocate R_NDS32_LONGJUMP7.
3637
b86ac8e3
AM
36382015-01-29 Alan Modra <amodra@gmail.com>
3639
3640 * elf64-ppc.c (ppc64_elf_relocate_section): Correct GOT_TLSLD
3641 optimization. Tidy mask for GOT_TLSGD optimization.
3642 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Correct
3643 location of nop zapping high insn too.
3644
dbd1e97e
AM
36452015-01-28 Alan Modra <amodra@gmail.com>
3646
3647 * elf64-ppc.h (struct ppc64_elf_params): Add "object_in_toc".
3648 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Assume that global symbols
3649 in .toc indicate xlc compiled code that might require a rw .toc.
3650
3f8107ab
AM
36512015-01-28 James Bowman <james.bowman@ftdichip.com>
3652
3653 * Makefile.am: Add FT32 files.
3654 * archures.c (enum bfd_architecture): Add bfd_arch_ft32.
3655 (bfd_mach_ft32): Define.
3656 (bfd_ft32_arch): Declare.
3657 (bfd_archures_list): Add bfd_ft32_arch.
3658 * config.bfd: Handle FT32.
3659 * configure.ac: Likewise.
3660 * cpu-ft32.c: New file.
3661 * elf32-ft32.c: New file.
3662 * reloc.c (BFD_RELOC_FT32_10, BFD_RELOC_FT32_20, BFD_RELOC_FT32_17,
3663 BFD_RELOC_FT32_18): Define.
3664 * targets.c (_bfd_target_vector): Add ft32_elf32_vec.
3665 * bfd-in2.h: Regenerate.
3666 * libbfd.h: Regenerate.
3667 * Makefile.in: Regenerate.
3668 * configure: Regenerate.
3669 * po/SRC-POTFILES.in: Regenerate.
3670
37e3922e
NC
36712015-01-27 Nick Clifton <nickc@redhat.com>
3672
3673 PR binutils/17512
3674 * pdp11.c (aout_get_external_symbols): Return false if there are
3675 no symbols.
3676
877a8638
NC
3677 * dwarf2.c (concat_filename): Check for an empty directory table.
3678 (scan_unit_for_symbols): Check for reading off the end of the
3679 unit.
3680 (parse_comp_unit): Check for a DW_AT_comp_dir attribute with a
3681 non-string form.
3682 * elf64-ppc.c (opd_entry_value): Fail if there are no relocs
3683 available.
3684
18393a2e
KLC
36852015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3686
3687 * elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
3688
055173ca
DD
36892015-01-22 DJ Delorie <dj@redhat.com>
3690
3691 * elf32-m32c.c (m32c_apply_reloc_24): New.
3692 (m32c_elf_howto_table): Use it for R_M32C_24.
3693 (m32c_elf_relocate_section): Handle R_M32C_24 specially.
3694
4e5cb37e
NC
36952015-01-22 Nick Clifton <nickc@redhat.com>
3696
3697 PR binutils/17512
3698 * coffcode.h (handle_COMDAT): When searching for the section
3699 symbol, make sure that there is space left in the symbol table.
3700 * vms-alpha.c (_bfd_vms_slurp_ehdr): Add range checks.
3701
86eafac0
NC
37022015-01-21 Nick Clifton <nickc@redhat.com>
3703
3704 PR binutils/17512
3705 * coffcode.h (coff_set_arch_mach_hook): Check return value from
3706 bfd_malloc.
3707 (coff_slurp_line_table): Return FALSE if the line number
3708 information was corrupt.
3709 (coff_slurp_symbol_table): Return FALSE if the symbol information
3710 was corrupt.
3711 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
3712 initialise the fields of the dyld_info structure.
3713 (bfd_mach_o_build_exec_seg_command): Replace assertion with an
3714 error message and a return value.
3715 (bfd_mach_o_layout_commands): Change the function to boolean.
3716 Return FALSE if the function fails.
3717 (bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
3718 fails.
3719 (bfd_mach_o_read_command): Fail if an unrecognised command is
3720 encountered.
3721 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
3722 read fails.
3723 (slurp_symtab): Check the return from bfd_malloc.
3724 (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
3725 encountered an error.
3726 (_bfd_XXi_final_link_postscript): Fail if a section could not be
3727 copied.
3728 * peicode.h (pe_bfd_object_p): Fail if the header could not be
3729 swapped in.
3730 * tekhex.c (first_phase): Fail if the section is too big.
3731 * versados.c (struct esdid): Add content_size field.
3732 (process_otr): Use and check the new field.
3733 (versados_get_section_contents): Check that the section exists and
3734 that the requested data is available.
3735
03d5b773
CLT
37362015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
3737
3738 * elf32-nios2.c (elf_backend_default_execstack): Define as 0.
3739
1c9177d9
AM
37402015-01-20 Alan Modra <amodra@gmail.com>
3741
3742 PR ld/17615
3743 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Don't drop
3744 ELF_COMMON_DEF syms.
3745
c4621b33
AM
37462015-01-19 Alan Modra <amodra@gmail.com>
3747
3e2aa5bb 3748 PR ld/17615
c4621b33
AM
3749 * elf-bfd.h (ELF_COMMON_DEF_P): Note that this might be true for
3750 linker script assignments too.
3751 * elflink.c (elf_gc_sweep_symbol): Don't drop ELF_COMMON_DEF syms.
3752 (bfd_elf_gc_mark_dynamic_ref_symbol): Similarly.
3753
0ba38529
AM
37542015-01-19 Alan Modra <amodra@gmail.com>
3755
3756 * elf32-bfin.c (bfin_bfd_reloc_type_lookup): Correct loop iteration
3757 to allow return of first howto.
3758 * elf32-fr30.c (fr30_reloc_type_lookup): Likewise.
3759 * elf32-m32c.c (m32c_reloc_type_lookup): Likewise.
3760 * elf32-moxie.c (moxie_reloc_type_lookup): Likewise.
3761 * elf32-or1k.c (or1k_reloc_type_lookup): Likewise.
3762 * elf32-rl78.c (rl78_reloc_type_lookup): Likewise.
3763 * elf32-rx.c (rx_reloc_type_lookup): Likewise.
3764 * elf32-tilepro.c (tilepro_reloc_type_lookup): Likewise.
3765 * elf32-xstormy16.c (xstormy16_reloc_type_lookup): Likewise.
3766 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
3767 * elf32-nios2.c (nios2_reloc_map): Add mapping for R_NIOS2_NONE.
3768 * elf32-spu.c (spu_elf_bfd_to_reloc_type): Allow return of R_SPU_NONE.
3769 (spu_elf_reloc_type_lookup): Adjust to suit.
3770
6346d5ca
AM
37712015-01-19 Alan Modra <amodra@gmail.com>
3772
3773 * bfd-in.h (bfd_get_section_limit_octets): New define, extracted from..
3774 (bfd_get_section_limit): ..here.
3775 * reloc.c (bfd_perform_relocation): Correct bfd_reloc_outofrange check.
3776 (bfd_install_relocation, _bfd_final_link_relocate): Add same check here.
3777 * elf32-sh.c (sh_elf_reloc): Correct bfd_reloc_outofrange check.
3778 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Remove duplicated
3779 bfd_reloc_outofrange check.
3780 * bfd-in2.h: Regenerate.
3781
3782 * cpu-ns32k.c (_bfd_do_ns32k_reloc_contents): Return bfd_reloc_ok
3783 on zero size relocs.
3784 * ecoff.c (ecoff_reloc_link_order): Likewise.
3785 * elf32-nds32.c (nds32_relocate_contents): Likewise.
3786 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3787
3788 * reloc.c (_bfd_relocate_contents): Don't bomb on zero size relocs.
3789 (_bfd_clear_contents): Likewise.
3790 * elfxx-mips.c (mips_elf_obtain_contents): Likewise.
3791 (mips_elf_perform_relocation): Likewise.
3792
3793 * aoutx.h (aout_link_reloc_link_order): Allow for NULL return
3794 from malloc on zero size alloc.
3795 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
3796 * elflink.c (elf_reloc_link_order): Likewise.
3797 * linker.c (_bfd_generic_reloc_link_order): Likewise.
3798 * pdp11.c (aout_link_reloc_link_order): Likewise.
3799 * xcofflink.c (xcoff_reloc_link_order): Likewise.
3800
3801 * aoutx.h (howto_table_ext): Ensure NONE relocs have size 3,
3802 bitsize 0, and complain_overflow_dont.
3803 * coff-sparc.c (coff_sparc_howto_table): Likewise.
3804 * elf-hppa.h (elf_hppa_howto_table): Likewise.
3805 * elf-m10200.c (elf_mn10200_howto_table): Likewise.
3806 * elf-m10300.c (elf_mn10300_howto_table): Likewise.
3807 * elf32-arc.c (elf_arc_howto_table): Likewise.
3808 * elf32-arm.c (elf32_arm_howto_table_1): Likewise.
3809 * elf32-avr.c (elf_avr_howto_table): Likewise.
3810 * elf32-bfin.c (bfin_howto_table): Likewise.
3811 * elf32-cr16.c (cr16_elf_howto_table): Likewise.
3812 * elf32-cris.c (cris_elf_howto_table): Likewise.
3813 * elf32-crx.c (crx_elf_howto_table): Likewise.
3814 * elf32-d10v.c (elf_d10v_howto_table): Likewise.
3815 * elf32-d30v.c (elf_d30v_howto_table): Likewise.
3816 * elf32-dlx.c (dlx_elf_howto_table): Likewise.
3817 * elf32-epiphany.c (epiphany_elf_howto_table): Likewise.
3818 * elf32-fr30.c (fr30_elf_howto_table): Likewise.
3819 * elf32-frv.c (elf32_frv_howto_table): Likewise.
3820 * elf32-h8300.c (h8_elf_howto_table): Likewise.
3821 * elf32-i370.c (i370_elf_howto_raw): Likewise.
3822 * elf32-i386.c (elf_howto_table): Likewise.
3823 * elf32-i860.c (elf32_i860_howto_table): Likewise.
3824 * elf32-i960.c (elf32_i960_relocate): Likewise.
3825 * elf32-ip2k.c (ip2k_elf_howto_table): Likewise.
3826 * elf32-iq2000.c (iq2000_elf_howto_table): Likewise.
3827 * elf32-lm32.c (lm32_elf_howto_table): Likewise.
3828 * elf32-m32c.c (m32c_elf_howto_table): Likewise.
3829 * elf32-m32r.c (m32r_elf_howto_table): Likewise.
3830 * elf32-m68hc11.c (elf_m68hc11_howto_table): Likewise.
3831 * elf32-m68hc12.c (elf_m68hc11_howto_table): Likewise.
3832 * elf32-m68k.c (howto_table): Likewise.
3833 * elf32-mcore.c (mcore_elf_howto_raw): Likewise.
3834 * elf32-mep.c (mep_elf_howto_table): Likewise.
3835 * elf32-metag.c (elf_metag_howto_table): Likewise.
3836 * elf32-microblaze.c (microblaze_elf_howto_raw): Likewise.
3837 * elf32-mips.c (elf_mips_howto_table_rel): Likewise.
3838 * elf32-moxie.c (moxie_elf_howto_table): Likewise.
3839 * elf32-msp430.c (elf_msp430_howto_table): Likewise.
3840 * elf32-mt.c (mt_elf_howto_table): Likewise.
3841 * elf32-nds32.c (nds32_elf_howto_table): Likewise.
3842 * elf32-nios2.c (elf_nios2_howto_table_rel): Likewise.
3843 * elf32-or1k.c (or1k_elf_howto_table): Likewise.
3844 * elf32-pj.c (pj_elf_howto_table): Likewise.
3845 * elf32-ppc.c (ppc_elf_howto_raw): Likewise.
3846 * elf32-rl78.c (rl78_elf_howto_table): Likewise.
3847 * elf32-rx.c (rx_elf_howto_table): Likewise.
3848 * elf32-s390.c (elf_howto_table): Likewise.
3849 * elf32-score.c (elf32_score_howto_table): Likewise.
3850 * elf32-score7.c (elf32_score_howto_table): Likewise.
3851 * elf32-sh-relocs.h (R_SH_NONE): Likewise.
3852 * elf32-spu.c (elf_howto_table): Likewise.
3853 * elf32-tic6x.c (elf32_tic6x_howto_table): Likewise.
3854 * elf32-tilepro.c (tilepro_elf_howto_table): Likewise.
3855 * elf32-v850.c (v850_elf_howto_table): Likewise.
3856 * elf32-vax.c (howto_table): Likewise.
3857 * elf32-visium.c (visium_elf_howto_table): Likewise.
3858 * elf32-xc16x.c (xc16x_elf_howto_table): Likewise.
3859 * elf32-xgate.c (elf_xgate_howto_table): Likewise.
3860 * elf32-xstormy16.c (xstormy16_elf_howto_table): Likewise.
3861 * elf32-xtensa.c (elf_howto_table): Likewise.
3862 * elf64-alpha.c (elf64_alpha_howto_table): Likewise.
3863 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
3864 * elf64-mmix.c (elf_mmix_howto_table): Likewise.
3865 * elf64-ppc.c (ppc64_elf_howto_raw): Likewise.
3866 * elf64-s390.c (elf_howto_table): Likewise.
3867 * elf64-sh64.c (sh_elf64_howto_table): Likewise.
3868 * elf64-x86-64.c (x86_64_elf_howto_table): Likewise.
3869 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
3870 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Likewise.
3871 (elfNN_aarch64_howto_none): Likewise.
3872 * elfxx-ia64.c (ia64_howto_table): Likewise.
3873 * elfxx-sparc.c (_bfd_sparc_elf_howto_table): Likewise.
3874 * elfxx-tilegx.c (tilegx_elf_howto_table): Likewise.
3875 * nlm32-sparc.c (nlm32_sparc_howto_table): Likewise.
3876
6333bc0d
L
38772015-01-15 H.J. Lu <hongjiu.lu@intel.com>
3878
3879 PR ld/17847
3880 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't complain
3881 about -fPIC if the symbol is undefined when building executable.
3882
cd21f5da
NC
38832015-01-15 Nick Clifton <nickc@redhat.com>
3884
3885 PR binutils/17512
3886 * elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
3887 error message. Never return an invalid howto pointer.
3888 * elf32-cr16.c (cr16_info_to_howto): Likewise.
3889 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3890 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3891 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3892 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3893 * elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
3894 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3895 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3896 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3897 * elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
3898 * elf32-vax.c (rtype_to_howto): Likewise.
3899 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3900 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
3901 * elfn32-mips.c (sh_elf_info_to_howto): Likewise.
3902 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3903 (sh_elf_reloc): Check that the reloc is in range.
3904 * reloc.c (bfd_perform_relocation): Check that the section is big
3905 enough for the entire reloc.
3906 (bfd_generic_get_relocated_section_contents): Report unexpected
3907 return values from perform_reloc.
3908
2d071cfc
NC
39092015-01-15 Nick Clifton <nickc@redhat.com>
3910
3911 * elf32-msp430.c (msp430_elf_relax_section): Skip unhandled
3912 relocs. Include PC-relative adjustment for R_MSP430X_ABS16
3913 relaxation.
3914
ca55926c
AM
39152015-01-15 Alan Modra <amodra@gmail.com>
3916
3917 * elflink.c (_bfd_elf_link_omit_section_dynsym): Return true for
3918 any output section matching a linker created dynobj section.
3919
8539e4e8
AM
39202015-01-15 Alan Modra <amodra@gmail.com>
3921
3922 PR 17842
3923 * elflink.c (elf_link_output_sym): Assert elf_onesymtab set.
3924 (bfd_elf_final_link): Always create a symbol table when emit_relocs.
3925 Don't assign symtab file position unless symbols will be output.
3926 Merge blocks with condition in common. Don't call
3927 elf_backend_output_arch_local_syms or elf_backend_output_arch_syms
3928 unless other symbols are output. Move assignment of symtab_shndx
3929 file position. Localize variable.
3930
52db4ec2
JW
39312015-01-14 Jiong Wang <jiong.wang@arm.com>
3932
3933 * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when
3934 trying to defer them to runtime.
3935
0941db69
JW
39362015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3937
3938 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
3939 to check if a symbol should be bound symbolically.
3940
0172429c
JW
39412015-01-13 Jiong Wang <jiong.wang@arm.com>
3942
3943 * elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
3944 for TLSLE_MOVW_TPREL_G2.
3945
bab91cce
JW
39462015-01-13 Jiong Wang <jiong.wang@arm.com>
3947
3948 PR ld/17415
3949 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Mark
3950 R_AARCH64_TLSLE_ADD_TPREL_HI12 as complain_overflow_unsigned.
3951 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Correct the
3952 bit mask.
3953
3c758495
TG
39542015-01-12 Terry Guo <terry.guo@arm.com>
3955
3956 * elflink.c (_bfd_elf_gc_mark_debug_special_section_group): New
3957 function.
3958 (_bfd_elf_gc_mark_extra_sections): Use it.
3959
9d1d54d5
L
39602015-01-11 H.J. Lu <hongjiu.lu@intel.com>
3961
3962 PR ld/17827
3963 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): For PIE,
3964 only discard space for pc-relative relocs symbols which turn
3965 out to need copy relocs.
3966
c6e8e93a
NC
39672015-01-09 Nick Clifton <nickc@redhat.com>
3968
3969 * tekhex.c (getvalue): Fix thinko in test for correct extraction
3970 of value.
3971 (getsym): Return false if there was not enough data to extract the
3972 symbol.
3973
400cf8cb
AG
39742015-01-09 Anthony Green <green@moxielogic.com>
3975
3976 * elf32-moxie.c (ELF_MACHINE_ALT1): Define.
3977
23d4663e
NC
39782015-01-08 Nick Clifton <nickc@redhat.com>
3979
3980 * elf32-msp430.c (msp430_elf_relax_section): Add relaxation of
3981 16-bit absolute BR instructions to 10-bit pc-relative JMP
3982 instructions.
3983
063bb025
NC
39842015-01-08 Nick Clifton <nickc@redhat.com>
3985
3986 PR binutils/17512
3987 * coffcode.h (coff_slurp_symbol_table): Return false if we failed
3988 to load the line table.
3989 * elf.c (_bfd_elf_map_sections_to_segments): Enforce a minimum
3990 maxpagesize of 1.
3991 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Fail if
3992 the Data Directory Size is too large.
3993
6f25f223
L
39942015-01-06 H.J. Lu <hongjiu.lu@intel.com>
3995
3996 PR binutils/17512
3997 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocation.
3998 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
3999
85880250
NC
40002015-01-06 Nick Clifton <nickc@redhat.com>
4001
4002 PR binutils/17512
e7287c7f
NC
4003 * mach-o.c (bfd_mach_o_read_symtab_strtab): Zero terminate the
4004 string table.
4005
ec93045b
NC
4006 * reloc.c (bfd_get_reloc_size): Handle a reloc size of -1.
4007 (bfd_perform_relocation): Include the size of the reloc in the
4008 test for an out of range relocation.
4009 (bfd_generic_get_relocated_section_contents): Remove reloc range
4010 test.
4011
85880250
NC
4012 * coff-i860.c (CALC_ADDEND): Always set an addend value.
4013 * tekhex.c (getvalue): Add an end pointer parameter. Use it to
4014 avoid reading off the end of the buffer.
4015 (getsym): Likewise.
4016 (first_phase): Likewise.
4017 (pass_over): Pass an end pointer to the invoked function.
4018
533d0af0
L
40192015-01-05 H.J. Lu <hongjiu.lu@intel.com>
4020
4021 PR binutils/17512
4022 * elf32-i386.c (elf_i386_get_plt_sym_val): Return NULL on corrupt
4023 input.
4024 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
4025
896ca098
NC
40262015-01-05 Nick Clifton <nickc@redhat.com>
4027
4028 PR binutils/17512
4029 * archive.c (do_slurp_bsd_armap): Make sure that the parsed sized
4030 is at least big enough for the header to be read.
4031 * elf32-i386.c (elf_i386_get_plt_sym_val): Skip unknown relocs.
4032 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add range checks.
4033 (bfd_mach_o_read_command): Prevetn duplicate error messages about
4034 unrecognized commands.
4035 * syms.c (_bfd_stab_section_find_nearest_line): Add range checks
4036 when indexing into the string table.
4037
b90efa5b 40382015-01-01 Alan Modra <amodra@gmail.com>
ee3b52e9 4039
b90efa5b 4040 Update year range in copyright notice of all files.
ee3b52e9 4041
b90efa5b 4042For older changes see ChangeLog-2014
56882138 4043\f
b90efa5b 4044Copyright (C) 2015 Free Software Foundation, Inc.
752937aa
NC
4045
4046Copying and distribution of this file, with or without modification,
4047are permitted in any medium without royalty provided the copyright
4048notice and this notice are preserved.
4049
56882138
AM
4050Local Variables:
4051mode: change-log
4052left-margin: 8
4053fill-column: 74
4054version-control: never
4055End:
This page took 0.989451 seconds and 4 git commands to generate.