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