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