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