opcodes/ChangeLog
[deliverable/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
462 PR target/14758
463 * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS
464 bfd_reloc values. Map to corresponding D-form relocs.
465 (is_insn_ds_form, is_insn_qs_form): New functions.
466 (ppc_elf_relocate_section): Validate insn with DS-form or DQ-form
467 fields using D-form reloc.
468
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
632 * Makefile.am (LIBDL): Replace -ldl with @lt_cv_dlopen_libs@.
633 * configure.in (lt_cv_dlopen_libs): AC_SUBST.
634 * Makefile.in: Regenerated.
635 * configure: Likewise.
636
6372012-10-08 Alan Modra <amodra@gmail.com>
638
639 PR binutils/14662
640 * elf.c (_bfd_elf_make_section_from_shdr): Treat .gdb_index as
641 SEC_DEBUGGING.
642
6432012-09-20 Walter Lee <walt@tilera.com>
644
645 * elf32-tilepro.c (tilepro_elf_relocate_section): Adjust got
646 relocations with value of hgot.
647 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
648
6492012-09-19 Steve Ellcey <sellcey@mips.com>
650
651 * config.bfd: Add mips*-mti-elf* target.
652
6532012-09-18 H.J. Lu <hongjiu.lu@intel.com>
654
655 PR ld/14591
656 * elf-bfd.h (_bfd_elf_merge_symbol): Add an argument to return
657 if the old symbol is weak.
658
659 * elf32-sh-symbian.c (sh_symbian_relocate_section): Update
660 _bfd_elf_merge_symbol call.
661
662 * elflink.c (_bfd_elf_merge_symbol): Add an argument to return
663 if the old symbol is weak.
664 (_bfd_elf_add_default_symbol): Update _bfd_elf_merge_symbol
665 call.
666 (elf_link_add_object_symbols): Don't update symbol type from a
667 weak definition. Update symbol type from a common symbol when
668 overriding a weak symbol.
669
6702012-09-17 H.J. Lu <hongjiu.lu@intel.com>
671
672 * elf32-i386.c (elf_i386_convert_mov_to_lea): Ignore discarded
673 section.
674 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
675
6762012-09-17 H.J. Lu <hongjiu.lu@intel.com>
677
678 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Replace return
679 FALSE with abort.
680 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
681
6822012-09-17 Walter Lee <walt@tilera.com>
683
684 * elf32-tilepro.c (tilepro_elf_relocate_section): Remove unused
685 got_base variable.
686 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
687
6882012-09-17 Walter Lee <walt@tilera.com>
689
690 * elf32-tilepro.c (tilepro_elf_relocate_section): Fix computation
691 of got relocations for when .got.plt section is merged with .got.
692 * elfxx-tilegx.c (tilegx_elf_relocate_section): Ditto.
693
6942012-09-14 David Edelsohn <dje.gcc@gmail.com>
695
696 * configure: Regenerate.
697
6982012-09-13 Anthony Green <green@moxielogic.com>
699
700 * targets.c (bfd_elf32_bigmoxie_vec, bfd_elf32_littlemoxie_vec):
701 Define.
702 (bfd_elf32_moxie_vec): Remove.
703 * config.bfd, configure.in: Add bi-endian support for moxie.
704 * configure: Rebuilt.
705 * elf32-moxie.c (TARGET_LITTLE_NAME, TARGET_LITTLE_SYM): Define.
706 (TARGET_BIG_NAME, TARGET_BIG_SYM): Update for bi-endian support.
707
7082012-09-12 Doug Kwan <dougkwan@google.com>
709
710 * elf64-ppc.c (ppc64_elf_relocate_section): Use pre-adjusted
711 relocation for stub lookup.
712
7132012-09-12 Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
714
715 * bfd-in2.h: Regenerated.
716 * elf64-aarch64.c
717 (elf64_aarch64_howto_table): Add R_AARCH64_GOT_LD_PREL19 reloc to HOWTO.
718 (elf64_aarch64_reloc_map): Add reloc entry.
719 (aarch64_resolve_relocation): Likewise.
720 (bfd_elf_aarch64_put_addend): Likewise.
721 (aarch64_reloc_got_type): Likewise.
722 (elf64_aarch64_final_link_relocate): Likewise.
723 (lf64_aarch64_check_relocs): Likewise.
724 (elf64_aarch64_check_relocs): New case for R_AARCH64_ADR_PREL_LO21
725 reloc.
726 * libbfd.h: Regenerated.
727 * reloc.c (R_AARCH64_GOT_LD_PREL19): New reloc.
728
7292012-09-10 Matthias Klose <doko@ubuntu.com>
730
731 * config.in: Disable sanity check for kfreebsd.
732
7332012-09-10 H.J. Lu <hongjiu.lu@intel.com>
734
735 * configure: Regenerated.
736
7372012-09-04 Sergey A. Guriev <sergey.a.guriev@intel.com>
738
739 * cpu-ia64-opc.c (ins_cnt6a): New function.
740 (ext_cnt6a): Ditto.
741 (ins_strd5b): Ditto.
742 (ext_strd5b): Ditto.
743 (elf64_ia64_operands): Add new operand types.
744
7452012-09-04 H.J. Lu <hongjiu.lu@intel.com>
746
747 PR binutils/14493
748 * elf.c (ignore_section_sym): Also ignore section symbols without
749 a BFD section.
750
7512012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
752
753 * elf32-s390.c (elf_s390_relocate_section): Handle PLTOFF for
754 local and global ifunc symbols.
755 * elf64-s390.c (elf_s390_relocate_section): Likewise.
756
7572012-09-02 H.J. Lu <hongjiu.lu@intel.com>
758
759 * elf-bfd.h (elf_link_hash_table): Add hdynamic for the
760 _DYNAMIC symbol.
761
762 * elflink.c (_bfd_elf_link_create_dynamic_sections): Set
763 hdynamic.
764
765 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Check
766 hdynamic instead of "_DYNAMIC".
767 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
768 * elf32-cr16.c (elf32_arm_finish_dynamic_symbol): Likewise.
769 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
770 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
771 * elf32-i386.c (elf_i386_convert_mov_to_lea): Likewise.
772 * elf32-lm32.c (lm32_elf_finish_dynamic_symbol): Likewise.
773 * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
774 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
775 * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
776 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
777 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
778 * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
779 * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
780 * elf64-aarch64.c elf64_aarch64_finish_dynamic_symbol(): Likewise.
781 * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
782 * elf64-ia64-vms.c (elf64_ia64_finish_dynamic_symbol): Likewise.
783 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
784 * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
785 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
786 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
787 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
788 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
789 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
790
791 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Check
792 hdynamic, hgot, hplt instead of _DYNAMIC, _GLOBAL_OFFSET_TABLE_,
793 _PROCEDURE_LINKAGE_TABLE_.
794 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_symbol): Likewise.
795 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_symbol): Likewise.
796
7972012-08-31 H.J. Lu <hongjiu.lu@intel.com>
798
799 * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't optimize
800 _DYNAMIC.
801 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
802
8032012-08-31 H.J. Lu <hongjiu.lu@intel.com>
804
805 * elf32-i386.c (elf_i386_convert_mov_to_lea): New.
806 (elf_i386_size_dynamic_sections): Use it on input sections.
807 (elf_i386_relocate_section): Don't convert
808 "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
809 for local symbols here.
810
811 * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): New.
812 (elf_x86_64_size_dynamic_sections): Use it on input sections.
813 (elf_x86_64_relocate_section): Don't convert
814 "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg"
815 for local symbols here.
816
8172012-08-30 H.J. Lu <hongjiu.lu@intel.com>
818
819 * elf32-i386.c (elf_i386_relocate_section): Convert
820 "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
821 for local symbols.
822
823 * elf64-x86-64.c (elf_x86_64_relocate_section): Convert
824 "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg"
825 for local symbols.
826
8272012-08-31 Alan Modra <amodra@gmail.com>
828
829 PR ld/14464
830 * elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined
831 by a linker script in .opd to corresponding input .opd section.
832
8332012-08-28 Maciej W. Rozycki <macro@codesourcery.com>
834
835 * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
836 not minus one.
837 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
838
8392012-08-28 Maciej W. Rozycki <macro@codesourcery.com>
840
841 * elflink.c (_bfd_elf_merge_symbol): Also override the version
842 a dynamic symbol defaulted to if preempted with a hidden or
843 internal definition.
844
8452012-08-28 Walter Lee <walt@tilera.com>
846
847 * elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
848 of header.
849 (tilepro_plt_entry_build): Account for new header size.
850 (tilepro_elf_finish_dynamic_sections): Ditto.
851 (tilepro_elf_plt_sym_val): Ditto.
852 * elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
853 of header + tail.
854 (tilegx_elf_finish_dynamic_sections): Account for new padding.
855
8562012-08-27 Walter Lee <walt@tilera.com>
857
858 * reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL,
859 BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL,
860 BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL,
861 BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL,
862 BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL,
863 BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL,
864 BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL,
865 BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL,
866 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL,
867 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL,
868 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL,
869 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL,
870 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL,
871 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations.
872 * elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations.
873 (tilegx_reloc_map): Ditto.
874 (reloc_to_create_func): Ditto.
875 (tilegx_elf_check_relocs): Ditto.
876 (tilegx_elf_gc_sweep_hook): Ditto.
877 (tilegx_elf_relocate_section): Ditto.
878 * libbfd.h: Regenerate.
879 * bfd-in2.h: Regenerate.
880
8812012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
882
883 * elf32-arm.c (v8): New array.
884 (tag_cpu_arch_combine): Add support for ARMv8 attributes.
885 (elf32_arm_merge_eabi_attributes): Likewise.
886 (VFP_VERSION_COUNT): New define.
887
8882012-08-20 Tom Tromey <tromey@redhat.com>
889
890 * vms-lib.c (_bfd_vms_lib_get_module): Use bfd_zmalloc for
891 areltdata.
892 * opncls.c (_bfd_delete_bfd): Free arelt_data.
893 * mach-o.c (bfd_mach_o_fat_member_init): Use bfd_zmalloc for
894 areltdata.
895 * ecoff.c (_bfd_ecoff_slurp_armap): Use free for mapdata.
896 * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Use bfd_zmalloc for
897 areltdata.
898 (xcoff_write_archive_contents_old): Likewise.
899 (xcoff_write_archive_contents_big): Likewise.
900 * archive64.c (bfd_elf64_archive_slurp_armap): Use free for
901 areltdata.
902 * archive.c (_bfd_generic_read_ar_hdr_mag): Use bfd_zmalloc and
903 free for areltdata.
904 (_bfd_get_elt_at_filepos): Likewise. Clear n_nfd->arelt_data on
905 failure.
906 (do_slurp_bsd_armap): Use bfd_zmalloc and free for areltdata.
907 (do_slurp_coff_armap): Likewise.
908 (_bfd_slurp_extended_name_table): Likewise.
909 (bfd_slurp_bsd_armap_f2): Likewise. Don't leak 'mapdata'.
910
9112012-08-17 Nick Clifton <nickc@redhat.com>
912
913 * po/vi.po: Updated Vietnamese translation.
914
9152012-08-17 Yuri Chornoivan <yurchor@ukr.net>
916
917 * elf-bfd.h, * elf32-ppc.c, * elf64-ia64-vms.c, * elfnn-ia64.c,
918 * elfxx-mips.c, * vms-alpha.c: Typo fixes.
919
9202012-08-17 Alan Modra <amodra@gmail.com>
921
922 PR binutils/14475:
923 * archive.c (bfd_ar_hdr_from_filesystem): Revert last change.
924 Instead malloc areltdata.
925
9262012-08-16 Tom Tromey <tromey@redhat.com>
927
928 PR binutils/14475:
929 * archive.c (bfd_ar_hdr_from_filesystem): Allocate areltdata on
930 'member' BFD. Don't try to free 'ared'.
931
9322012-08-14 Nick Clifton <nickc@redhat.com>
933
934 * po/uk.po: Updated Ukranian translation.
935
9362012-08-13 Maciej W. Rozycki <macro@codesourcery.com>
937
938 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up
939 the options section in the output rather than input BFD to
940 decide if to add a DT_MIPS_OPTIONS tag.
941
9422012-08-13 Maciej W. Rozycki <macro@codesourcery.com>
943
944 * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
945 #ifdef BFD64.
946
9472012-08-13 Ian Bolton <ian.bolton@arm.com>
948 Laurent Desnogues <laurent.desnogues@arm.com>
949 Jim MacArthur <jim.macarthur@arm.com>
950 Marcus Shawcroft <marcus.shawcroft@arm.com>
951 Nigel Stephens <nigel.stephens@arm.com>
952 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
953 Richard Earnshaw <rearnsha@arm.com>
954 Sofiane Naci <sofiane.naci@arm.com>
955 Tejas Belagod <tejas.belagod@arm.com>
956 Yufeng Zhang <yufeng.zhang@arm.com>
957
958 * Makefile.am: Add AArch64 files.
959 * Makefile.in: Regenerate.
960 * archures.c (bfd_aarch64_arch): New declaration.
961 (bfd_archures_list): Use bfd_archures_list.
962 * bfd-in.h (bfd_elf64_aarch64_init_maps): New declaration.
963 (bfd_aarch64_process_before_allocation): New declaration.
964 (bfd_elf64_aarch64_process_before_allocation): New declaration.
965 (bfd_elf64_aarch64_set_options): New declaration.
966 (bfd_elf64_aarch64_add_glue_sections_to_bfd): New declaration.
967 (BFD_AARCH64_SPECIAL_SYM_TYPE_MAP): New definition.
968 (BFD_AARCH64_SPECIAL_SYM_TYPE_TAG): New definition.
969 (BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER): New definition.
970 (BFD_AARCH64_SPECIAL_SYM_TYPE_ANY): New definition.
971 (bfd_is_aarch64_special_symbol_name): New declaration.
972 (bfd_aarch64_merge_machines): New declaration.
973 (bfd_aarch64_update_notes): New declaration.
974 (int bfd_aarch64_get_mach_from_notes): New declaration.
975 (elf64_aarch64_setup_section_lists): New declaration.
976 (elf64_aarch64_next_input_section): New declaration.
977 (elf64_aarch64_size_stubs): New declaration.
978 (elf64_aarch64_build_stubs): New declaration.
979 * config.bfd: Add AArch64.
980 * configure.in: Add AArch64.
981 * configure: Regenerate.
982 * cpu-aarch64.c: New file.
983 * elf-bfd.h: Add AArch64.
984 * bfd-in2.h: Regenerate.
985 * libbfd.h: Regenerate.
986 * elf64-aarch64.c: New file.
987 * reloc.c: Add AArch64 relocations.
988 * targets.c: Add AArch64.
989 * po/SRC-POTFILES.in: Regenerate.
990
9912012-08-13 Maciej W. Rozycki <macro@codesourcery.com>
992
993 * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling
994 of protected symbols.
995
9962012-08-10 Alan Modra <amodra@gmail.com>
997
998 PR binutils/14444
999 * elf.c (IS_VALID_GROUP_SECTION_HEADER) Add minsize param.
1000 (setup_group): Adjust uses.
1001 (bfd_section_from_shdr): Allow SHT_GROUP sections with just a flag
1002 word.
1003
10042012-08-09 Nick Clifton <nickc@redhat.com>
1005
1006 * po/vi.po: Updated Vietnamese translation.
1007
10082012-08-09 Maciej W. Rozycki <macro@codesourcery.com>
1009
1010 * elfxx-mips.c (LA25_LUI_MICROMIPS_1, LA25_LUI_MICROMIPS_2):
1011 Remove macros, folding them into...
1012 (LA25_LUI_MICROMIPS): ... this new macro.
1013 (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise into...
1014 (LA25_J_MICROMIPS): ... this new macro.
1015 (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise
1016 into...
1017 (LA25_ADDIU_MICROMIPS): ... this new macro.
1018 (bfd_put_micromips_32, bfd_get_micromips_32): New functions.
1019 (mips_elf_create_la25_stub): Use them.
1020 (check_br32_dslot, check_br32, check_relocated_bzc): Likewise.
1021 (_bfd_mips_elf_relax_section): Likewise.
1022
10232012-08-09 Alan Modra <amodra@gmail.com>
1024 Tom Tromey <tromey@redhat.com>
1025
1026 * archive.c (SECTION Archives): Update documentation.
1027 (_bfd_delete_archive_data): Remove.
1028 (_bfd_add_bfd_to_archive_cache): Set 'parent_cache' and 'key'.
1029 (archive_close_worker, _bfd_archive_close_and_cleanup): New
1030 functions.
1031 * libbfd-in.h (struct areltdata <parent_cache, key>): New fields.
1032 (_bfd_delete_archive_data): Don't declare.
1033 (_bfd_archive_close_and_cleanup): Declare.
1034 (_bfd_generic_close_and_cleanup): Redefine.
1035 * libbfd.h: Rebuild.
1036 * opncls.c (_bfd_delete_bfd): Don't call _bfd_delete_archive_data.
1037 (bfd_close): Don't close nested thin archives here.
1038
10392012-08-07 Tom Tromey <tromey@redhat.com>
1040
1041 * archive.c (_bfd_delete_archive_data): New function.
1042 * libbfd-in.h (_bfd_delete_archive_data): Declare.
1043 * libbfd.h: Rebuild.
1044 * opncls.c (_bfd_delete_bfd): Call _bfd_delete_archive_data.
1045
10462012-08-07 Nick Clifton <nickc@redhat.com>
1047
1048 * po/uk.po: Updated Ukranian translation.
1049
10502012-08-06 Maciej W. Rozycki <macro@codesourcery.com>
1051
1052 * elflink.c (bfd_elf_record_link_assignment): Remove --defsym
1053 symbols special case.
1054
10552012-08-05 Maciej W. Rozycki <macro@linux-mips.org>
1056
1057 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Don't allocate
1058 PLT slots for local symbols.
1059
10602012-08-03 Maciej W. Rozycki <macro@codesourcery.com>
1061
1062 * elf64-mips.c (mips16_elf64_howto_table_rela): Correct src_mask
1063 field initializers throughout.
1064 * elfn32-mips.c (elf_mips16_howto_table_rela): Likewise.
1065
10662012-08-03 Maciej W. Rozycki <macro@codesourcery.com>
1067
1068 * elfxx-mips.c (mips_elf_perform_relocation): Update the
1069 cross-mode jump message.
1070
10712012-08-03 Maciej W. Rozycki <macro@codesourcery.com>
1072
1073 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Update the
1074 comment on DT_MIPS_RLD_MAP.
1075
10762012-08-03 Tom Tromey <tromey@redhat.com>
1077
1078 * opncls.c (_bfd_delete_bfd): Now static.
1079 * libbfd-in.h (_bfd_delete_bfd): Don't declare.
1080 * libbfd.h: Rebuild.
1081
10822012-08-02 Sean Keys <skeys@ipdatasys.com>
1083
1084 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Modified
1085 conditional statment to allow suppression of mismatched bank
1086 warning.
1087
10882012-08-01 Alan Modra <amodra@gmail.com>
1089
1090 * dwarf2.c (struct dwarf2_debug): Add close_on_cleanup.
1091 (_bfd_dwarf2_slurp_debug_info): Set close_on_cleanup if we open
1092 gnu_debuglink bfd.
1093 (_bfd_dwarf2_cleanup_debug_info): Act on close_on_cleanup.
1094
10952012-07-30 Nick Clifton <nickc@redhat.com>
1096
1097 * po/bfd.pot: Updated template.
1098 * po/es.po: Updated Spanish translation.
1099 * po/fi.po: Updated Finnish translation.
1100 * po/fr.po: Updated French translation.
1101 * po/ru.po: Updated Russian translation.
1102 * po/uk.po: Updated Ukranian translation.
1103
11042012-07-27 Mike Frysinger <vapier@gentoo.org>
1105
1106 * configure.in (AC_INIT): Call with the args bfd and 2.22.52.
1107 (AM_INIT_AUTOMAKE): Remove args.
1108 * configure: Regenerate.
1109
11102012-07-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1111
1112 * cpu-s390.c (bfd_s390_64_arch, bfd_s390_arch): Pick the default
1113 arch depending on the target size.
1114
11152012-07-27 Tristan Gingold <gingold@adacore.com>
1116
1117 * configure.in: Bump version to 2.23.51
1118 * configure: Regenerate.
1119
11202012-07-26 Teresa Johnson <tejohnson@google.com>
1121
1122 * bfd/dwarf2.c (find_line): Initialize discriminator_ptr
1123 if it is non-NULL.
1124
11252012-07-26 Meador Inge <meadori@codesourcery.com>
1126 Nick Clifton <nickc@redhat.com>
1127
1128 PR ld/14397
1129 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Report an error
1130 if a required section is missing from the linker script.
1131
11322012-07-24 Jan Waclawek <konfera@efton.sk>
1133 PR 13899
1134 * elf32-avr.c (elf32_avr_relax_delete_bytes): Call
1135 _bfd_elf_link_read_relocs with keep_memory as TRUE.
1136
11372012-07-24 Teresa Johnson <tejohnson@google.com>
1138
1139 * bfd.c (bfd_find_nearest_line_discriminator): New macro.
1140 * coff-rs6000.c: Init _bfd_find_nearest_line_discriminator.
1141 * coff64-rs6000.c: Likewise.
1142 * dwarf2.c (struct line_info): Add discriminator field.
1143 (add_line_info): Fill in new discriminator field.
1144 (decode_line_info): Record discriminator information instead
1145 of ignoring it.
1146 (lookup_address_in_line_info_table): Return discriminator field if
1147 requested.
1148 (comp_unit_find_nearest_line): Add discriminator argument.
1149 (find_line): Likewise.
1150 (_bfd_dwarf2_find_nearest_line): Likewise.
1151 (_bfd_dwarf2_find_line): Likewise.
1152 * elf-bfd.h (_bfd_elf_find_nearest_line_discriminator): New.
1153 (_bfd_elf_find_line_discriminator): Likewise.
1154 (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined.
1155 * elf.c (_bfd_elf_find_nearest_line): Change to a wrapper
1156 that invokes _bfd_elf_find_nearest_line_discriminator with correct
1157 arguments.
1158 (_bfd_elf_find_nearest_line_discriminator): New.
1159 (_bfd_elf_find_line): Change to a wrapper
1160 that invokes _bfd_elf_find_line_discriminator with correct
1161 arguments.
1162 (_bfd_elf_find_line_discriminator): New.
1163 * coffgen.c (coff_find_nearest_line_with_names): Handle
1164 new discriminator argument.
1165 * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
1166 * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
1167 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
1168 * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
1169 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Add discriminator
1170 argument.
1171 (_bfd_dwarf2_find_line): Likewise.
1172 (_bfd_generic_find_nearest_line_discriminator): New.
1173 * libbfd.c (_bfd_generic_find_nearest_line_discriminator): New.
1174 * bfd-in2.h: Regenerated.
1175 * libbfd.h: Likewise.
1176 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize
1177 _bfd_find_nearest_line_discriminator with
1178 _bfd_generic_find_nearest_line_discriminator.
1179 (bfd_target): Add _bfd_find_nearest_line_discriminator.
1180
11812012-07-24 Sean Keys <skeys@ipdatasys.com>
1182
1183 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code
1184 that enables the linker to offset addresses, when linking against
1185 symbols from the XGATE processor and vice versa.
1186
11872012-07-23 Nick Clifton <nickc@redhat.com>
1188
1189 * cisco-core.c (cisco_core_file_failing_command): Make static.
1190 (cisco_core_file_failing_signal): Make static.
1191
11922012-07-18 H.J. Lu <hongjiu.lu@intel.com>
1193
1194 * bfd-in2.h: Regenerated.
1195
11962012-07-18 Nicolàs Alejandro Di Risio <sheeva@tiscali.it>
1197
1198 PR binutils/14335
1199 * section.c: Fix a typo in comments.
1200
12012012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1202
1203 * elf64-s390.c: Include elf-s390-common.c.
1204 (R_390_IRELATIVE): New reloc.
1205 (elf_s390_reloc_type_lookup): Support R_390_IRELATIVE.
1206 (RELA_ENTRY_SIZE): New macro.
1207 (elf_s390_link_hash_entry): New fields ifunc_resolver_address and
1208 *ifunc_resolver_section.
1209 (struct plt_entry): New struct.
1210 (struct elf_s390_obj_tdata): New field local_plt.
1211 (elf_s390_local_plt): New macro.
1212 (struct elf_s390_link_hash_table): New field irelifunc.
1213 (ELF64): New macro.
1214 (link_hash_newfunc): Initialize new fields.
1215 (elf_s390_check_relocs): Handle IFUNC symbols.
1216 (elf_s390_adjust_dynamic_symbol): Don't do anything for IFUNC
1217 symbols.
1218 (allocate_dynrelocs): Call s390_elf_allocate_ifunc_dyn_relocs for
1219 IFUNC symbols.
1220 (elf_s390_size_dynamic_sections): Handle IFUNC symbols.
1221 (elf_s390_relocate_section): Likewise.
1222 (elf_s390_finish_dynamic_symbol): Likewise.
1223 (elf_s390_finish_dynamic_sections): Handle local IFUNC symbols.
1224 (elf_s390_finish_ifunc_symbol): New function.
1225 (elf_s390_gc_sweep_hook): Handle local plt entries.
1226 (elf_backend_add_symbol_hook): Define.
1227 * elf32-s390.c: See elf64-s390.c changes.
1228 * elf-s390-common.c: New file.
1229 * bfd-in2.h (BFD_RELOC_390_IRELATIVE): New enum field.
1230 * libbfd.h (BFD_RELOC_390_IRELATIVE): New entry for
1231 BFD_RELOC_390_IRELATIVE.
1232 * reloc.c (BFD_RELOC_390_IRELATIVE): Document new relocation.
1233
12342012-07-13 Nick Clifton <nickc@redhat.com>
1235
1236 * aix386-core.c: Remove use of PTR and PARAMS macros.
1237 * archive.c: Likewise.
1238 * cache.c: Likewise.
1239 * cisco-core.c: Likewise.
1240 * coff-alpha.c: Likewise.
1241 * coff-apollo.c: Likewise.
1242 * coff-aux.c: Likewise.
1243 * coff-h8300.c: Likewise.
1244 * coff-h8500.c: Likewise.
1245 * coff-i386.c: Likewise.
1246 * coff-i960.c: Likewise.
1247 * coff-ia64.c: Likewise.
1248 * coff-m68k.c: Likewise.
1249 * coff-m88k.c: Likewise.
1250 * coff-mcore.c: Likewise.
1251 * coff-mips.c: Likewise.
1252 * coff-or32.c: Likewise.
1253 * coff-ppc.c: Likewise.
1254 * coff-rs6000.c: Likewise.
1255 * coff-sh.c: Likewise.
1256 * coff-sparc.c: Likewise.
1257 * coff-stgo32.c: Likewise.
1258 * coff-tic30.c: Likewise.
1259 * coff-tic4x.c: Likewise.
1260 * coff-tic54x.c: Likewise.
1261 * coff-tic80.c: Likewise.
1262 * coff-w65.c: Likewise.
1263 * cofflink.c: Likewise.
1264 * cpu-arc.c: Likewise.
1265 * cpu-cris.c: Likewise.
1266 * cpu-h8500.c: Likewise.
1267 * cpu-i960.c: Likewise.
1268 * cpu-msp430.c: Likewise.
1269 * cpu-ns32k.c: Likewise.
1270 * cpu-powerpc.c: Likewise.
1271 * cpu-rs6000.c: Likewise.
1272 * cpu-tic4x.c: Likewise.
1273 * cpu-w65.c: Likewise.
1274 * ecoff.c: Likewise.
1275 * ecofflink.c: Likewise.
1276 * elf-m10200.c: Likewise.
1277 * elf32-bfin.c: Likewise.
1278 * elf32-cris.c: Likewise.
1279 * elf32-crx.c: Likewise.
1280 * elf32-fr30.c: Likewise.
1281 * elf32-frv.c: Likewise.
1282 * elf32-h8300.c: Likewise.
1283 * elf32-i960.c: Likewise.
1284 * elf32-m32c.c: Likewise.
1285 * elf32-m68hc11.c: Likewise.
1286 * elf32-m68hc12.c: Likewise.
1287 * elf32-m68hc1x.c: Likewise.
1288 * elf32-m68k.c: Likewise.
1289 * elf32-mcore.c: Likewise.
1290 * elf32-rl78.c: Likewise.
1291 * elf32-rx.c: Likewise.
1292 * elf32-s390.c: Likewise.
1293 * elf32-vax.c: Likewise.
1294 * elf64-alpha.c: Likewise.
1295 * elf64-mmix.c: Likewise.
1296 * elf64-s390.c: Likewise.
1297 * elf64-sparc.c: Likewise.
1298 * elfnn-ia64.c: Likewise.
1299 * elfxx-mips.c: Likewise.
1300 * elfxx-sparc.c: Likewise.
1301 * hash.c: Likewise.
1302 * hp300hpux.c: Likewise.
1303 * hppabsd-core.c: Likewise.
1304 * hpux-core.c: Likewise.
1305 * i386dynix.c: Likewise.
1306 * i386linux.c: Likewise.
1307 * i386lynx.c: Likewise.
1308 * i386mach3.c: Likewise.
1309 * i386msdos.c: Likewise.
1310 * i386os9k.c: Likewise.
1311 * irix-core.c: Likewise.
1312 * lynx-core.c: Likewise.
1313 * m68klinux.c: Likewise.
1314 * mach-o.h: Likewise.
1315 * mipsbsd.c: Likewise.
1316 * netbsd-core.c: Likewise.
1317 * nlm32-i386.c: Likewise.
1318 * osf-core.c: Likewise.
1319 * pc532-mach.c: Likewise.
1320 * pef.c: Likewise.
1321 * ppcboot.c: Likewise.
1322 * ptrace-core.c: Likewise.
1323 * reloc16.c: Likewise.
1324 * sco5-core.c: Likewise.
1325 * som.h: Likewise.
1326 * sparclinux.c: Likewise.
1327 * sparclynx.c: Likewise.
1328 * ticoff.h: Likewise.
1329 * trad-core.c: Likewise.
1330 * vms-lib.c: Likewise.
1331 * xsym.h: Likewise.
1332
13332012-07-09 Alan Modra <amodra@gmail.com>
1334
1335 PR ld/14323
1336 * elflink.c (elf_sort_symbol): Sort by size too.
1337 (elf_link_add_object_symbols <weakdefs>): Simplify binary search.
1338 Do not depend on ordering of symbol aliases. Match largest size.
1339
13402012-07-03 H.J. Lu <hongjiu.lu@intel.com>
1341
1342 * elf.c (assign_section_numbers): Check if number of sections
1343 >= SHN_LORESERVE.
1344 * elfcode.h (elf_object_p): Likewise.
1345
13462012-07-03 Nick Clifton <nickc@redhat.com>
1347
1348 * archive.c (bsd_write_armap): Catch attempts to create an archive
1349 with indicies bigger than 4Gb.
1350 (coff_write_armap): Likewise.
1351
13522012-07-03 H.J. Lu <hongjiu.lu@intel.com>
1353
1354 PR binutils/14319
1355 * elf.c (_bfd_elf_make_section_from_shdr): Don't compress empty
1356 debug section.
1357
13582012-07-03 H.J. Lu <hongjiu.lu@intel.com>
1359
1360 PR ld/3351
1361 * elflink.c (_bfd_elf_update_dynamic_flags): New.
1362 (_bfd_elf_merge_symbol): Update both real and indirect symbol
1363 dynamic flags.
1364 (_bfd_elf_add_default_symbol): Make the real symbol dynamic if
1365 the indirect symbol is defined in a shared library.
1366 (elf_link_add_object_symbols): Likewise. If the indirect
1367 symbol has been forced local, don't make the real symbol
1368 dynamic.
1369 (elf_link_check_versioned_symbol): Check indirect symbol.
1370 (elf_link_output_extsym): Use real symbol definition when
1371 reporting indirect symbol error. Check version info for
1372 dynamic versioned symbol.
1373
13742012-07-03 Alan Modra <amodra@gmail.com>
1375
1376 PR ld/14207
1377 * elf.c (assign_file_positions_for_load_sections): Remove assertions
1378 that only PT_LOAD headers include file header and section headers.
1379 (assign_file_positions_for_non_load_sections): Similarly don't
1380 assert PT_GNU_RELRO header does not include file and section headers.
1381 Compare first section vma rather than PT_LOAD p_vaddr against
1382 relro_start when looking for PT_LOAD covering PT_GNU_RELRO. Replace
1383 abort with assertion.
1384
13852012-07-02 Alan Modra <amodra@gmail.com>
1386
1387 * elf32-m32c.c (m32c_elf_check_relocs): Use bfd_make_section
1388 "anyway" variant when creating .plt.
1389 (m32c_elf_relax_plt_section): Remove redundant test and unused param.
1390 (m32c_elf_relax_section): Test SEC_LINKER_CREATED before calling
1391 m32c_elf_relax_plt_section.
1392 * elfxx-mips.c (mips_elf_create_got_section): Use make anyway variant
1393 when creating .got and .got.plt.
1394 (_bfd_mips_elf_final_link): Likewise for .rtproc, and use
1395 bfd_get_linker_section.
1396 * sunos.c: Similarly throughout.
1397
13982012-07-01 Andreas Schwab <schwab@linux-m68k.org>
1399
1400 * elf.c (_bfd_elf_make_section_from_shdr): Fix typo in error
1401 message.
1402
14032012-06-29 H.J. Lu <hongjiu.lu@intel.com>
1404
1405 * elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE
1406 on unresolvable relocation.
1407
14082012-06-29 H.J. Lu <hongjiu.lu@intel.com>
1409
1410 * archive.c (_bfd_compute_and_write_armap): Simplify global
1411 symbol handling.
1412
14132012-06-29 Nick Clifton <nickc@redhat.com>
1414
1415 PR ld/14189
1416 * elf32-arm.c (elf32_arm_check_relocs): Do not increment refcount
1417 for locally bound symbols.
1418
14192012-06-29 Alan Modra <amodra@gmail.com>
1420
1421 * section.c (bfd_get_linker_section): New function.
1422 * elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use
1423 the above throughout rather than bfd_get_section_by_name. Use
1424 bfd_make_section_anyway rather than bfd_make_section when creating
1425 them.
1426 * elf32-bfin.c: Likewise.
1427 * elf32-cr16.c: Likewise.
1428 * elf32-cris.c: Likewise.
1429 * elf32-frv.c: Likewise.
1430 * elf32-hppa.c: Likewise.
1431 * elf32-i370.c: Likewise.
1432 * elf32-i386.c: Likewise.
1433 * elf32-lm32.c: Likewise.
1434 * elf32-m32c.c: Likewise.
1435 * elf32-m32r.c: Likewise.
1436 * elf32-m68k.c: Likewise.
1437 * elf32-microblaze.c: Likewise.
1438 * elf32-ppc.c: Likewise.
1439 * elf32-rl78.c: Likewise.
1440 * elf32-s390.c: Likewise.
1441 * elf32-score.c: Likewise.
1442 * elf32-score7.c: Likewise.
1443 * elf32-sh.c: Likewise.
1444 * elf32-tic6x.c: Likewise.
1445 * elf32-tilepro.c: Likewise.
1446 * elf32-vax.c: Likewise.
1447 * elf32-xstormy16.c: Likewise.
1448 * elf32-xtensa.c: Likewise.
1449 * elf64-alpha.c: Likewise.
1450 * elf64-hppa.c: Likewise.
1451 * elf64-ia64-vms.c: Likewise.
1452 * elf64-ppc.c: Likewise.
1453 * elf64-s390.c: Likewise.
1454 * elf64-sh64.c: Likewise.
1455 * elf64-sparc.c: Likewise.
1456 * elf64-x86-64.c: Likewise.
1457 * elfnn-ia64.c: Likewise.
1458 * elfxx-mips.c: Likewise.
1459 * elfxx-sparc.c: Likewise.
1460 * elfxx-tilegx.c: Likewise.
1461 * elflink.c: Likewise.
1462 * elf-vxworks.c: Likewise.
1463 * elf-m10300.c: Likewise. Also make use of htab plt, got and
1464 gotplt shortcuts.
1465 * bfd-in2.h: Regenerate.
1466 * elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when
1467 calling create_rofixup_section.
1468 * elflink.c (bfd_elf_final_link): Simplify test for .dynstr.
1469
14702012-06-29 Alan Modra <amodra@gmail.com>
1471
1472 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela
1473 section for bss type sections, except for .rela.bss.
1474 * elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
1475 * elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise.
1476 * elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise.
1477 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
1478 * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
1479
14802012-06-28 Roland McGrath <mcgrathr@google.com>
1481
1482 * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for
1483 displacement calculation in nacl_p case.
1484
14852012-06-28 Nick Clifton <nickc@redhat.com>
1486
1487 * po/uk.po: New Ukranian translation.
1488 * configure.in (ALL_LINGUAS): Add uk.
1489 * configure: Regenerate.
1490
14912012-06-26 Alan Modra <amodra@gmail.com>
1492
1493 * elf64-ppc.c (ppc64_elf_next_toc_section): Don't error if input
1494 file has multiple .got/.toc sections and all don't fit in
1495 current toc group.
1496
14972012-06-22 Roland McGrath <mcgrathr@google.com>
1498
1499 * elf.c (assign_file_positions_for_non_load_sections): Define
1500 __ehdr_start symbol if it's referenced and there's a PT_LOAD
1501 segment that covers both the file and program headers.
1502
15032012-06-22 Andreas Schwab <schwab@linux-m68k.org>
1504
1505 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Don't make
1506 _GLOBAL_OFFSET_TABLE_ and _DYNAMIC absolute.
1507
15082012-06-22 Alan Modra <amodra@gmail.com>
1509
1510 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't emit out-of-line
1511 save/restore functions when relocatable. Make "funcs" static.
1512
15132012-06-18 Hans-Peter Nilsson <hp@axis.com>
1514
1515 * elf32-cris.c (cris_elf_plt_sym_val): Rewrite to work in presence
1516 of merged .got and .got.plt entries.
1517
15182012-06-18 John Szakmeister <john@szakmeister.net>
1519
1520 * elf32-arm.c (elf32_arm_final_link_relocate): Correct return value.
1521
15222012-06-17 Hans-Peter Nilsson <hp@axis.com>
1523
1524 * elf32-cris.c (cris_elf_relocate_section): <R_CRIS_32_IE>
1525 <R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>: Handle references to
1526 thread common symbols.
1527
15282012-06-13 Nick Clifton <nickc@redhat.com>
1529
1530 * elf32-arm.c (bfd_arm_get_mach_from_attributes): New function.
1531 (elf32_arm_object_p): If the machine number could not be deduced
1532 from the notes, call bfd_arm_get_mach_from_attributes to get the
1533 number from the attributes.
1534
15352012-06-12 H.J. Lu <hongjiu.lu@intel.com>
1536
1537 PR bfd/14207
1538 * elf.c (assign_file_positions_for_non_load_sections): Abort if
1539 PT_GNU_RELRO segment doesn't fit in PT_LOAD segment.
1540
15412012-06-12 Alan Modra <amodra@gmail.com>
1542
1543 PR ld/14207
1544 * elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
1545 sections at end of PT_LOAD segment when searching for segment
1546 that contains end of relro extent.
1547
15482012-06-11 H.J. Lu <hongjiu.lu@intel.com>
1549
1550 * elf.c (assign_file_positions_for_non_load_sections): Reindent.
1551
15522012-06-11 H.J. Lu <hongjiu.lu@intel.com>
1553
1554 * elf.c (_bfd_elf_map_sections_to_segments): Reindent.
1555
15562012-06-06 Alan Modra <amodra@gmail.com>
1557
1558 * elflink.c (elf_link_input_bfd): Provide a file symbol for
1559 each input file with local syms, if the input lacks such.
1560 (bfd_elf_final_link): Add a file symbol to mark end of locals
1561 for which we can associate with input files.
1562 (struct elf_final_link_info): Add filesym_count field.
1563 (struct elf_outext_info): Add need_second_pass and second_pass.
1564 (elf_link_output_extsym): Detect symbols defined in the output
1565 file, emit them on second pass over locals.
1566
15672012-06-04 Jan Kratochvil <jan.kratochvil@redhat.com>
1568
1569 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
1570 of target_read_memory as bfd_size_type.
1571 * bfd-in2.h: Regenerate.
1572 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
1573 argument of target_read_memory as bfd_size_type.
1574 (_bfd_elf32_bfd_from_remote_memory): Likewise.
1575 (_bfd_elf64_bfd_from_remote_memory): Likewise.
1576 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
1577 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
1578
15792012-06-03 Alan Modra <amodra@gmail.com>
1580
1581 PR binutils/13897
1582 * elf.c (elf_find_function): Cache last function sym info.
1583 (_bfd_elf_maybe_function_sym): Return function size, pass in
1584 section of interest.
1585 * elf-bfd.h (struct elf_backend_data <maybe_function_sym>): Likewise.
1586 (_bfd_elf_maybe_function_sym): Likewise.
1587 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
1588 (opd_entry_value): Add in_code_sec param. Revert caching code.
1589 Return -1 if in_code_sec and function found in wrong section.
1590 Update all calls.
1591
15922012-06-01 Siddhesh Poyarekar <siddhesh@redhat.com>
1593
1594 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Make LEN argument
1595 of target_read_memory as size_t.
1596 * bfd-in2.h: Regenerate.
1597 * elf-bfd.h (elf_backend_bfd_from_remote_memory): Make LEN
1598 argument of target_read_memory as size_t.
1599 (_bfd_elf32_bfd_from_remote_memory): Likewise.
1600 (_bfd_elf64_bfd_from_remote_memory): Likewise.
1601 * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
1602 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): Likewise.
1603
16042012-06-01 Alan Modra <amodra@gmail.com>
1605
1606 PR binutils/13897
1607 * elf64-ppc.c (opd_entry_value): Rewrite cache code.
1608
16092012-05-29 Tom Tromey <tromey@redhat.com>
1610
1611 * opncls.c (bfd_fopen): Always close fd on failure.
1612 (bfd_fdopenr): Likewise.
1613
16142012-05-27 Alan Modra <amodra@gmail.com>
1615
1616 PR ld/14170
1617 * elflink.c (_bfd_elf_merge_symbol): When a symbol defined in
1618 a dynamic library finds a new instance with non-default
1619 visibility in a regular object, correctly handle symbols
1620 already on the undefs list and undo dynamic symbol state when
1621 the new symbol is hidden or internal.
1622
16232012-05-25 H.J. Lu <hongjiu.lu@intel.com>
1624
1625 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't use
1626 dynamic_sec_flags to create PLT .eh_frame section.
1627 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1628
16292012-05-25 Alan Modra <amodra@gmail.com>
1630
1631 PR ld/13909
1632 * elf-eh-frame.c (_bfd_elf_eh_frame_present): New function.
1633 (_bfd_elf_maybe_strip_eh_frame_hdr): Use it here.
1634 * elf-bfd.h (_bfd_elf_eh_frame_present): Declare.
1635 * elflink.c (bfd_elf_size_dynamic_sections): Let the backend
1636 size dynamic sections before stripping eh_frame_hdr.
1637 (bfd_elf_gc_sections): Handle multiple .eh_frame sections.
1638 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Drop glink_eh_frame
1639 if no other .eh_frame sections exist.
1640 * elf64-ppc.c (ppc64_elf_size_stubs): Likewise.
1641 * elf32-i386.c (elf_i386_create_dynamic_sections): Don't size
1642 or alloc plt_eh_frame here..
1643 (elf_i386_size_dynamic_sections): ..do it here instead. Don't
1644 specially keep sgotplt, iplt, tgotplt, sdynbss for symbols.
1645 (elf_i386_finish_dynamic_sections): Check plt_eh_frame->contents
1646 before writing plt offset.
1647 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't size
1648 or alloc plt_eh_frame here..
1649 (elf_x86_64_size_dynamic_sections): ..do it here instead.
1650 (elf_x86_64_finish_dynamic_sections): Check plt_eh_frame->contents
1651 before writing plt offset.
1652
16532012-05-24 Alan Modra <amodra@gmail.com>
1654
1655 PR ld/14158
1656 * elf64-ppc.c (ppc64_elf_size_stubs): Round up glink_eh_frame
1657 size to output section alignment.
1658 (ppc64_elf_build_stubs): Likewise, and extend last FDE to cover.
1659
16602012-05-23 Alan Modra <amodra@gmail.com>
1661
1662 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle
1663 BFDs with multiple .eh_frame sections.
1664
16652012-05-23 Alan Modra <amodra@gmail.com>
1666
1667 PR ld/13909
1668 * elflink.c (bfd_elf_discard_info): Don't ignore dynamic BFDs.
1669
16702012-05-22 H.J. Lu <hongjiu.lu@intel.com>
1671
1672 PR ld/13909
1673 * elf32-i386.c (elf_i386_create_dynamic_sections): Revert the
1674 last change.
1675 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1676
16772012-05-22 Alan Modra <amodra@gmail.com>
1678
1679 * elflink.c (bfd_elf_discard_info): Look for next .eh_frame if
1680 first one is zero size or discarded.
1681 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set most of
1682 glink_eh_frame contents here..
1683 (ppc_elf_finish_dynamic_sections): ..rather than here. Just set
1684 offset to .glink.
1685
16862012-05-22 H.J. Lu <hongjiu.lu@intel.com>
1687
1688 PR ld/13909
1689 * elf32-i386.c (elf_i386_create_dynamic_sections): Create PLT
1690 eh_frame section if there is an input .eh_frame section.
1691 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1692
16932012-05-22 H.J. Lu <hongjiu.lu@intel.com>
1694
1695 PR ld/14105
1696 * elf32-i386.c (elf_i386_create_dynamic_sections): Always
1697 create PLT eh_frame section with SEC_LINKER_CREATED.
1698 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Likewise.
1699
17002012-05-22 Alan Modra <amodra@gmail.com>
1701
1702 * elflink.c (bfd_elf_discard_info): Handle multiple .eh_frame
1703 sections attached to a BFD.
1704 * section.c (bfd_get_section_by_name): Rewrite description.
1705 (bfd_get_next_section_by_name): New function.
1706 * bfd-in2.h: Regenerate.
1707
17082012-05-21 Andreas Schwab <schwab@linux-m68k.org>
1709
1710 * elf32-m68k.c (elf_m68k_grok_prstatus): New function.
1711 (elf_m68k_grok_psinfo): New function.
1712 (elf_backend_grok_prstatus): Define.
1713 (elf_backend_grok_psinfo): Define.
1714
17152012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
1716
1717 * elf64-mips.c (elf_backend_got_header_size): Correct definition.
1718 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF
1719 backend's GOT header size instead of hardcoding it.
1720
17212012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
1722
1723 * elf32-vax.c (elf_vax_relocate_section)
1724 <R_VAX_8, R_VAX_16, R_VAX_32>: Don't check if info->shared again.
1725
17262012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
1727
1728 * elf32-vax.c (elf_vax_relocate_section)
1729 <R_VAX_8, R_VAX_16, R_VAX_32>: Use section flags rather than
1730 its name as the check for text sections.
1731
17322012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
1733
1734 * elf64-mips.c (mips_elf64_be_swap_reloc_out): Also make sure
1735 the third reloc offset is the same as the first.
1736
17372012-05-19 Alan Modra <amodra@gmail.com>
1738
1739 * elf32-ppc.h (has_vle_insns, is_ppc_vle): Delete.
1740 (has_tls_reloc, has_tls_get_addr_call): Move back to..
1741 * elf32-ppc.c: ..here.
1742 (ppc_elf_section_flags, elf_backend_section_flags): Delete.
1743 (ppc_elf_modify_segment_map): Use ELF sh_flags to detect VLE sections.
1744
17452012-05-18 H.J. Lu <hongjiu.lu@intel.com>
1746
1747 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Don't make
1748 _DYNAMIC nor _GLOBAL_OFFSET_TABLE_ absolute.
1749 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1750
17512012-05-18 Roland McGrath <mcgrathr@google.com>
1752
1753 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix last change so as
1754 not to clobber the ar_fmag field stored in ARED->arch_header.
1755
17562012-05-18 Pedro Alves <palves@redhat.com>
1757
1758 * mach-o.h: Don't include sysdep.h.
1759
17602012-05-18 Nick Clifton <nickc@redhat.com>
1761
1762 PR 14072
1763 * bfd-in.h: Check for PACKAGE or PACKAGE_VERSION before
1764 complaining about config.h not having been included.
1765 * bfd-in2.h: Regenerate.
1766
17672012-05-18 Andreas Schwab <schwab@linux-m68k.org>
1768
1769 * aclocal.m4: Regenerate.
1770 * Makefile.in: Regenerate.
1771
17722012-05-17 Daniel Richard G. <skunk@iskunk.org>
1773 Nick Clifton <nickc@redhat.com>
1774
1775 PR 14072
1776 * configure.in: Add check that sysdep.h has been included before
1777 any system header files.
1778 * configure: Regenerate.
1779 * config.in: Regenerate.
1780 * aclocal.m4: Regenerate.
1781 * bfd-in.h: Generate an error if included before config.h.
1782 * sysdep.h: Likewise.
1783 * bfd-in2.h: Regenerate.
1784 * compress.c: Remove #include "config.h".
1785 * plugin.c: Likewise.
1786 * elf32-m68hc1x.c: Include sysdep.h before alloca-conf.h.
1787 * elf64-hppa.c: Likewise.
1788 * som.c: Likewise.
1789 * xsymc.c: Likewise.
1790
17912012-05-17 Maciej W. Rozycki <macro@linux-mips.org>
1792 Alan Modra <amodra@gmail.com>
1793
1794 * elf.c (ignore_section_sym): Correct comment. Don't return
1795 true for absolute section.
1796 (elf_map_symbols): Move stray comment. Adjust for above change.
1797 Don't discard global section symbols.
1798
17992012-05-17 Alan Modra <amodra@gmail.com>
1800
1801 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make _DYNAMIC,
1802 _GLOBAL_OFFSET_TABLE_ or _PROCEDURE_LINKAGE_TABLE_ absolute.
1803 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Don't make _DYNAMIC
1804 absolute.
1805
18062012-05-17 Alan Modra <amodra@gmail.com>
1807
1808 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call, has_vle_insns,
1809 is_ppc_vle): Move to..
1810 * elf32-ppc.h: ..here, making is_ppc_vle a macro.
1811
18122012-05-16 Sergio Durigan Junior <sergiodj@redhat.com>
1813
1814 * bfd-in.h (bfd_get_section_name, bfd_get_section_vma,
1815 bfd_get_section_lma, bfd_get_section_alignment,
1816 bfd_get_section_flags, bfd_get_section_userdata): Rewrite macros
1817 in order to use the `bfd' argument.
1818 * bfd-in2.h: Regenerate.
1819 * elf-vxworks.c (elf_vxworks_finish_dynamic_entry): Pass proper `bfd'
1820 as the first argument for `bfd_get_section_alignment'.
1821 * elf32-arm.c (create_ifunc_sections): Likewise, for
1822 `bfd_set_section_alignment'.
1823 * elf32-m32r.c (m32r_elf_relocate_section): Likewise, for
1824 `bfd_get_section_name'.
1825 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1826 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1827 (ppc_elf_relocate_section): Likewise.
1828 * elf64-mmix.c (mmix_final_link_relocate): Likewise, for
1829 `bfd_get_section_vma'.
1830 * elf64-ppc.c (create_linkage_sections): Likewise, for
1831 `bfd_set_section_alignment'.
1832
18332012-05-16 Georg-Johann Lay <avr@gjlay.de>
1834
1835 PR target/13503
1836 * reloc.c: Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
1837 * bfd-in2.h: Regenerate.
1838 * libbfd.h: Regenerate.
1839 * elf32-avr.c (elf_avr_howto_table): Rename R_AVR_8_HHI8 to
1840 R_AVR_8_HLO8.
1841 (avr_reloc_map): Likewise.
1842
18432012-05-16 Daniel Richard G. <skunk@iskunk.org>
1844
1845 PR binutils/13558
1846 * bfd/aout-cris.c: Include sysdep.h before bfd.h.
1847 * bfd/aout-ns32k.c: Likewise.
1848 * bfd/aout-sparcle.c: Likewise.
1849 * bfd/aout0.c: Likewise.
1850 * bfd/bfd-in2.h: Likewise.
1851 * bfd/coff-stgo32.c: Likewise.
1852 * bfd/cpu-lm32.c: Likewise.
1853 * bfd/cpu-microblaze.c: Likewise.
1854 * bfd/cpu-score.c: Likewise.
1855 * bfd/cpu-tilegx.c: Likewise.
1856 * bfd/cpu-tilepro.c: Likewise.
1857 * bfd/elf32-lm32.c: Likewise.
1858 * bfd/elf32-microblaze.c: Likewise.
1859 * bfd/elf32-score7.c: Likewise.
1860 * bfd/elf32-tilepro.c: Likewise.
1861 * bfd/elfxx-tilegx.c: Likewise.
1862 * bfd/mach-o.h: Likewise.
1863 * bfd/nlm32-ppc.c: Likewise.
1864 * bfd/ns32knetbsd.c: Likewise.
1865 * bfd/pef.h: Likewise.
1866 * bfd/plugin.c: Likewise.
1867 * bfd/stab-syms.c: Likewise.
1868 * bfd/sunos.c: Likewise.
1869 * bfd/syms.c: Likewise.
1870 * bfd/xsym.h: Likewise.
1871
18722012-05-16 Alan Modra <amodra@gmail.com>
1873
1874 * elflink.c: Rename flaginfo to flinfo throughout, except..
1875 (bfd_elf_lookup_section_flags): ..here, rename finfo to flaginfo.
1876 Formatting, style. Simplify flag match.
1877
18782012-05-16 Alan Modra <amodra@gmail.com>
1879
1880 * dwarf2.c: Formatting.
1881 (arange_add): Pass in unit rather than bfd. Update callers.
1882 Ignore empty ranges. Don't ask for cleared memory.
1883 (parse_comp_unit): Only set unit->base_address if processing
1884 DW_TAG_compile_unit.
1885 (find_debug_info): Optimise section lookup.
1886 (place_sections): Use bfd_alloc for stash->adjusted_sections.
1887 (find_line): Match previously parsed comp unit addresses as we
1888 do for newly parsed comp units.
1889
18902012-05-16 Alan Modra <amodra@gmail.com>
1891
1892 * archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf
1893 stops at end of ar_size field.
1894
18952012-05-16 Alan Modra <amodra@gmail.com>
1896
1897 PR ld/13962
1898 PR ld/7023
1899 * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
1900 out of range. As a special case, fix sh_info for zero sh_size.
1901 Do the same for .symtab.
1902
19032012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
1904 Stephane Carrez <stcarrez@nerim.fr>
1905
1906 * archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg.
1907 * config.bfd: Likewise.
1908 * cpu-m9s12x.c: New.
1909 * cpu-m9s12xg.c: New.
1910 * elf32-m68hc12.c: Add S12X and XGATE co-processor support.
1911 Add option to offset S12 addresses into XGATE memory space.
1912 Fix carry bug in IMM16 (IMM8 low/high) relocate.
1913 * Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg.
1914 (ALL_MACHINES_CFILES): Likewise.
1915 * reloc.c: Add S12X relocs.
1916 * Makefile.in: Regenerate.
1917 * bfd-in2.h: Regenerate.
1918 * libbfd.h: Regenerate.
1919
19202012-05-14 James Lemke <jwlemke@codesourcery.com>
1921 Catherine Moore <clm@codesourcery.com>
1922
1923 * bfd.c (bfd_lookup_section_flags): Add section parm.
1924 * ecoff.c (bfd_debug_section): Remove flag_info initializer.
1925 * elf-bfd.h (bfd_elf_section_data): Move in section_flag_info.
1926 (bfd_elf_lookup_section_flags): Add section parm.
1927 * elf32-ppc.c (is_ppc_vle): New function.
1928 (ppc_elf_modify_segment_map): New function.
1929 (elf_backend_modify_segment_map): Define.
1930 (has_vle_insns): New define.
1931 * elf32-ppc.h (ppc_elf_modify_segment_map): Declare.
1932 * elflink.c (bfd_elf_lookup_section_flags): Add return value & parm.
1933 Move in logic to omit / include a section.
1934 * libbfd-in.h (bfd_link_info): Add section parm.
1935 (bfd_generic_lookup_section_flags): Likewise.
1936 * reloc.c (bfd_generic_lookup_section_flags): Likewise.
1937 * section.c (bfd_section): Move out section_flag_info.
1938 (BFD_FAKE_SECTION): Remove flag_info initializer.
1939 * targets.c (_bfd_lookup_section_flags): Add section parm.
1940
19412012-05-14 Catherine Moore <clm@codesourcery.com>
1942
1943 * archures.c (bfd_mach_ppc_vle): New.
1944 * bfd-in2.h: Regenerated.
1945 * cpu-powerpc.c (bfd_powerpc_archs): New entry for vle.
1946 * elf32-ppc.c (split16_format_type): New enumeration.
1947 (ppc_elf_vle_split16): New function.
1948 (HOWTO): Add entries for R_PPC_VLE relocations.
1949 (ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations.
1950 (ppc_elf_section_flags): New function.
1951 (ppc_elf_lookup_section_flags): New function.
1952 (ppc_elf_section_processing): New function.
1953 (ppc_elf_check_relocs): Handle PPC_VLE relocations.
1954 (ppc_elf_relocation_section): Likewise.
1955 (elf_backend_lookup_section_flags_hook): Define.
1956 (elf_backend_section_flags): Define.
1957 (elf_backend_section_processing): Define.
1958 * elf32-ppc.h (ppc_elf_section_processing): Declare.
1959 * libbfd.h: Regenerated.
1960 * reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15,
1961 BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A,
1962 BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A,
1963 BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A,
1964 BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21,
1965 BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A,
1966 BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A,
1967 BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A,
1968 BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations.
1969
19702012-05-11 Georg-Johann Lay <avr@gjlay.de>
1971
1972 PR target/13503
1973 * reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO,
1974 BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI.
1975 * bfd-in2.h: Regenerate.
1976 * libbfd.h: Regenerate.
1977 * elf32-avr.c (elf_avr_howto_table): Add entries for
1978 R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
1979 (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8,
1980 R_AVR_8_HHI8.
1981
19822012-05-10 H.J. Lu <hongjiu.lu@intel.com>
1983
1984 * elf64-x86-64.c (elf_x86_64_relocate_section): Use int in x32
1985 addend overflow check.
1986
19872012-05-10 DJ Delorie <dj@redhat.com>
1988
1989 * elf32-rx.c (rx_elf_object_p): Ignore empty segments.
1990
19912012-05-10 H.J. Lu <hongjiu.lu@intel.com>
1992
1993 * elf64-x86-64.c (elf_x86_64_relocate_section): Display signed
1994 hex number in x32 addend overflow check.
1995
19962012-05-10 H.J. Lu <hongjiu.lu@intel.com>
1997
1998 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
1999 R_X86_64_RELATIVE64.
2000
20012012-05-09 H.J. Lu <hongjiu.lu@intel.com>
2002
2003 * elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
2004 overflow for R_X86_64_RELATIVE64.
2005
20062012-05-08 Ben Cheng <bccheng@google.com>
2007
2008 * elf.c: Preserve the original p_align and p_flags if they are
2009 valid.
2010
20112012-05-07 Alan Modra <amodra@gmail.com>
2012
2013 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Update
2014 RELOC_AGAINST_DISCARDED_SECTION invocation.
2015
20162012-05-07 Hans-Peter Nilsson <hp@axis.com>
2017
2018 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Declare and use
2019 local variable i_ instead of assuming and using a variable i.
2020
20212012-05-07 Maciej W. Rozycki <macro@linux-mips.org>
2022
2023 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Handle compound
2024 relocations.
2025 * elfxx-mips.c (mips_reloc_against_discarded_section): New
2026 function.
2027 (_bfd_mips_elf_relocate_section): Call it, in place of
2028 RELOC_AGAINST_DISCARDED_SECTION.
2029 * elf-m10200.c (mn10200_elf_relocate_section): Update arguments
2030 to RELOC_AGAINST_DISCARDED_SECTION.
2031 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2032 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
2033 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2034 * elf32-bfin.c (bfin_relocate_section): Likewise.
2035 (bfinfdpic_relocate_section): Likewise.
2036 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
2037 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
2038 * elf32-cris.c (cris_elf_relocate_section): Likewise.
2039 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
2040 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2041 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
2042 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2043 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2044 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2045 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2046 * elf32-i370.c (i370_elf_relocate_section): Likewise.
2047 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2048 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2049 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2050 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
2051 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
2052 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2053 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2054 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
2055 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2056 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2057 * elf32-mep.c (mep_elf_relocate_section): Likewise.
2058 * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
2059 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2060 * elf32-mt.c (mt_elf_relocate_section): Likewise.
2061 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2062 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2063 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
2064 * elf32-rx.c (rx_elf_relocate_section): Likewise.
2065 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2066 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2067 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2068 * elf32-sh.c (sh_elf_relocate_section): Likewise.
2069 * elf32-spu.c (spu_elf_relocate_section): Likewise.
2070 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
2071 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
2072 * elf32-v850.c (v850_elf_relocate_section): Likewise.
2073 * elf32-vax.c (elf_vax_relocate_section): Likewise.
2074 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
2075 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2076 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
2077 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
2078 (elf64_alpha_relocate_section): Likewise.
2079 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
2080 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2081 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2082 * elf64-s390.c (elf_s390_relocate_section): Likewise.
2083 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2084 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2085 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
2086 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2087 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
2088
20892012-05-05 Alan Modra <amodra@gmail.com>
2090
2091 PR ld/14052
2092 PR ld/13621
2093 * linker.c (_bfd_nearby_section): Revert 2012-02-13 change.
2094
20952012-05-05 Alan Modra <amodra@gmail.com>
2096
2097 * aout-arm.c: Replace all uses of bfd_abs_section, bfd_com_section,
2098 bfd_und_section and bfd_ind_section with their _ptr variants, or
2099 use corresponding bfd_is_* macros.
2100 * aout-ns32k.c: Likewise.
2101 * aout-tic30.c: Likewise.
2102 * coff-arm.c: Likewise.
2103 * coff-tic54x.c: Likewise.
2104 * cpu-ns32k.c: Likewise.
2105 * elf-attrs.c: Likewise.
2106 * elfcode.h: Likewise.
2107 * peicode.h: Likewise.
2108 * reloc.c: Likewise.
2109 * riscix.c: Likewise.
2110 * versados.c: Likewise.
2111 * section.c: Likewise.
2112 (bfd_abs_section, bfd_ind_section, bfd_com_section,
2113 bfd_ind_section): Delete.
2114 (std_section): New array replacing above.
2115 (bfd_abs_section_ptr, bfd_ind_section_ptr, bfd_com_section_ptr,
2116 bfd_ind_section_ptr, STD_SECTION): Update.
2117 (BFD_FAKE_SECTION, GLOBAL_SYM_INIT): Remove unnecessary casts.
2118 * bfd-in2.h: Regenerate.
2119
21202012-05-03 Sean Keys <skeys@ipdatasys.com>
2121
2122 * cpu-xgate.c: New file. Added XGATE support.
2123 * archures.c (bfd_architecture): Add XGATE architecture.
2124 (bfd_archures_list): Add reference to XGATE architecture info.
2125 * elf-bfd.h (prep_headers): Handle bfd_arch_xgate.
2126 * reloc.c: Add various XGATE relocation enums.
2127 * targets.c (bfd_elf32_xgate_vec): Declare and add to target vector
2128 list.
2129 * Makefile.am: Add support for XGATE elf.
2130 * configure.in: Ditto.
2131 * config.bfd: Ditto.
2132 * Makefile.in: Regenerate.
2133 * configure: Ditto.
2134 * bfd-in2.h: Ditto.
2135 * libbfd.h: Ditto.
2136 Added files for XGATE relocations.
2137 * elf32-xgate.c: Created minimal relocation file.
2138 * elf32-xgate.h: Created minimal header file for elf32-xgate.
2139
21402012-05-03 Tristan Gingold <gingold@adacore.com>
2141
2142 * dwarf2.c (decode_line_info): Ignore
2143 DW_LNE_HP_source_file_correlation.
2144
21452012-05-01 Nick Clifton <nickc@redhat.com>
2146
2147 PR binutils/13121
2148 * aoutx.h: Rename 'finfo' to 'flaginfo' to avoid conflicts with
2149 AIX system headers.
2150 * coff-ppc.c: Likewise.
2151 * cofflink.c: Likewise.
2152 * elf32-arm.c: Likewise.
2153 * elf64-sparc.c: Likewise.
2154 * elflink.c: Likewise.
2155 * pdp11.c: Likewise.
2156 * rescoff.c: Likewise.
2157
21582012-04-26 Mark Wielaard <mjw@redhat.com>
2159
2160 * dwarf2.c (scan_unit_for_symbols): Account for DW_AT_high_pc
2161 possibly being relative to DW_AT_low_pc.
2162 (parse_comp_unit): Likewise.
2163
21642012-04-26 Andreas Schwab <schwab@linux-m68k.org>
2165
2166 * elf32-m68k.c (elf_m68k_check_relocs): Mark non-GOT references
2167 also when generating PIE.
2168 (elf_m68k_discard_copies): Mark undefined weak symbols referenced
2169 by relocations as dynamic.
2170
21712012-04-26 Hans-Peter Nilsson <hp@axis.com>
2172
2173 Provide a way for programs to recognize BFD_ASSERT calls.
2174 * bfd.c (bfd_assert_handler_type): New API type.
2175 (bfd_set_assert_handler, bfd_get_assert_handler): New API functions.
2176 (_bfd_assert_handler): New variable.
2177 (_bfd_default_assert_handler): New function.
2178 (bfd_assert): Call _bfd_assert_handler, not _bfd_error_handler.
2179 * libbfd-in.h (_bfd_assert_handler): Declare.
2180 * libbfd.h, bfd-in2.h: Regenerate.
2181
21822012-04-24 Hans-Peter Nilsson <hp@axis.com>
2183
2184 PR ld/13990
2185 * elf32-arm.c (elf32_arm_gc_sweep_hook): Handle a forced-local
2186 symbol, where PLT refcount is set to -1.
2187
21882012-04-24 Alan Modra <amodra@gmail.com>
2189
2190 PR ld/13991
2191 * elf-bfd.h (_bfd_elf_link_just_syms): Define as
2192 _bfd_generic_link_just_syms.
2193 * elflink.c (_bfd_elf_link_just_syms): Delete.
2194 * linker.c (_bfd_generic_link_just_syms): Set sec_info_type.
2195
2196 * bfd-in.h (discarded_section): Renamed from elf_discarded_section.
2197 * section.c (SEC_INFO_TYPE_NONE, SEC_INFO_TYPE_STABS,
2198 SEC_INFO_TYPE_MERGE, SEC_INFO_TYPE_EH_FRAME,
2199 SEC_INFO_TYPE_JUST_SYMS): Renamed from corresponding ELF_INFO_TYPE.
2200 * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
2201 * elf.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
2202 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c,
2203 * elf32-crx.c, * elf32-d10v.c, * elf32-epiphany.c,
2204 * elf32-fr30.c, * elf32-frv.c, * elf32-h8300.c,
2205 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c,
2206 * elf32-i860.c, * elf32-ip2k.c, * elf32-iq2000.c,
2207 * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c,
2208 * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
2209 * elf32-mep.c, * elf32-moxie.c, * elf32-msp430.c,
2210 * elf32-mt.c, * elf32-openrisc.c, * elf32-ppc.c,
2211 * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c,
2212 * elf32-score.c, * elf32-score7.c, * elf32-sh.c,
2213 * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
2214 * elf32-v850.c, * elf32-vax.c, * elf32-xc16x.c,
2215 * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
2216 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
2217 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c,
2218 * elf64-x86-64.c, * elflink.c, * elfnn-ia64.c,
2219 * elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c,
2220 * reloc.c: Update all references.
2221 * bfd-in2.h: Regenerate.
2222
22232012-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2224
2225 * elf32-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
2226 * elf64-s390.c (ELF_DYNAMIC_INTERPRETER): Set to the GCC default.
2227
22282012-04-19 Thomas Schwinge <thomas@codesourcery.com>
2229
2230 * elf32-sh.c (elf_sh_link_hash_entry): Specify an enum identifier for
2231 got_type.
2232 (allocate_dynrelocs, sh_elf_relocate_section, sh_elf_check_relocs): Use
2233 it.
2234
22352012-04-17 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2236
2237 * elf32-sh.c (allocate_dynrelocs): Don't allocate dynamic
2238 relocations when LE conversion happens on the IE tls symbol.
2239
22402012-04-17 Roland McGrath <mcgrathr@google.com>
2241
2242 * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Fix nop padding
2243 so that 32-byte boundary is a proper instruction boundary.
2244
22452012-04-17 Tristan Gingold <gingold@adacore.com>
2246
2247 * vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to
2248 member of an object archive.<
2249
22502012-04-17 Tristan Gingold <gingold@adacore.com>
2251
2252 * vms-lib.c (MAX_EKEYLEN): Define.
2253 (MAX_KEYLEN): Fix value.
2254 (vms_write_index): Add comments and fix indentation.
2255 Adjust comparaison. Add assertions. Free kbn_blk.
2256 (_bfd_vms_lib_write_archive_contents): Use MAX_EKEYLEN.
2257 Compense MAX_KEYLEN adjustment.
2258
22592012-04-16 Maciej W. Rozycki <macro@linux-mips.org>
2260
2261 * elfxx-mips.c (mips16_stub_symndx): Handle n64 compound relocs.
2262 (_bfd_mips_elf_check_relocs): Update accordingly.
2263
22642012-04-13 Alan Modra <amodra@gmail.com>
2265
2266 PR ld/13947
2267 * elflink.c (bfd_elf_final_link): Set reloc_count to 0 for
2268 reloc sections.
2269
22702012-04-12 David S. Miller <davem@davemloft.net>
2271
2272 * reloc.c (BFD_RELOC_SPARC_H34, BFD_RELOC_SPARC_SIZE32,
2273 BFD_RELOC_SPARC_SIZE64, BFD_RELOC_SPARC_WDISP10): New relocs.
2274 * libbfd.h: Regenerate.
2275 * bfd-in2.h: Likewise.
2276 * elfxx-sparc.c (sparc_elf_wdisp10_reloc): New function.
2277 (_bfd_sparc_elf_howto_table): Add entries for R_SPARC_H34,
2278 R_SPARC_SIZE32, R_SPARC_64, and R_SPARC_WDISP10.
2279 (_bfd_sparc_elf_reloc_type_lookup): Handle new relocs.
2280 (_bfd_sparc_elf_check_relocs): Likewise.
2281 (_bfd_sparc_elf_gc_sweep_hook): Likewise.
2282 (_bfd_sparc_elf_relocate_section): Likewise.
2283
22842012-04-12 Roland McGrath <mcgrathr@google.com>
2285
2286 * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry):
2287 New variables.
2288 (struct elf32_arm_link_hash_table): New member `nacl_p'.
2289 (elf32_arm_link_hash_table_create): Initialize it.
2290 (elf32_arm_nacl_link_hash_table_create): New function.
2291 (arm_movw_immediate, arm_movt_immediate): New functions.
2292 (elf32_arm_populate_plt_entry): Test HTAB->nacl_p.
2293 (elf32_arm_finish_dynamic_sections): Likewise.
2294 (elf32_arm_output_plt_map_1): Likewise.
2295 (bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec):
2296 New backend vector stanza.
2297 (elf32_arm_nacl_modify_segment_map): New function.
2298 * config.bfd: Handle arm-*-nacl*, armeb-*-nacl*.
2299 * targets.c: Support bfd_elf32_{big,little}_nacl_vec.
2300 * configure.in: Likewise.
2301 (bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here.
2302 (bfd_elf32_littlearm_nacl_vec): Likewise.
2303 (bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise.
2304 (bfd_elf32_bigarm_symbian_vec): Likewise.
2305 (bfd_elf32_littlearm_symbian_vec): Likewise.
2306 (bfd_elf32_bigarm_vxworks_vec): Likewise.
2307 (bfd_elf32_littlearm_vxworks_vec): Likewise.
2308 * configure: Regenerated.
2309
23102012-04-12 Tristan Gingold <gingold@adacore.com>
2311
2312 * elflink.c (elf_link_output_extsym): Add a guard.
2313 (bfd_elf_final_link): Remove assertion.
2314 (bfd_elf_final_link): Add a guard.
2315 * elfnn-ia64.c (INCLUDE_IA64_VMS): Removed.
2316 (elfNN_vms_section_from_shdr, elfNN_vms_object_p)
2317 (elfNN_vms_post_process_headers, elfNN_vms_section_processing)
2318 (elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup):
2319 Remove.
2320 (elfNN-ia64-vms target): Move to ...
2321 * elf64-ia64-vms.c: New file.
2322 * configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo
2323 * Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo.
2324 (BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c.
2325 * configure: Regenerate.
2326 * Makefile.in: Regenerate.
2327
23282012-04-11 Nick Clifton <nickc@redhat.com>
2329
2330 PR binutils/13897
2331 * elf64-ppc.c (opd_entry_value): When dealing with sections
2332 without relocs, keep the last section loaded in order to avoid
2333 unnecessary reloads.
2334
23352012-04-09 Roland McGrath <mcgrathr@google.com>
2336
2337 * elf.c (_bfd_elf_map_sections_to_segments): Set INFO->user_phdrs.
2338 * elf-nacl.c (nacl_modify_segment_map): Do nothing if INFO->user_phdrs.
2339 (nacl_modify_program_headers): Likewise.
2340
23412012-04-03 Roland McGrath <mcgrathr@google.com>
2342
2343 * elf-nacl.c: New file.
2344 * elf-nacl.h: New file.
2345 * elf32-i386.c (elf_backend_modify_segment_map): Define for
2346 bfd_elf32_i386_nacl_vec.
2347 (elf_backend_modify_program_headers): Likewise.
2348 * elf64-x86-64.c (elf_backend_modify_segment_map): Define for
2349 bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec.
2350 (elf_backend_modify_program_headers): Likewise.
2351 * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here.
2352 (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here.
2353 * Makefile.in: Regenerated.
2354 * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here.
2355 (bfd_elf32_x86_64_nacl_vec): Likewise.
2356 (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise.
2357 (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise.
2358 (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise.
2359 (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise.
2360 (bfd_elf32_i386_nacl_vec): Likewise.
2361 (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise.
2362 (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise.
2363 * configure: Regenerated.
2364
23652012-03-31 Andreas Schwab <schwab@linux-m68k.org>
2366
2367 * elf32-m68k.c (elf_m68k_relocate_section): Allow
2368 R_68K_TLS_LE{8,16,32} for PIE.
2369
23702012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2371
2372 * elf64-s390.c: Fix several comments regarding PLT entry
2373 description.
2374 * elf32-s390.c: Likewise.
2375
23762012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2377
2378 * elf64-s390.c: Use the section pointer shortcuts in
2379 elf_link_hash_table and remove them from the target specific
2380 variant.
2381 * elf32-s390.c: Likewise.
2382
23832012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2384
2385 * elf64-s390.c (elf_s390x_plt_entry, elf_s390x_first_plt_entry):
2386 New definitions.
2387 (PLT_PIC_ENTRY_WORD*, PLT_PIC12_ENTRY_WORD*): Remove.
2388 (elf_s390_finish_dynamic_symbol): Use memcpy instead of bfd_put_32.
2389 (elf_s390_finish_dynamic_sections): Likewise.
2390 * elf32-s390.c (elf_s390_plt_entry, elf_s390_plt_pic_entry)
2391 (elf_s390_plt_pic12_entry, elf_s390_plt_pic16_entry)
2392 (elf_s390_plt_first_entry, elf_s390_plt_pic_first_entry): New definitions.
2393 (PLT_PIC16_ENTRY_WORD*, PLT_ENTRY_WORD*)
2394 (PLT_PIC_FIRST_ENTRY_WORD*, PLT_FIRST_ENTRY_WORD*): Remove.
2395
23962012-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2397
2398 * elf32-s390.c (struct elf_s390_dyn_relocs): Remove.
2399 Rename all occurrences in the file to elf_dyn_relocs.
2400 * elf64-s390.c: Likewise.
2401
24022012-03-30 Alan Modra <amodra@gmail.com>
2403
2404 * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
2405 libraries.
2406
24072012-03-29 Alan Modra <amodra@gmail.com>
2408
2409 * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete.
2410 * bfd-in2.h: Regenerate.
2411
24122012-03-23 Alan Modra <amodra@gmail.com>
2413
2414 * elf.c (assign_file_positions_for_non_load_sections): Don't warn
2415 on empty alloc sections.
2416
24172012-03-23 Alan Modra <amodra@gmail.com>
2418
2419 * linker.c (_bfd_nearby_section): New function, split out from..
2420 (fix_syms): ..here.
2421 * bfd-in.h (_bfd_nearby_section): Declare.
2422 * bfd-in2.h: Regenerate.
2423 * elflink.c (elf_link_input_bfd): Don't use text_index_section or
2424 data_index_section with ld -q or ld -r output relocs against
2425 stripped output sections. Instead use _bfd_nearby_section.
2426
24272012-03-23 Alan Modra <amodra@gmail.com>
2428
2429 PR binutils/13894
2430 * elf64-ppc.c (opd_entry_value): Read full symbol table when
2431 sym hashes unavailable.
2432
24332012-03-21 Eliot Dresselhaus <eliot@sonic.net>
2434
2435 * elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Return TRUE
2436 for non-C6X objects.
2437
24382012-03-20 Kai Tietz <ktietz@redhat.com>
2439
2440 PR ld/12742
2441 * configure.in (AC_CHECK_HEADERS): Test for windows.h and dlfcn.h.
2442 * plugin.c: Guard include of dlfcn.h if HAVE_DLFCN_H is defined.
2443 Add windows.h header include if HAVE_WINDOWS_H is defined.
2444 (dlerror): New static function if windows variant is used instead
2445 of dlfcn.h.
2446 (dlclose): Likewise.
2447 (dlopen): Likewise.
2448 (dlsym): Likewise.
2449 * configure: Regenerated.
2450 * config.in: Regenerated.
2451
24522012-03-20 H.J. Lu <hongjiu.lu@intel.com>
2453
2454 PR ld/13880
2455 * elf32-i386.c (elf_i386_relocate_section): Don't issue an error
2456 for R_386_GOTOFF relocation against protected function if
2457 SYMBOLIC_BIND is true.
2458
2459 * elf64-x86-64.c (elf_x86_64_relocate_section): Don't issue an
2460 error for R_X86_64_GOTOFF64 relocation against protected function
2461 when building executable or SYMBOLIC_BIND is true.
2462
24632012-03-16 Roland McGrath <mcgrathr@google.com>
2464
2465 * config.bfd: Handle x86_64-*-nacl*.
2466 * elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
2467 (bfd_elf32_x86_64_nacl_vec): Likewise.
2468 * targets.c: Support them.
2469 * configure.in: Likewise.
2470 * configure: Regenerated.
2471
24722012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
2473
2474 * elf32-arm.c (elf32_arm_attributes_accept_div): New function.
2475 (elf32_arm_attributes_forbid_div): Likewise.
2476 (elf32_arm_merge_eabi_attributes): Correct handling of
2477 Tag_DIV_use.
2478
24792012-03-15 Roland McGrath <mcgrathr@google.com>
2480
2481 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
2482 elf_x86_64_backend_data parameters for plt_eh_frame.
2483
2484 * elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
2485 (get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
2486 (elf_x86_64_arch_bed): New variable.
2487 (elf_backend_arch_data): New macro.
2488 (elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
2489 (elf_x86_64_allocate_dynrelocs): Likewise.
2490 (elf_x86_64_relocate_section): Likewise.
2491 (elf_x86_64_plt_sym_val): Likewise.
2492 (elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
2493 parameters for PLT details.
2494 (elf_x86_64_finish_dynamic_sections): Likewise.
2495
24962012-03-14 Roland McGrath <mcgrathr@google.com>
2497
2498 * elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
2499 to the full size, padding out with nop instructions.
2500
25012012-03-12 Alan Modra <amodra@gmail.com>
2502
2503 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't warn
2504 on zero size dynbss symbol.
2505 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
2506 * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
2507 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
2508 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
2509 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
2510 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
2511 * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
2512 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
2513 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
2514 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
2515 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
2516 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
2517 * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
2518 * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
2519 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
2520 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
2521 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
2522 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
2523 * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
2524 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
2525 * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
2526
25272012-03-10 Edmar Wienskoski <edmar@freescale.com>
2528
2529 * archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
2530 * bfd-in2.h: Regenerate.
2531 * cpu-powerpc.c (bfd_powerpc_archs): Add entries for
2532 bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
2533
25342012-03-09 H.J. Lu <hongjiu.lu@intel.com>
2535
2536 PR ld/13817
2537 * elf32-i386.c (elf_i386_relocate_section): Restore
2538 R_386_IRELATIVE.
2539
2540 * elf64-x86-64.c (elf_x86_64_relocate_section): Restore
2541 R_X86_64_IRELATIVE.
2542
25432012-03-08 Tristan Gingold <gingold@adacore.com>
2544
2545 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Set maximum
2546 keylen according to archive kind. Set nextvbn and nextrfa lhd
2547 fields. Add comments.
2548
25492012-03-07 Nick Clifton <nickc@redhat.com>
2550
2551 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type
2552 field.
2553 (elf32_mn10300_link_hash_table): Add tls_ldm_got entry;
2554 (elf_mn10300_tdata): Define.
2555 (elf_mn10300_local_got_tls_type): Define.
2556 (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD,
2557 R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
2558 R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
2559 R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs.
2560 (mn10300_reloc_map): Likewise.
2561 (elf_mn10300_tls_transition): New function.
2562 (dtpoff, tpoff, mn10300_do_tls_transition): New functions.
2563 (mn10300_elf_check_relocs): Add TLS support.
2564 (mn10300_elf_final_link_relocate): Likewise.
2565 (mn10300_elf_relocate_section): Likewise.
2566 (mn10300_elf_relax_section): Likewise.
2567 (elf32_mn10300_link_hash_newfunc): Initialise new field.
2568 (_bfd_mn10300_copy_indirect_symbol): New function.
2569 (elf32_mn10300_link_hash_table_create): Initialise new fields.
2570 (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support.
2571 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
2572 (_bfd_mn10300_elf_reloc_type_class): Allocate an
2573 elf_mn10300_obj_tdata structure.
2574 (elf_backend_copy_indirect_symbol): Define.
2575 * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD,
2576 BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE,
2577 BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD,
2578 BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations.
2579 (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to
2580 alongside other MN10300 relocations.
2581 * bfd-in2.h: Regenerate.
2582 * libbfd.h: Regenerate.
2583
25842012-03-06 Jakub Jelinek <jakub@redhat.com>
2585
2586 * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE
2587 set relocate to TRUE.
2588
25892012-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2590
2591 PR ld/12152
2592 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore
2593 overflows for R_SPARC_UA32 in .stab sections.
2594
25952012-03-01 Alan Modra <amodra@gmail.com>
2596
2597 * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
2598
25992012-02-27 Alan Modra <amodra@gmail.com>
2600
2601 * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd
2602 before calling elf specific function.
2603 (sh_elf_osec_readonly_p): Test for error return from above.
2604
26052012-02-27 Alan Modra <amodra@gmail.com>
2606
2607 * elf32-spu.c (build_stub): Fix malloc under-allocation.
2608
26092012-02-25 Walter Lee <walt@tilera.com>
2610 * reloc.c: Add BFD_RELOC_TILEPRO_TLS_GD_CALL,
2611 BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD,
2612 BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD,
2613 BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD,
2614 BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD,
2615 BFD_RELOC_TILEPRO_TLS_IE_LOAD, BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE,
2616 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE,
2617 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO,
2618 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO,
2619 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI,
2620 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI,
2621 BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA,
2622 BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA,
2623 BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE,
2624 BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE,
2625 BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE,
2626 BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE,
2627 BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE,
2628 BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE,
2629 BFD_RELOC_TILEGX_TLS_GD_CALL, BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD,
2630 BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD,
2631 BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD,
2632 BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, BFD_RELOC_TILEGX_TLS_IE_LOAD,
2633 BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD,
2634 BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD,
2635 BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD.
2636 Delete BFD_RELOC_TILEGX_IMM16_X0_HW1_GOT,
2637 BFD_RELOC_TILEGX_IMM16_X1_HW1_GOT,
2638 BFD_RELOC_TILEGX_IMM16_X0_HW2_GOT,
2639 BFD_RELOC_TILEGX_IMM16_X1_HW2_GOT,
2640 BFD_RELOC_TILEGX_IMM16_X0_HW3_GOT,
2641 BFD_RELOC_TILEGX_IMM16_X1_HW3_GOT,
2642 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_GOT,
2643 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_GOT,
2644 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_GD,
2645 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_GD,
2646 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_GD,
2647 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_GD,
2648 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_GD,
2649 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_GD,
2650 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_GD,
2651 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_GD,
2652 BFD_RELOC_TILEGX_IMM16_X0_HW1_TLS_IE,
2653 BFD_RELOC_TILEGX_IMM16_X1_HW1_TLS_IE,
2654 BFD_RELOC_TILEGX_IMM16_X0_HW2_TLS_IE,
2655 BFD_RELOC_TILEGX_IMM16_X1_HW2_TLS_IE,
2656 BFD_RELOC_TILEGX_IMM16_X0_HW3_TLS_IE,
2657 BFD_RELOC_TILEGX_IMM16_X1_HW3_TLS_IE,
2658 BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_TLS_IE,
2659 BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_TLS_IE.
2660 * elf32-tilepro.c (tilepro_elf_howto_table): Update tilepro
2661 relocations.
2662 (tilepro_reloc_map): Ditto.
2663 (tilepro_info_to_howto_rela): Ditto.
2664 (reloc_to_create_func): Ditto.
2665 (tilepro_tls_translate_to_le): New.
2666 (tilepro_tls_translate_to_ie): New.
2667 (tilepro_elf_tls_transition): New.
2668 (tilepro_elf_check_relocs): Handle new tls relocations.
2669 (tilepro_elf_gc_sweep_hook): Ditto.
2670 (allocate_dynrelocs): Ditto.
2671 (tilepro_elf_relocate_section): Ditto.
2672 (tilepro_replace_insn): New.
2673 (insn_mask_X1): New.
2674 (insn_mask_X0_no_dest_no_srca): New
2675 (insn_mask_X1_no_dest_no_srca): New
2676 (insn_mask_Y0_no_dest_no_srca): New
2677 (insn_mask_Y1_no_dest_no_srca): New
2678 (srca_mask_X0): New
2679 (srca_mask_X1): New
2680 (insn_tls_le_move_X1): New
2681 (insn_tls_le_move_zero_X0X1): New
2682 (insn_tls_ie_lw_X1): New
2683 (insn_tls_ie_add_X0X1): New
2684 (insn_tls_ie_add_Y0Y1): New
2685 (insn_tls_gd_add_X0X1): New
2686 (insn_tls_gd_add_Y0Y1): New
2687 * elfxx-tilegx.c (tilegx_elf_howto_table): Update tilegx
2688 relocations.
2689 (tilegx_reloc_map): Ditto.
2690 (tilegx_info_to_howto_rela): Ditto.
2691 (reloc_to_create_func): Ditto.
2692 (tilegx_elf_link_hash_table): New field disable_le_transition.
2693 (tilegx_tls_translate_to_le): New.
2694 (tilegx_tls_translate_to_ie): New.
2695 (tilegx_elf_tls_transition): New.
2696 (tilegx_elf_check_relocs): Handle new tls relocations.
2697 (tilegx_elf_gc_sweep_hook): Ditto.
2698 (allocate_dynrelocs): Ditto.
2699 (tilegx_elf_relocate_section): Ditto.
2700 (tilegx_copy_bits): New.
2701 (tilegx_replace_insn): New.
2702 (insn_mask_X1): New.
2703 (insn_mask_X0_no_dest_no_srca): New.
2704 (insn_mask_X1_no_dest_no_srca): New.
2705 (insn_mask_Y0_no_dest_no_srca): New.
2706 (insn_mask_Y1_no_dest_no_srca): New.
2707 (insn_mask_X0_no_operand): New.
2708 (insn_mask_X1_no_operand): New.
2709 (insn_mask_Y0_no_operand): New.
2710 (insn_mask_Y1_no_operand): New.
2711 (insn_tls_ie_ld_X1): New.
2712 (insn_tls_ie_ld4s_X1): New.
2713 (insn_tls_ie_add_X0X1): New.
2714 (insn_tls_ie_add_Y0Y1): New.
2715 (insn_tls_ie_addx_X0X1): New.
2716 (insn_tls_ie_addx_Y0Y1): New.
2717 (insn_tls_gd_add_X0X1): New.
2718 (insn_tls_gd_add_Y0Y1): New.
2719 (insn_move_X0X1): New.
2720 (insn_move_Y0Y1): New.
2721 (insn_add_X0X1): New.
2722 (insn_add_Y0Y1): New.
2723 (insn_addx_X0X1): New.
2724 (insn_addx_Y0Y1): New.
2725 * libbfd.h: Regenerate.
2726 * bfd-in2.h: Regenerate.
2727
27282012-02-25 Walter Lee <walt@tilera.com>
2729
2730 * config.bfd (tilegx-*-*): rename little endian vector; add big
2731 endian vector.
2732 (tilegxbe-*-*): New case.
2733 * configure.in (bfd_elf32_tilegx_vec): Rename...
2734 (bfd_elf32_tilegx_le_vec): ... to this.
2735 (bfd_elf32_tilegx_be_vec): New vector.
2736 (bfd_elf64_tilegx_vec): Rename...
2737 (bfd_elf64_tilegx_le_vec): ... to this.
2738 (bfd_elf64_tilegx_be_vec): New vector.
2739 * configure: Regenerate.
2740 * elf32-tilegx.c (TARGET_LITTLE_SYM): Rename.
2741 (TARGET_LITTLE_NAME): Ditto.
2742 (TARGET_BIG_SYM): Define.
2743 (TARGET_BIG_NAME): Define.
2744 * elf64-tilegx.c (TARGET_LITTLE_SYM): Rename.
2745 (TARGET_LITTLE_NAME): Ditto.
2746 (TARGET_BIG_SYM): Define.
2747 (TARGET_BIG_NAME): Define.
2748 * targets.c (bfd_elf32_tilegx_vec): Rename...
2749 (bfd_elf32_tilegx_le_vec): ... to this.
2750 (bfd_elf32_tilegx_be_vec): Declare.
2751 (bfd_elf64_tilegx_vec): Rename...
2752 (bfd_elf64_tilegx_le_vec): ... to this.
2753 (bfd_elf64_tilegx_be_vec): Declare.
2754 (_bfd_target_vector): Add / rename above vectors.
2755 * arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
2756 * bfd-in2.h: Regenerate.
2757 * cpu-tilegx.c (bfd_tilegx32_arch): define.
2758 (bfd_tilegx_arch): link to bfd_tilegx32_arch.
2759
27602012-02-24 Nick Clifton <nickc@redhat.com>
2761
2762 PR ld/13730
2763 * reloc.c (bfd_generic_get_relocated_section_contents): Issue an
2764 error message instead of aborting, when an outofrange reloc is
2765 encountered.
2766
27672012-02-23 Iain Sandoe <idsandoe@googlemail.com>
2768
2769 * mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
2770 (bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc
2771 bit-fields when target and host differ in endian-ness. When
2772 PAIRs are non-scattered find the 'symbol' from the preceding
2773 reloc. Add FIXME re. reloc symbols on section boundaries.
2774 (bfd_mach_o_swap_out_non_scattered_reloc): New.
2775 (bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
2776
27772012-02-17 Iain Sandoe <idsandoe@googlemail.com>
2778
2779 * mach-o-i386.c (i386_howto_table): Add support for 16 bit
2780 sect-diffs.
2781 (bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
2782 (bfd_mach_o_i386_swap_reloc_out): Likewise.
2783
27842012-02-17 Tristan Gingold <gingold@adacore.com>
2785
2786 * reloc.c (BFD_RELOC_MACH_O_LOCAL_SECTDIFF):
2787 * libbfd.h: Regenerated.
2788 * bfd-in2.h: Likewise.
2789 * mach-o-i386.c (i386_howto_table): Include local sectdiff.
2790 (bfd_mach_o_i386_swap_reloc_in): Update for local sectdiff.
2791 (bfd_mach_o_i386_swap_reloc_out): Likewise.
2792
27932012-02-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2794
2795 * elf32-s390.c (elf_s390_relocate_section): Support basr in the
2796 GD->LE and LD->LE optimizations.
2797
27982012-02-16 Alan Modra <amodra@gmail.com>
2799
2800 PR binutils/13355
2801 * elf32-rx.c (elf32_rx_relax_section): Correct width check.
2802
28032012-02-13 Richard Henderson <rth@redhat.com>
2804
2805 PR ld/13621
2806 * linker.c (fix_syms): Force symbols outside any section into
2807 bfd_abs_section_ptr.
2808
28092012-02-13 Alan Modra <amodra@gmail.com>
2810
2811 * elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
2812 * elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
2813 * elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
2814 * elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
2815
28162012-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
2817 Nick Clifton <nickc@redhat.com>
2818
2819 * oasys.c (oasys_write_header): Fix compilation warning on zero-sized
2820 memset.
2821
28222012-02-10 Iain Sandoe <idsandoe@googlemail.com>
2823
2824 * mach-o.c (bfd_mach_o_build_seg_command): Count zerofill section
2825 vma additions in their logical, rather than physical order.
2826
28272012-02-10 Iain Sandoe <idsandoe@googlemail.com>
2828
2829 * mach-o.c (mach_o_section_name_xlat): Correct eh-frame section
2830 parameters.
2831 * mach-o-x86-64.c (text_section_names_xlat): New.
2832 (mach_o_x86_64_segsec_names_xlat): New.
2833 (bfd_mach_o_tgt_seg_table): Define to mach_o_x86_64_segsec_names_xlat.
2834 * mach-o-i386.c (text_section_names_xlat): Correct section parameters.
2835
28362012-02-10 Tristan Gingold <gingold@adacore.com>
2837
2838 * elfnn-ia64.c (elfNN_vms_object_p): Change comparison operator
2839 to avoid infinite loop. Add comments.
2840
28412012-02-09 H.J. Lu <hongjiu.lu@intel.com>
2842
2843 PR ld/13675
2844 * cpu-i386.c (bfd_arch_i386_fill): Updated to support multi byte
2845 nop instructions.
2846 (bfd_arch_i386_short_nop_fill): New.
2847 (bfd_arch_i386_long_nop_fill): Likewise.
2848 Use bfd_arch_i386_short_nop_fill in 32bit bfd_arch_info
2849 initializers. Use bfd_arch_i386_long_nop_fill on 64bit
2850 bfd_arch_info initializers.
2851
2852 * cpu-k1om.c (bfd_arch_i386_fill): Renamed to ...
2853 (bfd_arch_i386_short_nop_fill): This.
2854 Update bfd_arch_info initializers.
2855 * cpu-l1om.c: Likewise.
2856
28572012-02-08 Alan Modra <amodra@gmail.com>
2858
2859 * elflink.c (_bfd_elf_gc_mark_rsec): Mark weakdef syms too.
2860 (_bfd_elf_fix_symbol_flags): When a weakdef is def_regular, clear
2861 the correct h->u.weakdef.
2862
28632012-02-07 Alan Modra <amodra@gmail.com>
2864
2865 * elf.c (elf_find_function): Don't use internal_elf_sym.
2866 (_bfd_elf_maybe_function_sym): Likewise. Replace elf_symbol_type
2867 parameter with asymbol.
2868 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
2869 * elf-bfd.h (_bfd_elf_maybe_function_sym): Update prototype.
2870 (struct elf_backend_data <maybe_function_sym>): Likewise.
2871
28722012-02-02 Vidya Praveen (vidya.praveen@atmel.com)
2873
2874 PR bfd/13410
2875 * elf32-avr.c (elf32_avr_relax_section): Correct the
2876 condition that qualifies the candidates for relaxation.
2877
28782012-02-02 Tristan Gingold <gingold@adacore.com>
2879
2880 * bfdio.c (real_fopen): Remove unused vms_modes variable.
2881
28822012-02-02 Tristan Gingold <gingold@adacore.com>
2883
2884 * mach-o.c (bfd_mach_o_read_header): Silent uninitialized
2885 variable warning.
2886
28872012-02-02 Tristan Gingold <gingold@adacore.com>
2888
2889 * archive.c (bfd_slurp_armap): Fix thinko in cast.
2890
28912012-01-31 H.J. Lu <hongjiu.lu@intel.com>
2892
2893 PR ld/13616
2894 * archures.c (bfd_arch_info): Add fill.
2895 (bfd_default_arch_struct): Add bfd_arch_default_fill.
2896 (bfd_arch_default_fill): New.
2897
2898 * configure.in: Set bfd version to 2.22.52.
2899 * configure: Regenerated.
2900
2901 * cpu-alpha.c: Add bfd_arch_default_fill to bfd_arch_info
2902 initializer.
2903 * cpu-arc.c: Likewise.
2904 * cpu-arm.c: Likewise.
2905 * cpu-avr.c: Likewise.
2906 * cpu-bfin.c: Likewise.
2907 * cpu-cr16.c: Likewise.
2908 * cpu-cr16c.c: Likewise.
2909 * cpu-cris.c: Likewise.
2910 * cpu-crx.c: Likewise.
2911 * cpu-d10v.c: Likewise.
2912 * cpu-d30v.c: Likewise.
2913 * cpu-dlx.c: Likewise.
2914 * cpu-epiphany.c: Likewise.
2915 * cpu-fr30.c: Likewise.
2916 * cpu-frv.c: Likewise.
2917 * cpu-h8300.c: Likewise.
2918 * cpu-h8500.c: Likewise.
2919 * cpu-hppa.c: Likewise.
2920 * cpu-i370.c: Likewise.
2921 * cpu-i860.c: Likewise.
2922 * cpu-i960.c: Likewise.
2923 * cpu-ia64.c: Likewise.
2924 * cpu-ip2k.c: Likewise.
2925 * cpu-iq2000.c: Likewise.
2926 * cpu-lm32.c: Likewise.
2927 * cpu-m10200.c: Likewise.
2928 * cpu-m10300.c: Likewise.
2929 * cpu-m32c.c: Likewise.
2930 * cpu-m32r.c: Likewise.
2931 * cpu-m68hc11.c: Likewise.
2932 * cpu-m68hc12.c: Likewise.
2933 * cpu-m68k.c: Likewise.
2934 * cpu-m88k.c: Likewise.
2935 * cpu-mcore.c: Likewise.
2936 * cpu-mep.c: Likewise.
2937 * cpu-microblaze.c: Likewise.
2938 * cpu-mips.c: Likewise.
2939 * cpu-mmix.c: Likewise.
2940 * cpu-moxie.c: Likewise.
2941 * cpu-msp430.c: Likewise.
2942 * cpu-mt.c: Likewise.
2943 * cpu-ns32k.c: Likewise.
2944 * cpu-openrisc.c: Likewise.
2945 * cpu-or32.c: Likewise.
2946 * cpu-pdp11.c: Likewise.
2947 * cpu-pj.c: Likewise.
2948 * cpu-plugin.c: Likewise.
2949 * cpu-powerpc.c: Likewise.
2950 * cpu-rl78.c: Likewise.
2951 * cpu-rs6000.c: Likewise.
2952 * cpu-rx.c: Likewise.
2953 * cpu-s390.c: Likewise.
2954 * cpu-score.c: Likewise.
2955 * cpu-sh.c: Likewise.
2956 * cpu-sparc.c: Likewise.
2957 * cpu-spu.c: Likewise.
2958 * cpu-tic30.c: Likewise.
2959 * cpu-tic4x.c: Likewise.
2960 * cpu-tic54x.c: Likewise.
2961 * cpu-tic6x.c: Likewise.
2962 * cpu-tic80.c: Likewise.
2963 * cpu-tilegx.c: Likewise.
2964 * cpu-tilepro.c: Likewise.
2965 * cpu-v850.c: Likewise.
2966 * cpu-vax.c: Likewise.
2967 * cpu-w65.c: Likewise.
2968 * cpu-we32k.c: Likewise.
2969 * cpu-xc16x.c: Likewise.
2970 * cpu-xstormy16.c: Likewise.
2971 * cpu-xtensa.c: Likewise.
2972 * cpu-z80.c: Likewise.
2973 * cpu-z8k.c: Likewise.
2974
2975 * cpu-i386.c: Include "libiberty.h".
2976 (bfd_arch_i386_fill): New.
2977 Add bfd_arch_i386_fill to bfd_arch_info initializer.
2978
2979 * cpu-k1om.c: Add bfd_arch_i386_fill to bfd_arch_info initializer.
2980 * cpu-l1om.c: Likewise.
2981
2982 * linker.c (default_data_link_order): Call abfd->arch_info->fill
2983 if fill size is 0.
2984
2985 * bfd-in2.h: Regenerated.
2986
29872012-01-27 Michael Eager <eager@eagercon.com>
2988
2989 * elf32-microblaze.c (create_got_section):
2990 Reuse existing .rela.got section.
2991
29922012-01-23 Alan Modra <amodra@gmail.com>
2993
2994 * elf-bfd.h: Formatting.
2995 (struct elf_backend_data): Add "maybe_function_sym".
2996 (_bfd_elf_maybe_function_sym): Declare.
2997 * elfxx-target.h (elf_backend_maybe_function_sym): Define.
2998 (elfNN_bed): Init new field.
2999 * elf.c (elf_find_function): Use maybe_function_sym.
3000 (_bfd_elf_maybe_function_sym): New function.
3001 * elf64-ppc.c (elf_backend_maybe_function_sym): Define.
3002 (ppc64_elf_maybe_function_sym): New function.
3003
30042012-01-20 Francois Gouget <fgouget@codeweavers.com>
3005
3006 PR binutils/13534
3007 * archive.c (_bfd_ar_sizepad): New function. Correctly install and
3008 pad the size field in an archive header.
3009 (_bfd_generic_read_ar_hdr_mag): Use the correct type and scan
3010 function for the archive size field.
3011 (bfd_generic_openr_next_archived_file): Likewise.
3012 (do_slurp_coff_armap): Likewise.
3013 (_bfd_write_archive_contents): Likewise.
3014 (_bfd_bsd44_write_ar_hdr): Use the new function.
3015 (bfd_ar_hdr_from_filesystem): Likewise.
3016 (_bfd_write_archive_contents): Likewise.
3017 (bsd_write_armap): Likewise.
3018 (coff_write_armap): Likewise.
3019 * archive64.c (bfd_elf64_archive_write_armap): Likewise.
3020 * bfdio.c (bfd_bread): Use correct type for archive element
3021 sizes.
3022 * ar.c (open_inarch): Likewise.
3023 (extract_file): Likewise.
3024 * libbfd-in.h (struct areltdata): Use correct types for
3025 parsed_size and extra_size fields.
3026 Prototype _bfd_ar_sizepad function.
3027 * libbfd.h: Regenerate.
3028
30292012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org>
3030
3031 * elf.c (elfcore_write_prpsinfo): Provide unconditionally.
3032 Return NULL if core file generation is unsupported.
3033 (elfcore_write_prstatus): Likewise.
3034 * elf32-arm.c (elf32_arm_nabi_write_core_note): New function.
3035 (elf_backend_write_core_note): Define.
3036
30372012-01-19 Tristan Gingold <gingold@adacore.com>
3038
3039 * pef.c: Add a comment.
3040 * xsym.c: Likewise.
3041
30422012-01-17 Alan Modra <amodra@gmail.com>
3043
3044 * elf32-ppc.c (ppc_elf_write_core_note <NT_PRPSINFO>): Don't leave
3045 trailing garbage in the note.
3046 * elf64-ppc.c (ppc64_elf_write_core_note <NT_PRPSINFO>): Likewise.
3047
30482012-01-16 Daniel Green <venix1@gmail.com>
3049
3050 PR ld/13491
3051 * coff-i386.c (coff_i386_rtype_to_howto <R_SECREL32>): Test
3052 h->root.type not h->type.
3053 * coff-x86_64.c (coff_amd64_rtype_to_howto <R_AMD64_SECREL>): Likewise.
3054
30552012-01-13 Iain Sandoe <idsandoe@googlemail.com>
3056
3057 * mach-o.c (bfd_mach_o_build_dysymtab_command): Handle absolute
3058 indirect symbols.
3059
30602012-01-13 Iain Sandoe <idsandoe@googlemail.com>
3061
3062 * mach-o.c (bfd_mach_o_write_relocs): Move computation of relocs file
3063 position from here... to (bfd_mach_o_build_seg_command): Here.
3064
30652012-01-12 Iain Sandoe <idsandoe@googlemail.com>
3066
3067 * mach-o.c (bfd_mach_o_count_indirect_symbols): New.
3068 (bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
3069 * mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
3070 file. (bfd_mach_o_section): Add indirect_syms field.
3071
30722012-01-11 Iain Sandoe <idsandoe@googlemail.com>
3073
3074 * mach-o.c (bfd_mach_o_build_seg_command): Separate computation of
3075 vmsize from filesize. Don't compute offsets or file sizes for
3076 zerofill sections.
3077
30782012-01-11 Iain Sandoe <idsandoe@googlemail.com>
3079
3080 * mach-o.c (bfd_mach_o_build_commands): Make the building of each
3081 command type independent.
3082
30832012-01-11 Alan Modra <amodra@gmail.com>
3084
3085 * elf64-ppc.c: Define more insns used in plt call stubs.
3086 (ppc64_elf_brtaken_reloc): Assume isa version 2 or above.
3087 (ppc64_elf_relocate_section): Likewise.
3088 (enum ppc_stub_type): Add ppc_stub_plt_call_r2save.
3089 (struct ppc_link_hash_table): Increase size of stub_count array.
3090 Add plt_stub_align and plt_thread_safe.
3091 (ALWAYS_USE_FAKE_DEP, ALWAYS_EMIT_R2SAVE): Define.
3092 (plt_stub_size, plt_stub_pad): New functions.
3093 (build_plt_stub): Emit barriers for power7 thread safety. Don't
3094 emit needless save of r2.
3095 (build_tls_get_addr_stub): Adjust params.
3096 (ppc_build_one_stub): Handle ppc_stub_plt_call_r2save and aligning
3097 plt stubs. Adjust build_*plt_stub calls.
3098 (ppc_size_one_stub): Similarly.
3099 (ppc64_elf_size_stubs): Accept plt_thread_safe and plt_stub_align
3100 params. Choose default for plt_thread_safe based on existence of
3101 calls to thread creation functions. Modify plt_call to
3102 plt_call_r2save when no tocsave reloc found. Align tail of stub
3103 sections.
3104 (ppc64_elf_build_stubs): Align tail of stub sections. Adjust
3105 output of stub statistics.
3106 (ppc64_elf_relocate_section): Handle ppc_stub_plt_call_r2save.
3107 * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
3108
31092012-01-10 H.J. Lu <hongjiu.lu@intel.com>
3110
3111 PR ld/13581
3112 * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
3113 check on R_X86_64_PCXX.
3114
31152012-01-10 Tristan Gingold <gingold@adacore.com>
3116
3117 * mach-o.c (bfd_mach_o_build_commands): Avoid uninitialized false
3118 warning.
3119
31202012-01-10 Tristan Gingold <gingold@adacore.com>
3121
3122 * bfdio.c (bfd_tell): Handle nested archives.
3123 (bfd_seek): Ditto.
3124 * cache.c (bfd_cache_lookup_worker): Ditto.
3125 * archive.c (_bfd_get_elt_at_filepos): Remove code dealing with
3126 nested archives.
3127 (bfd_generic_openr_next_archived_file): Likewise.
3128
31292012-01-09 Iain Sandoe <idsandoe@googlemail.com>
3130
3131 * mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Implement.
3132 (bfd_mach_o_write_symtab): Remove handling for indirect syms.
3133 (bfd_mach_o_primary_symbol_sort_key): Likewise.
3134 (bfd_mach_o_cf_symbols): Likewise.
3135 (bfd_mach_o_sort_symbol_table): Remove.
3136 (bfd_mach_o_mangle_symbols): Adjust arguments, remove handling
3137 for indirect and dysymtab counts. Do the symbol sorting here.
3138 (bfd_mach_o_build_dysymtab_command): Count the symbol types here.
3139 Make the indirect symbols a TODO.
3140 (bfd_mach_o_build_commands): Adjust call to bfd_mach_o_mangle_symbols.
3141 (bfd_mach_o_make_empty_symbol): Specifically flag unset symbols with
3142 a non-zero value.
3143 (bfd_mach_o_read_symtab_symbol): Record the symbol index.
3144 (bfd_mach_o_read_symtab_symbol): Adjust recording of global status.
3145 * mach-o.h (mach_o_data_struct): Remove indirect and dysymtab entries.
3146 (IS_MACHO_INDIRECT): Remove.
3147 (SYM_MACHO_FIELDS_UNSET, SYM_MACHO_FIELDS_NOT_VALIDATED): New.
3148
31492012-01-06 Nick Clifton <nickc@redhat.com>
3150
3151 PR binutils/13121
3152 * reloc.c (bfd_generic_lookup_section_flags): Rename 'finfo' to
3153 'flaginfo' to avoid conflicts with AIX system headers.
3154
31552012-01-06 Tristan Gingold <gingold@adacore.com>
3156
3157 * bfdio.c (bfd_bread): Use arelt_size macro.
3158
31592012-01-06 Tristan Gingold <gingold@adacore.com>
3160
3161 * config.bfd (i[3-7]86-*-darwin*): Define targ64_selvecs.
3162
31632012-01-05 Nick Clifton <nickc@redhat.com>
3164
3165 PR ld/12161
3166 * elf32-avr.c (elf32_avr_relax_delete_bytes): Read in relocs if
3167 necessary.
3168
31692012-01-05 Jan Kratochvil <jan.kratochvil@redhat.com>
3170
3171 Fix zero registers core files when built by gcc-4.7.
3172 * elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
3173 size. Call elfcore_write_note for the local variables. Remove the
3174 final elfcore_write_note call. Add NOTREACHED comments.
3175
31762012-01-04 Tristan Gingold <gingold@adacore.com>
3177
3178 * mach-o.c (bfd_mach_o_fat_stat_arch_elt): New function.
3179 (bfd_mach_o_generic_stat_arch_elt): Adjust.
3180
31812012-01-04 Tristan Gingold <gingold@adacore.com>
3182
3183 * mach-o.c (bfd_mach_o_fat_member_init): New function.
3184 (bfd_mach_o_openr_next_archived_file): Reindent.
3185 Adjust to call bfd_mach_o_fat_member_init.
3186 (bfd_mach_o_fat_extract): Adjust to call bfd_mach_o_fat_member_init.
3187
31882012-01-04 Tristan Gingold <gingold@adacore.com>
3189
3190 * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Handle
3191 BFD_RELOC_32, BFD_RELOC_MACH_O_X86_64_PCREL32_1,
3192 BFD_RELOC_MACH_O_X86_64_PCREL32_2,
3193 BFD_RELOC_MACH_O_X86_64_PCREL32_4,
3194 BFD_RELOC_MACH_O_X86_64_BRANCH32,
3195 BFD_RELOC_MACH_O_X86_64_SUBTRACTOR32,
3196 BFD_RELOC_MACH_O_X86_64_GOT.
3197
31982012-01-04 Tristan Gingold <gingold@adacore.com>
3199
3200 * mach-o.h (bfd_mach_o_fvmlib_command): New structure.
3201 (bfd_mach_o_load_command): Add fvmlib field.
3202
3203 * mach-o.c (bfd_mach_o_read_fvmlib): New function.
3204 (bfd_mach_o_read_command): Handle fvmlib.
3205
32062012-01-04 Tristan Gingold <gingold@adacore.com>
3207
3208 * mach-o.c (bfd_mach_o_convert_architecture): Reindent.
3209 Decode msubtype for ARM.
3210
32112012-01-04 Tristan Gingold <gingold@adacore.com>
3212
3213 * mach-o.c (bfd_mach_o_get_synthetic_symtab): Add comments.
3214
32152012-01-04 Tristan Gingold <gingold@adacore.com>
3216
3217 * mach-o.h: Reindent header.
3218 (bfd_mach_o_encryption_info_command): New structure.
3219 (bfd_mach_o_load_command): Add encryption_info field.
3220
3221 * mach-o.c (bfd_mach_o_read_encryption_info): New function.
3222 (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_ENCRYPTION_INFO.
3223 (bfd_mach_o_read_command): Adjust error message.
3224
32252012-01-04 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>
3226
3227 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Factor out the part
3228 which reads DWARF2 and stores in stash from find_line.
3229 (find_line) Call _bfd_dwarf2_slurp_debug_info.
3230 * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Add declaration.
3231 * libbfd.h (_bfd_dwarf2_slurp_debug_info): Regenerate.
3232 * mach-o.c (dsym_subdir): The name of subdir where debug
3233 information may be stored.
3234 (bfd_mach_o_lookup_uuid_command): New. Lookup a load command whose
3235 type is UUID.
3236 (bfd_mach_o_dsym_for_uuid_p): New. Check if the specified BFD is
3237 corresponding to the executable.
3238 (bfd_mach_o_find_dsym): New. Find a debug information BFD in the
3239 specified binary file.
3240 (bfd_mach_o_follow_dsym): New. Find a debug information BFD for
3241 the original BFD.
3242 (bfd_mach_o_find_nearest_line): Check dSYM files for Mach-O
3243 executables, dylibs, and bundles.
3244 (bfd_mach_o_close_and_cleanup): Clean up BFDs for the dSYM file.
3245 * mach-o.h (dsym_bfd): The BFD of the dSYM file.
3246
32472012-01-03 Iain Sandoe <idsandoe@googlemail.com>
3248
3249 * mach-o.c (bfd_mach_o_mangle_symbols): Put in the section index
3250 for stabd symbols.
3251 (bfd_mach_o_primary_symbol_sort_key): Adjust for stabs.
3252 (bfd_mach_o_cf_symbols): Likewise.
3253
32542012-01-03 Iain Sandoe <idsandoe@googlemail.com>
3255
3256 * mach-o.c (bfd_mach_o_mangle_symbols): Correct typo.
3257
32582012-01-03 Iain Sandoe <idsandoe@googlemail.com>
3259
3260 * mach-o.c (bfd_mach_o_write_symtab): Fill in the string table index
3261 as the value of an indirect symbol. Keep the string table index in
3262 non-indirect syms for reference.
3263 (bfd_mach_o_write_dysymtab): New.
3264 (bfd_mach_o_primary_symbol_sort_key): New.
3265 (bfd_mach_o_cf_symbols): New.
3266 (bfd_mach_o_sort_symbol_table): New.
3267 (bfd_mach_o_mangle_symbols): Return early if no symbols. Sort symbols.
3268 If we are emitting a dysymtab, process indirect symbols and count the
3269 number of each other kind.
3270 (bfd_mach_o_mangle_sections): New.
3271 (bfd_mach_o_write_contents): Split out some pre-requisite code into
3272 the command builder. Write dysymtab if the command is present.
3273 (bfd_mach_o_count_sections_for_seg): New.
3274 (bfd_mach_o_build_seg_command): New.
3275 (bfd_mach_o_build_dysymtab_command): New.
3276 (bfd_mach_o_build_commands): Reorganize to support the fact that some
3277 commands are optional and should not be emitted if there are no
3278 sections or symbols.
3279 (bfd_mach_o_set_section_contents): Amend comment.
3280 * mach-o.h: Amend and add to comments.
3281 (mach_o_data_struct): Add fields for dysymtab symbols counts and a
3282 pointer to the indirects, when present.
3283 (bfd_mach_o_should_emit_dysymtab): New macro.
3284 (IS_MACHO_INDIRECT): Likewise.
3285
3286For older changes see ChangeLog-2011
3287\f
3288Copyright (C) 2012 Free Software Foundation, Inc.
3289
3290Copying and distribution of this file, with or without modification,
3291are permitted in any medium without royalty provided the copyright
3292notice and this notice are preserved.
3293
3294Local Variables:
3295mode: change-log
3296left-margin: 8
3297fill-column: 74
3298version-control: never
3299End:
This page took 0.14765 seconds and 4 git commands to generate.