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