* elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
[binutils-gdb.git] / bfd / ChangeLog
1 2005-04-25 David S. Miller <davem@davemloft.net>
2
3 * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
4 (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol,
5 sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections):
6 Likewise.
7
8 2005-04-25 H.J. Lu <hongjiu.lu@intel.com>
9
10 PR 858
11 * elflink.c (elf_link_input_bfd): Make non-debugging reference
12 to discarded section an error.
13
14 2005-04-21 Jerome Guitton <guitton@gnat.com>
15
16 * configure.in: Replace BFD_NEED_DECLARATION checks by the
17 corresponding AC_CHECK_DECLS.
18 * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding
19 HAVE_DECL_*.
20 * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete.
21 * configure: Regenerate.
22 * config.in: Ditto.
23
24 2005-04-21 Andreas Schwab <schwab@suse.de>
25
26 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove
27 unsigned from type of dynamic_interpreter.
28 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove
29 casts again.
30
31 * elf.c (assign_section_numbers): Fix comment.
32
33 2005-04-21 Jerome Guitton <guitton@gnat.com>
34
35 * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long
36 for struct som_exec_auxhdr fields.
37
38 2005-04-21 Nick Clifton <nickc@redhat.com>
39
40 * aout-adobe.c: Convert to ISO C and fix formatting.
41 * aout-arm.c: Convert to ISO C and fix formatting.
42 * aout-cris.c: Convert to ISO C and fix formatting.
43 * aout-ns32k.c: Convert to ISO C and fix formatting.
44 * aout-tic30.c: Convert to ISO C and fix formatting.
45 * coffcode.h: Convert to ISO C and fix formatting.
46 * coffswap.h: Convert to ISO C and fix formatting.
47 * i386aout.c: Convert to ISO C and fix formatting.
48 * libaout.h: Convert to ISO C and fix formatting.
49 * libcoff-in.h: Convert to ISO C and fix formatting.
50 * libcoff.h: Convert to ISO C and fix formatting.
51 * libecoff.h: Convert to ISO C and fix formatting.
52 * libnlm.h: Convert to ISO C and fix formatting.
53 * libpei.h: Convert to ISO C and fix formatting.
54 * libxcoff.h: Convert to ISO C and fix formatting.
55 * nlm-target.h: Convert to ISO C and fix formatting.
56 * nlm.c: Convert to ISO C and fix formatting.
57 * nlm32-alpha.c: Convert to ISO C and fix formatting.
58 * nlm32-i386.c: Convert to ISO C and fix formatting.
59 * nlm32-ppc.c: Convert to ISO C and fix formatting.
60 * nlm32-sparc.c: Convert to ISO C and fix formatting.
61 * nlmcode.h: Convert to ISO C and fix formatting.
62 * nlmswap.h: Convert to ISO C and fix formatting.
63 * pe-mips.c: Convert to ISO C and fix formatting.
64 * peXXigen.c: Convert to ISO C and fix formatting.
65 * peicode.h: Convert to ISO C and fix formatting.
66 * vms-gsd.c: Convert to ISO C and fix formatting.
67 * vms-hdr.c: Convert to ISO C and fix formatting.
68 * vms-misc.c: Convert to ISO C and fix formatting.
69 * vms-tir.c: Convert to ISO C and fix formatting.
70 * vms.c: Convert to ISO C and fix formatting.
71 * vms.h: Convert to ISO C and fix formatting.
72
73 * coffgen.c (coff_print_symbol): Restore correct formatting of
74 output.
75
76 2005-04-20 David S. Miller <davem@davemloft.net>
77
78 * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning.
79 (_bfd_sparc_elf_link_hash_table_create): Likewise.
80 (allocate_dynrelocs): Likewise.
81
82 2005-04-20 Jerome Guitton <guitton@gnat.com>
83
84 * configure.in: Fix the check for basename declaration. Add check
85 for declarations of ftello, ftello64, fseeko, fseeko64.
86 * configure: Regenerate.
87 * config.in: Ditto.
88 * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64.
89
90 2005-04-19 David S. Miller <davem@davemloft.net>
91
92 * elfxx-sparc.c: New file.
93 * elfxx-sparc.h: New file.
94 * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo
95 (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
96 (elfxx-sparc.lo): New rule.
97 (elf32-sparc.lo): Add elfxx-sparc.h dependency.
98 (elf64-sparc.lo): Likewise.
99 * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo
100 (bfd_elf64_sparc_vec): Likewise.
101 * configure: Regenerate.
102 * elf32-sparc.c: Remove common code now in elfxx-sparc.c
103 * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming
104 which is more consistent with elf32-sparc.c
105
106 2005-04-19 Daniel Jacobowitz <dan@codesourcery.com>
107
108 * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment.
109 (mips_elf_create_local_got_entry): Check h->root.forced_local.
110
111 2005-04-19 Alan Modra <amodra@bigpond.net.au>
112
113 * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with
114 dynamic relocs in non-SEC_ALLOC sections.
115 (ppc_elf_gc_sweep_hook): Likewise.
116 (ppc_elf_relax_section): Likewise.
117 (ppc_elf_relocate_section): Likewise.
118
119 2005-04-18 Nick Clifton <nickc@redhat.com>
120
121 * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning
122 assigning a value to return_value.
123
124 2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
125
126 PR 855
127 * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
128 created group data.
129
130 2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
131
132 PR 855
133 * elf.c (setup_group): Properly handle zero group count.
134
135 2005-04-17 Mark Kettenis <kettenis@gnu.org>
136
137 * som.c (hppa_som_reloc, som_mkobject, som_is_space)
138 (som_is_subspace, compare_subspaces, som_compute_checksum)
139 (som_build_and_write_symbol_table, som_slurp_symbol_table): New
140 protoypes.
141 (hppa_som_reloc, compare_syms, compare_subspaces)
142 (som_print_symbol, som_get_section_contents)
143 (som_set_section_contents): Remove space after 'void *'.
144 (som_bfd_print_private_bfd_data): Use %lx to print longs.
145 (som_bfd_merge_private_bfd_data)
146 (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New
147 defines.
148
149 2004-04-15 Julian Brown <julian@codesourcery.com>
150
151 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
152 * bfd-in2.h: Regenerate.
153 * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
154 (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
155 (bfd_elf32_arm_set_target_relocs): Handle use_blx.
156 (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
157 relocations if requested to.
158 (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
159 use_blx rather than symbian_p.
160 (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
161 use_blx is in effect.
162 (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
163 for SymbianOS.
164
165 2005-04-15 Nick Clifton <nickc@redhat.com>
166
167 * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma
168 values.
169
170 2005-04-15 Alan Modra <amodra@bigpond.net.au>
171
172 PR ld/815
173 * elflink.c (elf_smash_syms): Clear undef.next if it's not being
174 used as a list pointer.
175
176 2005-04-14 Alan Modra <amodra@bigpond.net.au>
177
178 * Makefile.am (NO_WERROR): Define.
179 * warning.m4: New file
180 * acinclude.m4: Include warning.m4.
181 * configure.in: Invoke AM_BINUTILS_WARNINGS.
182 * Makefile.in: Regenerate.
183 * configure: Regenerate.
184
185 2005-04-14 Alan Modra <amodra@bigpond.net.au>
186
187 * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.
188 Write trailing padding.
189
190 * merge.c (merge_strings): Round up section size for alignment.
191
192 2005-04-14 David S. Miller <davem@davemloft.net>
193
194 Add TLS support for 64-bit Sparc ELF.
195 * elf64-sparc.c (sparc64_elf_dyn_relocs,
196 sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
197 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
198 sparc64_elf_hash_entry, sparc64_elf_tdata,
199 sparc64_elf_local_got_tls_type): New defines.
200 (sparc64_elf_mkobject): New function.
201 (sparc64_elf_link_hash_table): Add members for dynamic linker
202 sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
203 uion to track TLS GOT references. Add sym_sec to cache
204 mappings from local sym to section.
205 (link_hash_newfunc): New function.
206 (sparc64_elf_bfd_link_hash_table_create): Rename to
207 sparc64_elf_link_hash_table_create for consistency.
208 Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
209 (sparc64_elf_create_dynamic_sections): Initialize new section
210 members of sparc64_elf_link_hash_table. Only init srelbss
211 if not-shared.
212 (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
213 New functions.
214 (SPARC_NOP): Define.
215 (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
216 sparc64_elf_plt_ptr_offset): Delete.
217 (sparc64_plt_entry_build): New function to build PLT entries
218 gradually instread of all at once at the end of linking.
219 (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
220 local vars. Get them from sparc64_elf_hash_table instead.
221 Check early on if r_symndx is in bounds. Handle TLS transitions.
222 Account for TLS GOT references and DF_STATIC_TLS, as needed.
223 For TLS relocs, record the tls_type in either
224 sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
225 appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
226 to the __tls_get_addr symbol. For PLT relocs, track references
227 via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
228 PC_LM22} and h not-NULL, set h->non_got_ref. For global data
229 symbol references, count the number of relocations needed for
230 that symbol. For default switch case, don't error, this lets
231 the TLS relocs not explicitly handled by this function get
232 accepted.
233 (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
234 (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
235 it from sparc64_elf_hash_table. Store the real PLT offset
236 in h->plt.offset, and build PLT entries one at a time. Also
237 get .dynbss section pointer from htab.
238 (allocate_dynrelocs, readonly_dynrelocs,
239 sparc64_omit_section_dynsym): New functions.
240 (sparc64_elf_omit_section_dynsym): Use these new functions as
241 helpers.
242 (dtpoff_base, tpoff): New functions.
243 (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
244 locals, get them from sparc64_elf_hash_table. Handle TLS
245 relocations and refcounting in main relocation loop.
246 (sparc64_elf_finish_dynamic_symbol): Use
247 sparc64_elf_link_hash_table. Build PLT entries as we see
248 them. Handle TLS GOT relocations.
249 (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
250 from sparc64_elf_hash_table. Initialize only PLT header
251 not all entries since we not build PLT entries one by one.
252 (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
253 elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
254 elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
255
256 2005-04-13 Daniel Jacobowitz <dan@codesourcery.com>
257
258 * elflink.c (elf_link_input_bfd): Update check for removed
259 sections.
260
261 2005-04-12 Alan Modra <amodra@bigpond.net.au>
262
263 * Makefile.am: Run "make dep-am".
264 * Makefile.in: Regenerate.
265 * aclocal.m4: Regenerate.
266 * libcoff.h: Regenerate.
267
268 2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
269
270 * linker.c (_bfd_generic_link_output_symbols): Also check if
271 the output section of an input section has been removed from
272 the output file.
273
274 * section.c (bfd_section_list_remove): Clear the next field
275 of the removed section.
276 (bfd_section_removed_from_list): New.
277 * bfd-in2.h: Regenerated.
278
279 2005-04-11 David S. Miller <davem@davemloft.net>
280
281 * elf32-sparc.c (elf32_sparc_relocate_section,
282 R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
283 R_SPARC_TLS_LE_{HIX22,LOX10}.
284 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
285 xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
286 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
287 or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
288
289 2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
290
291 * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
292
293 2005-04-11 Nick Clifton <nickc@redhat.com>
294
295 * aout-target.h: Convert to ISO C.
296 * aoutf1.h: Convert to ISO C.
297 * aoutx.h: Convert to ISO C.
298 * bout.c: Convert to ISO C.
299 * dwarf1.c: Convert to ISO C.
300 * ecoffswap.h: Convert to ISO C.
301 * freebsd.h: Convert to ISO C.
302 * genlink.h: Convert to ISO C.
303 * ieee.c: Convert to ISO C.
304 * ihex.c: Convert to ISO C.
305 * libcoff-in.h: Convert to ISO C.
306 * mach-o.c: Convert to ISO C.
307 * mach-o.h: Convert to ISO C.
308 * netbsd.h: Convert to ISO C.
309 * ns32k.h: Convert to ISO C.
310 * ns32knetbsd.c: Convert to ISO C.
311 * oasys.c: Convert to ISO C.
312 * pdp11.c: Convert to ISO C.
313 * pef-traceback.h: Convert to ISO C.
314 * pef.c: Convert to ISO C.
315 * pef.h: Convert to ISO C.
316 * riscix.c: Convert to ISO C.
317 * som.c: Convert to ISO C.
318 * som.h: Convert to ISO C.
319 * srec.c: Convert to ISO C.
320 * stabs.c: Convert to ISO C.
321 * sunos.c: Convert to ISO C.
322 * tekhex.c: Convert to ISO C.
323 * versados.c: Convert to ISO C.
324 * version.h: Convert to ISO C.
325 * xcoff-target.h: Convert to ISO C.
326 * xcofflink.c: Convert to ISO C.
327 * xsym.c: Convert to ISO C.
328 * xsym.h: Convert to ISO C.
329
330 2005-04-08 Paul Brook <paul@codesourcery.com>
331
332 * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
333 (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
334 (ARM2THUMB_PIC_GLUE_SIZE): Define.
335 (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
336 (elf32_arm_to_thumb_stub): Create PIC stubs.
337 (record_arm_to_thumb_glue): Use different stub size for relocatable
338 images.
339
340 2005-04-05 Alan Modra <amodra@bigpond.net.au>
341
342 * elf64-ppc.c (dec_dynrel_count): New function split out from
343 ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
344 (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
345 (ppc64_elf_tls_optimize): Likewise.
346
347 2005-04-05 Mark Kettenis <kettenis@gnu.org>
348
349 * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from
350 CORE_WCOOKIE_OFFSET.
351 (SPARC64_WCOOKIE_OFFSET): New.
352 (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64.
353
354 2005-04-05 Nick Clifton <nickc@redhat.com>
355
356 * po/rw.po: New translation: Kinyarwanda
357 * configure.in (ALL_LINGUAS): Add rw
358 * configure: Regenerate.
359
360 2005-04-05 Richard Sandiford <rsandifo@redhat.com>
361
362 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
363 (_bfd_mips_elf_section_from_shdr): Use it to check for recognized
364 SHT_MIPS_OPTIONS names. Allow all sections with unrecognised
365 section flags.
366 (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
367 to check for SHT_MIPS_OPTIONS sections.
368 (_bfd_mips_elf_set_section_contents): Likewise.
369
370 2005-04-04 Eric Christopher <echristo@redhat.com>
371
372 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
373 Clean up gp handling code.
374
375 2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
376
377 * elf.c (bfd_elf_set_group_contents): Ignore linker created
378 group section.
379 (assign_section_numbers): Accept link_info. Check SHT_GROUP
380 sections for relocatable files only. Remove the linker created
381 group sections.
382 (_bfd_elf_compute_section_file_positions): Pass link_info to
383 assign_section_numbers.
384
385 * elfxx-ia64.c (elfNN_ia64_object_p): New.
386 (elf_backend_object_p): Defined.
387
388 2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
389
390 * elf-bfd.h (elf_section_data): Use (sec) instead of sec.
391
392 2005-04-03 Fred Fish <fnf@specifixinc.com>
393
394 * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
395 dwarf_ranges_size members.
396 (struct comp_unit): Add base_address member.
397 (struct funcinfo): Replace low/high members with an arange.
398 (arange_add): Replace incoming "unit" parameter with "abfd" and
399 "first_arange" pointers. Reorganize/rewrite function body.
400 (decode_line_info): Change arange_add call to pass bfd and arange
401 pointers.
402 (lookup_address_in_line_info_table): Use arange list instead of
403 individual low/high members. Walk function's arange list to find
404 lowest PC in list, to test for overlapping functions.
405 (read_debug_ranges): New function, reads the debug_ranges section.
406 (lookup_address_in_function_table): Use arange list instead of
407 individual low/high members. Rewrite to find smallest range that
408 matches.
409 (read_rangelist): Read a given rangelist from debug_ranges.
410 (scan_unit_for_functions): Use arange list instead of individual
411 low/high members. Handle a DW_AT_ranges attribute.
412 (parse_comp_unit): Use arange list instead of individual low/high
413 members. Save comp unit base address. Handle a DW_AT_ranges
414 attribute.
415
416 2005-04-01 H.J. Lu <hongjiu.lu@intel.com>
417
418 * elf.c (assign_section_numbers): Really use the kept section.
419
420 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
421
422 * elf-bfd.h (_bfd_elf_check_kept_section): New.
423
424 * elf.c (assign_section_numbers): When sh_link points to a
425 discarded section, call _bfd_elf_check_kept_section to see if
426 the kept section can be used. Otherwise reject sh_link
427 pointing to discarded section.
428
429 * elflink.c (_bfd_elf_check_kept_section): New.
430 (elf_link_input_bfd): Use it.
431
432 2005-04-01 Alan Modra <amodra@bigpond.net.au>
433
434 * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
435 that we no longer need.
436
437 2005-04-01 Alan Modra <amodra@bigpond.net.au>
438
439 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
440 rather than 0.
441 (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.
442
443 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
444
445 * elf.c (assign_section_numbers): Fix a typo.
446
447 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
448
449 * elflink.c (elf_link_input_bfd): Remove the extra `\n' in
450 error message.
451 (_bfd_elf_section_already_linked): Likewise.
452
453 2005-03-31 Jerome Guitton <guitton@gnat.com>
454
455 * config.in: Regenerate.
456
457 2005-03-31 Jerome Guitton <guitton@gnat.com>
458
459 * config.in (HAVE_DECL_BASENAME): New configure macro.
460 * configure.in: Check for basename.
461 * configure: Regenerate.
462
463 2005-03-30 Julian Brown <julian@codesourcery.com>
464
465 * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
466 bfd_elf32_is_arm_mapping_symbol_name.
467 * bfd-in2.h: Regenerate.
468 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
469 bfd_elf32_is_arm_mapping_symbol_name.
470 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
471 bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
472 (arm_elf_find_function): Likewise.
473 (elf32_arm_output_symbol_hook): Likewise.
474
475 2005-03-30 Julian Brown <julian@codesourcery.com>
476
477 * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
478 * bfd-in2.h: Regenerate.
479 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
480 bfd_elf32_is_arm_mapping_symbol_name.
481 (elf32_arm_output_symbol_hook): Likewise.
482 (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
483 mapping symbols.
484 (is_arm_mapping_symbol_name): Function moved from here...
485 * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
486 and made global.
487
488 2005-03-29 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
489
490 * configure.in: Check for ffs decl and alphabetize.
491 * config.in: Regenerate.
492 * configure: Regenerate.
493 * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and
494 alphabetize.
495
496 2005-03-29 Fred Fish <fnf@specifixinc.com>
497
498 * dwarf2.c (struct comp_unit): Fix typo.
499 (scan_unit_for_functions): Remove unused local variable "name"
500 and dead code that set it.
501
502 2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
503 Phil Blundell <philb@gnu.org>
504
505 * bfd-in2.h, libbfd.h: Regenerated.
506 * reloc.c: Add ARM TLS relocations.
507 * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
508 relocations.
509 (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
510 (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
511 (elf32_arm_tls_ie32_howto): New.
512 (elf32_arm_howto_from_type): Support TLS relocations.
513 (elf32_arm_reloc_map): Likewise.
514 (elf32_arm_reloc_type_lookup): Likewise.
515 (TCB_SIZE): Define.
516 (struct elf32_arm_obj_tdata): New.
517 (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
518 (elf32_arm_mkobject): New function.
519 (struct elf32_arm_relocs_copied): Add pc_count.
520 (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
521 (GOT_TLS_IE): Define.
522 (struct elf32_arm_link_hash_table): Add tls_ldm_got.
523 (elf32_arm_link_hash_newfunc): Initialize tls_type.
524 (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
525 (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
526 (dtpoff_base, tpoff): New functions.
527 (elf32_arm_final_link_relocate): Handle TLS relocations.
528 (IS_ARM_TLS_RELOC): Define.
529 (elf32_arm_relocate_section): Warn about TLS mismatches.
530 (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
531 (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
532 TLS relocations and pc_count.
533 (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
534 (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
535 calls.
536 (elf32_arm_size_dynamic_sections): Handle TLS.
537 (elf32_arm_finish_dynamic_symbol): Likewise.
538 (bfd_elf32_mkobject): Define.
539
540 2005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
541
542 * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
543 relocation types. Don't count relocations which will use a PLT.
544
545 2005-03-29 Joel Brobecker <brobecker@gnat.com>
546
547 * elf.c (elfcore_grok_nto_status): Print tid as long.
548 (elfcore_grok_nto_regs): Likewise.
549
550 2005-03-29 Joel Brobecker <brobecker@gnat.com>
551
552 * irix-core.c: Remove some unnecessary prototypes.
553
554 2005-03-28 Joel Brobecker <brobecker@adacore.com>
555
556 * irix-core.c: Convert to ISO C.
557
558 2005-03-28 Joel Brobecker <brobecker@adacore.com>
559
560 * irix-core.c (do_sections): Replace + by | in expression.
561 (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
562 to unused parameters to avoid a compiler warning.
563
564 2005-03-28 Mark Kettenis <kettenis@gnu.org>
565
566 * netbsd-core.c: Convert to ISO C. Fix formatting.
567
568 2005-03-24 Eric Christopher <echristo@redhat.com>
569
570 * elfxx-mips.c: Revert previous patch.
571
572 2005-03-24 Nick Clifton <nickc@redhat.com>
573
574 * targets.c (_bfd_target_vector): Only include the
575 bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
576 all targets enabled.
577
578 2005-03-24 James E Wilson <wilson@specifixinc.com>
579
580 * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
581 (BFD64_BACKENDS): Add elf32-ia64.lo.
582 * Makefile.in: Regenerate.
583
584 2005-03-23 Eric Christopher <echristo@redhat.com>
585
586 * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
587 (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
588 after emitting relocation.
589 (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
590 (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
591 and readonly_reloc.
592
593 2005-03-23 Mike Frysinger <vapier@gentoo.org>
594 Nick Clifton <nickc@redhat.com>
595
596 * config.bfd: Accept any C library to accompany a GNU Linux
597 implementation, not just the GNU C library.
598 * configure.in: Likewise.
599 * configure: Regenerate.
600
601 2005-03-22 H.J. Lu <hongjiu.lu@intel.com>
602
603 * bfd-in.h (_bfd_elf_provide_symbol): New.
604 * bfd-in2.h: Regenerated.
605
606 * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
607 (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
608 of set_linker_sym.
609
610 * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
611 from elf32-ppc.c.
612
613 2005-03-22 Hans-Peter Nilsson <hp@axis.com>
614
615 * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
616
617 2005-03-22 Bob Wilson <bob.wilson@acm.org>
618
619 * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
620 xtensa_sysreg_lookup_name, xtensa_interface_lookup,
621 xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
622 (xtensa_opcode_decode): Rearrange code.
623
624 2005-03-22 Nick Clifton <nickc@redhat.com>
625
626 * binary.c: Convert to ISO C90 formatting.
627 * coff-arm.c: Convert to ISO C90 formatting.
628 * coffgen.c: Convert to ISO C90 formatting.
629 * elf32-gen.c: Convert to ISO C90 formatting.
630 * elf64-gen.c: Convert to ISO C90 formatting.
631 * hash.c: Convert to ISO C90 formatting.
632 * ieee.c: Convert to ISO C90 formatting.
633
634 2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
635
636 * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
637 unresolved symbols in R_ARM_NONE relocations.
638
639 2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
640
641 * elf32-arm.c (elf32_arm_final_link_relocate): Add
642 UNRESOLVED_RELOC_P argument. Set it appropriately.
643 (elf32_arm_relocate_section): Update call to
644 elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
645 unresolved_reloc instead.
646
647 2005-03-23 Alan Modra <amodra@bigpond.net.au>
648
649 * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
650 .gnu.warning.* sections.
651
652 2005-03-22 Alan Modra <amodra@bigpond.net.au>
653
654 * elf32-ppc.c (elf_linker_section_pointers_t): Remove
655 written_address_p.
656 (ppc_elf_create_linker_section): Don't try to reuse existing section.
657 (elf_create_pointer_linker_section): Delete info parm. Don't make
658 h dynamic. Don't set written_address_p.
659 (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
660 (bfd_put_ptr): Delete.
661 (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
662 Always write section contents. Assert global sym is def_regular.
663 Use offset bottom bit as a written flag.
664 (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
665 calls.
666
667 2005-03-22 Alan Modra <amodra@bigpond.net.au>
668
669 * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
670 (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
671 and end syms.
672
673 2005-03-21 Nick Clifton <nickc@redhat.com>
674
675 * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
676 targets.
677 (t2a1_bx_pc_insn): Likewise.
678 (t2a2_noop_insn): Likewise.
679 (t2a3_b_insn): Likewise.
680 (t2a1_push_insn): Likewise.
681 (t2a2_ldr_insn): Likewise.
682 (t2a3_mov_insn): Likewise.
683 (t2a4_bx_insn): Likewise.
684 (t2a5_pop_insn): Likewise.
685 (t2a6_bx_insn): Likewise.
686 (coff_arm_relocate_section): Only declare the high_address
687 variable for non WINCE targets.
688
689 2005-03-22 Alan Modra <amodra@bigpond.net.au>
690
691 * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
692 SEC_LINKER_CREATED. Attach to dynobj.
693 (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
694
695 2005-03-21 Alan Modra <amodra@bigpond.net.au>
696
697 * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
698 sym_offset. Add name, bss_name, sym_name, sym_val.
699 (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
700 Add sdata array of elf_linker_section_t.
701 (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
702 (enum elf_linker_section_enum): Delete.
703 (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
704 (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
705 the special sections are needed. Adjust htab->sdata refs.
706 Ensure dynobj is set in sreloc code.
707 (ppc_elf_size_dynamic_sections): Strip sdata sections.
708 (ppc_elf_set_sdata_syms): New function.
709 (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
710 (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
711 sym_val instead of sym_hash.
712 * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
713
714 2005-03-21 Alan Modra <amodra@bigpond.net.au>
715
716 * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
717 (ppc_elf_merge_private_bfd_data): Likewise.
718
719 2005-03-21 Alan Modra <amodra@bigpond.net.au>
720
721 * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
722 (ppc_elf_create_linker_section): Don't create rel_section.
723 (elf_create_pointer_linker_section): Don't size relocs.
724 (elf_finish_pointer_linker_section): Remove relative_reloc parm.
725 Don't generate relocs.
726 (ppc_elf_relocate_section): Adjust calls to
727 elf_finish_pointer_linker_section.
728
729 2005-03-21 Alan Modra <amodra@bigpond.net.au>
730
731 * elf32-ppc.c (is_ppc_elf_target): New function.
732 (ppc_elf_merge_private_bfd_data): Use it rather than just testing
733 for bfd_target_elf_flavour. Do this test before endian check.
734 (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
735 (ppc_elf_size_dynamic_sections): Likewise.
736
737 2005-03-20 H.J. Lu <hongjiu.lu@intel.com>
738
739 * elf-bfd.h (elf_backend_data): Add int to
740 elf_backend_section_from_shdr.
741 (bfd_elf_section_data): Update comment for this_idx.
742 (_bfd_elf_make_section_from_shdr): Add int.
743 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
744
745 * elf.c (_bfd_elf_make_section_from_shdr): Take section index
746 and use it to set this_idx in bfd_elf_section_data.
747 (bfd_section_from_shdr): Pass shindex to
748 _bfd_elf_make_section_from_shdr.
749 (_bfd_elf_section_from_bfd_section): Use this_idx in
750 bfd_elf_section_data to find section index.
751
752 * elf32-arm.c (elf32_arm_section_from_shdr): Take section
753 index and pass it to _bfd_elf_make_section_from_shdr.
754 * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
755 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
756 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
757 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
758 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
759 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
760 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
761 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
762 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
763
764 2005-03-19 Danny Smith <dannysmith@users.sourceforge.net>
765 Ross Ridge <rridge@csclub.uwaterloo.ca>
766
767 * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
768 character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
769 cases. Add comment.
770
771 2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
772
773 * elflink.c (elf_mark_used_section): Remove check for special
774 sections.
775
776 2005-03-18 Andreas Schwab <schwab@suse.de>
777
778 * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
779 from bfd_vma to ia64_insn, remove broken cast.
780
781 2005-03-18 C Jaiprakash <cjaiprakash@noida.hcltech.com>
782
783 * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
784 (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
785 elf_m68k_finish_dynamic_sections): Use it.
786
787 2005-03-17 Paul Brook <paul@codesourcery.com>
788 Dan Jacobowitz <dan@codesourcery.com>
789 Mark Mitchell <mark@codesourcery.com>
790
791 * elf32-arm.c (elf32_arm_modify_segment_map): New function.
792 (elf32_arm_additional_program_headers): Likewise.
793 (elf_backend_modify_segment_map): Define.
794 (elf_backend_additional_program_headers): Likewise.
795 (elf32_arm_symbian_modify_segment_map): Use
796 elf32_arm_modify_segment_map.
797
798 2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
799
800 * elflink.c (elf_mark_used_section): Check bfd_is_const_section
801 for special sections.
802
803 2005-03-18 Alan Modra <amodra@bigpond.net.au>
804
805 * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
806 * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
807 section_sym_count param, and return number of section symbols.
808 (bfd_elf_size_dynamic_sections): Clear section symbol area of
809 .dynsym contents. Don't bother calling swap_symbol_out on the
810 first all-zero dynsym.
811 (elf_mark_used_section): Formatting. Avoid twiddling flags in
812 special sections like bfd_abs_section.
813 (bfd_elf_gc_sections): Spelling fix.
814
815 2005-03-16 Fred Fish <fnf@specifixinc.com>
816
817 PR binutils/790
818 * dwarf2.c (read_indirect_string): Fix apparent typo, check
819 dwarf_str_buffer allocation, not dwarf_abbrev_buffer.
820
821 2005-03-16 H.J. Lu <hongjiu.lu@intel.com>
822
823 * elflink.c (elf_mark_used_section): New.
824 (bfd_elf_gc_sections): Call elf_gc_mark_section for
825 non-relocatable link if we don't do GC.
826
827 2005-03-16 Nick Clifton <nickc@redhat.com>
828 Ben Elliston <bje@au.ibm.com>
829
830 * configure.in (werror): New switch: Add -Werror to the
831 compiler command line. Enabled by default. Disable via
832 --disable-werror.
833 * configure: Regenerate.
834
835 2005-03-16 Nick Clifton <nickc@redhat.com>
836
837 * ecoff.c: Convert to ISO C90 formatting.
838
839 2005-03-16 Alan Modra <amodra@bigpond.net.au>
840
841 * elf32-ppc.c: Divide file into general and linker specific
842 functions. Sort linker functions into roughly the order in which
843 they are called by the ELF linker code.
844
845 2005-03-16 Alan Modra <amodra@bigpond.net.au>
846
847 * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
848 on section. Correct comment, and add FIXME.
849 (ppc_elf_additional_program_headers): Don't bump header count for
850 interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
851 (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
852 do allocate memory if they need it.
853
854 2005-03-15 Mikkel Krautz <krautz@gmail.com>
855
856 * config.bfd (x86_64-elf): Add target.
857
858 2005-03-15 Alan Modra <amodra@bigpond.net.au>
859
860 * po/es.po: Commit new Spanish translation.
861
862 2005-03-14 H.J. Lu <hongjiu.lu@intel.com>
863
864 * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
865 for global symbol when reporting overflow.
866
867 2005-03-11 Jakub Jelinek <jakub@redhat.com>
868
869 * libbfd-in.h (_bfd_ar_spacepad): New prototype.
870 * libbfd.h: Rebuilt.
871 * archive.c (_bfd_ar_spacepad): New function.
872 (_bfd_construct_extended_name_table, _bfd_write_archive_contents,
873 bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
874 coff_write_armap): Use it.
875 (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large
876 uid/gid support.
877 * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
878
879 2005-03-10 Mark Kettenis <kettenis@gnu.org>
880
881 * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
882 has_table to the start of the function.
883
884 2005-03-10 Ben Elliston <bje@au.ibm.com>
885
886 * archive.c: Include hashtab.h.
887 (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
888 (_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
889 (hash_file_ptr): New function.
890 (eq_file_ptr): Likewise.
891 (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
892 * libbfd-in.h: Include hashtab.h.
893 (struct artdata): Change `cache' member type to htab_t.
894 * libbfd.h: Rebuild.
895
896 2005-03-08 Daniel Jacobowitz <dan@codesourcery.com>
897
898 * configure.in: Bump version to 2.16.90.
899 * configure: Regenerated.
900
901 2005-03-07 Jakub Jelinek <jakub@redhat.com>
902
903 * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
904 close is a function like macro in system headers.
905
906 2005-03-07 Alan Modra <amodra@bigpond.net.au>
907
908 PR ld/778
909 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
910 _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
911
912 2005-03-06 Alan Modra <amodra@bigpond.net.au>
913
914 * elf.c (elfcore_grok_win32pstatus): Warning fixes.
915
916 2005-03-05 Alan Modra <amodra@bigpond.net.au>
917
918 * po/bfd.pot: Regenerate.
919
920 2005-03-05 Alan Modra <amodra@bigpond.net.au>
921
922 * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
923 with is_func.
924 (func_desc_adjust): Force dot-syms local in executables as well
925 as shared libs.
926
927 2005-03-04 David Daney <ddaney@avtrex.com>
928
929 * elfxx-mips.c (mips_elf_calculate_relocation): Handle special
930 '__gnu_local_gp' symbol used by gas -mno-shared.
931
932 2005-03-03 H.J. Lu <hongjiu.lu@intel.com>
933
934 * elf-bfd.h (elf_backend_data): Add "const char *" to
935 elf_backend_section_from_phdr.
936
937 * elf.c (bfd_section_from_phdr): Pass "proc" to the
938 elf_backend_section_from_phdr hook.
939
940 2005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
941 Joseph Myers <joseph@codesourcery.com>
942
943 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
944 (struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
945 and tls_ldm_offset.
946 (struct mips_elf_got_per_bfd_arg): Add global_count.
947 (struct mips_elf_count_tls_arg): New.
948 (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
949 (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
950 (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
951 (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
952 (TLS_RELOC_P): Define.
953 (TP_OFFSET, DTP_OFFSET): Define.
954 (dtprel_base, tprel_base): New functions.
955 (mips_elf_link_hash_newfunc): Initialize tls_type.
956 (mips_elf_got_entry_hash, mips_elf_got_entry_eq)
957 (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
958 TLS entries.
959 (mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
960 (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
961 (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
962 (mips_tls_got_index): New functions.
963 (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
964 arguments. Pass them to mips_elf_create_local_got_entry. Use
965 mips_tls_got_index.
966 (mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
967 Handle TLS entries.
968 (mips_elf_got_page, mips_elf_got16_entry): Update calls to
969 mips_elf_create_local_got_entry.
970 (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
971 arguments. Handle TLS entries.
972 (mips_elf_sort_hash_table_f): Add non-TLS assertions.
973 (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle
974 TLS entries.
975 (mips_elf_record_global_got_symbol): Likewise.
976 (mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
977 Count TLS entries.
978 (mips_elf_merge_gots): Handle TLS entries when merging.
979 (mips_elf_initialize_tls_index): New function.
980 (mips_elf_set_global_got_offset): Handle TLS entries.
981 (mips_elf_adjust_gp): Handle TLS.
982 (mips_elf_multi_got): Remove redundant call to
983 mips_elf_resolve_final_got_entries. Initialize global_count.
984 Correct a comment. Initialize new TLS members of mips_got_info.
985 Assign TLS GOT indexes for new GOTs.
986 (mips_elf_create_got_section): Initialize new TLS members of
987 mips_got_info.
988 (mips_elf_calculate_relocation): Handle TLS relocs.
989 (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed
990 functions.
991 (_bfd_mips_elf_always_size_sections): Handle TLS.
992 (_bfd_mips_elf_size_dynamic_sections): Likewise.
993 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to
994 changed functions.
995 (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
996 (_bfd_mips_elf_hide_symbol): Handle TLS.
997 * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
998 (mips_reloc_map): Add TLS relocs.
999 * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
1000 * elf64-mips.c (mips_elf64_howto_table_rel)
1001 (mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
1002 * reloc.c: Define new MIPS TLS relocations.
1003 * libbfd.h, bfd-in2.h: Regenerated.
1004
1005 2005-03-02 Jan Beulich <jbeulich@novell.com>
1006
1007 * Makefile.am: Add dependency of cache.o on libiberty.h.
1008 * cache.c: Include libiberty.h.
1009 (bfd_open_file): Use unlink_if_ordinary instead of unlink.
1010
1011 2005-03-01 Zack Weinberg <zack@codesourcery.com>
1012
1013 * elf.c (bfd_section_from_shdr <default case>): Call
1014 elf_backend_section_from_shdr hook unconditionally, and return
1015 what it returns.
1016 (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
1017 * elfxx-target.h (elf_backend_section_from_shdr)
1018 (elf_backend_section_from_phdr): Default to
1019 _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
1020 respectively.
1021
1022 2005-03-01 Alan Modra <amodra@bigpond.net.au>
1023
1024 * targets.h: Typo fix.
1025 * bfd-in2.h: Regenerate.
1026
1027 * bout.c (b_out_write_object_contents): Don't use sizeof on host
1028 structs to size on-disk structures.
1029 (b_out_set_section_contents): Size the external struct, not the
1030 internal one for on-disk size.
1031 (b_out_sizeof_headers): Likewise.
1032
1033 2005-03-01 Alan Modra <amodra@bigpond.net.au>
1034
1035 * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
1036 entry points with the func descriptor as well as undefweak.
1037
1038 2005-02-28 Ross Ridge <rridge@csclub.uwaterloo.ca>
1039
1040 * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
1041 present when IMPORT_NAME_UNDOECRATE is used.
1042
1043 2005-02-28 H.J. Lu <hongjiu.lu@intel.com>
1044
1045 PR 757
1046 * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
1047 int.
1048
1049 * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
1050 to _bfd_elf_merge_symbol.
1051
1052 * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
1053 unsigned int to return the alignment of the old common symbol
1054 in the dynamic object.
1055 (_bfd_elf_add_default_symbol): Pass NULL to
1056 _bfd_elf_merge_symbol.
1057 (elf_link_add_object_symbols): Pass &old_alignment to
1058 _bfd_elf_merge_symbol. Get the alignment of the new common
1059 symbol in the dynamic object.
1060
1061 2005-02-24 Ben Elliston <bje@au.ibm.com>
1062
1063 * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
1064 * format.c (bfd_check_format_matches): Likewise.
1065 * archive.c (BFD_GNU960_ARMAG): Likewise.
1066 (bfd_generic_archive_p): Likewise.
1067 (_bfd_write_archive_contents): Likewise.
1068
1069 2005-02-24 H.J. Lu <hongjiu.lu@intel.com>
1070
1071 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
1072 * configure: Regenerate.
1073
1074 2005-02-24 Julian Brown <julian@sirius.codesourcery.com>
1075
1076 * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
1077 COMDAT group sections to have default visibility.
1078
1079 2005-02-24 Alan Modra <amodra@bigpond.net.au>
1080
1081 * coffcode.h (coff_print_aux): Warning fix.
1082 * elf-m10300.c (mn10300_elf_relax_section): Use section->id
1083 instead of section pointer to identify.
1084 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. Allocate
1085 the correct size buffer for local sym mangling too.
1086 (h8300_bfd_link_add_symbols): Likewise.
1087 * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
1088 warning.
1089 * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
1090 * elf32-xtensa.c (literal_value_hash): Warning fix.
1091 * versados.c (process_otr): Warning fix.
1092 (versados_canonicalize_reloc): Likewise.
1093 * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
1094 * vms.c (fill_section_ptr): Warning fix.
1095
1096 2005-02-23 H.J. Lu <hongjiu.lu@intel.com>
1097
1098 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
1099 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
1100
1101 2005-02-23 Nick Clifton <nickc@redhat.com>
1102
1103 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise
1104 the relvaddr field of the Elf32_crinfo structure.
1105
1106 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise
1107 variables that are passed by reference to
1108 m68hc11_get_relocation_value in case that function does not
1109 initialise them.
1110
1111 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated
1112 return statements and replace with a single return at the end of
1113 the function. This helps pacify the flow analysis code in gcc 4.0.
1114
1115 * elf.c (_bfd_elf_compute_section_file_positions): Initialise
1116 strtab to avoid compile time warning.
1117
1118 2005-02-23 Ben Elliston <bje@au.ibm.com>
1119
1120 * opncls.c (bfd_zalloc): Document this function.
1121
1122 2005-02-21 H.J. Lu <hongjiu.lu@intel.com>
1123
1124 * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
1125 SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
1126 Replace SEC_SHARED with SEC_COFF_SHARED.
1127 (styp_to_sec_flags): Likewise.
1128
1129 * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
1130 (TARGET_LITTLE_SYM): Likewise.
1131
1132 * section.c (SEC_ARCH_BIT_0): Removed.
1133 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
1134 SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
1135 (SEC_SHARED): Renamed to ...
1136 (SEC_COFF_SHARED): This.
1137 (SEC_BLOCK): Renamed to ...
1138 (SEC_TIC54X_BLOCK): This.
1139 (SEC_CLINK): Renamed to ...
1140 (SEC_TIC54X_CLINK): This.
1141 (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
1142 SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
1143 end.
1144 * bfd-in2.h: Regenerated.
1145
1146 2005-02-21 Fred Fish <fnf@specifixinc.com>
1147
1148 * dwarf2.c (find_abstract_instance_name): Call recursively
1149 to handle a DW_AT_specification.
1150
1151 2005-02-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1152
1153 * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
1154 mips_elf_create_dynamic_relocation,
1155 _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
1156 Remove #if 0'd code.
1157
1158 2005-02-21 Alan Modra <amodra@bigpond.net.au>
1159
1160 * Makefile.am: Run "make dep-am"
1161 * Makefile.in: Regenerate.
1162
1163 2005-02-21 Alan Modra <amodra@bigpond.net.au>
1164
1165 * coffgen.c (bfd_coff_get_comdat_section): Check that
1166 coff_section_data isn't NULL.
1167
1168 2005-02-21 Alan Modra <amodra@bigpond.net.au>
1169
1170 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
1171 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
1172 * coff-rs6000.c (xcoff_write_armap_big): Warning fixes. Remove
1173 useless assignments.
1174 (xcoff_write_archive_contents_big): Likewise.
1175 (_bfd_xcoff_put_ldsymbol_name): Likewise.
1176 * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
1177 * coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
1178 * cofflink.c (process_embedded_commands): Warning fixes.
1179 * cpu-arm.c: Delete unnecessary prototypes. Convert to C90.
1180 Warning fixes.
1181 * dwarf2.c: Warning fixes.
1182 * elf-bfd.h: Likewise.
1183 * elf-eh-frame.c: Likewise.
1184 * elf-strtab.c: Likewise.
1185 * elf.c: Likewise.
1186 * elf32-m68k.c: Likewise.
1187 * elf32-ppc.c: Likewise.
1188 * elf32-sh-symbian.c: Likewise.
1189 * elf32-sh.c: Delete unnecessary prototypes. Warning fixes.
1190 * elf64-sh64.c: Likewise.
1191 * peicode.h: Likewise.
1192 * elf64-mmix.c: Warning fixes.
1193 * elfcode.h: Likewise.
1194 * elfxx-mips.c: Likewise.
1195 * libbfd-in.h: Likewise.
1196 * libbfd.c: Likewise.
1197 * mach-o.c: Likewise.
1198 * merge.c: Likewise.
1199 * mmo.c: Likewise.
1200 * opncls.c: Likewise.
1201 * pef.c: Likewise.
1202 * srec.c: Likewise.
1203 * vms-hdr.c: Likewise.
1204 * vms-tir.c: Likewise.
1205 * xtensa-isa.c: Likewise.
1206 * xtensa-modules.c: Likewise.
1207 * xsym.c: Likewise.
1208 (pstrcmp): Use correct choice of string lengths. Fix return value.
1209 (bfd_sym_module_name): Correct string length.
1210 * bfd-in2.h: Regenerate.
1211 * libbfd.h: Regenerate.
1212
1213 2005-02-17 Alexandre Oliva <aoliva@redhat.com>
1214
1215 * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
1216 uninitialized check_segment[1] in TLSMOFF case.
1217 Reported by Alan Modra.
1218 (elf32_frv_relocate_section): Improve errors and warnings.
1219
1220 2005-02-17 Alan Modra <amodra@bigpond.net.au>
1221
1222 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
1223
1224 2005-02-16 Alan Modra <amodra@bigpond.net.au>
1225
1226 * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
1227 * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
1228 * pef.c (bfd_pef_scan): Don't ignore return value of
1229 bfd_pef_scan_start_address.
1230 * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
1231 bfd_mach_o_scan_start_address.
1232 * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
1233 * elfxx-mips.c: Remove unnecessary prototypes.
1234 (sort_dynamic_relocs_64): Abort if not BFD64.
1235
1236 2005-02-16 Alan Modra <amodra@bigpond.net.au>
1237
1238 * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
1239 Skip toc reloc adjust if reloc_count is zero.
1240
1241 2005-02-15 Nigel Stephens <nigel@mips.com>
1242 Maciej W. Rozycki <macro@mips.com>
1243
1244 * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
1245 reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
1246 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
1247 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
1248 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
1249 dst_mask.
1250 (mips16_gprel_reloc): Remove bit shuffling; call
1251 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
1252 and _bfd_mips16_elf_reloc_shuffle() instead.
1253 (mips16_reloc_map): New reloc map for MIPS16 relocs.
1254 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
1255 relocs.
1256 (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
1257 elf_mips16_howto_table_rel.
1258 * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
1259 MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
1260 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
1261 (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
1262 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
1263 dst_mask.
1264 (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
1265 reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
1266 R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
1267 placeholders.
1268 (mips16_gprel_reloc): Remove bit shuffling; call
1269 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
1270 and _bfd_mips16_elf_reloc_shuffle() instead.
1271 (mips16_reloc_map): New reloc map for MIPS16 relocs.
1272 (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
1273 relocs.
1274 (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
1275 mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
1276 * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
1277 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
1278 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
1279 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
1280 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
1281 dst_mask.
1282 (mips16_gprel_reloc): Remove bit shuffling; call
1283 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
1284 and _bfd_mips16_elf_reloc_shuffle() instead.
1285 (mips16_reloc_map): New reloc map for MIPS16 relocs.
1286 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
1287 relocs.
1288 (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
1289 elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
1290 * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
1291 handle bit shuffling for MIPS16 relocs.
1292 (_bfd_mips16_elf_reloc_shuffle): Likewise.
1293 (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
1294 and _bfd_mips16_elf_reloc_shuffle().
1295 (_bfd_mips_elf_generic_reloc): Likewise.
1296 (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
1297 and R_MIPS16_LO16.
1298 (mips_elf_obtain_contents): Remove bit shuffling.
1299 (mips_elf_perform_relocation): Likewise; call
1300 _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
1301 instead.
1302 (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
1303 and R_MIPS16_LO16.
1304 * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
1305 (_bfd_mips16_elf_reloc_shuffle): Likewise.
1306 * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
1307 (BFD_RELOC_MIPS16_HI16_S): Likewise.
1308 (BFD_RELOC_MIPS16_LO16): Likewise.
1309 * bfd-in2.h: Regenerate.
1310 * libbfd.h: Regenerate.
1311
1312 2005-02-15 Jan Beulich <jbeulich@novell.com>
1313
1314 * elfxx-ia64.c (ia64_howto_table): Correct strings for
1315 R_IA64_DTPMOD64[LM]SB.
1316
1317 2005-02-14 H.J. Lu <hongjiu.lu@intel.com>
1318
1319 * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
1320 backward branch in the same section.
1321 (elfNN_ia64_relocate_section): Inform users that the input
1322 section is too big to relax br instruction when overflow
1323 happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
1324 and R_IA64_PCREL21F.
1325
1326 2005-02-14 Orjan Friberg <orjanf@axis.com>
1327
1328 * elfcore.h (elf_core_file_p): Move the call to
1329 elf_backend_object_p to allow the correct machine to be set before
1330 processing the program headers.
1331
1332 2005-02-14 Nick Clifton <nickc@redhat.com>
1333
1334 PR binutils/716
1335 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
1336 aware flag from the input bfd to the output bfd.
1337
1338 2005-02-11 Maciej W. Rozycki <macro@mips.com>
1339
1340 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
1341 R_MIPS_LITERAL relocations for external symbols.
1342 * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
1343 * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
1344
1345 2005-02-11 H.J. Lu <hongjiu.lu@intel.com>
1346
1347 * bfd-in2.h: Rebuilt.
1348
1349 2005-02-11 Paul Brook <paul@codesourcery.com>
1350
1351 * elf-bfd.h (struct elf_link_hash_table): Add
1352 is_relocatable_executable.
1353 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
1354 * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
1355 symbols in relocatable executables.
1356 (bfd_elf_record_link_assignment): Create dynamic section symbols in
1357 relocatable executables.
1358 (_bfd_elf_link_renumber_dynsyms): Ditto.
1359 (bfd_elf_final_link): Ditto.
1360 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
1361 relocations into relocatable executables.
1362 (elf32_arm_check_relocs): Crate dynamic sections for relocatable
1363 executables. Also copy absolute relocations.
1364 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
1365 in relocatable executables.
1366 (allocate_dynrelocs): Copy relocations for relocatable executables.
1367 Output dynamic symbols for symbols defined in linker scripts.
1368
1369 2005-02-11 Nick Clifton <nickc@redhat.com>
1370
1371 * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
1372 to avoid a compile time warning.
1373
1374 * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
1375 BFD_ASSERT.
1376
1377 * coff-tic4x.c (coff_rtype_to_howto): Move definition before
1378 inclusion of coffcode.h so that it is actually picked up.
1379
1380 * coffcode.h (coff_std_swap_table): Add an unused attribute in
1381 case it is not used.
1382
1383 * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
1384 structure and macro.
1385
1386 * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
1387 array.
1388
1389 * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
1390 to protect the declaration of this array.
1391
1392 * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
1393 Avoid call to memcpy with a size of 0.
1394
1395 2005-02-12 Alan Modra <amodra@bigpond.net.au>
1396
1397 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
1398 old-style branches to undefined dot-symbols which will be
1399 satisfied by a plt call.
1400
1401 2005-02-11 Alan Modra <amodra@bigpond.net.au>
1402
1403 * elf64-ppc.c (move_plt_plist): New function, extracted from..
1404 (ppc64_elf_copy_indirect_symbol): ..here.
1405 (func_desc_adjust): Use move_plt_plist.
1406
1407 2005-02-10 Paul Brook <paul@codesourcery.com>
1408
1409 * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
1410
1411 2005-02-10 Paul Brook <paul@codesourcery.com>
1412
1413 * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
1414 symbols local.
1415 (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
1416 (elf_link_renumber_local_hash_table_dynsyms): New function.
1417 (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
1418
1419 2005-02-10 Jakub Jelinek <jakub@redhat.com>
1420
1421 * bfd-in.h (BFD_LINKER_CREATED): Define.
1422 * bfd-in2.h: Rebuilt.
1423 * elflink.c (bfd_elf_size_dynamic_sections): Disregard
1424 BFD_LINKER_CREATED bfds when determining input bfds without
1425 .note.GNU-stack section.
1426
1427 2005-02-10 Maciej W. Rozycki <macro@mips.com>
1428
1429 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
1430 * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
1431 relocations against external symbols unchanged.
1432
1433 2005-02-08 Paul Brook <paul@codesourcery.com>
1434
1435 * elflink.c (elf_link_input_bfd): Ignore symbols from null input
1436 sections.
1437
1438 2005-02-08 Hans-Peter Nilsson <hp@axis.com>
1439
1440 * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
1441 prefix here.
1442
1443 2005-02-07 Maciej W. Rozycki <macro@mips.com>
1444
1445 * elf64-mips.c: Fix formatting throughout.
1446
1447 2005-02-07 Maciej W. Rozycki <macro@mips.com>
1448
1449 * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
1450
1451 2005-02-07 Alexandre Oliva <aoliva@redhat.com>
1452
1453 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
1454 *ABS*/*UND* sections.
1455 (elf32_frv_relocate_section): Move zero-addend-required error...
1456 (_frv_emit_got_relocs_plt_entries): ... here. Report error for
1457 missing needed TLS section.
1458
1459 2005-02-07 Hans-Peter Nilsson <hp@axis.com>
1460
1461 * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
1462 being the last symbol.
1463 (aout_link_add_symbols): Just return TRUE if a warning
1464 symbol was last.
1465
1466 2005-02-07 Maciej W. Rozycki <macro@mips.com>
1467
1468 * elf32-mips.c (mips_elf_gprel32_reloc): Reject
1469 R_MIPS_GPREL32 relocations against external symbols.
1470 * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
1471 comment.
1472
1473 2005-02-07 Alan Modra <amodra@bigpond.net.au>
1474
1475 * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
1476 * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
1477 elf_string_from_elf_strtab.
1478 (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
1479 (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
1480 if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
1481 SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
1482 looking at cached symtab info first, before iterating over headers.
1483 For SHT_REL and SHT_RELA, load dynsymtab if needed.
1484 * elfcode.h (elf_object_p): Don't load section header stringtab
1485 specially.
1486
1487 2005-02-06 H.J. Lu <hongjiu.lu@intel.com>
1488
1489 * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
1490 against protected function when building shared library.
1491
1492 PR 584
1493 * elf64-x86-64.c (is_32bit_relative_branch): New.
1494 (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
1495 protected function symbol when building shared library for
1496 32bit relative branch instruction.
1497
1498 2005-02-06 Alan Modra <amodra@bigpond.net.au>
1499
1500 * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
1501 syms when doing a relocatable link.
1502 (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
1503 at u.def.section.
1504 (ppc64_elf_tls_setup): Likewise.
1505 (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
1506
1507 2005-02-04 Alan Modra <amodra@bigpond.net.au>
1508
1509 * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
1510 (link_hash_newfunc): Clear all locals using memset.
1511 (make_fdh): Remove flags param. Always create fake func desc
1512 weak. Link the descriptor with the code entry sym.
1513 (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
1514 (add_symbol_adjust): Adjust make_fdh call.
1515 (func_desc_adjust): Likewise. Twiddle any pre-existing fake
1516 descriptor to strong undefined if code entry is strong.
1517
1518 2005-02-04 Alan Modra <amodra@bigpond.net.au>
1519
1520 * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
1521 lookup here. Set to new before calling bfd_link_repair_undef_list.
1522 (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
1523
1524 2005-02-03 Alan Modra <amodra@bigpond.net.au>
1525
1526 * linker.c (_bfd_link_hash_newfunc): Set all local fields.
1527
1528 2005-02-03 Alan Modra <amodra@bigpond.net.au>
1529
1530 * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
1531 * elflink.c (elf_smash_syms): Restore symbols that were undefweak
1532 before the as-needed lib was loaded. Abort on unexpected refs.
1533
1534 2005-02-02 Alan Modra <amodra@bigpond.net.au>
1535
1536 * elflink.c (elf_smash_syms): Expand comments.
1537 (elf_link_add_object_symbols): Only call elf_smash_syms for
1538 as-needed dynamic objects.
1539
1540 * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
1541 everything, just the field specific to ia64.
1542 * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
1543
1544 2005-02-01 Alan Modra <amodra@bigpond.net.au>
1545
1546 * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
1547 (make_fdh): ..here. New function. Don't set BSF_OBJECT for
1548 undefined syms.
1549 (struct add_symbol_adjust_data): New.
1550 (add_symbol_adjust): Make an undefweak func desc for old ABI
1551 objects to link with --as-needed shared libs. Return fail status.
1552 Don't adjust old ABI func entry sym to weak if func desc syms
1553 isn't defined.
1554 (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
1555 and return status.
1556
1557 2005-02-01 Hans-Peter Nilsson <hp@axis.com>
1558
1559 * cpu-cris.c (get_compatible): Rearrange disabled code and comment
1560 for clarity.
1561
1562 2005-02-01 Alan Modra <amodra@bigpond.net.au>
1563
1564 * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
1565 * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
1566 remove anything but new and undefweak.
1567 * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
1568 existing _DYNAMIC.
1569 (_bfd_elf_create_dynamic_sections): Formatting.
1570 (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
1571 (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
1572 (struct elf_smash_data): New.
1573 (elf_smash_syms): New function.
1574 (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
1575 unneeded dynamic objects to loaded list.
1576 (elf_link_output_extsym): Don't handle as-needed here. Strip
1577 bfd_link_hash_new symbols.
1578 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1579 delref when dynindx is already -1.
1580 * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
1581 symbols.
1582 * elfxx-mips.c (mips_elf_output_extsym): Likewise.
1583
1584 2005-02-01 Ben Elliston <bje@au.ibm.com>
1585
1586 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
1587
1588 2005-02-01 Ben Elliston <bje@au.ibm.com>
1589
1590 * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
1591 bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
1592 coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
1593 coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
1594 cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
1595 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
1596 elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
1597 elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
1598 i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
1599 nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
1600 pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
1601 sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
1602 hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
1603 throughout. Similarly, collapse #if 1'd code.
1604
1605 2005-02-01 Ben Elliston <bje@au.ibm.com>
1606
1607 * elf-bfd.h (bfd_elf_discard_group): Remove.
1608 * elf.c (bfd_elf_discard_group): Likewise.
1609 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
1610
1611 2005-01-31 Richard Sandiford <rsandifo@redhat.com>
1612
1613 * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
1614 (_bfd_elf_eh_frame_address_size): Declare.
1615 * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
1616 (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
1617 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
1618 (elf_backend_eh_frame_address_size): Define.
1619 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
1620 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
1621 size from the new backend hook.
1622 (_bfd_elf_write_section_eh_frame): Likewise.
1623 (_bfd_elf_eh_frame_address_size): New function.
1624
1625 2005-01-31 Andrew Cagney <cagney@gnu.org>
1626
1627 * configure: Regenerate to track ../gettext.m4.
1628
1629 2005-01-31 Mark Mitchell <mark@codesourcery.com>
1630
1631 * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
1632 SHF_WRITE for .init_array, .fini_array, and .preinit_array.
1633
1634 2005-01-31 Nick Clifton <nickc@redhat.com>
1635
1636 * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
1637 sparc-lynxos, vax-vms) be obsolete.
1638
1639 2005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
1640
1641 * elf-bfd.h (struct elf_backend_data): Add minpagesize.
1642 * elf32-arm.c (ELF_MINPAGESIZE): Define.
1643 * elf32-ppc.c (ELF_MINPAGESIZE): Define.
1644 * elfcode.h (elf_object_p): Use minpagesize instead of
1645 maxpagesize.
1646 * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
1647 (elfNN_bed): Include ELF_MINPAGESIZE.
1648
1649 2005-01-28 Julian Brown <julian@codesourcery.com>
1650
1651 * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1652 * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1653 * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
1654 (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
1655 passing flag value from ld. Set flag value in global hash table entry.
1656 (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
1657 relocation.
1658
1659 2005-01-27 Andrew Cagney <cagney@gnu.org>
1660
1661 * configure: Regenerate to track ../gettext.m4 change.
1662
1663 2005-01-25 Mark Mitchell <mark@codesourcery.com>
1664
1665 * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
1666 SymbianOS.
1667
1668 2005-01-25 Alexandre Oliva <aoliva@redhat.com>
1669
1670 2004-12-10 Alexandre Oliva <aoliva@redhat.com>
1671 * elf32-frv.c (elf32_frv_relocate_section): Force local binding
1672 for TLSMOFF.
1673 * reloc.c: Add R_FRV_TLSMOFF.
1674 * elf32-frv.c (elf32_frv_howto_table): Likewise.
1675 (frv_reloc_map, frv_reloc_type_lookup): Map it.
1676 (elf32_frv_relocate_section): Handle it.
1677 (elf32_frv_check_relocs): Likewise.
1678 * libbfd.h, bfd-in2.h: Rebuilt.
1679 2004-11-26 Alexandre Oliva <aoliva@redhat.com>
1680 * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
1681 when given an undefweak TLS symbol. Fix constant TLS PLT entries
1682 such that they return the constant in gr9.
1683 (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
1684 symbols.
1685 (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
1686 too, such that they shrink on relaxation.
1687 (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
1688 marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
1689 (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
1690 if we can guarantee the use of 16-bit constants.
1691 2004-11-10 Alexandre Oliva <aoliva@redhat.com>
1692 Introduce TLS support for FR-V FDPIC.
1693 * reloc.c: Add TLS relocations.
1694 * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
1695 (elf32_frv_rel_tlsdesc_value_howto): New.
1696 (elf32_frv_rel_tlsoff_howto): New.
1697 (frv_reloc_map): Add new mappings.
1698 (struct frvfdpic_elf_link_hash_table): Add pointer to summary
1699 reloc information.
1700 (frvfdpic_dynamic_got_plt_info): New.
1701 (frvfdpic_plt_tls_ret_offset): New.
1702 (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
1703 (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
1704 (struct _frvfdpic_dynamic_got_plt_info): Likewise.
1705 (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
1706 section as local.
1707 (struct frvfdpic_relocs_info): Add TLS fields.
1708 (frvfdpic_relocs_info_hash): Warning clean up.
1709 (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
1710 (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
1711 (FRVFDPIC_TLS_BIAS): Define.
1712 (tls_biased_base): New.
1713 (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
1714 relocations.
1715 (frv_reloc_type_lookup): Likewise.
1716 (frvfdpic_info_to_howto_rel): Likewise.
1717 (elf32_frv_relocate_section): Likewise.
1718 (_frv_create_got_section): Create the PLT section here.
1719 (elf32_frvfdpic_create_dynamic_sections): Not here.
1720 (_frvfdpic_count_nontls_entries): Move out of...
1721 (_frvfdpic_count_got_plt_entries): ... here.
1722 (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
1723 (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
1724 support.
1725 (_frvfdpic_relax_tls_entries): New.
1726 (_frvfdpic_compute_got_alloc_data): Add TLS support.
1727 (_frvfdpic_get_tlsdesc_entry): New.
1728 (_frvfdpic_assign_got_entries): Add TLS support.
1729 (_frvfdpic_assign_plt_entries): Likewise.
1730 (_frvfdpic_reset_got_plt_entries): New.
1731 (_frvfdpic_size_got_plt): Move out of...
1732 (elf32_frvfdpic_size_dynamic_sections): ... here.
1733 (_frvfdpic_relax_got_plt_entries): New.
1734 (elf32_frvfdpic_relax_section): New.
1735 (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
1736 (elf32_frv_check_relocs): Add TLS support.
1737 (bfd_elf32_bfd_relax_section): Define for FDPIC.
1738 * libbfd.h, bfd-in2.h: Rebuilt.
1739
1740 2005-01-25 Alan Modra <amodra@bigpond.net.au>
1741
1742 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
1743 loadable reloc sections.
1744 (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
1745 (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
1746
1747 2005-01-25 Alan Modra <amodra@bigpond.net.au>
1748
1749 * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
1750 sections immediately when linking shared libs. Instead, wait until
1751 we know a lib is needed.
1752 (_bfd_elf_link_create_dynstrtab): Extract from..
1753 (_bfd_elf_link_create_dynamic_sections_): ..here.
1754 (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
1755 _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
1756 for non-existent .dynamic.
1757 (elf_link_output_extsym): Don't complain about undefined symbols
1758 in as-needed dynamic libs that aren't actually linked.
1759
1760 2005-01-24 Andrew Cagney <cagney@gnu.org>
1761
1762 * configure: Regenerate, ../gettext.m4 was updated.
1763
1764 2005-01-21 Ben Elliston <bje@au.ibm.com>
1765
1766 * aout-encap.c: Remove unused file.
1767
1768 2005-01-19 H.J. Lu <hongjiu.lu@intel.com>
1769
1770 PR 679
1771 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
1772 non-function symbols are local.
1773 (_bfd_elf_symbol_refs_local_p): Likewise.
1774
1775 2005-01-18 Alan Modra <amodra@bigpond.net.au>
1776
1777 * bfd.c (bfd_link_just_syms): Add abfd param.
1778 * bfd-in2.h: Regenerate.
1779
1780 2005-01-17 Richard Sandiford <rsandifo@redhat.com>
1781
1782 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
1783 (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
1784 instructions. If the amount of padding is known, reduce the size
1785 of the CIE or FDE by that amount.
1786
1787 2005-01-17 Richard Sandiford <rsandifo@redhat.com>
1788
1789 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
1790 augmentation_size. Use bfd_signed_vmas for data_align.
1791 * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
1792 (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
1793 functions. Don't read past the end of the enclosing CIE or FDE.
1794 (skip_bytes): New utility function.
1795 (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
1796 sanity checking.
1797 (_bfd_elf_write_section_eh_frame): Use new functions.
1798
1799 2005-01-17 Richard Sandiford <rsandifo@redhat.com>
1800
1801 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
1802 assert-style REQUIRE() macro to handle sanity checks.
1803
1804 2005-01-17 H.J. Lu <hongjiu.lu@intel.com>
1805
1806 * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
1807 (comp_unit): Here.
1808 (read_unsigned_leb128): Removed.
1809 (read_signed_leb128): Removed.
1810 (find_abstract_instance_name): Updated.
1811 (parse_comp_unit): Accept info_ptr_unit.
1812 (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
1813 comp unit and pass it to parse_comp_unit.
1814
1815 * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
1816 (read_signed_leb128): Moved to ...
1817 * libbfd.c: Here.
1818
1819 * libbfd-in.h (read_unsigned_leb128): New prototype.
1820 (read_signed_leb128): Likewise.
1821 * libbfd.h: Regenerated.
1822
1823 2005-01-17 Andrew Stubbs <andrew.stubbs@st.com>
1824 Nick Clifton <nickc@redhat.com>
1825
1826 * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
1827 arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
1828 arch_sh4a_nofpu_up in order to match the external names and make the
1829 testsuite's job easier.
1830 * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
1831 names.
1832 * bfd-in2.h: Regenerate.
1833
1834 2005-01-15 Andrew Cagney <cagney@gnu.org>
1835
1836 * bfd.m4: New file.
1837 * acinclude.m4: Move BFD_NEED_DECLARATION,
1838 BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
1839 the new file bfd.m4. Include ../bfd/bfd.m4.
1840 * configure: Re-generate.
1841
1842 2005-01-12 Alan Modra <amodra@bigpond.net.au>
1843
1844 * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
1845 (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
1846 reaching PLT.
1847 (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
1848 R_PPC_RELAX32PC_PLT.
1849
1850 2005-01-11 Alan Modra <amodra@bigpond.net.au>
1851
1852 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
1853 symbols.
1854 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
1855 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
1856 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
1857 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
1858 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
1859 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
1860 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
1861 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
1862 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
1863 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
1864 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
1865 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
1866 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
1867 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
1868
1869 2005-01-11 Alan Modra <amodra@bigpond.net.au>
1870
1871 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
1872 .dynsbss flags.
1873
1874 2005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
1875
1876 * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
1877 * bfd-in2.h: Regenerate.
1878 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
1879 to support these new machine values.
1880 * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
1881 the maxq10.
1882 (bfd_maxq_arch): Update values for the maxq20.
1883
1884 2005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1885
1886 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
1887 non-shared object, do not reserve space in .plt and .rela.plt for
1888 regular symbols neither defined nor referenced in shared objects.
1889
1890 2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
1891
1892 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
1893 to zero the structure.
1894 (create_got_section): Use BFD_ASSERT instead of abort.
1895 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
1896 'srelgot' fields.
1897 (create_got_section): New function.
1898 (sparc64_elf_create_dynamic_sections): Likewise.
1899 (sparc64_elf_check_relocs): Invoke create_got_section instead of
1900 _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
1901 (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
1902 (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
1903 (sparc64_elf_finish_dynamic_symbol): Likewise.
1904 (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
1905 (elf_backend_create_dynamic_sections): Define to
1906 sparc64_elf_create_dynamic_sections.
1907
1908 2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
1909
1910 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
1911 (elf_backend_omit_section_dynsym): Define to it.
1912 * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
1913 (elf_backend_omit_section_dynsym): Define to it.
1914
1915 2005-01-07 Jakub Jelinek <jakub@redhat.com>
1916
1917 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
1918 PT_DYNAMIC segment, unless .dynamic.
1919
1920 2005-01-06 Paul Brook <paul@codesourcery.com>
1921
1922 * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
1923 * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
1924 * configure: Regenerate.
1925 * elf32-arm.c: Add VxWorks target bfd.
1926 (USE_REL): Remove.
1927 (elf32_arm_link_hash_table): Add use_rel.
1928 (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
1929 elf32_arm_relocate_section): Replace USE_REL with runtime check.
1930 Correct offset calculation for RELA case.
1931 (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
1932 elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
1933 (elf32_arm_vxworks_link_hash_table_create): New function.
1934 * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
1935 (bfd_elf32_littlearm_vxworks_vec): Ditto.
1936 (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
1937
1938 2005-01-06 Alan Modra <amodra@bigpond.net.au>
1939
1940 * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
1941 multi_toc_needed.
1942 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
1943 (ppc64_elf_check_relocs): Update references to has_gp_reloc.
1944 (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
1945 (ppc64_elf_next_toc_section): Heed no_multi_toc.
1946 (ppc64_elf_reinit_toc): Set multi_toc_needed.
1947 (toc_adjusting_stub_needed): Rewrite.
1948 (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
1949 toc tests. Adjust for toc_adjusting_stub_needed changes.
1950 (ppc64_elf_size_stubs): Update references to has_gp_reloc.
1951 * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
1952 * section.c: Expand comment on backend bits.
1953 * bfd-in2.h: Regenerate.
1954 * libbfd.h: Regenerate.
1955
1956 2005-01-06 Alan Modra <amodra@bigpond.net.au>
1957
1958 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
1959 toc adjusting stub, do not test source section flags.
1960
1961 2005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1962
1963 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
1964 from STABS debugging sections again.
1965
1966 2005-01-05 Fred Fish <fnf@specifixinc.com>
1967
1968 * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
1969 (find_abstract_instance_name): New function.
1970 (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
1971 (scan_unit_for_functions): Handle DW_AT_abstract_origin.
1972 (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
1973
1974 2004-12-31 Paul Brook <paul@copdesourcery.com>
1975
1976 * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
1977
1978 2004-12-31 Alan Modra <amodra@bigpond.net.au>
1979
1980 * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
1981 Commit missing changes from 2004-12-22.
1982 * bfd-in2.h: Regenerate.
1983
1984 2004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
1985
1986 * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
1987
1988 2004-12-21 Kris Warkentin <kewarken@qnx.com>
1989
1990 * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
1991 Add 'base' argument for constructing register sections. Reformat.
1992 (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
1993 gp and fp regs. Reformat.
1994
1995 2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
1996
1997 * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
1998 * bfd-in2.h: Regenerate.
1999 * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
2000 (avr_reloc_map): Likewise.
2001 (avr_final_link_relocate): Likewise.
2002
2003 2004-12-22 Alan Modra <amodra@bigpond.net.au>
2004
2005 * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
2006 as-needed dynamic libs as undefined.
2007 (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
2008 libs when finding they are needed.
2009
2010 2004-12-20 Alan Modra <amodra@bigpond.net.au>
2011
2012 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
2013 (opd_entry_value): Use opd_relocs if available.
2014 (ppc64_elf_relocate_section): Don't set reloc_done. Instead
2015 copy .opd relocations to opd_relocs.
2016 (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
2017
2018 2004-12-16 Richard Sandiford <rsandifo@redhat.com>
2019
2020 * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
2021 * elf32-v850.c (v850_elf_howto_table): Add entry for
2022 R_V850_LO16_SPLIT_OFFSET.
2023 (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
2024 (v850_elf_perform_lo16_relocation): New function, extracted from...
2025 (v850_elf_perform_relocation): ...here. Use it to handle
2026 R_V850_LO16_SPLIT_OFFSET.
2027 (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
2028 R_V850_LO16_SPLIT_OFFSET.
2029 * libbfd.h, bfd-in2.h: Regenerate.
2030
2031 2004-12-14 P.J. Darcy <darcypj@us.ibm.com>
2032
2033 * config.bfd: Add s390x-ibm-tpf support.
2034
2035 2004-12-14 Tomer Levi <Tomer.Levi@nsc.com>
2036
2037 * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
2038 to prototype, to make hash info available.
2039 Prevent wrapped symbols from being adjusted twice.
2040
2041 2004-12-14 Richard Sandiford <rsandifo@redhat.com>
2042
2043 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
2044 overflow for calls to undefined weak symbols.
2045
2046 2004-12-11 Alan Modra <amodra@bigpond.net.au>
2047
2048 * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
2049 canonical sections syms have a name.
2050
2051 2004-12-11 Alan Modra <amodra@bigpond.net.au>
2052
2053 * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
2054 have been adjusted for output.
2055 (ppc64_elf_relocate_section): Mark sections with reloc_done.
2056
2057 2004-12-10 Alan Modra <amodra@bigpond.net.au>
2058
2059 * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
2060 add symtab_hdr param.
2061 (group_signature): Update calls.
2062 * elf-bfd.h (bfd_elf_sym_name): Update.
2063 * elf32-ppc.c (ppc_elf_relocate_section): Update.
2064 * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
2065 (ppc64_elf_relocate_section): Update.
2066 * elflink.c (elf_link_input_bfd): Update.
2067
2068 2004-12-10 Jakub Jelinek <jakub@redhat.com>
2069
2070 * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
2071 st_shndx on STT_SECTION sections.
2072
2073 2004-12-09 Daniel Jacobowitz <dan@codesourcery.com>
2074
2075 * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
2076 ELF section symbols.
2077
2078 2004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
2079
2080 * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
2081 return a real value, unless it is a PLT symbol.
2082 (mips_elf_perform_relocation): On the RM9000, turn a jal into a
2083 bal if possible.
2084
2085 * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
2086 R_MIPS_JALR entry to 0.
2087
2088 * archures.c: Define bfd_mach_mips9000.
2089 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
2090 (mips_set_isa_flags): Handle bfd_mach_mips9000.
2091 * cpu-mips.c (I_mips9000): Define.
2092 (arch_info_struct): Add case for bfd_mach_mips9000.
2093 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
2094 * bfd-in2.h: Regenerate.
2095
2096 2004-12-08 Ian Lance Taylor <ian@wasabisystems.com>
2097
2098 * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
2099 overflow.
2100
2101 2004-12-07 Ben Elliston <bje@gnu.org>
2102
2103 * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
2104
2105 2004-12-06 Daniel Jacobowitz <dan@debian.org>
2106
2107 Suggested by Fergal Daly <fergal@esatclear.ie>:
2108 * simple.c (simple_dummy_multiple_definition): New function.
2109 (bfd_simple_get_relocated_section_contents): Use it.
2110
2111 2004-12-03 Jan Beulich <jbeulich@novell.com>
2112
2113 * elf.c (elf_find_function): Don't use the last file symbol ever,
2114 seen, but the last one seen prior to the symbol being reported.
2115 Don't report a filename at all for global symbols when that might
2116 be ambiguous/wrong.
2117
2118 2004-12-01 Paul Brook <paul@codesourcery.com>
2119
2120 * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
2121 (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
2122 version.
2123
2124 2004-12-01 Paul Brook <paul@codesourcery.com>
2125
2126 * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
2127 sections undefined.
2128
2129 2004-11-30 Paul Brook <paul@codesourcery.com>
2130
2131 * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
2132 no_pipeline_knowledge
2133 (elf32_arm_link_hash_table_create): Ditto.
2134 (bfd_elf32_arm_process_before_allocation): Ditto.
2135 (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation
2136 handling.
2137 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
2138 prototype.
2139 * bfd-in2.h: Regenerate.
2140
2141 2004-11-30 Randolph Chung <tausq@debian.org>
2142
2143 * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
2144 (elf32_hppa_grok_psinfo): New function.
2145 (elf_backend_grok_prstatus): Define.
2146 (elf_backend_grok_psinfo): Define.
2147
2148 2004-11-24 H.J. Lu <hongjiu.lu@intel.com>
2149
2150 PR 574:
2151 * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
2152
2153 2004-11-24 Paul Brook <paul@codesourcery.com>
2154
2155 * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
2156
2157 2004-11-24 Paul Brook <paul@codesourcery.com>
2158
2159 * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
2160 (elf32_arm_swap_symbol_out): New function.
2161 (elf32_arm_size_info): Add.
2162 (elf_backend_size_info): Define.
2163
2164 2004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2165
2166 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
2167 make_bfd_asection.
2168
2169 2004-11-19 Alan Modra <amodra@bigpond.net.au>
2170
2171 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
2172 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
2173 * nlmcode.h (nlm_write_object_contents): Warning fix.
2174
2175 2004-11-18 Bob Wilson <bob.wilson@acm.org>
2176
2177 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
2178
2179 2004-11-17 Daniel Jacobowitz <dan@codesourcery.com>
2180
2181 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
2182 (elf32_arm_plt_thumb_stub): New.
2183 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
2184 and plt_got_offset.
2185 (elf32_arm_link_hash_traverse): Fix typo.
2186 (elf32_arm_link_hash_table): Add obfd.
2187 (elf32_arm_link_hash_newfunc): Initialize new fields.
2188 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
2189 (elf32_arm_link_hash_table_create): Initialize obfd.
2190 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
2191 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
2192 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
2193 interworking BFD is not dynamic.
2194 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
2195 not emit glue for PLT references.
2196 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
2197 emit glue for PLT references. Support the Thumb PLT prefix.
2198 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
2199 plt_thumb_refcount.
2200 (elf32_arm_check_relocs): Likewise.
2201 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
2202 plt_thumb_refcount.
2203 (allocate_dynrelocs): Handle Thumb PLT references.
2204 (elf32_arm_finish_dynamic_symbol): Likewise.
2205 (elf32_arm_symbol_processing): New function.
2206 (elf_backend_symbol_processing): Define.
2207
2208 2004-11-16 Richard Sandiford <rsandifo@redhat.com>
2209
2210 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
2211 add_fde_encoding. Remove need_relative.
2212 * elf-eh-frame.c (extra_augmentation_string_bytes)
2213 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
2214 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
2215 in cases where the CIE has no existing 'R' augmentation. Use
2216 size_of_output_cie_fde when assigning offsets. Use the final offset
2217 as the new section size.
2218 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
2219 Account for any extra augmentation bytes in the returned offset.
2220 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
2221 moved before being modified. Pad growing entries with DW_CFA_nops.
2222 Add 'z' and 'R' augmentations as directed by add_augmentation_size
2223 and add_fde_encoding.
2224
2225 2004-11-15 Mark Mitchell <mark@codesourcery.com>
2226
2227 * elf32-arm.c (elf32_arm_relocate_section): Use
2228 arm_real_reloc_type.
2229
2230 2004-11-16 Richard Sandiford <rsandifo@redhat.com>
2231
2232 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
2233 for discard relocations; don't add an R_MIPS_NONE to the main body
2234 of .rel.dyn.
2235
2236 2004-11-04 Paul Brook <paul@codesourcery.com>
2237
2238 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
2239 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
2240 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
2241 default version definition for unversioned symbols.
2242 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
2243 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
2244 _bfd_elf_slurp_version_tables. Set default version for unversioned
2245 imported symbols.
2246
2247 2004-11-15 Paul Brook <paul@codesourcery.com>
2248
2249 * elflink.c (elf_link_add_object_symbols): Don't assume version
2250 indices are consecutive.
2251
2252 2004-11-14 Richard Sandiford <rsandifo@redhat.com>
2253
2254 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
2255 composite relocations against the personality data.
2256
2257 2004-11-13 Paul Brook <paul@codesourcery.com>
2258
2259 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
2260 R_ARM_PREL31 relocations to PLT entries.
2261 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
2262 (elf32_arm_check_relocs): Ditto.
2263
2264 2004-11-12 Bob Wilson <bob.wilson@acm.org>
2265
2266 * xtensa-isa.c (xtensa_interface_class_id): New.
2267
2268 2004-11-11 Bob Wilson <bob.wilson@acm.org>
2269
2270 * elf32-xtensa.c (property_table_compare): Remove assertion about
2271 entries with the same address and non-zero size.
2272 (xtensa_read_table_entries): Report such entries as errors.
2273
2274 2004-11-11 Mark Mitchell <mark@codesourcery.com>
2275
2276 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
2277 R_ARM_RELATIVE on Symbian OS.
2278
2279 2004-11-09 Mark Mitchell <mark@codesourcery.com>
2280
2281 * som.c (som_bfd_print_private_bfd_data): New function.
2282 (som_object_setup): Save the auxiliary header. Don't assume that
2283 zero is an invalid entry point for a shared library.
2284 (som_object_p): Allocate the auxiliary header on the heap.
2285
2286 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
2287 declaration.
2288 (elf32_arm_symbian_modify_segment_map): Likewise.
2289
2290 2004-11-09 Daniel Jacobowitz <dan@debian.org>
2291
2292 From David Poole <daveml@mbuf.com>:
2293 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
2294 (elf32_arm_size_dynamic_sections): Call it.
2295
2296 2004-11-09 Alan Modra <amodra@bigpond.net.au>
2297
2298 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
2299 (ALL_MACHINES_CFILES): Fix typo.
2300 * Makefile.in: Regenerate.
2301 * po/SRC-POTFILES.in: Regenerate.
2302
2303 2004-11-08 Mark Mitchell <mark@codesourcery.com>
2304
2305 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
2306 R_ARM_RELATIVE relocation for Symbian OS, mention the section
2307 symbol in the relocation.
2308
2309 2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
2310 Vineet Sharma <vineets@noida.hcltech.com>
2311
2312 * coff-maxq.c: New File.
2313 * cpu-maxq.c: New File.
2314 * coffcode.h: Likewise.
2315 * config.bfd: Likewise.
2316 * configure.in (maxqcoff_vec): New target vector.
2317 * Makefile.am: Add support for maxq target.
2318 * configure.in: Likewise.
2319 * archures.c:. Likewise.
2320 * targets.c: Likewise.
2321 * bfd_in2.h : Regenerated.
2322 * Makefile.in: Regenerated.
2323 * configure: Regenerated.
2324 * doc/Makefile.in: Regenerated.
2325
2326 2004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
2327
2328 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
2329 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
2330 C_NT_WEAK aux entries.
2331 (_bfd_coff_generic_relocate_section): Handle undefined
2332 aliases.
2333
2334 2004-11-07 Andreas Schwab <schwab@suse.de>
2335
2336 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
2337 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
2338 non-default visibility.
2339
2340 2004-11-01 Mark Mitchell <mark@codesourcery.com>
2341
2342 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
2343 D_PAGED.
2344 (elf32_arm_symbian_modify_segment_map): Don't
2345 reset includes_filehdr and includes_phdrs here.
2346
2347 2004-11-04 Daniel Jacobowitz <dan@debian.org>
2348
2349 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
2350 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
2351 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
2352 dependency.
2353 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
2354 to a new removed list. Remove normal configuration stanzas.
2355 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
2356 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
2357 elfarm-nabi.lo with elf32-arm.lo.
2358 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
2359 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
2360 * elf32-arm.h: Remove.
2361 * elfarm-oabi.c: Remove.
2362 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
2363 and bfd_elf32_littlearm_oabi_vec.
2364 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
2365
2366 2004-11-04 Hans-Peter Nilsson <hp@axis.com>
2367
2368 * config.bfd: Support crisv32-*-* like cris-*-*.
2369 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
2370 (bfd_mach_cris_v10_v32): New macros.
2371 * cpu-cris.c: Tweak formatting.
2372 (get_compatible): New function.
2373 (N): New macro.
2374 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
2375 bfd_arch_info_type:s.
2376 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
2377 get_compatible for member compatible and link bfd_cris_arch_v32 as
2378 next.
2379 * elf32-cris.c (cris_elf_pcrel_reloc)
2380 (cris_elf_set_mach_from_flags): New functions.
2381 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
2382 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
2383 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
2384 numbers for bfd_mach_cris_v32.
2385 (PLT_ENTRY_SIZE_V32): New macro.
2386 (elf_cris_plt0_entry): Drop last comma in initializer.
2387 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
2388 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
2389 PLT initializers.
2390 (cris_elf_relocate_section): Change all "%B(%A)" messages to
2391 "%B, section %A".
2392 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
2393 (elf_cris_finish_dynamic_sections): Similar.
2394 (elf_cris_adjust_dynamic_symbol): Similar.
2395 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
2396 section %A".
2397 <switch with PIC relocs>: Emit error and return FALSE for
2398 bfd_mach_cris_v10_v32.
2399 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
2400 Emit warning when generating textrel reloc.
2401 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
2402 (cris_elf_final_write_processing): Set flags according to mach.
2403 (cris_elf_print_private_bfd_data): Display
2404 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
2405 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
2406 new_flags. Don't call cris_elf_final_write_processing. Don't
2407 look at the actual elf header flags at all; use
2408 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
2409 in bfd_get_mach for ibfd and obfd and handle merging of compatible
2410 objects.
2411 (bfd_elf32_bfd_copy_private_bfd_data): Define.
2412 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
2413 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
2414 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
2415 * bfd-in2.h, libbfd.h: Regenerate.
2416
2417 2004-11-04 Alan Modra <amodra@bigpond.net.au>
2418
2419 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
2420 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
2421 comment.
2422 (struct adjust_toc_info): New.
2423 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
2424
2425 2004-11-03 Bob Wilson <bob.wilson@acm.org>
2426
2427 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
2428 if there are no segments.
2429
2430 2004-11-02 Daniel Jacobowitz <dan@debian.org>
2431
2432 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
2433
2434 2004-11-02 Nick Clifton <nickc@redhat.com>
2435
2436 * elf32-iq2000.c: Convert to ISO C90 formatting.
2437
2438 2004-11-02 Hans-Peter Nilsson <hp@axis.com>
2439
2440 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
2441
2442 2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
2443
2444 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
2445 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
2446 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
2447
2448 2004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2449
2450 * elf32-sh.c (tpoff): Take alignment into account.
2451
2452 2004-10-28 Nick Clifton <nickc@redhat.com>
2453
2454 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
2455 performing a relocatable link.
2456 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
2457 for MIPS ports under Irix.
2458
2459 2004-10-27 Richard Earnshaw <rearnsha@arm.com>
2460
2461 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
2462 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
2463 (elf32_arm_final_link_relocate): Ditto.
2464 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
2465 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
2466 (elf32_arm_adjust_dynamic_symbol): Ditto.
2467 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
2468 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
2469 (elf32_arm_r_howto): ... To here.
2470 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
2471
2472 2004-10-26 H.J. Lu <hongjiu.lu@intel.com>
2473
2474 PR 475
2475 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
2476 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
2477 and R_IA64_SECREL64LSB.
2478
2479 2004-10-26 Paul Brook <paul@codesourcery.com>
2480
2481 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
2482 (bfd_elf_size_dynamic_sections): Create default version definition.
2483 (elf_link_output_extsym): Adjust for default symbol version.
2484
2485 2004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
2486
2487 * mmo.c: Adjust to ISO C.
2488
2489 * mmo.c (mmo_write_section_description): New function broken out
2490 of mmo_internal_write_section.
2491 (mmo_internal_write_section): For each of .text and .data, call
2492 mmo_write_section_description before outputting contents if it has
2493 nontrivially deducible vma or contents.
2494 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
2495 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
2496 symbols if found within the .data address range.
2497
2498 2004-10-24 Daniel Jacobowitz <dan@debian.org>
2499
2500 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
2501
2502 2004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
2503
2504 * mmo.c (File Layout): Correct place of misplaced blurb about
2505 special data.
2506
2507 2004-10-22 Mark Kettenis <kettenis@gnu.org>
2508
2509 * config.bfd: Add mips64*-*-openbsd.
2510
2511 2004-10-21 Bob Wilson <bob.wilson@acm.org>
2512
2513 * elf32-xtensa.c (ebb_propose_action): Put declarations before
2514 statements.
2515
2516 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
2517
2518 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
2519 * configure: Regenerate.
2520
2521 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
2522
2523 PR 463
2524 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
2525 to linker reloc_overflow callback.
2526 (aout_link_input_section_ext): Likewise.
2527 (aout_link_reloc_link_order): Likewise.
2528 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
2529 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
2530 Likewise.
2531 (alpha_relocate_section): Likewise.
2532 * coff-arm.c (coff_arm_relocate_section): Likewise.
2533 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
2534 * coff-h8500.c (extra_case): Likewise.
2535 * coff-i960.c (coff_i960_relocate_section): Likewise.
2536 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
2537 * coff-mips.c (mips_relocate_section): Likewise.
2538 * coff-or32.c (coff_or32_relocate_section): Likewise.
2539 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
2540 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
2541 * coff-sh.c (sh_relocate_section): Likewise.
2542 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
2543 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
2544 * coff-z8k.c (extra_case): Likewise.
2545 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
2546 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
2547 (_bfd_coff_generic_relocate_section): Likewise.
2548 * ecoff.c (ecoff_reloc_link_order): Likewise.
2549 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
2550 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
2551 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2552 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
2553 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2554 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
2555 * elf32-cris.c (cris_elf_relocate_section): Likewise.
2556 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
2557 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2558 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2559 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2560 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2561 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2562 * elf32-i370.c (i370_elf_relocate_section): Likewise.
2563 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2564 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2565 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2566 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
2567 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2568 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
2569 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2570 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2571 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2572 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2573 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2574 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2575 * elf32-sh.c (sh_elf_relocate_section): Likewise.
2576 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2577 * elf32-v850.c (v850_elf_relocate_section): Likewise.
2578 * elf32-vax.c (elf_vax_relocate_section): Likewise.
2579 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2580 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2581 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2582 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2583 * elf64-s390.c (elf_s390_relocate_section): Likewise.
2584 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2585 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2586 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2587 * elflink.c (elf_reloc_link_order): Likewise.
2588 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2589 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
2590 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
2591 * linker.c (_bfd_generic_reloc_link_order): Likewise.
2592 * pdp11.c (pdp11_aout_link_input_section): Likewise.
2593 (aout_link_reloc_link_order): Likewise.
2594 * reloc.c (bfd_generic_get_relocated_section_contents):
2595 Likewise.
2596 * xcofflink.c (xcoff_reloc_link_order): Likewise.
2597 * simple.c (simple_dummy_reloc_overflow): Updated.
2598
2599 2004-10-20 Andreas Schwab <schwab@suse.de>
2600
2601 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
2602 (elf_backend_plt_sym_val): Define.
2603
2604 2004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
2605
2606 * config.bfd: Set targ_underscore=yes for PE COFF targets
2607
2608 2004-10-19 Alan Modra <amodra@bigpond.net.au>
2609
2610 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
2611 (ppc64_elf_edit_opd): Likewise.
2612
2613 2004-10-18 Mark Mitchell <mark@codesourcery.com>
2614
2615 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
2616 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
2617 set SEC_ALLOC and SEC_LOAD.
2618
2619 2004-10-18 Nick Clifton <nickc@redhat.com>
2620
2621 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
2622 'name' for relocs against both local and global symbols.
2623
2624 2004-10-16 Daniel Jacobowitz <dan@debian.org>
2625
2626 * bfd-in2.h: Regenerate.
2627 * bfd.c (struct bfd): Add no_export.
2628 * elflink.c (elf_link_add_object_symbols): Handle no_export.
2629
2630 2004-10-15 Alan Modra <amodra@bigpond.net.au>
2631
2632 * config.bfd: Whitespace cleanup.
2633 * Makefile.am: Run "make dep-am"
2634 * Makefile.in: Regenerate.
2635
2636 2004-10-15 Jakub Jelinek <jakub@redhat.com>
2637
2638 * elflink.c (struct already_linked_section): Removed.
2639 (try_match_symbols_in_sections, already_linked): Removed.
2640 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
2641 prefix of section names when finding already_linked_table
2642 chain. Compare section names. Instead of calling already_linked,
2643 do it inline and only for sections in the same already_linked_list.
2644
2645 2004-10-15 Alan Modra <amodra@bigpond.net.au>
2646
2647 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
2648 parameter. If called after _bfd_elf_write_section_eh_frame,
2649 don't allow a -2 return unless need_* bit is already set, and
2650 handle offsets adjusted for output_offset.
2651 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
2652 * elf.c (_bfd_elf_section_offset): Update call.
2653
2654 2004-10-13 H.J. Lu <hongjiu.lu@intel.com>
2655
2656 PR 440
2657 * coffcode.h (coff_compute_section_file_positions): Cast to
2658 bfd_vma when computing page alignment.
2659
2660 2004-10-13 Mark Mitchell <mark@codesourcery.com>
2661
2662 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
2663 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
2664
2665 2004-10-12 Mark Mitchell <mark@codesourcery.com>
2666
2667 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
2668 relocations use a virtual address, not a section offset.
2669
2670 2004-10-12 Bob Wilson <bob.wilson@acm.org>
2671
2672 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
2673 (narrow_instruction, widen_instruction): Remove unnecessary calls to
2674 xtensa_format_encode.
2675 (ebb_propose_action): Inline call to ebb_add_proposed_action.
2676 (ebb_add_proposed_action): Delete.
2677
2678 2004-10-12 Bob Wilson <bob.wilson@acm.org>
2679
2680 * elf32-xtensa.c: Use ISO C90 formatting.
2681
2682 2004-10-12 Paul Brook <paul@codesourcery.com>
2683
2684 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
2685 message.
2686
2687 2004-10-12 Paul Brook <paul@codesourcery.com>
2688
2689 * elf32-arm.h: Support EABI version 4 objects.
2690
2691 2004-10-12 Alan Modra <amodra@bigpond.net.au>
2692
2693 PR 325
2694 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
2695 Don't mark as default.
2696 (bfd_x86_64_arch): Don't mark as default.
2697
2698 2004-10-12 Alan Modra <amodra@bigpond.net.au>
2699
2700 * elflink.c (enum action_discarded): New.
2701 (elf_section_complain_discarded): Delete.
2702 (elf_action_discarded): New function subsuming the above and also
2703 controlling reloc behaviour.
2704 (elf_link_input_bfd): Use it.
2705
2706 2004-10-11 Jakub Jelinek <jakub@redhat.com>
2707
2708 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
2709 (special_sections): Add .gnu.liblist and .gnu.conflict.
2710 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
2711
2712 2004-10-11 Alan Modra <amodra@bigpond.net.au>
2713
2714 PR 233
2715 * elflink.c (elf_link_input_bfd): Try harder to support
2716 relocations against symbols in removed linkonce sections.
2717
2718 2004-10-11 Alan Modra <amodra@bigpond.net.au>
2719
2720 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
2721
2722 PR 354
2723 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
2724 sections do not reference symbols in non-SEC_ALLOC sections.
2725
2726 2004-10-11 Alan Modra <amodra@bigpond.net.au>
2727
2728 PR 437
2729 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
2730 (_bfd_elf_link_omit_section_dynsym): Formatting.
2731
2732 2004-10-10 Alan Modra <amodra@bigpond.net.au>
2733
2734 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
2735 * libbfd.h: Regnerate.
2736 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
2737 * elf32-frv.c: Likewise.
2738 * elf32-m32r.c: Likewise.
2739 * elf32-ppc.c: Likewise.
2740 * elf64-hppa.c: Likewise.
2741 * elfxx-ia64.c: Likewise.
2742 * opncls.c: Likewise.
2743
2744 2004-10-10 Alan Modra <amodra@bigpond.net.au>
2745
2746 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
2747 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
2748 offsets stored in struct eh_cie_fde entries before doing other
2749 work.
2750
2751 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
2752 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
2753 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
2754 setting offsets for removed CIEs. Don't set "sec", instead set
2755 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
2756 CIE in hdr_info. Only set make_relative and make_lsda_relative
2757 for CIEs. Use pointers rather than array indices.
2758 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
2759 make_lsda_relative, need_* on cie_inf for FDEs.
2760 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
2761 section output_offset. Delete cie_offset, instead use cie_inf
2762 pointer to CIE entry. Use need_relative and need_lsda_relative on
2763 CIE entry for FDEs. Use pointers rather than array indices.
2764
2765 2004-10-09 Alan Modra <amodra@bigpond.net.au>
2766
2767 * coff-rs6000.c (rs6000coff_vec): Add initializer for
2768 bfd_is_target_special_symbol.
2769 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2770 * som.c (som_bfd_is_target_special_symbol): Define.
2771
2772 2004-10-08 Nick Clifton <nickc@redhat.com>
2773
2774 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
2775 * configure: Regenerate.
2776 * bfd-in2.h: Regenerate.
2777 * syms.c (bfd_is_target_special_symbol): New interface function.
2778 Returns true when a symbol should be considered to be special.
2779 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
2780 the symbol jump table.
2781 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
2782 Return true iff the symbol is a mapping symbol.
2783 (bfd_elf32_bfd_is_target_special_symbol): Define.
2784 * elfxx-target.h: Provide a default definition for
2785 bfd_is_target_special_symbol.
2786 * aout-target.h: Likewise.
2787 * aout-tic30.c: Likewise.
2788 * binary.c: Likewise.
2789 * coffcode.h: Likewise.
2790 * i386msdos.c: Likewise.
2791 * ieee.c: Likewise.
2792 * ihex.c: Likewise.
2793 * libaout.h: Likewise.
2794 * libbfd-in.h: Likewise
2795 * libecoff.h: Likewise.
2796 * mach-o.c: Likewise.
2797 * mmo.c: Likewise.
2798 * nlm-target.h: Likewise.
2799 * oasys.c: Likewise.
2800 * pef.c: Likewise.
2801 * ppcboot.c: Likewise.
2802 * srec.c: Likewise.
2803 * tekhex.c: Likewise.
2804 * versados.c: Likewise.
2805 * vms.c: Likewise.
2806 * xcoff-target.h: Likewise.
2807 * xsym.c: Likewise.
2808 * libbfd.h: Regenerate.
2809
2810 2004-10-08 Daniel Jacobowitz <dan@debian.org>
2811
2812 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
2813 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
2814 (elf_backend_section_from_shdr): Define.
2815
2816 2004-10-08 Alan Modra <amodra@bigpond.net.au>
2817
2818 * syms.c (bfd_is_local_label): Return false for file symbols.
2819
2820 2004-10-07 Bob Wilson <bob.wilson@acm.org>
2821 David Heine <dlheine@tensilica.com>
2822
2823 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
2824 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
2825 (elf32xtensa_no_literal_movement): New global variable.
2826 (elf_howto_table): Add entries for new relocations.
2827 (elf_xtensa_reloc_type_lookup): Handle new relocations.
2828 (property_table_compare): When addresses are equal, compare sizes and
2829 various property flags.
2830 (property_table_matches): New.
2831 (xtensa_read_table_entries): Extend to read new property tables. Add
2832 output_addr parameter to indicate that output addresses should be used.
2833 Use bfd_get_section_limit.
2834 (elf_xtensa_find_property_entry): New.
2835 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
2836 (elf_xtensa_check_relocs): Handle new relocations.
2837 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
2838 relocations. Use new xtensa-isa.h functions.
2839 (build_encoding_error_message): Remove encode_result parameter. Add
2840 new target_address parameter used to detect alignment errors.
2841 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
2842 error handling. Use new is_operand_relocation function.
2843 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
2844 Use underbar macro for error messages. Formatting.
2845 (get_const16_opcode): New.
2846 (get_l32r_opcode): Add a separate flag for initialization.
2847 (get_relocation_opnd): Operand number is no longer explicit in the
2848 relocation. Change to decode the opcode and analyze its operands.
2849 (get_relocation_slot): New.
2850 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
2851 Use new xtensa-isa.h functions to handle multislot instructions.
2852 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
2853 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
2854 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
2855 check_loop_aligned, check_branch_target_aligned_address, narrowable,
2856 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
2857 get_single_format, init_op_single_format_table): New.
2858 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
2859 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
2860 (contract_asm_expansion): Add error_message parameter and pass it to
2861 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
2862 with R_XTENSA_SLOT0_OP.
2863 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
2864 instructions. Use new xtensa-isa.h functions.
2865 (r_reloc struct): Add new virtual_offset field.
2866 (r_reloc_init): Add contents and content_length parameters. Set
2867 virtual_offset field to zero. Add contents to target_offset field for
2868 partial_inplace relocations.
2869 (r_reloc_is_defined): Check for null.
2870 (print_r_reloc): New debug function.
2871 (source_reloc struct): Replace xtensa_operand field with pair of the
2872 opcode and the operand position. Add is_abs_literal field.
2873 (init_source_reloc): Specify operand by opcode/position pair. Set
2874 is_abs_literal field.
2875 (source_reloc_compare): When target_offsets are equal, compare other
2876 fields to make sorting predictable.
2877 (literal_value struct): Add is_abs_literal field.
2878 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
2879 (init_literal_value): New.
2880 (is_same_value): Replace with ...
2881 (literal_value_equal): ... this function. Add comparisons of
2882 virtual_offset and is_abs_literal fields.
2883 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
2884 failure. Initialize has_last_loc field.
2885 (value_map_hash_table_delete): New.
2886 (hash_literal_value): Rename to ...
2887 (literal_value_hash): ... this. Include is_abs_literal flag and
2888 virtual_offset field in the hash value.
2889 (get_cached_value): Rename to ...
2890 (value_map_get_cached_value): ... this. Update calls to
2891 literal_value_hash and literal_value_equal.
2892 (add_value_map): Check for allocation failure. Update calls to
2893 value_map_get_cached_value and literal_value_hash.
2894 (text_action, text_action_list, text_action_t): New types.
2895 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
2896 text_action_add, text_action_add_literal, offset_with_removed_text,
2897 offset_with_removed_text_before_fill, find_insn_action,
2898 print_action_list, print_removed_literals): New.
2899 (offset_with_removed_literals): Delete.
2900 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
2901 fix_array, fix_array_count, allocated_relocs, relocs_count, and
2902 allocated_relocs_count fields.
2903 (init_xtensa_relax_info): Initialize new fields.
2904 (reloc_bfd_fix struct): Add new translated field.
2905 (reloc_bfd_fix_init): Add translated parameter and use it to set the
2906 translated field.
2907 (fix_compare, cache_fix_array): New.
2908 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
2909 section via get_xtensa_relax_info. Use cache_fix_array to set up
2910 sorted fix_array and use bsearch instead of linear search.
2911 (section_cache_t): New struct.
2912 (init_section_cache, section_cache_section, clear_section_cache): New.
2913 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
2914 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
2915 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
2916 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
2917 New.
2918 (retrieve_contents): Use bfd_get_section_limit.
2919 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
2920 to compute_removed_literals. Free value_map_hash_table when no longer
2921 needed.
2922 (analyze_relocations): Check is_relaxable_asm_section flag. Call
2923 compute_text_actions for all sections.
2924 (find_relaxable_sections): Mark sections as relaxable if they contain
2925 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
2926 call. Increment relax_info src_count field only for appropriate
2927 relocation types. Remove is_literal_section check.
2928 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
2929 r_reloc_init and find_associated_l32r_irel. Check
2930 is_relaxable_asm_section flag. Handle L32R instructions with absolute
2931 literals. Pass is_abs_literal flag to init_source_reloc.
2932 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
2933 CONST16 instructions. Adjust calls to r_reloc_init and
2934 pcrel_reloc_fits. Handle weak symbols conservatively.
2935 (find_associated_l32r_irel): Add bfd parameter and pass it to
2936 is_l32r_relocation.
2937 (compute_text_actions, compute_ebb_proposed_actions,
2938 compute_ebb_actions, check_section_ebb_pcrels_fit,
2939 check_section_ebb_reduces, text_action_add_proposed,
2940 compute_fill_extra_space): New.
2941 (remove_literals): Replace with ...
2942 (compute_removed_literals): ... this function. Call
2943 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
2944 Call xtensa_read_table_entries to get the property table. Skip
2945 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
2946 is_removable_literal, remove_dead_literal, and
2947 identify_literal_placement functions.
2948 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
2949 instead of linear search.
2950 (is_removable_literal, remove_dead_literal,
2951 identify_literal_placement): New.
2952 (relocations_reach): Update check for literal not referenced by any
2953 PC-relative relocations. Adjust call to pcrel_reloc_fits.
2954 (coalesce_shared_literal, move_shared_literal): New.
2955 (relax_section): Use bfd_get_section_limit. Call
2956 translate_section_fixes. Update calls to r_reloc_init and
2957 offset_with_removed_text. Check new is_relaxable_asm_section flag.
2958 Add call to pin_internal_relocs. Add special handling for
2959 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
2960 info to calculate new addend_displacement variable. Replace code for
2961 deleting literals with more general code to perform the actions
2962 determined by the action_list for the section.
2963 (translate_section_fixes, translate_reloc_bfd_fix): New.
2964 (translate_reloc): Check new is_relaxable_asm_section flag. Call
2965 find_removed_literal only if is_operand_relocation. Update call to
2966 offset_with_removed_text. Use new target_offset and removed_bytes
2967 variables.
2968 (move_literal): New.
2969 (relax_property_section): Use bfd_get_section_limit. Set new
2970 is_full_prop_section flag and handle new property tables. Update calls
2971 to r_reloc_init and offset_with_removed_text. Check
2972 is_relaxable_asm_section flag. Handle expansion of zero-sized
2973 unreachable entries, with use of offset_with_removed_text_before_fill.
2974 For relocatable links, combine entries only for literal tables.
2975 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
2976 calls to offset_with_removed_text. Translate st_size field for
2977 function symbols.
2978 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
2979 failure. Add contents parameter. Update call to get_bfd_fix. Update
2980 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
2981 R_XTENSA_ASM_EXPAND relocs.
2982 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
2983 call to get_bfd_fix. Include offset from contents for partial_inplace
2984 relocations.
2985 (is_reloc_sym_weak): New.
2986 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
2987 (prop_sec_len): New.
2988 (xtensa_is_property_section): Handle new property sections.
2989 (is_literal_section): Delete.
2990 (internal_reloc_compare): When r_offset matches, compare r_info and
2991 r_addend to make sorting predictable.
2992 (internal_reloc_matches): New.
2993 (xtensa_get_property_section_name): Handle new property sections.
2994 (xtensa_get_property_predef_flags): New.
2995 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
2996 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
2997 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
2998 (xtisa_errno, xtisa_error_msg): New variables.
2999 (xtensa_isa_errno, xtensa_isa_error_msg): New.
3000 (xtensa_insnbuf_alloc): Add error handling.
3001 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
3002 use xtensa_format_decode. Add error handling.
3003 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
3004 instruction length to find the number of bytes to copy.
3005 (xtensa_isa_init): Add error handling. Replace calls to
3006 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
3007 tables in the xtensa_modules structure.
3008 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
3009 xtensa_extend_isa): Delete.
3010 (xtensa_isa_free): Change to only free lookup tables.
3011 (opname_lookup_compare): Replace with ...
3012 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
3013 (xtensa_insn_maxlength): Rename to ...
3014 (xtensa_isa_maxlength): ... this.
3015 (xtensa_insn_length): Delete.
3016 (xtensa_insn_length_from_first_byte): Replace with ...
3017 (xtensa_isa_length_from_chars): ... this function.
3018 (xtensa_num_opcodes): Rename to ...
3019 (xtensa_isa_num_opcodes): ... this.
3020 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
3021 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
3022 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
3023 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
3024 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
3025 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
3026 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
3027 (xtensa_opcode_lookup): Add error handling.
3028 (xtensa_decode_insn): Replace with ...
3029 (xtensa_opcode_decode): ... this function, with new format and
3030 slot parameters. Add error handling.
3031 (xtensa_encode_insn): Replace with ...
3032 (xtensa_opcode_encode): ... this function, which does the encoding via
3033 one of the entries in the "encode_fns" array. Add error handling.
3034 (xtensa_opcode_name): Add error handling.
3035 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
3036 xtensa_opcode_is_call): New.
3037 (xtensa_num_operands): Replace with ...
3038 (xtensa_opcode_num_operands): ... this function. Add error handling.
3039 (xtensa_opcode_num_stateOperands,
3040 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
3041 xtensa_opcode_funcUnit_use, xtensa_operand_name,
3042 xtensa_operand_is_visible): New.
3043 (xtensa_get_operand, xtensa_operand_kind): Delete.
3044 (xtensa_operand_inout): Add error handling and special-case for
3045 "sout" operands.
3046 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
3047 operate on one slot of an instruction. Added error handling.
3048 (xtensa_operand_encode): Handle default operands with no encoding
3049 functions. Check for success by comparing against decoded value.
3050 Add error handling.
3051 (xtensa_operand_decode): Handle default operands. Return decoded value
3052 through argument pointer. Add error handling.
3053 (xtensa_operand_is_register, xtensa_operand_regfile,
3054 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
3055 (xtensa_operand_isPCRelative): Rename to ...
3056 (xtensa_operand_is_PCrelative): ... this. Add error handling.
3057 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
3058 through argument pointer. Add error handling.
3059 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
3060 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
3061 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
3062 xtensa_regfile_shortname, xtensa_regfile_view_parent,
3063 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
3064 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
3065 xtensa_state_is_exported, xtensa_sysreg_lookup,
3066 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
3067 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
3068 xtensa_interface_num_bits, xtensa_interface_inout,
3069 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
3070 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
3071 * xtensa-modules.c: Rewrite to use new data structures.
3072 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
3073 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
3074 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
3075 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
3076 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
3077 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
3078 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
3079 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
3080 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
3081 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
3082 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
3083 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
3084 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
3085 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
3086 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
3087 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
3088 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
3089 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
3090 * Makefile.in: Regenerate.
3091 * bfd-in2.h: Likewise.
3092 * libbfd.h: Likewise.
3093
3094 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
3095
3096 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
3097 against the absolute section.
3098 (mips_elf64_write_rela): Likewise.
3099
3100 2004-10-07 Jan Beulich <jbeulich@novell.com>
3101
3102 * elf.c (elf_find_function): Don't generally check for matching
3103 section, just for non-file symbols. Remove redunant comparison
3104 for the latter.
3105 * elf32-arm.h (arm_elf_find_function): Likewise.
3106
3107 2004-10-07 Jeff Baker <jbaker@qnx.com>
3108
3109 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
3110 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
3111 was specified.
3112
3113 2004-10-04 Roland McGrath <roland@redhat.com>
3114
3115 * hash.c (bfd_hash_set_default_size): Use const for table.
3116 Use size_t instead of int for variable compared to sizeof results.
3117
3118 2004-10-05 Alan Modra <amodra@bigpond.net.au>
3119
3120 PR 425
3121 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
3122
3123 2004-10-01 Paul Brook <paul@codesourcery.com>
3124
3125 * elf32-arm.h (elf32_arm_fake_sections,
3126 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
3127 functions.
3128 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
3129
3130 2004-10-01 Alan Modra <amodra@bigpond.net.au>
3131
3132 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
3133 need_lsda_relative.
3134 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
3135 need_relative or need_lsda_relative if we are processing an
3136 offset for a reloc on a FDE initial loc or LSDA field
3137 respectively.
3138 (_bfd_elf_write_section_eh_frame): Test need_relative and
3139 need_lsda_relative in place of corresponding make_* field
3140 when deciding to use pc-relative encodings.
3141
3142 2004-09-30 Paul Brook <paul@codesourcery.com>
3143
3144 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
3145 target2 relocation type.
3146
3147 2004-09-30 H.J. Lu <hongjiu.lu@intel.com>
3148
3149 PR 414
3150 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
3151
3152 2004-09-30 Paul Brook <paul@codesourcery.com>
3153
3154 * reloc.c: Add BFD_RELOC_ARM_SMI.
3155 * bfd-in2.h: Regenerate.
3156 * libbfd.h: Ditto.
3157
3158 2004-09-24 Alan Modra <amodra@bigpond.net.au>
3159
3160 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
3161 vma and output offset to address.
3162 * simple.c (simple_save_output_info): Only set output section
3163 and offset for debug sections, or those not already set up by
3164 the linker.
3165 (bfd_simple_get_relocated_section_contents): Update comment.
3166
3167 2004-09-24 Alan Modra <amodra@bigpond.net.au>
3168
3169 * elf.c (IS_LOADED): Delete.
3170 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
3171 Restore SEC_HAS_CONTENTS test to the one place it was used prior
3172 to 2004-09-22.
3173
3174 2004-09-23 Alan Modra <amodra@bigpond.net.au>
3175
3176 PR gas/396
3177 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
3178 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
3179 redundant assignment of EM_SPARC.
3180
3181 2004-09-22 Brian Ford <ford@vss.fsi.com>
3182
3183 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
3184 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
3185 constants.
3186 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3187
3188 2004-09-22 Alan Modra <amodra@bigpond.net.au>
3189
3190 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
3191 (elf_backend_modify_segment_map): Don't define.
3192
3193 2004-09-22 Alan Modra <amodra@bigpond.net.au>
3194
3195 * elf.c (IS_LOADED): Define.
3196 (assign_file_positions_for_segments): Don't round up file offset of
3197 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
3198 Delete code handling link script adjustment of lma. Do the adjust
3199 in later code handling similar ajustments. Remove dead code error
3200 check. Warn if section lma would require a negative offset
3201 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
3202 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
3203 update voff in section loop. Change voff in segment loop to be an
3204 adjustment on top of "off". Set sec->filepos and update "off" later.
3205 Test for loadable sections consistently using IS_LOADED. Similarly,
3206 test for alloc-only sections other than .tbss consistently.
3207 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
3208 Tidy PT_NOTE handling. Use %B and %A in error messages.
3209 (assign_file_positions_except_relocs): Use %B in error message.
3210
3211 2004-09-17 H.J. Lu <hongjiu.lu@intel.com>
3212
3213 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
3214 (CONFIG_STATUS_DEPENDENCIES): New.
3215 (Makefile): Removed.
3216 (config.status): Likewise.
3217 * Makefile.in: Regenerated.
3218
3219 2004-09-17 Paul Brook <paul@codesourcery.com>
3220
3221 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
3222 (bfd_elf32_arm_process_before_allocation): Update prototype.
3223 * bfd-in2.h: Regenerate.
3224 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
3225 (elf32_arm_link_hash_table_create): Set it.
3226 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
3227 (bfd_elf32_arm_set_target_relocs): New function.
3228 (arm_real_reloc_type): New function.
3229 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
3230 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
3231 (elf32_arm_gc_sweep_hook): Ditto.
3232 (elf32_arm_check_relocs): Ditto.
3233 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
3234 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
3235 R_ARM_GOT_TARGET2.
3236 (elf32_arm_got_prel): New variable.
3237 (elf32_arm_howto_from_type): New function.
3238 (elf32_arm_info_to_howto): Use it.
3239 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
3240 BFD_RELOC_ARM_TARGET2.
3241 * libbfd.h: Regenerate.
3242 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
3243
3244 2004-09-17 Alan Modra <amodra@bigpond.net.au>
3245
3246 * ecoff.c: Update u.undef.next refs.
3247 * elf64-ppc.c: Likewise.
3248 * elflink.c: Likewise.
3249 * linker.c: Likewise.
3250 * xcofflink.c: Likewise.
3251
3252 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
3253 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
3254 fields to indirect struct.
3255 * elf-m10300.c: Update u.weakdef refs.
3256 * elf32-arm.h: Likewise.
3257 * elf32-cris.c: Likewise.
3258 * elf32-frv.c: Likewise.
3259 * elf32-hppa.c: Likewise.
3260 * elf32-i370.c: Likewise.
3261 * elf32-i386.c: Likewise.
3262 * elf32-m32r.c: Likewise.
3263 * elf32-m68k.c: Likewise.
3264 * elf32-ppc.c: Likewise.
3265 * elf32-s390.c: Likewise.
3266 * elf32-sh.c: Likewise.
3267 * elf32-sparc.c: Likewise.
3268 * elf32-vax.c: Likewise.
3269 * elf32-xtensa.c: Likewise.
3270 * elf64-alpha.c: Likewise.
3271 * elf64-hppa.c: Likewise.
3272 * elf64-ppc.c: Likewise.
3273 * elf64-s390.c: Likewise.
3274 * elf64-sh64.c: Likewise.
3275 * elf64-sparc.c: Likewise.
3276 * elf64-x86-64.c: Likewise.
3277 * elfxx-ia64.c: Likewise.
3278 * elfxx-mips.c: Likewise.
3279 * elflink.c: Likewise. Also u.elf_hash_value.
3280 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
3281 indirection.
3282 (elf_gc_smash_unused_vtentry_relocs): Likewise.
3283 (bfd_elf_gc_record_vtinherit): Alloc vtable.
3284 (bfd_elf_gc_record_vtentry): Likewise.
3285 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
3286
3287 2004-09-17 Alan Modra <amodra@bigpond.net.au>
3288
3289 * Makefile.am: Run "make dep-am".
3290 * Makefile.in: Regenerate.
3291 * bfd-in2.h: Regenerate.
3292 * po/SRC-POTFILES.in: Regenerate.
3293 * po/bfd.pot: Regenerate.
3294
3295 2004-09-16 Alan Modra <amodra@bigpond.net.au>
3296
3297 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
3298 with bitfields. Make "type" and "other" bitfields too.
3299 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
3300 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
3301 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
3302 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
3303 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
3304 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
3305 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
3306 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
3307 * elf-hppa.h: Update all uses of elf_link_hash_flags.
3308 * elf-m10300.c: Likewise.
3309 * elf.c: Likewise.
3310 * elf32-arm.h: Likewise.
3311 * elf32-cris.c: Likewise.
3312 * elf32-frv.c: Likewise.
3313 * elf32-hppa.c: Likewise.
3314 * elf32-i370.c: Likewise.
3315 * elf32-i386.c: Likewise.
3316 * elf32-m32r.c: Likewise.
3317 * elf32-m68k.c: Likewise.
3318 * elf32-ppc.c: Likewise.
3319 * elf32-s390.c: Likewise.
3320 * elf32-sh-symbian.c: Likewise.
3321 * elf32-sh.c: Likewise.
3322 * elf32-sh64.c: Likewise.
3323 * elf32-sparc.c: Likewise.
3324 * elf32-vax.c: Likewise.
3325 * elf32-xtensa.c: Likewise.
3326 * elf64-alpha.c: Likewise.
3327 * elf64-hppa.c: Likewise.
3328 * elf64-ppc.c: Likewise.
3329 * elf64-s390.c: Likewise.
3330 * elf64-sh64.c: Likewise.
3331 * elf64-sparc.c: Likewise.
3332 * elf64-x86-64.c: Likewise.
3333 * elflink.c: Likewise.
3334 * elfxx-ia64.c: Likewise.
3335 * elfxx-mips.c: Likewise.
3336 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
3337 * configure: Regenerate.
3338 * aclocal.m4: Regenerate.
3339
3340 2004-09-16 Alan Modra <amodra@bigpond.net.au>
3341
3342 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
3343 around uses of R_ARM_TARGET1.
3344 (elf32_arm_check_relocs): Likewise.
3345
3346 2004-09-13 Paul Brook <paul@codesourcery.com>
3347
3348 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
3349 prototype.
3350 * bfd-in2.h: Regenerate.
3351 * libbfd.h: Regenerate.
3352 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
3353 (elf32_arm_link_hash_table_create): Set target1_is_rel.
3354 (bfd_elf32_arm_process_before_allocation): Ditto.
3355 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
3356 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
3357 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
3358 * reloc.c: Ditto.
3359
3360 2004-09-10 Joel Brobecker <brobecker@gnat.com>
3361
3362 * hpux-core.c (thread_section_p): New function.
3363 (hpux_core_core_file_p): Fix computation of offset in call
3364 to bfd_seek. Create a ".reg" section from an arbitrary
3365 ".reg/<id>" section if none was created after having read
3366 all sections.
3367
3368 2004-09-11 Andreas Schwab <schwab@suse.de>
3369
3370 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
3371 * aclocal.m4: Rebuild.
3372 * configure: Rebuild.
3373
3374 2004-09-10 Joel Brobecker <brobecker@gnat.com>
3375
3376 * section.c (bfd_sections_find_if): Fix parameter name in
3377 comment to match code.
3378
3379 2004-09-10 Alan Modra <amodra@bigpond.net.au>
3380
3381 * elf.c (assign_file_positions_except_relocs): Assign relocs
3382 stored in a bfd section.
3383
3384 2004-09-08 Hans-Peter Nilsson <hp@axis.com>
3385
3386 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
3387 h->gotplt_refcount to 0, not -1.
3388
3389 2004-09-07 Hans-Peter Nilsson <hp@axis.com>
3390
3391 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
3392 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
3393 symname.
3394 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
3395 handle symbol visibility here.
3396
3397 2004-09-07 Alan Modra <amodra@bigpond.net.au>
3398
3399 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
3400 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
3401 callers.
3402 (ppc_stub_name): Remove trailing "+0" on stub name.
3403 (create_linkage_sections): Create relocations for
3404 branch lookup table when --emit-relocs as well as when --shared.
3405 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
3406 relbrlt test. For --emit-stub-syms, always output a sym even when
3407 one already exists on a plt call stub. Put stub type in the stub
3408 symbol name.
3409 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
3410 test.
3411 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
3412 reloc_count in stub sections. Adjust relbrlt test.
3413 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
3414 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
3415 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
3416 for relocs against discarded symbols. Fix comments.
3417
3418 2004-09-06 Mark Mitchell <mark@codesourcery.com>
3419
3420 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
3421 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
3422 from ...
3423 (map_sections_to_segments): ... here. Use it. Assign a file
3424 position to the .dynamic section if it is not loadable, but part
3425 of the PT_DYNAMIC segment.
3426 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
3427 offsets, not VMAs, for the BPABI. Do not fill in the header in
3428 the .got.plt section for the BPABI.
3429 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
3430 PT_DYNAMIC segment.
3431 (elf_backend_want_got_plt): Define to zero for Symbian OS.
3432
3433 2004-09-06 Nick Clifton <nickc@redhat.com>
3434
3435 * elflink.c (elf_link_add_object_symbols): Set the error code to
3436 bfd_error_wrong_format when the input format does not match the
3437 output format.
3438
3439 2004-09-06 Alan Modra <amodra@bigpond.net.au>
3440
3441 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
3442 (ppc64_elf_check_directives): ..here.
3443 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
3444 before accessing ppc64_elf_tdata.
3445 (ppc64_elf_finish_dynamic_sections): And here too.
3446
3447 2004-09-04 Alan Modra <amodra@bigpond.net.au>
3448
3449 * bfd.c (_bfd_default_error_handler): Correct loop exit.
3450
3451 2004-09-03 Mark Mitchell <mark@codesourcery.com>
3452
3453 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
3454 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
3455 (bfd_elf32_littlearm_symbian_vec): Likewise.
3456 * configure: Regenerated.
3457 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
3458 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
3459 (PLT_ENTRY_SIZE): Likewise.
3460 (bfd_vma_elf32_arm_symbian_plt_entry): New
3461 variable.
3462 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
3463 and symbian_p.
3464 (create_got_section): Don't create sections when generating BPABI
3465 objects.
3466 (elf32_arm_create_dynamic_sections): Tidy.
3467 (elf32_arm_link_hash_table_create): Set plt_header_size,
3468 plt_entry_size, and symbian_p.
3469 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
3470 generating BPABI objects.
3471 (allocate_dynrelocs): Use htab->plt_header_size, not
3472 PLT_HEADER_SIZE. Do not add to .got.plt when
3473 generating BPABI objects.
3474 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
3475 * elfarm-nabi.c: Add SymbianOS target vectors.
3476 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
3477 (_bfd_elf_link_create_dynamic_sections): Likewise.
3478 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
3479 (elfNN_bed): Use it.
3480 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
3481 (bfd_elf32_littlearm_symbian_vec): Likewise.
3482 (_bfd_target_vector): Add them.
3483
3484 2004-09-03 Nick Clifton <nickc@redhat.com>
3485
3486 PR 360
3487 * coffcode.h (handle_COMDAT): Replace abort with an warning
3488 message and allow the scan to continue.
3489
3490 2004-09-02 Alan Modra <amodra@bigpond.net.au>
3491
3492 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
3493 in when reading relocs, not our sorted syms. Remove unnecessary
3494 var.
3495
3496 2004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3497
3498 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
3499
3500 2004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
3501
3502 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
3503 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
3504 replace uses of *_alias with *_noncanonical.
3505 * aclocal.m4: Rebuild with aclocal 1.4p6.
3506 * Makefile.in: Rebuild with automake 1.4p6.
3507 * doc/Makefile.in: Rebuild with automake 1.4p6.
3508 * configure.in: Autoupdate with autoupdate 2.59.
3509 * config.in: Regenerate with autoheader 2.59.
3510 * configure: Regnerate with autoconf 2.59.
3511
3512 2004-08-28 Alan Modra <amodra@bigpond.net.au>
3513
3514 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
3515 symbol pointer arrays before modifying.
3516
3517 2004-08-28 Alan Modra <amodra@bigpond.net.au>
3518
3519 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
3520 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
3521 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
3522 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
3523 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
3524 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
3525 Use both symbol tables on non-relocatable objects. Use a common
3526 error exit. Fix "mid" warning.
3527 * libbfd.h: Regenerate.
3528 * bfd-in2.h: Regenerate.
3529
3530 2004-08-28 Alan Modra <amodra@bigpond.net.au>
3531
3532 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
3533 object file.
3534 (struct sfpr_def_parms): Save some space.
3535 (sfpr_define): Here too.
3536
3537 * elf64-ppc.c (compare_symbols): Put section syms first.
3538 (sym_exists_at): New function.
3539 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
3540 points only for relocatable files. Use .opd section contents
3541 otherwise. Generally clean up the code.
3542
3543 2004-08-27 Alan Modra <amodra@bigpond.net.au>
3544
3545 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
3546 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
3547 (struct sfpr_def_parms): New.
3548 (sfpr_define): New function.
3549 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
3550 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
3551 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
3552 (savefpr1_tail, restfpr1_tail): New functions.
3553 (savevr, savevr_tail, restvr, restvr_tail): New functions.
3554 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
3555 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
3556 code. Define all ABI mandated _save and _rest functions.
3557
3558 2004-08-26 Paul Brook <paul@codesourcery.com>
3559
3560 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
3561
3562 2004-08-26 Alan Modra <amodra@bigpond.net.au>
3563
3564 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
3565 TRUE or FALSE.
3566
3567 2004-08-26 Alan Modra <amodra@bigpond.net.au>
3568
3569 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
3570 that pcrel correction is applied for R_386_PC32.
3571
3572 2004-08-25 Alan Modra <amodra@bigpond.net.au>
3573
3574 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
3575 for R_386_32 and R_386_PC32 relocs against symbols defined in
3576 discarded sections.
3577
3578 2004-08-25 Dmitry Diky <diwil@spec.ru>
3579
3580 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
3581 Add new relocations.
3582 * bfd-in2.h: Regenerate.
3583 * libbfd.h: Regenerate.
3584 * elf32-msp430.c: Clean-up code.
3585 (elf_msp430_howto_table): Add new relocation entries.
3586 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
3587 (msp430_elf_relax_section): New function.
3588 (msp430_elf_relax_delete_bytes): New function.
3589 (msp430_elf_symbol_address_p): New function.
3590
3591 2004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3592
3593 * elf32-m32r.c (m32r_elf_relocate_section): Handle
3594 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
3595
3596 2004-08-20 Daniel Jacobowitz <dan@debian.org>
3597
3598 * elflink.c (_bfd_elf_section_already_linked): Handle
3599 SEC_LINK_DUPLICATES_SAME_CONTENTS.
3600
3601 2004-08-19 Mark Mitchell <mark@codesourcery.com>
3602
3603 * config.bfd (arm*-*-symbianelf*): New target.
3604 (arm*-*-eabi*): Likewise.
3605
3606 2004-08-19 Alan Modra <amodra@bigpond.net.au>
3607
3608 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
3609 "struct ppc_link_hash_entry *".
3610 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
3611 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
3612
3613 2004-08-19 Jakub Jelinek <jakub@redhat.com>
3614
3615 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
3616 entries (where fd_aux overlaps next entry's fd_func).
3617 Add non_overlapping argument, use it.
3618 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
3619 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
3620 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
3621 as indexes into opd_sym_map/opd_adjust array.
3622 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
3623
3624 2004-08-18 Alan Modra <amodra@bigpond.net.au>
3625
3626 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
3627 if we can look up their function descriptor in a regular file.
3628
3629 2004-08-18 Nick Clifton <nickc@redhat.com>
3630
3631 PR 324
3632 * cofflink.c (coff_link_add_symbols): Check that the comdat
3633 pointer in the coff_section_data structure has been initialised
3634 before using it.
3635
3636 2004-08-18 Alan Modra <amodra@bigpond.net.au>
3637
3638 PR 338
3639 * elflink.c (bfd_elf_record_link_assignment): Add comment about
3640 changing bfd_link_hash_undefined to bfd_link_hash_new.
3641
3642 2004-08-17 Jakub Jelinek <jakub@redhat.com>
3643
3644 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
3645 if not yet defined.
3646 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
3647 (synthetic_opd, synthetic_relocatable): New variables.
3648 (compare_symbols, compare_relocs): New helper routines.
3649 (ppc64_elf_get_synthetic_symtab): New function.
3650 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
3651 to relsyms.
3652 * bfd-in2.h: Regenerated.
3653 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
3654 to relsyms. Return 0 if abfd is relocatable.
3655
3656 2004-08-17 Alan Modra <amodra@bigpond.net.au>
3657
3658 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
3659
3660 2004-08-17 Nick Clifton <nickc@redhat.com>
3661
3662 * (is_arm_mapping_symbol_name): New function - return true
3663 when a symbol name matches the requirements for an ARM mapping
3664 symbol name.
3665 (arm_elf_find_function): New function based on
3666 elf_find_function in elf.c but skipping ARM mapping symbols
3667 and including thumb function symbols.
3668 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
3669 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
3670
3671 2004-08-17 Alan Modra <amodra@bigpond.net.au>
3672
3673 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
3674 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
3675 (ppc64_elf_brtaken_reloc): Here too.
3676
3677 2004-08-17 Alan Modra <amodra@bigpond.net.au>
3678
3679 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
3680 symbol visibility.
3681 (ppc64_elf_check_directives): Check that we have the right hash
3682 table before proceeding.
3683
3684 2004-08-17 Alan Modra <amodra@bigpond.net.au>
3685
3686 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
3687 (adjust_opd_syms): Attach opd syms for deleted entries to one of
3688 the sections that will be discarded.
3689
3690 2004-08-16 Alan Modra <amodra@bigpond.net.au>
3691
3692 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
3693
3694 2004-08-16 Alan Modra <amodra@bigpond.net.au>
3695
3696 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
3697 free space available.
3698
3699 2004-08-16 Alan Modra <amodra@bigpond.net.au>
3700
3701 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
3702 occurrences with bfd_byte * thoughout file.
3703
3704 * coff-rs6000.c (do_shared_object_padding): Warning fix.
3705 (xcoff_write_armap_big): Likewise.
3706 (xcoff_write_archive_contents_old): Likewise.
3707 (xcoff_write_archive_contents_big): Likewise.
3708
3709 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
3710
3711 2004-08-13 Nick Clifton <nickc@redhat.com>
3712
3713 * elf32-arm.h: Convert to ISO C90.
3714
3715 2004-08-13 Alan Modra <amodra@bigpond.net.au>
3716
3717 PR 293
3718 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
3719 zero the plt field.
3720
3721 2004-08-13 Alan Modra <amodra@bigpond.net.au>
3722
3723 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
3724 (bfd_archive_filename, bfd_get_section_ident): Delete.
3725 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
3726 bfd_archive_filename.
3727 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
3728 to warn about symbols in discarded sections. Use _bfd_error_handler.
3729 * aout-adobe.c (aout_adobe_callback): See below.
3730 * aout-cris.c (swap_ext_reloc_in): ..
3731 * coff-arm.c (find_thumb_glue, find_arm_glue,
3732 coff_arm_relocate_section, bfd_arm_process_before_allocation,
3733 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
3734 coff_arm_copy_private_bfd_data): ..
3735 * coff-i860.c (i860_reloc_processing): ..
3736 * coff-mcore.c (mcore_coff_unsupported_reloc,
3737 coff_mcore_relocate_section): ..
3738 * coff-ppc.c (coff_ppc_relocate_section): ..
3739 * coff-rs6000.c (xcoff_create_csect_from_smclas
3740 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
3741 sh_swap_insns, sh_relocate_section): ..
3742 * coff-tic54x.c (tic54x_reloc_processing): ..
3743 * coff-tic80.c (coff_tic80_relocate_section): ..
3744 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
3745 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
3746 coff_slurp_symbol_table, coff_classify_symbol,
3747 coff_slurp_reloc_table): ..
3748 * coffgen.c (_bfd_coff_read_string_table): ..
3749 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
3750 _bfd_coff_generic_relocate_section): ..
3751 * cpu-arm.c (bfd_arm_merge_machines): ..
3752 * cpu-sh.c (sh_merge_bfd_arch): ..
3753 * elf-hppa.h (elf_hppa_relocate_section): ..
3754 * elf.c (bfd_elf_string_from_elf_section, setup_group,
3755 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
3756 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
3757 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
3758 * elf32-arm.h (find_thumb_glue, find_arm_glue,
3759 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
3760 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
3761 elf32_arm_relocate_section, elf32_arm_set_private_flags,
3762 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
3763 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
3764 cris_elf_merge_private_bfd_data
3765 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
3766 * elf32-gen.c (elf32_generic_link_add_symbols): ..
3767 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
3768 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
3769 elf32_hppa_relocate_section): ..
3770 * elf32-i370.c (i370_elf_merge_private_bfd_data,
3771 i370_elf_check_relocs, i370_elf_relocate_section): ..
3772 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
3773 elf_i386_relocate_section): ..
3774 * elf32-m32r.c (m32r_elf_relocate_section,
3775 m32r_elf_merge_private_bfd_data): ..
3776 * elf32-m68hc1x.c (m68hc12_add_stub,
3777 _bfd_m68hc11_elf_merge_private_bfd_data): ..
3778 * elf32-m68k.c (elf_m68k_relocate_section): ..
3779 * elf32-mcore.c (mcore_elf_unsupported_reloc,
3780 mcore_elf_relocate_section): ..
3781 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
3782 ppc_elf_check_relocs, ppc_elf_relocate_section,
3783 ppc_elf_begin_write_processing): ..
3784 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
3785 elf_s390_relocate_section): ..
3786 * elf32-sh-symbian.c (sh_symbian_import_as,
3787 sh_symbian_process_embedded_commands,
3788 sh_symbian_relocate_section): ..
3789 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
3790 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
3791 sh_elf_merge_private_data): ..
3792 * elf32-sparc.c (elf32_sparc_check_relocs,
3793 elf32_sparc_relocate_section,
3794 elf32_sparc_merge_private_bfd_data): ..
3795 * elf32-v850.c (v850_elf_check_relocs,
3796 v850_elf_merge_private_bfd_data): ..
3797 * elf32-xtensa.c (elf_xtensa_check_relocs,
3798 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
3799 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
3800 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
3801 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
3802 * elf64-gen.c (elf64_generic_link_add_symbols): ..
3803 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
3804 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
3805 ppc64_elf_relocate_section): ..
3806 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
3807 elf_s390_relocate_section): ..
3808 * elf64-sh64.c (sh_elf64_relocate_section): ..
3809 * elf64-sparc.c (sparc64_elf_check_relocs,
3810 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
3811 sparc64_elf_merge_private_bfd_data): ..
3812 * elf64-x86-64.c (elf64_x86_64_check_relocs,
3813 elf64_x86_64_relocate_section): ..
3814 * elflink.c (_bfd_elf_add_default_symbol,
3815 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
3816 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
3817 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
3818 elf_get_linked_section_vma, elf_fixup_link_order,
3819 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
3820 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
3821 * elfxx-ia64.c (elfNN_ia64_relax_section,
3822 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
3823 * elfxx-mips.c (mips_elf_perform_relocation,
3824 _bfd_mips_elf_check_relocs,
3825 _bfd_mips_elf_merge_private_bfd_data): ..
3826 * ieee.c (ieee_slurp_external_symbols): ..
3827 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
3828 * libbfd.c (_bfd_generic_verify_endian_match): ..
3829 * linker.c (_bfd_generic_link_add_one_symbol,
3830 _bfd_generic_section_already_linked): ..
3831 * pdp11.c (translate_to_native_sym_flags): ..
3832 * pe-mips.c (coff_pe_mips_relocate_section): ..
3833 * peicode.h (pe_ILF_build_a_bfd): ..
3834 * srec.c (srec_bad_byte): ..
3835 * stabs.c (_bfd_link_section_stabs): ..
3836 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
3837 Replace all uses of bfd_archive_filename and bfd_get_section_ident
3838 with corresponding %B and %A in _bfd_error_handler format string.
3839 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
3840 calls to use %A and %B. Fix "against symbol .. from section" and
3841 similar error messages. Combine multiple _bfd_error_handler calls
3842 where they were separated due to bfd_archive_filename deficiencies.
3843 * bfd-in2.h: Regenerate.
3844
3845 2004-08-12 H.J. Lu <hongjiu.lu@intel.com>
3846
3847 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
3848 relocation.
3849
3850 2004-08-10 Alan Modra <amodra@bigpond.net.au>
3851
3852 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
3853 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
3854 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
3855 Add twiddled_syms.
3856 (link_hash_newfunc): Init was_undefined.
3857 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
3858 Use undefweak instead.
3859 (ppc64_elf_check_directives): Fix undefs chain.
3860 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
3861 references.
3862 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
3863 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
3864 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
3865
3866 2004-08-09 Jakub Jelinek <jakub@redhat.com>
3867
3868 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
3869 error, test input_section flags rather than sec.
3870
3871 2004-08-09 Alan Modra <amodra@bigpond.net.au>
3872
3873 * elf-bfd.h (struct elf_backend_data): Add
3874 elf_backend_archive_symbol_lookup.
3875 (_bfd_elf_archive_symbol_lookup): Declare.
3876 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
3877 (elf_link_add_archive_symbols): ..extracted from here. Call the
3878 backend version.
3879 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
3880 (elfNN_bed): Init new field.
3881 * elf64-ppc.c (elf_backend_check_directives): Define.
3882 (elf_backend_archive_symbol_lookup): Define.
3883 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
3884 a ppc_link_hash_entry pointer.
3885 (get_fdh): Move.
3886 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
3887 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
3888 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
3889 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
3890 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
3891 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
3892 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
3893 descriptor symbols.
3894
3895 2004-08-09 Alan Modra <amodra@bigpond.net.au>
3896
3897 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
3898 (ppc64_elf_add_symbol_hook): Test for NULL section.
3899 (get_sym_h): Formatting.
3900 (ppc64_elf_size_stubs): Include reloc addend in value stored as
3901 stub target_value.
3902
3903 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
3904 long branch stubs with code handling plt and r2off branch stubs.
3905
3906 2004-08-09 Alan Modra <amodra@bigpond.net.au>
3907
3908 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
3909 * elflink.c (elf_link_input_bfd): Formatting.
3910 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
3911 all callers.
3912 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
3913 (link_hash_newfunc): Don't set it.
3914 (ppc64_elf_copy_indirect_symbol): Nor copy it.
3915 (ppc64_elf_mark_entry_syms): Delete.
3916 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
3917 sections. Use get_opd_info.
3918 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
3919
3920 2004-08-09 Alan Modra <amodra@bigpond.net.au>
3921
3922 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
3923
3924 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
3925 (func_desc_adjust): Don't set have_undefweak.
3926 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
3927 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
3928
3929 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
3930 "struct ppc_link_hash_entry *". Adjust all references.
3931 (ppc64_elf_hide_symbol): Correct a comment.
3932
3933 * elf64-ppc.c (get_opd_info): New function.
3934 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
3935 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
3936 before calling get_fdh. Test fdh rather than h before dereferencing
3937 fdh. Mark removed symbols in opd_adjust.
3938 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
3939 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
3940 opd symbols.
3941 (ppc64_elf_output_symbol_hook): Likewise.
3942
3943 2004-08-06 Paul Brook <paul@codesourcery.com>
3944
3945 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
3946 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
3947 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
3948 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
3949 and BFD_RELOC_ARM_SBREL32.
3950 * bfd-in2.h, bbfd.h: Regenerate.
3951
3952 2004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3953
3954 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
3955 the dynamic link symbol actually in use.
3956
3957 2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
3958
3959 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
3960
3961 2004-07-31 Joel Brobecker <brobecker@gnat.com>
3962 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3963
3964 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
3965 SHN_MIPS_TEXT and SHN_MIPS_DATA.
3966
3967 2004-07-30 H.J. Lu <hongjiu.lu@intel.com>
3968 Nick Clifton <nickc@redhat.com>
3969
3970 PR 290
3971 * bfd.c (_bfd_default_error_handler): Make it global.
3972
3973 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
3974
3975 * elf.c (assign_section_numbers): Cope gracefully with sections
3976 which have SHF_LINK_ORDER set but no sh_link set up.
3977 * elflink.c (elf_get_linked_section_vma): Likewise.
3978
3979 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
3980 it to NULL.
3981
3982 * elfxx-target.h (elf_backend_link_order_error_handler): New.
3983 Set it to _bfd_default_error_handler.
3984 (elfNN_bed): Add elf_backend_link_order_error_handler.
3985
3986 * libbfd-in.h (_bfd_default_error_handler): New.
3987
3988 * libbfd.h: Regenerated.
3989
3990 2004-07-30 Jakub Jelinek <jakub@redhat.com>
3991
3992 * archures.c (bfd_mach_sparc_64bit_p): Define.
3993 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
3994 * bfd-in2.h: Rebuilt.
3995
3996 2004-07-29 Alexandre Oliva <aoliva@redhat.com>
3997
3998 Introduce SH2a support.
3999 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
4000 * archures.c (bfd_mach_sh2a_nofpu): New.
4001 * bfd-in2.h: Rebuilt.
4002 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
4003 (arch_info_struct): Add sh2a_nofpu.
4004 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
4005 2003-12-29 DJ Delorie <dj@redhat.com>
4006 * reloc.c: Add relocs for sh2a.
4007 * bfd-in2.h: Regenerate.
4008 * libbfd.hh: Regenerate.
4009 2003-12-01 Michael Snyder <msnyder@redhat.com>
4010 * archures.c (bfd_mach_sh2a): New.
4011 * bfd-in2.h: Rebuilt.
4012 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
4013 (SH2A_NEXT): New.
4014 (arch_info_struct): Add sh2a.
4015 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
4016
4017 2004-07-28 Nick Clifton <nickc@redhat.com>
4018 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4019
4020 PR 273
4021 * som.c (setup_sections): Improve estimation of space sizes in
4022 relocatable objects.
4023
4024 2004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
4025 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
4026 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
4027 to targ_selvecs.
4028 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
4029 * configure: Regenerate.
4030 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
4031 case that accepts OSABI=NetBSD and OSABI=SysV.
4032 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
4033 the base of .got or .data (if .got does not exist).
4034 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
4035 set OSABI=NetBSD.
4036 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
4037 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
4038 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
4039 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
4040
4041 2004-07-27 H.J. Lu <hongjiu.lu@intel.com>
4042
4043 PR 161/251
4044 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
4045 (elf_sec_group): Defined.
4046 (bfd_elf_match_symbols_in_sections): New prototype.
4047 (_bfd_elf_setup_group_pointers): Likewise.
4048
4049 * elf.c (bfd_elf_discard_group): Abort.
4050 (bfd_elf_set_group_contents): Also include relocation sections.
4051 Remove zero-fill for ld -r.
4052 (_bfd_elf_setup_group_pointers): New function.
4053 (elf_sort_elf_symbol): Likewise.
4054 (elf_sym_name_compare): Likewise.
4055 (bfd_elf_match_symbols_in_sections): Likewise.
4056
4057 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
4058
4059 * elflink.c (match_group_member): New.
4060 (elf_link_input_bfd): Check group member for discarded section.
4061 (try_match_symbols_in_sections): New function.
4062 (already_linked): Likewise.
4063 (_bfd_elf_section_already_linked): Support mixing comdat group
4064 and linkonce section.
4065
4066 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
4067 * linker.c (bfd_section_already_linked_table_traverse): New.
4068
4069 * libbfd.h: Regenerated.
4070
4071 2004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
4072
4073 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
4074 BFD_RELOC_CRX_SWITCH32.
4075 * bfd-in2.h: Regenerate.
4076 * libbfd.h: Regenerate.
4077 * elf32-crx.c: Support relocation/relaxation of
4078 BFD_RELOC_CRX_SWITCH* types.
4079
4080 2004-07-27 Alan Modra <amodra@bigpond.net.au>
4081
4082 * elf64-ppc.c: Correct "Linker stubs" comment.
4083
4084 2004-07-26 H.J. Lu <hongjiu.lu@intel.com>
4085
4086 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
4087 linked-to section.
4088 (elf_linked_to_section): New.
4089
4090 * elf.c (assign_section_numbers): Set up sh_link for
4091 SHF_LINK_ORDER.
4092
4093 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
4094 to sh_link for SHT_IA_64_UNWIND sections.
4095
4096 2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
4097
4098 * elflink.c (elf_fixup_link_order): Add _() to error message.
4099
4100 2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
4101
4102 * elflink.c (elf_fixup_link_order): Issue a warning and flag
4103 an error if failed.
4104
4105 2004-07-21 H.J. Lu <hongjiu.lu@intel.com>
4106
4107 * aout-adobe.c (aout_32_section_already_linked): Defined.
4108 * aout-target.h (MY_section_already_linked): Likewise.
4109 * aout-tic30.c (MY_section_already_linked): Likewise.
4110 * binary.c (binary_section_already_linked): Likewise.
4111 * bout.c (b_out_section_already_linked): Likewise.
4112 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
4113 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
4114 * coffcode.h (coff_section_already_linked): Likewise.
4115 * i386msdos.c (msdos_section_already_linked): Likewise.
4116 * i386os9k.c (os9k_section_already_linked): Likewise.
4117 * ieee.c (ieee_section_already_linked): Likewise.
4118 * ihex.c (ihex_section_already_linked): Likewise.
4119 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
4120 * mmo.c (mmo_section_already_linked): Likewise.
4121 * nlm-target.h (nlm_section_already_linked): Likewise.
4122 * oasys.c (oasys_section_already_linked): Likewise.
4123 * pef.c (bfd_pef_section_already_linked): Likewise.
4124 * ppcboot.c (ppcboot_section_already_linked): Likewise.
4125 * som.c (som_bfd_discard_group): Likewise.
4126 * srec.c (srec_section_already_linked): Likewise.
4127 * tekhex.c (tekhex_section_already_linked): Likewise.
4128 * versados.c (versados_section_already_linked): Likewise.
4129 * vms.c (vms_section_already_linked): Likewise.
4130 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
4131 * xsym.c (bfd_sym_section_already_linked): Likewise.
4132
4133 * bfd-in.h (bfd_section_already_linked_table_init): New.
4134 (bfd_section_already_linked_table_free): Likewise.
4135
4136 * coff-rs6000.c (rs6000coff_vec): Add
4137 _bfd_generic_section_already_linked.
4138 (pmac_xcoff_vec): Likewise.
4139 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
4140 (aix5coff64_vec): Likewise.
4141
4142 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
4143 * elflink.c (_bfd_elf_section_already_linked): New function.
4144
4145 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
4146
4147 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
4148 (_bfd_generic_section_already_linked): New.
4149 (bfd_section_already_linked_hash_entry): Likewise.
4150 (bfd_section_already_linked): Likewise.
4151 (bfd_section_already_linked_table_lookup): Likewise.
4152 (bfd_section_already_linked_table_insert): Likewise.
4153
4154 * linker.c (bfd_section_already_linked): New.
4155 (_bfd_section_already_linked_table): Likewise.
4156 (bfd_section_already_linked_table_lookup): Likewise.
4157 (bfd_section_already_linked_table_insert): Likewise.
4158 (already_linked_newfunc): Likewise.
4159 (bfd_section_already_linked_table_init): Likewise.
4160 (bfd_section_already_linked_table_free): Likewise.
4161 (_bfd_generic_section_already_linked): Likewise.
4162
4163 * section.c (bfd_section): Remove comdat.
4164 (bfd_comdat_info): Moved to ...
4165 * bfd-in.h (coff_comdat_info): Here.
4166 (bfd_coff_get_comdat_section): New.
4167 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
4168 * libcoff-in.h (coff_section_tdata): Add comdat.
4169 * coffcode.h (handle_COMDAT): Updated.
4170 * cofflink.c (coff_link_add_symbols): Likewise.
4171 * ecoff.c (bfd_debug_section): Likewise.
4172
4173 * targets.c (bfd_target): Add _section_already_linked.
4174 (BFD_JUMP_TABLE_LINK): Updated.
4175
4176 * bfd-in2.h: Regenerated.
4177 * libbfd.h: Likewise.
4178 * libcoff.h: Likewise.
4179
4180 2003-07-21 Paul Brook <paul@codesourcery.com>
4181
4182 * elflink.c (elf_get_linked_section_vma, compare_link_order,
4183 elf_fixup_link_order): New functions.
4184 (bfd_elf_final_link): Call elf_fixup_link_order.
4185
4186 2004-07-21 Alexandre Oliva <aoliva@redhat.com>
4187
4188 * elf-bfd.h (ELF_COMMON_DEF_P): New.
4189 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
4190 common definitions.
4191 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
4192 _bfd_elf_symbol_refs_local_p.
4193 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
4194 symbols.
4195
4196 2004-07-19 H.J. Lu <hongjiu.lu@intel.com>
4197
4198 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
4199 DYN_NO_NEEDED.
4200 (bfd_elf_get_dyn_lib_class): New prototype.
4201 * elf.c (bfd_elf_get_dyn_lib_class): New function.
4202
4203 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
4204 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
4205 entry is needed. Issue an error if a DT_NEEDED entry is needed
4206 for a file marked DYN_NO_NEEDED.
4207 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
4208 for DT_NEEDED tags.
4209
4210 * bfd-in2.h: Regenerated.
4211
4212 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4213
4214 * elflink.c (elf_section_complain_discarded): Don't complain in
4215 .PARISC.unwind.
4216
4217 2004-07-10 James E Wilson <wilson@specifixinc.com>
4218
4219 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
4220 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
4221 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
4222 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
4223 Fix callers.
4224 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
4225 bfd_put_64 to bfd_putl64.
4226 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
4227
4228 2004-07-09 H.J. Lu <hongjiu.lu@intel.com>
4229
4230 PR 240
4231 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
4232 .init/.fini sections when trying to relax it.
4233
4234 2004-07-09 Jie Zhang <zhangjie@magima.com.cn>
4235
4236 * elf.c (assign_file_positions_for_segments): Make sure the
4237 .dynamic section is the first section in the PT_DYNAMIC segment.
4238
4239 2004-07-09 Nick Clifton <nickc@redhat.com>
4240
4241 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
4242 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
4243 sh_elf_get_flags_from_mach functions so that they do not conflict
4244 when this target is built with other sh-elf targets.
4245 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
4246 suppression of this function.
4247 (sh_elf_find_flags): Likewise.
4248
4249 2004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
4250
4251 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
4252 (ALL_MACHINES_CFILES): Add cpu-crx.c.
4253 (BFD32_BACKENDS): Add elf32-crx.lo.
4254 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
4255 (cpu-crx.lo): New target.
4256 (elf32-crx.lo): New target.
4257 * Makefile.in: Regenerate.
4258 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
4259 (bfd_archures_list): Add bfd_crx_arch.
4260 * bfd-in2.h: Regenerate.
4261 * config.bfd: Handle crx-*-elf*, crx*.
4262 * configure.in: Handle bfd_elf32_crx_vec.
4263 * configure: Regenerate.
4264 * cpu-crx.c: New file.
4265 * elf32-crx.c: Likewise.
4266 * libbfd.h: Regenerate.
4267 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
4268 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
4269 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
4270 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
4271 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
4272 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
4273 * targets.c (bfd_elf32_crx_vec): Declare.
4274 (bfd_target_vector): Add bfd_elf32_crx_vec.
4275
4276 2004-07-06 Nick Clifton <nickc@redhat.com>
4277
4278 * config.bfd: Add sh-symbian-elf target.
4279 * configure.in: Add bfd_elf32_shl_symbian_vec.
4280 * configure: Regenerate.
4281 * elf-bfd.h (struct elf_backend_data): Add new field
4282 'check_directives'.
4283 * elflink.c (elf_link_add_object_symbols): Invoke the
4284 check_directives function, if defined.
4285 * elfxx-target.h: Provide a default, NULL definition for
4286 check_directives.
4287 * targets.c: Add bfd_elf32_shl_symbian_vec.
4288 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
4289 definition.
4290 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
4291 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
4292 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
4293 not already been defined.
4294 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
4295 * sh-symbian.c: New file. Provide functions to support the
4296 * sh-symbian-elf target.
4297 * Makefile.am: Add elf32-sh-symbian.c
4298 * Makefile.in: Regenerate.
4299
4300 2004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
4301
4302 * elf32-sh.c: Include ../opcodes/sh-opc.h.
4303 * Makefile.am: Ran make dep-am.
4304 * Makefile.in: Ran make dep-in.
4305
4306 2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
4307
4308 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
4309 externals properly.
4310
4311 2004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
4312
4313 * config.bfd: Add want64 to configuration target s390-*-linux*.
4314
4315 2004-07-01 H.J. Lu <hongjiu.lu@intel.com>
4316
4317 * bfd.c (bfd_get_section_ident): New.
4318
4319 * elflink.c (elf_link_read_relocs_from_section): Call
4320 bfd_get_section_ident to identify the section when reporting
4321 error.
4322 (_bfd_elf_link_output_relocs): Likewise.
4323 (elf_link_output_extsym): Likewise.
4324 (elf_link_input_bfd): Likewise.
4325 (bfd_elf_gc_record_vtinherit): Likewise.
4326
4327 * bfd-in2.h: Regenerated.
4328
4329 2004-07-01 Jie Zhang <zhangjie@magima.com.cn>
4330 Nick Clifton <nickc@redhat.com>
4331
4332 PR 204
4333 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
4334 of section symbols to mips_elf_sort_hash_table ().
4335
4336 2004-07-01 Alan Modra <amodra@bigpond.net.au>
4337
4338 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
4339 change. Comment.
4340 (elf_section_complain_discarded): New function. Handle
4341 .gcc_except_table too.
4342 (elf_link_input_bfd): Rewrite handling of relocs against symbols
4343 in discarded sections.
4344 * elf-bfd.h (elf_discarded_section): Protect macro arg.
4345
4346 2004-06-30 James E Wilson <wilson@specifixinc.com>
4347
4348 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
4349 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
4350
4351 2004-06-30 H.J. Lu <hongjiu.lu@intel.com>
4352
4353 PR 233
4354 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
4355 local references to discarded sections and report their
4356 locations.
4357
4358 2004-06-30 Alan Modra <amodra@bigpond.net.au>
4359
4360 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
4361 sec_info_type, test section name instead.
4362
4363 2004-06-29 H.J. Lu <hongjiu.lu@intel.com>
4364
4365 PR 240
4366 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
4367 in .init/.fini sections.
4368
4369 2004-06-29 Bob Wilson <bob.wilson@acm.org>
4370
4371 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
4372 bfd_get_section_limit.
4373
4374 2004-06-29 Bob Wilson <bob.wilson@acm.org>
4375
4376 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
4377 output section size.
4378
4379 2004-06-29 Alan Modra <amodra@bigpond.net.au>
4380
4381 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
4382 rawsize.
4383 (mmix_elf_perform_relocation): Adjust for above change.
4384 (mmix_elf_relocate_section): Likewise.
4385 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
4386 (mmix_elf_get_section_contents): Delete.
4387 (bfd_elf64_get_section_contents): Delete.
4388 (mmix_elf_relocate_section): Zero stub area.
4389 * linker.c (default_indirect_link_order): Alloc max of section size
4390 and rawsize.
4391 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
4392 * section.c (bfd_malloc_and_get_section): Likewise.
4393 (struct bfd_section): Update rawsize comment.
4394 * bfd-in2.h: Regenerate.
4395
4396 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
4397
4398 2004-06-29 Alan Modra <amodra@bigpond.net.au>
4399
4400 * bfd-in.h (bfd_get_section_limit): Define.
4401 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
4402 (_bfd_final_link_relocate): Use bfd_get_section_limit.
4403 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
4404 * coff-arm.c (coff_arm_relocate_section): Likewise.
4405 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
4406 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
4407 (bfd_ns32k_final_link_relocate): Likewise.
4408 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
4409 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
4410 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
4411 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
4412 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
4413 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
4414 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
4415 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
4416 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
4417 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
4418 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
4419 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
4420 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
4421 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
4422 * elf32-v850.c (v850_elf_reloc): Likewise.
4423 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
4424 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
4425 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
4426 * elf64-mips.c (mips_elf64_gprel32_reloc)
4427 (mips16_gprel_reloc): Likewise.
4428 * elf64-mmix.c (mmix_elf_reloc): Likewise.
4429 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
4430 * elf64-sparc.c (init_insn_reloc): Likewise.
4431 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
4432 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
4433 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
4434 (_bfd_mips_elf_generic_reloc): Likewise.
4435 * bfd-in2.h: Regenerate.
4436
4437 2004-06-28 Alan Modra <amodra@bigpond.net.au>
4438
4439 * bfd-in.h (struct stab_info): Move from stabs.c.
4440 * stabs.c (struct stab_link_includes_table): Delete.
4441 (stab_link_includes_lookup): Delete.
4442 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
4443 level of indirection from sinfo parm.
4444 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
4445 stabstr section. Adjust hash table accesses.
4446 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
4447 alloc. Adjust stab_info test.
4448 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
4449 (_bfd_coff_final_link): Adjust stab_info test.
4450 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
4451 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
4452 in place.
4453 * libcoff-in.h (struct coff_link_hash_table): Likewise.
4454 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
4455 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
4456 stabstr section. Adjust stab_info test.
4457 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
4458 (_bfd_write_stab_strings): Adjust prototypes.
4459 * libbfd.h: Regenerate.
4460 * libcoff.h: Regenerate.
4461 * bfd-in2.h: Regenerate.
4462
4463 2004-06-27 Mark Kettenis <kettenis@gnu.org>
4464
4465 From Miod Vallat <miod@online.fr>:
4466 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
4467
4468 2004-06-26 Alexandre Oliva <aoliva@redhat.com>
4469
4470 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
4471 (struct elf32_mn10300_link_hash_entry): Remove
4472 pcrel_relocs_copied.
4473 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
4474 R_MN10300_32. Don't adjust pcrel_relocs_copied.
4475 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
4476 and gotoff relocations if the symbol doesn't bind locally. Use
4477 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
4478 relocation for PCREL32.
4479 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
4480 to test whether a symbol binds locally.
4481 (elf32_mn10300_link_hash_newfunc): Don't initialize
4482 pcrel_relocs_copied.
4483 (_bfd_mn10300_elf_discard_copies): Delete.
4484 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
4485
4486 2004-06-26 Mark Kettenis <kettenis@gnu.org>
4487
4488 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
4489
4490 2004-06-25 Joel Brobecker <brobecker@gnat.com>
4491
4492 * som.c (som_set_reloc_info): Correct small typo.
4493
4494 2004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4495
4496 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
4497 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
4498 (m32r_elf_gcsweep_hook): Likewise.
4499 (m32r_elf_check_relocs): Likewise.
4500 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
4501 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
4502 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
4503 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
4504 * bfd-in2.h: Regenerated.
4505 * libbfd.h: Regenerated.
4506
4507 2004-06-24 H.J. Lu <hongjiu.lu@intel.com>
4508
4509 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
4510 relocation symbol.
4511 (elf64_x86_64_relocate_section): Issue an error for
4512 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
4513 against global symbols when building shared library.
4514
4515 2004-06-24 Alan Modra <amodra@bigpond.net.au>
4516
4517 * section.c (struct sec): Rename "_cooked_size" to "size".
4518 Rename "_raw_size" to "rawsize".
4519 (STD_SECTION): Adjust comments.
4520 (bfd_set_section_size, bfd_get_section_contents): Use size.
4521 (bfd_malloc_and_get_section): New function.
4522 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
4523 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
4524 Correctly free reloc and contents memory.
4525 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
4526 and fake CIE now that we can shink section size to zero.
4527 (_bfd_elf_write_section_eh_frame): Likewise..
4528 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
4529 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
4530 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
4531 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
4532 unneeded indirection.
4533 * elf.c (_bfd_elf_section_offset): .. and update call.
4534 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
4535 * libbfd.h: Regenerate.
4536 * bfd-in2.h: Regenerate.
4537
4538 Replace occurrences of "_raw_size" and "_cooked_size" in most places
4539 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
4540 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
4541 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
4542 Similarly use "rawsize", if non-zero, in reloc functions to validate
4543 reloc addresses. Use new bfd_malloc_and_get_section in most places
4544 where bfd_get_section_contents was called. Expand all occurrences of
4545 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
4546 grok_prstatus and similar functions to "size".
4547 * aix386-core.c (aix386_core_file_p): ..
4548 * aix5ppc-core.c (xcoff64_core_p): ..
4549 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
4550 aout_adobe_set_section_contents): ..
4551 * aout-target.h (callback): ..
4552 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
4553 MY_bfd_final_link): ..
4554 * aoutf1.h (sunos4_core_file_p): ..
4555 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
4556 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
4557 final_link, aout_link_input_section): ..
4558 * binary.c (binary_object_p, binary_canonicalize_symtab,
4559 binary_set_section_contents): ..
4560 * bout.c (b_out_callback, b_out_write_object_contents,
4561 b_out_set_section_contents, b_out_bfd_relax_section,
4562 b_out_bfd_get_relocated_section_contents): ..
4563 * cisco-core.c (cisco_core_file_validate): ..
4564 * coff-alpha.c (alpha_ecoff_object_p,
4565 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
4566 * coff-arm.c (coff_arm_relocate_section,
4567 bfd_arm_allocate_interworking_sections): ..
4568 * coff-h8300.c (h8300_reloc16_extra_cases,
4569 h8300_bfd_link_add_symbols): ..
4570 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
4571 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
4572 ppc_bfd_coff_final_link): ..
4573 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
4574 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
4575 sh_align_loads, sh_coff_get_relocated_section_contents): ..
4576 * coff64-rs6000.c (xcoff64_write_object_contents,
4577 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
4578 * coffcode.h (coff_compute_section_file_positions,
4579 coff_write_object_contents): ..
4580 * coffgen.c (make_a_section_from_file, coff_write_symbols,
4581 coff_section_symbol, build_debug_section): ..
4582 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
4583 process_embedded_commands, _bfd_coff_link_input_bfd,
4584 _bfd_coff_write_global_sym): ..
4585 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
4586 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
4587 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
4588 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
4589 _bfd_dwarf2_find_nearest_line): ..
4590 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
4591 ecoff_compute_section_file_positions,
4592 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
4593 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
4594 _bfd_elf_discard_section_eh_frame_hdr,
4595 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
4596 _bfd_elf_write_section_eh_frame,
4597 _bfd_elf_write_section_eh_frame_hdr): ..
4598 * elf-hppa.h (elf_hppa_sort_unwind): ..
4599 * elf-m10200.c (mn10200_elf_relax_section,
4600 mn10200_elf_relax_delete_bytes,
4601 mn10200_elf_get_relocated_section_contents): ..
4602 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
4603 mn10300_elf_check_relocs, mn10300_elf_relax_section,
4604 mn10300_elf_relax_delete_bytes,
4605 mn10300_elf_get_relocated_section_contents,
4606 _bfd_mn10300_elf_adjust_dynamic_symbol,
4607 _bfd_mn10300_elf_discard_copies,
4608 _bfd_mn10300_elf_size_dynamic_sections,
4609 _bfd_mn10300_elf_finish_dynamic_sections): ..
4610 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
4611 _bfd_elf_make_section_from_phdr, elf_fake_sections,
4612 bfd_elf_set_group_contents, map_sections_to_segments,
4613 elf_sort_sections, assign_file_positions_for_segments,
4614 SECTION_SIZE, copy_private_bfd_data,
4615 _bfd_elf_get_dynamic_reloc_upper_bound,
4616 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
4617 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
4618 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
4619 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
4620 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
4621 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
4622 bfd_elf32_arm_process_before_allocation,
4623 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
4624 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
4625 elf32_arm_write_section): ..
4626 * elf32-cris.c (cris_elf_grok_prstatus,
4627 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
4628 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
4629 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
4630 elf_cris_discard_excess_dso_dynamics,
4631 elf_cris_discard_excess_program_dynamics): ..
4632 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
4633 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
4634 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
4635 _frv_create_got_section, _frvfdpic_assign_plt_entries,
4636 elf32_frvfdpic_size_dynamic_sections,
4637 elf32_frvfdpic_modify_segment_map,
4638 elf32_frvfdpic_finish_dynamic_sections): ..
4639 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
4640 elf32_h8_get_relocated_section_contents): ..
4641 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
4642 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
4643 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
4644 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
4645 elf32_hppa_finish_dynamic_sections): ..
4646 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
4647 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
4648 i370_elf_finish_dynamic_sections): ..
4649 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
4650 allocate_dynrelocs, elf_i386_size_dynamic_sections,
4651 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
4652 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
4653 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
4654 * elf32-ip2k.c (ip2k_is_switch_table_128,
4655 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
4656 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
4657 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
4658 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
4659 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
4660 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
4661 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
4662 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
4663 m32r_elf_get_relocated_section_contents): ..
4664 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
4665 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
4666 m68hc11_elf_relax_delete_bytes): ..
4667 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
4668 m68hc12_elf_size_one_stub): ..
4669 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
4670 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
4671 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
4672 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
4673 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
4674 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
4675 elf32_mips_grok_prstatus): ..
4676 * elf32-or32.c (or32_elf_consth_reloc): ..
4677 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
4678 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
4679 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
4680 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
4681 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
4682 ppc_elf_final_write_processing): ..
4683 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
4684 allocate_dynrelocs, elf_s390_size_dynamic_sections,
4685 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
4686 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
4687 sh_elf_relax_delete_bytes, sh_elf_align_loads,
4688 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
4689 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
4690 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
4691 * elf32-sh64-com.c (sh64_address_in_cranges,
4692 sh64_get_contents_type): ..
4693 * elf32-sh64.c (sh64_find_section_for_address,
4694 sh64_elf_final_write_processing): ..
4695 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
4696 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
4697 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
4698 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
4699 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
4700 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
4701 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
4702 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
4703 elf_vax_finish_dynamic_sections): ..
4704 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
4705 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
4706 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
4707 xstormy16_elf_finish_dynamic_sections): ..
4708 * elf32-xtensa.c (xtensa_read_table_entries,
4709 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
4710 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
4711 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
4712 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
4713 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
4714 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
4715 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
4716 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
4717 xtensa_callback_required_dependence): ..
4718 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
4719 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
4720 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
4721 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
4722 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
4723 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
4724 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
4725 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
4726 * elf64-hppa.c (allocate_dynrel_entries,
4727 elf64_hppa_size_dynamic_sections,
4728 elf64_hppa_finish_dynamic_sections): ..
4729 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
4730 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
4731 elf64_mips_grok_prstatus): ..
4732 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
4733 mmix_elf_relocate_section, mmix_elf_final_link,
4734 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
4735 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
4736 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
4737 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
4738 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
4739 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
4740 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
4741 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
4742 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
4743 ppc64_elf_finish_dynamic_sections): ..
4744 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
4745 allocate_dynrelocs, elf_s390_size_dynamic_sections,
4746 elf_s390_finish_dynamic_sections): ..
4747 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
4748 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
4749 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
4750 sh64_elf64_finish_dynamic_sections): ..
4751 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
4752 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
4753 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
4754 sparc64_elf_finish_dynamic_symbol,
4755 sparc64_elf_finish_dynamic_sections): ..
4756 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
4757 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
4758 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
4759 elf64_x86_64_finish_dynamic_sections): ..
4760 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
4761 * elfcode.h (elf_slurp_reloc_table): ..
4762 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
4763 elf_finalize_dynstr, elf_link_add_object_symbols,
4764 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
4765 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
4766 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
4767 elf32_mips_grok_prstatus): ..
4768 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
4769 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
4770 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
4771 elfNN_ia64_finish_dynamic_sections): ..
4772 * elfxx-mips.c (mips_elf_create_procedure_table,
4773 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
4774 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
4775 mips_elf_global_got_index, mips_elf_multi_got,
4776 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
4777 mips_elf_allocate_dynamic_relocations,
4778 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
4779 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
4780 _bfd_mips_elf_always_size_sections,
4781 _bfd_mips_elf_size_dynamic_sections,
4782 _bfd_mips_elf_finish_dynamic_symbol,
4783 _bfd_mips_elf_finish_dynamic_sections,
4784 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
4785 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
4786 _bfd_elf_mips_get_relocated_section_contents,
4787 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
4788 * hp300hpux.c (callback): ..
4789 * hppabsd-core.c (make_bfd_asection): ..
4790 * hpux-core.c (make_bfd_asection): ..
4791 * i386linux.c (linux_link_create_dynamic_sections,
4792 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
4793 * i386msdos.c (msdos_write_object_contents): ..
4794 * i386os9k.c (os9k_callback, os9k_write_object_contents,
4795 os9k_set_section_contents): ..
4796 * ieee.c (parse_expression, ieee_slurp_external_symbols,
4797 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
4798 ieee_write_section_part, do_with_relocs, do_as_repeat,
4799 do_without_relocs, ieee_write_debug_part, init_for_output,
4800 ieee_set_section_contents): ..
4801 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
4802 * irix-core.c (do_sections, make_bfd_asection): ..
4803 * libaout.h (aout_section_merge_with_text_p): ..
4804 * libbfd.c (_bfd_generic_get_section_contents,
4805 _bfd_generic_get_section_contents_in_window): ..
4806 * linker.c (default_indirect_link_order): ..
4807 * lynx-core.c (make_bfd_asection): ..
4808 * m68klinux.c (linux_link_create_dynamic_sections,
4809 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
4810 * mach-o.c (bfd_mach_o_make_bfd_section,
4811 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
4812 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
4813 bfd_mach_o_scan_read_segment): ..
4814 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
4815 _bfd_merge_sections): ..
4816 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
4817 mmo_map_set_sizes, mmo_canonicalize_symtab,
4818 mmo_internal_write_section, mmo_write_object_contents): ..
4819 * netbsd-core.c (netbsd_core_file_p): ..
4820 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
4821 nlm_alpha_set_public_section): ..
4822 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
4823 * nlm32-sparc.c (nlm_sparc_write_import): ..
4824 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
4825 nlm_compute_section_file_positions): ..
4826 * oasys.c (oasys_object_p, oasys_slurp_section_data,
4827 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
4828 * opncls.c (get_debug_link_info): ..
4829 * osf-core.c (make_bfd_asection): ..
4830 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
4831 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
4832 final_link, aout_link_input_section): ..
4833 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
4834 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
4835 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
4836 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
4837 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
4838 * ptrace-core.c (ptrace_unix_core_file_p): ..
4839 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
4840 _bfd_final_link_relocate, bfd_generic_relax_section,
4841 bfd_generic_get_relocated_section_contents): ..
4842 * reloc16.c (bfd_coff_reloc16_relax_section,
4843 bfd_coff_reloc16_get_relocated_section_c): ..
4844 * riscix.c (riscix_some_aout_object_p): ..
4845 * rs6000-core.c (read_hdr, make_bfd_asection): ..
4846 * sco5-core.c (make_bfd_asection): ..
4847 * simple.c (bfd_simple_get_relocated_section_contents): ..
4848 * som.c (som_object_setup, setup_sections, som_prep_headers,
4849 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
4850 som_set_reloc_info, som_get_section_contents,
4851 som_bfd_link_split_section): ..
4852 * sparclinux.c (linux_link_create_dynamic_sections,
4853 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
4854 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
4855 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
4856 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
4857 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
4858 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
4859 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
4860 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
4861 sunos_finish_dynamic_link): ..
4862 * syms.c (_bfd_stab_section_find_nearest_line): ..
4863 * tekhex.c (first_phase, tekhex_set_section_contents,
4864 tekhex_write_object_contents): ..
4865 * trad-core.c (trad_unix_core_file_p): ..
4866 * versados.c (process_esd, process_otr, process_otr): ..
4867 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
4868 * vms-misc.c (add_new_contents): ..
4869 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
4870 * vms.c (vms_set_section_contents): ..
4871 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
4872 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
4873 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
4874 * xsym.c (bfd_sym_scan): .. See above.
4875
4876 2004-06-21 H.J. Lu <hongjiu.lu@intel.com>
4877
4878 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
4879 calling _bfd_merged_section_offset only for section symbols.
4880
4881 2004-06-22 Alan Modra <amodra@bigpond.net.au>
4882
4883 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
4884 for handling SEC_MERGE symbols in relax_section.
4885
4886 2004-06-21 Alexandre Oliva <aoliva@redhat.com>
4887
4888 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
4889 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
4890 linked together. Mark the result as h8300sx code.
4891
4892 2004-06-21 Alexandre Oliva <aoliva@redhat.com>
4893
4894 * elf-bfd.h (struct elf_backend_data): Added
4895 elf_backend_omit_section_dynsym.
4896 (_bfd_elf_link_omit_section_dynsym): Declare.
4897 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
4898 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
4899 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
4900 (_bfd_elf_link_renumber_dynsyms): ... this function.
4901 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
4902 _bfd_elf_link_omit_section_dynsym).
4903 (elfNN_bed): Added elf_backend_omit_section_dynsym.
4904
4905 2004-06-21 Nick Clifton <nickc@redhat.com>
4906
4907 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
4908 flags.
4909
4910 2004-06-17 Jerome Guitton <guitton@gnat.com>
4911
4912 * bfd-in.h (bfd_cache_close_all): New function declaration.
4913 * bfd-in2.h: Regenerate.
4914 * cache.c (bfd_cache_close_all): New function definition.
4915
4916 2004-06-16 Mark Kettenis <kettenis@gnu.org>
4917
4918 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
4919 4.10 and beyond.
4920 * configure: Regenerate.
4921
4922 2004-06-16 Daniel Jacobowitz <dan@debian.org>
4923
4924 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
4925 the pre-existing section.
4926
4927 2004-06-15 Alan Modra <amodra@bigpond.net.au>
4928
4929 * section.c (struct sec): Remove usused flags. Reorganize a little.
4930 (bfd_get_section_size_before_reloc): Delete.
4931 (bfd_get_section_size_after_reloc): Delete.
4932 (STD_SECTION): Update.
4933 (bfd_get_section_size_now): Delete.
4934 (bfd_set_section_contents): Don't referece reloc_done.
4935 (bfd_get_section_contents): Remove reloc_done comment.
4936 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
4937 reloc_done.
4938 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
4939 * ecoff.c (bfd_debug_section): Update initializer.
4940 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
4941 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
4942 * bfd-in.h (bfd_section_size): Expand.
4943 (bfd_get_section_size): New macro.
4944 * bfd-in2.h: Regenerate.
4945 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
4946 bfd_get_section_size_before_reloc with bfd_get_section_size.
4947 * coffcode.h (coff_write_object_contents): Likewise.
4948 * coffgen.c (build_debug_section): Likewise.
4949 * dwarf1.c (parse_line_table): Likewise.
4950 (_bfd_dwarf1_find_nearest_line): Likewise.
4951 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
4952 * i386msdos.c (msdos_write_object_contents): Likewise.
4953 * pdp11.c (squirt_out_relocs): Likewise.
4954 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
4955 * elf64-mmix.c (mmix_elf_final_link): Update comment.
4956
4957 2004-06-14 Chris Demetriou <cgd@broadcom.com>
4958
4959 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
4960 removal) with updated comment.
4961 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
4962 BFD_RELOC_32_PCREL.
4963 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
4964 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4965
4966 2004-06-12 Alan Modra <amodra@bigpond.net.au>
4967
4968 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
4969 overflow on branches to undefweaks.
4970
4971 2004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4972
4973 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
4974 as ecoff_section_data() does not return a valid lvalue.
4975
4976 2004-06-09 Alexandre Oliva <aoliva@redhat.com>
4977
4978 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
4979 (elf_link_add_object_symbols): Likewise.
4980
4981 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
4982 (elf_backend_reloc_type_class): New.
4983
4984 2004-06-08 Mark Kettenis <kettenis@gnu.org>
4985
4986 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
4987 netbsd-core.lo.
4988 * configure: Regenerate.
4989
4990 2004-06-07 Daniel Jacobowitz <dan@debian.org>
4991
4992 From: Albert Chin-A-Young <china@thewrittenword.com>
4993 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
4994 to unsigned int.
4995
4996 2004-05-29 H.J. Lu <hongjiu.lu@intel.com>
4997
4998 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
4999 change.
5000
5001 2004-05-28 DJ Delorie <dj@redhat.com>
5002
5003 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
5004 for linking, but otherwise adjust reloc for merged sections.
5005
5006 2004-05-28 H.J. Lu <hongjiu.lu@intel.com>
5007
5008 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
5009 _bfd_merged_section_offset for local symbols.
5010
5011 2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
5012
5013 * Makefile.am: Regenerate dependencies.
5014 * Makefile.in: Regenerate.
5015 * archures.c: Add bfd_mach_sh3_nommu .
5016 * bfd-in2.h: Regenerate.
5017 * cpu-sh.c: Add sh3-nommu architecture.
5018 (bfd_to_arch_table): Create new table.
5019 (sh_get_arch_from_bfd_mach): Create new function.
5020 (sh_get_arch_up_from_bfd_mach): Create new function.
5021 (sh_merge_bfd_arch): Create new function.
5022 * elf32-sh.c (sh_ef_bfd_table): Add table.
5023 (sh_elf_check_relocs): Replace switch statement with
5024 use of sh_ef_bfd_table .
5025 (sh_elf_get_flags_from_mach): Add new function.
5026 (sh_find_elf_flags): Likewise.
5027 (sh_elf_copy_private_data): Replace most of non-elf contents
5028 with a call to sh_merge_bfd_arch() .
5029
5030 2004-05-27 Michael Chastain <mec.gnu@mindspring.com>
5031
5032 * Makefile.am (bfdver.h): Use explicit filename, not $< .
5033 * Makefile.in: Regenerate.
5034
5035 2004-05-27 Alexandre Oliva <aoliva@redhat.com>
5036
5037 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
5038 custom calling conventions for dynamic symbols.
5039 (mn10300_elf_relax_section): Avoid relaxing a function as a local
5040 symbol if it's an alias to a global one.
5041
5042 2004-05-26 H.J. Lu <hongjiu.lu@intel.com>
5043
5044 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
5045 change.
5046
5047 2004-05-27 Alexandre Oliva <aoliva@redhat.com>
5048
5049 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
5050 loop over hashes.
5051
5052 2004-05-26 Alan Modra <amodra@bigpond.net.au>
5053
5054 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
5055 for SHT_GROUP sections.
5056
5057 2004-05-25 Alan Modra <amodra@bigpond.net.au>
5058
5059 * elflink.c (elf_link_add_object_symbols): Don't set up merge
5060 section data here..
5061 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
5062 * merge.c: Formatting. Remove unnecessary casts. Expand
5063 bfd_get_section_alignment macro.
5064 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
5065 use throughout file.
5066 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
5067 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
5068 section name to determine sinfo group, instead test output section
5069 and alignment.
5070 (_bfd_merge_sections): Add struct bfd_link_info param. Call
5071 _bfd_strip_section_from_output rather than just twiddling flags.
5072 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
5073 (_bfd_merge_sections): Update prototype.
5074 * libbfd.h: Regenerate.
5075
5076 2004-05-24 Mark Kettenis <kettenis@gnu.org>
5077
5078 * netbsd-core.c: Correctly indent section that sets architecture
5079 from machine ID.
5080
5081 From Miod Vallat <miod@online.fr>:
5082 * m88kopenbsd.c: New file.
5083 * targets.c (m88k_openbsd_vec): New.
5084 * config.bfd: Add m88k-*-openbsd*.
5085 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
5086 (m88kopenbsd_vec): New.
5087 * configure: Regenerate.
5088 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
5089 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
5090 Run "make dep-am".
5091 * Makefile.in: Regenerate.
5092 * po/SRC-POTFILES.in: Regenerate.
5093
5094 2004-05-24 Nick Clifton <nickc@redhat.com>
5095
5096 * hash.c: Remove bogus node "Changing the default Hash Table Size"
5097 introduced by hash table size patch.
5098
5099 2004-05-22 Ben Elliston <bje@au.ibm.com>
5100
5101 * configure.in (is_release): Remove.
5102 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
5103 (AC_OUTPUT): Don't output bfdver.h from version.h.
5104 * configure: Regenerate.
5105 * Makefile.am (RELEASE): New variable.
5106 (bfdver.h): New target.
5107 * Makefile.in: Regenerate.
5108 * doc/Makefile.in: Likewise.
5109
5110 2004-05-22 Ben Elliston <bje@au.ibm.com>
5111
5112 * Makefile.am (config.status): Don't depend on version.h.
5113 * Makefile.in: Regenerate.
5114
5115 2004-05-22 Alan Modra <amodra@bigpond.net.au>
5116
5117 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
5118 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
5119 * libbfd.h: Regenerate.
5120 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
5121 (_bfd_elf_rel_local_sym): Likewise.
5122 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
5123 (elf_link_input_bfd): Likewise.
5124 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
5125 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
5126 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
5127 (elfNN_ia64_relocate_section): Likewise.
5128
5129 2004-05-21 Andy Chittenden <achittenden@bluearc.com>
5130
5131 * hash.c (bfd_default_hash_table_size): New variable.
5132 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
5133 (bfd_hash_set_default_size): New function. Set the default size
5134 to a selected prime number close to the argument. Document new
5135 function.
5136 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
5137 * bfd-in2.h: Regenerate.
5138 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
5139 * Makefile.in: Regenerate.
5140
5141 2004-05-21 Mark Kettenis <kettenis@gnu.org>
5142
5143 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
5144 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
5145 arm, m68k, m88k and hppa core files.
5146
5147 2004-05-21 Nick Clifton <nickc@redhat.com>
5148
5149 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
5150 (bfd_bwrite): Likewise.
5151 (bfd_tell): Likewise.
5152 (bfd_flush): Likewise.
5153 (bfd_stat): Likewise.
5154 (bfd_seek): Likewise.
5155 (bfd_get_mtime): Likewise.
5156 (bfd_get_size): Likewise.
5157
5158 2004-05-19 Ben Elliston <bje@au.ibm.com>
5159
5160 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
5161
5162 2004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
5163
5164 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
5165 (bfd_generic_openr_next_archived_file): Likewise.
5166
5167 2004-05-17 Bob Wilson <bob.wilson@acm.org>
5168
5169 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
5170 section names by inserting a new substring after .gnu.linkonce, except
5171 for .gnu.linkonce.t.* where the "t." is replaced.
5172
5173 2004-05-17 Adam Nemet <anemet@lnxw.com>
5174
5175 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
5176 (m68-*-lynxos* case): Likewise.
5177 (powerpc-*-lyxnos* case): New case.
5178 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
5179
5180 2004-05-17 David Heine <dlheine@tensilica.com>
5181
5182 * aout-target.h (MY_bfd_copy_private_header_data): Define.
5183 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
5184 * bfd.c (bfd_copy_private_header_data): Define.
5185 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
5186 interface.
5187 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
5188 * coffcode.h (coff_bfd_copy_private_header_data): Define.
5189 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
5190 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
5191 segments by calling copy_private_bfd_data.
5192 (_bfd_elf_copy_private_header_data): Define.
5193 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
5194 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
5195 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
5196 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
5197 * mmo.c (mmo_bfd_copy_private_header_data): Define.
5198 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
5199 * som.c (som_bfd_copy_private_header_data): Define.
5200 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
5201 * vms.c (vms_bfd_copy_private_header_data): Define.
5202 * bfd-in2.h: Regenerate.
5203 * libbfd.h: Regenerate.
5204
5205 2004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5206
5207 * elfxx-mips.c (MINUS_TWO): Define.
5208 (mips_elf_higher, mips_elf_highest,
5209 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
5210 some bfd_vma values.
5211 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
5212
5213 2004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5214
5215 * som.c (log2): Rename to exact_log2. Adjust all callers.
5216
5217 2004-05-13 Paul Brook <paul@codesourcery.com>
5218
5219 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
5220 dwarf3 format CIE entries. Remove comment about the size of the
5221 ra_column field. It is now correctly deduced.
5222
5223 2004-05-13 Joel Sherrill <joel@oarcorp.com>
5224
5225 * config.bfd (or32-*-rtems*): Switch to elf.
5226
5227 2004-05-13 Nick Clifton <nickc@redhat.com>
5228
5229 * po/fr.po: Updated French translation.
5230
5231 2004-05-11 Jakub Jelinek <jakub@redhat.com>
5232
5233 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
5234 into .dynsym if elf_section_data (sec)->dynindx <= 0.
5235 Adjust counting of last_local.
5236 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
5237 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
5238 created by the linker nor !SHF_ALLOC.
5239
5240 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
5241 DT_PLTGOT to the start of the .got.plt section instead of the
5242 .got output section. Set sh_entsize for .got section in addition
5243 to .got.plt.
5244 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
5245 is at sgot->output_section->vma.
5246 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
5247 DT_PLTGOT to the start of the .got.plt section instead of the
5248 .got output section.
5249 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
5250 is at sgot->output_section->vma. Set sh_entsize for .got section
5251 in addition to .got.plt.
5252 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
5253 (bfd_section_from_phdr): Likewise.
5254 (map_sections_to_segments): Likewise.
5255 (assign_file_positions_for_segments): Likewise.
5256 (get_program_header_size): Likewise.
5257 * elflink.c (bfd_elf_size_dynamic_sections): Set
5258 elf_tdata (output_bfd)->relro from info->relro.
5259 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
5260
5261 2004-05-08 Alexandre Oliva <aoliva@redhat.com>
5262
5263 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
5264 a zero symndx for which we hadn't accounted a dynamic relocation.
5265 (_frvfdpic_add_rofixup): Likewise.
5266
5267 2004-05-07 Brian Ford <ford@vss.fsi.com>
5268 DJ Delorie <dj@redhat.com>
5269
5270 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
5271 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
5272 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
5273 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
5274
5275 2004-05-07 Alexandre Oliva <aoliva@redhat.com>
5276
5277 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
5278 immediately if there's no link info.
5279 (elf32_frvfdpic_copy_private_bfd_data): New.
5280 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
5281
5282 2004-05-06 Zack Weinberg <zack@codesourcery.com>
5283
5284 * dwarf2.c (add_line_info): Also set info->filename to NULL if
5285 filename argument is null; do not call strlen on a null pointer.
5286
5287 2004-05-06 Daniel Jacobowitz <drow@mvista.com>
5288
5289 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
5290 special case.
5291
5292 2004-05-05 Alexandre Oliva <aoliva@redhat.com>
5293
5294 * configure.in (bfd_elf32_frvfdpic_vec): New.
5295 * configure: Rebuilt.
5296 * targets.c (bfd_elf32_frvfdpic_vec): New.
5297 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
5298 on the latter.
5299 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
5300 frvfdpic instead of frv. Rearrange elf-target macros such that
5301 the FDPIC-specific ones are only defined for this new target
5302 vector.
5303 (bfd_elf32_frvfdpic_vec): Declare.
5304 (IS_FDPIC): New.
5305 (elf32_frv_relocate_section): Use it to enable segment checking
5306 and to control rofixup emission. Add output section vma to
5307 applied relocation in non-LOAD non-ALLOC sections. Use
5308 _bfd_error_handler for errors.
5309 (_frv_create_got_section): Create .rel.got and .rofixup only in
5310 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
5311 linker script.
5312 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
5313 (elf32_frvfdpic_modify_segment_map): Likewise.
5314 (elf32_frv_finish_dynamic_sections): New, do-nothing.
5315 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
5316 error message if we miscompute the rofixup size.
5317 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
5318 (frvfdpic_elf_encode_eh_address): Likewise.
5319 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
5320 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
5321 relocs. Reject unknown relocation types.
5322 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
5323 (frv_elf_merge_private_bfd_data): Likewise.
5324 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
5325 0x4000 for newly-added elf32-frvfdpic.
5326
5327 2004-05-05 Nick Clifton <nickc@redhat.com>
5328
5329 PR/136
5330 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
5331 returning NULL as most users of this function do not check its
5332 return value.
5333 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
5334 of bfd_cache_lookup().
5335 * sco5-core.c (sco5_core_file_p): Likewise.
5336 * trad-core.c (trad_unix_core_file_p): Likewise.
5337
5338 2004-05-05 Nick Clifton <nickc@redhat.com>
5339
5340 * cache.c (bfd_cache_lookup): Improve formatting.
5341 * archive.c: Fix formatting.
5342
5343 2004-05-05 Peter Barada <peter@the-baradas.com>
5344
5345 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
5346 * cpu-m68k.c(bfd_m68k_arch): Likewise.
5347 * bfd-in2.h(bfd_architecture): Regenerate.
5348
5349 2004-05-03 Alan Modra <amodra@bigpond.net.au>
5350
5351 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
5352 SEC_MERGE sections.
5353 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
5354 those against discarded link-once and SEC_MERGE section symbols.
5355
5356 2004-05-02 H.J. Lu <hongjiu.lu@intel.com>
5357
5358 * section.c (bfd_get_section_by_name_if): New.
5359 * bfd-in2.h: Regenerated.
5360
5361 2004-05-02 Alan Modra <amodra@bigpond.net.au>
5362
5363 * som.c (som_bfd_is_group_section): Define.
5364
5365 2004-05-01 Alan Modra <amodra@bigpond.net.au>
5366
5367 * section.c (bfd_make_section_anyway): Copy the whole
5368 bfd_hash_entry, not just "next" from existing entry.
5369
5370 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
5371
5372 * elf.c (bfd_section_from_shdr): Maintain the section order in
5373 a section group.
5374 (special_sections): Add ".note.GNU-stack".
5375 (elf_fake_sections): Handle section group for relocatable
5376 link..
5377
5378 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
5379
5380 * section.c (bfd_sections_find_if): New.
5381 * bfd-in2.h: Regenerated.
5382
5383 2004-04-30 Alan Modra <amodra@bigpond.net.au>
5384
5385 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
5386
5387 * elf-bfd.h (bfd_elf_is_group_section): Declare.
5388 * elf.c (bfd_elf_is_group_section): New function.
5389 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
5390 * section.c (bfd_generic_is_group_section): New function.
5391 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
5392 (BFD_JUMP_TABLE_LINK): Adjust.
5393 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
5394 * aout-target.h (MY_bfd_is_group_section): Define.
5395 * aout-tic30.c (MY_bfd_is_group_section): Define.
5396 * bfd.c (bfd_is_group_section): Define.
5397 * binary.c (binary_bfd_is_group_section): Define.
5398 * bout.c (b_out_bfd_is_group_section): Define.
5399 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
5400 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
5401 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
5402 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
5403 * coffcode.h (coff_bfd_is_group_section): Define.
5404 * i386msdos.c (msdos_bfd_is_group_section): Define.
5405 * i386os9k.c (os9k_bfd_is_group_section): Define.
5406 * ieee.c (ieee_bfd_is_group_section): Define.
5407 * ihex.c (ihex_bfd_is_group_section): Define.
5408 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
5409 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
5410 * mmo.c (mmo_bfd_is_group_section): Define.
5411 * nlm-target.h (nlm_bfd_is_group_section): Define.
5412 * oasys.c (oasys_bfd_is_group_section): Define.
5413 * pef.c (bfd_pef_bfd_is_group_section): Define.
5414 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
5415 * srec.c (srec_bfd_is_group_section): Define.
5416 * tekhex.c (tekhex_bfd_is_group_section): Define.
5417 * versados.c (versados_bfd_is_group_section): Define.
5418 * vms.c (vms_bfd_is_group_section): Define.
5419 * xsym.c (bfd_sym_bfd_is_group_section): Define.
5420 * bfd-in2.h: Regenerate.
5421 * libbfd.h: Regenerate.
5422
5423 2004-04-30 Alan Modra <amodra@bigpond.net.au>
5424
5425 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
5426
5427 2004-04-30 Hans-Peter Nilsson <hp@axis.com>
5428
5429 * configure.in: Update version to 2.15.91.
5430 * configure: Regenerate.
5431
5432 2004-04-29 Brian Ford <ford@vss.fsi.com>
5433
5434 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
5435 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
5436 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
5437 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
5438 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
5439 .gnu.linkonce.wi. sections.
5440 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
5441 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
5442 .gnu.linkonce.wi..
5443 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
5444 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
5445
5446 2004-04-28 Chris Demetriou <cgd@broadcom.com>
5447
5448 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
5449 * bfd-in2.h: Regenerate.
5450 * libbfd.h: Likewise.
5451
5452 2004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5453
5454 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
5455 dup_common fields.
5456 (setup_sections): Use som_subspace_dictionary_record struct instead
5457 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
5458 is_comdat, is_common or dup_common.
5459 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
5460 is_comdat, is_common and dup_common in section subspace_dict from
5461 copy_data.
5462 (som_begin_writing): Use som_subspace_dictionary_record struct.
5463 (som_finish_writing): Likewise.
5464 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
5465 is_common and dup_common flags in info for symbol. Add comment
5466 regarding linker support for these fields. Slightly reorganize
5467 function.
5468 (som_build_and_write_symbol_table): Set is_comdat, is_common and
5469 dup_common fields in symbol table from symbol info.
5470 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
5471 arguments. Set corresponding fields in copy_data. Change all callers.
5472 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
5473 symbol table.
5474 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
5475 * som.h (som_subspace_dictionary_record): Define.
5476 (som_copyable_section_data_struct): Add is_comdat, is_common and
5477 dup_common fields.
5478 (som_section_data_struct): Use som_subspace_dictionary_record struct
5479 instead of subspace_dictionary_record.
5480 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
5481
5482 2004-04-27 Bob Wilson <bob.wilson@acm.org>
5483
5484 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
5485 if set. Check reloc_done flag before applying relocations. Use
5486 output addresses, both when applying relocations and when comparing
5487 against the specified section.
5488 (elf_xtensa_relocate_section): Use output address to check if dynamic
5489 reloc is in a literal pool. Set section's reloc_done flag.
5490
5491 2004-04-27 H.J. Lu <hongjiu.lu@intel.com>
5492
5493 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
5494 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
5495 section.
5496 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
5497 section.
5498
5499 2004-04-27 Alan Modra <amodra@bigpond.net.au>
5500
5501 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
5502 structure field removed in 2004-04-24 patch.
5503 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
5504
5505 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
5506 Constify hdr arg.
5507 * elf32-arm.h (elf32_arm_section_flags): Likewise.
5508 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
5509 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
5510 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
5511 field before calling elf_backend_section_flags.
5512
5513 2004-04-24 Chris Demetriou <cgd@broadcom.com>
5514
5515 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
5516 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
5517 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
5518 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
5519 and BFD_RELOC_32_PCREL.
5520 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
5521 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
5522 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
5523 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
5524 (mips_elf_next_relocation): Move comment about matching HI/LO
5525 relocations to...
5526 (_bfd_mips_elf_relocate_section): Here. Remove handling for
5527 R_MIPS_GNU_REL_HI16.
5528
5529 2004-04-23 Chris Demetriou <cgd@broadcom.com>
5530
5531 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
5532 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
5533 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
5534 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
5535 and update comments to reflect current usage.
5536 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
5537 and MIPS_R_SWITCH, as well as several empty entries. Update comment
5538 for MIPS_R_PCREL16.
5539 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
5540 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
5541 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
5542 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
5543 type number to be MIPS_R_PCREL16.
5544 (mips_relocate_section): Remove support for link-time relaxation
5545 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
5546 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
5547 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
5548 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
5549 relaxation of branches used by embedded-PIC.
5550 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
5551 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
5552 related members, update comment.
5553 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
5554 code related to embedded-PIC.
5555 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
5556 initialization of now-removed 'adjust' member of
5557 'struct ecoff_debug_info'.
5558
5559 2004-04-23 Chris Demetriou <cgd@broadcom.com>
5560
5561 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
5562
5563 2004-04-21 Philip Blundell <pb@nexus.co.uk>
5564
5565 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
5566 relocs for locally defined symbols during -shared final link.
5567 (elf32_arm_final_link_relocate): Likewise.
5568
5569 2004-04-22 Jakub Jelinek <jakub@redhat.com>
5570
5571 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
5572 ELF_LINK_POINTER_EQUALITY_NEEDED.
5573 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
5574 if r_type is not R_X86_64_PC32.
5575 (elf64_x86_64_finish_dynamic_symbol): If
5576 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
5577 SHN_UNDEF symbols.
5578
5579 2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5580
5581 * elf32-sh.c (sh_elf_plt_sym_val): New function.
5582 (elf_backend_plt_sym_val): Define.
5583
5584 2004-04-22 Andrew Cagney <cagney@redhat.com>
5585
5586 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
5587
5588 2004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5589
5590 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5591 make_bfd_asection.
5592 * som.c (som_set_section_contents): Constantify second argument.
5593 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
5594 (som_object_setup): Rework to avoid warning.
5595 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
5596 Likewise.
5597
5598 2004-04-22 Andrew Cagney <cagney@redhat.com>
5599
5600 * cache.c (bfd_cache_close): Check for a previously closed file.
5601
5602 2004-04-22 Jakub Jelinek <jakub@redhat.com>
5603
5604 * bfd.c (bfd_get_synthetic_symtab): Define.
5605 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
5606 NAME##_get_synthetic_symtab.
5607 (struct bfd_target): Add _bfd_get_synthetic_symtab.
5608 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
5609 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
5610 relplt_name fields.
5611 (_bfd_elf_get_synthetic_symtab): New prototype.
5612 * elfcode.h (elf_get_synthetic_symtab): Define.
5613 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
5614 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
5615 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
5616 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
5617 * bfd-in2.h: Rebuilt.
5618 * libbfd.h: Rebuilt.
5619 * elf32-i386.c (elf_i386_plt_sym_val): New function.
5620 (elf_backend_plt_sym_val): Define.
5621 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
5622 (elf_backend_plt_sym_val): Define.
5623 * elf32-s390.c (elf_s390_plt_sym_val): New function.
5624 (elf_backend_plt_sym_val): Define.
5625 * elf64-s390.c (elf_s390_plt_sym_val): New function.
5626 (elf_backend_plt_sym_val): Define.
5627 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
5628 (elf_backend_plt_sym_val): Define.
5629 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
5630 (elf_backend_plt_sym_val): Define.
5631 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
5632 (elf_backend_plt_sym_val): Define.
5633 * aout-target.h (MY_get_synthetic_symtab): Define.
5634 * aout-tic30.c (MY_get_synthetic_symtab): Define.
5635 * coff-rs6000.c (rs6000coff_vec): Add
5636 _bfd_nodynamic_get_synthetic_symtab.
5637 (pmac_xcoff_vec): Likewise.
5638 * coff64-rs6000.c (rs6000coff64_vec): Add
5639 _bfd_nodynamic_get_synthetic_symtab.
5640 (aix5coff64_vec): Likewise.
5641 * sunos.c (MY_get_synthetic_symtab): Define.
5642 * vms.c (vms_get_synthetic_symtab): Define.
5643
5644 2004-04-22 Nick Clifton <nickc@redhat.com>
5645
5646 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
5647
5648 2004-04-22 Peter Barada <peter@the-baradas.com>
5649
5650 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
5651 * bfd2-in.h: Regenerate.
5652 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
5653
5654 2004-04-21 Chris Demetriou <cgd@broadcom.com>
5655
5656 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
5657 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
5658 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
5659 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
5660 * bfd-in2.h: Regenerate.
5661
5662 2004-04-21 Bob Wilson <bob.wilson@acm.org>
5663
5664 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
5665 require relocations against a weak symbol to reference the same
5666 symbol hash entry if not a final, static link.
5667 (get_cached_value, add_value_map): Add final_static_link argument.
5668 (remove_literals): Pass final_static_link argument as needed.
5669
5670 2004-04-21 Andrew Cagney <cagney@redhat.com>
5671
5672 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
5673 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
5674 (opncls_bwrite, opncls_bclose, opncls_bflush)
5675 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
5676 bfd iovec that uses function callbacks.
5677 (bfd_close): Use the iovec's bclose.
5678 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
5679 (cache_bclose, cache_bflush, cache_bstat)
5680 (cache_iovec): New functions and global variable, implement a
5681 cache "iovec", where applicable set bfd_error.
5682 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
5683 * bfdio.c (struct bfd_iovec): Define.
5684 (real_read): Delete function.
5685 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
5686 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
5687 assume that bread and bwrite set bfd_error.
5688 * bfd.c (struct bfd): Add "iovec", update comments.
5689 * bfd-in2.h, libbfd.h: Re-generate.
5690
5691 2004-04-21 Andrew Cagney <cagney@redhat.com>
5692
5693 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
5694
5695 2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
5696
5697 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
5698 (bfd_elf_gc_sections): Fail if a shared object is being created.
5699 Do not fail if dynamic sections have been created. Instead call
5700 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
5701 dynamically referenced symbols. Do not mark the whole graph
5702 rooted at .eh_frame, only the section proper.
5703
5704 2004-04-20 DJ Delorie <dj@redhat.com>
5705
5706 * reloc.c: Add BFD_RELOC_32_SECREL.
5707 * bfd-in2.h: Regenerate.
5708 * libbfd.h: Likewise.
5709 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
5710 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
5711 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
5712
5713 2004-04-19 Jakub Jelinek <jakub@redhat.com>
5714
5715 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
5716 relocs against hidden/protected undefweak symbols properly.
5717 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5718
5719 2004-04-18 Mark Kettenis <kettenis@gnu.org>
5720
5721 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
5722 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
5723 core files.
5724
5725 2004-04-17 Brian Ford <ford@vss.fsi.com>
5726
5727 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
5728 filepos for the SizeOfHeaders field.
5729 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
5730 overflow.
5731 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
5732
5733 2004-04-16 Alan Modra <amodra@bigpond.net.au>
5734
5735 * simple.c (bfd_simple_get_relocated_section_contents): Don't
5736 change reloc_done. Set and restore _cooked_size.
5737 (RETURN): Delete.
5738
5739 2004-04-15 Mark Kettenis <kettenis@gnu.org>
5740
5741 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
5742 core files.
5743
5744 2004-04-15 Nick Clifton <nickc@redhat.com>
5745
5746 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
5747
5748 2004-04-15 Alan Modra <amodra@bigpond.net.au>
5749
5750 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
5751
5752 2004-04-15 H.J. Lu <hongjiu.lu@intel.com>
5753
5754 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
5755 when it is a definition.
5756
5757 2004-04-14 Alan Modra <amodra@bigpond.net.au>
5758
5759 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
5760 when statically linking PIC code.
5761 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5762
5763 2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5764
5765 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
5766 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
5767 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
5768 * configure: Regenerate.
5769
5770 2004-04-08 Richard Sandiford <rsandifo@redhat.com>
5771
5772 * elflink.c: Include libiberty.h.
5773 * Makefile.am (elflink.lo): Depend on libiberty.h.
5774 * Makefile.in: Regenerate.
5775
5776 2004-04-06 Daniel Jacobowitz <drow@mvista.com>
5777
5778 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
5779 ".MIPS.stubs".
5780
5781 2004-04-05 H.J. Lu <hongjiu.lu@intel.com>
5782
5783 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
5784 reserve the memory for dynamic linker
5785
5786 2004-04-05 Mark Kettenis <kettenis@gnu.org>
5787
5788 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
5789 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
5790
5791 2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
5792
5793 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
5794 RELOC_FOR_GLOBAL_SYMBOL.
5795 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
5796
5797 2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
5798
5799 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
5800 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
5801
5802 2004-04-01 Paul Brook <paul@codesourcery.com>
5803
5804 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
5805 * elf32-arm.h (struct elf32_elf_section_map): New.
5806 (struct _arm_elf_section_data): New.
5807 (elf32_arm_section_data): Define.
5808 (struct elf32_arm_link_hash_table): Add byteswap_code.
5809 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
5810 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
5811 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
5812 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
5813 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
5814 (bfd_elf32_new_section_hook, elf_backend_write_section,
5815 elf_backend_link_output_symbol_hook): Define.
5816
5817 2004-04-01 Andy Chittenden <achittenden@bluearc.com>
5818
5819 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
5820 that keeps the characters in a B_INCL..B_EINCL range.
5821 (_bfd_link_section_stabs): When computing the sum of the
5822 characters in a B_INCL..B_EINCL range also keep a copy of those
5823 characters. Use this information to distinguish between
5824 include sections that have the same sum and the same length
5825 but which are nevertheless unique.
5826
5827 2004-03-31 Paul Brook <paul@codesourcery.com>
5828
5829 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
5830 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
5831
5832 2004-03-31 Andy Chittenden <achittenden@bluearc.com>
5833
5834 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
5835 to 'sum_chars' and add field 'num_chars'.
5836 (_bfd_link_section_stabs): When computing the sum of the
5837 characters in a B_INCL..B_EINCL range also keep a count of the
5838 number of characters. Use this information to help distinguish
5839 between include sections when have the same sum but which
5840 nevertheless are still unique.
5841
5842 2004-03-31 Mattias Engdegård <mattias@virtutech.se>
5843
5844 * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
5845
5846 2004-03-30 Galit Heller <Galit.Heller@nsc.com>
5847 Tomer Levi <Tomer.Levi@nsc.com>
5848
5849 * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
5850 (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
5851 (BFD32_BACKENDS): Add elf32-cr16c.lo.
5852 (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
5853 (cpu-cr16c.lo): New target.
5854 (elf32-cr16c.lo): Likewise.
5855 * Makefile.in: Regenerate.
5856 * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
5857 (bfd_archures_list): Add bfd_cr16c_arch.
5858 * config.bfd: Handle cr16c-*-elf*.
5859 * configure.in: Handle bfd_elf32_cr16c_vec.
5860 * configure: Regenerate.
5861 * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
5862 BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
5863 BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
5864 BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
5865 BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
5866 BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
5867 BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
5868 BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
5869 BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
5870 BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
5871 BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
5872 BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
5873 BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
5874 BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
5875 BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
5876 BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
5877 BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
5878 BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
5879 BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
5880 BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
5881 * targets.c (bfd_elf32_cr16c_vec): Declare.
5882 (bfd_target_vector): Add bfd_elf32_cr16c_vec.
5883 * cpu-cr16c.c: New file.
5884 * elf32-cr16c.c: Likewise.
5885 * libbfd.h: Regenerate.
5886 * bfd-in2.h: Likewise.
5887
5888 2004-03-30 Jakub Jelinek <jakub@redhat.com>
5889
5890 * elf.c (map_sections_to_segments): Fix handling of .tbss.
5891
5892 2004-03-27 Alan Modra <amodra@bigpond.net.au>
5893
5894 * Makefile.am: Remove all mention of elflink.h.
5895 * Makefile.in: Regenerate.
5896 * bfd-in.h (bfd_elf_discard_info): Declare.
5897 (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
5898 * bfd-in2.h: Regenerate.
5899 * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
5900 bfd_elf32_link_record_dynamic_symbol,
5901 bfd_elf64_link_record_dynamic_symbol,
5902 _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
5903 bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
5904 _bfd_elf32_link_record_local_dynamic_symbol,
5905 _bfd_elf64_link_record_local_dynamic_symbol,
5906 _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
5907 _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
5908 _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
5909 _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
5910 _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
5911 _bfd_elf32_reloc_symbol_deleted_p,
5912 _bfd_elf64_reloc_symbol_deleted_p): Delete.
5913 (bfd_elf_link_record_dynamic_symbol,
5914 bfd_elf_link_record_local_dynamic_symbol,
5915 bfd_elf_final_link, bfd_elf_gc_sections,
5916 bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
5917 bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
5918 bfd_elf_reloc_symbol_deleted_p): Declare.
5919 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
5920 * elf32-arm.h: Update for changed function names. Remove local
5921 WILL_CALL_FINISH_DYNAMIC_SECTION define.
5922 * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
5923 * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
5924 * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
5925 * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
5926 * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
5927 * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
5928 * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
5929 * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
5930 * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
5931 (bfd_elfNN_print_symbol): Define.
5932 * elfcode.h: Don't include elflink.h.
5933 (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
5934 elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
5935 elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
5936 elf_gc_record_vtinherit, elf_gc_record_vtentry,
5937 elf_link_record_local_dynamic_symbol): Don't define.
5938 * elflink.c: Update for changed function names. Move elflink.h
5939 code here.
5940 * elflink.h: Delete file.
5941 * po/SRC-POTFILES.in: Regenerate.
5942 * po/bfd.pot: Regenerate.
5943
5944 2004-03-27 Alan Modra <amodra@bigpond.net.au>
5945
5946 * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
5947 "name" for global syms accidentally removed in 2004-03-20 change.
5948
5949 2004-03-27 Alan Modra <amodra@bigpond.net.au>
5950
5951 * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
5952 * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
5953 where Elf_External_* is different for 64 and 32 bit, with
5954 corresponding elf_size_info field.
5955 (struct elf_final_link_info): Use "bfd_byte *" instead
5956 of "Elf_External_Sym *" for external_syms and symbuf.
5957 (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
5958 vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
5959 (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
5960 (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
5961 (elf_link_sort_cmp2): Adjust.
5962 (elf_link_sort_relocs): Set up r_sym_mask local var instead of
5963 using ELF_R_SYM macro. Set u.sym_mask.
5964 (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
5965 version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
5966 vs. section_from_elf_index. Adjust Elf_External_Sym pointer
5967 arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
5968 Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
5969 swap_syn_out functions. Rearrange dyn swap in/out switch.
5970 (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
5971 Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
5972 (elf_link_flush_output_syms): Add elf_backend_data arg.
5973 (elf_link_check_versioned_symbol): Likewise.
5974 (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
5975 Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
5976 (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
5977 r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
5978 ELF_R_TYPE and ELF_R_INFO macros.
5979 (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
5980 based on size rather than using ELF_R_INFO.
5981 (elf_gc_mark): Set up r_sym_shift local var and use instead of
5982 ELF_R_SYM macro.
5983 (struct alloc_got_off_arg): New.
5984 (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
5985 ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
5986 (elf_gc_allocate_got_offsets): Adjust.
5987 (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
5988 ELF_R_SYM. Use bfd_section_from_elf_index.
5989 (elf_bfd_discard_info): Set cookie.r_sym_shift.
5990 * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
5991 (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
5992
5993 2004-03-26 Stan Shebs <shebs@apple.com>
5994
5995 Remove MPW support, no longer used.
5996 * config.bfd (powerpc-*-mpw*): Remove configuration.
5997 * mpw-config.in, mpw-make.sed: Remove files.
5998 * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
5999
6000 2004-03-26 Alan Modra <amodra@bigpond.net.au>
6001
6002 * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
6003 (ppc64_elf_add_symbol_hook): New function.
6004 * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
6005 const from Elf_Internal_Sym param.
6006 * elflink.c (elf_link_add_object_symbols): Adjust.
6007 * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
6008 * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
6009 * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
6010 * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
6011 * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
6012 * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
6013 * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
6014 * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
6015 * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
6016 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
6017 * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
6018 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
6019 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
6020 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
6021 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
6022 * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
6023
6024 2004-03-26 Alan Modra <amodra@bigpond.net.au>
6025
6026 * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
6027 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
6028 (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
6029 (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
6030 (bfd_elf64_bfd_link_add_symbols): Delete.
6031 (bfd_elf_link_add_symbols): Declare.
6032 * elfcode.h (elf_bfd_link_add_symbols): Delete.
6033 * elflink.c: Include safe-ctype.h.
6034 (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
6035 make static.
6036 (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
6037 (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
6038 static.
6039 (elf_link_add_archive_symbols): Rename from
6040 _bfd_elf_link_add_archive_symbols, make static.
6041 (elf_link_add_object_symbols): New function. Corresponding
6042 elflink.h function converted to use elf_size_info.
6043 (bfd_elf_link_add_symbols): Likewise.
6044 (bfd_elf_size_dynamic_sections): Adjust.
6045 * elflink.h (elf_bfd_link_add_symbols): Delete.
6046 (elf_link_add_object_symbols): Delete.
6047 * elf32-gen.c (elf32_generic_link_add_symbols): Call
6048 bfd_elf_link_add_symbols.
6049 * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
6050
6051 2004-03-25 Alan Modra <amodra@bigpond.net.au>
6052
6053 * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
6054 and chained shared libs only if dynsym. Clear dynsym on forced-local.
6055
6056 * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
6057 (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
6058 (_bfd_elf_add_dt_needed_tag): Declare.
6059 (_bfd_elf_sort_symbol): Declare.
6060 (_bfd_elf_finalize_dynstr): Declare.
6061 (RELOC_FOR_GLOBAL_SYM): Formatting.
6062 * elfcode.h (elf_add_dynamic_entry): Delete.
6063 * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
6064 elflink.h function converted to use elf_size_info.
6065 (_bfd_elf_add_dt_needed_tag): Likewise.
6066 (_bfd_elf_sort_symbol): Likewise.
6067 (_bfd_elf_finalize_dynstr): Likewise.
6068 (compute_bucket_count): Likewise.
6069 (bfd_elf_size_dynamic_sections): Likewise. Check result of
6070 _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
6071 (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
6072 * elflink.h: ..here.
6073 (sort_symbol, add_dt_needed_tag): Delete.
6074 (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
6075 (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
6076 Update all users.
6077 * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
6078 * elf32-cris.c (add_dynamic_entry): Likewise.
6079 * elf32-hppa.c (add_dynamic_entry): Likewise.
6080 * elf32-i370.c (add_dynamic_entry): Likewise.
6081 * elf32-i386.c (add_dynamic_entry): Likewise.
6082 * elf32-m32r.c (add_dynamic_entry): Likewise.
6083 * elf32-m68k.c (add_dynamic_entry): Likewise.
6084 * elf32-ppc.c (add_dynamic_entry): Likewise.
6085 * elf32-s390.c (add_dynamic_entry): Likewise.
6086 * elf32-sh.c (add_dynamic_entry): Likewise.
6087 * elf32-sparc.c (add_dynamic_entry): Likewise.
6088 * elf32-vax.c (add_dynamic_entry): Likewise.
6089 * elf32-xtensa.c (add_dynamic_entry): Likewise.
6090 * elf64-alpha.c (add_dynamic_entry): Likewise.
6091 * elf64-hppa.c (add_dynamic_entry): Likewise.
6092 * elf64-ppc.c (add_dynamic_entry): Likewise.
6093 * elf64-s390.c (add_dynamic_entry): Likewise.
6094 * elf64-sparc.c (add_dynamic_entry): Likewise.
6095 * elf64-x86-64.c (add_dynamic_entry): Likewise.
6096 * elfxx-ia64.c (add_dynamic_entry): Likewise.
6097 * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
6098 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
6099 * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
6100 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
6101
6102 2004-03-23 Paul Brook <paul@codesourcery.com>
6103
6104 * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
6105
6106 2004-03-22 Bob Wilson <bob.wilson@acm.org>
6107
6108 * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
6109 literal tables and check for relocs outside of literal pools.
6110 (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
6111 (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
6112 set DF_TEXTREL.
6113 (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
6114 (elf_xtensa_relocate_section): Read literal tables and check for
6115 dynamic relocations in read-only sections and not in literal pools.
6116
6117 2004-03-23 Alan Modra <amodra@bigpond.net.au>
6118
6119 PR 51.
6120 * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
6121
6122 2004-03-22 Hans-Peter Nilsson <hp@axis.com>
6123
6124 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
6125 R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
6126 not defined by the executable, or defined in a DSO.
6127 <eliding run-time relocation of .got>: Initialize GOT entry for a
6128 function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
6129 executable.
6130 (cris_elf_gc_sweep_hook): Improve fallthrough marking.
6131 (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
6132 a PLT reloc to GOT for an executable.
6133 (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
6134 .got for a DSO and explain why.
6135 (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
6136 and unreferenced symbols for which a PLT is defined. Adjust
6137 dynamic-symbol pruning correspondingly, to make sure we don't lose
6138 a dynamic symbol also defined by a DSO.
6139
6140 2004-03-22 Alan Modra <amodra@bigpond.net.au>
6141
6142 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
6143 and rel args. Group input and output args. Wrap to 80 columns.
6144 * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
6145 elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
6146 elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
6147 elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
6148 elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
6149 elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
6150 elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
6151 elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
6152 RELOC_FOR_GLOBAL_SYMBOL invocation.
6153
6154 2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
6155
6156 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
6157 unresolved symbols in objects aren't allowed.
6158
6159 * elf-hppa.h (elf_hppa_relocate_section): Properly handle
6160 unresolved symbols.
6161 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
6162 (elf_hppa_unmark_useless_dynamic_symbols):
6163 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
6164 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
6165 (elf32_hppa_relocate_section): Likewise.
6166 * elf32-i370.c (i370_elf_relocate_section): Likewise.
6167 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6168 * elf32-sh.c (sh_elf_relocate_section): Likewise.
6169 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
6170 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
6171
6172 * elf-m10200.c (mn10200_elf_relocate_section): Use
6173 RELOC_FOR_GLOBAL_SYMBOL.
6174 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
6175 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
6176 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
6177 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
6178 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
6179 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
6180 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
6181 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
6182 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
6183 * elf32-v850.c (v850_elf_relocate_section): Likewise.
6184 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
6185 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
6186
6187 2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6188
6189 * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
6190 (final_link_relocate): Likewise.
6191 * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
6192 R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
6193
6194 2004-03-19 Alan Modra <amodra@bigpond.net.au>
6195
6196 * Makefile.am: Run "make dep-am".
6197 * Makefile.in: Regenerate.
6198 * aclocal.m4: Regenerate.
6199 * config.in: Regenerate.
6200 * po/bfd.pot: Regenerate.
6201
6202 2004-03-19 Alan Modra <amodra@bigpond.net.au>
6203 H.J. Lu <hongjiu.lu@intel.com>
6204
6205 * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
6206 type and size change code to where it was previously. Remove
6207 dt_needed param. Treat old weak syms as strong if new sym is
6208 from a shared lib, even when old sym is from another shared
6209 lib. Remove unnecessary tests of oldweak and newweak. Correct
6210 comments.
6211 (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
6212 _bfd_elf_merge_symbol calls.
6213 * elflink.h (elf_link_add_object_symbols): Update calls. Remove
6214 dt_needed local var. Update comments.
6215 * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
6216 (_bfd_elf_add_default_symbol): Likewise.
6217
6218 * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
6219 strong syms in one shared object overriding weak syms in another.
6220
6221 2004-03-18 Alan Modra <amodra@bigpond.net.au>
6222
6223 * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
6224 dyn_lib_class field. Rearrange for better packing.
6225 (elf_dt_soname): Delete.
6226 (elf_dyn_lib_class): Define.
6227 * elf.c (bfd_elf_set_dt_needed_name): Update comment.
6228 (bfd_elf_set_dt_needed_soname): Delete.
6229 (bfd_elf_set_dyn_lib_class): New function.
6230 * elflink.h (add_dt_needed_tag): New function. Split out from..
6231 (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
6232 Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
6233 initialization of soname.
6234 (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
6235 elf_dt_soname.
6236 * bfd-in.h (enum dynamic_lib_link_class): New.
6237 (bfd_elf_set_dt_needed_soname): Delete.
6238 (bfd_elf_set_dyn_lib_class): Declare.
6239 * bfd-in2.h: Regenerate.
6240
6241 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
6242 (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
6243 * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
6244 symbol loop. Instead use add_needed to flag tag as written.
6245
6246 2004-03-17 Nathan Sidwell <nathan@codesourcery.com>
6247
6248 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
6249 logic for null_input_bfd detection.
6250
6251 2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
6252
6253 * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
6254
6255 2004-03-16 Mark Kettenis <kettenis@gnu.org>
6256
6257 * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
6258 code.
6259
6260 2004-03-16 Alan Modra <amodra@bigpond.net.au>
6261
6262 * elflink.c (elf_link_read_relocs_from_section): Don't use
6263 NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
6264 (_bfd_elf_link_read_relocs): ..to here.
6265 * elf32-ppc.c (ppc_elf_relax_section): Formatting.
6266
6267 2004-03-16 Alan Modra <amodra@bigpond.net.au>
6268
6269 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
6270 values selected in configure.host. Require both to be defined
6271 before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
6272 corresponding BFD_HOST vars with quotes.
6273 <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
6274 Always require BFD_HOST_64_BIT_DEFINED.
6275 <file_ptr type>: Find off_t size before emitting message. Combine
6276 off_t and ftello64 conditional.
6277 * configure: Regenerate.
6278
6279 2004-03-16 Alan Modra <amodra@bigpond.net.au>
6280
6281 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
6282 aliasing warning. Remove trailing whitespace throughout file.
6283
6284 2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6285
6286 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
6287 input_section in calls to get_dyn_name.
6288 * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
6289 local symbols.
6290 (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
6291
6292 2004-03-15 Alan Modra <amodra@bigpond.net.au>
6293
6294 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
6295 (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
6296 (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
6297 (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
6298 (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
6299 * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
6300 (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
6301 when using long.
6302 * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
6303 (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
6304 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
6305 (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
6306 (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
6307 * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
6308 (read_8_bytes, read_indirect_string, read_address): Likewise.
6309 (read_abbrevs, parse_comp_unit): Likewise.
6310 * targets.c (struct bfd_target): Likewise.
6311 * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
6312 * hppabsd-core.c: Likewise. Formatting.
6313 * hpux-core.c: Likewise.
6314 * irix-core.c: Likewise.
6315 * netbsd-core.c: Likewise.
6316 * osf-core.c: Likewise.
6317 * ptrace-core.c: Likewise.
6318 * sco5-core.c: Likewise.
6319 * trad-core.c: Likewise.
6320 * configure: Regenerate.
6321 * bfd-in2.h: Regenerate.
6322
6323 2004-03-15 Alan Modra <amodra@bigpond.net.au>
6324
6325 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
6326 (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
6327 (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
6328 (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
6329 (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
6330 (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
6331 (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
6332 * libbfd.c: Likewise in function definitions.
6333 (bfd_put_8): Mask with 0xff rather than casting to char.
6334 (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
6335 (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
6336 (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
6337 (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
6338 (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
6339 (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
6340 * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
6341 (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
6342 (H_GET_64, H_GET_32, H_GET_16): Likewise.
6343 (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
6344 * archive.c (do_slurp_coff_armap): Update swap prototype.
6345 * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
6346 (tic54x_getl_signed_32): Likewise.
6347 (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
6348 * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
6349 * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
6350 (bfd_getp_signed_32, bfd_putp32): Likewise.
6351 * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
6352 bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
6353 bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
6354 bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
6355 bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
6356 bfd_h_getx_signed_16, bfd_h_putx16.
6357 * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
6358 * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
6359 * hpux-core.c: Likewise.
6360 * irix-core.c: Likewise.
6361 * netbsd-core.c: Likewise.
6362 * osf-core.c: Likewise.
6363 * ptrace-core.c: Likewise.
6364 * sco5-core.c: Likewise.
6365 * trad-core.c: Likewise.
6366 * bfd-in2.h: Regenerate.
6367
6368 2004-03-15 Matt Thomas <matt@3am-software.com>
6369
6370 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
6371 selected.
6372
6373 2004-03-13 Mark Kettenis <kettenis@gnu.org>
6374
6375 * config.bfd: Add x86_64-*-openbsd*.
6376 * configure.in (x86_64-*-openbsd*): Set COREFILE to
6377 netbsd-core.lo.
6378 * configure: Regenerate.
6379
6380 2004-03-12 Nick Clifton <nickc@redhat.com>
6381 Dave Murphy <wintermute2k4@ntlworld.com>
6382
6383 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
6384 if the input bfd does not contain any code.
6385
6386 2004-03-09 Steve Ellcey <sje@cup.hp.com>
6387
6388 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
6389
6390 2004-03-05 Fred Fish <fnf@redhat.com>
6391
6392 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
6393 mips16 symbols to be even rather than testing first for even/odd.
6394 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
6395
6396 2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
6397
6398 * elf.c (map_sections_to_segments): Ignore .tbss sections for
6399 layout purposes.
6400
6401 2004-03-03 Alexandre Oliva <aoliva@redhat.com>
6402
6403 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
6404 undefined symbols as hash_new.
6405
6406 2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
6407
6408 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
6409 * cpu-sh.c: Ditto.
6410 * elf32-sh.c: Ditto.
6411 * bfd-in2.h: Regenerate.
6412
6413 2004-03-02 Alexandre Oliva <aoliva@redhat.com>
6414
6415 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
6416 dynrelocs.
6417 (_frv_count_got_plt_entries): Initialize them.
6418 (frv_pic_relocs_info_find): Add insert argument. Adjust all
6419 callers.
6420 (frv_pic_relocs_info_for_global): Likewise.
6421 (frv_pic_relocs_info_for_local): Likewise.
6422 (frv_pic_merge_early_relocs_info): New.
6423 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
6424 another.
6425 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
6426 Check that we don't exceed the allocated count for entry.
6427 (_frv_add_rofixup): Likewise.
6428 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
6429 (elf32_frv_finish_dynamic_sections): Improve error message in case
6430 we emit too few rofixup entries.
6431
6432 2004-03-01 Richard Sandiford <rsandifo@redhat.com>
6433
6434 * archures.c (bfd_mach_fr450): New.
6435 * bfd-in2.h: Regenerate.
6436 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
6437 (arch_info_500): Link to it.
6438 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
6439 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
6440 (frv_elf_arch_extension_p): New function.
6441 (frv_elf_merge_private_bfd_data): Use it.
6442
6443 2004-02-28 H.J. Lu <hongjiu.lu@intel.com>
6444
6445 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
6446
6447 * elflink.h (is_global_data_symbol_definition): Moved to
6448 elflink.c.
6449 (elf_link_is_defined_archive_symbol): Likewise.
6450 (elf_link_add_archive_symbols): Likewise. Renamed to
6451 _bfd_elf_link_add_archive_symbols.
6452
6453 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
6454 of ELF symbol table entry from backend.
6455 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
6456 instead of elf_link_add_object_symbols.
6457
6458 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
6459
6460 * elf-bfd.h (struct elf_backend_data): Added
6461 elf_backend_can_make_relative_eh_frame,
6462 elf_backend_can_make_lsda_relative_eh_frame and
6463 elf_backend_encode_eh_address.
6464 (_bfd_elf_encode_eh_address): Declare.
6465 (_bfd_elf_can_make_relative): Declare.
6466 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
6467 hooks to decide whether to attempt to make_relative and
6468 make_lsda_relative.
6469 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
6470 (_bfd_elf_can_make_relative): New.
6471 (_bfd_elf_encode_eh_address): New.
6472 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
6473 (frv_elf_encode_eh_address): New.
6474 (elf_backend_can_make_relative_eh_frame): Define.
6475 (elf_backend_can_make_lsda_relative_eh_frame): Define.
6476 (elf_backend_encode_eh_address): Define.
6477 * elfxx-target.h
6478 (elf_backend_can_make_relative_eh_frame): Define.
6479 (elf_backend_can_make_lsda_relative_eh_frame): Define.
6480 (elf_backend_encode_eh_address): Define.
6481 (elfNN_bed): Add them.
6482
6483 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
6484
6485 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
6486 complain_on_overflow to signed.
6487
6488 2004-02-27 H.J. Lu <hongjiu.lu@intel.com>
6489
6490 * elflink.h (sort_symbol): New.
6491 (elf_link_add_object_symbols): Use a sorted symbol array for
6492 weakdef.
6493
6494 2004-02-27 Jakub Jelinek <jakub@redhat.com>
6495
6496 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
6497 for pc relative relocs.
6498 (elf_s390_relocate_section): Likewise.
6499 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
6500 for pc relative relocs.
6501 (elf_s390_relocate_section): Likewise.
6502
6503 2004-02-26 H.J. Lu <hongjiu.lu@intel.com>
6504
6505 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
6506 count_dyn_reloc.
6507
6508 2004-02-25 H.J. Lu <hongjiu.lu@intel.com>
6509
6510 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
6511 field to track if a relocation is against readonly section.
6512 (count_dyn_reloc): Take a new argument for rent->reltext.
6513 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
6514 (get_reloc_section): Don't set ia64_info->reltext here.
6515 (allocate_dynrel_entries): Set ia64_info->reltext here.
6516
6517 2004-02-24 Alexandre Oliva <aoliva@redhat.com>
6518
6519 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
6520 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
6521 function's descriptor to symbol+offset, and map local undefweak
6522 symbol to NULL function descriptor.
6523 (elf32_frv_relocate_section): Likewise.
6524
6525 2004-02-23 Mark Kettenis <kettenis@gnu.org>
6526
6527 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
6528 M_X86_64_NETBSD.
6529 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
6530 (netbsd_core_file_p): Set architecture from machine ID for
6531 selected machines.
6532
6533 2004-02-23 Jakub Jelinek <jakub@redhat.com>
6534
6535 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
6536 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
6537
6538 2004-02-21 H.J. Lu <hongjiu.lu@intel.com>
6539
6540 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
6541 symbols with non-default visibility.
6542
6543 2004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
6544
6545 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
6546 IMAGE_SCN_MEM_WRITE on known sections only.
6547
6548 2004-02-20 Jakub Jelinek <jakub@redhat.com>
6549
6550 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
6551 symbols used in PIE relocs.
6552
6553 2004-02-19 Jakub Jelinek <jakub@redhat.com>
6554
6555 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
6556 .plt sh_entsize.
6557
6558 2004-02-18 Daniel Jacobowitz <drow@mvista.com>
6559
6560 * configure.in: Update version to 2.15.90.
6561 * configure: Regenerate.
6562
6563 2004-02-17 Daniel Jacobowitz <drow@mvista.com>
6564 Richard Sandiford <rsandifo@redhat.com>
6565
6566 * elfxx-mips.c (mips_elf_calculate_relocation): Use
6567 _bfd_elf_symbol_refs_local_p to decide whether to decay
6568 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
6569 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
6570 relocs if the symbol wasn't defined by a regular object file.
6571 Don't check the symbol's dynindx.
6572
6573 2004-02-16 Andrew Cagney <cagney@redhat.com>
6574
6575 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
6576 @bfd_file_ptr@.
6577 * bfd-in2.h: Re-generate.
6578
6579 2004-02-14 Andrew Cagney <cagney@redhat.com>
6580
6581 * configure.host (HDEFINES): When hppa*-*-hpux*, define
6582 _LARGEFILE64_SOURCE.
6583
6584 2004-02-13 Andrew Cagney <cagney@redhat.com>
6585
6586 * elf.c (vma_page_aligned_bias): New function.
6587 (assign_file_positions_except_relocs)
6588 (assign_file_positions_for_segments): Replace broken modulo
6589 arithmetic with call to vma_page_aligned_bias.
6590
6591 2004-02-11 Andrew Cagney <cagney@redhat.com>
6592
6593 * bfd-in.h: Update copyright.
6594 (bfd_tell): Change return type to file_ptr.
6595 * bfd-in2.h: Re-generate.
6596 * cache.c: Update copyright.
6597 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
6598 parameter.
6599 (close_one): Use real_ftell.
6600 * bfdio.c: Update copyright.
6601 (real_ftell, real_fseek): New functions.
6602 (bfd_tell): Use real_fseek and real_ftell, change return type to
6603 file_ptr.
6604 (bfd_seek): Use real_ftell and real_fseek, change type of
6605 file_position to a file_ptr.
6606 * libbfd-in.h: Update copyright.
6607 (real_ftell, real_fseek): Declare.
6608 * libbfd.h: Re-generate.
6609
6610 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
6611 fseeko and fseeko64. Determine bfd_file_ptr.
6612 * configure: Re-generate.
6613 * config.in: Re-generate.
6614
6615 2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
6616
6617 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
6618 * elf32-h8300.c: Likewise.
6619
6620 2004-02-09 Christian Vogel <vogelchr@vogel.cx>
6621 Nick Clifton <nickc@redhat.com>
6622
6623 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
6624 GOT entries with no associated GOT subsection.
6625
6626 2004-02-09 Richard Sandiford <rsandifo@redhat.com>
6627
6628 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
6629 * elf.c (swap_out_syms): Use it to decide whether local section
6630 symbols should be named.
6631 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
6632 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
6633 (elf_backend_name_local_section_symbols): Define.
6634 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
6635
6636 2004-01-30 H.J. Lu <hongjiu.lu@intel.com>
6637
6638 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
6639 (elfNN_ia64_relax_section): Optimize brl to br during the relax
6640 finalize pass.
6641
6642 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
6643
6644 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
6645 to bfd_link_hash_entry passed by reference to
6646 _bfd_generic_link_add_one_symbol.
6647
6648 2004-01-25 H.J. Lu <hongjiu.lu@intel.com>
6649
6650 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
6651 relocations against dynamic symbols.
6652
6653 2004-01-23 Daniel Jacobowitz <drow@mvista.com>
6654
6655 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
6656 change.
6657
6658 2004-01-21 Tom Rix <tcrix@worldnet.att.net>
6659
6660 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
6661 * bfd-in2.h, libbfd.h: Rebuilt.
6662
6663 2004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
6664
6665 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
6666 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
6667 flag has been cleared.
6668
6669 2004-01-19 Kazu Hirata <kazu@cs.umass.edu>
6670
6671 * coff-h8300.c: Add and adjust comments about relaxation.
6672 * elf32-h8300.c: Likewise.
6673
6674 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
6675
6676 * coff-h8300.c: Fix comment typos.
6677 * elf32-h8300.c: Likewise.
6678
6679 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
6680
6681 * coff-h8300.c: Add comments about relaxation.
6682 * elf32-h8300.c: Likewise.
6683
6684 2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6685
6686 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
6687 throughout.
6688 * aclocal.m4: Regenerate.
6689 * configure: Regenerate.
6690
6691 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
6692
6693 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
6694 mips_elf64_rtype_to_howto instead of using howto_table.
6695
6696 2004-01-13 Daniel Jacobowitz <drow@mvista.com>
6697
6698 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
6699 the .plt section.
6700 (elf32_arm_check_relocs): Don't increment the PLT refcount for
6701 relocs which would not use the PLT.
6702
6703 2004-01-13 Alan Modra <amodra@bigpond.net.au>
6704
6705 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
6706 (ppc64_elf_gc_sweep_hook): Likewise.
6707 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
6708
6709 2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
6710
6711 Adds linker relaxation support for bit manipulation insns like
6712 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
6713 bst, btst, bxor.
6714 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
6715 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
6716 * coff-h8300.c: Opcode for bit manipulation insn is checked in
6717 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
6718
6719 2004-01-12 Alan Modra <amodra@bigpond.net.au>
6720
6721 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
6722
6723 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
6724
6725 * elf32-h8300.c: Fix formatting.
6726
6727 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
6728
6729 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
6730 dynamic object is present. Declare r_symndx and h in an inner
6731 scope.
6732 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
6733
6734 2004-01-09 Daniel Jacobowitz <drow@mvista.com>
6735
6736 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
6737 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
6738 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
6739 identically. Do not emit PC24 relocations for shared libraries.
6740 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
6741 identically. Don't adjust pc_count.
6742 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
6743 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
6744 adjust count for branch relocations.
6745 (allocate_dynrelocs): Correct typo in call to
6746 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
6747 PC24 or PLT32 relocs when linking.
6748
6749 2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
6750
6751 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
6752 relocation howto with ARM_26 one for consistency.
6753 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
6754 that will be converted to ARM_26D ones, since we always want 'done'
6755 relocations to be reflected in section's data.
6756 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
6757 offset.
6758 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
6759 requested.
6760
6761 2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
6762
6763 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
6764 are not partial_inplace during a relocatable link.
6765
6766 2004-01-08 Kazu Hirata <kazu@cs.umass.edu>
6767
6768 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
6769 if no dynamic object is present. Declare r_symndx and h in an
6770 inner scope.
6771
6772 2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
6773
6774 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
6775 trampoline if it is known out of range.
6776
6777 2004-01-06 Alexandre Oliva <aoliva@redhat.com>
6778
6779 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
6780 * elf32-frv.c (_frv_osec_readonly_p): New.
6781 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
6782 undefweak symbol.
6783 (_frv_count_got_plt_entries): Adjust expected count accordingly.
6784 (elf32_frv_relocate_section): Likewise. Error out if attempting
6785 to emit rofixups or dynamic relocs in read-only segments. Use
6786 _bfd_elf_section_offset to adjust r_offsets in rofixups and
6787 dynamic relocations.
6788 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
6789 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
6790 relocations or fixups involving merged sections correctly. Avoid
6791 crash when undefined symbol is referenced by R_FRV_32 or
6792 R_FRV_FUNCDESC_VALUE.
6793 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
6794 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
6795 input section holding local symbol to addend of R_FRV_32 or
6796 R_FRV_FUNCDESC_VALUE dynamic relocation.
6797 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
6798 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
6799 (elf32_frv_always_size_sections): Don't store pointer to
6800 __stacksize symbol in sec_info.
6801 (elf32_frv_modify_segment_map): Look it up here.
6802 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
6803 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
6804 of the lazy PLT entry, not only its offset, as the low word of a
6805 function descriptor.
6806 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
6807 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
6808 if a hash table entry already exists but is not a definition.
6809 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
6810 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
6811 (_frv_add_rofixup): Don't inline.
6812 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
6813 for undefweak symbols.
6814 (elf32_frv_relocate_section): Avoid crash while computing
6815 relocation when linking with shared library. Only emit rofixups
6816 and dynamic relocations for alloc&load sections. Mark binaries
6817 with inter-segment relocations for relocation as a unit.
6818 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
6819 (DEFAULT_STACK_SIZE): New.
6820 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
6821 emit rofixups or dynamic relocs when linking dynamic non-PIE
6822 executables.
6823 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
6824 shared libs too. Reserve the last entry for the GOT pointer.
6825 (elf32_frv_finish_dynamic_sections): Emit it.
6826 (elf32_frv_always_size_sections): New.
6827 (elf32_frv_modify_segment_map): New.
6828 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
6829 sections.
6830 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
6831 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
6832 (elf_backend_always_size_sections): New.
6833 (elf_backend_modify_segment_map): New.
6834 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
6835 * config.bfd: Added frv-*-*linux*.
6836 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
6837 ABS section, instead of crashing.
6838 (elf32_frv_relocate_section): Don't crash before warning about
6839 different segments in non-PIC relocation.
6840 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
6841 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
6842 relocs to undefweak symbols.
6843 (elf32_frv_relocate_section): Ditto for undefined symbols.
6844 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
6845 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
6846 gotfixup section was created.
6847 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
6848 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
6849 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
6850 complain_overflow_signed.
6851 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
6852 have not been allocated.
6853 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
6854 privfd only if dynamic sections were created.
6855 (elf32_frv_relocate_section): Compute gprel_segment, and use it
6856 for GPREL relocs. When linking relocatable FDPIC executables,
6857 emit warnings for relocations that would be illegal on PIE or
6858 shared libraries. Emit rofixup for R_FRV_32 only if input object
6859 is not FDPIC.
6860 (_frv_create_got_section): Define _gp symbol in the rofixup
6861 section.
6862 (elf32_frv_finish_dynamic_sections): If rofixups needed but
6863 dynamic sections missing, error out requesting -melf32frvfd.
6864 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
6865 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
6866 computation of addends from section and global or local symbol
6867 value. Change return type to bfd_boolean, and return a failure if
6868 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
6869 nonzero addend is required.
6870 (elf32_frv_relocate_section): Likewise. Print error for
6871 unsupported nonzero addends.
6872 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
6873 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
6874 force everything local.
6875 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
6876 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
6877 (frv_gotfixup_section): New.
6878 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
6879 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
6880 and relocsfdv.
6881 (_frv_add_rofixup): New.
6882 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
6883 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
6884 improve some ugly conditions.
6885 (elf32_frv_relocate_section): Likewise. Reject inter-segment
6886 relocations in fdpic.
6887 (_frv_create_got_section): Create .rofixup.got section.
6888 (struct _frv_dynamic_got_info): Added fixups.
6889 (_frv_count_got_plt_entries): Account in-GOT relocations into
6890 relocs32, relocsfd and relocsfdv. Account them into relocs or
6891 fixups, as appropriate.
6892 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
6893 sizing of gotrel.
6894 (elf32_frv_finish_dynamic_sections): Verify that the right number
6895 of relocations and fixups was generated.
6896 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
6897 relocsfdv.
6898 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
6899 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
6900 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
6901 descriptor of a (formerly-)global symbol is local.
6902 (struct frv_pic_relocs_info): Adjust comments.
6903 (_frv_emit_got_relocs_plt_entries): Adjust.
6904 (elf32_frv_relocate_section): Likewise.
6905 (_frv_count_got_plt_entries): Likewise.
6906 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
6907 symbol's value to addend in the common preamble. Decay dynamic
6908 symbols to section+offset if they bind or call locally, for GOT
6909 and FUNCDESC_VALUE, respectively.
6910 (elf32_frv_relocate_section): Likewise.
6911 (elf32_frv_check_relocs): Don't register as dynamic symbols of
6912 internal or hidden visibility.
6913 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
6914 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
6915 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
6916 (elf32_frv_relocate_section): Pass relocation addend in. Use
6917 original relocation addend to look up the got relocs/plt entries
6918 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
6919 processing relocations that reference .scommon symbols.
6920 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
6921 Introduce support for dynamic linking.
6922 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
6923 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
6924 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
6925 (frv_reloc_type_lookup): Return REL howtos for executables and
6926 dynamic libraries.
6927 (frv_info_to_howto_rel): New.
6928 (struct frv_elf_link_hash_table): New.
6929 (frv_hash_table, frv_got_section, frv_gotrel_section,
6930 frv_plt_section, frv_pltrel_section, frv_relocs_info,
6931 frv_got_initial_offset, frv_plt_initial_offset): New macros.
6932 (frv_elf_link_hash_table_create): New.
6933 (struct frv_pic_relocs_info): New.
6934 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
6935 (frv_pic_relocs_info_find): New.
6936 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
6937 New.
6938 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
6939 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
6940 (_frv_emit_got_relocs_plt_entries): New.
6941 (elf32_frv_relocate_section): Add support for dynamic linking.
6942 Handle new relocations.
6943 (_frv_create_got_section): New.
6944 (elf32_frv_create_dynamic_sections): New.
6945 (ELF_DYNAMIC_INTERPRETER): New.
6946 (struct _frv_dynamic_got_info): New.
6947 (_frv_count_got_plt_entries): New.
6948 (struct _frv_dynamic_got_plt_info): New.
6949 (_frv_compute_got_alloc_data): New.
6950 (_frv_get_got_entry, _frv_get_fd_entry): New.
6951 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
6952 (_frv_resolve_final_relocs_info): New.
6953 (elf32_frv_size_dynamic_sections): New.
6954 (elf32_frv_finish_dynamic_sections): New.
6955 (elf32_frv_adjust_dynamic_symbol): New.
6956 (elf32_frv_finish_dynamic_symbol): New.
6957 (elf32_frv_check_relocs): Handle new relocs. Explain how the
6958 whole thing works.
6959 (elf_info_to_howto_rel): Define.
6960 (bfd_elf32_bfd_link_hash_table_create): Define.
6961 (elf_backend_create_dynamic_sections): Define.
6962 (elf_backend_adjust_dynamic_symbol): Define.
6963 (elf_backend_size_dynamic_sections): Define.
6964 (elf_backend_finish_dynamic_symbol): Define.
6965 (elf_backend_finish_dynamic_sections): Define.
6966 (elf_backend_want_got_sym): Define.
6967 (elf_backend_got_header_size): Define.
6968 (elf_backend_want_got_plt): Define.
6969 (elf_backend_plt_readonly): Define.
6970 (elf_backend_want_plt_sym): Define.
6971 (elf_backend_plt_header_size): Define.
6972 (elf_backend_may_use_rel_p): Define.
6973 (elf_backend_may_use_rela_p): Define.
6974 (elf_backend_default_use_rela_p): Define.
6975 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
6976 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
6977 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
6978 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
6979 (frv_reloc_map): Map the corresponding BFD relocs to them.
6980 (frv_reloc_type_lookup): ... and back to BFD relocs.
6981 * reloc.c: New relocs.
6982 * bfd-in2.h, libbfd.h: Rebuilt.
6983 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
6984 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
6985 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
6986 R_FRV_FUNCDESC_GOTLO): New.
6987 (frv_reloc_map): Map the corresponding BFD relocs to them.
6988 (frv_reloc_type_lookup): ... and back to BFD relocs.
6989 * reloc.c: New relocs.
6990 * bfd-in2.h, libbfd.h: Rebuilt.
6991
6992 2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
6993
6994 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
6995 targets to support pages of up to 64kB.
6996 (elf32_bed): Redefine to get a separate backend data structure for
6997 traditional targets.
6998 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
6999 targets to support pages of up to 64kB.
7000 (elf64_bed): Redefine to get a separate backend data structure for
7001 traditional targets.
7002 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
7003 targets to support pages of up to 64kB.
7004 (elf32_bed): Redefine to get a separate backend data structure for
7005 traditional targets.
7006
7007 2004-01-04 Mark Kettenis <kettenis@gnu.org>
7008
7009 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
7010
7011 2004-01-02 Mark Kettenis <kettenis@gnu.org>
7012
7013 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
7014 (elf_i386_grok_psinfo): Likewise.
7015
7016 2004-01-02 Bernardo Innocenti <bernie@develer.com>
7017
7018 * config.bfd: Add m68k-uClinux target.
7019
7020 2004-01-01 Grant Edwards <grante@visi.com>
7021
7022 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
7023 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
7024 (elf32_h8_gc_sweep_hook): New function.
7025 (elf_backend_gc_mark_hook): Define.
7026 (elf_backend_gc_sweep_hook): Define.
7027 (elf_backend_can_gc_sections): Define.
7028
7029 For older changes see ChangeLog-0203
7030 \f
7031 Local Variables:
7032 mode: change-log
7033 left-margin: 8
7034 fill-column: 74
7035 version-control: never
7036 End: