ChangeLog revision 1.4.6.1 1 2013-03-25 Tristan Gingold <gingold (a] adacore.com>
2
3 * configure.in: Bump version to 2.23.2
4 * Makefile.am (RELEASE): Set.
5 * configure, Makefile.in: Regenerate.
6
7 2013-03-04 Alan Modra <amodra (a] gmail.com>
8
9 * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
10 non-zero addends when relocatable, rather than addends >= 32768.
11 Always zero "addend" before applying relocation.
12
13 2013-02-18 Alan Modra <amodra (a] gmail.com>
14
15 PR ld/12549
16 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
17 (_bfd_elf_strtab_clear_all_refs): Declare.
18 (_bfd_elf_strtab_resize): Declare.
19 * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
20 (_bfd_elf_strtab_clear_all_refs): New function.
21 (_bfd_elf_strtab_resize): Likewise.
22 * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
23
24 2013-02-11 Richard Sandiford <rdsandiford (a] googlemail.com>
25
26 * elfxx-mips.c (mips_elf_recreate_got): Remove free.
27 (mips_elf_resolve_final_got_entries): Remove bogus comment.
28
29 2013-02-10 Alan Modra <amodra (a] gmail.com>
30
31 PR ld/15113
32 * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
33
34 2013-02-08 Alan Modra <amodra (a] gmail.com>
35
36 PR binutils/15106
37 * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
38 * elf.c (elf_find_function): Revert last change. Use new
39 tdata field rather than static vars for cache.
40
41 2013-02-07 Roberto Agostino Vitillo <ra.vitillo (a] gmail.com>
42
43 PR binutils/15106
44 * elf.c (elf_find_function): Don't cache if symbols change.
45
46 2013-02-07 Alan Modra <amodra (a] gmail.com>
47
48 PR binutils/14873
49 * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
50 copy attributes from or to non-ELF.
51
52 2013-02-01 Alan Modra <amodra (a] gmail.com>
53
54 * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
55 clears def_regular.
56
57 2013-01-31 Alan Modra <amodra (a] gmail.com>
58 David S. Miller <davem (a] davemloft.net>
59
60 PR ld/15056
61 * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
62 references to __tls_get_addr.
63 * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct
64 vtinherit and vtentry reloc handling too.
65 * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
66
67 2013-01-31 Alan Modra <amodra (a] gmail.com>
68
69 * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
70
71 2013-01-28 Alan Modra <amodra (a] gmail.com>
72 * elf64-ppc.c: Use %T to print symbols names and remove redundant
73 "relocation" in error messages throughout file.
74 (ppc64_elf_relocate_section): Remove sibling call error message,
75 replace with "call lacks nop". Specially report errors for
76 branches to function entry points via OPD lookup and branches
77 to stubs. Remove NULL symbol handling now done by %T.
78
79 2013-01-22 Alan Modra <amodra (a] gmail.com>
80
81 Apply mainline patches
82 2013-01-15 Alan Modra <amodra (a] gmail.com>
83 * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
84 plt-thread-safe.
85
86 2013-01-14 Alan Modra <amodra (a] gmail.com>
87 PR binutils/14813
88 * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
89 (memory_bclose): Likewise. Return 0 on success.
90 * cache.c (cache_bclose): Likewise.
91 * opncls.c (opncls_bclose, bfd_close): Likewise.
92 * vms-lib.c (vms_lib_bclose): Likewise.
93 * libbfd.h: Regenerate.
94
95 2013-01-13 Alan Modra <amodra (a] gmail.com>
96 * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
97 Add ref_dynamic_nonweak.
98 * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
99 (_bfd_elf_merge_symbol): Don't call above function. Move
100 setting of ref_dynamic_nonweak and dynamic_def earlier. Don't
101 clear dynamic_def.
102 (elf_link_add_object_symbols): Delete redundant "override" test.
103 Don't set dynamic_def here.
104 (elf_link_output_extsym): Update.
105
106 2013-01-12 Alan Modra <amodra (a] gmail.com>
107 * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
108 * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
109 * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
110
111 2013-01-12 Alan Modra <amodra (a] gmail.com>
112 PR ld/12549
113 * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
114 (_bfd_elf_strtab_clear_all_refs): Define.
115 * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
116 (_bfd_elf_strtab_clear_all_refs): Delete.
117 * elflink.c (elf_link_add_object_symbols): Clear out added
118 strtab refs. Correct handling of warning common symbols.
119
120 2012-12-19 H.J. Lu <hongjiu.lu (a] intel.com>
121 * elf32-i386.c (elf_i386_relocate_section): Replace
122 bfd_elf32_swap_reloc_out with elf_append_rel.
123 (elf_i386_finish_dynamic_symbol): Likewise.
124 * elflink.c (elf_append_rel): Call swap_reloc_out instead of
125 swap_reloca_out.
126
127 2012-12-18 Alan Modra <amodra (a] gmail.com>
128 * elf.c (swap_out_syms): Set shndx to SHN_ABS when not one of
129 the special MAP_* values.
130
131 2012-12-07 Alan Modra <amodra (a] gmail.com>
132 PR ld/14926
133 * elf.c (_bfd_elf_map_sections_to_segments): Include elf header
134 size when determining phdr_in_segment.
135
136 2012-12-05 Alan Modra <amodra (a] gmail.com>
137 * elf64-ppc.c (build_plt_stub): Fix off by one error in branch
138 to glink.
139
140 2012-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
141 PR binutils/14493
142 * elf.c (copy_elf_program_header): When rewriting program
143 header, set the output maxpagesize to the maximum alignment
144 of input PT_LOAD segments.
145
146 2012-11-13 Joe Seymour <jseymour (a] codesourcery.com>
147 * elf.c (rewrite_elf_program_header): Allocate elf_segment_map
148 with bfd_zalloc, instead of bfd_alloc.
149
150 2012-11-06 H.J. Lu <hongjiu.lu (a] intel.com>
151 PR binutils/14813
152 * bfdio.c (bfd_iovec): Change return type of bclose to
153 bfd_boolean.
154 (memory_bclose): Change return type to bfd_boolean.
155 * cache.c (cache_bclose): Likewise.
156 * opncls.c (opncls_bclose): Likewise. Return TRUE on success.
157 * vms-lib.c (vms_lib_bclose): Likewise. Return TRUE.
158 * libbfd.h: Regenerated.
159
160 2012-11-06 Alan Modra <amodra (a] gmail.com>
161 PR binutils/14567
162 * opncls.c (opncls_iovec): Forward declare.
163 (_bfd_new_bfd_contained_in): If using opncls_iovec, copy iostream
164 to new bfd.
165
166 2012-11-06 Alan Modra <amodra (a] gmail.com>
167 * elf64-ppc.c (maybe_strip_output): Heed SEC_KEEP.
168
169 2012-11-05 Alan Modra <amodra (a] gmail.com>
170 * elf64-ppc.c (ppc64_elf_edit_toc): Clear "repeat" inside
171 loop. Really mark toc entry referring to another toc entry
172 only if the first is used.
173
174 2012-10-29 Alan Modra <amodra (a] gmail.com>
175 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask in
176 R_PPC_VLE_LO16A, R_PPC_VLE_HI16A, R_PPC_VLE_HA16A,
177 R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_HI16A,
178 R_PPC_VLE_SDAREL_HA16A reloc howtos.
179
180 2012-10-26 Alan Modra <amodra (a] gmail.com>
181 PR gas/14758
182 * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS
183 bfd_reloc values. Map to corresponding D-form relocs.
184 (is_insn_ds_form, is_insn_qs_form): New functions.
185 (ppc_elf_relocate_section): Validate insn with DS-form or DQ-form
186 fields using D-form reloc.
187
188 2012-10-21 Hans-Peter Nilsson <hp (a] bitrange.com>
189 * linker.c (_bfd_generic_link_output_symbols): Handle a
190 no-longer-global symbol entered as a BFD_PLUGIN.
191
192 2012-10-08 Alan Modra <amodra (a] gmail.com>
193 PR binutils/14662
194 * elf.c (_bfd_elf_make_section_from_shdr): Treat .gdb_index as
195 SEC_DEBUGGING.
196
197 2012-09-04 H.J. Lu <hongjiu.lu (a] intel.com>
198 PR binutils/14493
199 * elf.c (ignore_section_sym): Also ignore section symbols without
200 a BFD section.
201
202 2012-12-21 H.J. Lu <hongjiu.lu (a] intel.com>
203
204 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
205 R_X86_64_standard instead of R_X86_64_max for unrecognized
206 relocation.
207
208 2012-12-21 H.J. Lu <hongjiu.lu (a] intel.com>
209
210 PR ld/14980
211 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Properly
212 adjust h->plt.refcount.
213 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
214
215 2012-12-20 H.J. Lu <hongjiu.lu (a] intel.com>
216
217 PR ld/14968
218 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Also check
219 local IFUNC references.
220 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
221
222 2012-12-20 H.J. Lu <hongjiu.lu (a] intel.com>
223
224 PR ld/14956
225 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Check local
226 IFUNC calls.
227 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
228
229 2012-12-17 Roland McGrath <mcgrathr (a] google.com>
230 Alan Modra <amodra (a] gmail.com>
231
232 * elf32-arm.c (elf32_arm_size_stubs): Skip input BFDs that are
233 not ARM ELF.
234
235 2012-12-09 H.J. Lu <hongjiu.lu (a] intel.com>
236
237 PR binutils/14933
238 * archive.c (bsd_write_armap): Properly check indicies bigger than
239 4Gb.
240
241 2012-11-29 Roland McGrath <mcgrathr (a] google.com>
242
243 * elf-nacl.c (segment_eligible_for_headers): Disallow writable segments.
244
245 2012-11-26 Roland McGrath <mcgrathr (a] google.com>
246
247 * elf-nacl.c (nacl_modify_segment_map): Don't crash when INFO is null.
248
249 2012-11-21 Roland McGrath <mcgrathr (a] google.com>
250
251 * elf-nacl.c (segment_nonexecutable_and_has_contents): Renamed to ...
252 (segment_eligible_for_headers): ... this. Take new arguments
253 MAXPAGESIZE and SIZEOF_HEADERS. Return false if the first section's
254 start address doesn't leave space for the headers.
255 (nacl_modify_segment_map): Update caller.
256
257 2012-11-19 Joey Ye <joey.ye (a] arm.com>
258
259 * elf32-arm.c (elf32_arm_final_link_relocate,
260 case R_ARM_THM_ALU_PREL_11_0, case R_ARM_THM_PC12): Align address of
261 the place being relocated.
262 (elf32_arm_final_link_relocate, case R_ARM_THM_PC8): Align address
263 of the place being relocated and truncate addend.
264 (Pa): New macro.
265
266 2012-11-14 Roland McGrath <mcgrathr (a] google.com>
267
268 * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc
269 instruction for data sandboxing.
270
271 2012-11-13 Tristan Gingold <gingold (a] adacore.com>
272
273 * Makefile.am (RELEASE): Unset.
274 * Makefile.in: Regenerate.
275
276 2012-11-13 Tristan Gingold <gingold (a] adacore.com>
277
278 * configure.in: Bump version to 2.23.1
279 * Makefile.am (RELEASE): Set.
280 * configure, Makefile.in: Regenerate.
281
282 2012-11-05 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
283
284 PR target/14788
285 * elf32-s390.c (elf_s390_relocate_section): Set elf.dynobj for
286 local ifunc symbols.
287 * elf64-s390.c (elf_s390_relocate_section): Likewise.
288
289 2012-11-05 Alan Modra <amodra (a] gmail.com>
290
291 * configure.in: Apply 2012-09-10 change to config.in here.
292
293 2012-10-29 Sean Keys <skeys (a] ipdatasys.com>
294
295 * elf32-xgate.c(elf_xgate_howto_table): Fix src and dest mask for
296 R_XGATE_16
297
298 2012-10-22 Tristan Gingold <gingold (a] adacore.com>
299
300 * configure.in: Bump version to 2.23.0
301 * Makefile.am (RELEASE): Unset.
302 * configure, Makefile.in: Regenerate.
303
304 2012-10-22 Tristan Gingold <gingold (a] adacore.com>
305
306 * configure.in: Bump version to 2.23
307 * Makefile.am (RELEASE): Set.
308 * configure, Makefile.in: Regenerate.
309
310 2012-10-16 Sofiane Naci <sofiane.naci (a] arm.com>
311
312 * elf64-aarch64.c (elf64_aarch64_tls_howto_table): Fix shift value for
313 R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, R_AARCH64_TLSLE_MOVW_TPREL_G2,
314 R_AARCH64_TLSLE_MOVW_TPREL_G1, R_AARCH64_TLSLE_MOVW_TPREL_G1_NC,
315 R_AARCH64_TLSLE_ADD_TPREL_HI12.
316 (elf64_aarch64_tlsdesc_howto_table): Fix shift value for
317 R_AARCH64_TLSDESC_LD64_PREL19 and R_AARCH64_TLSDESC_OFF_G1.
318 (elf64_aarch64_final_link_relocate): Add signed_addend when resolving
319 AARCH64_TLSLE_*_TPREL_* relocations.
320
321 2012-09-20 Walter Lee <walt (a] tilera.com>
322
323 * elf32-tilepro.c (tilepro_elf_relocate_section): Adjust got
324 relocations with value of hgot.
325 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
326
327 2012-09-18 H.J. Lu <hongjiu.lu (a] intel.com>
328
329 PR ld/14591
330 * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return
331 if the old symbol is weak.
332
333 * elf32-sh-symbian.c (sh_symbian_relocate_section): Update
334 _bfd_elf_merge_symbol call.
335
336 * elflink.c (_bfd_elf_merge_symbol): Add an argument to return
337 if the old symbol is weak.
338 (_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
339 call.
340 (elf_link_add_object_symbols): Don't update symbol type from a
341 weak definition. Update symbol type from a common symbol when
342 overriding a weak symbol.
343
344 2012-09-17 Walter Lee <walt (a] tilera.com>
345
346 * elf32-tilepro.c (tilepro_elf_relocate_section): Remove unused
347 got_base variable.
348 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
349
350 2012-09-17 Walter Lee <walt (a] tilera.com>
351
352 * elf32-tilepro.c (tilepro_elf_relocate_section): Fix computation
353 of got relocations for when .got.plt section is merged with .got.
354 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
355
356 2012-09-13 Doug Kwan <dougkwan (a] google.com>
357
358 * elf64-ppc.c (ppc64_elf_relocate_section): Use pre-adjusted
359 relocation for stub lookup.
360
361 2012-09-10 Matthias Klose <doko (a] ubuntu.com>
362
363 * config.in: Disable sanity check for kfreebsd.
364
365 2012-09-07 Alan Modra <amodra (a] gmail.com>
366
367 PR ld/14464
368 * elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined
369 by a linker script in .opd to corresponding input .opd section.
370
371 2012-08-09 Maciej W. Rozycki <macro (a] codesourcery.com>
372
373 * elfxx-mips.c (LA25_LUI_MICROMIPS_1, LA25_LUI_MICROMIPS_2):
374 Remove macros, folding them into...
375 (LA25_LUI_MICROMIPS): ... this new macro.
376 (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise into...
377 (LA25_J_MICROMIPS): ... this new macro.
378 (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise
379 into...
380 (LA25_ADDIU_MICROMIPS): ... this new macro.
381 (bfd_put_micromips_32, bfd_get_micromips_32): New functions.
382 (mips_elf_create_la25_stub): Use them.
383 (check_br32_dslot, check_br32, check_relocated_bzc): Likewise.
384 (_bfd_mips_elf_relax_section): Likewise.
385
386 * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
387 not minus one.
388 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
389
390 2012-08-28 Maciej W. Rozycki <macro (a] codesourcery.com>
391
392 * elflink.c (_bfd_elf_merge_symbol): Also override the version
393 a dynamic symbol defaulted to if preempted with a hidden or
394 internal definition.
395
396 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up
397 the options section in the output rather than input BFD to
398 decide if to add a DT_MIPS_OPTIONS tag.
399
400 2012-08-13 Maciej W. Rozycki <macro (a] codesourcery.com>
401
402 * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
403 #ifdef BFD64.
404
405 2012-08-13 Maciej W. Rozycki <macro (a] codesourcery.com>
406
407 * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling
408 of protected symbols.
409
410 2012-08-06 Maciej W. Rozycki <macro (a] codesourcery.com>
411
412 * elflink.c (bfd_elf_record_link_assignment): Remove --defsym
413 symbols special case.
414
415 * elf64-mips.c (mips16_elf64_howto_table_rela): Correct src_mask
416 field initializers throughout.
417 * elfn32-mips.c (elf_mips16_howto_table_rela): Likewise.
418
419 2012-08-03 Maciej W. Rozycki <macro (a] codesourcery.com>
420
421 * elfxx-mips.c (mips_elf_perform_relocation): Update the
422 cross-mode jump message.
423
424 2012-09-04 Sergey A. Guriev <sergey.a.guriev (a] intel.com>
425
426 * cpu-ia64-opc.c (ins_cnt6a): New function.
427 (ext_cnt6a): Ditto.
428 (ins_strd5b): Ditto.
429 (ext_strd5b): Ditto.
430 (elf64_ia64_operands): Add new operand types.
431
432 2012-08-05 Maciej W. Rozycki <macro (a] linux-mips.org>
433
434 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Don't allocate
435 PLT slots for local symbols.
436
437 2012-08-28 Matthew Gretton-Dann <matthew.gretton-dann (a] arm.com>
438
439 Apply from mainline
440 2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann (a] arm.com>
441 * elf32-arm.c (v8): New array.
442 (tag_cpu_arch_combine): Add support for ARMv8 attributes.
443 (elf32_arm_merge_eabi_attributes): Likewise.
444 (VFP_VERSION_COUNT): New define.
445
446 2012-08-17 Nick Clifton <nickc (a] redhat.com>
447
448 * po/vi.po: Updated Vietnamese translation.
449
450 2012-08-16 Ian Bolton <ian.bolton (a] arm.com>
451 Laurent Desnogues <laurent.desnogues (a] arm.com>
452 Jim MacArthur <jim.macarthur (a] arm.com>
453 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
454 Nigel Stephens <nigel.stephens (a] arm.com>
455 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
456 Richard Earnshaw <rearnsha (a] arm.com>
457 Sofiane Naci <sofiane.naci (a] arm.com>
458 Tejas Belagod <tejas.belagod (a] arm.com>
459 Yufeng Zhang <yufeng.zhang (a] arm.com>
460
461 * Makefile.am: Add AArch64 files.
462 * Makefile.in: Regenerate.
463 * archures.c (bfd_aarch64_arch): New declaration.
464 (bfd_archures_list): Use bfd_archures_list.
465 * bfd-in.h (bfd_elf64_aarch64_init_maps): New declaration.
466 (bfd_aarch64_process_before_allocation): New declaration.
467 (bfd_elf64_aarch64_process_before_allocation): New declaration.
468 (bfd_elf64_aarch64_set_options): New declaration.
469 (bfd_elf64_aarch64_add_glue_sections_to_bfd): New declaration.
470 (BFD_AARCH64_SPECIAL_SYM_TYPE_MAP): New definition.
471 (BFD_AARCH64_SPECIAL_SYM_TYPE_TAG): New definition.
472 (BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER): New definition.
473 (BFD_AARCH64_SPECIAL_SYM_TYPE_ANY): New definition.
474 (bfd_is_aarch64_special_symbol_name): New declaration.
475 (bfd_aarch64_merge_machines): New declaration.
476 (bfd_aarch64_update_notes): New declaration.
477 (int bfd_aarch64_get_mach_from_notes): New declaration.
478 (elf64_aarch64_setup_section_lists): New declaration.
479 (elf64_aarch64_next_input_section): New declaration.
480 (elf64_aarch64_size_stubs): New declaration.
481 (elf64_aarch64_build_stubs): New declaration.
482 * config.bfd: Add AArch64.
483 * configure.in: Add AArch64.
484 * configure: Regenerate.
485 * cpu-aarch64.c: New file.
486 * elf-bfd.h: Add AArch64.
487 * bfd-in2.h: Regenerate.
488 * libbfd.h: Regenerate.
489 * elf64-aarch64.c: New file.
490 * reloc.c: Add AArch64 relocations.
491 * targets.c: Add AArch64.
492 * po/SRC-POTFILES.in: Regenerate.
493
494 2012-08-14 Nick Clifton <nickc (a] redhat.com>
495
496 * po/uk.po: Updated Ukranian translation.
497
498 2012-08-09 Nick Clifton <nickc (a] redhat.com>
499
500 * po/vi.po: Updated Vietnamese translation.
501
502 2012-08-07 Nick Clifton <nickc (a] redhat.com>
503
504 * po/uk.po: Updated Ukranian translation.
505
506 2012-07-30 Nick Clifton <nickc (a] redhat.com>
507
508 * po/bfd.pot: Updated template.
509 * po/es.po: Updated Spanish translation.
510 * po/fi.po: Updated Finnish translation.
511 * po/fr.po: Updated French translation.
512 * po/ru.po: Updated Russian translation.
513 * po/uk.po: Updated Ukranian translation.
514
515 2012-07-27 Tristan Gingold <gingold (a] adacore.com>
516
517 * configure.in: Bump version to 2.22.90
518 * configure: Regenerate.
519
520 2012-07-26 Teresa Johnson <tejohnson (a] google.com>
521
522 * bfd/dwarf2.c (find_line): Initialize discriminator_ptr
523 if it is non-NULL.
524
525 2012-07-26 Meador Inge <meadori (a] codesourcery.com>
526 Nick Clifton <nickc (a] redhat.com>
527
528 PR ld/14397
529 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error
530 if a required section is missing from the linker script.
531
532 2012-07-24 Jan Waclawek <konfera (a] efton.sk>
533 PR 13899
534 * elf32-avr.c (elf32_avr_relax_delete_bytes): Call
535 _bfd_elf_link_read_relocs with keep_memory as TRUE.
536
537 2012-07-24 Teresa Johnson <tejohnson (a] google.com>
538
539 * bfd.c (bfd_find_nearest_line_discriminator): New macro.
540 * coff-rs6000.c: Init _bfd_find_nearest_line_discriminator.
541 * coff64-rs6000.c: Likewise.
542 * dwarf2.c (struct line_info): Add discriminator field.
543 (add_line_info): Fill in new discriminator field.
544 (decode_line_info): Record discriminator information instead
545 of ignoring it.
546 (lookup_address_in_line_info_table): Return discriminator field if
547 requested.
548 (comp_unit_find_nearest_line): Add discriminator argument.
549 (find_line): Likewise.
550 (_bfd_dwarf2_find_nearest_line): Likewise.
551 (_bfd_dwarf2_find_line): Likewise.
552 * elf-bfd.h (_bfd_elf_find_nearest_line_discriminator): New.
553 (_bfd_elf_find_line_discriminator): Likewise.
554 (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined.
555 * elf.c (_bfd_elf_find_nearest_line): Change to a wrapper
556 that invokes _bfd_elf_find_nearest_line_discriminator with correct
557 arguments.
558 (_bfd_elf_find_nearest_line_discriminator): New.
559 (_bfd_elf_find_line): Change to a wrapper
560 that invokes _bfd_elf_find_line_discriminator with correct
561 arguments.
562 (_bfd_elf_find_line_discriminator): New.
563 * coffgen.c (coff_find_nearest_line_with_names): Handle
564 new discriminator argument.
565 * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
566 * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
567 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
568 * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
569 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Add discriminator
570 argument.
571 (_bfd_dwarf2_find_line): Likewise.
572 (_bfd_generic_find_nearest_line_discriminator): New.
573 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): New.
574 * bfd-in2.h: Regenerated.
575 * libbfd.h: Likewise.
576 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize
577 _bfd_find_nearest_line_discriminator with
578 _bfd_generic_find_nearest_line_discriminator.
579 (bfd_target): Add _bfd_find_nearest_line_discriminator.
580
581 2012-07-24 Sean Keys <skeys (a] ipdatasys.com>
582
583 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code
584 that enables the linker to offset addresses, when linking against
585 symbols from the XGATE processor and vice versa.
586
587 2012-07-23 Nick Clifton <nickc (a] redhat.com>
588
589 * cisco-core.c (cisco_core_file_failing_command): Make static.
590 (cisco_core_file_failing_signal): Make static.
591
592 2012-07-18 H.J. Lu <hongjiu.lu (a] intel.com>
593
594 * bfd-in2.h: Regenerated.
595
596 2012-07-18 Nicols Alejandro Di Risio <sheeva (a] tiscali.it>
597
598 PR binutils/14335
599 * section.c: Fix a typo in comments.
600
601 2012-07-13 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
602
603 * elf64-s390.c: Include elf-s390-common.c.
604 (R_390_IRELATIVE): New reloc.
605 (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE.
606 (RELA_ENTRY_SIZE): New macro.
607 (elf_s390_link_hash_entry): New fields ifunc_resolver_address and
608 *ifunc_resolver_section.
609 (struct plt_entry): New struct.
610 (struct elf_s390_obj_tdata): New field local_plt.
611 (elf_s390_local_plt): New macro.
612 (struct elf_s390_link_hash_table): New field irelifunc.
613 (ELF64): New macro.
614 (link_hash_newfunc): Initialize new fields.
615 (elf_s390_check_relocs): Handle IFUNC symbols.
616 (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC
617 symbols.
618 (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for
619 IFUNC symbols.
620 (elf_s390_size_dynamic_sections): Handle IFUNC symbols.
621 (elf_s390_relocate_section): Likewise.
622 (elf_s390_finish_dynamic_symbol): Likewise.
623 (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols.
624 (elf_s390_finish_ifunc_symbol): New function.
625 (elf_s390_gc_sweep_hook): Handle local plt entries.
626 (elf_backend_add_symbol_hook): Define.
627 * elf32-s390.c: See elf64-s390.c changes.
628 * elf-s390-common.c: New file.
629 * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field.
630 * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for
631 BFD_RELOC_390_IRELATIVE.
632 * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation.
633
634 2012-07-13 Nick Clifton <nickc (a] redhat.com>
635
636 * aix386-core.c: Remove use of PTR and PARAMS macros.
637 * archive.c: Likewise.
638 * cache.c: Likewise.
639 * cisco-core.c: Likewise.
640 * coff-alpha.c: Likewise.
641 * coff-apollo.c: Likewise.
642 * coff-aux.c: Likewise.
643 * coff-h8300.c: Likewise.
644 * coff-h8500.c: Likewise.
645 * coff-i386.c: Likewise.
646 * coff-i960.c: Likewise.
647 * coff-ia64.c: Likewise.
648 * coff-m68k.c: Likewise.
649 * coff-m88k.c: Likewise.
650 * coff-mcore.c: Likewise.
651 * coff-mips.c: Likewise.
652 * coff-or32.c: Likewise.
653 * coff-ppc.c: Likewise.
654 * coff-rs6000.c: Likewise.
655 * coff-sh.c: Likewise.
656 * coff-sparc.c: Likewise.
657 * coff-stgo32.c: Likewise.
658 * coff-tic30.c: Likewise.
659 * coff-tic4x.c: Likewise.
660 * coff-tic54x.c: Likewise.
661 * coff-tic80.c: Likewise.
662 * coff-w65.c: Likewise.
663 * cofflink.c: Likewise.
664 * cpu-arc.c: Likewise.
665 * cpu-cris.c: Likewise.
666 * cpu-h8500.c: Likewise.
667 * cpu-i960.c: Likewise.
668 * cpu-msp430.c: Likewise.
669 * cpu-ns32k.c: Likewise.
670 * cpu-powerpc.c: Likewise.
671 * cpu-rs6000.c: Likewise.
672 * cpu-tic4x.c: Likewise.
673 * cpu-w65.c: Likewise.
674 * ecoff.c: Likewise.
675 * ecofflink.c: Likewise.
676 * elf-m10200.c: Likewise.
677 * elf32-bfin.c: Likewise.
678 * elf32-cris.c: Likewise.
679 * elf32-crx.c: Likewise.
680 * elf32-fr30.c: Likewise.
681 * elf32-frv.c: Likewise.
682 * elf32-h8300.c: Likewise.
683 * elf32-i960.c: Likewise.
684 * elf32-m32c.c: Likewise.
685 * elf32-m68hc11.c: Likewise.
686 * elf32-m68hc12.c: Likewise.
687 * elf32-m68hc1x.c: Likewise.
688 * elf32-m68k.c: Likewise.
689 * elf32-mcore.c: Likewise.
690 * elf32-rl78.c: Likewise.
691 * elf32-rx.c: Likewise.
692 * elf32-s390.c: Likewise.
693 * elf32-vax.c: Likewise.
694 * elf64-alpha.c: Likewise.
695 * elf64-mmix.c: Likewise.
696 * elf64-s390.c: Likewise.
697 * elf64-sparc.c: Likewise.
698 * elfnn-ia64.c: Likewise.
699 * elfxx-mips.c: Likewise.
700 * elfxx-sparc.c: Likewise.
701 * hash.c: Likewise.
702 * hp300hpux.c: Likewise.
703 * hppabsd-core.c: Likewise.
704 * hpux-core.c: Likewise.
705 * i386dynix.c: Likewise.
706 * i386linux.c: Likewise.
707 * i386lynx.c: Likewise.
708 * i386mach3.c: Likewise.
709 * i386msdos.c: Likewise.
710 * i386os9k.c: Likewise.
711 * irix-core.c: Likewise.
712 * lynx-core.c: Likewise.
713 * m68klinux.c: Likewise.
714 * mach-o.h: Likewise.
715 * mipsbsd.c: Likewise.
716 * netbsd-core.c: Likewise.
717 * nlm32-i386.c: Likewise.
718 * osf-core.c: Likewise.
719 * pc532-mach.c: Likewise.
720 * pef.c: Likewise.
721 * ppcboot.c: Likewise.
722 * ptrace-core.c: Likewise.
723 * reloc16.c: Likewise.
724 * sco5-core.c: Likewise.
725 * som.h: Likewise.
726 * sparclinux.c: Likewise.
727 * sparclynx.c: Likewise.
728 * ticoff.h: Likewise.
729 * trad-core.c: Likewise.
730 * vms-lib.c: Likewise.
731 * xsym.h: Likewise.
732
733 2012-07-09 Alan Modra <amodra (a] gmail.com>
734
735 PR ld/14323
736 * elflink.c (elf_sort_symbol): Sort by size too.
737 (elf_link_add_object_symbols <weakdefs>): Simplify binary search.
738 Do not depend on ordering of symbol aliases. Match largest size.
739
740 2012-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
741
742 * elf.c (assign_section_numbers): Check if number of sections
743 >= SHN_LORESERVE.
744 * elfcode.h (elf_object_p): Likewise.
745
746 2012-07-03 Nick Clifton <nickc (a] redhat.com>
747
748 * archive.c (bsd_write_armap): Catch attempts to create an archive
749 with indicies bigger than 4Gb.
750 (coff_write_armap): Likewise.
751
752 2012-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
753
754 PR binutils/14319
755 * elf.c (_bfd_elf_make_section_from_shdr): Don't compress empty
756 debug section.
757
758 2012-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
759
760 PR ld/3351
761 * elflink.c (_bfd_elf_update_dynamic_flags): New.
762 (_bfd_elf_merge_symbol): Update both real and indirect symbol
763 dynamic flags.
764 (_bfd_elf_add_default_symbol): Make the real symbol dynamic if
765 the indirect symbol is defined in a shared library.
766 (elf_link_add_object_symbols): Likewise. If the indirect
767 symbol has been forced local, don't make the real symbol
768 dynamic.
769 (elf_link_check_versioned_symbol): Check indirect symbol.
770 (elf_link_output_extsym): Use real symbol definition when
771 reporting indirect symbol error. Check version info for
772 dynamic versioned symbol.
773
774 2012-07-03 Alan Modra <amodra (a] gmail.com>
775
776 PR ld/14207
777 * elf.c (assign_file_positions_for_load_sections): Remove assertions
778 that only PT_LOAD headers include file header and section headers.
779 (assign_file_positions_for_non_load_sections): Similarly don't
780 assert PT_GNU_RELRO header does not include file and section headers.
781 Compare first section vma rather than PT_LOAD p_vaddr against
782 relro_start when looking for PT_LOAD covering PT_GNU_RELRO. Replace
783 abort with assertion.
784
785 2012-07-02 Alan Modra <amodra (a] gmail.com>
786
787 * elf32-m32c.c (m32c_elf_check_relocs): Use bfd_make_section
788 "anyway" variant when creating .plt.
789 (m32c_elf_relax_plt_section): Remove redundant test and unused param.
790 (m32c_elf_relax_section): Test SEC_LINKER_CREATED before calling
791 m32c_elf_relax_plt_section.
792 * elfxx-mips.c (mips_elf_create_got_section): Use make anyway variant
793 when creating .got and .got.plt.
794 (_bfd_mips_elf_final_link): Likewise for .rtproc, and use
795 bfd_get_linker_section.
796 * sunos.c: Similarly throughout.
797
798 2012-07-01 Andreas Schwab <schwab (a] linux-m68k.org>
799
800 * elf.c (_bfd_elf_make_section_from_shdr): Fix typo in error
801 message.
802
803 2012-06-29 H.J. Lu <hongjiu.lu (a] intel.com>
804
805 * elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE
806 on unresolvable relocation.
807
808 2012-06-29 H.J. Lu <hongjiu.lu (a] intel.com>
809
810 * archive.c (_bfd_compute_and_write_armap): Simplify global
811 symbol handling.
812
813 2012-06-29 Nick Clifton <nickc (a] redhat.com>
814
815 PR ld/14189
816 * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount
817 for locally bound symbols.
818
819 2012-06-29 Alan Modra <amodra (a] gmail.com>
820
821 * section.c (bfd_get_linker_section): New function.
822 * elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use
823 the above throughout rather than bfd_get_section_by_name. Use
824 bfd_make_section_anyway rather than bfd_make_section when creating
825 them.
826 * elf32-bfin.c: Likewise.
827 * elf32-cr16.c: Likewise.
828 * elf32-cris.c: Likewise.
829 * elf32-frv.c: Likewise.
830 * elf32-hppa.c: Likewise.
831 * elf32-i370.c: Likewise.
832 * elf32-i386.c: Likewise.
833 * elf32-lm32.c: Likewise.
834 * elf32-m32c.c: Likewise.
835 * elf32-m32r.c: Likewise.
836 * elf32-m68k.c: Likewise.
837 * elf32-microblaze.c: Likewise.
838 * elf32-ppc.c: Likewise.
839 * elf32-rl78.c: Likewise.
840 * elf32-s390.c: Likewise.
841 * elf32-score.c: Likewise.
842 * elf32-score7.c: Likewise.
843 * elf32-sh.c: Likewise.
844 * elf32-tic6x.c: Likewise.
845 * elf32-tilepro.c: Likewise.
846 * elf32-vax.c: Likewise.
847 * elf32-xstormy16.c: Likewise.
848 * elf32-xtensa.c: Likewise.
849 * elf64-alpha.c: Likewise.
850 * elf64-hppa.c: Likewise.
851 * elf64-ia64-vms.c: Likewise.
852 * elf64-ppc.c: Likewise.
853 * elf64-s390.c: Likewise.
854 * elf64-sh64.c: Likewise.
855 * elf64-sparc.c: Likewise.
856 * elf64-x86-64.c: Likewise.
857 * elfnn-ia64.c: Likewise.
858 * elfxx-mips.c: Likewise.
859 * elfxx-sparc.c: Likewise.
860 * elfxx-tilegx.c: Likewise.
861 * elflink.c: Likewise.
862 * elf-vxworks.c: Likewise.
863 * elf-m10300.c: Likewise. Also make use of htab plt, got and
864 gotplt shortcuts.
865 * bfd-in2.h: Regenerate.
866 * elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when
867 calling create_rofixup_section.
868 * elflink.c (bfd_elf_final_link): Simplify test for .dynstr.
869
870 2012-06-29 Alan Modra <amodra (a] gmail.com>
871
872 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela
873 section for bss type sections, except for .rela.bss.
874 * elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
875 * elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise.
876 * elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise.
877 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
878 * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
879
880 2012-06-28 Roland McGrath <mcgrathr (a] google.com>
881
882 * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for
883 displacement calculation in nacl_p case.
884
885 2012-06-28 Nick Clifton <nickc (a] redhat.com>
886
887 * po/uk.po: New Ukranian translation.
888 * configure.in (ALL_LINGUAS): Add uk.
889 * configure: Regenerate.
890
891 2012-06-26 Alan Modra <amodra (a] gmail.com>
892
893 * elf64-ppc.c (ppc64_elf_next_toc_section): Don't error if input
894 file has multiple .got/.toc sections and all don't fit in
895 current toc group.
896
897 2012-06-22 Roland McGrath <mcgrathr (a] google.com>
898
899 * elf.c (assign_file_positions_for_non_load_sections): Define
900 __ehdr_start symbol if it's referenced and there's a PT_LOAD
901 segment that covers both the file and program headers.
902
903 2012-06-22 Andreas Schwab <schwab (a] linux-m68k.org>
904
905 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Don't make
906 _GLOBAL_OFFSET_TABLE_ and _DYNAMIC absolute.
907
908 2012-06-22 Alan Modra <amodra (a] gmail.com>
909
910 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't emit out-of-line
911 save/restore functions when relocatable. Make "funcs" static.
912
913 2012-06-18 Hans-Peter Nilsson <hp (a] axis.com>
914
915 * elf32-cris.c (cris_elf_plt_sym_val): Rewrite to work in presence
916 of merged .got and .got.plt entries.
917
918 2012-06-18 John Szakmeister <john (a] szakmeister.net>
919
920 * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value.
921
922 2012-06-17 Hans-Peter Nilsson <hp (a] axis.com>
923
924 * elf32-cris.c (cris_elf_relocate_section): <R_CRIS_32_IE>
925 <R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>: Handle references to
926 thread common symbols.
927
928 2012-06-13 Nick Clifton <nickc (a] redhat.com>
929
930 * elf32-arm.c (bfd_arm_get_mach_from_attributes): New function.
931 (elf32_arm_object_p): If the machine number could not be deduced
932 from the notes, call bfd_arm_get_mach_from_attributes to get the
933 number from the attributes.
934
935 2012-06-12 H.J. Lu <hongjiu.lu (a] intel.com>
936
937 PR bfd/14207
938 * elf.c (assign_file_positions_for_non_load_sections): Abort if
939 PT_GNU_RELRO segment doesn't fit in PT_LOAD segment.
940
941 2012-06-12 Alan Modra <amodra (a] gmail.com>
942
943 PR ld/14207
944 * elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
945 sections at end of PT_LOAD segment when searching for segment
946 that contains end of relro extent.
947
948 2012-06-11 H.J. Lu <hongjiu.lu (a] intel.com>
949
950 * elf.c (assign_file_positions_for_non_load_sections): Reindent.
951
952 2012-06-11 H.J. Lu <hongjiu.lu (a] intel.com>
953
954 * elf.c (_bfd_elf_map_sections_to_segments): Reindent.
955
956 2012-06-06 Alan Modra <amodra (a] gmail.com>
957
958 * elflink.c (elf_link_input_bfd): Provide a file symbol for
959 each input file with local syms, if the input lacks such.
960 (bfd_elf_final_link): Add a file symbol to mark end of locals
961 for which we can associate with input files.
962 (struct elf_final_link_info): Add filesym_count field.
963 (struct elf_outext_info): Add need_second_pass and second_pass.
964 (elf_link_output_extsym): Detect symbols defined in the output
965 file, emit them on second pass over locals.
966
967 2012-06-04 Jan Kratochvil <jan.kratochvil (a] redhat.com>
968
969 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
970 of target_read_memory as bfd_size_type.
971 * bfd-in2.h: Regenerate.
972 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
973 argument of target_read_memory as bfd_size_type.
974 (_bfd_elf32_bfd_from_remote_memory): Likewise.
975 (_bfd_elf64_bfd_from_remote_memory): Likewise.
976 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
977 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
978
979 2012-06-03 Alan Modra <amodra (a] gmail.com>
980
981 PR binutils/13897
982 * elf.c (elf_find_function): Cache last function sym info.
983 (_bfd_elf_maybe_function_sym): Return function size, pass in
984 section of interest.
985 * elf-bfd.h (struct elf_backend_data <maybe_function_sym>): Likewise.
986 (_bfd_elf_maybe_function_sym): Likewise.
987 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
988 (opd_entry_value): Add in_code_sec param. Revert caching code.
989 Return -1 if in_code_sec and function found in wrong section.
990 Update all calls.
991
992 2012-06-01 Siddhesh Poyarekar <siddhesh (a] redhat.com>
993
994 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
995 of target_read_memory as size_t.
996 * bfd-in2.h: Regenerate.
997 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
998 argument of target_read_memory as size_t.
999 (_bfd_elf32_bfd_from_remote_memory): Likewise.
1000 (_bfd_elf64_bfd_from_remote_memory): Likewise.
1001 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
1002 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
1003
1004 2012-06-01 Alan Modra <amodra (a] gmail.com>
1005
1006 PR binutils/13897
1007 * elf64-ppc.c (opd_entry_value): Rewrite cache code.
1008
1009 2012-05-29 Tom Tromey <tromey (a] redhat.com>
1010
1011 * opncls.c (bfd_fopen): Always close fd on failure.
1012 (bfd_fdopenr): Likewise.
1013
1014 2012-05-27 Alan Modra <amodra (a] gmail.com>
1015
1016 PR ld/14170
1017 * elflink.c (_bfd_elf_merge_symbol): When a symbol defined in
1018 a dynamic library finds a new instance with non-default
1019 visibility in a regular object, correctly handle symbols
1020 already on the undefs list and undo dynamic symbol state when
1021 the new symbol is hidden or internal.
1022
1023 2012-05-25 H.J. Lu <hongjiu.lu (a] intel.com>
1024
1025 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't use
1026 dynamic_sec_flags to create PLT .eh_frame section.
1027 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1028
1029 2012-05-25 Alan Modra <amodra (a] gmail.com>
1030
1031 PR ld/13909
1032 * elf-eh-frame.c (_bfd_elf_eh_frame_present): New function.
1033 (_bfd_elf_maybe_strip_eh_frame_hdr): Use it here.
1034 * elf-bfd.h (_bfd_elf_eh_frame_present): Declare.
1035 * elflink.c (bfd_elf_size_dynamic_sections): Let the backend
1036 size dynamic sections before stripping eh_frame_hdr.
1037 (bfd_elf_gc_sections): Handle multiple .eh_frame sections.
1038 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Drop glink_eh_frame
1039 if no other .eh_frame sections exist.
1040 * elf64-ppc.c (ppc64_elf_size_stubs): Likewise.
1041 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't size
1042 or alloc plt_eh_frame here..
1043 (elf_i386_size_dynamic_sections): ..do it here instead. Don't
1044 specially keep sgotplt, iplt, tgotplt, sdynbss for symbols.
1045 (elf_i386_finish_dynamic_sections): Check plt_eh_frame->contents
1046 before writing plt offset.
1047 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't size
1048 or alloc plt_eh_frame here..
1049 (elf_x86_64_size_dynamic_sections): ..do it here instead.
1050 (elf_x86_64_finish_dynamic_sections): Check plt_eh_frame->contents
1051 before writing plt offset.
1052
1053 2012-05-24 Alan Modra <amodra (a] gmail.com>
1054
1055 PR ld/14158
1056 * elf64-ppc.c (ppc64_elf_size_stubs): Round up glink_eh_frame
1057 size to output section alignment.
1058 (ppc64_elf_build_stubs): Likewise, and extend last FDE to cover.
1059
1060 2012-05-23 Alan Modra <amodra (a] gmail.com>
1061
1062 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle
1063 BFDs with multiple .eh_frame sections.
1064
1065 2012-05-23 Alan Modra <amodra (a] gmail.com>
1066
1067 PR ld/13909
1068 * elflink.c (bfd_elf_discard_info): Don't ignore dynamic BFDs.
1069
1070 2012-05-22 H.J. Lu <hongjiu.lu (a] intel.com>
1071
1072 PR ld/13909
1073 * elf32-i386.c (elf_i386_create_dynamic_sections): Revert the
1074 last change.
1075 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1076
1077 2012-05-22 Alan Modra <amodra (a] gmail.com>
1078
1079 * elflink.c (bfd_elf_discard_info): Look for next .eh_frame if
1080 first one is zero size or discarded.
1081 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set most of
1082 glink_eh_frame contents here..
1083 (ppc_elf_finish_dynamic_sections): ..rather than here. Just set
1084 offset to .glink.
1085
1086 2012-05-22 H.J. Lu <hongjiu.lu (a] intel.com>
1087
1088 PR ld/13909
1089 * elf32-i386.c (elf_i386_create_dynamic_sections): Create PLT
1090 eh_frame section if there is an input .eh_frame section.
1091 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1092
1093 2012-05-22 H.J. Lu <hongjiu.lu (a] intel.com>
1094
1095 PR ld/14105
1096 * elf32-i386.c (elf_i386_create_dynamic_sections): Always
1097 create PLT eh_frame section with SEC_LINKER_CREATED.
1098 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1099
1100 2012-05-22 Alan Modra <amodra (a] gmail.com>
1101
1102 * elflink.c (bfd_elf_discard_info): Handle multiple .eh_frame
1103 sections attached to a BFD.
1104 * section.c (bfd_get_section_by_name): Rewrite description.
1105 (bfd_get_next_section_by_name): New function.
1106 * bfd-in2.h: Regenerate.
1107
1108 2012-05-21 Andreas Schwab <schwab (a] linux-m68k.org>
1109
1110 * elf32-m68k.c (elf_m68k_grok_prstatus): New function.
1111 (elf_m68k_grok_psinfo): New function.
1112 (elf_backend_grok_prstatus): Define.
1113 (elf_backend_grok_psinfo): Define.
1114
1115 2012-05-19 Maciej W. Rozycki <macro (a] linux-mips.org>
1116
1117 * elf64-mips.c (elf_backend_got_header_size): Correct definition.
1118 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF
1119 backend's GOT header size instead of hardcoding it.
1120
1121 2012-05-19 Maciej W. Rozycki <macro (a] linux-mips.org>
1122
1123 * elf32-vax.c (elf_vax_relocate_section)
1124 <R_VAX_8, R_VAX_16, R_VAX_32>: Don't check if info->shared again.
1125
1126 2012-05-19 Maciej W. Rozycki <macro (a] linux-mips.org>
1127
1128 * elf32-vax.c (elf_vax_relocate_section)
1129 <R_VAX_8, R_VAX_16, R_VAX_32>: Use section flags rather than
1130 its name as the check for text sections.
1131
1132 2012-05-19 Maciej W. Rozycki <macro (a] linux-mips.org>
1133
1134 * elf64-mips.c (mips_elf64_be_swap_reloc_out): Also make sure
1135 the third reloc offset is the same as the first.
1136
1137 2012-05-19 Alan Modra <amodra (a] gmail.com>
1138
1139 * elf32-ppc.h (has_vle_insns, is_ppc_vle): Delete.
1140 (has_tls_reloc, has_tls_get_addr_call): Move back to..
1141 * elf32-ppc.c: ..here.
1142 (ppc_elf_section_flags, elf_backend_section_flags): Delete.
1143 (ppc_elf_modify_segment_map): Use ELF sh_flags to detect VLE sections.
1144
1145 2012-05-18 H.J. Lu <hongjiu.lu (a] intel.com>
1146
1147 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Don't make
1148 _DYNAMIC nor _GLOBAL_OFFSET_TABLE_ absolute.
1149 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1150
1151 2012-05-18 Roland McGrath <mcgrathr (a] google.com>
1152
1153 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix last change so as
1154 not to clobber the ar_fmag field stored in ARED->arch_header.
1155
1156 2012-05-18 Pedro Alves <palves (a] redhat.com>
1157
1158 * mach-o.h: Don't include sysdep.h.
1159
1160 2012-05-18 Nick Clifton <nickc (a] redhat.com>
1161
1162 PR 14072
1163 * bfd-in.h: Check for PACKAGE or PACKAGE_VERSION before
1164 complaining about config.h not having been included.
1165 * bfd-in2.h: Regenerate.
1166
1167 2012-05-18 Andreas Schwab <schwab (a] linux-m68k.org>
1168
1169 * aclocal.m4: Regenerate.
1170 * Makefile.in: Regenerate.
1171
1172 2012-05-17 Daniel Richard G. <skunk (a] iskunk.org>
1173 Nick Clifton <nickc (a] redhat.com>
1174
1175 PR 14072
1176 * configure.in: Add check that sysdep.h has been included before
1177 any system header files.
1178 * configure: Regenerate.
1179 * config.in: Regenerate.
1180 * aclocal.m4: Regenerate.
1181 * bfd-in.h: Generate an error if included before config.h.
1182 * sysdep.h: Likewise.
1183 * bfd-in2.h: Regenerate.
1184 * compress.c: Remove #include "config.h".
1185 * plugin.c: Likewise.
1186 * elf32-m68hc1x.c: Include sysdep.h before alloca-conf.h.
1187 * elf64-hppa.c: Likewise.
1188 * som.c: Likewise.
1189 * xsymc.c: Likewise.
1190
1191 2012-05-17 Maciej W. Rozycki <macro (a] linux-mips.org>
1192 Alan Modra <amodra (a] gmail.com>
1193
1194 * elf.c (ignore_section_sym): Correct comment. Don't return
1195 true for absolute section.
1196 (elf_map_symbols): Move stray comment. Adjust for above change.
1197 Don't discard global section symbols.
1198
1199 2012-05-17 Alan Modra <amodra (a] gmail.com>
1200
1201 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC,
1202 _GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute.
1203 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC
1204 absolute.
1205
1206 2012-05-17 Alan Modra <amodra (a] gmail.com>
1207
1208 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call, has_vle_insns,
1209 is_ppc_vle): Move to..
1210 * elf32-ppc.h: ..here, making is_ppc_vle a macro.
1211
1212 2012-05-16 Sergio Durigan Junior <sergiodj (a] redhat.com>
1213
1214 * bfd-in.h (bfd_get_section_name, bfd_get_section_vma,
1215 bfd_get_section_lma, bfd_get_section_alignment,
1216 bfd_get_section_flags, bfd_get_section_userdata): Rewrite macros
1217 in order to use the `bfd' argument.
1218 * bfd-in2.h: Regenerate.
1219 * elf-vxworks.c (elf_vxworks_finish_dynamic_entry): Pass proper `bfd'
1220 as the first argument for `bfd_get_section_alignment'.
1221 * elf32-arm.c (create_ifunc_sections): Likewise, for
1222 `bfd_set_section_alignment'.
1223 * elf32-m32r.c (m32r_elf_relocate_section): Likewise, for
1224 `bfd_get_section_name'.
1225 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1226 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1227 (ppc_elf_relocate_section): Likewise.
1228 * elf64-mmix.c (mmix_final_link_relocate): Likewise, for
1229 `bfd_get_section_vma'.
1230 * elf64-ppc.c (create_linkage_sections): Likewise, for
1231 `bfd_set_section_alignment'.
1232
1233 2012-05-16 Georg-Johann Lay <avr (a] gjlay.de>
1234
1235 PR target/13503
1236 * reloc.c: Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
1237 * bfd-in2.h: Regenerate.
1238 * libbfd.h: Regenrate.
1239 * elf32-avr.c (elf_avr_howto_table): Rename R_AVR_8_HHI8 to
1240 R_AVR_8_HLO8.
1241 (avr_reloc_map): Likewise.
1242
1243 2012-05-16 Daniel Richard G. <skunk (a] iskunk.org>
1244
1245 PR binutils/13558
1246 * bfd/aout-cris.c: Include sysdep.h before bfd.h.
1247 * bfd/aout-ns32k.c: Likewise.
1248 * bfd/aout-sparcle.c: Likewise.
1249 * bfd/aout0.c: Likewise.
1250 * bfd/bfd-in2.h: Likewise.
1251 * bfd/coff-stgo32.c: Likewise.
1252 * bfd/cpu-lm32.c: Likewise.
1253 * bfd/cpu-microblaze.c: Likewise.
1254 * bfd/cpu-score.c: Likewise.
1255 * bfd/cpu-tilegx.c: Likewise.
1256 * bfd/cpu-tilepro.c: Likewise.
1257 * bfd/elf32-lm32.c: Likewise.
1258 * bfd/elf32-microblaze.c: Likewise.
1259 * bfd/elf32-score7.c: Likewise.
1260 * bfd/elf32-tilepro.c: Likewise.
1261 * bfd/elfxx-tilegx.c: Likewise.
1262 * bfd/mach-o.h: Likewise.
1263 * bfd/nlm32-ppc.c: Likewise.
1264 * bfd/ns32knetbsd.c: Likewise.
1265 * bfd/pef.h: Likewise.
1266 * bfd/plugin.c: Likewise.
1267 * bfd/stab-syms.c: Likewise.
1268 * bfd/sunos.c: Likewise.
1269 * bfd/syms.c: Likewise.
1270 * bfd/xsym.h: Likewise.
1271
1272 2012-05-16 Alan Modra <amodra (a] gmail.com>
1273
1274 * elflink.c: Rename flaginfo to flinfo throughout, except..
1275 (bfd_elf_lookup_section_flags): ..here, rename finfo to flaginfo.
1276 Formatting, style. Simplify flag match.
1277
1278 2012-05-16 Alan Modra <amodra (a] gmail.com>
1279
1280 * dwarf2.c: Formatting.
1281 (arange_add): Pass in unit rather than bfd. Update callers.
1282 Ignore empty ranges. Don't ask for cleared memory.
1283 (parse_comp_unit): Only set unit->base_address if processing
1284 DW_TAG_compile_unit.
1285 (find_debug_info): Optimise section lookup.
1286 (place_sections): Use bfd_alloc for stash->adjusted_sections.
1287 (find_line): Match previously parsed comp unit addresses as we
1288 do for newly parsed comp units.
1289
1290 2012-05-16 Alan Modra <amodra (a] gmail.com>
1291
1292 * archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf
1293 stops at end of ar_size field.
1294
1295 2012-05-16 Alan Modra <amodra (a] gmail.com>
1296
1297 PR ld/13962
1298 PR ld/7023
1299 * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
1300 out of range. As a special case, fix sh_info for zero sh_size.
1301 Do the same for .symtab.
1302
1303 2012-05-15 James Murray <jsm (a] jsm-net.demon.co.uk>
1304 Stephane Carrez <stcarrez (a] nerim.fr>
1305
1306 * archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg.
1307 * config.bfd: Likewise.
1308 * cpu-m9s12x.c: New.
1309 * cpu-m9s12xg.c: New.
1310 * elf32-m68hc12.c: Add S12X and XGATE co-processor support.
1311 Add option to offset S12 addresses into XGATE memory space.
1312 Fix carry bug in IMM16 (IMM8 low/high) relocate.
1313 * Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg.
1314 (ALL_MACHINES_CFILES): Likewise.
1315 * reloc.c: Add S12X relocs.
1316 * Makefile.in: Regenerate.
1317 * bfd-in2.h: Regenerate.
1318 * libbfd.h: Regenerate.
1319
1320 2012-05-14 James Lemke <jwlemke (a] codesourcery.com>
1321 Catherine Moore <clm (a] codesourcery.com>
1322
1323 * bfd.c (bfd_lookup_section_flags): Add section parm.
1324 * ecoff.c (bfd_debug_section): Remove flag_info initializer.
1325 * elf-bfd.h (bfd_elf_section_data): Move in section_flag_info.
1326 (bfd_elf_lookup_section_flags): Add section parm.
1327 * elf32-ppc.c (is_ppc_vle): New function.
1328 (ppc_elf_modify_segment_map): New function.
1329 (elf_backend_modify_segment_map): Define.
1330 (has_vle_insns): New define.
1331 * elf32-ppc.h (ppc_elf_modify_segment_map): Declare.
1332 * elflink.c (bfd_elf_lookup_section_flags): Add return value & parm.
1333 Move in logic to omit / include a section.
1334 * libbfd-in.h (bfd_link_info): Add section parm.
1335 (bfd_generic_lookup_section_flags): Likewise.
1336 * reloc.c (bfd_generic_lookup_section_flags): Likewise.
1337 * section.c (bfd_section): Move out section_flag_info.
1338 (BFD_FAKE_SECTION): Remove flag_info initializer.
1339 * targets.c (_bfd_lookup_section_flags): Add section parm.
1340
1341 2012-05-14 Catherine Moore <clm (a] codesourcery.com>
1342
1343 * archures.c (bfd_mach_ppc_vle): New.
1344 * bfd-in2.h: Regenerated.
1345 * cpu-powerpc.c (bfd_powerpc_archs): New entry for vle.
1346 * elf32-ppc.c (split16_format_type): New enumeration.
1347 (ppc_elf_vle_split16): New function.
1348 (HOWTO): Add entries for R_PPC_VLE relocations.
1349 (ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations.
1350 (ppc_elf_section_flags): New function.
1351 (ppc_elf_lookup_section_flags): New function.
1352 (ppc_elf_section_processing): New function.
1353 (ppc_elf_check_relocs): Handle PPC_VLE relocations.
1354 (ppc_elf_relocation_section): Likewise.
1355 (elf_backend_lookup_section_flags_hook): Define.
1356 (elf_backend_section_flags): Define.
1357 (elf_backend_section_processing): Define.
1358 * elf32-ppc.h (ppc_elf_section_processing): Declare.
1359 * libbfd.h: Regenerated.
1360 * reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15,
1361 BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A,
1362 BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A,
1363 BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A,
1364 BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21,
1365 BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A,
1366 BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A,
1367 BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A,
1368 BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations.
1369
1370 2012-05-11 Georg-Johann Lay <avr (a] gjlay.de>
1371
1372 PR target/13503
1373 * reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO,
1374 BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI.
1375 * bfd-in2.h: Regenerate.
1376 * libbfd.h: Regenrate.
1377 * elf32-avr.c (elf_avr_howto_table): Add entries for
1378 R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
1379 (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8,
1380 R_AVR_8_HHI8.
1381
1382 2012-05-10 H.J. Lu <hongjiu.lu (a] intel.com>
1383
1384 * elf64-x86-64.c (elf_x86_64_relocate_section): Use int in x32
1385 addend overflow check.
1386
1387 2012-05-10 DJ Delorie <dj (a] redhat.com>
1388
1389 * elf32-rx.c (rx_elf_object_p): Ignore empty segments.
1390
1391 2012-05-10 H.J. Lu <hongjiu.lu (a] intel.com>
1392
1393 * elf64-x86-64.c (elf_x86_64_relocate_section): Display signed
1394 hex number in x32 addend overflow check.
1395
1396 2012-05-10 H.J. Lu <hongjiu.lu (a] intel.com>
1397
1398 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
1399 R_X86_64_RELATIVE64.
1400
1401 2012-05-09 H.J. Lu <hongjiu.lu (a] intel.com>
1402
1403 * elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
1404 overflow for R_X86_64_RELATIVE64.
1405
1406 2012-05-08 Ben Cheng <bccheng (a] google.com>
1407
1408 * elf.c: Preserve the original p_align and p_flags if they are
1409 valid.
1410
1411 2012-05-07 Alan Modra <amodra (a] gmail.com>
1412
1413 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Update
1414 RELOC_AGAINST_DISCARDED_SECTION invocation.
1415
1416 2012-05-07 Hans-Peter Nilsson <hp (a] axis.com>
1417
1418 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Declare and use
1419 local variable i_ instead of assuming and using a variable i.
1420
1421 2012-05-07 Maciej W. Rozycki <macro (a] linux-mips.org>
1422
1423 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound
1424 relocations.
1425 * elfxx-mips.c (mips_reloc_against_discarded_section): New
1426 function.
1427 (_bfd_mips_elf_relocate_section): Call it, in place of
1428 RELOC_AGAINST_DISCARDED_SECTION.
1429 * elf-m10200.c (mn10200_elf_relocate_section): Update arguments
1430 to RELOC_AGAINST_DISCARDED_SECTION.
1431 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1432 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1433 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1434 * elf32-bfin.c (bfin_relocate_section): Likewise.
1435 (bfinfdpic_relocate_section): Likewise.
1436 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
1437 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1438 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1439 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1440 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1441 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
1442 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1443 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1444 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1445 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1446 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1447 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1448 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1449 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1450 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1451 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1452 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1453 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1454 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1455 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1456 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1457 * elf32-mep.c (mep_elf_relocate_section): Likewise.
1458 * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1459 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1460 * elf32-mt.c (mt_elf_relocate_section): Likewise.
1461 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1462 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1463 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
1464 * elf32-rx.c (rx_elf_relocate_section): Likewise.
1465 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1466 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1467 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1468 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1469 * elf32-spu.c (spu_elf_relocate_section): Likewise.
1470 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1471 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1472 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1473 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1474 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1475 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1476 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1477 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1478 (elf64_alpha_relocate_section): Likewise.
1479 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1480 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1481 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1482 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1483 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1484 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1485 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1486 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1487 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1488
1489 2012-05-05 Alan Modra <amodra (a] gmail.com>
1490
1491 PR ld/14052
1492 PR ld/13621
1493 * linker.c (_bfd_nearby_section): Revert 2012-02-13 change.
1494
1495 2012-05-05 Alan Modra <amodra (a] gmail.com>
1496
1497 * aout-arm.c: Replace all uses of bfd_abs_section, bfd_com_section,
1498 bfd_und_section and bfd_ind_section with their _ptr variants, or
1499 use corresponding bfd_is_* macros.
1500 * aout-ns32k.c: Likewise.
1501 * aout-tic30.c: Likewise.
1502 * coff-arm.c: Likewise.
1503 * coff-tic54x.c: Likewise.
1504 * cpu-ns32k.c: Likewise.
1505 * elf-attrs.c: Likewise.
1506 * elfcode.h: Likewise.
1507 * peicode.h: Likewise.
1508 * reloc.c: Likewise.
1509 * riscix.c: Likewise.
1510 * versados.c: Likewise.
1511 * section.c: Likewise.
1512 (bfd_abs_section, bfd_ind_section, bfd_com_section,
1513 bfd_ind_section): Delete.
1514 (std_section): New array replacing above.
1515 (bfd_abs_section_ptr, bfd_ind_section_ptr, bfd_com_section_ptr,
1516 bfd_ind_section_ptr, STD_SECTION): Update.
1517 (BFD_FAKE_SECTION, GLOBAL_SYM_INIT): Remove unnecessary casts.
1518 * bfd-in2.h: Regenerate.
1519
1520 2012-05-03 Sean Keys <skeys (a] ipdatasys.com>
1521
1522 * cpu-xgate.c: New file. Added XGATE support.
1523 * archures.c (bfd_architecture): Add XGATE architecture.
1524 (bfd_archures_list): Add reference to XGATE architecture info.
1525 * elf-bfd.h (prep_headers): Handle bfd_arch_xgate.
1526 * reloc.c: Add various XGATE relocation enums.
1527 * targets.c (bfd_elf32_xgate_vec): Declare and add to target vector
1528 list.
1529 * Makefile.am: Add support for XGATE elf.
1530 * configure.in: Ditto.
1531 * config.bfd: Ditto.
1532 * Makefile.in: Regenerate.
1533 * configure: Ditto.
1534 * bfd-in2.h: Ditto.
1535 * libbfd.h: Ditto.
1536 Added files for XGATE relocations.
1537 * elf32-xgate.c: Created minimal relocation file.
1538 * elf32-xgate.h: Created minimal header file for elf32-xgate.
1539
1540 2012-05-03 Tristan Gingold <gingold (a] adacore.com>
1541
1542 * dwarf2.c (decode_line_info): Ignore
1543 DW_LNE_HP_source_file_correlation.
1544
1545 2012-05-01 Nick Clifton <nickc (a] redhat.com>
1546
1547 PR binutils/13121
1548 * aoutx.h: Rename 'finfo' to 'flaginfo' to avoid conflicts with
1549 AIX system headers.
1550 * coff-ppc.c: Likewise.
1551 * cofflink.c: Likewise.
1552 * elf32-arm.c: Likewise.
1553 * elf64-sparc.c: Likewise.
1554 * elflink.c: Likewise.
1555 * pdp11.c: Likewise.
1556 * rescoff.c: Likewise.
1557
1558 2012-04-26 Mark Wielaard <mjw (a] redhat.com>
1559
1560 * dwarf2.c (scan_unit_for_symbols): Account for DW_AT_high_pc
1561 possibly being relative to DW_AT_low_pc.
1562 (parse_comp_unit): Likewise.
1563
1564 2012-04-26 Andreas Schwab <schwab (a] linux-m68k.org>
1565
1566 * elf32-m68k.c (elf_m68k_check_relocs): Mark non-GOT references
1567 also when generating PIE.
1568 (elf_m68k_discard_copies): Mark undefined weak symbols referenced
1569 by relocations as dynamic.
1570
1571 2012-04-26 Hans-Peter Nilsson <hp (a] axis.com>
1572
1573 Provide a way for programs to recognize BFD_ASSERT calls.
1574 * bfd.c (bfd_assert_handler_type): New API type.
1575 (bfd_set_assert_handler, bfd_get_assert_handler): New API functions.
1576 (_bfd_assert_handler): New variable.
1577 (_bfd_default_assert_handler): New function.
1578 (bfd_assert): Call _bfd_assert_handler, not _bfd_error_handler.
1579 * libbfd-in.h (_bfd_assert_handler): Declare.
1580 * libbfd.h, bfd-in2.h: Regenerate.
1581
1582 2012-04-24 Hans-Peter Nilsson <hp (a] axis.com>
1583
1584 PR ld/13990
1585 * elf32-arm.c (elf32_arm_gc_sweep_hook): Handle a forced-local
1586 symbol, where PLT refcount is set to -1.
1587
1588 2012-04-24 Alan Modra <amodra (a] gmail.com>
1589
1590 PR ld/13991
1591 * elf-bfd.h (_bfd_elf_link_just_syms): Define as
1592 _bfd_generic_link_just_syms.
1593 * elflink.c (_bfd_elf_link_just_syms): Delete.
1594 * linker.c (_bfd_generic_link_just_syms): Set sec_info_type.
1595
1596 * bfd-in.h (discarded_section): Renamed from elf_discarded_section.
1597 * section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
1598 SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
1599 SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
1600 * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
1601 * elf.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
1602 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c,
1603 * elf32-crx.c, * elf32-d10v.c, * elf32-epiphany.c,
1604 * elf32-fr30.c, * elf32-frv.c, * elf32-h8300.c,
1605 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c,
1606 * elf32-i860.c, * elf32-ip2k.c, * elf32-iq2000.c,
1607 * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c,
1608 * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
1609 * elf32-mep.c, * elf32-moxie.c, * elf32-msp430.c,
1610 * elf32-mt.c, * elf32-openrisc.c, * elf32-ppc.c,
1611 * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c,
1612 * elf32-score.c, * elf32-score7.c, * elf32-sh.c,
1613 * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
1614 * elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c,
1615 * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
1616 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
1617 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c,
1618 * elf64-x86-64.c, * elflink.c, * elfnn-ia64.c,
1619 * elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c,
1620 * reloc.c: Update all references.
1621 * bfd-in2.h: Regenerate.
1622
1623 2012-04-20 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
1624
1625 * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
1626 * elf64-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
1627
1628 2012-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
1629
1630 * elf32-sh.c (elf_sh_link_hash_entry): Specify an enum identifier for
1631 got_type.
1632 (allocate_dynrelocs, sh_elf_relocate_section, sh_elf_check_relocs): Use
1633 it.
1634
1635 2012-04-17 Kaz Kojima <kkojima (a] rr.iij4u.or.jp>
1636
1637 * elf32-sh.c (allocate_dynrelocs): Don't allocate dynamic
1638 relocations when LE conversion happens on the IE tls symbol.
1639
1640 2012-04-17 Roland McGrath <mcgrathr (a] google.com>
1641
1642 * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Fix nop padding
1643 so that 32-byte boundary is a proper instruction boundary.
1644
1645 2012-04-17 Tristan Gingold <gingold (a] adacore.com>
1646
1647 * vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to
1648 member of an object archive.<
1649
1650 2012-04-17 Tristan Gingold <gingold (a] adacore.com>
1651
1652 * vms-lib.c (MAX_EKEYLEN): Define.
1653 (MAX_KEYLEN): Fix value.
1654 (vms_write_index): Add comments and fix indentation.
1655 Adjust comparaison. Add assertions. Free kbn_blk.
1656 (_bfd_vms_lib_write_archive_contents): Use MAX_EKEYLEN.
1657 Compense MAX_KEYLEN adjustment.
1658
1659 2012-04-16 Maciej W. Rozycki <macro (a] linux-mips.org>
1660
1661 * elfxx-mips.c (mips16_stub_symndx): Handle n64 compound relocs.
1662 (_bfd_mips_elf_check_relocs): Update accordingly.
1663
1664 2012-04-13 Alan Modra <amodra (a] gmail.com>
1665
1666 PR ld/13947
1667 * elflink.c (bfd_elf_final_link): Set reloc_count to 0 for
1668 reloc sections.
1669
1670 2012-04-12 David S. Miller <davem (a] davemloft.net>
1671
1672 * reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32,
1673 BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs.
1674 * libbfd.h: Regenerate.
1675 * bfd-in2.h: Likewise.
1676 * elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function.
1677 (_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34,
1678 R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10.
1679 (_bfd_sparc_elf_reloc_type_lookup): Handle new relocs.
1680 (_bfd_sparc_elf_check_relocs): Likewise.
1681 (_bfd_sparc_elf_gc_sweep_hook): Likewise.
1682 (_bfd_sparc_elf_relocate_section): Likewise.
1683
1684 2012-04-12 Roland McGrath <mcgrathr (a] google.com>
1685
1686 * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry):
1687 New variables.
1688 (struct elf32_arm_link_hash_table): New member `nacl_p'.
1689 (elf32_arm_link_hash_table_create): Initialize it.
1690 (elf32_arm_nacl_link_hash_table_create): New function.
1691 (arm_movw_immediate, arm_movt_immediate): New functions.
1692 (elf32_arm_populate_plt_entry): Test HTAB->nacl_p.
1693 (elf32_arm_finish_dynamic_sections): Likewise.
1694 (elf32_arm_output_plt_map_1): Likewise.
1695 (bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec):
1696 New backend vector stanza.
1697 (elf32_arm_nacl_modify_segment_map): New function.
1698 * config.bfd: Handle arm-*-nacl*, armeb-*-nacl*.
1699 * targets.c: Support bfd_elf32_{big,little}_nacl_vec.
1700 * configure.in: Likewise.
1701 (bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here.
1702 (bfd_elf32_littlearm_nacl_vec): Likewise.
1703 (bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise.
1704 (bfd_elf32_bigarm_symbian_vec): Likewise.
1705 (bfd_elf32_littlearm_symbian_vec): Likewise.
1706 (bfd_elf32_bigarm_vxworks_vec): Likewise.
1707 (bfd_elf32_littlearm_vxworks_vec): Likewise.
1708 * configure: Regenerated.
1709
1710 2012-04-12 Tristan Gingold <gingold (a] adacore.com>
1711
1712 * elflink.c (elf_link_output_extsym): Add a guard.
1713 (bfd_elf_final_link): Remove assertion.
1714 (bfd_elf_final_link): Add a guard.
1715 * elfnn-ia64.c (INCLUDE_IA64_VMS): Removed.
1716 (elfNN_vms_section_from_shdr, elfNN_vms_object_p)
1717 (elfNN_vms_post_process_headers, elfNN_vms_section_processing)
1718 (elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup):
1719 Remove.
1720 (elfNN-ia64-vms target): Move to ...
1721 * elf64-ia64-vms.c: New file.
1722 * configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo
1723 * Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo.
1724 (BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c.
1725 * configure: Regenerate.
1726 * Makefile.in: Regenerate.
1727
1728 2012-04-11 Nick Clifton <nickc (a] redhat.com>
1729
1730 PR binutils/13897
1731 * elf64-ppc.c (opd_entry_value): When dealing with sections
1732 without relocs, keep the last section loaded in order to avoid
1733 unnecessary reloads.
1734
1735 2012-04-09 Roland McGrath <mcgrathr (a] google.com>
1736
1737 * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs.
1738 * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs.
1739 (nacl_modify_program_headers): Likewise.
1740
1741 2012-04-03 Roland McGrath <mcgrathr (a] google.com>
1742
1743 * elf-nacl.c: New file.
1744 * elf-nacl.h: New file.
1745 * elf32-i386.c (elf_backend_modify_segment_map): Define for
1746 bfd_elf32_i386_nacl_vec.
1747 (elf_backend_modify_program_headers): Likewise.
1748 * elf64-x86-64.c (elf_backend_modify_segment_map): Define for
1749 bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec.
1750 (elf_backend_modify_program_headers): Likewise.
1751 * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here.
1752 (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here.
1753 * Makefile.in: Regenerated.
1754 * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here.
1755 (bfd_elf32_x86_64_nacl_vec): Likewise.
1756 (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise.
1757 (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise.
1758 (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise.
1759 (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise.
1760 (bfd_elf32_i386_nacl_vec): Likewise.
1761 (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise.
1762 (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise.
1763 * configure: Regenerated.
1764
1765 2012-03-31 Andreas Schwab <schwab (a] linux-m68k.org>
1766
1767 * elf32-m68k.c (elf_m68k_relocate_section): Allow
1768 R_68K_TLS_LE{8,16,32} for PIE.
1769
1770 2012-03-30 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
1771
1772 * elf64-s390.c: Fix several comments regarding PLT entry
1773 description.
1774 * elf32-s390.c: Likewise.
1775
1776 2012-03-30 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
1777
1778 * elf64-s390.c: Use the section pointer shortcuts in
1779 elf_link_hash_table and remove them from the target specific
1780 variant.
1781 * elf32-s390.c: Likewise.
1782
1783 2012-03-30 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
1784
1785 * elf64-s390.c (elf_s390x_plt_entry, elf_s390x_first_plt_entry):
1786 New definitions.
1787 (PLT_PIC_ENTRY_WORD*, PLT_PIC12_ENTRY_WORD*): Remove.
1788 (elf_s390_finish_dynamic_symbol): Use memcpy instead of bfd_put_32.
1789 (elf_s390_finish_dynamic_sections): Likewise.
1790 * elf32-s390.c (elf_s390_plt_entry, elf_s390_plt_pic_entry)
1791 (elf_s390_plt_pic12_entry, elf_s390_plt_pic16_entry)
1792 (elf_s390_plt_first_entry, elf_s390_plt_pic_first_entry): New definitions.
1793 (PLT_PIC16_ENTRY_WORD*, PLT_ENTRY_WORD*)
1794 (PLT_PIC_FIRST_ENTRY_WORD*, PLT_FIRST_ENTRY_WORD*): Remove.
1795
1796 2012-03-30 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
1797
1798 * elf32-s390.c (struct elf_s390_dyn_relocs): Remove.
1799 Rename all occurrences in the file to elf_dyn_relocs.
1800 * elf64-s390.c: Likewise.
1801
1802 2012-03-30 Alan Modra <amodra (a] gmail.com>
1803
1804 * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
1805 libraries.
1806
1807 2012-03-29 Alan Modra <amodra (a] gmail.com>
1808
1809 * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete.
1810 * bfd-in2.h: Regenerate.
1811
1812 2012-03-23 Alan Modra <amodra (a] gmail.com>
1813
1814 * elf.c (assign_file_positions_for_non_load_sections): Don't warn
1815 on empty alloc sections.
1816
1817 2012-03-23 Alan Modra <amodra (a] gmail.com>
1818
1819 * linker.c (_bfd_nearby_section): New function, split out from..
1820 (fix_syms): ..here.
1821 * bfd-in.h (_bfd_nearby_section): Declare.
1822 * bfd-in2.h: Regenerate.
1823 * elflink.c (elf_link_input_bfd): Don't use text_index_section or
1824 data_index_section with ld -q or ld -r output relocs against
1825 stripped output sections. Instead use _bfd_nearby_section.
1826
1827 2012-03-23 Alan Modra <amodra (a] gmail.com>
1828
1829 PR binutils/13894
1830 * elf64-ppc.c (opd_entry_value): Read full symbol table when
1831 sym hashes unavailable.
1832
1833 2012-03-21 Eliot Dresselhaus <eliot (a] sonic.net>
1834
1835 * elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE
1836 for non-C6X objects.
1837
1838 2012-03-20 Kai Tietz <ktietz (a] redhat.com>
1839
1840 PR ld/12742
1841 * configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h.
1842 * plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined.
1843 Add windows.h header include if HAVE_WINDOWS_H is defined.
1844 (dlerror): New static function if windows variant is used instead
1845 of dlfcn.h.
1846 (dlclose): Likewise.
1847 (dlopen): Likewise.
1848 (dlsym): Likewise.
1849 * configure: Regenerated.
1850 * config.in: Regenerated.
1851
1852 2012-03-20 H.J. Lu <hongjiu.lu (a] intel.com>
1853
1854 PR ld/13880
1855 * elf32-i386.c (elf_i386_relocate_section): Don't issue an error
1856 for R_386_GOTOFF relocation against protected function if
1857 SYMBOLIC_BIND is true.
1858
1859 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an
1860 error for R_X86_64_GOTOFF64 relocation against protected function
1861 when building executable or SYMBOLIC_BIND is true.
1862
1863 2012-03-16 Roland McGrath <mcgrathr (a] google.com>
1864
1865 * config.bfd: Handle x86_64-*-nacl*.
1866 * elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
1867 (bfd_elf32_x86_64_nacl_vec): Likewise.
1868 * targets.c: Support them.
1869 * configure.in: Likewise.
1870 * configure: Regenerated.
1871
1872 2012-03-16 Matthew Gretton-Dann <matthew.gretton-dann (a] arm.com>
1873
1874 * elf32-arm.c (elf32_arm_attributes_accept_div): New function.
1875 (elf32_arm_attributes_forbid_div): Likewise.
1876 (elf32_arm_merge_eabi_attributes): Correct handling of
1877 Tag_DIV_use.
1878
1879 2012-03-15 Roland McGrath <mcgrathr (a] google.com>
1880
1881 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
1882 elf_x86_64_backend_data parameters for plt_eh_frame.
1883
1884 * elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
1885 (get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
1886 (elf_x86_64_arch_bed): New variable.
1887 (elf_backend_arch_data): New macro.
1888 (elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
1889 (elf_x86_64_allocate_dynrelocs): Likewise.
1890 (elf_x86_64_relocate_section): Likewise.
1891 (elf_x86_64_plt_sym_val): Likewise.
1892 (elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
1893 parameters for PLT details.
1894 (elf_x86_64_finish_dynamic_sections): Likewise.
1895
1896 2012-03-14 Roland McGrath <mcgrathr (a] google.com>
1897
1898 * elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
1899 to the full size, padding out with nop instructions.
1900
1901 2012-03-12 Alan Modra <amodra (a] gmail.com>
1902
1903 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't warn
1904 on zero size dynbss symbol.
1905 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1906 * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
1907 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1908 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1909 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1910 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1911 * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
1912 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1913 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1914 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1915 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1916 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1917 * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
1918 * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
1919 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1920 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1921 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1922 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1923 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
1924 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1925 * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
1926
1927 2012-03-10 Edmar Wienskoski <edmar (a] freescale.com>
1928
1929 * archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
1930 * bfd-in2.h: Regenerate.
1931 * cpu-powerpc.c (bfd_powerpc_archs): Add entries for
1932 bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
1933
1934 2012-03-09 H.J. Lu <hongjiu.lu (a] intel.com>
1935
1936 PR ld/13817
1937 * elf32-i386.c (elf_i386_relocate_section): Restore
1938 R_386_IRELATIVE.
1939
1940 * elf64-x86-64.c (elf_x86_64_relocate_section): Restore
1941 R_X86_64_IRELATIVE.
1942
1943 2012-03-08 Tristan Gingold <gingold (a] adacore.com>
1944
1945 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Set maximum
1946 keylen according to archive kind. Set nextvbn and nextrfa lhd
1947 fields. Add comments.
1948
1949 2012-03-07 Nick Clifton <nickc (a] redhat.com>
1950
1951 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type
1952 field.
1953 (elf32_mn10300_link_hash_table): Add tls_ldm_got entry;
1954 (elf_mn10300_tdata): Define.
1955 (elf_mn10300_local_got_tls_type): Define.
1956 (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD,
1957 R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
1958 R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
1959 R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs.
1960 (mn10300_reloc_map): Likewise.
1961 (elf_mn10300_tls_transition): New function.
1962 (dtpoff, tpoff, mn10300_do_tls_transition): New functions.
1963 (mn10300_elf_check_relocs): Add TLS support.
1964 (mn10300_elf_final_link_relocate): Likewise.
1965 (mn10300_elf_relocate_section): Likewise.
1966 (mn10300_elf_relax_section): Likewise.
1967 (elf32_mn10300_link_hash_newfunc): Initialise new field.
1968 (_bfd_mn10300_copy_indirect_symbol): New function.
1969 (elf32_mn10300_link_hash_table_create): Initialise new fields.
1970 (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support.
1971 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1972 (_bfd_mn10300_elf_reloc_type_class): Allocate an
1973 elf_mn10300_obj_tdata structure.
1974 (elf_backend_copy_indirect_symbol): Define.
1975 * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD,
1976 BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE,
1977 BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD,
1978 BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations.
1979 (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to
1980 alongside other MN10300 relocations.
1981 * bfd-in2.h: Regenerate.
1982 * libbfd.h: Regenerate.
1983
1984 2012-03-06 Jakub Jelinek <jakub (a] redhat.com>
1985
1986 * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE
1987 set relocate to TRUE.
1988
1989 2012-03-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1990
1991 PR ld/12152
1992 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore
1993 overflows for R_SPARC_UA32 in .stab sections.
1994
1995 2012-03-01 Alan Modra <amodra (a] gmail.com>
1996
1997 * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
1998
1999 2012-02-27 Alan Modra <amodra (a] gmail.com>
2000
2001 * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
2002 before calling elf specific function.
2003 (sh_elf_osec_readonly_p): Test for error return from above.
2004
2005 2012-02-27 Alan Modra <amodra (a] gmail.com>
2006
2007 * elf32-spu.c (build_stub): Fix malloc under-allocation.
2008
2009 2012-02-25 Walter Lee <walt (a] tilera.com>
2010 * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
2011 BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
2012 BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
2013 BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
2014 BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
2015 BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
2016 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
2017 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
2018 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
2019 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
2020 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
2021 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
2022 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
2023 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
2024 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
2025 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
2026 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
2027 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
2028 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
2029 BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
2030 BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
2031 BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
2032 BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
2033 BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
2034 BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
2035 BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
2036 Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
2037 BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
2038 BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
2039 BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
2040 BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
2041 BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
2042 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
2043 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
2044 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
2045 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
2046 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
2047 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
2048 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
2049 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
2050 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
2051 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
2052 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
2053 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
2054 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
2055 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
2056 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
2057 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
2058 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
2059 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
2060 * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
2061 relocations.
2062 (tilepro_reloc_map): Ditto.
2063 (tilepro_info_to_howto_rela): Ditto.
2064 (reloc_to_create_func): Ditto.
2065 (tilepro_tls_translate_to_le): New.
2066 (tilepro_tls_translate_to_ie): New.
2067 (tilepro_elf_tls_transition): New.
2068 (tilepro_elf_check_relocs): Handle new tls relocations.
2069 (tilepro_elf_gc_sweep_hook): Ditto.
2070 (allocate_dynrelocs): Ditto.
2071 (tilepro_elf_relocate_section): Ditto.
2072 (tilepro_replace_insn): New.
2073 (insn_mask_X1): New.
2074 (insn_mask_X0_no_dest_no_srca): New
2075 (insn_mask_X1_no_dest_no_srca): New
2076 (insn_mask_Y0_no_dest_no_srca): New
2077 (insn_mask_Y1_no_dest_no_srca): New
2078 (srca_mask_X0): New
2079 (srca_mask_X1): New
2080 (insn_tls_le_move_X1): New
2081 (insn_tls_le_move_zero_X0X1): New
2082 (insn_tls_ie_lw_X1): New
2083 (insn_tls_ie_add_X0X1): New
2084 (insn_tls_ie_add_Y0Y1): New
2085 (insn_tls_gd_add_X0X1): New
2086 (insn_tls_gd_add_Y0Y1): New
2087 * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
2088 relocations.
2089 (tilegx_reloc_map): Ditto.
2090 (tilegx_info_to_howto_rela): Ditto.
2091 (reloc_to_create_func): Ditto.
2092 (tilegx_elf_link_hash_table): New field disable_le_transition.
2093 (tilegx_tls_translate_to_le): New.
2094 (tilegx_tls_translate_to_ie): New.
2095 (tilegx_elf_tls_transition): New.
2096 (tilegx_elf_check_relocs): Handle new tls relocations.
2097 (tilegx_elf_gc_sweep_hook): Ditto.
2098 (allocate_dynrelocs): Ditto.
2099 (tilegx_elf_relocate_section): Ditto.
2100 (tilegx_copy_bits): New.
2101 (tilegx_replace_insn): New.
2102 (insn_mask_X1): New.
2103 (insn_mask_X0_no_dest_no_srca): New.
2104 (insn_mask_X1_no_dest_no_srca): New.
2105 (insn_mask_Y0_no_dest_no_srca): New.
2106 (insn_mask_Y1_no_dest_no_srca): New.
2107 (insn_mask_X0_no_operand): New.
2108 (insn_mask_X1_no_operand): New.
2109 (insn_mask_Y0_no_operand): New.
2110 (insn_mask_Y1_no_operand): New.
2111 (insn_tls_ie_ld_X1): New.
2112 (insn_tls_ie_ld4s_X1): New.
2113 (insn_tls_ie_add_X0X1): New.
2114 (insn_tls_ie_add_Y0Y1): New.
2115 (insn_tls_ie_addx_X0X1): New.
2116 (insn_tls_ie_addx_Y0Y1): New.
2117 (insn_tls_gd_add_X0X1): New.
2118 (insn_tls_gd_add_Y0Y1): New.
2119 (insn_move_X0X1): New.
2120 (insn_move_Y0Y1): New.
2121 (insn_add_X0X1): New.
2122 (insn_add_Y0Y1): New.
2123 (insn_addx_X0X1): New.
2124 (insn_addx_Y0Y1): New.
2125 * libbfd.h: Regenerate.
2126 * bfd-in2.h: Regenerate.
2127
2128 2012-02-25 Walter Lee <walt (a] tilera.com>
2129
2130 * config.bfd (tilegx-*-*): rename little endian vector; add big
2131 endian vector.
2132 (tilegxbe-*-*): New case.
2133 * configure.in (bfd_elf32_tilegx_vec): Rename...
2134 (bfd_elf32_tilegx_le_vec): ... to this.
2135 (bfd_elf32_tilegx_be_vec): New vector.
2136 (bfd_elf64_tilegx_vec): Rename...
2137 (bfd_elf64_tilegx_le_vec): ... to this.
2138 (bfd_elf64_tilegx_be_vec): New vector.
2139 * configure: Regenerate.
2140 * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
2141 (TARGET_LITTLE_NAME): Ditto.
2142 (TARGET_BIG_SYM): Define.
2143 (TARGET_BIG_NAME): Define.
2144 * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
2145 (TARGET_LITTLE_NAME): Ditto.
2146 (TARGET_BIG_SYM): Define.
2147 (TARGET_BIG_NAME): Define.
2148 * targets.c (bfd_elf32_tilegx_vec): Rename...
2149 (bfd_elf32_tilegx_le_vec): ... to this.
2150 (bfd_elf32_tilegx_be_vec): Declare.
2151 (bfd_elf64_tilegx_vec): Rename...
2152 (bfd_elf64_tilegx_le_vec): ... to this.
2153 (bfd_elf64_tilegx_be_vec): Declare.
2154 (_bfd_target_vector): Add / rename above vectors.
2155 * arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
2156 * bfd-in2.h: Regenerate.
2157 * cpu-tilegx.c (bfd_tilegx32_arch): define.
2158 (bfd_tilegx_arch): link to bfd_tilegx32_arch.
2159
2160 2012-02-24 Nick Clifton <nickc (a] redhat.com>
2161
2162 PR ld/13730
2163 * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
2164 error message instead of aborting, when an outofrange reloc is
2165 encountered.
2166
2167 2012-02-23 Iain Sandoe <idsandoe (a] googlemail.com>
2168
2169 * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
2170 (bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc
2171 bit-fields when target and host differ in endian-ness. When
2172 PAIRs are non-scattered find the 'symbol' from the preceding
2173 reloc. Add FIXME re. reloc symbols on section boundaries.
2174 (bfd_mach_o_swap_out_non_scattered_reloc): New.
2175 (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
2176
2177 2012-02-17 Iain Sandoe <idsandoe (a] googlemail.com>
2178
2179 * mach-o-i386.c (i386_howto_table): Add support for 16 bit
2180 sect-diffs.
2181 (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
2182 (bfd_mach_o_i386_swap_reloc_out): Likewise.
2183
2184 2012-02-17 Tristan Gingold <gingold (a] adacore.com>
2185
2186 * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
2187 * libbfd.h: Regenerated.
2188 * bfd-in2.h: Likewise.
2189 * mach-o-i386.c (i386_howto_table): Include local sectdiff.
2190 (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
2191 (bfd_mach_o_i386_swap_reloc_out): Likewise.
2192
2193 2012-02-17 Andreas Krebbel <Andreas.Krebbel (a] de.ibm.com>
2194
2195 * elf32-s390.c (elf_s390_relocate_section): Support basr in the
2196 GD->LE and LD->LE optimizations.
2197
2198 2012-02-16 Alan Modra <amodra (a] gmail.com>
2199
2200 PR binutils/13355
2201 * elf32-rx.c (elf32_rx_relax_section): Correct width check.
2202
2203 2012-02-13 Richard Henderson <rth (a] redhat.com>
2204
2205 PR ld/13621
2206 * linker.c (fix_syms): Force symbols outside any section into
2207 bfd_abs_section_ptr.
2208
2209 2012-02-13 Alan Modra <amodra (a] gmail.com>
2210
2211 * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
2212 * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
2213 * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
2214 * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
2215
2216 2012-02-11 Jan Kratochvil <jan.kratochvil (a] redhat.com>
2217 Nick Clifton <nickc (a] redhat.com>
2218
2219 * oasys.c (oasys_write_header): Fix compilation warning on zero-sized
2220 memset.
2221
2222 2012-02-10 Iain Sandoe <idsandoe (a] googlemail.com>
2223
2224 * mach-o.c (bfd_mach_o_build_seg_command): Count zerofill section
2225 vma additions in their logical, rather than physical order.
2226
2227 2012-02-10 Iain Sandoe <idsandoe (a] googlemail.com>
2228
2229 * mach-o.c (mach_o_section_name_xlat): Correct eh-frame section
2230 parameters.
2231 * mach-o-x86-64.c (text_section_names_xlat): New.
2232 (mach_o_x86_64_segsec_names_xlat): New.
2233 (bfd_mach_o_tgt_seg_table): Define to mach_o_x86_64_segsec_names_xlat.
2234 * mach-o-i386.c (text_section_names_xlat): Correct section parameters.
2235
2236 2012-02-10 Tristan Gingold <gingold (a] adacore.com>
2237
2238 * elfnn-ia64.c (elfNN_vms_object_p): Change comparison operator
2239 to avoid infinite loop. Add comments.
2240
2241 2012-02-09 H.J. Lu <hongjiu.lu (a] intel.com>
2242
2243 PR ld/13675
2244 * cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte
2245 nop instructions.
2246 (bfd_arch_i386_short_nop_fill): New.
2247 (bfd_arch_i386_long_nop_fill): Likewise.
2248 Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info
2249 initializers. Use bfd_arch_i386_long_nop_fill on 64bit
2250 bfd_arch_info initializers.
2251
2252 * cpu-k1om.c (bfd_arch_i386_fill): Renamed to ...
2253 (bfd_arch_i386_short_nop_fill): This.
2254 Update bfd_arch_info initializers.
2255 * cpu-l1om.c: Likewise.
2256
2257 2012-02-08 Alan Modra <amodra (a] gmail.com>
2258
2259 * elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too.
2260 (_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear
2261 the correct h->u.weakdef.
2262
2263 2012-02-07 Alan Modra <amodra (a] gmail.com>
2264
2265 * elf.c (elf_find_function): Don't use internal_elf_sym.
2266 (_bfd_elf_maybe_function_sym): Likewise. Replace elf_symbol_type
2267 parameter with asymbol.
2268 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
2269 * elf-bfd.h (_bfd_elf_maybe_function_sym): Update prototype.
2270 (struct elf_backend_data <maybe_function_sym>): Likewise.
2271
2272 2012-02-02 Vidya Praveen (vidya.praveen (a] atmel.com)
2273
2274 PR bfd/13410
2275 * elf32-avr.c (elf32_avr_relax_section): Correct the
2276 condition that qualifies the candidates for relaxation.
2277
2278 2012-02-02 Tristan Gingold <gingold (a] adacore.com>
2279
2280 * bfdio.c (real_fopen): Remove unused vms_modes variable.
2281
2282 2012-02-02 Tristan Gingold <gingold (a] adacore.com>
2283
2284 * mach-o.c (bfd_mach_o_read_header): Silent uninitialized
2285 variable warning.
2286
2287 2012-02-02 Tristan Gingold <gingold (a] adacore.com>
2288
2289 * archive.c (bfd_slurp_armap): Fix thinko in cast.
2290
2291 2012-01-31 H.J. Lu <hongjiu.lu (a] intel.com>
2292
2293 PR ld/13616
2294 * archures.c (bfd_arch_info): Add fill.
2295 (bfd_default_arch_struct): Add bfd_arch_default_fill.
2296 (bfd_arch_default_fill): New.
2297
2298 * configure.in: Set bfd version to 2.22.52.
2299 * configure: Regenerated.
2300
2301 * cpu-alpha.c: Add bfd_arch_default_fill to bfd_arch_info
2302 initializer.
2303 * cpu-arc.c: Likewise.
2304 * cpu-arm.c: Likewise.
2305 * cpu-avr.c: Likewise.
2306 * cpu-bfin.c: Likewise.
2307 * cpu-cr16.c: Likewise.
2308 * cpu-cr16c.c: Likewise.
2309 * cpu-cris.c: Likewise.
2310 * cpu-crx.c: Likewise.
2311 * cpu-d10v.c: Likewise.
2312 * cpu-d30v.c: Likewise.
2313 * cpu-dlx.c: Likewise.
2314 * cpu-epiphany.c: Likewise.
2315 * cpu-fr30.c: Likewise.
2316 * cpu-frv.c: Likewise.
2317 * cpu-h8300.c: Likewise.
2318 * cpu-h8500.c: Likewise.
2319 * cpu-hppa.c: Likewise.
2320 * cpu-i370.c: Likewise.
2321 * cpu-i860.c: Likewise.
2322 * cpu-i960.c: Likewise.
2323 * cpu-ia64.c: Likewise.
2324 * cpu-ip2k.c: Likewise.
2325 * cpu-iq2000.c: Likewise.
2326 * cpu-lm32.c: Likewise.
2327 * cpu-m10200.c: Likewise.
2328 * cpu-m10300.c: Likewise.
2329 * cpu-m32c.c: Likewise.
2330 * cpu-m32r.c: Likewise.
2331 * cpu-m68hc11.c: Likewise.
2332 * cpu-m68hc12.c: Likewise.
2333 * cpu-m68k.c: Likewise.
2334 * cpu-m88k.c: Likewise.
2335 * cpu-mcore.c: Likewise.
2336 * cpu-mep.c: Likewise.
2337 * cpu-microblaze.c: Likewise.
2338 * cpu-mips.c: Likewise.
2339 * cpu-mmix.c: Likewise.
2340 * cpu-moxie.c: Likewise.
2341 * cpu-msp430.c: Likewise.
2342 * cpu-mt.c: Likewise.
2343 * cpu-ns32k.c: Likewise.
2344 * cpu-openrisc.c: Likewise.
2345 * cpu-or32.c: Likewise.
2346 * cpu-pdp11.c: Likewise.
2347 * cpu-pj.c: Likewise.
2348 * cpu-plugin.c: Likewise.
2349 * cpu-powerpc.c: Likewise.
2350 * cpu-rl78.c: Likewise.
2351 * cpu-rs6000.c: Likewise.
2352 * cpu-rx.c: Likewise.
2353 * cpu-s390.c: Likewise.
2354 * cpu-score.c: Likewise.
2355 * cpu-sh.c: Likewise.
2356 * cpu-sparc.c: Likewise.
2357 * cpu-spu.c: Likewise.
2358 * cpu-tic30.c: Likewise.
2359 * cpu-tic4x.c: Likewise.
2360 * cpu-tic54x.c: Likewise.
2361 * cpu-tic6x.c: Likewise.
2362 * cpu-tic80.c: Likewise.
2363 * cpu-tilegx.c: Likewise.
2364 * cpu-tilepro.c: Likewise.
2365 * cpu-v850.c: Likewise.
2366 * cpu-vax.c: Likewise.
2367 * cpu-w65.c: Likewise.
2368 * cpu-we32k.c: Likewise.
2369 * cpu-xc16x.c: Likewise.
2370 * cpu-xstormy16.c: Likewise.
2371 * cpu-xtensa.c: Likewise.
2372 * cpu-z80.c: Likewise.
2373 * cpu-z8k.c: Likewise.
2374
2375 * cpu-i386.c: Include "libiberty.h".
2376 (bfd_arch_i386_fill): New.
2377 Add bfd_arch_i386_fill to bfd_arch_info initializer.
2378
2379 * cpu-k1om.c: Add bfd_arch_i386_fill to bfd_arch_info initializer.
2380 * cpu-l1om.c: Likewise.
2381
2382 * linker.c (default_data_link_order): Call abfd->arch_info->fill
2383 if fill size is 0.
2384
2385 * bfd-in2.h: Regenerated.
2386
2387 2012-01-27 Michael Eager <eager (a] eagercon.com>
2388
2389 * elf32-microblaze.c (create_got_section):
2390 Reuse existing .rela.got section.
2391
2392 2012-01-23 Alan Modra <amodra (a] gmail.com>
2393
2394 * elf-bfd.h: Formatting.
2395 (struct elf_backend_data): Add "maybe_function_sym".
2396 (_bfd_elf_maybe_function_sym): Declare.
2397 * elfxx-target.h (elf_backend_maybe_function_sym): Define.
2398 (elfNN_bed): Init new field.
2399 * elf.c (elf_find_function): Use maybe_function_sym.
2400 (_bfd_elf_maybe_function_sym): New function.
2401 * elf64-ppc.c (elf_backend_maybe_function_sym): Define.
2402 (ppc64_elf_maybe_function_sym): New function.
2403
2404 2012-01-20 Francois Gouget <fgouget (a] codeweavers.com>
2405
2406 PR binutils/13534
2407 * archive.c (_bfd_ar_sizepad): New function. Correctly install and
2408 pad the size field in an archive header.
2409 (_bfd_generic_read_ar_hdr_mag): Use the correct type and scan
2410 function for the archive size field.
2411 (bfd_generic_openr_next_archived_file): Likewise.
2412 (do_slurp_coff_armap): Likewise.
2413 (_bfd_write_archive_contents): Likewise.
2414 (_bfd_bsd44_write_ar_hdr): Use the new function.
2415 (bfd_ar_hdr_from_filesystem): Likewise.
2416 (_bfd_write_archive_contents): Likewise.
2417 (bsd_write_armap): Likewise.
2418 (coff_write_armap): Likewise.
2419 * archive64.c (bfd_elf64_archive_write_armap): Likewise.
2420 * bfdio.c (bfd_bread): Use correct type for archive element
2421 sizes.
2422 * ar.c (open_inarch): Likewise.
2423 (extract_file): Likewise.
2424 * libbfd-in.h (struct areltdata): Use correct types for
2425 parsed_size and extra_size fields.
2426 Prototype _bfd_ar_sizepad function.
2427 * libbfd.h: Regenerate.
2428
2429 2012-01-20 Ulrich Weigand <ulrich.weigand (a] linaro.org>
2430
2431 * elf.c (elfcore_write_prpsinfo): Provide unconditionally.
2432 Return NULL if core file generation is unsupported.
2433 (elfcore_write_prstatus): Likewise.
2434 * elf32-arm.c (elf32_arm_nabi_write_core_note): New function.
2435 (elf_backend_write_core_note): Define.
2436
2437 2012-01-19 Tristan Gingold <gingold (a] adacore.com>
2438
2439 * pef.c: Add a comment.
2440 * xsym.c: Likewise.
2441
2442 2012-01-17 Alan Modra <amodra (a] gmail.com>
2443
2444 * elf32-ppc.c (ppc_elf_write_core_note <NT_PRPSINFO>): Don't leave
2445 trailing garbage in the note.
2446 * elf64-ppc.c (ppc64_elf_write_core_note <NT_PRPSINFO>): Likewise.
2447
2448 2012-01-16 Daniel Green <venix1 (a] gmail.com>
2449
2450 PR ld/13491
2451 * coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test
2452 h->root.type not h->type.
2453 * coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise.
2454
2455 2012-01-13 Iain Sandoe <idsandoe (a] googlemail.com>
2456
2457 * mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
2458 indirect symbols.
2459
2460 2012-01-13 Iain Sandoe <idsandoe (a] googlemail.com>
2461
2462 * mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file
2463 position from here... to (bfd_mach_o_build_seg_command): Here.
2464
2465 2012-01-12 Iain Sandoe <idsandoe (a] googlemail.com>
2466
2467 * mach-o.c (bfd_mach_o_count_indirect_symbols): New.
2468 (bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
2469 * mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
2470 file. (bfd_mach_o_section): Add indirect_syms field.
2471
2472 2012-01-11 Iain Sandoe <idsandoe (a] googlemail.com>
2473
2474 * mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
2475 vmsize from filesize. Don't compute offsets or file sizes for
2476 zerofill sections.
2477
2478 2012-01-11 Iain Sandoe <idsandoe (a] googlemail.com>
2479
2480 * mach-o.c (bfd_mach_o_build_commands): Make the building of each
2481 command type independent.
2482
2483 2012-01-11 Alan Modra <amodra (a] gmail.com>
2484
2485 * elf64-ppc.c: Define more insns used in plt call stubs.
2486 (ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
2487 (ppc64_elf_relocate_section): Likewise.
2488 (enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
2489 (struct ppc_link_hash_table): Increase size of stub_count array.
2490 Add plt_stub_align and plt_thread_safe.
2491 (ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
2492 (plt_stub_size, plt_stub_pad): New functions.
2493 (build_plt_stub): Emit barriers for power7 thread safety. Don't
2494 emit needless save of r2.
2495 (build_tls_get_addr_stub): Adjust params.
2496 (ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
2497 plt stubs. Adjust build_*plt_stub calls.
2498 (ppc_size_one_stub): Similarly.
2499 (ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
2500 params. Choose default for plt_thread_safe based on existence of
2501 calls to thread creation functions. Modify plt_call to
2502 plt_call_r2save when no tocsave reloc found. Align tail of stub
2503 sections.
2504 (ppc64_elf_build_stubs): Align tail of stub sections. Adjust
2505 output of stub statistics.
2506 (ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
2507 * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
2508
2509 2012-01-10 H.J. Lu <hongjiu.lu (a] intel.com>
2510
2511 PR ld/13581
2512 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
2513 check on R_X86_64_PCXX.
2514
2515 2012-01-10 Tristan Gingold <gingold (a] adacore.com>
2516
2517 * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
2518 warning.
2519
2520 2012-01-10 Tristan Gingold <gingold (a] adacore.com>
2521
2522 * bfdio.c (bfd_tell): Handle nested archives.
2523 (bfd_seek): Ditto.
2524 * cache.c (bfd_cache_lookup_worker): Ditto.
2525 * archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
2526 nested archives.
2527 (bfd_generic_openr_next_archived_file): Likewise.
2528
2529 2012-01-09 Iain Sandoe <idsandoe (a] googlemail.com>
2530
2531 * mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
2532 (bfd_mach_o_write_symtab): Remove handling for indirect syms.
2533 (bfd_mach_o_primary_symbol_sort_key): Likewise.
2534 (bfd_mach_o_cf_symbols): Likewise.
2535 (bfd_mach_o_sort_symbol_table): Remove.
2536 (bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
2537 for indirect and dysymtab counts. Do the symbol sorting here.
2538 (bfd_mach_o_build_dysymtab_command): Count the symbol types here.
2539 Make the indirect symbols a TODO.
2540 (bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
2541 (bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
2542 a non-zero value.
2543 (bfd_mach_o_read_symtab_symbol): Record the symbol index.
2544 (bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
2545 * mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
2546 (IS_MACHO_INDIRECT): Remove.
2547 (SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
2548
2549 2012-01-06 Nick Clifton <nickc (a] redhat.com>
2550
2551 PR binutils/13121
2552 * reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
2553 'flaginfo' to avoid conflicts with AIX system headers.
2554
2555 2012-01-06 Tristan Gingold <gingold (a] adacore.com>
2556
2557 * bfdio.c (bfd_bread): Use arelt_size macro.
2558
2559 2012-01-06 Tristan Gingold <gingold (a] adacore.com>
2560
2561 * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
2562
2563 2012-01-05 Nick Clifton <nickc (a] redhat.com>
2564
2565 PR ld/12161
2566 * elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
2567 necessary.
2568
2569 2012-01-05 Jan Kratochvil <jan.kratochvil (a] redhat.com>
2570
2571 Fix zero registers core files when built by gcc-4.7.
2572 * elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
2573 size. Call elfcore_write_note for the local variables. Remove the
2574 final elfcore_write_note call. Add NOTREACHED comments.
2575
2576 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2577
2578 * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
2579 (bfd_mach_o_generic_stat_arch_elt): Adjust.
2580
2581 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2582
2583 * mach-o.c (bfd_mach_o_fat_member_init): New function.
2584 (bfd_mach_o_openr_next_archived_file): Reindent.
2585 Adjust to call bfd_mach_o_fat_member_init.
2586 (bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
2587
2588 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2589
2590 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
2591 BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
2592 BFD_RELOC_MACH_O_X86_64_PCREL32_2,
2593 BFD_RELOC_MACH_O_X86_64_PCREL32_4,
2594 BFD_RELOC_MACH_O_X86_64_BRANCH32,
2595 BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
2596 BFD_RELOC_MACH_O_X86_64_GOT.
2597
2598 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2599
2600 * mach-o.h (bfd_mach_o_fvmlib_command): New structure.
2601 (bfd_mach_o_load_command): Add fvmlib field.
2602
2603 * mach-o.c (bfd_mach_o_read_fvmlib): New function.
2604 (bfd_mach_o_read_command): Handle fvmlib.
2605
2606 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2607
2608 * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
2609 Decode msubtype for ARM.
2610
2611 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2612
2613 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
2614
2615 2012-01-04 Tristan Gingold <gingold (a] adacore.com>
2616
2617 * mach-o.h: Reindent header.
2618 (bfd_mach_o_encryption_info_command): New structure.
2619 (bfd_mach_o_load_command): Add encryption_info field.
2620
2621 * mach-o.c (bfd_mach_o_read_encryption_info): New function.
2622 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
2623 (bfd_mach_o_read_command): Adjust error message.
2624
2625 2012-01-04 Shinichiro Hamaji <shinichiro.hamaji (a] gmail.com>
2626
2627 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
2628 which reads DWARF2 and stores in stash from find_line.
2629 (find_line) Call _bfd_dwarf2_slurp_debug_info.
2630 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
2631 * libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
2632 * mach-o.c (dsym_subdir): The name of subdir where debug
2633 information may be stored.
2634 (bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
2635 type is UUID.
2636 (bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
2637 corresponding to the executable.
2638 (bfd_mach_o_find_dsym): New. Find a debug information BFD in the
2639 specified binary file.
2640 (bfd_mach_o_follow_dsym): New. Find a debug information BFD for
2641 the original BFD.
2642 (bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
2643 executables, dylibs, and bundles.
2644 (bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
2645 * mach-o.h (dsym_bfd): The BFD of the dSYM file.
2646
2647 2012-01-03 Iain Sandoe <idsandoe (a] googlemail.com>
2648
2649 * mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
2650 for stabd symbols.
2651 (bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
2652 (bfd_mach_o_cf_symbols): Likewise.
2653
2654 2012-01-03 Iain Sandoe <idsandoe (a] googlemail.com>
2655
2656 * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
2657
2658 2012-01-03 Iain Sandoe <idsandoe (a] googlemail.com>
2659
2660 * mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
2661 as the value of an indirect symbol. Keep the string table index in
2662 non-indirect syms for reference.
2663 (bfd_mach_o_write_dysymtab): New.
2664 (bfd_mach_o_primary_symbol_sort_key): New.
2665 (bfd_mach_o_cf_symbols): New.
2666 (bfd_mach_o_sort_symbol_table): New.
2667 (bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols.
2668 If we are emitting a dysymtab, process indirect symbols and count the
2669 number of each other kind.
2670 (bfd_mach_o_mangle_sections): New.
2671 (bfd_mach_o_write_contents): Split out some pre-requisite code into
2672 the command builder. Write dysymtab if the command is present.
2673 (bfd_mach_o_count_sections_for_seg): New.
2674 (bfd_mach_o_build_seg_command): New.
2675 (bfd_mach_o_build_dysymtab_command): New.
2676 (bfd_mach_o_build_commands): Reorganize to support the fact that some
2677 commands are optional and should not be emitted if there are no
2678 sections or symbols.
2679 (bfd_mach_o_set_section_contents): Amend comment.
2680 * mach-o.h: Amend and add to comments.
2681 (mach_o_data_struct): Add fields for dysymtab symbols counts and a
2682 pointer to the indirects, when present.
2683 (bfd_mach_o_should_emit_dysymtab): New macro.
2684 (IS_MACHO_INDIRECT): Likewise.
2685
2686 For older changes see ChangeLog-2011
2687
2689 Local Variables:
2690 mode: change-log
2691 left-margin: 8
2692 fill-column: 74
2693 version-control: never
2694 End:
2695