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