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