* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2010-04-13 Alan Modra <amodra@gmail.com>
2
3 * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
4 when optimizing high got_tlsgd/ld insns.
5
6 2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
7
8 * hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
9 define.
10 (HAVE_PRSTATUS32_T): Likewise.
11
12 2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
13
14 PR corefiles/11467
15 * configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
16 for x86_64-*-linux*.
17 * config.in: Regenerated.
18 * configure: Likewise.
19
20 * elf.c: Include CORE_HEADER if it is defined.
21
22 2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
23 Jan Kratochvil <jan.kratochvil@redhat.com>
24
25 * hosts/x86-64linux.h: New.
26
27 2010-04-09 Nick Clifton <nickc@redhat.com>
28
29 * aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
30 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
31 variables htab and hdr_info and mark info parameter as unused.
32 * elf.c (prep_headers): Remove unused variable i_phdrp.
33 (_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
34 * elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
35 as unused.
36 * peXXigen.c (pe_print_reloc): Remove unused variable datasize.
37 * verilog.c (verilog_write_section): Remove unused variable
38 address.
39
40 2010-04-07 Alan Modra <amodra@gmail.com>
41
42 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
43 * configure: Regenerate.
44
45 2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
46
47 PR ld/11434
48 * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
49
50 2010-04-06 Tristan Gingold <gingold@adacore.com>
51
52 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
53
54 2010-04-05 Jakub Jelinek <jakub@redhat.com>
55
56 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
57 provided that it has the expected address size and zero segment
58 length.
59
60 * dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
61 (struct line_info): Add op_index field, change end_sequence type to
62 unsigned char.
63 (new_line_sorts_after): For the same address compare op_index.
64 (add_line_info): Add op_index argument, store it into the structure.
65 (decode_line_info): Complain about unknown versions of .debug_line.
66 Initialize maximum_ops_per_insn. Add op_index state register and
67 track it.
68
69 2010-04-01 Nathan Sidwell <nathan@codesourcery.com>
70
71 * elf32-ppc.c (apuinfo_set): New static var.
72 (ppc_elf_begin_write_processing): Set it here, always create an
73 APUinfo section if there were any in the inputs.
74 (ppc_elf_write_section): Check apuinfo_set.
75 (ppc_elf_final_write_processing): Likewise.
76
77 2010-04-01 Tristan Gingold <gingold@adacore.com>
78
79 * vms.h: Include time.h. Add prototypes for vms_get_module_name,
80 vms_time_to_time_t and vms_rawtime_to_time_t.
81 * vms.c (vms_alpha_vec): Add archives support.
82 * vms-misc.c: Include safe-ctype.h
83 (vms_get_module_name): New function.
84 (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
85 * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
86 vms_get_module_name function. Use this function.
87 * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector.
88 * libbfd-in.h: Add prototype for _bfd_append_relative_path.
89 Add prototypes for vms-lib.c
90 * libbfd.h: Regenerate.
91 * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add
92 vms-lib.lo to vms_alpha_vec.
93 * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
94 * configure: Regenerate.
95 * bfd.c: Add selective_search field.
96 * bfd-in2.h: Regenerate.
97 * archive.c (append_relative_path): Rename to
98 _bfd_append_relative_path and make it public.
99 (_bfd_get_elt_at_filepos): Adjust for above renaming.
100 * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
101 (BFD32_BACKENDS_CFILES): Add vms-lib.c
102 * Makefile.in: Regenerate.
103
104 2010-04-01 Jakub Jelinek <jakub@redhat.com>
105
106 * dwarf2.c (read_attribute_value): Handle CU version 4
107 for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
108 and DW_FORM_flag_present. For unknown form value return NULL.
109 (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
110 like DW_FORM_block.
111 (parse_comp_unit): Allow CU version 4.
112
113 2010-04-01 Hans-Peter Nilsson <hp@axis.com>
114
115 * elf32-cris.c (cris_elf_relocate_section): Correct first argument
116 to _bfd_elf_get_dynamic_reloc_section.
117 (elf_cris_discard_excess_dso_dynamics): Ditto.
118
119 2010-03-31 Kai Tietz <kai.tietz@onevision.com>
120
121 * coff-i386.c (in_reloc_p): Check also for R_SECREL32.
122 * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
123
124 2010-03-31 Alan Modra <amodra@gmail.com>
125
126 * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
127 TPREL16_HI and TPREL16_HA insns.
128
129 2010-03-31 Hans-Peter Nilsson <hp@axis.com>
130
131 PR ld/11458
132 * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
133 assert of empty pcrel_relocs_copied on the direct symbol. Instead
134 of moving the list from the indirect symbol to the direct symbol,
135 merge into any existing list.
136 (cris_elf_check_relocs): Store the original section in the
137 pcrel_relocs_copied list, not the relocation section.
138 (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
139 the relocation section, for reducing its size. Change the
140 BFD_ASSERT into a check for the section being read-only, and only
141 emit warnings and TEXTREL marker when there's an entry for a
142 read-only section.
143
144 2010-03-29 Daniel Jacobowitz <dan@codesourcery.com>
145
146 * elf32-arm.c (using_thumb_only): Handle v6-M.
147
148 2010-03-26 Alan Modra <amodra@gmail.com>
149
150 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
151 * bfd-in.h (elf_discarded_section): Clarify comment.
152 * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
153 * bfd-in2.h: Regenerate.
154
155 2010-03-26 Matt Rice <ratmice@gmail.com>
156
157 * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
158 as unique in the armap.
159
160 2010-03-26 Alan Modra <amodra@gmail.com>
161
162 PR ld/11375
163 * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
164 possible stub on branches.
165
166 2010-03-25 Joseph Myers <joseph@codesourcery.com>
167
168 * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
169 (ALL_MACHINES_CFILES): Add cpu-tic6x.c.
170 (BFD32_BACKENDS): Add elf32-tic6x.lo.
171 (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
172 * Makefile.in: Regenerate.
173 * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
174 (bfd_archures_list): Update.
175 * config.bfd (tic6x-*-elf): New.
176 * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
177 New.
178 * configure: Regenerate.
179 * cpu-tic6x.c, elf32-tic6x.c: New.
180 * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
181 BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
182 BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
183 BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
184 BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
185 BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
186 BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
187 BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
188 BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
189 BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
190 BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
191 BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
192 BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
193 * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
194 (_bfd_target_vector): Update.
195 * bfd-in2.h, libbfd.h: Regenerate.
196
197 2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
198
199 * aout-target.h: Update copyright year.
200 * aout-tic30.c: Likewise.
201 * coff-alpha.c: Likewise.
202 * coff-rs6000.c: Likewise.
203 * coff64-rs6000.c: Likewise.
204 * elf64-mips.c: Likewise.
205 * ieee.c: Likewise.
206 * libecoff.h: Likewise.
207 * mach-o-target.c: Likewise.
208 * mach-o.c: Likewise.
209 * oasys.c: Likewise.
210 * targets.c: Likewise.
211
212 2010-03-24 H.J. Lu <hongjiu.lu@intel.com>
213
214 * libbfd-in.h: Update copyright year.
215
216 2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
217
218 PR ld/11413
219 * elflink.c (_bfd_elf_add_default_symbol): Check !executable
220 instead of shared.
221
222 2010-03-19 Jie Zhang <jie@codesourcery.com>
223
224 * elf32-arm.c (struct section_list): Remove.
225 (section_list): Remove typedef.
226 (record_section_with_arm_elf_section_data): Remove.
227 (find_arm_elf_section_entry): Remove.
228 (get_arm_elf_section_data): Use is_arm_elf.
229 (unrecord_section_with_arm_elf_section_data): Remove.
230 (elf32_arm_new_section_hook): Don't call
231 record_section_with_arm_elf_section_data.
232 (elf32_arm_write_section): Set mapcount to -1 when
233 the map has been used. Don't call
234 unrecord_section_with_arm_elf_section_data.
235 (unrecord_section_via_map_over_sections): Remove.
236 (elf32_arm_close_and_cleanup): Remove.
237 (elf32_arm_bfd_free_cached_info): Remove.
238 (bfd_elf32_close_and_cleanup): Don't define.
239 (bfd_elf32_bfd_free_cached_info): Don't define.
240
241 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
242
243 PR binutils/11396
244 * libcoff-in.h (pe_tdata): Add dont_strip_reloc.
245 * libcoff.h: Regenerated.
246
247 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
248 if dont_strip_reloc is set.
249 (_bfd_XX_bfd_copy_private_bfd_data_common): Set
250 dont_strip_reloc on output if there is no .reloc and
251 IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
252
253 2010-03-18 Wei Guozhi <carrot@google.com>
254
255 PR gas/11323
256 * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
257 R_ARM_GOT_PREL.
258 * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
259 * bfd-in2.h: Regenerate.
260 * libbfd.h: Regenerate.
261
262 2010-03-17 H.J. Lu <hongjiu.lu@intel.com>
263
264 * reloc.c (BFD_RELOC_SPU_PIC18): Removed.
265 (BFD_RELOC_SPU_STUB): Likewise.
266
267 2010-03-17 Jie Zhang <jie@codesourcery.com>
268
269 * elf.c (assign_file_positions_for_load_sections): Avoid
270 overflow.
271
272 2010-03-17 Alan Modra <amodra@gmail.com>
273
274 PR binutils/11382
275 * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
276 proper type.
277
278 2010-03-17 Alan Modra <amodra@gmail.com>
279
280 * elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
281
282 2010-03-16 Alan Modra <amodra@gmail.com>
283
284 * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
285 (ppc64_elf_edit_toc): Set it here.
286 (ha_reloc_match): New function.
287 (ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
288
289 2010-03-15 Alan Modra <amodra@gmail.com>
290
291 * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
292 * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
293
294 2010-03-14 Alan Modra <amodra@gmail.com>
295
296 PR ld/11378
297 * elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
298 * elf64-ppc.c (call_check_done): Define.
299 (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
300 (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
301 (ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
302 (toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
303 Simplify return logic. Iterate over all .init and .fini fragments
304 by recursion. Set makes_toc_func_call here..
305 (ppc64_elf_next_input_section): ..rather than here.
306 (check_pasted_section, ppc64_elf_check_init_fini): New functions.
307
308 2010-03-13 Alan Modra <amodra@gmail.com>
309
310 PR ld/11375
311 * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
312 function descriptor symbol if there is one, not just for plt stubs.
313 (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
314
315 2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
316
317 * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
318 version twice.
319 Skip it when constructing def.vd_next.
320
321 * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
322 bfd_elf32_i386_sol2_vec.
323 (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
324 (elf32_bed): Redefine to elf32_i386_sol2_bed.
325 (elf_backend_want_plt_sym): Redefine to 1.
326
327 * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
328 bfd_elf64_x86_64_sol2_vec.
329 (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
330 (elf64_bed): Redefine to elf64_x86_64_sol2_bed.
331 (elf_backend_want_plt_sym): Redefine to 1.
332
333 * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
334 bfd_elf32_i386_sol2_vec.
335 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
336 targ64_selvecs.
337 (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
338 Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
339 targ_selvecs.
340
341 * configure.in: Handle bfd_elf32_i386_sol2_vec,
342 bfd_elf64_x86_64_sol2_vec.
343 * configure: Regenerate.
344
345 * targets.c (bfd_elf32_i386_sol2_vec): Declare.
346 (bfd_elf64_x86_64_sol2_vec): Declare.
347 (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
348 bfd_elf64_x86_64_sol2_vec.
349
350 2010-03-04 Daniel Jacobowitz <dan@codesourcery.com>
351
352 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
353 sections.
354
355 2010-03-04 Alan Modra <amodra@gmail.com>
356
357 PR 11302
358 * dwarf2.c (read_abbrevs): Return NULL on alloc failures.
359 (read_attribute_value, decode_line_info): Likewise.
360 (add_line_info, read_rangelist): Return FALSE on alloc failures.
361 (arange_add, sort_line_sequences): Likewise.
362 (find_abstract_instance_name): Handle failures from called funcs.
363 (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
364 (find_line): Realloc to a temp, and handle alloc fail.
365
366 2010-03-03 Daniel Jacobowitz <dan@codesourcery.com>
367
368 * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
369 a mapping symbol to an empty section.
370
371 2010-03-02 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
372
373 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
374 return value from the call to _bfd_elf_merge_object_attributes.
375
376 2010-03-02 Christophe Lyon <christophe.lyon@st.com>
377 Alan Modra <amodra@gmail.com>
378
379 * elf32-arm.c (a8_erratum_fix): Add st_type field to record the
380 destination mode of the a8 stub.
381 (elf32_arm_link_hash_table): Add top_id field.
382 (elf32_arm_link_hash_table_create): Initialize top_id.
383 (arm_type_of_stub): Update prototype, st_type can now be updated
384 by this function. Actual destination address in case of PLT is
385 computed here, to help factorizing code.
386 (elf32_arm_stub_name): Update prototype, use stub_type additional
387 parameter to build stub name.
388 (elf32_arm_get_stub_entry): Update prototype, use stub_type
389 additional parameter to build stub entry.
390 (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
391 put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
392 Call elf32_arm_final_link_relocate to process all in-stub
393 relocations.
394 (elf32_arm_setup_section_lists): Update top_id.
395 (cortex_a8_erratum_scan): Record stub destination mode.
396 (elf32_arm_size_stubs): Update call to arm_type_of_stub according
397 to new prototype.
398 (elf32_arm_final_link_relocate): Enable processing of in-stub
399 REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
400 needed, enabling code factorization.
401 (elf32_arm_final_link): Process stub sections.
402 (elf32_arm_output_map_sym): Add entry to code/data map.
403
404 2010-03-01 David S. Miller <davem@davemloft.net>
405
406 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
407 h->def_regular, set h->ref_regular.
408 (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
409 and dynamic relocations if h->ref_regular.
410
411 * elfxx-sparc.c (struct elf_reloc_map): Delete.
412 (sparc_reloc_map): Delete.
413 (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
414 relocation type in switch statements.
415
416 2010-02-25 Alan Modra <amodra@gmail.com>
417
418 PR ld/11304
419 * elf.c (_bfd_elf_init_private_section_data): Rename need_group
420 to final_link and invert. For final link allow some flags to
421 differ. Don't specially allow flags to be all zero.
422
423 2010-02-24 Alan Modra <amodra@gmail.com>
424
425 PR binutils/10858
426 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise
427 SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol
428 table.
429
430 2010-02-23 Andrew Zabolotny <anpaza@mail.ru>
431
432 PR binutils/11297
433 * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8.
434 (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8.
435
436 2010-02-22 Alan Modra <amodra@gmail.com>
437
438 * reloc.c (bfd_check_overflow): When forming addrmask, shift
439 fieldmask left by rightshift.
440 (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all
441 overflow checks.
442
443 2010-02-20 H.J. Lu <hongjiu.lu@intel.com>
444
445 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check
446 STT_GNU_IFUNC on large common symbol.
447
448 2010-02-18 H.J. Lu <hongjiu.lu@intel.com>
449
450 * elf32-i386.c (elf_i386_add_symbol_hook): Don't set
451 has_ifunc_symbols if the symbol comes from a shared library.
452 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
453 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
454 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
455 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
456 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise.
457
458 2010-02-19 Alan Modra <amodra@gmail.com>
459
460 * elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
461 (_bfd_elf_copy_private_header_data): ..here.
462 * elflink.c (_bfd_elf_size_group_sections): New function.
463 (bfd_elf_size_dynamic_sections): Call it.
464 * elf-bfd.h (_bfd_elf_size_group_sections): Declare.
465 (_bfd_elf_fixup_group_sections): Declare.
466
467 2010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
468
469 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
470 merging Tag_DIV_use, Tag_MPextension_use, and
471 Tag_MPextension_use_legacy tags.
472
473 2010-02-18 Alan Modra <amodra@gmail.com>
474
475 * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15
476 commit. Don't write zeros for removed group members.
477 (_bfd_elf_copy_private_header_data): Adjust size of group section
478 when group members are removed by objcopy.
479
480 2010-02-15 Dave Korn <dave.korn.cygwin@gmail.com>
481
482 PR binutils/11280
483 * configure.host (*-*-solaris2.11): Add host define to select
484 valid default code page for windres/windmc on solaris.
485
486 2010-02-15 Nick Clifton <nickc@redhat.com>
487
488 * po/vi.po: Updated Vietnamese translation.
489
490 2010-02-12 Daniel Gutson <dgutson@codesourcery.com>
491
492 * elf32-arm.c (elf32_arm_output_arch_local_syms): add
493 missing mapping symbol to data only sections.
494
495 2010-02-11 David S. Miller <davem@davemloft.net>
496
497 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
498 and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
499 symbols.
500 (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
501 these relocs on global symbols.
502 (gdopoff): New.
503 (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
504 local symbol references which are not STT_GNU_IFUNC. Handle
505 relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
506 and deal with negative vs. non-negative values properly.
507
508 2010-02-09 Tristan Gingold <gingold@adacore.com>
509
510 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
511 non-external relocation.
512
513 2010-02-09 Alan Modra <amodra@gmail.com>
514
515 * elf64-ppc.c (merge_got_entries): Move earlier in file.
516 (allocate_dynrelocs): Merge got entries here if not doing multi-toc.
517 (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
518 (ppc64_elf_layout_multitoc): Don't resize if we have already
519 merged got entries.
520
521 2010-02-09 Michael Holzheu <holzheu@de.ibm.com>
522
523 * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
524 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
525 elfcore_write_s390_prefix): New.
526 * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
527 elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
528 elfcore_write_s390_prefix): New.
529 (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
530 NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
531 (elfcore_write_register_note): Handle .reg-s390-timer,
532 .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
533 .reg-s390-prefix section.
534
535 2010-02-09 Alan Modra <amodra@gmail.com>
536
537 * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
538 unsigned char. Update variables and code using them throughout file.
539 (struct ppc_link_hash_entry): Likewise for tls_mask.
540
541 * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
542
543 * elf64-ppc.c (has_small_toc_reloc): Don't define.
544 (makes_toc_func_call, call_check_in_progress): Shuffle flags.
545 (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc. Update
546 code setting the flag.
547 (ppc64_elf_next_toc_section): Group big-toc sections in
548 0x80008000 chunks.
549
550 2010-02-08 David S. Miller <davem@davemloft.net>
551
552 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
553 srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
554
555 * elfxx-sparc.c (create_got_section): Delete.
556 (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
557 section creator does that work for us. Use ->elf.foo instead of
558 ->foo where applicable.
559 (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
560 where applicable.
561 (allocate_dynrelocs): Likewise.
562 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
563 (_bfd_sparc_elf_relocate_section): Likewise.
564 (sparc_vxworks_build_plt_entry): Likewise.
565 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
566 (sparc_finish_dyn): Likewise.
567 (sparc_vxworks_finish_exec_plt): Likewise.
568 (sparc_vxworks_finish_shared_plt): Likewise.
569 (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
570
571 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
572 macros for visibilty and locality checks.
573 (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
574 (allocate_dynrelocs): Likewise.
575 (_bfd_sparc_elf_relocate_section): Likewise.
576 (_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
577
578 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
579 but never used local var 'dynobj'.
580
581 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
582 nocopyreloc.
583
584 * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
585 (BFD_RELOC_SPARC_IRELATIVE): Likewise.
586 * bfd-in2.h: Regenerate.
587 * libbfd.h: Regenerate.
588
589 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
590 and loc_hash_memory.
591 (_bfd_sparc_elf_link_hash_table_free): Declare.
592 * elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
593 (elf_backend_add_symbol_hook, elf_backend_post_process_headers,
594 bfd_elf32_bfd_link_hash_table_free): Define.
595 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
596 has_ifunc_symbols if STT_GNU_IFUNC.
597 (bfd_elf64_bfd_link_hash_table_free): Define.
598 (elf_backend_post_process_headers): Define always.
599 * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
600 (sparc_reloc_map): Add entries for new IFUNC relocs.
601 (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
602 (_bfd_sparc_elf_info_to_howto_ptr): Likewise.
603 (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
604 elf_sparc_get_local_sym_hash): New.
605 (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
606 from here...
607 (_bfd_sparc_elf_link_hash_table_create): ... to here. Allocate
608 local hash table.
609 (_bfd_sparc_elf_link_hash_table_free): New.
610 (create_ifunc_sections): New.
611 (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
612 and call create_ifunc_sections(). For local STT_GNU_IFUNC symbols
613 cons up a fake local hash table entry for it. Unconditionally add
614 a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular. Count
615 dyn relocs for ifunc.
616 (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
617 (allocate_dynrelocs): Unconditionally emit a PLT entry when
618 STT_GNU_IFUNC and h->def_regular. Count GOT dyn relocs for ifunc.
619 (allocate_local_dynrelocs): New function.
620 (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
621 table. Emit dynamic relocs to irelplt when not shared. Treat iplt
622 like splt.
623 (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
624 (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
625 plt in iplt/irelplt.
626
627 2010-02-08 Richard Sandiford <r.sandiford@uk.ibm.com>
628
629 * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
630 max_contents_size, only consider sections whose contents must
631 be swapped in.
632
633 2010-02-09 Alan Modra <amodra@gmail.com>
634
635 * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
636 (ppc64_elf_size_dynamic_sections): ..and here..
637 (merge_got_entries): ..rather than here.
638
639 2010-02-09 Alan Modra <amodra@gmail.com>
640
641 * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
642 (has_small_toc_reloc): Define.
643 (ppc64_elf_check_relocs): Set the above flags.
644 (ppc64_elf_edit_opd): Delete obfd param.
645 (ppc64_elf_tls_optimize): Likewise.
646 (ppc64_elf_edit_toc): Likewise.
647 (ppc64_elf_tls_setup): Likewise. Add no_multi_toc param.
648 * elf64-ppc.h: Update prototypes.
649
650 2010-02-08 Alan Modra <amodra@gmail.com>
651
652 * section.c (struct bfd_section): Delete has_tls_reloc,
653 has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
654 Add sec_flg0 thru sec_flg5.
655 (BFD_FAKE_SECTION): Update for changed flags.
656 * ecoff.c (bfd_debug_section): Likewise.
657 * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
658 * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
659 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
660 * elf32-xtensa.c (reloc_done): Define.
661 * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
662 * bfd-in2.h: Regenerate.
663
664 2010-02-08 Tristan Gingold <gingold@adacore.com>
665
666 * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
667 for non-scattered relocations.
668
669 2010-02-08 Nathan Sidwell <nathan@codesourcery.com>
670
671 * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
672 apuinfo sections, only scan input sections once and reuse the
673 buffer.
674
675 2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
676
677 * archures.c (bfd_mach_ppc_titan): Define.
678 * bfd-in2.h: Regenerate.
679 * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
680
681 2010-02-08 Alan Modra <amodra@gmail.com>
682
683 * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
684
685 2010-02-05 Sterling Augustine <sterling@tensilica.com>
686
687 * elf.c (assign_file_positions_for_load_sections) Update lma of
688 section if necessary. Fixes Bugzilla 11219.
689
690 2010-02-05 H.J. Lu <hongjiu.lu@intel.com>
691
692 * elf32-i386.c: Remove trailing white spaces.
693 * elf64-x86-64.c: Likewise.
694
695 2010-02-03 Nick Clifton <nickc@redhat.com>
696
697 * elf-bfd.h (emum elf_object_id): Rename to elf_target_id. Add
698 entries for other architectures.
699 (struct elf_link_hash_table): Add hash_table_id field.
700 (elf_hash_table_id): New accessor macro.
701 * elflink.c (_bfd_elf_link_hash_table_init): Add target_id
702 parameter.
703 * elf-m10300.c (elf32_mn10300_hash_table): Check table id before
704 returning cast pointer.
705 (elf32_mn10300_link_hash_table_create): Identify new table as
706 containing MN10300 extensions.
707 (mn10300_elf_relax_section): Check pointer returned by
708 elf32_mn10300_hash_table.
709 * elf32-arm.c: Likewise, except using ARM extensions.
710 * elf32-avr.c: Likewise, except using AVR extensions.
711 * elf32-bfin.c: Likewise, except using BFIN extensions.
712 * elf32-cris.c: Likewise, except using CRIS extensions.
713 * elf32-frv.c: Likewise, except using FRV extensions.
714 * elf32-hppa.c: Likewise, except using HPPA32 extensions.
715 * elf32-i386.c: Likewise, except using I386 extensions.
716 * elf32-lm32.c: Likewise, except using LM32 extensions.
717 * elf32-m32r.c: Likewise, except using M32RM extensions.
718 * elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
719 * elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
720 * elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
721 * elf32-m68k.c: Likewise, except using M68K extensions.
722 * elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
723 * elf32-ppc.c: Likewise, except using PPC32 extensions.
724 * elf32-s390.c: Likewise, except using S390 extensions.
725 * elf32-sh.c: Likewise, except using SH extensions.
726 * elf32-spu.c: Likewise, except using SPU extensions.
727 * elf32-xtensa.c: Likewise, except using XTENSA extensions.
728 * elf64-alpha.c: Likewise, except using ALPHA extensions.
729 * elf64-hppa.c: Likewise, except using HPPA64 extensions.
730 * elf64-ppc.c: Likewise, except using PPC64 extensions.
731 * elf64-s390.c: Likewise, except using S390 extensions.
732 * elf64-x86-64.c: Likewise, except using X86_64 extensions.
733 * elfxx-ia64.c: Likewise, except using IA64 extensions.
734 * elfxx-mips.c: Likewise, except using MIPS extensions.
735 * elfxx-sparc.c: Likewise, except using SPARC extensions.
736 * elfxx-sparc.h: Likewise, except using SPARC extensions.
737 * elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
738 redundant structure.
739 (elf32_cr16_hash_table): Delete unused macro.
740 (elf32_cr16_link_hash_traverse): Delete unused macro.
741 * elf32-score.c: Likewise.
742 * elf32-score7.c: Likewise.
743 * elf32-vax.c: Likewise.
744 * elf64-sh64.c: Likewise.
745
746 2010-02-03 Alan Modra <amodra@gmail.com>
747
748 * elf64-ppc.c (struct plt_entry): Move earlier in file.
749 (struct got_entry): Likewise. Add is_indirect and got.ent fields.
750 (struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
751 Update all uses.
752 (struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
753 Remove no_multi_toc.
754 (update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
755 when allocating a new struct got_entry.
756 (allocate_got): New function, extracted from..
757 (allocate_dynrelocs): ..here. Abort on got entry in non-ppc64 bfd.
758 (ppc64_elf_size_dynamic_sections): Track got relocs allocated in
759 .reliplt by got_reli_size. Set owner on ppc64_tlsld_got entries.
760 (ppc64_elf_setup_section_lists): Remove output_bfd param and
761 no_multi_toc, add add_stub_section and layout_sections_again. Stash
762 new params in htab. Extract some code to..
763 (ppc64_elf_start_multitoc_partition): ..here. New function.
764 (ppc64_elf_next_toc_section): Check for linker script errors. Handle
765 second pass toc scan.
766 (merge_got_entries, merge_global_got, reallocate_got): New functions.
767 (ppc64_elf_reinit_toc): Rename to..
768 (ppc64_elf_finish_multitoc_partition): ..this.
769 (ppc64_elf_layout_multitoc): New function.
770 (ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
771 layout_sections_again params.
772 (ppc64_elf_relocate_section): Handle indirect got entries.
773 * elf64-ppc.h: Update prototypes. Declare new functions.
774
775 2010-02-02 H.J. Lu <hongjiu.lu@intel.com>
776
777 * elf-bfd.h (elfcore_write_xstatereg): New.
778
779 * elf.c (elfcore_grok_xstatereg): New.
780 (elfcore_write_xstatereg): Likewise.
781 (elfcore_grok_note): Handle NT_X86_XSTATE.
782 (elfcore_write_register_note): Handle .reg-xstate section.
783
784 2010-02-01 Tristan Gingold <gingold@adacore.com>
785
786 * som.c (som_write_ar_hdr): Define this macro.
787
788 2010-01-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
789
790 * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
791 R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
792 linkage table pointer to use the global table pointer if not doing
793 a shared link.
794
795 2010-01-29 Joel Brobecker <brobecker@adacore.com>
796
797 * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
798 if it has already been set.
799
800 2010-01-27 Tristan Gingold <gingold@adacore.com>
801
802 * vms.h: Remove trailing spaces.
803 (struct hdr_struct): Remove unused hdr_c_cpr field.
804 (enum file_format_enum): Add comments.
805 * vms.c (vms_bfd_print_private_bfd_data): New function that
806 replaces the macro.
807 Remove trailing spaces.
808 * vms-misc.c: Improve comments.
809 (_bfd_vms_get_object_record): Also handle files without pads.
810 * vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
811 * vms-gsd.c (struct flagdescstruct): Make name field const.
812 (gsyflagdesc): Fix typo.
813
814 2010-01-27 Alan Modra <amodra@gmail.com>
815
816 PR ld/11217
817 * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
818 (ppc64_elf_setup_section_lists): Init them.
819 (ppc64_elf_next_toc_section): Don't partition multi-toc between .got
820 and .toc on the same input file.
821 (ppc64_elf_relocate_section): Correct GOT entry offset.
822
823 2010-01-26 Tristan Gingold <gingold@adacore.com>
824
825 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
826 (bfd_target): Add _bfd_write_ar_hdr_fn field.
827 * archive.c (is_bsd44_extended_name): New macro.
828 (_bfd_generic_read_ar_hdr_mag): Use it. Add extra_size.
829 (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
830 name.
831 (_bfd_archive_bsd44_construct_extended_name_table): New function.
832 (_bfd_generic_write_ar_hdr): Ditto.
833 (_bfd_bsd44_write_ar_hdr): Ditto.
834 (_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
835 (bsd_write_armap): Adjust firstreal computation.
836 * libbfd-in.h (struct areltdata): Add extra_size field.
837 (_bfd_generic_write_ar_hdr): Add prototype.
838 (_bfd_bsd44_write_ar_hdr): Ditto.
839 (_bfd_write_ar_hdr): Define.
840 (_bfd_noarchive_write_ar_hdr): Ditto.
841 (_bfd_archive_bsd_write_ar_hdr): Ditto.
842 (_bfd_archive_coff_write_ar_hdr): Ditto.
843 (_bfd_archive_bsd44_slurp_armap): Ditto.
844 (_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
845 (_bfd_archive_bsd44_construct_extended_name_table): New prototype.
846 (_bfd_archive_bsd44_truncate_arname): Ditto.
847 (_bfd_archive_bsd44_write_armap): Ditto.
848 (_bfd_archive_bsd44_read_ar_hdr): Ditto.
849 (_bfd_archive_bsd44_write_ar_hdr): Ditto.
850 (_bfd_archive_bsd44_openr_next_archived_file): Ditto.
851 (_bfd_archive_bsd44_get_elt_at_index): Ditto.
852 (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
853 (_bfd_archive_bsd44_update_armap_timestamp): Ditto.
854 * libbfd.h: Regenerate.
855 * oasys.c (oasys_write_ar_hdr): Define.
856 * libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
857 * ieee.c (ieee_write_ar_hdr): Define.
858 * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
859 * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
860 (bfd_pmac_xcoff_backend_data): Ditto.
861 * coff64-rs6000.c (rs6000coff64_vec): Ditto.
862 (bfd_xcoff_aix5_backend_data): Ditto.
863 * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
864 * aout-target.h (MY_write_ar_hdr): Define it if not defined.
865 * aout-tic30.c (MY_write_ar_hdr): Ditto.
866 * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
867 (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
868 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
869 (bfd_mach_o_construct_extended_name_table)
870 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
871 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
872 (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
873 * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
874 (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
875 (bfd_mach_o_construct_extended_name_table)
876 (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
877 (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
878 (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
879 * bfd-in2.h: Regenerate.
880
881 2010-01-26 Alan Modra <amodra@gmail.com>
882 H.J. Lu <hongjiu.lu@intel.com>
883
884 PR ld/11218
885 * elflink.c (elf_link_output_extsym): Do not ignore undefined
886 symbols with ref_regular set when gc_sections is active.
887
888 2010-01-25 Alan Modra <amodra@gmail.com>
889
890 PR ld/11217
891 * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
892 with relocations against undefined weak symbols.
893 (ppc64_elf_relocate_section): Don't optimize calls to undefined
894 weak functions if the symbol is dynamic.
895 (ppc64_elf_relocate_section): Edit tprel tls sequences.
896 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
897 (_bfd_elf_ppc_at_tprel_transform): New function.
898 * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
899 * bfd-in2.h: Regenerate.
900
901 2010-01-23 Richard Sandiford <r.sandiford@uk.ibm.com>
902
903 * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
904 (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
905 * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
906 bitsize to 1.
907 (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
908
909 2010-01-21 Nick Clifton <nickc@redhat.com>
910
911 * elflink.c (elf_link_add_object_symbols): Look up name of
912 undefined symbol both before and after versioning has been
913 applied. Do not bother with symbols that are weakly undefined.
914
915 2010-01-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
916
917 * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
918 (bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
919
920 2010-01-19 Cary Coutant <ccoutant@google.com>
921
922 * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
923
924 2010-01-19 Daisuke Hatayama <d.hatayama@jp.fujitsu.com>
925 Alan Modra <amodra@gmail.com>
926
927 * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
928 (elf_object_p): Read e_phnum extension.
929 (elf_write_shdrs_and_ehdr): Write e_phnum extension.
930 * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check
931 that we can read last program header.
932
933 2010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
934
935 * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
936 R_ARM_THM_CALL entry.
937 (elf32_arm_final_link_relocate): Correct calculation of
938 reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
939 or R_ARM_THM_JUMP24 relocation.
940
941 2010-01-18 Alan Modra <amodra@gmail.com>
942
943 PR 11168
944 * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
945 block past vars in COFF_IMAGE_WITH_PE block. Report error on more
946 than 32k sections.
947
948 2010-01-15 Jan Kratochvil <jan.kratochvil@redhat.com>
949
950 Fix compilation warning on gcc-3.4.
951 * vms-tir.c (start_etir_record, sto_imm): Rename the prototype
952 parameter index to sec_index according to the function definition.
953
954 2010-01-13 Chao-ying Fu <fu@mips.com>
955
956 * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
957 It is true for all CPUs.
958 (jal_reloc_p): New function.
959 (mips_elf_calculate_relocation): Rename require_jalxp to
960 cross_mode_jump_p.
961 Update comment for CROSS_MODE_JUMP_P.
962 Set up cross_mode_jump_p based on the mode change.
963 (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
964 Update comment for CROSS_MODE_JUMP_P.
965 Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
966 Use !cross_mode_jump_p to guard conversion.
967 Convert "jr t9" to "b", if possible.
968 (_bfd_mips_elf_relocate_section): Rename require_jalx to
969 cross_mode_jump_p.
970 Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
971 Pass cross_mode_jump_p to call mips_elf_perform_relocation.
972
973 2010-01-13 Nick Clifton <nickc@redhat.com>
974
975 * cpu-m32c.c (m32c_scan): New function. Ensures that a scan for
976 "m32c" returns the m32c arch_info_struct and not the m16c
977 arch_info_struct.
978 (arch_info_struct): Use the new scan function.
979 (bfd_m32c_arch): Likewise.
980
981 2010-01-13 Tristan Gingold <gingold@adacore.com>
982
983 * config.bfd: Remove duplicated target vector for i386-*-darwin.
984 Appends new arch instead of overriding.
985 Use mach_o_x86_64_vec for x86_64-*-darwin.
986 * configure.in: Add mach_o_x86_64_vec.
987 * configure: Regenerate.
988 * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
989 * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
990 (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
991 * Makefile.in: Regenerate.
992 * mach-o-x86-64.c: New file.
993
994 2010-01-13 Tristan Gingold <gingold@adacore.com>
995
996 * reloc.c: Add MACH_O_X86_64 relocations.
997 * bfd-in2.h: Regenerate.
998 * libbfd.h: Regenerate.
999
1000 2010-01-13 Tristan Gingold <gingold@adacore.com>
1001
1002 * archive.c (normalize): Use lbasename.
1003 (bfd_bsd_truncate_arname): Ditto.
1004 (bfd_gnu_truncate_arname): Ditto.
1005
1006 2010-01-12 Tristan Gingold <gingold@adacore.com>
1007
1008 * makefile.vms (CFLAGS): Turns warnings into informational messages.
1009
1010 2010-01-11 Tristan Gingold <gingold@adacore.com>
1011
1012 * mach-o.h: Add x86-64 relocation types.
1013
1014 2010-01-11 Tristan Gingold <gingold@adacore.com>
1015
1016 * mach-o.h (bfd_mach_o_backend_data): Add arch field.
1017 (bfd_mach_o_set_arch_mach): New prototype.
1018 * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
1019 (bfd_mach_o_set_arch_mach): New function.
1020 (bfd_mach_o_gen_mkobject): New function.
1021 Set TARGET_ARCHITECTURE for the generic back-ends.
1022 * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
1023 Check that TARGET_ARCHITECTURE is defined.
1024 Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
1025 * mach-o-i386.c (TARGET_ARCHITECTURE): Define.
1026
1027 2010-01-11 Tristan Gingold <gingold@adacore.com>
1028
1029 * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
1030
1031 2010-01-11 Nick Clifton <nickc@redhat.com>
1032
1033 * elf32-v850.c (v850_elf_perform_relocation): Fix overflow
1034 handling of R_V850_HI16_S relocation.
1035
1036 2010-01-11 Alan Modra <amodra@gmail.com>
1037
1038 PR 11103
1039 * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
1040
1041 2010-01-11 Alan Modra <amodra@gmail.com>
1042
1043 PR 6832
1044 * dwarf2.c (struct comp_unit): Add sec_info_ptr.
1045 (find_abstract_instance_name): Use it.
1046 (parse_comp_unit): Set it.
1047
1048 2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1049
1050 * Makefile.in: Regenerate.
1051 * configure: Regenerate.
1052
1053 2010-01-08 Tristan Gingold <gingold@adacore.com>
1054
1055 * archive.c: Remove bfd_special_undocumented_glue.
1056
1057 2010-01-08 Alan Modra <amodra@gmail.com>
1058
1059 PR ld/11133
1060 * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
1061 * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
1062 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
1063
1064 2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
1065
1066 PR ld/11138
1067 * elflink.c (elf_link_check_versioned_symbol): Don't abort if
1068 a symbol referenced by DSO is is defined in a non-shared object
1069 and forced local.
1070
1071 2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
1072
1073 PR ld/11133
1074 * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
1075 undefined __start_XXX/__stop_XXX in all input files and set
1076 SEC_KEEP.
1077
1078 2010-01-07 H.J. Lu <hongjiu.lu@intel.com>
1079
1080 PR ld/11143
1081 * elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
1082
1083 2010-01-04 Daniel Gutson <dgutson@codesourcery.com>
1084
1085 * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
1086 before including procfs.h.
1087 (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
1088 * configure.in: Added autoconf probe for the pr_fpreg member.
1089 * configure: Regenerated.
1090 * config.in: Regenerated.
1091 * elf.c: Define _STRUCTURE_PROC before including procfs.h.
1092
1093 2010-01-04 Joel Brobecker <brobecker@adacore.com>
1094
1095 Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
1096 * dwarf2.c (concat_filename): Rename dirname with dir_name
1097 to void shadowing the dirname function.
1098 Rename subdirname with subdir_name to stay consistent with
1099 the new dir_name variable name.
1100
1101 2010-01-04 Edmar Wienskoski <edmar@freescale.com>
1102
1103 * archures.c: Add bfd_mach_ppc_e500mc64.
1104 * bfd-in2.h: Regenerate.
1105 * cpu-powerpc.c (bfd_powerpc_archs): Add entry for
1106 bfd_mach_ppc_e500mc64.
1107
1108 2010-01-01 Joel Brobecker <brobecker@adacore.com>
1109
1110 Fix -Wshadow warnings (seen on ppc-aix)
1111 * xcofflink.c: Replace finfo by flinfo throughout.
1112
1113 For older changes see ChangeLog-2009
1114 \f
1115 Local Variables:
1116 mode: change-log
1117 left-margin: 8
1118 fill-column: 74
1119 version-control: never
1120 End:
This page took 0.066873 seconds and 5 git commands to generate.