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