]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog-2012
[gdb/testsuite] Fix stray file in get_compiler_info
[thirdparty/binutils-gdb.git] / bfd / ChangeLog-2012
CommitLineData
bab4becb
NC
12012-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
62012-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
122012-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
192012-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
282012-12-18 H.J. Lu <hongjiu.lu@intel.com>
29
30 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Reindent.
31
322012-12-18 Edgar E. Iglesias <edgar.iglesias@gmail.com>
33
34 PR ld/14736
35 * elf32-microblaze.c (calc_fixup): Add end range.
36
372012-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
422012-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
482012-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
662012-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
722012-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
792012-12-14 Tom Tromey <tromey@redhat.com>
80
81 * elf.c (elfcore_grok_note) <NT_FILE>: New case.
82
832012-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
902012-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
1122012-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
1182012-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
1242012-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
1292012-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
1342012-12-05 Leif Ekblad <leif@rdos.net>
135
136 * config.bfd: Add x86_64-*-rdos.
137
1382012-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
1432012-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
1512012-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
1572012-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
1622012-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
1742012-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
1812012-11-29 Roland McGrath <mcgrathr@google.com>
182
183 * elf-nacl.c (segment_eligible_for_headers): Disallow writable segments.
184
1852012-11-26 Roland McGrath <mcgrathr@google.com>
186
187 * elf-nacl.c (nacl_modify_segment_map): Don't crash when INFO is null.
188
1892012-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
1962012-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
2042012-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
2122012-11-20 Alan Modra <amodra@gmail.com>
213
214 * elf32-rx.c (rx_elf_print_private_bfd_data): Warning fix.
215
2162012-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
2252012-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
2302012-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
2412012-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
2462012-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
2512012-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
2902012-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
3042012-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
3192012-11-08 Tom Tromey <tromey@redhat.com>
320
321 * elf.c (elfcore_grok_note) <NT_SIGINFO>: New case; make
322 pseudosection.
323
3242012-11-08 Alan Modra <amodra@gmail.com>
325
326 * aclocal.m4: Regenerate.
327 * Makefile.in: Regenerate.
328 * po/SRC-POTFILES.in: Regenerate.
329
3302012-11-07 H.J. Lu <hongjiu.lu@intel.com>
331
332 * section.c (bfd_get_section_contents): Replace memcpy
333 with memmove.
334
3352012-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
3422012-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
3532012-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
3582012-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
3652012-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
3702012-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
3792012-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
3852012-11-06 Alan Modra <amodra@gmail.com>
386
387 * elf64-ppc.c (maybe_strip_output): Heed SEC_KEEP.
388
3892012-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
3962012-11-05 Alan Modra <amodra@gmail.com>
397
398 * configure.in: Apply 2012-09-10 change to config.in here.
399
4002012-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
4062012-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
4112012-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
4182012-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
4442012-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
4492012-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
4562012-10-26 Nick Clifton <nickc@redhat.com>
457
458 * po/uk.po: Updated Ukranian translation.
459
4602012-10-26 Alan Modra <amodra@gmail.com>
461
4d9d2f16 462 PR gas/14758
bab4becb
NC
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
4692012-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
4752012-10-24 H.J. Lu <hongjiu.lu@intel.com>
476
477 * compress.c (bfd_is_section_compressed): Don't decompress the
478 section.
479
4802012-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
5352012-10-22 Alan Modra <amodra@gmail.com>
536
537 * cache.c (cache_bmmap): Don't use void* arithmetic.
538
5392012-10-21 Alan Modra <amodra@gmail.com>
540
541 * compress.c (bfd_cache_section_contents): New function.
542 * bfd-in2.h: Regenerate.
543
5442012-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
5492012-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
5552012-10-19 Tom Tromey <tromey@redhat.com>
556
557 * compress.c: Revert previous patch.
558
5592012-10-19 Tom Tromey <tromey@redhat.com>
560
561 * compress.c (bfd_get_full_section_contents): Don't cache
562 decompressed contents.
563
5642012-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
5962012-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
6022012-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
6082012-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
6192012-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
6262012-10-15 Doug Evans <dje@google.com>
627
628 * elf.c (special_sections_d): Add comment.
629
6302012-10-13 H.J. Lu <hongjiu.lu@intel.com>
631
36af3926 632 PR bfd/14430
bab4becb
NC
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
6382012-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
6442012-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
6502012-09-19 Steve Ellcey <sellcey@mips.com>
651
652 * config.bfd: Add mips*-mti-elf* target.
653
6542012-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
6712012-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
6772012-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
6832012-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
6892012-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
6952012-09-14 David Edelsohn <dje.gcc@gmail.com>
696
697 * configure: Regenerate.
698
6992012-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
7092012-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
7142012-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
7302012-09-10 Matthias Klose <doko@ubuntu.com>
731
732 * config.in: Disable sanity check for kfreebsd.
733
7342012-09-10 H.J. Lu <hongjiu.lu@intel.com>
735
736 * configure: Regenerated.
737
7382012-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
7462012-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
7522012-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
7582012-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
7982012-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
8042012-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
8182012-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
8282012-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
8342012-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
8402012-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
8462012-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
8572012-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
8822012-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
8892012-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
9122012-08-17 Nick Clifton <nickc@redhat.com>
913
914 * po/vi.po: Updated Vietnamese translation.
915
9162012-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
9212012-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
9272012-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
9332012-08-14 Nick Clifton <nickc@redhat.com>
934
935 * po/uk.po: Updated Ukranian translation.
936
9372012-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
9432012-08-13 Maciej W. Rozycki <macro@codesourcery.com>
944
945 * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
946 #ifdef BFD64.
947
9482012-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
9922012-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
9972012-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
10052012-08-09 Nick Clifton <nickc@redhat.com>
1006
1007 * po/vi.po: Updated Vietnamese translation.
1008
10092012-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
10242012-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
10402012-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
10472012-08-07 Nick Clifton <nickc@redhat.com>
1048
1049 * po/uk.po: Updated Ukranian translation.
1050
10512012-08-06 Maciej W. Rozycki <macro@codesourcery.com>
1052
1053 * elflink.c (bfd_elf_record_link_assignment): Remove --defsym
1054 symbols special case.
1055
10562012-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
10612012-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
10672012-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
10722012-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
10772012-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
10832012-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
10892012-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
10962012-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
11052012-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
11112012-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
11162012-07-27 Tristan Gingold <gingold@adacore.com>
1117
1118 * configure.in: Bump version to 2.23.51
1119 * configure: Regenerate.
1120
11212012-07-26 Teresa Johnson <tejohnson@google.com>
1122
1123 * bfd/dwarf2.c (find_line): Initialize discriminator_ptr
1124 if it is non-NULL.
1125
11262012-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
11332012-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
11382012-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
11822012-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
11882012-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
11932012-07-18 H.J. Lu <hongjiu.lu@intel.com>
1194
1195 * bfd-in2.h: Regenerated.
1196
11972012-07-18 Nicolàs Alejandro Di Risio <sheeva@tiscali.it>
1198
1199 PR binutils/14335
1200 * section.c: Fix a typo in comments.
1201
12022012-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
12352012-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
13342012-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
13412012-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
13472012-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
13532012-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
13592012-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
13752012-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
13862012-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
13992012-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
14042012-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
14092012-06-29 H.J. Lu <hongjiu.lu@intel.com>
1410
1411 * archive.c (_bfd_compute_and_write_armap): Simplify global
1412 symbol handling.
1413
14142012-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
14202012-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
14712012-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
14812012-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
14862012-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
14922012-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
14982012-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
15042012-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
15092012-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
15142012-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
15192012-06-18 John Szakmeister <john@szakmeister.net>
1520
1521 * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value.
1522
15232012-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
15292012-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
15362012-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
15422012-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
15492012-06-11 H.J. Lu <hongjiu.lu@intel.com>
1550
1551 * elf.c (assign_file_positions_for_non_load_sections): Reindent.
1552
15532012-06-11 H.J. Lu <hongjiu.lu@intel.com>
1554
1555 * elf.c (_bfd_elf_map_sections_to_segments): Reindent.
1556
15572012-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
15682012-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
15802012-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
15932012-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
16052012-06-01 Alan Modra <amodra@gmail.com>
1606
1607 PR binutils/13897
1608 * elf64-ppc.c (opd_entry_value): Rewrite cache code.
1609
16102012-05-29 Tom Tromey <tromey@redhat.com>
1611
1612 * opncls.c (bfd_fopen): Always close fd on failure.
1613 (bfd_fdopenr): Likewise.
1614
16152012-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
16242012-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
16302012-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
16542012-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
16612012-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
16662012-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
16712012-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
16782012-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
16872012-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
16942012-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
17012012-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
17092012-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
17162012-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
17222012-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
17272012-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
17332012-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
17382012-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
17462012-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
17522012-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
17572012-05-18 Pedro Alves <palves@redhat.com>
1758
1759 * mach-o.h: Don't include sysdep.h.
1760
17612012-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
17682012-05-18 Andreas Schwab <schwab@linux-m68k.org>
1769
1770 * aclocal.m4: Regenerate.
1771 * Makefile.in: Regenerate.
1772
17732012-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
17922012-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
18002012-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
18072012-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
18132012-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
18342012-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
18442012-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
18732012-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
18792012-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
18912012-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
18962012-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
19042012-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
19212012-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
19422012-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
19712012-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
19832012-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
19882012-05-10 DJ Delorie <dj@redhat.com>
1989
1990 * elf32-rx.c (rx_elf_object_p): Ignore empty segments.
1991
19922012-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
19972012-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
20022012-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
20072012-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
20122012-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
20172012-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
20222012-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
20902012-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
20962012-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
21212012-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
21412012-05-03 Tristan Gingold <gingold@adacore.com>
2142
2143 * dwarf2.c (decode_line_info): Ignore
2144 DW_LNE_HP_source_file_correlation.
2145
21462012-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
21592012-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
21652012-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
21722012-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
21832012-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
21892012-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
22242012-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
22292012-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
22362012-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
22412012-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
22462012-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
22512012-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
22602012-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
22652012-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
22712012-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
22852012-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
23112012-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
23292012-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
23362012-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
23422012-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
23662012-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
23712012-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
23772012-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
23842012-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
23972012-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
24032012-03-30 Alan Modra <amodra@gmail.com>
2404
2405 * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
2406 libraries.
2407
24082012-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
24132012-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
24182012-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
24282012-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
24342012-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
24392012-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
24532012-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
24642012-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
24732012-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
24802012-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
24972012-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
25022012-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
25282012-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
25352012-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
25442012-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
25502012-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
25852012-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
25902012-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
25962012-03-01 Alan Modra <amodra@gmail.com>
2597
2598 * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
2599
26002012-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
26062012-02-27 Alan Modra <amodra@gmail.com>
2607
2608 * elf32-spu.c (build_stub): Fix malloc under-allocation.
2609
26102012-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
27292012-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
27612012-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
27682012-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
27782012-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
27852012-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
27942012-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
27992012-02-16 Alan Modra <amodra@gmail.com>
2800
2801 PR binutils/13355
2802 * elf32-rx.c (elf32_rx_relax_section): Correct width check.
2803
28042012-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
28102012-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
28172012-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
28232012-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
28282012-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
28372012-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
28422012-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
28582012-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
28642012-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
28732012-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
28792012-02-02 Tristan Gingold <gingold@adacore.com>
2880
2881 * bfdio.c (real_fopen): Remove unused vms_modes variable.
2882
28832012-02-02 Tristan Gingold <gingold@adacore.com>
2884
2885 * mach-o.c (bfd_mach_o_read_header): Silent uninitialized
2886 variable warning.
2887
28882012-02-02 Tristan Gingold <gingold@adacore.com>
2889
2890 * archive.c (bfd_slurp_armap): Fix thinko in cast.
2891
28922012-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
29882012-01-27 Michael Eager <eager@eagercon.com>
2989
2990 * elf32-microblaze.c (create_got_section):
2991 Reuse existing .rela.got section.
2992
29932012-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
30052012-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
30302012-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
30382012-01-19 Tristan Gingold <gingold@adacore.com>
3039
3040 * pef.c: Add a comment.
3041 * xsym.c: Likewise.
3042
30432012-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
30492012-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
30562012-01-13 Iain Sandoe <idsandoe@googlemail.com>
3057
3058 * mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
3059 indirect symbols.
3060
30612012-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
30662012-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
30732012-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
30792012-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
30842012-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
31102012-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
31162012-01-10 Tristan Gingold <gingold@adacore.com>
3117
3118 * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
3119 warning.
3120
31212012-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
31302012-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
31502012-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
31562012-01-06 Tristan Gingold <gingold@adacore.com>
3157
3158 * bfdio.c (bfd_bread): Use arelt_size macro.
3159
31602012-01-06 Tristan Gingold <gingold@adacore.com>
3161
3162 * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
3163
31642012-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
31702012-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
31772012-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
31822012-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
31892012-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
31992012-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
32072012-01-04 Tristan Gingold <gingold@adacore.com>
3208
3209 * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
3210 Decode msubtype for ARM.
3211
32122012-01-04 Tristan Gingold <gingold@adacore.com>
3213
3214 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
3215
32162012-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
32262012-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
32482012-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
32552012-01-03 Iain Sandoe <idsandoe@googlemail.com>
3256
3257 * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
3258
32592012-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
3287For older changes see ChangeLog-2011
3288\f
3289Copyright (C) 2012 Free Software Foundation, Inc.
3290
3291Copying and distribution of this file, with or without modification,
3292are permitted in any medium without royalty provided the copyright
3293notice and this notice are preserved.
3294
3295Local Variables:
3296mode: change-log
3297left-margin: 8
3298fill-column: 74
3299version-control: never
3300End: