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