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