* elf32-spu.c (mark_functions_via_relocs): Don't assume that
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2008-02-28 Alan Modra <amodra@bigpond.net.au>
2
3 * elf32-spu.c (mark_functions_via_relocs): Don't assume that
4 the "->start" pointer reaches to function origin, so that we
5 can handle functions split over more than two sections.
6 (build_call_tree): Likewise.
7 (pasted_function): Don't attempt to set fun->start back to the
8 function origin, just go back one section.
9
10 2008-02-27 Catherine Moore <clm@codesourcery.com>
11
12 * elf.c ( _bfd_elf_print_private_bfd_data): Call
13 elf_backend_get_target_dtag if defined.
14 * elf32-mips.c (elf_backend_get_target_dtag): Define.
15 * elf64-mips.c: Likewise.
16 * elfn32-mips.c: Likewise.
17 * elfxx-mips.c (_bfd_mips_elf_get_target_dtag): New.
18 * elfxx-mips.h (_bfd_mips_elf_get_target_dtag): Declare.
19 * elf-bfd.h (elf_backend_get_target_dtag): Add prototype.
20 * elfxx-target.h (elf_backend_get_target_dtag): Add default.
21 (elf_backend_data): Add elf_backend_get_target_dtag.
22
23 2008-02-26 Alan Modra <amodra@bigpond.net.au>
24
25 * elf32-ppc.c (ppc_elf_check_relocs): Set pointer_equality_needed
26 for R_PPC_REL32 syms. Don't set non_got_ref on branch reloc syms,
27 and assume branch relocs are not dynamic when non-shared.
28 (readonly_dynrelocs): New function, split out from..
29 (maybe_set_textrel): ..here, renamed from old readonly_dynrelocs.
30 (ppc_elf_adjust_dynamic_symbol): For symbols generating plt entries,
31 clear non_got_ref..
32 (allocate_dynrelocs): ..and don't set u.def for undefined weak.
33 Do allow dynamic relocs on undefined symbols.
34 (ppc_elf_adjust_dynamic_symbol): Use readonly_dynrelocs.
35 (ppc_elf_relocate_section): Mirror dynamic reloc changes in
36 check_relocs.
37 (ppc_elf_finish_dynamic_symbol): Don't give a warning on weak
38 plt symbols needing pointer_equality_needed.
39
40 2008-02-23 Alan Modra <amodra@bigpond.net.au>
41
42 * elf32-ppc.c (ppc_elf_check_relocs): Revert non_got_ref change.
43
44 2008-02-23 Alan Modra <amodra@bigpond.net.au>
45
46 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Copy
47 pointer_equality_needed.
48 (ppc_elf_check_relocs): Split out non-branch relocs from others
49 that might emit dynamic relocs. Set pointer_equality_needed
50 for their symbols. Don't set non_got_ref on branch reloc symbols.
51 (ppc_elf_hash_symbol): New function.
52 (elf_backend_hash_symbol): Define.
53 (ppc_elf_finish_dynamic_symbol): Handle pointer_equality_needed.
54 Error if pointer_equality_needed on weak plt symbol.
55
56 2008-02-22 H.J. Lu <hongjiu.lu@intel.com>
57
58 PR ld/5788
59 * elflink.c (elf_create_symbuf): Correct buffer size and
60 position.
61
62 2008-02-22 Nick Clifton <nickc@redhat.com>
63
64 PR 868
65 * dwarf2.c: Revert previous patch. All of the allocate memory is
66 on an obstack which will be freed at some other time.
67
68 2008-02-20 Nick Clifton <nickc@redhat.com>
69
70 PR 868
71 * libbfd.c (bfd_realloc_or_free): New function. Performs like
72 bfd_realloc, but if the (re)allocation fails, the pointer is
73 freed.
74 * libbfd-in.h: Prototype.
75 * libbfd.h: Regenerate.
76 * bfdio.c (bfd_bwrite): Use the new function.
77 (bfd_seek): Likewise.
78 * bfdwin.c:(bfd_get_file_window): Likewise.
79 * elf-strtab.c (_bfd_elf_strtab_add): Likewise.
80 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
81 * elf32-xtensa.c (vsprintf_msg): Likewise.
82 * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
83 * stabs.c (_bfd_link_seciton_stabs): Likewise.
84 * vms-misc.c (_bfd_vms_get_record): Likewise.
85 * vms-tir.c (check_section): Likewise.
86 * vms.c (vms_new_section_hook): Likewise.
87 * elf32-arm.c (elf32_arm_section_map_add): Check that the
88 allocation of sec_data->map succeeded before using it.
89 * elflink.c (elf_link_output_sym): Do not overwrite finfo->
90 symshndxbuf until it is known that the reallocation succeeded.
91
92 2008-02-20 Diogo de Carvalho Kraemer <diogo@kraemer.eng.br>
93 Nick Clifton <nickc@redhat.com>
94
95 PR 868
96 * dwarf2.c (read_abbrevs): Free the abbreviation table if we run
97 out of memory.
98 (decode_line_info): Free the line_info_table before returning a
99 failure result.
100 (_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table.
101 Free the line table. Free the function table. Free the variable
102 table.
103
104 2008-02-17 Mark Kettenis <kettenis@gnu.org>
105
106 * elf.c (swap_out_syms): Avoid preprocessing directive within
107 macro arg.
108
109 2008-02-17 Jan Kratochvil <jan.kratochvil@redhat.com>
110
111 * elf.c (assign_file_positions_for_load_sections): Set the type of
112 PT_NOTE sections to SHT_NOTE.
113
114 2008-02-17 Ulrich Weigand <uweigand@de.ibm.com>
115
116 * simple.c (bfd_simple_get_relocated_section_contents): Set
117 link_info.output_bfd.
118
119 2008-02-16 Nathan Sidwell <nathan@codesourcery.com>
120
121 * dwarf2.c (find_line): Don't trust debug information after an
122 unparseable compilation unit.
123
124 2008-02-15 Alan Modra <amodra@bigpond.net.au>
125
126 PR 5765
127 * section.c (SEC_LINK_DUPLICATES): Correct. Renumber following flags.
128 * bfd-in2.h: Regenerate.
129
130 2008-02-15 Alan Modra <amodra@bigpond.net.au>
131
132 * elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA.
133 * elf.c (bfd_elf_allocate_object): Don't check for already allocated
134 tdata.
135 * elf32-hppa.c (elf32_hppa_mkobject): New function.
136 (bfd_elf32_mkobject): Define.
137 * elf32-ppc.c (is_ppc_elf_target): Delete. Replace all uses with..
138 (is_ppc_elf): ..this new macro.
139 * elf64-ppc.c (is_ppc64_elf_target): Delete. Replace all uses with..
140 (is_ppc64_elf): ..this new macro.
141
142 2008-02-15 Alan Modra <amodra@bigpond.net.au>
143
144 * elflink.c: Replace all accesses to hash->creator field with
145 output_bfd->xvec.
146 * cofflink.c: Likewise.
147 * coff-h8300.c: Likewise.
148 * ecoff.c: Likewise.
149 * elf32-m68hc1x.c: Likewise.
150 * elf32-ppc.c: Likewise.
151 * elf64-alpha.c: Likewise.
152 * elf64-ppc.c: Likewise.
153 * elf64-sparc.c: Likewise.
154 * elfxx-mips.c: Likewise.
155 * i386linux.c: Likewise.
156 * m68klinux.c: Likewise.
157 * sparclinux.c: Likewise.
158 * sunos.c: Likewise.
159 * xcofflink.c: Likewise.
160 * linker.c: Likewise.
161 (_bfd_link_hash_table_init): Don't store creator.
162
163 2008-02-14 Peter Jones <pjones@redhat.com>
164
165 * efi-rtdrv-ia32.c: New file.
166 * efi-bsdrv-ia32.c: New file.
167 * efi-rtdrv-ia64.c: New file.
168 * efi-bsdrv-ia64.c: New file.
169 * efi-rtdrv-x86_64.c: New file.
170 * efi-bsdrv-x86_64.c: New file.
171 * peicode.h (pe_bfd_object_p): Add support for boot service and
172 runtime service drivers.
173 * libpei.h: Add macros for EFI formats, and rename the efi application
174 format macros to disambiguate.
175 * targets.c: Add bfd_target _vec externs.
176 (_bfd_tar): Add EFI _vec entries.
177 * config.bfd: Add EFI vectors into the selection routines.
178 * configure.in: add EFI _vec entries.
179 * configure: Regenerate.
180 * Makefile.am: Add EFI files.
181 * Makefile.in: Regenerate.
182
183 2008-02-14 Nathan Sidwell <nathan@codesourcery.com>
184
185 * dwarf1.c (struct dwarf1_debug): Add syms member.
186 (alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory.
187 (parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate
188 section contents, check for out of memory.
189
190 * dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte.
191 (parse_die): Change data pointers to bfd_byte.
192 (parse_line_table, parse_functions_in_unit): Likewise.
193
194 2008-02-14 Alan Modra <amodra@bigpond.net.au>
195
196 * elflink.c (compute_bucket_count): Warning fixes.
197
198 2008-02-12 DJ Delorie <dj@redhat.com>
199
200 * elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of
201 relocation pointing to local symbol in merged section.
202
203 * elf32-iq2000.c (iq2000_elf_relocate_offset16): New.
204 (iq2000_elf_relocate_section): Call it.
205
206 2008-02-12 Nick Clifton <nickc@redhat.com>
207
208 PR ld/5692
209 * elf-bfd.h (enum elf_object_id): New enum, used to identify
210 target specific extensions to the elf_obj_tdata structure.
211 (struct elf_obj_tdata): New field 'object_id'.
212 (elf_object_id, elf_program_header_size, elf_symtab_hdr): New
213 macros for accessing fields in the elf_obj_tdata structure.
214 (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object.
215 (bfd_elf_allocate_object): New function.
216 * elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object
217 and implement by calling bfd_elf_allocate_object.
218 (bfd_elf_allocate_object): New function: Allocates an
219 elf_obj_tdata structure, possibly with a target specific
220 extension.
221 * elfxx-target.h (bfd_elfNN_mkobject): Use
222 bfd_elf_make_generic_object as the default value.
223 * elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata
224 for consistency with other, similar structures.
225 (is_arm_elf): New macro. Checks a BFD to make sure that is an ARM
226 ELF bfd.
227 (elf32_arm_mkobject): Call bfd_elf_allocate_object.
228 (bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check
229 the bfd being processed.
230 (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
231 (bfd_elf32_arm_set_target_relocs): Likewise.
232 (bfd_elf32_arm_final_link_relocate): Likewise.
233 (bfd_elf32_arm_copy_private_bfd_data): Likewise.
234 (bfd_elf32_arm_merge_eabi_attributes): Likewise.
235 (bfd_elf32_arm_merge_private_bfd_data): Likewise.
236 (bfd_elf32_arm_check_relocs): Likewise.
237 (bfd_elf32_arm_gc_mark_extra_sections): Likewise.
238 (bfd_elf32_arm_size_dynamic_sections): Likewise.
239 (bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr.
240 (bfd_elf32_arm_init_maps): Likewise.
241 (bfd_elf32_arm_final_link_relocate): Likewise.
242 (bfd_elf32_arm_relocate_section): Likewise.
243 (bfd_elf32_arm_gc_sweep_hook): Likewise.
244 (bfd_elf32_arm_check_relocs): Likewise.
245 (bfd_elf32_arm_size_dynamic_sections): Likewise.
246 * elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object.
247 (is_i386_elf): New macro. Checks a BFD to make sure that is an x86
248 ELF bfd.
249 (elf_i386_check_relocs): Use is_i386_elf macro to check the bfd
250 being processed.
251 (elf_i386_size_dynamic_sections): Likewise.
252 (elf_i386_relocate_section): Likewise.
253 (elf_i386_check_relocs): Use elf_symtab_hdr.
254 (elf_i386_gc_sweep_hook): Likewise.
255 (elf_i386_size_dynamic_sections): Likewise.
256 (elf_i386_relocate_section): Likewise.
257 * elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object.
258 (elf_create_pointer_linker_section): Use is_ppc_elf_target to
259 verify that the bfd before accessing target specific fields.
260 (ppc_elf_check_relocs): Likewise.
261 (elf_finish_pointer_linker_section): Likewise.
262 (elf_create_pointer_linker_section): Use elf_symtab_hdr.
263 (ppc_elf_check_relocs): Likewise.
264 (ppc_elf_gc_sweep_hook): Likewise.
265 (ppc_elf_tls_optimize): Likewise.
266 (ppc_elf_size_dynamic_sections): Likewise.
267 (ppc_elf_relax_section): Likewise.
268 (ppc_elf_relocate_section): Likewise.
269 * elf32-s390.c (struct elf_s390_obj_tdata): Add a comment
270 reminding programmers to keep this structure in sync with the one
271 defined in elf64-s390.c.
272 (elf_s390_mkobject): Call bfd_elf_allocate_object.
273 (is_s390_elf): New macro. Checks a BFD to make sure that is an s390
274 ELF bfd.
275 (elf_s390_check_relocs): Use is_s390_elf macro to check the bfd
276 being processed.
277 (elf_s390_size_dynamic_sections): Likewise.
278 (elf_s390_relocate_section): Likewise.
279 (elf_s390_check_relocs): Use elf_symtab_hdr.
280 (elf_s390_gc_sweep_hook): Likewise.
281 (elf_s390_size_dynamic_sections): Likewise.
282 (elf_s390_relocate_section): Likewise.
283 * elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object.
284 (is_sh_elf): New macro. Checks a BFD to make sure that is an SH
285 ELF bfd.
286 (sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the
287 bfd being processed.
288 (sh_elf_relocate_section): Likewise.
289 (sh_elf_check_relocs): Likewise.
290 (sh_elf_copy_private_data): Likewise.
291 (sh_elf_relax_section): Use elf_symtab_hdr.
292 (sh_elf_size_dynamic_sections): Likewise.
293 (sh_elf_relocate_section): Likewise.
294 (sh_elf_get_relocated_section_contents): Likewise.
295 (sh_elf_gc_sweep_hook): Likewise.
296 (sh_elf_check_relocs): Likewise.
297 * elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object.
298 (is_alpha_elf): New macro. Checks a BFD to make sure that is an
299 Alpha ELF bfd.
300 (elf64_alpha_create_got_section): Use is_alpha_elf macro to check
301 the bfd being processed.
302 (elf64_alpha_create_dynamic_section): Likewise.
303 (elf64_alpha_check_relocs): Likewise.
304 (elf64_alpha_size_got_sections): Likewise.
305 (elf64_alpha_relax_section): Likewise.
306 (elf64_alpha_relocate_section): Likewise.
307 (elf64_alpha_final_link): Likewise.
308 (elf64_alpha_check_relocs): Use elf_symtab_hdr.
309 (elf64_alpha_relax_section): Likewise.
310 (elf64_alpha_relocate_section_r): Likewise.
311 (elf64_alpha_relocate_section): Likewise.
312 * elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object.
313 (ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd
314 being processed.
315 (opd_entry_value): Likewise.
316 (allocate_dynrelocs): Likewise.
317 (ppc64_elf_relocate_section): Likewise.
318 (ppc64_elf_check_relocs): Use elf_symtab_hdr.
319 (opd_entry_value): Likewise.
320 (ppc64_elf_gc_sweep_hook): Likewise.
321 (get_sym_h): Likewise.
322 (ppc64_elf_edit_opd): Likewise.
323 (ppc64_elf_tls_optimize): Likewise.
324 (ppc64_elf_edit_toc): Likewise.
325 (ppc64_elf_size_dynamic_sections): Likewise.
326 (toc_adjusting_stub_needed): Likewise.
327 (ppc64_elf_size_stubs): Likewise.
328 (ppc64_elf_relocate_section): Likewise.
329 * elf64-s390.c (struct elf_s390_obj_tdata): Add a comment
330 reminding programmers to keep this structure in sync with the one
331 defined in elf32-s390.c.
332 (elf_s390_mkobject): Call bfd_elf_allocate_object.
333 (is_s390_elf): New macro. Checks a BFD to make sure that is an s390
334 ELF bfd.
335 (elf_s390_check_relocs): Use is_s390_elf macro to check the bfd
336 being processed.
337 (elf_s390_size_dynamic_sections): Likewise.
338 (elf_s390_relocate_section): Likewise.
339 (elf_s390_check_relocs): Use elf_symtab_hdr.
340 (elf_s390_gc_sweep_hook): Likewise.
341 (elf_s390_size_dynamic_sections): Likewise.
342 (elf_s390_relocate_section): Likewise.
343 * elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object.
344 (is_x86_64_elf): New macro. Checks a BFD to make sure that is an
345 x86_64 ELF bfd.
346 (elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd
347 being processed.
348 (elf64_x86_64_size_dynamic_sections): Likewise.
349 (elf64_x86_64_relocate_section): Likewise.
350 (elf64_x86_64_check_relocs): Use elf_symtab_hdr.
351 (elf64_x86_64_gc_sweep_hook): Likewise.
352 (elf64_x86_64_size_dynamic_sections): Likewise.
353 (elf64_x86_64_relocate_section): Likewise.
354 * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object.
355 (is_sparc_elf): New macro. Checks a BFD to make sure that is a Sparc
356 ELF bfd.
357 (_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the
358 bfd being processed.
359 (_bfd_sparc_elf_gc_sweep_hook): Likewise.
360 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
361 (_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr.
362 (_bfd_sparc_elf_gc_sweep_hook): Likewise.
363 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
364 (_bfd_sparc_elf_relocate_section): Likewise.
365
366 2008-02-12 Alan Modra <amodra@bigpond.net.au>
367
368 PR 5303, 5755
369 * arange-set.c: Delete.
370 * arange-set.h: Delete.
371 * dwarf2.c: Revert 2007-09-21 changes.
372 * Makefile.am: Likewise.
373 * Makefile.in: Regenerate.
374 * po/SRC-POTFILES.in: Regenerate.
375
376 2008-02-11 Bernd Schmidt <bernd.schmidt@analog.com>
377
378 * elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it
379 if necessary.
380 (elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type
381 mismatches are detected.
382
383 * elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to
384 emit invalid relocs or rofixup entries for deleted .eh_frame entries.
385
386 2008-02-11 Daniel Jacobowitz <dan@codesourcery.com>
387
388 * cache.c (cache_bread): Set bfd_error_file_truncated if EOF
389 was reached.
390 * srec.c (srec_scan): Calculate the checksum. Complain on mismatch.
391
392 2008-02-07 Alan Modra <amodra@bigpond.net.au>
393
394 * elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling
395 of _ovly_buf_table size.
396 (spu_elf_build_stubs): Use low bit of .size as "present" bit.
397 Adjust initialisations relating to _ovly_buf_table.
398
399 2008-02-04 Bob Wilson <bob.wilson@acm.org>
400
401 * elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid
402 relocation, do not continue processing it. Ignore R_XTENSA_ASM_EXPAND
403 relocations against dynamic symbols.
404 (elf_xtensa_finish_dynamic_sections): Do not fail if there is no
405 .xt.lit section.
406
407 2008-02-04 Kai Tietz <kai.tietz@onevision.com>
408 H.J. Lu <hongjiu.lu@intel.com>
409
410 PR 5715
411 * warning.m4: Enable -Wno-format by default when using gcc on
412 mingw.
413 * configure: Regenerated.
414
415 2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
416
417 * archures.c: Update copyright.
418 (bfd_mach_mips_octeon): New macro.
419 * bfd-in2.h: Regenerate.
420 * elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
421 (mips_set_isa_flags): Likewise.
422 (mips_mach_extensions): Add Octeon.
423 * cpu-mips.c: Update copyright.
424 (I_mipsocteon): New enum constant.
425 (arch_info_struct): Add Octeon.
426
427 2008-02-04 Alan Modra <amodra@bigpond.net.au>
428
429 * elf32-spu.c (spu_elf_relocate_section): Correct return type.
430 Return error status on unexpected relocation errors.
431
432 2008-02-04 Alan Modra <amodra@bigpond.net.au>
433
434 PR ld/5692
435 * elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31. Instead abort
436 on non-ELF input.
437 * elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue
438 processing on non-ELF input.
439
440 2008-01-31 Marc Gauthier <marc@tensilica.com>
441
442 * config.bfd (xtensa*-*-*): Recognize processor variants.
443
444 2008-01-31 Nick Clifton <nickc@redhat.com>
445
446 PR ld/5692
447 * elf.c (bfd_elf_get_elf_syms): Check the return value of
448 get_elf_backend_data.
449
450 2008-01-28 Fabian Groffen <grobian@gentoo.org>
451
452 * config.bfd (x86_64-*-solaris2): Add support for this target.
453
454 2008-01-28 Alan Modra <amodra@bigpond.net.au>
455
456 Rewrite SPU overlay handling code. Put overlay calls stubs in the
457 overlays where possible. Use a faster call stub, or optionally at
458 compile time, a more compact stub. Double size of _ovly_buf_table
459 so that low bit of _ovly_table.buf can be used as a "present" bit.
460 Reserve an extra _ovly_table entry for index zero.
461 * elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields,
462 add new ones.
463 (struct got_entry): New.
464 (struct spu_stub_hash_entry): Delete.
465 (stub_hash_newfunc, spu_elf_link_hash_table_free): Delete.
466 (spu_elf_link_hash_table_create): Adjust for struct changes.
467 (spu_stub_name): Delete.
468 (spu_elf_find_overlays): Don't track sections from overlay regions.
469 Instead set ovl_buf number in spu elf section data. Error if
470 overlays in one region don't start at the same address. Adjust
471 for struct _spu_elf_section_data changes.
472 (SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete.
473 (OVL_STUB_SIZE, BRSL, LNOP, ILA): Define.
474 (needs_ovl_stub): Adjust for struct _spu_elf_section_data changes.
475 (enum _insn_type): New.
476 (count_stub, build_stub): New functions.
477 (allocate_spuear_stubs): Use count_stub.
478 (build_spuear_stubs): Use build_stub.
479 (populate_stubs, sort_stubs): Delete.
480 (process_stubs): New function.
481 (write_one_stub): Delete.
482 (spu_elf_size_stubs, spu_elf_build_stubs): Rewrite.
483 (alloc_stack_info): Adjust for struct _spu_elf_section_data changes.
484 (maybe_insert_function, check_function_ranges): Likewise.
485 (find_function, pasted_function, build_call_tree): Likewise.
486 (spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise.
487 (spu_elf_modify_program_headers): Likewise.
488 (interesting_section): Detect stub sections differently. Delete
489 htab param, adjust all callers.
490 (spu_elf_relocate_section): Rewrite stub handling.
491 (spu_elf_output_symbol_hook): Likewise.
492 (bfd_elf32_bfd_link_hash_table_free): Delete.
493 * elf32-spu.h (struct _spu_elf_section_data): Move input-only and
494 output-only fields into a union. Add ovl_buf.
495 (spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes.
496
497 2008-01-25 DJ Delorie <dj@redhat.com>
498
499 * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New.
500
501 2008-01-25 Kai Tietz <kai.tietz@onevision.com>
502
503 * bfd-in.h: Add mingw I64 support.
504 * bfd-in2.h: Regenerated.
505 * bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64.
506
507 2008-01-21 Alan Modra <amodra@bigpond.net.au>
508
509 PR 4453
510 * format.c (bfd_check_format_matches): Don't accept archives as
511 fully matching unless they have a map.
512
513 2008-01-21 Alan Modra <amodra@bigpond.net.au>
514
515 * elflink.c (_bfd_elf_link_output_relocs): Correct error return.
516
517 2008-01-21 Alan Modra <amodra@bigpond.net.au>
518
519 * ecoff.c (_bfd_ecoff_archive_p): Delete.
520 * libecoff.h (_bfd_ecoff_archive_p): Delete.
521 * coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
522 * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
523 (ecoff_biglittle_vec): Likewise.
524
525 2008-01-19 Alan Modra <amodra@bigpond.net.au>
526
527 PR 5646
528 * elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
529 non-NULL before dereferencing.
530
531 2008-01-15 Alan Modra <amodra@bigpond.net.au>
532
533 PR 5604
534 * elf-bfd.h (struct elf_backend_data): Add gc_keep. Remove param
535 names from others.
536 (_bfd_elf_gc_keep): Declare.
537 * elfxx-target.h (elf_backend_gc_keep): Define.
538 (elfNN_bed): Init new field.
539 * elflink.c (_bfd_elf_gc_keep): New function.
540 (bfd_elf_gc_sections): Call gc_keep.
541 * elf64-ppc.c (elf_backend_gc_keep): Define.
542 (struct _ppc64_elf_section_data): Move .opd related fields to
543 a struct so they don't occupy the same storage. Adjust accesses
544 throughout file.
545 (ppc64_elf_gc_keep): New function, split out from..
546 (ppc64_elf_gc_mark_hook): ..here. Don't call _bfd_elf_gc_mark
547 to mark .opd section, just set gc_mark.
548 (ppc64_elf_edit_opd): Remove no_opd_opt parm. Don't set opd->adjust
549 unless we are changing .opd. Test non-NULL opd->adjust at all
550 accesses throughout file.
551 * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
552
553 2008-01-15 Alan Modra <amodra@bigpond.net.au>
554
555 * bfd-in.h (BFD_HOST_LONG_LONG): Delete.
556 * bfd-in2.h: Regenerate.
557
558 2008-01-11 Tristan Gingold <gingold@adacore.com>
559 Eric Botcazou <ebotcazou@adacore.com>
560
561 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
562 relocatable.
563 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
564 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
565 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
566 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
567 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
568 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
569 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
570 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
571 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
572 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
573 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
574 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
575 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
576 * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
577 * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
578 * elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
579 or executable output with relocations.
580
581 2008-01-09 Nick Clifton <nickc@redhat.com>
582
583 PR gas/5552
584 * elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
585 to FALSE for all relocs.
586
587 2008-01-09 Richard Sandiford <rsandifo@nildram.co.uk>
588
589 PR ld/5526
590 * elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
591 fields. Rename u.cie.u.merged to u.cie.u.merged_with.
592 (eh_frame_sec_info): Add a cies field.
593 (eh_frame_hdr_info): Add a merge_cies field.
594 * elf-eh-frame.c (cie): Add a reloc_index member to the personality
595 union.
596 (_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
597 of hdr_info->cies.
598 (_bfd_elf_parse_eh_frame): Remove tmp_cie. Ccreate an array of
599 cie structures in all cases and use it instead of extended_cies.
600 If merging, store the cie array in sec_info->cies and point each
601 CIE's eh_fde_cie at the associated element. Do not try to
602 calculate the value of the personality routine here; record the
603 offset of the relocation instead. Do not merge CIEs here.
604 (_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
605 (_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
606 (_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
607 (find_merged_cie): New function.
608 (_bfd_elf_gc_mark_fdes): Use it. Free sec_info->cies.
609
610 2008-01-07 Nick Clifton <nickc@redhat.com>
611
612 PR binutils/5535
613 * vms.c (vms_close_and_cleanup): Check for the presence of a
614 vms_private_data_struct before examining any of its fields.
615
616 2008-01-07 H.J. Lu <hongjiu.lu@intel.com>
617
618 PR ld/5522
619 * elflink.c (elf_link_input_bfd): Don't write out a section if
620 its output section is marked with SEC_NEVER_LOAD.
621
622 For older changes see ChangeLog-2007
623 \f
624 Local Variables:
625 mode: change-log
626 left-margin: 8
627 fill-column: 74
628 version-control: never
629 End:
This page took 0.046426 seconds and 5 git commands to generate.