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