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