bfd/:
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
d6f16593
MR
12005-02-15 Nigel Stephens <nigel@mips.com>
2 Maciej W. Rozycki <macro@mips.com>
3
4 * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
5 reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
6 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
7 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
8 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
9 dst_mask.
10 (mips16_gprel_reloc): Remove bit shuffling; call
11 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
12 and _bfd_mips16_elf_reloc_shuffle() instead.
13 (mips16_reloc_map): New reloc map for MIPS16 relocs.
14 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
15 relocs.
16 (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
17 elf_mips16_howto_table_rel.
18 * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
19 MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
20 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
21 (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
22 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
23 dst_mask.
24 (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
25 reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
26 R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
27 placeholders.
28 (mips16_gprel_reloc): Remove bit shuffling; call
29 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
30 and _bfd_mips16_elf_reloc_shuffle() instead.
31 (mips16_reloc_map): New reloc map for MIPS16 relocs.
32 (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
33 relocs.
34 (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
35 mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
36 * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
37 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
38 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
39 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
40 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
41 dst_mask.
42 (mips16_gprel_reloc): Remove bit shuffling; call
43 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
44 and _bfd_mips16_elf_reloc_shuffle() instead.
45 (mips16_reloc_map): New reloc map for MIPS16 relocs.
46 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
47 relocs.
48 (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
49 elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
50 * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
51 handle bit shuffling for MIPS16 relocs.
52 (_bfd_mips16_elf_reloc_shuffle): Likewise.
53 (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
54 and _bfd_mips16_elf_reloc_shuffle().
55 (_bfd_mips_elf_generic_reloc): Likewise.
56 (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
57 and R_MIPS16_LO16.
58 (mips_elf_obtain_contents): Remove bit shuffling.
59 (mips_elf_perform_relocation): Likewise; call
60 _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
61 instead.
62 (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
63 and R_MIPS16_LO16.
64 * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
65 (_bfd_mips16_elf_reloc_shuffle): Likewise.
66 * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
67 (BFD_RELOC_MIPS16_HI16_S): Likewise.
68 (BFD_RELOC_MIPS16_LO16): Likewise.
69 * bfd-in2.h: Regenerate.
70 * libbfd.h: Regenerate.
71
0ca3e455
JB
722005-02-15 Jan Beulich <jbeulich@novell.com>
73
74 * elfxx-ia64.c (ia64_howto_table): Correct strings for
75 R_IA64_DTPMOD64[LM]SB.
76
c5509b92
L
772005-02-14 H.J. Lu <hongjiu.lu@intel.com>
78
79 * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
80 backward branch in the same section.
81 (elfNN_ia64_relocate_section): Inform users that the input
82 section is too big to relax br instruction when overflow
83 happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
84 and R_IA64_PCREL21F.
85
5cba516c
NC
862005-02-14 Orjan Friberg <orjanf@axis.com>
87
88 * elfcore.h (elf_core_file_p): Move the call to
89 elf_backend_object_p to allow the correct machine to be set before
90 processing the program headers.
91
b59a68e1
NC
922005-02-14 Nick Clifton <nickc@redhat.com>
93
94 PR binutils/716
95 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
96 aware flag from the input bfd to the output bfd.
97
254f0426
MR
982005-02-11 Maciej W. Rozycki <macro@mips.com>
99
100 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
101 R_MIPS_LITERAL relocations for external symbols.
102 * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
103 * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
104
e91cdea7
L
1052005-02-11 H.J. Lu <hongjiu.lu@intel.com>
106
107 * bfd-in2.h: Rebuilt.
108
67687978
PB
1092005-02-11 Paul Brook <paul@codesourcery.com>
110
111 * elf-bfd.h (struct elf_link_hash_table): Add
112 is_relocatable_executable.
113 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
114 * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
115 symbols in relocatable executables.
116 (bfd_elf_record_link_assignment): Create dynamic section symbols in
117 relocatable executables.
118 (_bfd_elf_link_renumber_dynsyms): Ditto.
119 (bfd_elf_final_link): Ditto.
120 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
121 relocations into relocatable executables.
122 (elf32_arm_check_relocs): Crate dynamic sections for relocatable
123 executables. Also copy absolute relocations.
124 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
125 in relocatable executables.
126 (allocate_dynrelocs): Copy relocations for relocatable executables.
127 Output dynamic symbols for symbols defined in linker scripts.
128
ca724bf2
NC
1292005-02-11 Nick Clifton <nickc@redhat.com>
130
4b74b983
NC
131 * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
132 to avoid a compile time warning.
133
ca724bf2
NC
134 * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
135 BFD_ASSERT.
136
3e25964f
NC
137 * coff-tic4x.c (coff_rtype_to_howto): Move definition before
138 inclusion of coffcode.h so that it is actually picked up.
139
cb7a88a4
NC
140 * coffcode.h (coff_std_swap_table): Add an unused attribute in
141 case it is not used.
142
596c83ec
NC
143 * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
144 structure and macro.
145
6c408f53
NC
146 * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
147 array.
148
d5b2f13b
NC
149 * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
150 to protect the declaration of this array.
151
169a6afd
NC
152 * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
153 Avoid call to memcpy with a size of 0.
154
2917689a
AM
1552005-02-12 Alan Modra <amodra@bigpond.net.au>
156
157 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
158 old-style branches to undefined dot-symbols which will be
159 satisfied by a plt call.
160
40d16e0b
AM
1612005-02-11 Alan Modra <amodra@bigpond.net.au>
162
163 * elf64-ppc.c (move_plt_plist): New function, extracted from..
164 (ppc64_elf_copy_indirect_symbol): ..here.
165 (func_desc_adjust): Use move_plt_plist.
166
e37c699c
PB
1672005-02-10 Paul Brook <paul@codesourcery.com>
168
169 * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
170
6fa3860b
PB
1712005-02-10 Paul Brook <paul@codesourcery.com>
172
173 * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
174 symbols local.
175 (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
176 (elf_link_renumber_local_hash_table_dynsyms): New function.
177 (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
178
d457dcf6
JJ
1792005-02-10 Jakub Jelinek <jakub@redhat.com>
180
181 * bfd-in.h (BFD_LINKER_CREATED): Define.
182 * bfd-in2.h: Rebuilt.
183 * elflink.c (bfd_elf_size_dynamic_sections): Disregard
184 BFD_LINKER_CREATED bfds when determining input bfds without
185 .note.GNU-stack section.
186
7f05722e
MR
1872005-02-10 Maciej W. Rozycki <macro@mips.com>
188
189 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
190 * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
191 relocations against external symbols unchanged.
192
ccf5f610
PB
1932005-02-08 Paul Brook <paul@codesourcery.com>
194
195 * elflink.c (elf_link_input_bfd): Ignore symbols from null input
196 sections.
197
370a0e1b
HPN
1982005-02-08 Hans-Peter Nilsson <hp@axis.com>
199
200 * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
201 prefix here.
202
99277196
MR
2032005-02-07 Maciej W. Rozycki <macro@mips.com>
204
205 * elf64-mips.c: Fix formatting throughout.
206
6422fbef
MR
2072005-02-07 Maciej W. Rozycki <macro@mips.com>
208
209 * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
210
303e4c21
AO
2112005-02-07 Alexandre Oliva <aoliva@redhat.com>
212
213 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
214 *ABS*/*UND* sections.
215 (elf32_frv_relocate_section): Move zero-addend-required error...
216 (_frv_emit_got_relocs_plt_entries): ... here. Report error for
217 missing needed TLS section.
218
c3864421
HPN
2192005-02-07 Hans-Peter Nilsson <hp@axis.com>
220
221 * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
222 being the last symbol.
9f400ee9
HPN
223 (aout_link_add_symbols): Just return TRUE if a warning
224 symbol was last.
c3864421 225
765f2ef6
MR
2262005-02-07 Maciej W. Rozycki <macro@mips.com>
227
228 * elf32-mips.c (mips_elf_gprel32_reloc): Reject
229 R_MIPS_GPREL32 relocations against external symbols.
230 * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
231 comment.
232
1b3a8575
AM
2332005-02-07 Alan Modra <amodra@bigpond.net.au>
234
235 * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
236 * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
237 elf_string_from_elf_strtab.
238 (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
239 (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
240 if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
241 SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
242 looking at cached symtab info first, before iterating over headers.
243 For SHT_REL and SHT_RELA, load dynsymtab if needed.
244 * elfcode.h (elf_object_p): Don't load section header stringtab
245 specially.
246
90f487df
L
2472005-02-06 H.J. Lu <hongjiu.lu@intel.com>
248
249 * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
250 against protected function when building shared library.
251
252 PR 584
253 * elf64-x86-64.c (is_32bit_relative_branch): New.
254 (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
255 protected function symbol when building shared library for
256 32bit relative branch instruction.
257
c4f68ce3
AM
2582005-02-06 Alan Modra <amodra@bigpond.net.au>
259
260 * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
261 syms when doing a relocatable link.
262 (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
263 at u.def.section.
264 (ppc64_elf_tls_setup): Likewise.
265 (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
266
908b32fc
AM
2672005-02-04 Alan Modra <amodra@bigpond.net.au>
268
269 * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
270 (link_hash_newfunc): Clear all locals using memset.
271 (make_fdh): Remove flags param. Always create fake func desc
272 weak. Link the descriptor with the code entry sym.
273 (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
274 (add_symbol_adjust): Adjust make_fdh call.
275 (func_desc_adjust): Likewise. Twiddle any pre-existing fake
276 descriptor to strong undefined if code entry is strong.
277
4ea42fb7
AM
2782005-02-04 Alan Modra <amodra@bigpond.net.au>
279
280 * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
281 lookup here. Set to new before calling bfd_link_repair_undef_list.
282 (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
283
10d86c8a
AM
2842005-02-03 Alan Modra <amodra@bigpond.net.au>
285
286 * linker.c (_bfd_link_hash_newfunc): Set all local fields.
287
11f25ea6
AM
2882005-02-03 Alan Modra <amodra@bigpond.net.au>
289
290 * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
291 * elflink.c (elf_smash_syms): Restore symbols that were undefweak
292 before the as-needed lib was loaded. Abort on unexpected refs.
293
4f40114d
AM
2942005-02-02 Alan Modra <amodra@bigpond.net.au>
295
ec13b3bb
AM
296 * elflink.c (elf_smash_syms): Expand comments.
297 (elf_link_add_object_symbols): Only call elf_smash_syms for
298 as-needed dynamic objects.
299
4f40114d
AM
300 * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
301 everything, just the field specific to ia64.
336549c1 302 * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
4f40114d 303
bb700d78
AM
3042005-02-01 Alan Modra <amodra@bigpond.net.au>
305
306 * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
307 (make_fdh): ..here. New function. Don't set BSF_OBJECT for
308 undefined syms.
309 (struct add_symbol_adjust_data): New.
310 (add_symbol_adjust): Make an undefweak func desc for old ABI
311 objects to link with --as-needed shared libs. Return fail status.
312 Don't adjust old ABI func entry sym to weak if func desc syms
313 isn't defined.
314 (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
315 and return status.
316
1ffd1c2f
HPN
3172005-02-01 Hans-Peter Nilsson <hp@axis.com>
318
319 * cpu-cris.c (get_compatible): Rearrange disabled code and comment
320 for clarity.
321
77cfaee6
AM
3222005-02-01 Alan Modra <amodra@bigpond.net.au>
323
324 * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
325 * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
326 remove anything but new and undefweak.
327 * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
328 existing _DYNAMIC.
329 (_bfd_elf_create_dynamic_sections): Formatting.
330 (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
331 (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
332 (struct elf_smash_data): New.
333 (elf_smash_syms): New function.
334 (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
335 unneeded dynamic objects to loaded list.
336 (elf_link_output_extsym): Don't handle as-needed here. Strip
337 bfd_link_hash_new symbols.
338 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
339 delref when dynindx is already -1.
340 * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
341 symbols.
342 * elfxx-mips.c (mips_elf_output_extsym): Likewise.
343
b15c48d1
BE
3442005-02-01 Ben Elliston <bje@au.ibm.com>
345
346 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
347
0983f4eb 3482005-02-01 Ben Elliston <bje@au.ibm.com>
0e71e495
BE
349
350 * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
351 bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
352 coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
353 coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
354 cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
355 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
356 elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
357 elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
358 i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
359 nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
360 pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
361 sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
362 hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
363 throughout. Similarly, collapse #if 1'd code.
364
3652005-02-01 Ben Elliston <bje@au.ibm.com>
366
0983f4eb
BE
367 * elf-bfd.h (bfd_elf_discard_group): Remove.
368 * elf.c (bfd_elf_discard_group): Likewise.
369 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
370
8c946ed5
RS
3712005-01-31 Richard Sandiford <rsandifo@redhat.com>
372
373 * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
374 (_bfd_elf_eh_frame_address_size): Declare.
375 * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
376 (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
377 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
378 (elf_backend_eh_frame_address_size): Define.
379 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
380 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
381 size from the new backend hook.
382 (_bfd_elf_write_section_eh_frame): Likewise.
383 (_bfd_elf_eh_frame_address_size): New function.
384
c46f8c51
AC
3852005-01-31 Andrew Cagney <cagney@gnu.org>
386
387 * configure: Regenerate to track ../gettext.m4.
388
5cd3778d
MM
3892005-01-31 Mark Mitchell <mark@codesourcery.com>
390
391 * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
392 SHF_WRITE for .init_array, .fini_array, and .preinit_array.
ec13b3bb 393
d6486796
NC
3942005-01-31 Nick Clifton <nickc@redhat.com>
395
396 * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
397 sparc-lynxos, vax-vms) be obsolete.
398
b1342370
DJ
3992005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
400
401 * elf-bfd.h (struct elf_backend_data): Add minpagesize.
402 * elf32-arm.c (ELF_MINPAGESIZE): Define.
403 * elf32-ppc.c (ELF_MINPAGESIZE): Define.
404 * elfcode.h (elf_object_p): Use minpagesize instead of
405 maxpagesize.
406 * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
407 (elfNN_bed): Include ELF_MINPAGESIZE.
408
319850b4
JB
4092005-01-28 Julian Brown <julian@codesourcery.com>
410
411 * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
412 * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
413 * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
414 (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
ec13b3bb 415 passing flag value from ld. Set flag value in global hash table entry.
319850b4 416 (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
ec13b3bb 417 relocation.
319850b4 418
a53bf506
AC
4192005-01-27 Andrew Cagney <cagney@gnu.org>
420
421 * configure: Regenerate to track ../gettext.m4 change.
422
dc4c9c19
MM
4232005-01-25 Mark Mitchell <mark@codesourcery.com>
424
425 * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
ec13b3bb 426 SymbianOS.
dc4c9c19 427
90219bd0
AO
4282005-01-25 Alexandre Oliva <aoliva@redhat.com>
429
430 2004-12-10 Alexandre Oliva <aoliva@redhat.com>
431 * elf32-frv.c (elf32_frv_relocate_section): Force local binding
432 for TLSMOFF.
433 * reloc.c: Add R_FRV_TLSMOFF.
434 * elf32-frv.c (elf32_frv_howto_table): Likewise.
435 (frv_reloc_map, frv_reloc_type_lookup): Map it.
436 (elf32_frv_relocate_section): Handle it.
437 (elf32_frv_check_relocs): Likewise.
438 * libbfd.h, bfd-in2.h: Rebuilt.
439 2004-11-26 Alexandre Oliva <aoliva@redhat.com>
440 * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
441 when given an undefweak TLS symbol. Fix constant TLS PLT entries
442 such that they return the constant in gr9.
443 (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
444 symbols.
445 (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
446 too, such that they shrink on relaxation.
447 (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
448 marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
449 (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
450 if we can guarantee the use of 16-bit constants.
451 2004-11-10 Alexandre Oliva <aoliva@redhat.com>
452 Introduce TLS support for FR-V FDPIC.
453 * reloc.c: Add TLS relocations.
454 * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
455 (elf32_frv_rel_tlsdesc_value_howto): New.
456 (elf32_frv_rel_tlsoff_howto): New.
457 (frv_reloc_map): Add new mappings.
458 (struct frvfdpic_elf_link_hash_table): Add pointer to summary
459 reloc information.
460 (frvfdpic_dynamic_got_plt_info): New.
461 (frvfdpic_plt_tls_ret_offset): New.
462 (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
463 (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
464 (struct _frvfdpic_dynamic_got_plt_info): Likewise.
465 (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
466 section as local.
467 (struct frvfdpic_relocs_info): Add TLS fields.
468 (frvfdpic_relocs_info_hash): Warning clean up.
469 (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
470 (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
471 (FRVFDPIC_TLS_BIAS): Define.
472 (tls_biased_base): New.
473 (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
474 relocations.
475 (frv_reloc_type_lookup): Likewise.
476 (frvfdpic_info_to_howto_rel): Likewise.
477 (elf32_frv_relocate_section): Likewise.
478 (_frv_create_got_section): Create the PLT section here.
479 (elf32_frvfdpic_create_dynamic_sections): Not here.
480 (_frvfdpic_count_nontls_entries): Move out of...
481 (_frvfdpic_count_got_plt_entries): ... here.
482 (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
483 (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
484 support.
485 (_frvfdpic_relax_tls_entries): New.
486 (_frvfdpic_compute_got_alloc_data): Add TLS support.
487 (_frvfdpic_get_tlsdesc_entry): New.
488 (_frvfdpic_assign_got_entries): Add TLS support.
489 (_frvfdpic_assign_plt_entries): Likewise.
490 (_frvfdpic_reset_got_plt_entries): New.
491 (_frvfdpic_size_got_plt): Move out of...
492 (elf32_frvfdpic_size_dynamic_sections): ... here.
493 (_frvfdpic_relax_got_plt_entries): New.
494 (elf32_frvfdpic_relax_section): New.
495 (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
496 (elf32_frv_check_relocs): Add TLS support.
497 (bfd_elf32_bfd_relax_section): Define for FDPIC.
498 * libbfd.h, bfd-in2.h: Rebuilt.
499
8615f3f2
AM
5002005-01-25 Alan Modra <amodra@bigpond.net.au>
501
502 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
503 loadable reloc sections.
504 (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
505 (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
506
7e9f0867
AM
5072005-01-25 Alan Modra <amodra@bigpond.net.au>
508
509 * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
510 sections immediately when linking shared libs. Instead, wait until
511 we know a lib is needed.
512 (_bfd_elf_link_create_dynstrtab): Extract from..
513 (_bfd_elf_link_create_dynamic_sections_): ..here.
514 (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
515 _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
516 for non-existent .dynamic.
517 (elf_link_output_extsym): Don't complain about undefined symbols
518 in as-needed dynamic libs that aren't actually linked.
519
45181ed1
AC
5202005-01-24 Andrew Cagney <cagney@gnu.org>
521
522 * configure: Regenerate, ../gettext.m4 was updated.
523
753e3eb6
BE
5242005-01-21 Ben Elliston <bje@au.ibm.com>
525
526 * aout-encap.c: Remove unused file.
527
1c16dfa5
L
5282005-01-19 H.J. Lu <hongjiu.lu@intel.com>
529
530 PR 679
531 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
532 non-function symbols are local.
533 (_bfd_elf_symbol_refs_local_p): Likewise.
534
1449d79b
AM
5352005-01-18 Alan Modra <amodra@bigpond.net.au>
536
537 * bfd.c (bfd_link_just_syms): Add abfd param.
538 * bfd-in2.h: Regenerate.
539
dcf507a6
RS
5402005-01-17 Richard Sandiford <rsandifo@redhat.com>
541
542 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
543 (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
544 instructions. If the amount of padding is known, reduce the size
545 of the CIE or FDE by that amount.
546
2c42be65
RS
5472005-01-17 Richard Sandiford <rsandifo@redhat.com>
548
549 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
550 augmentation_size. Use bfd_signed_vmas for data_align.
551 * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
552 (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
553 functions. Don't read past the end of the enclosing CIE or FDE.
554 (skip_bytes): New utility function.
555 (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
556 sanity checking.
557 (_bfd_elf_write_section_eh_frame): Use new functions.
558
acfe5567
RS
5592005-01-17 Richard Sandiford <rsandifo@redhat.com>
560
561 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
562 assert-style REQUIRE() macro to handle sanity checks.
563
c0c28ab8
L
5642005-01-17 H.J. Lu <hongjiu.lu@intel.com>
565
566 * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
567 (comp_unit): Here.
568 (read_unsigned_leb128): Removed.
569 (read_signed_leb128): Removed.
570 (find_abstract_instance_name): Updated.
571 (parse_comp_unit): Accept info_ptr_unit.
572 (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
573 comp unit and pass it to parse_comp_unit.
574
575 * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
576 (read_signed_leb128): Moved to ...
577 * libbfd.c: Here.
578
579 * libbfd-in.h (read_unsigned_leb128): New prototype.
580 (read_signed_leb128): Likewise.
581 * libbfd.h: Regenerated.
582
e38bc3b5
NC
5832005-01-17 Andrew Stubbs <andrew.stubbs@st.com>
584 Nick Clifton <nickc@redhat.com>
585
586 * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
587 arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
588 arch_sh4a_nofpu_up in order to match the external names and make the
589 testsuite's job easier.
590 * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
591 names.
592 * bfd-in2.h: Regenerate.
593
8fb84ecc
AC
5942005-01-15 Andrew Cagney <cagney@gnu.org>
595
596 * bfd.m4: New file.
597 * acinclude.m4: Move BFD_NEED_DECLARATION,
598 BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
599 the new file bfd.m4. Include ../bfd/bfd.m4.
600 * configure: Re-generate.
8615f3f2 601
b4a38de6
AM
6022005-01-12 Alan Modra <amodra@bigpond.net.au>
603
604 * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
605 (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
606 reaching PLT.
607 (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
608 R_PPC_RELAX32PC_PLT.
609
3eb128b2
AM
6102005-01-11 Alan Modra <amodra@bigpond.net.au>
611
612 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
613 symbols.
614 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
615 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
616 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
617 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
618 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
619 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
620 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
621 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
622 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
623 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
624 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
625 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
626 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
627 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
628
264a1fe0
AM
6292005-01-11 Alan Modra <amodra@bigpond.net.au>
630
631 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
632 .dynsbss flags.
633
5c4504f7
NC
6342005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
635
636 * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
637 * bfd-in2.h: Regenerate.
638 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
639 to support these new machine values.
640 * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
641 the maxq10.
642 (bfd_maxq_arch): Update values for the maxq20.
643
669460c7
EB
6442005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
645
646 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
647 non-shared object, do not reserve space in .plt and .rela.plt for
648 regular symbols neither defined nor referenced in shared objects.
649
a51a7930
EB
6502005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
651
01aac484
EB
652 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
653 to zero the structure.
654 (create_got_section): Use BFD_ASSERT instead of abort.
a51a7930
EB
655 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
656 'srelgot' fields.
657 (create_got_section): New function.
658 (sparc64_elf_create_dynamic_sections): Likewise.
659 (sparc64_elf_check_relocs): Invoke create_got_section instead of
660 _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
661 (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
662 (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
663 (sparc64_elf_finish_dynamic_symbol): Likewise.
664 (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
665 (elf_backend_create_dynamic_sections): Define to
666 sparc64_elf_create_dynamic_sections.
667
151e5294
EB
6682005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
669
670 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
671 (elf_backend_omit_section_dynsym): Define to it.
672 * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
673 (elf_backend_omit_section_dynsym): Define to it.
674
6f79b219
JJ
6752005-01-07 Jakub Jelinek <jakub@redhat.com>
676
677 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
678 PT_DYNAMIC segment, unless .dynamic.
679
4e7fd91e
PB
6802005-01-06 Paul Brook <paul@codesourcery.com>
681
682 * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
683 * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
684 * configure: Regenerate.
685 * elf32-arm.c: Add VxWorks target bfd.
686 (USE_REL): Remove.
687 (elf32_arm_link_hash_table): Add use_rel.
688 (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
689 elf32_arm_relocate_section): Replace USE_REL with runtime check.
690 Correct offset calculation for RELA case.
691 (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
692 elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
693 (elf32_arm_vxworks_link_hash_table_create): New function.
694 * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
695 (bfd_elf32_littlearm_vxworks_vec): Ditto.
696 (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
697
4c52953f
AM
6982005-01-06 Alan Modra <amodra@bigpond.net.au>
699
700 * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
701 multi_toc_needed.
702 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
703 (ppc64_elf_check_relocs): Update references to has_gp_reloc.
704 (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
705 (ppc64_elf_next_toc_section): Heed no_multi_toc.
706 (ppc64_elf_reinit_toc): Set multi_toc_needed.
707 (toc_adjusting_stub_needed): Rewrite.
708 (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
709 toc tests. Adjust for toc_adjusting_stub_needed changes.
710 (ppc64_elf_size_stubs): Update references to has_gp_reloc.
711 * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
712 * section.c: Expand comment on backend bits.
713 * bfd-in2.h: Regenerate.
714 * libbfd.h: Regenerate.
715
f03d65b4
AM
7162005-01-06 Alan Modra <amodra@bigpond.net.au>
717
718 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
719 toc adjusting stub, do not test source section flags.
720
8af139b3
EB
7212005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr>
722
723 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
724 from STABS debugging sections again.
725
06f22d7e
FF
7262005-01-05 Fred Fish <fnf@specifixinc.com>
727
728 * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
729 (find_abstract_instance_name): New function.
730 (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
731 (scan_unit_for_functions): Handle DW_AT_abstract_origin.
732 (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
733
83a358aa
PB
7342004-12-31 Paul Brook <paul@copdesourcery.com>
735
736 * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
737
b996922c
AM
7382004-12-31 Alan Modra <amodra@bigpond.net.au>
739
740 * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
741 Commit missing changes from 2004-12-22.
742 * bfd-in2.h: Regenerate.
743
17a83432
TL
7442004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
745
746 * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
747
d69f560c
KW
7482004-12-21 Kris Warkentin <kewarken@qnx.com>
749
750 * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
751 Add 'base' argument for constructing register sections. Reformat.
752 (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
753 gp and fp regs. Reformat.
4c52953f 754
750bce0e
NC
7552004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
756
757 * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
758 * bfd-in2.h: Regenerate.
759 * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
760 (avr_reloc_map): Likewise.
761 (avr_final_link_relocate): Likewise.
762
a5db907e
AM
7632004-12-22 Alan Modra <amodra@bigpond.net.au>
764
765 * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
766 as-needed dynamic libs as undefined.
767 (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
768 libs when finding they are needed.
769
8860955f
AM
7702004-12-20 Alan Modra <amodra@bigpond.net.au>
771
772 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
773 (opd_entry_value): Use opd_relocs if available.
774 (ppc64_elf_relocate_section): Don't set reloc_done. Instead
775 copy .opd relocations to opd_relocs.
776 (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
777
1e50d24d
RS
7782004-12-16 Richard Sandiford <rsandifo@redhat.com>
779
780 * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
781 * elf32-v850.c (v850_elf_howto_table): Add entry for
782 R_V850_LO16_SPLIT_OFFSET.
783 (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
784 (v850_elf_perform_lo16_relocation): New function, extracted from...
785 (v850_elf_perform_relocation): ...here. Use it to handle
786 R_V850_LO16_SPLIT_OFFSET.
787 (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
788 R_V850_LO16_SPLIT_OFFSET.
789 * libbfd.h, bfd-in2.h: Regenerate.
790
2fbd2a87
NC
7912004-12-14 P.J. Darcy <darcypj@us.ibm.com>
792
793 * config.bfd: Add s390x-ibm-tpf support.
794
06302770
TL
7952004-12-14 Tomer Levi <Tomer.Levi@nsc.com>
796
8860955f 797 * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
06302770
TL
798 to prototype, to make hash info available.
799 Prevent wrapped symbols from being adjusted twice.
800
c314987d
RS
8012004-12-14 Richard Sandiford <rsandifo@redhat.com>
802
803 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
804 overflow for calls to undefined weak symbols.
805
5c799c07
AM
8062004-12-11 Alan Modra <amodra@bigpond.net.au>
807
808 * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
809 canonical sections syms have a name.
810
645ea6a9
AM
8112004-12-11 Alan Modra <amodra@bigpond.net.au>
812
813 * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
814 have been adjusted for output.
815 (ppc64_elf_relocate_section): Mark sections with reloc_done.
816
0e2cfdce
AM
8172004-12-10 Alan Modra <amodra@bigpond.net.au>
818
be8dd2ca
AM
819 * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
820 add symtab_hdr param.
0e2cfdce
AM
821 (group_signature): Update calls.
822 * elf-bfd.h (bfd_elf_sym_name): Update.
823 * elf32-ppc.c (ppc_elf_relocate_section): Update.
8860955f
AM
824 * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
825 (ppc64_elf_relocate_section): Update.
0e2cfdce
AM
826 * elflink.c (elf_link_input_bfd): Update.
827
138f35cc
JJ
8282004-12-10 Jakub Jelinek <jakub@redhat.com>
829
830 * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
831 st_shndx on STT_SECTION sections.
832
f9cfae62
DJ
8332004-12-09 Daniel Jacobowitz <dan@codesourcery.com>
834
835 * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
836 ELF section symbols.
837
0d2e43ed
ILT
8382004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
839
1367d393
ILT
840 * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
841 return a real value, unless it is a PLT symbol.
842 (mips_elf_perform_relocation): On the RM9000, turn a jal into a
843 bal if possible.
844
74f79d8d
ILT
845 * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
846 R_MIPS_JALR entry to 0.
847
0d2e43ed
ILT
848 * archures.c: Define bfd_mach_mips9000.
849 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
850 (mips_set_isa_flags): Handle bfd_mach_mips9000.
851 * cpu-mips.c (I_mips9000): Define.
852 (arch_info_struct): Add case for bfd_mach_mips9000.
853 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
854 * bfd-in2.h: Regenerate.
855
728b2f21
ILT
8562004-12-08 Ian Lance Taylor <ian@wasabisystems.com>
857
858 * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
859 overflow.
860
45ab555d
BE
8612004-12-07 Ben Elliston <bje@gnu.org>
862
863 * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
864
1511ddaf
DJ
8652004-12-06 Daniel Jacobowitz <dan@debian.org>
866
867 Suggested by Fergal Daly <fergal@esatclear.ie>:
868 * simple.c (simple_dummy_multiple_definition): New function.
869 (bfd_simple_get_relocated_section_contents): Use it.
870
8712004-12-03 Jan Beulich <jbeulich@novell.com>
57426232
JB
872
873 * elf.c (elf_find_function): Don't use the last file symbol ever,
874 seen, but the last one seen prior to the symbol being reported.
875 Don't report a filename at all for global symbols when that might
876 be ambiguous/wrong.
877
94a3258f
PB
8782004-12-01 Paul Brook <paul@codesourcery.com>
879
880 * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
881 (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
882 version.
883
529fcb95
PB
8842004-12-01 Paul Brook <paul@codesourcery.com>
885
886 * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
887 sections undefined.
888
dea514f5
PB
8892004-11-30 Paul Brook <paul@codesourcery.com>
890
891 * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
892 no_pipeline_knowledge
893 (elf32_arm_link_hash_table_create): Ditto.
894 (bfd_elf32_arm_process_before_allocation): Ditto.
895 (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation
896 handling.
897 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
898 prototype.
899 * bfd-in2.h: Regenerate.
900
edfc032f
AM
9012004-11-30 Randolph Chung <tausq@debian.org>
902
903 * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
904 (elf32_hppa_grok_psinfo): New function.
905 (elf_backend_grok_prstatus): Define.
906 (elf_backend_grok_psinfo): Define.
907
0be9069d
L
9082004-11-24 H.J. Lu <hongjiu.lu@intel.com>
909
910 PR 574:
911 * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
912
47cc2cf5
PB
9132004-11-24 Paul Brook <paul@codesourcery.com>
914
915 * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
916
0beaef2b
PB
9172004-11-24 Paul Brook <paul@codesourcery.com>
918
919 * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
920 (elf32_arm_swap_symbol_out): New function.
921 (elf32_arm_size_info): Add.
922 (elf_backend_size_info): Define.
923
3dd2fcf0
DA
9242004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
925
926 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
927 make_bfd_asection.
928
de52dba4
AM
9292004-11-19 Alan Modra <amodra@bigpond.net.au>
930
931 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
932 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
933 * nlmcode.h (nlm_write_object_contents): Warning fix.
934
288f74fa
BW
9352004-11-18 Bob Wilson <bob.wilson@acm.org>
936
937 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
938
b7693d02
DJ
9392004-11-17 Daniel Jacobowitz <dan@codesourcery.com>
940
941 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
942 (elf32_arm_plt_thumb_stub): New.
943 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
944 and plt_got_offset.
945 (elf32_arm_link_hash_traverse): Fix typo.
946 (elf32_arm_link_hash_table): Add obfd.
947 (elf32_arm_link_hash_newfunc): Initialize new fields.
948 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
949 (elf32_arm_link_hash_table_create): Initialize obfd.
950 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
951 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
952 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
953 interworking BFD is not dynamic.
954 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
955 not emit glue for PLT references.
956 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
957 emit glue for PLT references. Support the Thumb PLT prefix.
958 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
959 plt_thumb_refcount.
960 (elf32_arm_check_relocs): Likewise.
961 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
962 plt_thumb_refcount.
963 (allocate_dynrelocs): Handle Thumb PLT references.
964 (elf32_arm_finish_dynamic_symbol): Likewise.
965 (elf32_arm_symbol_processing): New function.
966 (elf_backend_symbol_processing): Define.
967
353057a5
RS
9682004-11-16 Richard Sandiford <rsandifo@redhat.com>
969
970 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
971 add_fde_encoding. Remove need_relative.
972 * elf-eh-frame.c (extra_augmentation_string_bytes)
973 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
974 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
975 in cases where the CIE has no existing 'R' augmentation. Use
976 size_of_output_cie_fde when assigning offsets. Use the final offset
977 as the new section size.
978 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
979 Account for any extra augmentation bytes in the returned offset.
980 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
981 moved before being modified. Pad growing entries with DW_CFA_nops.
982 Add 'z' and 'R' augmentations as directed by add_augmentation_size
983 and add_fde_encoding.
984
b32d3aa2
MM
9852004-11-15 Mark Mitchell <mark@codesourcery.com>
986
987 * elf32-arm.c (elf32_arm_relocate_section): Use
988 arm_real_reloc_type.
989
5d41f0b6
RS
9902004-11-16 Richard Sandiford <rsandifo@redhat.com>
991
992 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
993 for discard relocations; don't add an R_MIPS_NONE to the main body
994 of .rel.dyn.
995
fc0e6df6
PB
9962004-11-04 Paul Brook <paul@codesourcery.com>
997
998 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
999 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
1000 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
1001 default version definition for unversioned symbols.
1002 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
1003 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
1004 _bfd_elf_slurp_version_tables. Set default version for unversioned
1005 imported symbols.
1006
b23e50e2
PB
10072004-11-15 Paul Brook <paul@codesourcery.com>
1008
1009 * elflink.c (elf_link_add_object_symbols): Don't assume version
1010 indices are consecutive.
1011
f4a6705c
RS
10122004-11-14 Richard Sandiford <rsandifo@redhat.com>
1013
1014 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
1015 composite relocations against the personality data.
1016
ee06dc07
PB
10172004-11-13 Paul Brook <paul@codesourcery.com>
1018
1019 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
1020 R_ARM_PREL31 relocations to PLT entries.
1021 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
1022 (elf32_arm_check_relocs): Ditto.
1023
a1ace8d8
BW
10242004-11-12 Bob Wilson <bob.wilson@acm.org>
1025
1026 * xtensa-isa.c (xtensa_interface_class_id): New.
1027
e4115460
BW
10282004-11-11 Bob Wilson <bob.wilson@acm.org>
1029
1030 * elf32-xtensa.c (property_table_compare): Remove assertion about
1031 entries with the same address and non-zero size.
1032 (xtensa_read_table_entries): Report such entries as errors.
1033
6366ff1e
MM
10342004-11-11 Mark Mitchell <mark@codesourcery.com>
1035
1036 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
1037 R_ARM_RELATIVE on Symbian OS.
1038
b34af79c
MM
10392004-11-09 Mark Mitchell <mark@codesourcery.com>
1040
e6dc21b6
MM
1041 * som.c (som_bfd_print_private_bfd_data): New function.
1042 (som_object_setup): Save the auxiliary header. Don't assume that
1043 zero is an invalid entry point for a shared library.
1044 (som_object_p): Allocate the auxiliary header on the heap.
1045
b34af79c
MM
1046 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
1047 declaration.
1048 (elf32_arm_symbian_modify_segment_map): Likewise.
1049
08d1f311
DJ
10502004-11-09 Daniel Jacobowitz <dan@debian.org>
1051
1052 From David Poole <daveml@mbuf.com>:
1053 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
1054 (elf32_arm_size_dynamic_sections): Call it.
1055
0306b3bf
AM
10562004-11-09 Alan Modra <amodra@bigpond.net.au>
1057
1058 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
1059 (ALL_MACHINES_CFILES): Fix typo.
1060 * Makefile.in: Regenerate.
1061 * po/SRC-POTFILES.in: Regenerate.
1062
a16385dc
MM
10632004-11-08 Mark Mitchell <mark@codesourcery.com>
1064
1065 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
1066 R_ARM_RELATIVE relocation for Symbian OS, mention the section
1067 symbol in the relocation.
1068
0306b3bf
AM
10692004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
1070 Vineet Sharma <vineets@noida.hcltech.com>
7499d566
NC
1071
1072 * coff-maxq.c: New File.
0306b3bf
AM
1073 * cpu-maxq.c: New File.
1074 * coffcode.h: Likewise.
1075 * config.bfd: Likewise.
1076 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
1077 * Makefile.am: Add support for maxq target.
1078 * configure.in: Likewise.
0306b3bf
AM
1079 * archures.c:. Likewise.
1080 * targets.c: Likewise.
1081 * bfd_in2.h : Regenerated.
7499d566
NC
1082 * Makefile.in: Regenerated.
1083 * configure: Regenerated.
1084 * doc/Makefile.in: Regenerated.
1085
977cdf5a
NC
10862004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
1087
1088 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
1089 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
1090 C_NT_WEAK aux entries.
1091 (_bfd_coff_generic_relocate_section): Handle undefined
1092 aliases.
1093
9dfe8738
AS
10942004-11-07 Andreas Schwab <schwab@suse.de>
1095
1096 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
1097 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
1098 non-default visibility.
1099
c3c76620
MM
11002004-11-01 Mark Mitchell <mark@codesourcery.com>
1101
1102 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 1103 D_PAGED.
c3c76620
MM
1104 (elf32_arm_symbian_modify_segment_map): Don't
1105 reset includes_filehdr and includes_phdrs here.
1106
7f266840
DJ
11072004-11-04 Daniel Jacobowitz <dan@debian.org>
1108
1109 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
1110 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
1111 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
1112 dependency.
1113 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
1114 to a new removed list. Remove normal configuration stanzas.
1115 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
1116 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
1117 elfarm-nabi.lo with elf32-arm.lo.
1118 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
1119 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
1120 * elf32-arm.h: Remove.
1121 * elfarm-oabi.c: Remove.
1122 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
1123 and bfd_elf32_littlearm_oabi_vec.
1124 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
1125
bac23f82
HPN
11262004-11-04 Hans-Peter Nilsson <hp@axis.com>
1127
1128 * config.bfd: Support crisv32-*-* like cris-*-*.
1129 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
1130 (bfd_mach_cris_v10_v32): New macros.
1131 * cpu-cris.c: Tweak formatting.
1132 (get_compatible): New function.
1133 (N): New macro.
1134 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
1135 bfd_arch_info_type:s.
1136 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
1137 get_compatible for member compatible and link bfd_cris_arch_v32 as
1138 next.
1139 * elf32-cris.c (cris_elf_pcrel_reloc)
1140 (cris_elf_set_mach_from_flags): New functions.
1141 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
1142 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
1143 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
1144 numbers for bfd_mach_cris_v32.
1145 (PLT_ENTRY_SIZE_V32): New macro.
1146 (elf_cris_plt0_entry): Drop last comma in initializer.
1147 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
1148 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
1149 PLT initializers.
1150 (cris_elf_relocate_section): Change all "%B(%A)" messages to
1151 "%B, section %A".
1152 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
1153 (elf_cris_finish_dynamic_sections): Similar.
1154 (elf_cris_adjust_dynamic_symbol): Similar.
1155 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
1156 section %A".
1157 <switch with PIC relocs>: Emit error and return FALSE for
1158 bfd_mach_cris_v10_v32.
1159 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
1160 Emit warning when generating textrel reloc.
1161 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
1162 (cris_elf_final_write_processing): Set flags according to mach.
1163 (cris_elf_print_private_bfd_data): Display
1164 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
1165 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
1166 new_flags. Don't call cris_elf_final_write_processing. Don't
1167 look at the actual elf header flags at all; use
1168 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
1169 in bfd_get_mach for ibfd and obfd and handle merging of compatible
1170 objects.
1171 (bfd_elf32_bfd_copy_private_bfd_data): Define.
1172 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
1173 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
1174 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
1175 * bfd-in2.h, libbfd.h: Regenerate.
1176
c5614fa4
AM
11772004-11-04 Alan Modra <amodra@bigpond.net.au>
1178
1179 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
1180 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
1181 comment.
1182 (struct adjust_toc_info): New.
1183 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
1184
0ebdbb83
BW
11852004-11-03 Bob Wilson <bob.wilson@acm.org>
1186
1187 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
1188 if there are no segments.
1189
675b2ace
DJ
11902004-11-02 Daniel Jacobowitz <dan@debian.org>
1191
1192 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
1193
58852c27
NC
11942004-11-02 Nick Clifton <nickc@redhat.com>
1195
1196 * elf32-iq2000.c: Convert to ISO C90 formatting.
1197
e6857c0c
HPN
11982004-11-02 Hans-Peter Nilsson <hp@axis.com>
1199
20288ed6 1200 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 1201
bf718458
L
12022004-10-28 H.J. Lu <hongjiu.lu@intel.com>
1203
1204 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
1205 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
1206 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
1207
044ad7e3
KK
12082004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1209
1210 * elf32-sh.c (tpoff): Take alignment into account.
1211
d5cb4bb8
NC
12122004-10-28 Nick Clifton <nickc@redhat.com>
1213
1214 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 1215 performing a relocatable link.
d5cb4bb8
NC
1216 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
1217 for MIPS ports under Irix.
1218
5b5bb741
PB
12192004-10-27 Richard Earnshaw <rearnsha@arm.com>
1220
1221 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
1222 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
1223 (elf32_arm_final_link_relocate): Ditto.
1224 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
1225 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
1226 (elf32_arm_adjust_dynamic_symbol): Ditto.
1227 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
1228 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
1229 (elf32_arm_r_howto): ... To here.
1230 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
1231
97ecf322
L
12322004-10-26 H.J. Lu <hongjiu.lu@intel.com>
1233
1234 PR 475
1235 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
1236 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
1237 and R_IA64_SECREL64LSB.
1238
3e3b46e5
PB
12392004-10-26 Paul Brook <paul@codesourcery.com>
1240
1241 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
1242 (bfd_elf_size_dynamic_sections): Create default version definition.
1243 (elf_link_output_extsym): Adjust for default symbol version.
1244
aa69fe43
HPN
12452004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1246
278b4623
HPN
1247 * mmo.c: Adjust to ISO C.
1248
aa69fe43
HPN
1249 * mmo.c (mmo_write_section_description): New function broken out
1250 of mmo_internal_write_section.
1251 (mmo_internal_write_section): For each of .text and .data, call
1252 mmo_write_section_description before outputting contents if it has
1253 nontrivially deducible vma or contents.
1254 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
1255 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
1256 symbols if found within the .data address range.
1257
ed040321
DJ
12582004-10-24 Daniel Jacobowitz <dan@debian.org>
1259
1260 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
1261
830866af
HPN
12622004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
1263
1264 * mmo.c (File Layout): Correct place of misplaced blurb about
1265 special data.
1266
5f417ca3
MK
12672004-10-22 Mark Kettenis <kettenis@gnu.org>
1268
1269 * config.bfd: Add mips64*-*-openbsd.
1270
823fc61f
BW
12712004-10-21 Bob Wilson <bob.wilson@acm.org>
1272
1273 * elf32-xtensa.c (ebb_propose_action): Put declarations before
1274 statements.
1275
8697aafb
L
12762004-10-21 H.J. Lu <hongjiu.lu@intel.com>
1277
1278 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
1279 * configure: Regenerate.
1280
dfeffb9f
L
12812004-10-21 H.J. Lu <hongjiu.lu@intel.com>
1282
1283 PR 463
1284 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
1285 to linker reloc_overflow callback.
1286 (aout_link_input_section_ext): Likewise.
1287 (aout_link_reloc_link_order): Likewise.
1288 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
1289 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1290 Likewise.
1291 (alpha_relocate_section): Likewise.
1292 * coff-arm.c (coff_arm_relocate_section): Likewise.
1293 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
1294 * coff-h8500.c (extra_case): Likewise.
1295 * coff-i960.c (coff_i960_relocate_section): Likewise.
1296 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
1297 * coff-mips.c (mips_relocate_section): Likewise.
1298 * coff-or32.c (coff_or32_relocate_section): Likewise.
1299 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
1300 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
1301 * coff-sh.c (sh_relocate_section): Likewise.
1302 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
1303 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
1304 * coff-z8k.c (extra_case): Likewise.
1305 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
1306 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1307 (_bfd_coff_generic_relocate_section): Likewise.
1308 * ecoff.c (ecoff_reloc_link_order): Likewise.
1309 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
1310 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1311 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1312 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
1313 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1314 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1315 * elf32-cris.c (cris_elf_relocate_section): Likewise.
1316 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1317 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1318 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1319 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1320 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1321 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1322 * elf32-i370.c (i370_elf_relocate_section): Likewise.
1323 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1324 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1325 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1326 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1327 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1328 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1329 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1330 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1331 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1332 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1333 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1334 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1335 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1336 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1337 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1338 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1339 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1340 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1341 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1342 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1343 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1344 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1345 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1346 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1347 * elflink.c (elf_reloc_link_order): Likewise.
1348 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1349 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1350 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
1351 * linker.c (_bfd_generic_reloc_link_order): Likewise.
1352 * pdp11.c (pdp11_aout_link_input_section): Likewise.
1353 (aout_link_reloc_link_order): Likewise.
1354 * reloc.c (bfd_generic_get_relocated_section_contents):
1355 Likewise.
1356 * xcofflink.c (xcoff_reloc_link_order): Likewise.
1357 * simple.c (simple_dummy_reloc_overflow): Updated.
1358
1715e0e3
AS
13592004-10-20 Andreas Schwab <schwab@suse.de>
1360
1361 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
1362 (elf_backend_plt_sym_val): Define.
1363
db3d41a8
DS
13642004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
1365
1366 * config.bfd: Set targ_underscore=yes for PE COFF targets
1367
4b85d634
AM
13682004-10-19 Alan Modra <amodra@bigpond.net.au>
1369
1370 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
1371 (ppc64_elf_edit_opd): Likewise.
1372
6df4d94c
MM
13732004-10-18 Mark Mitchell <mark@codesourcery.com>
1374
1375 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
1376 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
1377 set SEC_ALLOC and SEC_LOAD.
1378
00d962d1
NC
13792004-10-18 Nick Clifton <nickc@redhat.com>
1380
1381 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
1382 'name' for relocs against both local and global symbols.
1383
b58f81ae
DJ
13842004-10-16 Daniel Jacobowitz <dan@debian.org>
1385
1386 * bfd-in2.h: Regenerate.
1387 * bfd.c (struct bfd): Add no_export.
1388 * elflink.c (elf_link_add_object_symbols): Handle no_export.
1389
7d3f158f
AM
13902004-10-15 Alan Modra <amodra@bigpond.net.au>
1391
1392 * config.bfd: Whitespace cleanup.
1393 * Makefile.am: Run "make dep-am"
1394 * Makefile.in: Regenerate.
1395
6d2cd210
JJ
13962004-10-15 Jakub Jelinek <jakub@redhat.com>
1397
1398 * elflink.c (struct already_linked_section): Removed.
1399 (try_match_symbols_in_sections, already_linked): Removed.
1400 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
1401 prefix of section names when finding already_linked_table
1402 chain. Compare section names. Instead of calling already_linked,
1403 do it inline and only for sections in the same already_linked_list.
1404
92e4ec35
AM
14052004-10-15 Alan Modra <amodra@bigpond.net.au>
1406
1407 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
1408 parameter. If called after _bfd_elf_write_section_eh_frame,
1409 don't allow a -2 return unless need_* bit is already set, and
1410 handle offsets adjusted for output_offset.
1411 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
1412 * elf.c (_bfd_elf_section_offset): Update call.
1413
7bf6dede
L
14142004-10-13 H.J. Lu <hongjiu.lu@intel.com>
1415
1416 PR 440
1417 * coffcode.h (coff_compute_section_file_positions): Cast to
1418 bfd_vma when computing page alignment.
1419
c0042f5d
MM
14202004-10-13 Mark Mitchell <mark@codesourcery.com>
1421
1422 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1423 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
1424
2a1b9a48
MM
14252004-10-12 Mark Mitchell <mark@codesourcery.com>
1426
1427 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
1428 relocations use a virtual address, not a section offset.
1429
b08b5071
BW
14302004-10-12 Bob Wilson <bob.wilson@acm.org>
1431
1432 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
1433 (narrow_instruction, widen_instruction): Remove unnecessary calls to
1434 xtensa_format_encode.
1435 (ebb_propose_action): Inline call to ebb_add_proposed_action.
1436 (ebb_add_proposed_action): Delete.
1437
7fa3d080
BW
14382004-10-12 Bob Wilson <bob.wilson@acm.org>
1439
1440 * elf32-xtensa.c: Use ISO C90 formatting.
1441
3656d5e3
PB
14422004-10-12 Paul Brook <paul@codesourcery.com>
1443
1444 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
1445 message.
1446
8cb51566
PB
14472004-10-12 Paul Brook <paul@codesourcery.com>
1448
1449 * elf32-arm.h: Support EABI version 4 objects.
1450
1abc8597
AM
14512004-10-12 Alan Modra <amodra@bigpond.net.au>
1452
1453 PR 325
1454 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
1455 Don't mark as default.
1456 (bfd_x86_64_arch): Don't mark as default.
1457
9e66c942
AM
14582004-10-12 Alan Modra <amodra@bigpond.net.au>
1459
1460 * elflink.c (enum action_discarded): New.
1461 (elf_section_complain_discarded): Delete.
1462 (elf_action_discarded): New function subsuming the above and also
1463 controlling reloc behaviour.
1abc8597 1464 (elf_link_input_bfd): Use it.
9e66c942 1465
7f1204bb
JJ
14662004-10-11 Jakub Jelinek <jakub@redhat.com>
1467
1468 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
1469 (special_sections): Add .gnu.liblist and .gnu.conflict.
1470 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
1471
87e5235d
AM
14722004-10-11 Alan Modra <amodra@bigpond.net.au>
1473
1474 PR 233
1475 * elflink.c (elf_link_input_bfd): Try harder to support
1476 relocations against symbols in removed linkonce sections.
1477
2ad770c3
AM
14782004-10-11 Alan Modra <amodra@bigpond.net.au>
1479
029446c4
AM
1480 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
1481
2ad770c3
AM
1482 PR 354
1483 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
1484 sections do not reference symbols in non-SEC_ALLOC sections.
1485
1da212d6
AM
14862004-10-11 Alan Modra <amodra@bigpond.net.au>
1487
1488 PR 437
1489 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
1490 (_bfd_elf_link_omit_section_dynsym): Formatting.
1491
f12123c0
AM
14922004-10-10 Alan Modra <amodra@bigpond.net.au>
1493
1494 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
1495 * libbfd.h: Regnerate.
1496 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
1497 * elf32-frv.c: Likewise.
1498 * elf32-m32r.c: Likewise.
1499 * elf32-ppc.c: Likewise.
1500 * elf64-hppa.c: Likewise.
1501 * elfxx-ia64.c: Likewise.
1502 * opncls.c: Likewise.
1503
fda3ecf2
AM
15042004-10-10 Alan Modra <amodra@bigpond.net.au>
1505
3472e2e9
AM
1506 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
1507 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
1508 offsets stored in struct eh_cie_fde entries before doing other
1509 work.
1510
fda3ecf2
AM
1511 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
1512 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
1513 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
1514 setting offsets for removed CIEs. Don't set "sec", instead set
1515 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
1516 CIE in hdr_info. Only set make_relative and make_lsda_relative
1517 for CIEs. Use pointers rather than array indices.
1518 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
1519 make_lsda_relative, need_* on cie_inf for FDEs.
1520 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
1521 section output_offset. Delete cie_offset, instead use cie_inf
1522 pointer to CIE entry. Use need_relative and need_lsda_relative on
1523 CIE entry for FDEs. Use pointers rather than array indices.
1524
7db6994f
AM
15252004-10-09 Alan Modra <amodra@bigpond.net.au>
1526
1527 * coff-rs6000.c (rs6000coff_vec): Add initializer for
1528 bfd_is_target_special_symbol.
1529 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1530 * som.c (som_bfd_is_target_special_symbol): Define.
1531
3c9458e9
NC
15322004-10-08 Nick Clifton <nickc@redhat.com>
1533
1534 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
1535 * configure: Regenerate.
1536 * bfd-in2.h: Regenerate.
1537 * syms.c (bfd_is_target_special_symbol): New interface function.
1538 Returns true when a symbol should be considered to be special.
7db6994f 1539 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
1540 the symbol jump table.
1541 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
1542 Return true iff the symbol is a mapping symbol.
1543 (bfd_elf32_bfd_is_target_special_symbol): Define.
1544 * elfxx-target.h: Provide a default definition for
1545 bfd_is_target_special_symbol.
1546 * aout-target.h: Likewise.
1547 * aout-tic30.c: Likewise.
873d03ee 1548 * binary.c: Likewise.
3c9458e9
NC
1549 * coffcode.h: Likewise.
1550 * i386msdos.c: Likewise.
1551 * ieee.c: Likewise.
873d03ee 1552 * ihex.c: Likewise.
3c9458e9
NC
1553 * libaout.h: Likewise.
1554 * libbfd-in.h: Likewise
1555 * libecoff.h: Likewise.
1556 * mach-o.c: Likewise.
1557 * mmo.c: Likewise.
1558 * nlm-target.h: Likewise.
1559 * oasys.c: Likewise.
1560 * pef.c: Likewise.
1561 * ppcboot.c: Likewise.
1562 * srec.c: Likewise.
1563 * tekhex.c: Likewise.
1564 * versados.c: Likewise.
1565 * vms.c: Likewise.
1566 * xcoff-target.h: Likewise.
1567 * xsym.c: Likewise.
1568 * libbfd.h: Regenerate.
1569
d2b2c203
DJ
15702004-10-08 Daniel Jacobowitz <dan@debian.org>
1571
1572 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
1573 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
1574 (elf_backend_section_from_shdr): Define.
1575
864274b0
AM
15762004-10-08 Alan Modra <amodra@bigpond.net.au>
1577
1578 * syms.c (bfd_is_local_label): Return false for file symbols.
1579
43cd72b9 15802004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 1581 David Heine <dlheine@tensilica.com>
43cd72b9
BW
1582
1583 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
1584 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
1585 (elf32xtensa_no_literal_movement): New global variable.
1586 (elf_howto_table): Add entries for new relocations.
1587 (elf_xtensa_reloc_type_lookup): Handle new relocations.
1588 (property_table_compare): When addresses are equal, compare sizes and
1589 various property flags.
1590 (property_table_matches): New.
1591 (xtensa_read_table_entries): Extend to read new property tables. Add
1592 output_addr parameter to indicate that output addresses should be used.
1593 Use bfd_get_section_limit.
1594 (elf_xtensa_find_property_entry): New.
1595 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
1596 (elf_xtensa_check_relocs): Handle new relocations.
1597 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
1598 relocations. Use new xtensa-isa.h functions.
1599 (build_encoding_error_message): Remove encode_result parameter. Add
1600 new target_address parameter used to detect alignment errors.
1601 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
1602 error handling. Use new is_operand_relocation function.
1603 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
1604 Use underbar macro for error messages. Formatting.
1605 (get_const16_opcode): New.
1606 (get_l32r_opcode): Add a separate flag for initialization.
1607 (get_relocation_opnd): Operand number is no longer explicit in the
1608 relocation. Change to decode the opcode and analyze its operands.
1609 (get_relocation_slot): New.
1610 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
1611 Use new xtensa-isa.h functions to handle multislot instructions.
1612 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
1613 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
1614 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
1615 check_loop_aligned, check_branch_target_aligned_address, narrowable,
1616 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
1617 get_single_format, init_op_single_format_table): New.
1618 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
1619 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
1620 (contract_asm_expansion): Add error_message parameter and pass it to
1621 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
1622 with R_XTENSA_SLOT0_OP.
1623 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
1624 instructions. Use new xtensa-isa.h functions.
1625 (r_reloc struct): Add new virtual_offset field.
1626 (r_reloc_init): Add contents and content_length parameters. Set
1627 virtual_offset field to zero. Add contents to target_offset field for
1628 partial_inplace relocations.
1629 (r_reloc_is_defined): Check for null.
1630 (print_r_reloc): New debug function.
1631 (source_reloc struct): Replace xtensa_operand field with pair of the
1632 opcode and the operand position. Add is_abs_literal field.
1633 (init_source_reloc): Specify operand by opcode/position pair. Set
1634 is_abs_literal field.
1635 (source_reloc_compare): When target_offsets are equal, compare other
1636 fields to make sorting predictable.
1637 (literal_value struct): Add is_abs_literal field.
1638 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
1639 (init_literal_value): New.
1640 (is_same_value): Replace with ...
1641 (literal_value_equal): ... this function. Add comparisons of
1642 virtual_offset and is_abs_literal fields.
1643 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
1644 failure. Initialize has_last_loc field.
1645 (value_map_hash_table_delete): New.
1646 (hash_literal_value): Rename to ...
1647 (literal_value_hash): ... this. Include is_abs_literal flag and
1648 virtual_offset field in the hash value.
1649 (get_cached_value): Rename to ...
1650 (value_map_get_cached_value): ... this. Update calls to
1651 literal_value_hash and literal_value_equal.
1652 (add_value_map): Check for allocation failure. Update calls to
1653 value_map_get_cached_value and literal_value_hash.
1654 (text_action, text_action_list, text_action_t): New types.
1655 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
1656 text_action_add, text_action_add_literal, offset_with_removed_text,
1657 offset_with_removed_text_before_fill, find_insn_action,
1658 print_action_list, print_removed_literals): New.
1659 (offset_with_removed_literals): Delete.
1660 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
1661 fix_array, fix_array_count, allocated_relocs, relocs_count, and
1662 allocated_relocs_count fields.
1663 (init_xtensa_relax_info): Initialize new fields.
1664 (reloc_bfd_fix struct): Add new translated field.
1665 (reloc_bfd_fix_init): Add translated parameter and use it to set the
1666 translated field.
1667 (fix_compare, cache_fix_array): New.
1668 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
1669 section via get_xtensa_relax_info. Use cache_fix_array to set up
1670 sorted fix_array and use bsearch instead of linear search.
1671 (section_cache_t): New struct.
1672 (init_section_cache, section_cache_section, clear_section_cache): New.
1673 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
1674 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
1675 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
1676 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
1677 New.
1678 (retrieve_contents): Use bfd_get_section_limit.
1679 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
1680 to compute_removed_literals. Free value_map_hash_table when no longer
1681 needed.
1682 (analyze_relocations): Check is_relaxable_asm_section flag. Call
1683 compute_text_actions for all sections.
1684 (find_relaxable_sections): Mark sections as relaxable if they contain
1685 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
1686 call. Increment relax_info src_count field only for appropriate
1687 relocation types. Remove is_literal_section check.
1688 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
1689 r_reloc_init and find_associated_l32r_irel. Check
1690 is_relaxable_asm_section flag. Handle L32R instructions with absolute
1691 literals. Pass is_abs_literal flag to init_source_reloc.
1692 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
1693 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 1694 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
1695 (find_associated_l32r_irel): Add bfd parameter and pass it to
1696 is_l32r_relocation.
1697 (compute_text_actions, compute_ebb_proposed_actions,
1698 compute_ebb_actions, check_section_ebb_pcrels_fit,
1699 check_section_ebb_reduces, text_action_add_proposed,
1700 compute_fill_extra_space): New.
1701 (remove_literals): Replace with ...
1702 (compute_removed_literals): ... this function. Call
1703 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
1704 Call xtensa_read_table_entries to get the property table. Skip
1705 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
1706 is_removable_literal, remove_dead_literal, and
fda3ecf2 1707 identify_literal_placement functions.
43cd72b9
BW
1708 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
1709 instead of linear search.
1710 (is_removable_literal, remove_dead_literal,
1711 identify_literal_placement): New.
1712 (relocations_reach): Update check for literal not referenced by any
1713 PC-relative relocations. Adjust call to pcrel_reloc_fits.
1714 (coalesce_shared_literal, move_shared_literal): New.
1715 (relax_section): Use bfd_get_section_limit. Call
1716 translate_section_fixes. Update calls to r_reloc_init and
1717 offset_with_removed_text. Check new is_relaxable_asm_section flag.
1718 Add call to pin_internal_relocs. Add special handling for
1719 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
1720 info to calculate new addend_displacement variable. Replace code for
1721 deleting literals with more general code to perform the actions
1722 determined by the action_list for the section.
1723 (translate_section_fixes, translate_reloc_bfd_fix): New.
1724 (translate_reloc): Check new is_relaxable_asm_section flag. Call
1725 find_removed_literal only if is_operand_relocation. Update call to
1726 offset_with_removed_text. Use new target_offset and removed_bytes
1727 variables.
1728 (move_literal): New.
1729 (relax_property_section): Use bfd_get_section_limit. Set new
1730 is_full_prop_section flag and handle new property tables. Update calls
1731 to r_reloc_init and offset_with_removed_text. Check
1732 is_relaxable_asm_section flag. Handle expansion of zero-sized
1733 unreachable entries, with use of offset_with_removed_text_before_fill.
1734 For relocatable links, combine entries only for literal tables.
1735 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
1736 calls to offset_with_removed_text. Translate st_size field for
1737 function symbols.
1738 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
1739 failure. Add contents parameter. Update call to get_bfd_fix. Update
1740 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
1741 R_XTENSA_ASM_EXPAND relocs.
1742 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
1743 call to get_bfd_fix. Include offset from contents for partial_inplace
1744 relocations.
1745 (is_reloc_sym_weak): New.
1746 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
1747 (prop_sec_len): New.
1748 (xtensa_is_property_section): Handle new property sections.
1749 (is_literal_section): Delete.
1750 (internal_reloc_compare): When r_offset matches, compare r_info and
1751 r_addend to make sorting predictable.
1752 (internal_reloc_matches): New.
1753 (xtensa_get_property_section_name): Handle new property sections.
1754 (xtensa_get_property_predef_flags): New.
1755 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
1756 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
1757 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
1758 (xtisa_errno, xtisa_error_msg): New variables.
1759 (xtensa_isa_errno, xtensa_isa_error_msg): New.
1760 (xtensa_insnbuf_alloc): Add error handling.
1761 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
1762 use xtensa_format_decode. Add error handling.
1763 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
1764 instruction length to find the number of bytes to copy.
1765 (xtensa_isa_init): Add error handling. Replace calls to
1766 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
1767 tables in the xtensa_modules structure.
1768 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
1769 xtensa_extend_isa): Delete.
1770 (xtensa_isa_free): Change to only free lookup tables.
1771 (opname_lookup_compare): Replace with ...
1772 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
1773 (xtensa_insn_maxlength): Rename to ...
1774 (xtensa_isa_maxlength): ... this.
1775 (xtensa_insn_length): Delete.
1776 (xtensa_insn_length_from_first_byte): Replace with ...
1777 (xtensa_isa_length_from_chars): ... this function.
1778 (xtensa_num_opcodes): Rename to ...
1779 (xtensa_isa_num_opcodes): ... this.
1780 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
1781 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
1782 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
1783 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
1784 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
1785 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
1786 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
1787 (xtensa_opcode_lookup): Add error handling.
1788 (xtensa_decode_insn): Replace with ...
1789 (xtensa_opcode_decode): ... this function, with new format and
1790 slot parameters. Add error handling.
1791 (xtensa_encode_insn): Replace with ...
1792 (xtensa_opcode_encode): ... this function, which does the encoding via
1793 one of the entries in the "encode_fns" array. Add error handling.
1794 (xtensa_opcode_name): Add error handling.
1795 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
1796 xtensa_opcode_is_call): New.
1797 (xtensa_num_operands): Replace with ...
1798 (xtensa_opcode_num_operands): ... this function. Add error handling.
1799 (xtensa_opcode_num_stateOperands,
1800 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
1801 xtensa_opcode_funcUnit_use, xtensa_operand_name,
1802 xtensa_operand_is_visible): New.
1803 (xtensa_get_operand, xtensa_operand_kind): Delete.
1804 (xtensa_operand_inout): Add error handling and special-case for
1805 "sout" operands.
1806 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
1807 operate on one slot of an instruction. Added error handling.
1808 (xtensa_operand_encode): Handle default operands with no encoding
1809 functions. Check for success by comparing against decoded value.
1810 Add error handling.
1811 (xtensa_operand_decode): Handle default operands. Return decoded value
1812 through argument pointer. Add error handling.
1813 (xtensa_operand_is_register, xtensa_operand_regfile,
1814 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
1815 (xtensa_operand_isPCRelative): Rename to ...
1816 (xtensa_operand_is_PCrelative): ... this. Add error handling.
1817 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
1818 through argument pointer. Add error handling.
1819 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
1820 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
1821 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
1822 xtensa_regfile_shortname, xtensa_regfile_view_parent,
1823 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
1824 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
1825 xtensa_state_is_exported, xtensa_sysreg_lookup,
1826 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
1827 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
1828 xtensa_interface_num_bits, xtensa_interface_inout,
1829 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
1830 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
1831 * xtensa-modules.c: Rewrite to use new data structures.
1832 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
1833 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
1834 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
1835 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
1836 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
1837 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
1838 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
1839 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
1840 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
1841 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
1842 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
1843 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
1844 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
1845 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
1846 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
1847 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
1848 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
1849 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
1850 * Makefile.in: Regenerate.
1851 * bfd-in2.h: Likewise.
1852 * libbfd.h: Likewise.
1853
99022dfb
RS
18542004-10-07 Richard Sandiford <rsandifo@redhat.com>
1855
1856 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
1857 against the absolute section.
1858 (mips_elf64_write_rela): Likewise.
1859
b67ae299
NC
18602004-10-07 Jan Beulich <jbeulich@novell.com>
1861
1862 * elf.c (elf_find_function): Don't generally check for matching
1863 section, just for non-file symbols. Remove redunant comparison
1864 for the latter.
1865 * elf32-arm.h (arm_elf_find_function): Likewise.
1866
8fdd7217
NC
18672004-10-07 Jeff Baker <jbaker@qnx.com>
1868
1869 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
1870 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
1871 was specified.
1872
073a2dc3
RM
18732004-10-04 Roland McGrath <roland@redhat.com>
1874
1875 * hash.c (bfd_hash_set_default_size): Use const for table.
1876 Use size_t instead of int for variable compared to sizeof results.
1877
7785be14
AM
18782004-10-05 Alan Modra <amodra@bigpond.net.au>
1879
1880 PR 425
1881 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
1882
40a18ebd
NC
18832004-10-01 Paul Brook <paul@codesourcery.com>
1884
1885 * elf32-arm.h (elf32_arm_fake_sections,
1886 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
1887 functions.
1888 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
1889
8935b81f
AM
18902004-10-01 Alan Modra <amodra@bigpond.net.au>
1891
1892 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
1893 need_lsda_relative.
1894 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
1895 need_relative or need_lsda_relative if we are processing an
1896 offset for a reloc on a FDE initial loc or LSDA field
1897 respectively.
1898 (_bfd_elf_write_section_eh_frame): Test need_relative and
1899 need_lsda_relative in place of corresponding make_* field
1900 when deciding to use pc-relative encodings.
1901
eeac373a
PB
19022004-09-30 Paul Brook <paul@codesourcery.com>
1903
1904 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
1905 target2 relocation type.
1906
7479dfd4
L
19072004-09-30 H.J. Lu <hongjiu.lu@intel.com>
1908
1909 PR 414
1910 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
1911
0dd132b6
NC
19122004-09-30 Paul Brook <paul@codesourcery.com>
1913
1914 * reloc.c: Add BFD_RELOC_ARM_SMI.
1915 * bfd-in2.h: Regenerate.
1916 * libbfd.h: Ditto.
1917
1ba54ee0
AM
19182004-09-24 Alan Modra <amodra@bigpond.net.au>
1919
1920 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
1921 vma and output offset to address.
1922 * simple.c (simple_save_output_info): Only set output section
1923 and offset for debug sections, or those not already set up by
1924 the linker.
1925 (bfd_simple_get_relocated_section_contents): Update comment.
1926
5efb6261
AM
19272004-09-24 Alan Modra <amodra@bigpond.net.au>
1928
1929 * elf.c (IS_LOADED): Delete.
1930 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
1931 Restore SEC_HAS_CONTENTS test to the one place it was used prior
1932 to 2004-09-22.
1933
fca870e4
AM
19342004-09-23 Alan Modra <amodra@bigpond.net.au>
1935
1936 PR gas/396
1937 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1938 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
1939 redundant assignment of EM_SPARC.
1940
c86696a3
BF
19412004-09-22 Brian Ford <ford@vss.fsi.com>
1942
1943 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
1944 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
1945 constants.
1946 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1947
73adb214
AM
19482004-09-22 Alan Modra <amodra@bigpond.net.au>
1949
1950 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
1951 (elf_backend_modify_segment_map): Don't define.
1952
b301b248
AM
19532004-09-22 Alan Modra <amodra@bigpond.net.au>
1954
1955 * elf.c (IS_LOADED): Define.
1956 (assign_file_positions_for_segments): Don't round up file offset of
1957 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
1958 Delete code handling link script adjustment of lma. Do the adjust
1959 in later code handling similar ajustments. Remove dead code error
1960 check. Warn if section lma would require a negative offset
1961 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
1962 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
1963 update voff in section loop. Change voff in segment loop to be an
1964 adjustment on top of "off". Set sec->filepos and update "off" later.
1965 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 1966 test for alloc-only sections other than .tbss consistently.
b301b248
AM
1967 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
1968 Tidy PT_NOTE handling. Use %B and %A in error messages.
1969 (assign_file_positions_except_relocs): Use %B in error message.
1970
3f85e526
L
19712004-09-17 H.J. Lu <hongjiu.lu@intel.com>
1972
1973 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
1974 (CONFIG_STATUS_DEPENDENCIES): New.
1975 (Makefile): Removed.
1976 (config.status): Likewise.
1977 * Makefile.in: Regenerated.
1978
eb043451
PB
19792004-09-17 Paul Brook <paul@codesourcery.com>
1980
1981 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
1982 (bfd_elf32_arm_process_before_allocation): Update prototype.
1983 * bfd-in2.h: Regenerate.
1984 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
1985 (elf32_arm_link_hash_table_create): Set it.
1986 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
1987 (bfd_elf32_arm_set_target_relocs): New function.
1988 (arm_real_reloc_type): New function.
1989 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
1990 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
1991 (elf32_arm_gc_sweep_hook): Ditto.
1992 (elf32_arm_check_relocs): Ditto.
1993 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
1994 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
1995 R_ARM_GOT_TARGET2.
1996 (elf32_arm_got_prel): New variable.
1997 (elf32_arm_howto_from_type): New function.
1998 (elf32_arm_info_to_howto): Use it.
1999 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
2000 BFD_RELOC_ARM_TARGET2.
2001 * libbfd.h: Regenerate.
2002 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
2003
f6e332e6
AM
20042004-09-17 Alan Modra <amodra@bigpond.net.au>
2005
2006 * ecoff.c: Update u.undef.next refs.
2007 * elf64-ppc.c: Likewise.
2008 * elflink.c: Likewise.
2009 * linker.c: Likewise.
2010 * xcofflink.c: Likewise.
2011
2012 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
2013 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
2014 fields to indirect struct.
2015 * elf-m10300.c: Update u.weakdef refs.
2016 * elf32-arm.h: Likewise.
2017 * elf32-cris.c: Likewise.
2018 * elf32-frv.c: Likewise.
2019 * elf32-hppa.c: Likewise.
2020 * elf32-i370.c: Likewise.
2021 * elf32-i386.c: Likewise.
2022 * elf32-m32r.c: Likewise.
2023 * elf32-m68k.c: Likewise.
2024 * elf32-ppc.c: Likewise.
2025 * elf32-s390.c: Likewise.
2026 * elf32-sh.c: Likewise.
2027 * elf32-sparc.c: Likewise.
2028 * elf32-vax.c: Likewise.
2029 * elf32-xtensa.c: Likewise.
2030 * elf64-alpha.c: Likewise.
2031 * elf64-hppa.c: Likewise.
2032 * elf64-ppc.c: Likewise.
2033 * elf64-s390.c: Likewise.
2034 * elf64-sh64.c: Likewise.
2035 * elf64-sparc.c: Likewise.
2036 * elf64-x86-64.c: Likewise.
2037 * elfxx-ia64.c: Likewise.
2038 * elfxx-mips.c: Likewise.
2039 * elflink.c: Likewise. Also u.elf_hash_value.
2040 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
2041 indirection.
2042 (elf_gc_smash_unused_vtentry_relocs): Likewise.
2043 (bfd_elf_gc_record_vtinherit): Alloc vtable.
2044 (bfd_elf_gc_record_vtentry): Likewise.
2045 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
2046
90c0a373
AM
20472004-09-17 Alan Modra <amodra@bigpond.net.au>
2048
2049 * Makefile.am: Run "make dep-am".
2050 * Makefile.in: Regenerate.
2051 * bfd-in2.h: Regenerate.
2052 * po/SRC-POTFILES.in: Regenerate.
2053 * po/bfd.pot: Regenerate.
2054
f5385ebf
AM
20552004-09-16 Alan Modra <amodra@bigpond.net.au>
2056
2057 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
2058 with bitfields. Make "type" and "other" bitfields too.
2059 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
2060 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
2061 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
2062 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
2063 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
2064 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
2065 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
2066 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
2067 * elf-hppa.h: Update all uses of elf_link_hash_flags.
2068 * elf-m10300.c: Likewise.
2069 * elf.c: Likewise.
2070 * elf32-arm.h: Likewise.
2071 * elf32-cris.c: Likewise.
2072 * elf32-frv.c: Likewise.
2073 * elf32-hppa.c: Likewise.
2074 * elf32-i370.c: Likewise.
2075 * elf32-i386.c: Likewise.
2076 * elf32-m32r.c: Likewise.
2077 * elf32-m68k.c: Likewise.
2078 * elf32-ppc.c: Likewise.
2079 * elf32-s390.c: Likewise.
2080 * elf32-sh-symbian.c: Likewise.
2081 * elf32-sh.c: Likewise.
2082 * elf32-sh64.c: Likewise.
2083 * elf32-sparc.c: Likewise.
2084 * elf32-vax.c: Likewise.
2085 * elf32-xtensa.c: Likewise.
2086 * elf64-alpha.c: Likewise.
2087 * elf64-hppa.c: Likewise.
2088 * elf64-ppc.c: Likewise.
2089 * elf64-s390.c: Likewise.
2090 * elf64-sh64.c: Likewise.
2091 * elf64-sparc.c: Likewise.
2092 * elf64-x86-64.c: Likewise.
2093 * elflink.c: Likewise.
2094 * elfxx-ia64.c: Likewise.
2095 * elfxx-mips.c: Likewise.
2096 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
2097 * configure: Regenerate.
2098 * aclocal.m4: Regenerate.
2099
b6ee372a
AM
21002004-09-16 Alan Modra <amodra@bigpond.net.au>
2101
2102 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
2103 around uses of R_ARM_TARGET1.
2104 (elf32_arm_check_relocs): Likewise.
2105
9c504268
PB
21062004-09-13 Paul Brook <paul@codesourcery.com>
2107
2108 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
2109 prototype.
2110 * bfd-in2.h: Regenerate.
2111 * libbfd.h: Regenerate.
2112 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
2113 (elf32_arm_link_hash_table_create): Set target1_is_rel.
2114 (bfd_elf32_arm_process_before_allocation): Ditto.
2115 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
2116 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
2117 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
2118 * reloc.c: Ditto.
2119
94ea025a
JB
21202004-09-10 Joel Brobecker <brobecker@gnat.com>
2121
2122 * hpux-core.c (thread_section_p): New function.
2123 (hpux_core_core_file_p): Fix computation of offset in call
2124 to bfd_seek. Create a ".reg" section from an arbitrary
2125 ".reg/<id>" section if none was created after having read
2126 all sections.
2127
24443139
AS
21282004-09-11 Andreas Schwab <schwab@suse.de>
2129
2130 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
2131 * aclocal.m4: Rebuild.
2132 * configure: Rebuild.
2133
f4eae89c
JB
21342004-09-10 Joel Brobecker <brobecker@gnat.com>
2135
2136 * section.c (bfd_sections_find_if): Fix parameter name in
2137 comment to match code.
2138
e0638f70
AM
21392004-09-10 Alan Modra <amodra@bigpond.net.au>
2140
2141 * elf.c (assign_file_positions_except_relocs): Assign relocs
2142 stored in a bfd section.
2143
5e0f5ae3
HPN
21442004-09-08 Hans-Peter Nilsson <hp@axis.com>
2145
2146 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
2147 h->gotplt_refcount to 0, not -1.
2148
ada1953e
HPN
21492004-09-07 Hans-Peter Nilsson <hp@axis.com>
2150
2151 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
2152 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
2153 symname.
2154 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
2155 handle symbol visibility here.
2156
ee75fd95
AM
21572004-09-07 Alan Modra <amodra@bigpond.net.au>
2158
2159 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
2160 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
2161 callers.
2162 (ppc_stub_name): Remove trailing "+0" on stub name.
2163 (create_linkage_sections): Create relocations for
2164 branch lookup table when --emit-relocs as well as when --shared.
2165 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
2166 relbrlt test. For --emit-stub-syms, always output a sym even when
2167 one already exists on a plt call stub. Put stub type in the stub
2168 symbol name.
2169 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
2170 test.
2171 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
2172 reloc_count in stub sections. Adjust relbrlt test.
2173 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
2174 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
2175 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
2176 for relocs against discarded symbols. Fix comments.
2177
229fcec5
MM
21782004-09-06 Mark Mitchell <mark@codesourcery.com>
2179
2180 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
2181 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
2182 from ...
2183 (map_sections_to_segments): ... here. Use it. Assign a file
2184 position to the .dynamic section if it is not loadable, but part
2185 of the PT_DYNAMIC segment.
2186 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
2187 offsets, not VMAs, for the BPABI. Do not fill in the header in
2188 the .got.plt section for the BPABI.
2189 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
2190 PT_DYNAMIC segment.
2191 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 2192
9a0789ec
NC
21932004-09-06 Nick Clifton <nickc@redhat.com>
2194
2195 * elflink.c (elf_link_add_object_symbols): Set the error code to
2196 bfd_error_wrong_format when the input format does not match the
2197 output format.
2198
7b53ace3
AM
21992004-09-06 Alan Modra <amodra@bigpond.net.au>
2200
2201 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
2202 (ppc64_elf_check_directives): ..here.
2203 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
2204 before accessing ppc64_elf_tdata.
2205 (ppc64_elf_finish_dynamic_sections): And here too.
2206
3e540f25
AM
22072004-09-04 Alan Modra <amodra@bigpond.net.au>
2208
2209 * bfd.c (_bfd_default_error_handler): Correct loop exit.
2210
e5a52504
MM
22112004-09-03 Mark Mitchell <mark@codesourcery.com>
2212
2213 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
2214 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
2215 (bfd_elf32_littlearm_symbian_vec): Likewise.
2216 * configure: Regenerated.
2217 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
2218 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
2219 (PLT_ENTRY_SIZE): Likewise.
2220 (bfd_vma_elf32_arm_symbian_plt_entry): New
2221 variable.
2222 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
2223 and symbian_p.
2224 (create_got_section): Don't create sections when generating BPABI
2225 objects.
2226 (elf32_arm_create_dynamic_sections): Tidy.
2227 (elf32_arm_link_hash_table_create): Set plt_header_size,
2228 plt_entry_size, and symbian_p.
2229 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
2230 generating BPABI objects.
2231 (allocate_dynrelocs): Use htab->plt_header_size, not
2232 PLT_HEADER_SIZE. Do not add to .got.plt when
2233 generating BPABI objects.
2234 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
2235 * elfarm-nabi.c: Add SymbianOS target vectors.
2236 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
2237 (_bfd_elf_link_create_dynamic_sections): Likewise.
2238 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
2239 (elfNN_bed): Use it.
2240 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
2241 (bfd_elf32_littlearm_symbian_vec): Likewise.
2242 (_bfd_target_vector): Add them.
2243
6e3b6835
NC
22442004-09-03 Nick Clifton <nickc@redhat.com>
2245
2246 PR 360
2247 * coffcode.h (handle_COMDAT): Replace abort with an warning
2248 message and allow the scan to continue.
2249
595da8c5
AM
22502004-09-02 Alan Modra <amodra@bigpond.net.au>
2251
2252 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
2253 in when reading relocs, not our sorted syms. Remove unnecessary
2254 var.
2255
6723a9f4
EB
22562004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2257
2258 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
2259
5464f5a1
NN
22602004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
2261
2262 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
2263 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
2264 replace uses of *_alias with *_noncanonical.
2265 * aclocal.m4: Rebuild with aclocal 1.4p6.
2266 * Makefile.in: Rebuild with automake 1.4p6.
2267 * doc/Makefile.in: Rebuild with automake 1.4p6.
2268 * configure.in: Autoupdate with autoupdate 2.59.
2269 * config.in: Regenerate with autoheader 2.59.
2270 * configure: Regnerate with autoconf 2.59.
2271
a7535cf3
AM
22722004-08-28 Alan Modra <amodra@bigpond.net.au>
2273
2274 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
2275 symbol pointer arrays before modifying.
2276
c9727e01
AM
22772004-08-28 Alan Modra <amodra@bigpond.net.au>
2278
b91e2ae2 2279 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
2280 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
2281 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
2282 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
2283 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
2284 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
2285 Use both symbol tables on non-relocatable objects. Use a common
2286 error exit. Fix "mid" warning.
c9727e01
AM
2287 * libbfd.h: Regenerate.
2288 * bfd-in2.h: Regenerate.
2289
699733f6
AM
22902004-08-28 Alan Modra <amodra@bigpond.net.au>
2291
2292 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
2293 object file.
2294 (struct sfpr_def_parms): Save some space.
2295 (sfpr_define): Here too.
2296
2297 * elf64-ppc.c (compare_symbols): Put section syms first.
2298 (sym_exists_at): New function.
2299 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
2300 points only for relocatable files. Use .opd section contents
2301 otherwise. Generally clean up the code.
2302
deb0e272
AM
23032004-08-27 Alan Modra <amodra@bigpond.net.au>
2304
2305 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
2306 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
2307 (struct sfpr_def_parms): New.
2308 (sfpr_define): New function.
2309 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
2310 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
2311 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
2312 (savefpr1_tail, restfpr1_tail): New functions.
2313 (savevr, savevr_tail, restvr, restvr_tail): New functions.
2314 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
2315 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
2316 code. Define all ABI mandated _save and _rest functions.
2317
85a84e7a
PB
23182004-08-26 Paul Brook <paul@codesourcery.com>
2319
deb0e272 2320 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 2321
688c58f3
AM
23222004-08-26 Alan Modra <amodra@bigpond.net.au>
2323
2324 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
2325 TRUE or FALSE.
2326
3e95eabc
AM
23272004-08-26 Alan Modra <amodra@bigpond.net.au>
2328
2329 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
2330 that pcrel correction is applied for R_386_PC32.
2331
f855931b
AM
23322004-08-25 Alan Modra <amodra@bigpond.net.au>
2333
2334 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
2335 for R_386_32 and R_386_PC32 relocs against symbols defined in
2336 discarded sections.
2337
b18c562e
NC
23382004-08-25 Dmitry Diky <diwil@spec.ru>
2339
2340 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
2341 Add new relocations.
2342 * bfd-in2.h: Regenerate.
f855931b 2343 * libbfd.h: Regenerate.
b18c562e
NC
2344 * elf32-msp430.c: Clean-up code.
2345 (elf_msp430_howto_table): Add new relocation entries.
2346 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
2347 (msp430_elf_relax_section): New function.
2348 (msp430_elf_relax_delete_bytes): New function.
2349 (msp430_elf_symbol_address_p): New function.
2350
af705ba8
NC
23512004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2352
2353 * elf32-m32r.c (m32r_elf_relocate_section): Handle
2354 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
2355
ea5158d8
DJ
23562004-08-20 Daniel Jacobowitz <dan@debian.org>
2357
2358 * elflink.c (_bfd_elf_section_already_linked): Handle
2359 SEC_LINK_DUPLICATES_SAME_CONTENTS.
2360
49d934f1
MM
23612004-08-19 Mark Mitchell <mark@codesourcery.com>
2362
2363 * config.bfd (arm*-*-symbianelf*): New target.
2364 (arm*-*-eabi*): Likewise.
2365
039b3fef
AM
23662004-08-19 Alan Modra <amodra@bigpond.net.au>
2367
2368 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
2369 "struct ppc_link_hash_entry *".
2370 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
2371 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
2372
3f764659
JJ
23732004-08-19 Jakub Jelinek <jakub@redhat.com>
2374
2375 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
2376 entries (where fd_aux overlaps next entry's fd_func).
2377 Add non_overlapping argument, use it.
2378 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
2379 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
2380 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
2381 as indexes into opd_sym_map/opd_adjust array.
2382 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
2383
c09bdfe5
AM
23842004-08-18 Alan Modra <amodra@bigpond.net.au>
2385
2386 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
2387 if we can look up their function descriptor in a regular file.
2388
271d0fc3
NC
23892004-08-18 Nick Clifton <nickc@redhat.com>
2390
2391 PR 324
2392 * cofflink.c (coff_link_add_symbols): Check that the comdat
2393 pointer in the coff_section_data structure has been initialised
2394 before using it.
2395
a010d60f
AM
23962004-08-18 Alan Modra <amodra@bigpond.net.au>
2397
2398 PR 338
2399 * elflink.c (bfd_elf_record_link_assignment): Add comment about
2400 changing bfd_link_hash_undefined to bfd_link_hash_new.
2401
90e3cdf2
JJ
24022004-08-17 Jakub Jelinek <jakub@redhat.com>
2403
2404 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
2405 if not yet defined.
2406 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
2407 (synthetic_opd, synthetic_relocatable): New variables.
2408 (compare_symbols, compare_relocs): New helper routines.
2409 (ppc64_elf_get_synthetic_symtab): New function.
2410 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
2411 to relsyms.
2412 * bfd-in2.h: Regenerated.
2413 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
2414 to relsyms. Return 0 if abfd is relocatable.
2415
7c2c8505
AM
24162004-08-17 Alan Modra <amodra@bigpond.net.au>
2417
2418 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
2419
0367ecfb
NC
24202004-08-17 Nick Clifton <nickc@redhat.com>
2421
2422 * (is_arm_mapping_symbol_name): New function - return true
2423 when a symbol name matches the requirements for an ARM mapping
2424 symbol name.
2425 (arm_elf_find_function): New function based on
2426 elf_find_function in elf.c but skipping ARM mapping symbols
2427 and including thumb function symbols.
2428 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
2429 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
2430
2441e016
AM
24312004-08-17 Alan Modra <amodra@bigpond.net.au>
2432
2433 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
2434 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
2435 (ppc64_elf_brtaken_reloc): Here too.
2436
35b0ce59
AM
24372004-08-17 Alan Modra <amodra@bigpond.net.au>
2438
2439 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
2440 symbol visibility.
2441 (ppc64_elf_check_directives): Check that we have the right hash
2442 table before proceeding.
2443
81688140
AM
24442004-08-17 Alan Modra <amodra@bigpond.net.au>
2445
2446 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
2447 (adjust_opd_syms): Attach opd syms for deleted entries to one of
2448 the sections that will be discarded.
2449
327c1315
AM
24502004-08-16 Alan Modra <amodra@bigpond.net.au>
2451
2452 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
2453
45fc9e4a
AM
24542004-08-16 Alan Modra <amodra@bigpond.net.au>
2455
2456 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
2457 free space available.
2458
9dadfa79
AM
24592004-08-16 Alan Modra <amodra@bigpond.net.au>
2460
2461 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 2462 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
2463
2464 * coff-rs6000.c (do_shared_object_padding): Warning fix.
2465 (xcoff_write_armap_big): Likewise.
2466 (xcoff_write_archive_contents_old): Likewise.
2467 (xcoff_write_archive_contents_big): Likewise.
2468
2469 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
2470
57e8b36a
NC
24712004-08-13 Nick Clifton <nickc@redhat.com>
2472
2473 * elf32-arm.h: Convert to ISO C90.
2474
a005f94e
AM
24752004-08-13 Alan Modra <amodra@bigpond.net.au>
2476
2477 PR 293
2478 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
2479 zero the plt field.
2480
d003868e
AM
24812004-08-13 Alan Modra <amodra@bigpond.net.au>
2482
2483 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
2484 (bfd_archive_filename, bfd_get_section_ident): Delete.
2485 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
2486 bfd_archive_filename.
2487 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
2488 to warn about symbols in discarded sections. Use _bfd_error_handler.
2489 * aout-adobe.c (aout_adobe_callback): See below.
2490 * aout-cris.c (swap_ext_reloc_in): ..
2491 * coff-arm.c (find_thumb_glue, find_arm_glue,
2492 coff_arm_relocate_section, bfd_arm_process_before_allocation,
2493 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
2494 coff_arm_copy_private_bfd_data): ..
2495 * coff-i860.c (i860_reloc_processing): ..
2496 * coff-mcore.c (mcore_coff_unsupported_reloc,
2497 coff_mcore_relocate_section): ..
2498 * coff-ppc.c (coff_ppc_relocate_section): ..
2499 * coff-rs6000.c (xcoff_create_csect_from_smclas
2500 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2501 sh_swap_insns, sh_relocate_section): ..
2502 * coff-tic54x.c (tic54x_reloc_processing): ..
2503 * coff-tic80.c (coff_tic80_relocate_section): ..
2504 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
2505 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
2506 coff_slurp_symbol_table, coff_classify_symbol,
2507 coff_slurp_reloc_table): ..
2508 * coffgen.c (_bfd_coff_read_string_table): ..
2509 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
2510 _bfd_coff_generic_relocate_section): ..
2511 * cpu-arm.c (bfd_arm_merge_machines): ..
2512 * cpu-sh.c (sh_merge_bfd_arch): ..
2513 * elf-hppa.h (elf_hppa_relocate_section): ..
2514 * elf.c (bfd_elf_string_from_elf_section, setup_group,
2515 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
2516 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
2517 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
2518 * elf32-arm.h (find_thumb_glue, find_arm_glue,
2519 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
2520 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
2521 elf32_arm_relocate_section, elf32_arm_set_private_flags,
2522 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
2523 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
2524 cris_elf_merge_private_bfd_data
2525 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
2526 * elf32-gen.c (elf32_generic_link_add_symbols): ..
2527 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
2528 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
2529 elf32_hppa_relocate_section): ..
2530 * elf32-i370.c (i370_elf_merge_private_bfd_data,
2531 i370_elf_check_relocs, i370_elf_relocate_section): ..
2532 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
2533 elf_i386_relocate_section): ..
2534 * elf32-m32r.c (m32r_elf_relocate_section,
2535 m32r_elf_merge_private_bfd_data): ..
2536 * elf32-m68hc1x.c (m68hc12_add_stub,
2537 _bfd_m68hc11_elf_merge_private_bfd_data): ..
2538 * elf32-m68k.c (elf_m68k_relocate_section): ..
2539 * elf32-mcore.c (mcore_elf_unsupported_reloc,
2540 mcore_elf_relocate_section): ..
2541 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
2542 ppc_elf_check_relocs, ppc_elf_relocate_section,
2543 ppc_elf_begin_write_processing): ..
2544 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
2545 elf_s390_relocate_section): ..
2546 * elf32-sh-symbian.c (sh_symbian_import_as,
2547 sh_symbian_process_embedded_commands,
2548 sh_symbian_relocate_section): ..
2549 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
2550 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
2551 sh_elf_merge_private_data): ..
2552 * elf32-sparc.c (elf32_sparc_check_relocs,
2553 elf32_sparc_relocate_section,
2554 elf32_sparc_merge_private_bfd_data): ..
2555 * elf32-v850.c (v850_elf_check_relocs,
2556 v850_elf_merge_private_bfd_data): ..
2557 * elf32-xtensa.c (elf_xtensa_check_relocs,
2558 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
2559 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
2560 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
2561 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
2562 * elf64-gen.c (elf64_generic_link_add_symbols): ..
2563 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
2564 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
2565 ppc64_elf_relocate_section): ..
2566 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
2567 elf_s390_relocate_section): ..
2568 * elf64-sh64.c (sh_elf64_relocate_section): ..
2569 * elf64-sparc.c (sparc64_elf_check_relocs,
2570 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
2571 sparc64_elf_merge_private_bfd_data): ..
2572 * elf64-x86-64.c (elf64_x86_64_check_relocs,
2573 elf64_x86_64_relocate_section): ..
2574 * elflink.c (_bfd_elf_add_default_symbol,
2575 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
2576 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
2577 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
2578 elf_get_linked_section_vma, elf_fixup_link_order,
2579 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
2580 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
2581 * elfxx-ia64.c (elfNN_ia64_relax_section,
2582 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
2583 * elfxx-mips.c (mips_elf_perform_relocation,
2584 _bfd_mips_elf_check_relocs,
2585 _bfd_mips_elf_merge_private_bfd_data): ..
2586 * ieee.c (ieee_slurp_external_symbols): ..
2587 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
2588 * libbfd.c (_bfd_generic_verify_endian_match): ..
2589 * linker.c (_bfd_generic_link_add_one_symbol,
2590 _bfd_generic_section_already_linked): ..
2591 * pdp11.c (translate_to_native_sym_flags): ..
2592 * pe-mips.c (coff_pe_mips_relocate_section): ..
2593 * peicode.h (pe_ILF_build_a_bfd): ..
2594 * srec.c (srec_bad_byte): ..
2595 * stabs.c (_bfd_link_section_stabs): ..
2596 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
2597 Replace all uses of bfd_archive_filename and bfd_get_section_ident
2598 with corresponding %B and %A in _bfd_error_handler format string.
2599 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
2600 calls to use %A and %B. Fix "against symbol .. from section" and
2601 similar error messages. Combine multiple _bfd_error_handler calls
2602 where they were separated due to bfd_archive_filename deficiencies.
2603 * bfd-in2.h: Regenerate.
2604
6ba842b6
L
26052004-08-12 H.J. Lu <hongjiu.lu@intel.com>
2606
2607 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
2608 relocation.
2609
99877b66
AM
26102004-08-10 Alan Modra <amodra@bigpond.net.au>
2611
2612 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
2613 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
2614 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
2615 Add twiddled_syms.
2616 (link_hash_newfunc): Init was_undefined.
2617 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
2618 Use undefweak instead.
2619 (ppc64_elf_check_directives): Fix undefs chain.
2620 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
2621 references.
2622 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
2623 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
2624 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
2625
ba3bee0b
JJ
26262004-08-09 Jakub Jelinek <jakub@redhat.com>
2627
2628 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
2629 error, test input_section flags rather than sec.
2630
8387904d
AM
26312004-08-09 Alan Modra <amodra@bigpond.net.au>
2632
2633 * elf-bfd.h (struct elf_backend_data): Add
2634 elf_backend_archive_symbol_lookup.
2635 (_bfd_elf_archive_symbol_lookup): Declare.
2636 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
2637 (elf_link_add_archive_symbols): ..extracted from here. Call the
2638 backend version.
2639 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
2640 (elfNN_bed): Init new field.
2641 * elf64-ppc.c (elf_backend_check_directives): Define.
2642 (elf_backend_archive_symbol_lookup): Define.
2643 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
2644 a ppc_link_hash_entry pointer.
2645 (get_fdh): Move.
2646 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
2647 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
2648 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
2649 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
2650 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
2651 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
2652 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
2653 descriptor symbols.
2654
b25116a9
AM
26552004-08-09 Alan Modra <amodra@bigpond.net.au>
2656
8843416a
AM
2657 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
2658 (ppc64_elf_add_symbol_hook): Test for NULL section.
2659 (get_sym_h): Formatting.
2660 (ppc64_elf_size_stubs): Include reloc addend in value stored as
2661 stub target_value.
2662
b25116a9
AM
2663 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
2664 long branch stubs with code handling plt and r2off branch stubs.
2665
ccfa59ea
AM
26662004-08-09 Alan Modra <amodra@bigpond.net.au>
2667
2668 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
2669 * elflink.c (elf_link_input_bfd): Formatting.
2670 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
2671 all callers.
2672 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
2673 (link_hash_newfunc): Don't set it.
2674 (ppc64_elf_copy_indirect_symbol): Nor copy it.
2675 (ppc64_elf_mark_entry_syms): Delete.
2676 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
2677 sections. Use get_opd_info.
2678 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
2679
4025353c
AM
26802004-08-09 Alan Modra <amodra@bigpond.net.au>
2681
4f800a42
AM
2682 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
2683
06da1e8e
AM
2684 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
2685 (func_desc_adjust): Don't set have_undefweak.
2686 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
2687 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
2688
34814b9f
AM
2689 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
2690 "struct ppc_link_hash_entry *". Adjust all references.
2691 (ppc64_elf_hide_symbol): Correct a comment.
2692
4025353c
AM
2693 * elf64-ppc.c (get_opd_info): New function.
2694 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
2695 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
2696 before calling get_fdh. Test fdh rather than h before dereferencing
2697 fdh. Mark removed symbols in opd_adjust.
2698 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
2699 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
2700 opd symbols.
2701 (ppc64_elf_output_symbol_hook): Likewise.
2702
db6579d4
PB
27032004-08-06 Paul Brook <paul@codesourcery.com>
2704
2705 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
2706 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
2707 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
2708 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
2709 and BFD_RELOC_ARM_SBREL32.
2710 * bfd-in2.h, bbfd.h: Regenerate.
2711
a4d0f181
TS
27122004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2713
2714 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
2715 the dynamic link symbol actually in use.
2716
83774818
SC
27172004-08-01 Stephane Carrez <stcarrez@nerim.fr>
2718
2719 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
2720
a4d0f181 27212004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
2722 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2723
2724 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
2725 SHN_MIPS_TEXT and SHN_MIPS_DATA.
2726
185d09ad
L
27272004-07-30 H.J. Lu <hongjiu.lu@intel.com>
2728 Nick Clifton <nickc@redhat.com>
2729
2730 PR 290
2731 * bfd.c (_bfd_default_error_handler): Make it global.
2732
2733 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
2734
2735 * elf.c (assign_section_numbers): Cope gracefully with sections
2736 which have SHF_LINK_ORDER set but no sh_link set up.
2737 * elflink.c (elf_get_linked_section_vma): Likewise.
2738
2739 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
2740 it to NULL.
2741
2742 * elfxx-target.h (elf_backend_link_order_error_handler): New.
2743 Set it to _bfd_default_error_handler.
2744 (elfNN_bed): Add elf_backend_link_order_error_handler.
2745
2746 * libbfd-in.h (_bfd_default_error_handler): New.
2747
2748 * libbfd.h: Regenerated.
2749
7946e94a
JJ
27502004-07-30 Jakub Jelinek <jakub@redhat.com>
2751
2752 * archures.c (bfd_mach_sparc_64bit_p): Define.
2753 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
2754 * bfd-in2.h: Rebuilt.
2755
1d70c7fb
AO
27562004-07-29 Alexandre Oliva <aoliva@redhat.com>
2757
2758 Introduce SH2a support.
2759 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
2760 * archures.c (bfd_mach_sh2a_nofpu): New.
2761 * bfd-in2.h: Rebuilt.
2762 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
2763 (arch_info_struct): Add sh2a_nofpu.
2764 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
2765 2003-12-29 DJ Delorie <dj@redhat.com>
2766 * reloc.c: Add relocs for sh2a.
2767 * bfd-in2.h: Regenerate.
2768 * libbfd.hh: Regenerate.
2769 2003-12-01 Michael Snyder <msnyder@redhat.com>
2770 * archures.c (bfd_mach_sh2a): New.
2771 * bfd-in2.h: Rebuilt.
2772 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
2773 (SH2A_NEXT): New.
2774 (arch_info_struct): Add sh2a.
2775 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
2776
404ed0cf
DA
27772004-07-28 Nick Clifton <nickc@redhat.com>
2778 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2779
2780 PR 273
2781 * som.c (setup_sections): Improve estimation of space sizes in
2782 relocatable objects.
2783
225247f0
JT
27842004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
2785 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
2786 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
2787 to targ_selvecs.
2788 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
2789 * configure: Regenerate.
2790 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
2791 case that accepts OSABI=NetBSD and OSABI=SysV.
2792 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
2793 the base of .got or .data (if .got does not exist).
2794 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
2795 set OSABI=NetBSD.
2796 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
2797 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
2798 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
2799 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
2800
3d7f7666
L
28012004-07-27 H.J. Lu <hongjiu.lu@intel.com>
2802
2803 PR 161/251
2804 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
2805 (elf_sec_group): Defined.
2806 (bfd_elf_match_symbols_in_sections): New prototype.
2807 (_bfd_elf_setup_group_pointers): Likewise.
2808
2809 * elf.c (bfd_elf_discard_group): Abort.
2810 (bfd_elf_set_group_contents): Also include relocation sections.
2811 Remove zero-fill for ld -r.
2812 (_bfd_elf_setup_group_pointers): New function.
2813 (elf_sort_elf_symbol): Likewise.
2814 (elf_sym_name_compare): Likewise.
2815 (bfd_elf_match_symbols_in_sections): Likewise.
2816
2817 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
2818
2819 * elflink.c (match_group_member): New.
2820 (elf_link_input_bfd): Check group member for discarded section.
2821 (try_match_symbols_in_sections): New function.
2822 (already_linked): Likewise.
2823 (_bfd_elf_section_already_linked): Support mixing comdat group
2824 and linkonce section.
2825
2826 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
2827 * linker.c (bfd_section_already_linked_table_traverse): New.
2828
2829 * libbfd.h: Regenerated.
2830
670ec21d
NC
28312004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
2832
2833 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
2834 BFD_RELOC_CRX_SWITCH32.
2835 * bfd-in2.h: Regenerate.
6cd7f07e 2836 * libbfd.h: Regenerate.
670ec21d
NC
2837 * elf32-crx.c: Support relocation/relaxation of
2838 BFD_RELOC_CRX_SWITCH* types.
2839
2c66dc6c
AM
28402004-07-27 Alan Modra <amodra@bigpond.net.au>
2841
2842 * elf64-ppc.c: Correct "Linker stubs" comment.
2843
38ce5b11
L
28442004-07-26 H.J. Lu <hongjiu.lu@intel.com>
2845
2846 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
2847 linked-to section.
2848 (elf_linked_to_section): New.
2849
2850 * elf.c (assign_section_numbers): Set up sh_link for
2851 SHF_LINK_ORDER.
2852
2853 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
2854 to sh_link for SHT_IA_64_UNWIND sections.
2855
65da361f
L
28562004-07-22 H.J. Lu <hongjiu.lu@intel.com>
2857
2858 * elflink.c (elf_fixup_link_order): Add _() to error message.
2859
08ccf96b
L
28602004-07-22 H.J. Lu <hongjiu.lu@intel.com>
2861
2862 * elflink.c (elf_fixup_link_order): Issue a warning and flag
2863 an error if failed.
2864
082b7297
L
28652004-07-21 H.J. Lu <hongjiu.lu@intel.com>
2866
2867 * aout-adobe.c (aout_32_section_already_linked): Defined.
2868 * aout-target.h (MY_section_already_linked): Likewise.
2869 * aout-tic30.c (MY_section_already_linked): Likewise.
2870 * binary.c (binary_section_already_linked): Likewise.
2871 * bout.c (b_out_section_already_linked): Likewise.
2872 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
2873 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
2874 * coffcode.h (coff_section_already_linked): Likewise.
2875 * i386msdos.c (msdos_section_already_linked): Likewise.
2876 * i386os9k.c (os9k_section_already_linked): Likewise.
2877 * ieee.c (ieee_section_already_linked): Likewise.
2878 * ihex.c (ihex_section_already_linked): Likewise.
2879 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
2880 * mmo.c (mmo_section_already_linked): Likewise.
2881 * nlm-target.h (nlm_section_already_linked): Likewise.
2882 * oasys.c (oasys_section_already_linked): Likewise.
2883 * pef.c (bfd_pef_section_already_linked): Likewise.
2884 * ppcboot.c (ppcboot_section_already_linked): Likewise.
2885 * som.c (som_bfd_discard_group): Likewise.
2886 * srec.c (srec_section_already_linked): Likewise.
2887 * tekhex.c (tekhex_section_already_linked): Likewise.
2888 * versados.c (versados_section_already_linked): Likewise.
2889 * vms.c (vms_section_already_linked): Likewise.
2890 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
2891 * xsym.c (bfd_sym_section_already_linked): Likewise.
2892
2893 * bfd-in.h (bfd_section_already_linked_table_init): New.
2894 (bfd_section_already_linked_table_free): Likewise.
2895
2896 * coff-rs6000.c (rs6000coff_vec): Add
2897 _bfd_generic_section_already_linked.
2898 (pmac_xcoff_vec): Likewise.
2899 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2900 (aix5coff64_vec): Likewise.
2901
2902 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
2903 * elflink.c (_bfd_elf_section_already_linked): New function.
2904
2905 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
2906
2907 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
2908 (_bfd_generic_section_already_linked): New.
2909 (bfd_section_already_linked_hash_entry): Likewise.
2910 (bfd_section_already_linked): Likewise.
2911 (bfd_section_already_linked_table_lookup): Likewise.
2912 (bfd_section_already_linked_table_insert): Likewise.
2913
2914 * linker.c (bfd_section_already_linked): New.
2915 (_bfd_section_already_linked_table): Likewise.
2916 (bfd_section_already_linked_table_lookup): Likewise.
2917 (bfd_section_already_linked_table_insert): Likewise.
2918 (already_linked_newfunc): Likewise.
2919 (bfd_section_already_linked_table_init): Likewise.
2920 (bfd_section_already_linked_table_free): Likewise.
2921 (_bfd_generic_section_already_linked): Likewise.
2922
2923 * section.c (bfd_section): Remove comdat.
2924 (bfd_comdat_info): Moved to ...
2925 * bfd-in.h (coff_comdat_info): Here.
2926 (bfd_coff_get_comdat_section): New.
2927 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
2928 * libcoff-in.h (coff_section_tdata): Add comdat.
2929 * coffcode.h (handle_COMDAT): Updated.
2930 * cofflink.c (coff_link_add_symbols): Likewise.
2931 * ecoff.c (bfd_debug_section): Likewise.
2932
2933 * targets.c (bfd_target): Add _section_already_linked.
2934 (BFD_JUMP_TABLE_LINK): Updated.
2935
2936 * bfd-in2.h: Regenerated.
2937 * libbfd.h: Likewise.
2938 * libcoff.h: Likewise.
2939
0b52efa6
PB
29402003-07-21 Paul Brook <paul@codesourcery.com>
2941
2942 * elflink.c (elf_get_linked_section_vma, compare_link_order,
2943 elf_fixup_link_order): New functions.
2944 (bfd_elf_final_link): Call elf_fixup_link_order.
2945
7e2294f9
AO
29462004-07-21 Alexandre Oliva <aoliva@redhat.com>
2947
2948 * elf-bfd.h (ELF_COMMON_DEF_P): New.
2949 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
2950 common definitions.
2951 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
2952 _bfd_elf_symbol_refs_local_p.
2953 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
2954 symbols.
2955
e56f61be
L
29562004-07-19 H.J. Lu <hongjiu.lu@intel.com>
2957
2958 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
2959 DYN_NO_NEEDED.
2960 (bfd_elf_get_dyn_lib_class): New prototype.
2961 * elf.c (bfd_elf_get_dyn_lib_class): New function.
2962
2963 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
2964 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
2965 entry is needed. Issue an error if a DT_NEEDED entry is needed
2966 for a file marked DYN_NO_NEEDED.
2967 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
2968 for DT_NEEDED tags.
2969
2970 * bfd-in2.h: Regenerated.
2971
27b56da8
DA
29722004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2973
2974 * elflink.c (elf_section_complain_discarded): Don't complain in
2975 .PARISC.unwind.
2976
bbb268c3
JW
29772004-07-10 James E Wilson <wilson@specifixinc.com>
2978
2979 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
2980 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
2981 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
2982 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
2983 Fix callers.
2984 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
2985 bfd_put_64 to bfd_putl64.
2986 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 2987
e525914f
L
29882004-07-09 H.J. Lu <hongjiu.lu@intel.com>
2989
2990 PR 240
2991 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
2992 .init/.fini sections when trying to relax it.
2993
b1a6d0b1
NC
29942004-07-09 Jie Zhang <zhangjie@magima.com.cn>
2995
2996 * elf.c (assign_file_positions_for_segments): Make sure the
2997 .dynamic section is the first section in the PT_DYNAMIC segment.
2998
1a320fbb
NC
29992004-07-09 Nick Clifton <nickc@redhat.com>
3000
3001 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
3002 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
3003 sh_elf_get_flags_from_mach functions so that they do not conflict
3004 when this target is built with other sh-elf targets.
3005 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
3006 suppression of this function.
3007 (sh_elf_find_flags): Likewise.
3008
1fe1f39c
NC
30092004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
3010
3011 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
3012 (ALL_MACHINES_CFILES): Add cpu-crx.c.
3013 (BFD32_BACKENDS): Add elf32-crx.lo.
3014 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
3015 (cpu-crx.lo): New target.
3016 (elf32-crx.lo): New target.
3017 * Makefile.in: Regenerate.
3018 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
3019 (bfd_archures_list): Add bfd_crx_arch.
3020 * bfd-in2.h: Regenerate.
3021 * config.bfd: Handle crx-*-elf*, crx*.
3022 * configure.in: Handle bfd_elf32_crx_vec.
3023 * configure: Regenerate.
3024 * cpu-crx.c: New file.
3025 * elf32-crx.c: Likewise.
3026 * libbfd.h: Regenerate.
3027 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
3028 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
3029 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
3030 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
3031 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
3032 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
3033 * targets.c (bfd_elf32_crx_vec): Declare.
3034 (bfd_target_vector): Add bfd_elf32_crx_vec.
3035
85fbca6a
NC
30362004-07-06 Nick Clifton <nickc@redhat.com>
3037
3038 * config.bfd: Add sh-symbian-elf target.
3039 * configure.in: Add bfd_elf32_shl_symbian_vec.
3040 * configure: Regenerate.
3041 * elf-bfd.h (struct elf_backend_data): Add new field
3042 'check_directives'.
1fe1f39c 3043 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 3044 check_directives function, if defined.
1fe1f39c 3045 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 3046 check_directives.
1fe1f39c
NC
3047 * targets.c: Add bfd_elf32_shl_symbian_vec.
3048 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 3049 definition.
1fe1f39c 3050 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 3051 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 3052 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 3053 not already been defined.
1fe1f39c
NC
3054 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
3055 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
3056 * sh-symbian-elf target.
3057 * Makefile.am: Add elf32-sh-symbian.c
3058 * Makefile.in: Regenerate.
1fe1f39c 3059
871ec896
JR
30602004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
3061
1fe1f39c
NC
3062 * elf32-sh.c: Include ../opcodes/sh-opc.h.
3063 * Makefile.am: Ran make dep-am.
3064 * Makefile.in: Ran make dep-in.
871ec896 3065
c87db184
CF
30662004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
3067
3068 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
3069 externals properly.
3070
06f2f6af
MS
30712004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
3072
3073 * config.bfd: Add want64 to configuration target s390-*-linux*.
3074
b602c853
L
30752004-07-01 H.J. Lu <hongjiu.lu@intel.com>
3076
3077 * bfd.c (bfd_get_section_ident): New.
3078
3079 * elflink.c (elf_link_read_relocs_from_section): Call
3080 bfd_get_section_ident to identify the section when reporting
3081 error.
3082 (_bfd_elf_link_output_relocs): Likewise.
3083 (elf_link_output_extsym): Likewise.
3084 (elf_link_input_bfd): Likewise.
3085 (bfd_elf_gc_record_vtinherit): Likewise.
3086
3087 * bfd-in2.h: Regenerated.
3088
7a2a6943
NC
30892004-07-01 Jie Zhang <zhangjie@magima.com.cn>
3090 Nick Clifton <nickc@redhat.com>
3091
3092 PR 204
3093 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
3094 of section symbols to mips_elf_sort_hash_table ().
3095
cdd3575c
AM
30962004-07-01 Alan Modra <amodra@bigpond.net.au>
3097
3098 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
3099 change. Comment.
3100 (elf_section_complain_discarded): New function. Handle
3101 .gcc_except_table too.
3102 (elf_link_input_bfd): Rewrite handling of relocs against symbols
3103 in discarded sections.
3104 * elf-bfd.h (elf_discarded_section): Protect macro arg.
3105
21a8f7fa
JW
31062004-06-30 James E Wilson <wilson@specifixinc.com>
3107
3108 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
3109 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
3110
2de26f35
L
31112004-06-30 H.J. Lu <hongjiu.lu@intel.com>
3112
3113 PR 233
3114 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
3115 local references to discarded sections and report their
3116 locations.
3117
72d7a15c
AM
31182004-06-30 Alan Modra <amodra@bigpond.net.au>
3119
3120 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
3121 sec_info_type, test section name instead.
3122
e7f0a167
L
31232004-06-29 H.J. Lu <hongjiu.lu@intel.com>
3124
3125 PR 240
3126 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
3127 in .init/.fini sections.
3128
bff5f93a
BW
31292004-06-29 Bob Wilson <bob.wilson@acm.org>
3130
3131 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
3132 bfd_get_section_limit.
3133
b54d4b07
BW
31342004-06-29 Bob Wilson <bob.wilson@acm.org>
3135
3136 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
3137 output section size.
3138
e87a64e1
AM
31392004-06-29 Alan Modra <amodra@bigpond.net.au>
3140
1a23a9e6
AM
3141 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
3142 rawsize.
3143 (mmix_elf_perform_relocation): Adjust for above change.
3144 (mmix_elf_relocate_section): Likewise.
3145 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
3146 (mmix_elf_get_section_contents): Delete.
3147 (bfd_elf64_get_section_contents): Delete.
3148 (mmix_elf_relocate_section): Zero stub area.
3149 * linker.c (default_indirect_link_order): Alloc max of section size
3150 and rawsize.
3151 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
3152 * section.c (bfd_malloc_and_get_section): Likewise.
3153 (struct bfd_section): Update rawsize comment.
3154 * bfd-in2.h: Regenerate.
3155
e87a64e1
AM
3156 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
3157
07515404
AM
31582004-06-29 Alan Modra <amodra@bigpond.net.au>
3159
3160 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 3161 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
3162 (_bfd_final_link_relocate): Use bfd_get_section_limit.
3163 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
3164 * coff-arm.c (coff_arm_relocate_section): Likewise.
3165 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
3166 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
3167 (bfd_ns32k_final_link_relocate): Likewise.
3168 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
3169 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 3170 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 3171 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 3172 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
3173 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
3174 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
3175 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
3176 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
3177 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
3178 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
3179 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
3180 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
3181 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
3182 * elf32-v850.c (v850_elf_reloc): Likewise.
3183 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
3184 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
3185 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
3186 * elf64-mips.c (mips_elf64_gprel32_reloc)
3187 (mips16_gprel_reloc): Likewise.
3188 * elf64-mmix.c (mmix_elf_reloc): Likewise.
3189 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
3190 * elf64-sparc.c (init_insn_reloc): Likewise.
3191 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
3192 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
3193 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
3194 (_bfd_mips_elf_generic_reloc): Likewise.
3195 * bfd-in2.h: Regenerate.
3196
3722b82f
AM
31972004-06-28 Alan Modra <amodra@bigpond.net.au>
3198
3199 * bfd-in.h (struct stab_info): Move from stabs.c.
3200 * stabs.c (struct stab_link_includes_table): Delete.
3201 (stab_link_includes_lookup): Delete.
3202 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
3203 level of indirection from sinfo parm.
3204 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
3205 stabstr section. Adjust hash table accesses.
3206 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
3207 alloc. Adjust stab_info test.
3208 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
3209 (_bfd_coff_final_link): Adjust stab_info test.
3210 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
3211 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
3212 in place.
3213 * libcoff-in.h (struct coff_link_hash_table): Likewise.
3214 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
3215 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
3216 stabstr section. Adjust stab_info test.
3217 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
3218 (_bfd_write_stab_strings): Adjust prototypes.
3219 * libbfd.h: Regenerate.
3220 * libcoff.h: Regenerate.
3221 * bfd-in2.h: Regenerate.
3222
727e493d
MK
32232004-06-27 Mark Kettenis <kettenis@gnu.org>
3224
3225 From Miod Vallat <miod@online.fr>:
3226 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
3227
146ccdbb
AO
32282004-06-26 Alexandre Oliva <aoliva@redhat.com>
3229
3230 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
3231 (struct elf32_mn10300_link_hash_entry): Remove
3232 pcrel_relocs_copied.
3233 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
3234 R_MN10300_32. Don't adjust pcrel_relocs_copied.
3235 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
3236 and gotoff relocations if the symbol doesn't bind locally. Use
3237 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
3238 relocation for PCREL32.
3239 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
3240 to test whether a symbol binds locally.
3241 (elf32_mn10300_link_hash_newfunc): Don't initialize
3242 pcrel_relocs_copied.
3243 (_bfd_mn10300_elf_discard_copies): Delete.
3244 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
3245
a5fd0812
MK
32462004-06-26 Mark Kettenis <kettenis@gnu.org>
3247
3248 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
3249
22bfad37
JB
32502004-06-25 Joel Brobecker <brobecker@gnat.com>
3251
3252 * som.c (som_set_reloc_info): Correct small typo.
3253
097f809a
NC
32542004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3255
3256 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
3257 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
3258 (m32r_elf_gcsweep_hook): Likewise.
3259 (m32r_elf_check_relocs): Likewise.
3260 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
3261 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
3262 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
3263 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
3264 * bfd-in2.h: Regenerated.
3265 * libbfd.h: Regenerated.
097f809a 3266
6610a52d
L
32672004-06-24 H.J. Lu <hongjiu.lu@intel.com>
3268
3269 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
3270 relocation symbol.
3271 (elf64_x86_64_relocate_section): Issue an error for
3272 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
3273 against global symbols when building shared library.
3274
eea6121a
AM
32752004-06-24 Alan Modra <amodra@bigpond.net.au>
3276
3277 * section.c (struct sec): Rename "_cooked_size" to "size".
3278 Rename "_raw_size" to "rawsize".
3279 (STD_SECTION): Adjust comments.
3280 (bfd_set_section_size, bfd_get_section_contents): Use size.
3281 (bfd_malloc_and_get_section): New function.
3282 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
3283 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
3284 Correctly free reloc and contents memory.
3285 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
3286 and fake CIE now that we can shink section size to zero.
3287 (_bfd_elf_write_section_eh_frame): Likewise..
3288 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
3289 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
3290 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
3291 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
3292 unneeded indirection.
3293 * elf.c (_bfd_elf_section_offset): .. and update call.
3294 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
3295 * libbfd.h: Regenerate.
3296 * bfd-in2.h: Regenerate.
3297
3298 Replace occurrences of "_raw_size" and "_cooked_size" in most places
3299 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
3300 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
3301 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
3302 Similarly use "rawsize", if non-zero, in reloc functions to validate
3303 reloc addresses. Use new bfd_malloc_and_get_section in most places
3304 where bfd_get_section_contents was called. Expand all occurrences of
3305 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
3306 grok_prstatus and similar functions to "size".
3307 * aix386-core.c (aix386_core_file_p): ..
3308 * aix5ppc-core.c (xcoff64_core_p): ..
3309 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
3310 aout_adobe_set_section_contents): ..
3311 * aout-target.h (callback): ..
3312 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
3313 MY_bfd_final_link): ..
3314 * aoutf1.h (sunos4_core_file_p): ..
3315 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
3316 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
3317 final_link, aout_link_input_section): ..
3318 * binary.c (binary_object_p, binary_canonicalize_symtab,
3319 binary_set_section_contents): ..
3320 * bout.c (b_out_callback, b_out_write_object_contents,
3321 b_out_set_section_contents, b_out_bfd_relax_section,
3322 b_out_bfd_get_relocated_section_contents): ..
3323 * cisco-core.c (cisco_core_file_validate): ..
3324 * coff-alpha.c (alpha_ecoff_object_p,
3325 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
3326 * coff-arm.c (coff_arm_relocate_section,
3327 bfd_arm_allocate_interworking_sections): ..
3328 * coff-h8300.c (h8300_reloc16_extra_cases,
3329 h8300_bfd_link_add_symbols): ..
3330 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
3331 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
3332 ppc_bfd_coff_final_link): ..
3333 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
3334 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
3335 sh_align_loads, sh_coff_get_relocated_section_contents): ..
3336 * coff64-rs6000.c (xcoff64_write_object_contents,
3337 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
3338 * coffcode.h (coff_compute_section_file_positions,
3339 coff_write_object_contents): ..
3340 * coffgen.c (make_a_section_from_file, coff_write_symbols,
3341 coff_section_symbol, build_debug_section): ..
3342 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
3343 process_embedded_commands, _bfd_coff_link_input_bfd,
3344 _bfd_coff_write_global_sym): ..
3345 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
3346 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
3347 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
3348 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
3349 _bfd_dwarf2_find_nearest_line): ..
3350 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
3351 ecoff_compute_section_file_positions,
3352 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
3353 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
3354 _bfd_elf_discard_section_eh_frame_hdr,
3355 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
3356 _bfd_elf_write_section_eh_frame,
3357 _bfd_elf_write_section_eh_frame_hdr): ..
3358 * elf-hppa.h (elf_hppa_sort_unwind): ..
3359 * elf-m10200.c (mn10200_elf_relax_section,
3360 mn10200_elf_relax_delete_bytes,
3361 mn10200_elf_get_relocated_section_contents): ..
3362 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
3363 mn10300_elf_check_relocs, mn10300_elf_relax_section,
3364 mn10300_elf_relax_delete_bytes,
3365 mn10300_elf_get_relocated_section_contents,
3366 _bfd_mn10300_elf_adjust_dynamic_symbol,
3367 _bfd_mn10300_elf_discard_copies,
3368 _bfd_mn10300_elf_size_dynamic_sections,
3369 _bfd_mn10300_elf_finish_dynamic_sections): ..
3370 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
3371 _bfd_elf_make_section_from_phdr, elf_fake_sections,
3372 bfd_elf_set_group_contents, map_sections_to_segments,
3373 elf_sort_sections, assign_file_positions_for_segments,
3374 SECTION_SIZE, copy_private_bfd_data,
3375 _bfd_elf_get_dynamic_reloc_upper_bound,
3376 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
3377 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
3378 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
3379 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
3380 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
3381 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
3382 bfd_elf32_arm_process_before_allocation,
3383 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
3384 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
3385 elf32_arm_write_section): ..
3386 * elf32-cris.c (cris_elf_grok_prstatus,
3387 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
3388 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
3389 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
3390 elf_cris_discard_excess_dso_dynamics,
3391 elf_cris_discard_excess_program_dynamics): ..
3392 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
3393 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
3394 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
3395 _frv_create_got_section, _frvfdpic_assign_plt_entries,
3396 elf32_frvfdpic_size_dynamic_sections,
3397 elf32_frvfdpic_modify_segment_map,
3398 elf32_frvfdpic_finish_dynamic_sections): ..
3399 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
3400 elf32_h8_get_relocated_section_contents): ..
3401 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
3402 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
3403 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
3404 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
3405 elf32_hppa_finish_dynamic_sections): ..
3406 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
3407 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
3408 i370_elf_finish_dynamic_sections): ..
3409 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
3410 allocate_dynrelocs, elf_i386_size_dynamic_sections,
3411 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
3412 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
3413 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
3414 * elf32-ip2k.c (ip2k_is_switch_table_128,
3415 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
3416 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
3417 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
3418 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
3419 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
3420 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
3421 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
3422 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
3423 m32r_elf_get_relocated_section_contents): ..
3424 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
3425 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
3426 m68hc11_elf_relax_delete_bytes): ..
3427 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
3428 m68hc12_elf_size_one_stub): ..
3429 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
3430 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
3431 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
3432 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
3433 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
3434 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
3435 elf32_mips_grok_prstatus): ..
3436 * elf32-or32.c (or32_elf_consth_reloc): ..
3437 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
3438 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
3439 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
3440 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
3441 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
3442 ppc_elf_final_write_processing): ..
3443 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
3444 allocate_dynrelocs, elf_s390_size_dynamic_sections,
3445 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
3446 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
3447 sh_elf_relax_delete_bytes, sh_elf_align_loads,
3448 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
3449 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
3450 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
3451 * elf32-sh64-com.c (sh64_address_in_cranges,
3452 sh64_get_contents_type): ..
3453 * elf32-sh64.c (sh64_find_section_for_address,
3454 sh64_elf_final_write_processing): ..
3455 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
3456 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
3457 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
3458 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
3459 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
3460 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
3461 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
3462 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
3463 elf_vax_finish_dynamic_sections): ..
3464 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
3465 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
3466 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
3467 xstormy16_elf_finish_dynamic_sections): ..
3468 * elf32-xtensa.c (xtensa_read_table_entries,
3469 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
3470 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
3471 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
3472 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
3473 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
3474 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
3475 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
3476 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
3477 xtensa_callback_required_dependence): ..
3478 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
3479 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
3480 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
3481 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
3482 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
3483 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
3484 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
3485 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
3486 * elf64-hppa.c (allocate_dynrel_entries,
3487 elf64_hppa_size_dynamic_sections,
3488 elf64_hppa_finish_dynamic_sections): ..
3489 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
3490 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
3491 elf64_mips_grok_prstatus): ..
3492 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
3493 mmix_elf_relocate_section, mmix_elf_final_link,
3494 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
3495 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
3496 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
3497 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
3498 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
3499 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
3500 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
3501 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
3502 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
3503 ppc64_elf_finish_dynamic_sections): ..
3504 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
3505 allocate_dynrelocs, elf_s390_size_dynamic_sections,
3506 elf_s390_finish_dynamic_sections): ..
3507 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
3508 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
3509 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
3510 sh64_elf64_finish_dynamic_sections): ..
3511 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
3512 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
3513 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
3514 sparc64_elf_finish_dynamic_symbol,
3515 sparc64_elf_finish_dynamic_sections): ..
3516 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
3517 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
3518 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
3519 elf64_x86_64_finish_dynamic_sections): ..
3520 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
3521 * elfcode.h (elf_slurp_reloc_table): ..
3522 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
3523 elf_finalize_dynstr, elf_link_add_object_symbols,
3524 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
3525 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
3526 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
3527 elf32_mips_grok_prstatus): ..
3528 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
3529 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
3530 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
3531 elfNN_ia64_finish_dynamic_sections): ..
3532 * elfxx-mips.c (mips_elf_create_procedure_table,
3533 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
3534 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
3535 mips_elf_global_got_index, mips_elf_multi_got,
3536 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
3537 mips_elf_allocate_dynamic_relocations,
3538 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
3539 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
3540 _bfd_mips_elf_always_size_sections,
3541 _bfd_mips_elf_size_dynamic_sections,
3542 _bfd_mips_elf_finish_dynamic_symbol,
3543 _bfd_mips_elf_finish_dynamic_sections,
3544 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
3545 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
3546 _bfd_elf_mips_get_relocated_section_contents,
3547 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
3548 * hp300hpux.c (callback): ..
3549 * hppabsd-core.c (make_bfd_asection): ..
3550 * hpux-core.c (make_bfd_asection): ..
3551 * i386linux.c (linux_link_create_dynamic_sections,
3552 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
3553 * i386msdos.c (msdos_write_object_contents): ..
3554 * i386os9k.c (os9k_callback, os9k_write_object_contents,
3555 os9k_set_section_contents): ..
3556 * ieee.c (parse_expression, ieee_slurp_external_symbols,
3557 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
3558 ieee_write_section_part, do_with_relocs, do_as_repeat,
3559 do_without_relocs, ieee_write_debug_part, init_for_output,
3560 ieee_set_section_contents): ..
3561 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
3562 * irix-core.c (do_sections, make_bfd_asection): ..
3563 * libaout.h (aout_section_merge_with_text_p): ..
3564 * libbfd.c (_bfd_generic_get_section_contents,
3565 _bfd_generic_get_section_contents_in_window): ..
3566 * linker.c (default_indirect_link_order): ..
3567 * lynx-core.c (make_bfd_asection): ..
3568 * m68klinux.c (linux_link_create_dynamic_sections,
3569 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
3570 * mach-o.c (bfd_mach_o_make_bfd_section,
3571 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
3572 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
3573 bfd_mach_o_scan_read_segment): ..
3574 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
3575 _bfd_merge_sections): ..
3576 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
3577 mmo_map_set_sizes, mmo_canonicalize_symtab,
3578 mmo_internal_write_section, mmo_write_object_contents): ..
3579 * netbsd-core.c (netbsd_core_file_p): ..
3580 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
3581 nlm_alpha_set_public_section): ..
3582 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
3583 * nlm32-sparc.c (nlm_sparc_write_import): ..
3584 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
3585 nlm_compute_section_file_positions): ..
3586 * oasys.c (oasys_object_p, oasys_slurp_section_data,
3587 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
3588 * opncls.c (get_debug_link_info): ..
3589 * osf-core.c (make_bfd_asection): ..
3590 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
3591 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
3592 final_link, aout_link_input_section): ..
3593 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
3594 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
3595 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
3596 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
3597 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
3598 * ptrace-core.c (ptrace_unix_core_file_p): ..
3599 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
3600 _bfd_final_link_relocate, bfd_generic_relax_section,
3601 bfd_generic_get_relocated_section_contents): ..
3602 * reloc16.c (bfd_coff_reloc16_relax_section,
3603 bfd_coff_reloc16_get_relocated_section_c): ..
3604 * riscix.c (riscix_some_aout_object_p): ..
3605 * rs6000-core.c (read_hdr, make_bfd_asection): ..
3606 * sco5-core.c (make_bfd_asection): ..
3607 * simple.c (bfd_simple_get_relocated_section_contents): ..
3608 * som.c (som_object_setup, setup_sections, som_prep_headers,
3609 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
3610 som_set_reloc_info, som_get_section_contents,
3611 som_bfd_link_split_section): ..
3612 * sparclinux.c (linux_link_create_dynamic_sections,
3613 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
3614 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
3615 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
3616 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
3617 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
3618 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
3619 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
3620 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
3621 sunos_finish_dynamic_link): ..
3622 * syms.c (_bfd_stab_section_find_nearest_line): ..
3623 * tekhex.c (first_phase, tekhex_set_section_contents,
3624 tekhex_write_object_contents): ..
3625 * trad-core.c (trad_unix_core_file_p): ..
3626 * versados.c (process_esd, process_otr, process_otr): ..
3627 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
3628 * vms-misc.c (add_new_contents): ..
3629 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
3630 * vms.c (vms_set_section_contents): ..
3631 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
3632 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
3633 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
3634 * xsym.c (bfd_sym_scan): .. See above.
3635
bf8b15af
L
36362004-06-21 H.J. Lu <hongjiu.lu@intel.com>
3637
3638 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
3639 calling _bfd_merged_section_offset only for section symbols.
3640
d1c6de6f
AM
36412004-06-22 Alan Modra <amodra@bigpond.net.au>
3642
3643 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
3644 for handling SEC_MERGE symbols in relax_section.
3645
aa02cc63
AO
36462004-06-21 Alexandre Oliva <aoliva@redhat.com>
3647
3648 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
3649 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
3650 linked together. Mark the result as h8300sx code.
3651
aee6f5b4
AO
36522004-06-21 Alexandre Oliva <aoliva@redhat.com>
3653
3654 * elf-bfd.h (struct elf_backend_data): Added
3655 elf_backend_omit_section_dynsym.
3656 (_bfd_elf_link_omit_section_dynsym): Declare.
3657 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
3658 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
3659 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
3660 (_bfd_elf_link_renumber_dynsyms): ... this function.
3661 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
3662 _bfd_elf_link_omit_section_dynsym).
3663 (elfNN_bed): Added elf_backend_omit_section_dynsym.
3664
05576f10
NC
36652004-06-21 Nick Clifton <nickc@redhat.com>
3666
3667 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
3668 flags.
3669
02d5a37b
JG
36702004-06-17 Jerome Guitton <guitton@gnat.com>
3671
3672 * bfd-in.h (bfd_cache_close_all): New function declaration.
3673 * bfd-in2.h: Regenerate.
3674 * cache.c (bfd_cache_close_all): New function definition.
3675
d2bef492
MK
36762004-06-16 Mark Kettenis <kettenis@gnu.org>
3677
3678 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
3679 4.10 and beyond.
3680 * configure: Regenerate.
3681
8528d62e
DJ
36822004-06-16 Daniel Jacobowitz <dan@debian.org>
3683
3684 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
3685 the pre-existing section.
3686
911d08a7
AM
36872004-06-15 Alan Modra <amodra@bigpond.net.au>
3688
3689 * section.c (struct sec): Remove usused flags. Reorganize a little.
3690 (bfd_get_section_size_before_reloc): Delete.
3691 (bfd_get_section_size_after_reloc): Delete.
3692 (STD_SECTION): Update.
3693 (bfd_get_section_size_now): Delete.
3694 (bfd_set_section_contents): Don't referece reloc_done.
3695 (bfd_get_section_contents): Remove reloc_done comment.
3696 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
3697 reloc_done.
3698 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
3699 * ecoff.c (bfd_debug_section): Update initializer.
3700 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
3701 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
3702 * bfd-in.h (bfd_section_size): Expand.
3703 (bfd_get_section_size): New macro.
3704 * bfd-in2.h: Regenerate.
3705 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
3706 bfd_get_section_size_before_reloc with bfd_get_section_size.
3707 * coffcode.h (coff_write_object_contents): Likewise.
3708 * coffgen.c (build_debug_section): Likewise.
3709 * dwarf1.c (parse_line_table): Likewise.
3710 (_bfd_dwarf1_find_nearest_line): Likewise.
3711 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
3712 * i386msdos.c (msdos_write_object_contents): Likewise.
3713 * pdp11.c (squirt_out_relocs): Likewise.
3714 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
3715 * elf64-mmix.c (mmix_elf_final_link): Update comment.
3716
092dcd75
CD
37172004-06-14 Chris Demetriou <cgd@broadcom.com>
3718
3719 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
3720 removal) with updated comment.
3721 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
3722 BFD_RELOC_32_PCREL.
3723 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
3724 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3725
3ffa5234
AM
37262004-06-12 Alan Modra <amodra@bigpond.net.au>
3727
3728 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
3729 overflow on branches to undefweaks.
3730
e9edc808
MR
37312004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
3732
3733 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
3734 as ecoff_section_data() does not return a valid lvalue.
3735
a873f25a
AO
37362004-06-09 Alexandre Oliva <aoliva@redhat.com>
3737
a9b881be
AO
3738 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
3739 (elf_link_add_object_symbols): Likewise.
3740
a873f25a
AO
3741 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
3742 (elf_backend_reloc_type_class): New.
3743
eef0f186
MK
37442004-06-08 Mark Kettenis <kettenis@gnu.org>
3745
3746 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
3747 netbsd-core.lo.
3748 * configure: Regenerate.
3749
822392ce
DJ
37502004-06-07 Daniel Jacobowitz <dan@debian.org>
3751
3752 From: Albert Chin-A-Young <china@thewrittenword.com>
3753 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
3754 to unsigned int.
3755
9f2e92c5
L
37562004-05-29 H.J. Lu <hongjiu.lu@intel.com>
3757
3758 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
3759 change.
3760
dd90f1b2
DD
37612004-05-28 DJ Delorie <dj@redhat.com>
3762
3763 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
3764 for linking, but otherwise adjust reloc for merged sections.
3765
5dd23ec1
L
37662004-05-28 H.J. Lu <hongjiu.lu@intel.com>
3767
3768 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
3769 _bfd_merged_section_offset for local symbols.
3770
f6f9408f
JR
37712004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
3772
3773 * Makefile.am: Regenerate dependencies.
3774 * Makefile.in: Regenerate.
3775 * archures.c: Add bfd_mach_sh3_nommu .
3776 * bfd-in2.h: Regenerate.
3777 * cpu-sh.c: Add sh3-nommu architecture.
3778 (bfd_to_arch_table): Create new table.
3779 (sh_get_arch_from_bfd_mach): Create new function.
3780 (sh_get_arch_up_from_bfd_mach): Create new function.
3781 (sh_merge_bfd_arch): Create new function.
3782 * elf32-sh.c (sh_ef_bfd_table): Add table.
3783 (sh_elf_check_relocs): Replace switch statement with
3784 use of sh_ef_bfd_table .
3785 (sh_elf_get_flags_from_mach): Add new function.
3786 (sh_find_elf_flags): Likewise.
3787 (sh_elf_copy_private_data): Replace most of non-elf contents
3788 with a call to sh_merge_bfd_arch() .
3789
d866f350
MC
37902004-05-27 Michael Chastain <mec.gnu@mindspring.com>
3791
3792 * Makefile.am (bfdver.h): Use explicit filename, not $< .
3793 * Makefile.in: Regenerate.
3794
1055df0f
AO
37952004-05-27 Alexandre Oliva <aoliva@redhat.com>
3796
3797 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
3798 custom calling conventions for dynamic symbols.
3799 (mn10300_elf_relax_section): Avoid relaxing a function as a local
3800 symbol if it's an alias to a global one.
3801
b3096250
L
38022004-05-26 H.J. Lu <hongjiu.lu@intel.com>
3803
3804 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
3805 change.
3806
9bb351fd
AO
38072004-05-27 Alexandre Oliva <aoliva@redhat.com>
3808
3809 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
3810 loop over hashes.
3811
e49f5022
AM
38122004-05-26 Alan Modra <amodra@bigpond.net.au>
3813
3814 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
3815 for SHT_GROUP sections.
3816
57ceae94
AM
38172004-05-25 Alan Modra <amodra@bigpond.net.au>
3818
3819 * elflink.c (elf_link_add_object_symbols): Don't set up merge
3820 section data here..
3821 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
3822 * merge.c: Formatting. Remove unnecessary casts. Expand
3823 bfd_get_section_alignment macro.
3824 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
3825 use throughout file.
3826 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
3827 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
3828 section name to determine sinfo group, instead test output section
3829 and alignment.
3830 (_bfd_merge_sections): Add struct bfd_link_info param. Call
3831 _bfd_strip_section_from_output rather than just twiddling flags.
3832 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
3833 (_bfd_merge_sections): Update prototype.
3834 * libbfd.h: Regenerate.
3835
c6f8758f 38362004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
3837
3838 * netbsd-core.c: Correctly indent section that sets architecture
3839 from machine ID.
3840
c6f8758f
NC
3841 From Miod Vallat <miod@online.fr>:
3842 * m88kopenbsd.c: New file.
3843 * targets.c (m88k_openbsd_vec): New.
3844 * config.bfd: Add m88k-*-openbsd*.
3845 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
3846 (m88kopenbsd_vec): New.
3847 * configure: Regenerate.
3848 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
3849 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
3850 Run "make dep-am".
3851 * Makefile.in: Regenerate.
3852 * po/SRC-POTFILES.in: Regenerate.
3853
7d7e6bc4
NC
38542004-05-24 Nick Clifton <nickc@redhat.com>
3855
3856 * hash.c: Remove bogus node "Changing the default Hash Table Size"
3857 introduced by hash table size patch.
3858
bc286f95
BE
38592004-05-22 Ben Elliston <bje@au.ibm.com>
3860
3861 * configure.in (is_release): Remove.
3862 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
3863 (AC_OUTPUT): Don't output bfdver.h from version.h.
3864 * configure: Regenerate.
3865 * Makefile.am (RELEASE): New variable.
3866 (bfdver.h): New target.
3867 * Makefile.in: Regenerate.
3868 * doc/Makefile.in: Likewise.
3869
8b89a4eb
BE
38702004-05-22 Ben Elliston <bje@au.ibm.com>
3871
3872 * Makefile.am (config.status): Don't depend on version.h.
3873 * Makefile.in: Regenerate.
3874
753731ee
AM
38752004-05-22 Alan Modra <amodra@bigpond.net.au>
3876
3877 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
3878 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
3879 * libbfd.h: Regenerate.
3880 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
3881 (_bfd_elf_rel_local_sym): Likewise.
3882 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
3883 (elf_link_input_bfd): Likewise.
3884 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
3885 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3886 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
3887 (elfNN_ia64_relocate_section): Likewise.
3888
2d643429
NC
38892004-05-21 Andy Chittenden <achittenden@bluearc.com>
3890
3891 * hash.c (bfd_default_hash_table_size): New variable.
3892 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
3893 (bfd_hash_set_default_size): New function. Set the default size
3894 to a selected prime number close to the argument. Document new
3895 function.
3896 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
3897 * bfd-in2.h: Regenerate.
3898 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
3899 * Makefile.in: Regenerate.
3900
8377c19c
MK
39012004-05-21 Mark Kettenis <kettenis@gnu.org>
3902
3903 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
3904 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
3905 arm, m68k, m88k and hppa core files.
3906
69fd4758
NC
39072004-05-21 Nick Clifton <nickc@redhat.com>
3908
3909 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
3910 (bfd_bwrite): Likewise.
3911 (bfd_tell): Likewise.
3912 (bfd_flush): Likewise.
3913 (bfd_stat): Likewise.
3914 (bfd_seek): Likewise.
3915 (bfd_get_mtime): Likewise.
3916 (bfd_get_size): Likewise.
3917
cd917290
BE
39182004-05-19 Ben Elliston <bje@au.ibm.com>
3919
3920 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
3921
1b09e940
NC
39222004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
3923
3924 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
3925 (bfd_generic_openr_next_archived_file): Likewise.
3926
096c35a7
BW
39272004-05-17 Bob Wilson <bob.wilson@acm.org>
3928
3929 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
3930 section names by inserting a new substring after .gnu.linkonce, except
3931 for .gnu.linkonce.t.* where the "t." is replaced.
3932
eea6121a 39332004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
3934
3935 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
3936 (m68-*-lynxos* case): Likewise.
3937 (powerpc-*-lyxnos* case): New case.
3938 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
3939
80fccad2
BW
39402004-05-17 David Heine <dlheine@tensilica.com>
3941
3942 * aout-target.h (MY_bfd_copy_private_header_data): Define.
3943 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
3944 * bfd.c (bfd_copy_private_header_data): Define.
3945 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
3946 interface.
3947 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
3948 * coffcode.h (coff_bfd_copy_private_header_data): Define.
3949 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
3950 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
3951 segments by calling copy_private_bfd_data.
3952 (_bfd_elf_copy_private_header_data): Define.
3953 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
3954 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
3955 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
3956 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
3957 * mmo.c (mmo_bfd_copy_private_header_data): Define.
3958 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
3959 * som.c (som_bfd_copy_private_header_data): Define.
3960 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
3961 * vms.c (vms_bfd_copy_private_header_data): Define.
3962 * bfd-in2.h: Regenerate.
3963 * libbfd.h: Regenerate.
3964
c5ae1840
TS
39652004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3966
3967 * elfxx-mips.c (MINUS_TWO): Define.
3968 (mips_elf_higher, mips_elf_highest,
3969 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
3970 some bfd_vma values.
3971 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
3972
a99cf92b
DA
39732004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3974
3975 * som.c (log2): Rename to exact_log2. Adjust all callers.
3976
0da76f83
NC
39772004-05-13 Paul Brook <paul@codesourcery.com>
3978
c273895f 3979 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
3980 dwarf3 format CIE entries. Remove comment about the size of the
3981 ra_column field. It is now correctly deduced.
0da76f83 3982
4b363073
NC
39832004-05-13 Joel Sherrill <joel@oarcorp.com>
3984
3985 * config.bfd (or32-*-rtems*): Switch to elf.
3986
9598fbe5
NC
39872004-05-13 Nick Clifton <nickc@redhat.com>
3988
3989 * po/fr.po: Updated French translation.
3990
8c37241b
JJ
39912004-05-11 Jakub Jelinek <jakub@redhat.com>
3992
0306b3bf 3993 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
3994 into .dynsym if elf_section_data (sec)->dynindx <= 0.
3995 Adjust counting of last_local.
3996 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
3997 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
3998 created by the linker nor !SHF_ALLOC.
3999
4000 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
4001 DT_PLTGOT to the start of the .got.plt section instead of the
4002 .got output section. Set sh_entsize for .got section in addition
4003 to .got.plt.
4004 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
4005 is at sgot->output_section->vma.
4006 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
4007 DT_PLTGOT to the start of the .got.plt section instead of the
4008 .got output section.
4009 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
4010 is at sgot->output_section->vma. Set sh_entsize for .got section
4011 in addition to .got.plt.
4012 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
4013 (bfd_section_from_phdr): Likewise.
4014 (map_sections_to_segments): Likewise.
4015 (assign_file_positions_for_segments): Likewise.
4016 (get_program_header_size): Likewise.
4017 * elflink.c (bfd_elf_size_dynamic_sections): Set
4018 elf_tdata (output_bfd)->relro from info->relro.
4019 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
4020
3f980e41
AO
40212004-05-08 Alexandre Oliva <aoliva@redhat.com>
4022
4023 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
4024 a zero symndx for which we hadn't accounted a dynamic relocation.
4025 (_frvfdpic_add_rofixup): Likewise.
4026
d70270c5 40272004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 4028 DJ Delorie <dj@redhat.com>
d70270c5
BF
4029
4030 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
4031 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
4032 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
4033 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
4034
7e9f3bd6
AO
40352004-05-07 Alexandre Oliva <aoliva@redhat.com>
4036
4037 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
4038 immediately if there's no link info.
4039 (elf32_frvfdpic_copy_private_bfd_data): New.
4040 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
4041
eb61d2d6
ZW
40422004-05-06 Zack Weinberg <zack@codesourcery.com>
4043
4044 * dwarf2.c (add_line_info): Also set info->filename to NULL if
4045 filename argument is null; do not call strlen on a null pointer.
4046
ecb2d096
DJ
40472004-05-06 Daniel Jacobowitz <drow@mvista.com>
4048
4049 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
4050 special case.
4051
43850d5b
AO
40522004-05-05 Alexandre Oliva <aoliva@redhat.com>
4053
4054 * configure.in (bfd_elf32_frvfdpic_vec): New.
4055 * configure: Rebuilt.
4056 * targets.c (bfd_elf32_frvfdpic_vec): New.
4057 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
4058 on the latter.
4059 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
4060 frvfdpic instead of frv. Rearrange elf-target macros such that
4061 the FDPIC-specific ones are only defined for this new target
4062 vector.
4063 (bfd_elf32_frvfdpic_vec): Declare.
4064 (IS_FDPIC): New.
4065 (elf32_frv_relocate_section): Use it to enable segment checking
4066 and to control rofixup emission. Add output section vma to
4067 applied relocation in non-LOAD non-ALLOC sections. Use
4068 _bfd_error_handler for errors.
4069 (_frv_create_got_section): Create .rel.got and .rofixup only in
4070 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
4071 linker script.
4072 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
4073 (elf32_frvfdpic_modify_segment_map): Likewise.
4074 (elf32_frv_finish_dynamic_sections): New, do-nothing.
4075 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
4076 error message if we miscompute the rofixup size.
4077 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
4078 (frvfdpic_elf_encode_eh_address): Likewise.
4079 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
4080 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
4081 relocs. Reject unknown relocation types.
4082 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
4083 (frv_elf_merge_private_bfd_data): Likewise.
4084 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
4085 0x4000 for newly-added elf32-frvfdpic.
4086
06fc8a8c
NC
40872004-05-05 Nick Clifton <nickc@redhat.com>
4088
4089 PR/136
4090 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
4091 returning NULL as most users of this function do not check its
4092 return value.
33216455
NC
4093 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
4094 of bfd_cache_lookup().
4095 * sco5-core.c (sco5_core_file_p): Likewise.
4096 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
4097
40982004-05-05 Nick Clifton <nickc@redhat.com>
4099
4100 * cache.c (bfd_cache_lookup): Improve formatting.
4101 * archive.c: Fix formatting.
4102
6b6e92f4
NC
41032004-05-05 Peter Barada <peter@the-baradas.com>
4104
4105 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
4106 * cpu-m68k.c(bfd_m68k_arch): Likewise.
4107 * bfd-in2.h(bfd_architecture): Regenerate.
4108
6a8d1586
AM
41092004-05-03 Alan Modra <amodra@bigpond.net.au>
4110
4111 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
4112 SEC_MERGE sections.
4113 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
4114 those against discarded link-once and SEC_MERGE section symbols.
4115
fafe6678
L
41162004-05-02 H.J. Lu <hongjiu.lu@intel.com>
4117
4118 * section.c (bfd_get_section_by_name_if): New.
4119 * bfd-in2.h: Regenerated.
4120
ad7b9a36
AM
41212004-05-02 Alan Modra <amodra@bigpond.net.au>
4122
4123 * som.c (som_bfd_is_group_section): Define.
4124
73499ab8
AM
41252004-05-01 Alan Modra <amodra@bigpond.net.au>
4126
4127 * section.c (bfd_make_section_anyway): Copy the whole
4128 bfd_hash_entry, not just "next" from existing entry.
4129
45c5e9ed
L
41302004-04-30 H.J. Lu <hongjiu.lu@intel.com>
4131
4132 * elf.c (bfd_section_from_shdr): Maintain the section order in
4133 a section group.
4134 (special_sections): Add ".note.GNU-stack".
4135 (elf_fake_sections): Handle section group for relocatable
4136 link..
4137
bc87dd2e
L
41382004-04-30 H.J. Lu <hongjiu.lu@intel.com>
4139
4140 * section.c (bfd_sections_find_if): New.
4141 * bfd-in2.h: Regenerated.
4142
72adc230
AM
41432004-04-30 Alan Modra <amodra@bigpond.net.au>
4144
4145 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
4146
4147 * elf-bfd.h (bfd_elf_is_group_section): Declare.
4148 * elf.c (bfd_elf_is_group_section): New function.
4149 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
4150 * section.c (bfd_generic_is_group_section): New function.
4151 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
4152 (BFD_JUMP_TABLE_LINK): Adjust.
4153 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
4154 * aout-target.h (MY_bfd_is_group_section): Define.
4155 * aout-tic30.c (MY_bfd_is_group_section): Define.
4156 * bfd.c (bfd_is_group_section): Define.
4157 * binary.c (binary_bfd_is_group_section): Define.
4158 * bout.c (b_out_bfd_is_group_section): Define.
4159 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
4160 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
4161 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
4162 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
4163 * coffcode.h (coff_bfd_is_group_section): Define.
4164 * i386msdos.c (msdos_bfd_is_group_section): Define.
4165 * i386os9k.c (os9k_bfd_is_group_section): Define.
4166 * ieee.c (ieee_bfd_is_group_section): Define.
4167 * ihex.c (ihex_bfd_is_group_section): Define.
4168 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
4169 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
4170 * mmo.c (mmo_bfd_is_group_section): Define.
4171 * nlm-target.h (nlm_bfd_is_group_section): Define.
4172 * oasys.c (oasys_bfd_is_group_section): Define.
4173 * pef.c (bfd_pef_bfd_is_group_section): Define.
4174 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
4175 * srec.c (srec_bfd_is_group_section): Define.
4176 * tekhex.c (tekhex_bfd_is_group_section): Define.
4177 * versados.c (versados_bfd_is_group_section): Define.
4178 * vms.c (vms_bfd_is_group_section): Define.
4179 * xsym.c (bfd_sym_bfd_is_group_section): Define.
4180 * bfd-in2.h: Regenerate.
4181 * libbfd.h: Regenerate.
4182
20f0a1ad
AM
41832004-04-30 Alan Modra <amodra@bigpond.net.au>
4184
4185 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
4186
f7458fc9 41872004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
4188
4189 * configure.in: Update version to 2.15.91.
4190 * configure: Regenerate.
4191
8a7140c3
NC
41922004-04-29 Brian Ford <ford@vss.fsi.com>
4193
4194 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
4195 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
4196 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
4197 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
4198 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
4199 .gnu.linkonce.wi. sections.
4200 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
4201 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
4202 .gnu.linkonce.wi..
4203 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
4204 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
4205
3e722fb5
CD
42062004-04-28 Chris Demetriou <cgd@broadcom.com>
4207
4208 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
4209 * bfd-in2.h: Regenerate.
4210 * libbfd.h: Likewise.
4211
351e2b5a
DA
42122004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4213
4214 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
4215 dup_common fields.
4216 (setup_sections): Use som_subspace_dictionary_record struct instead
4217 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
4218 is_comdat, is_common or dup_common.
4219 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
4220 is_comdat, is_common and dup_common in section subspace_dict from
4221 copy_data.
4222 (som_begin_writing): Use som_subspace_dictionary_record struct.
4223 (som_finish_writing): Likewise.
4224 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
4225 is_common and dup_common flags in info for symbol. Add comment
4226 regarding linker support for these fields. Slightly reorganize
4227 function.
4228 (som_build_and_write_symbol_table): Set is_comdat, is_common and
4229 dup_common fields in symbol table from symbol info.
4230 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
4231 arguments. Set corresponding fields in copy_data. Change all callers.
4232 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
4233 symbol table.
4234 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
4235 * som.h (som_subspace_dictionary_record): Define.
4236 (som_copyable_section_data_struct): Add is_comdat, is_common and
4237 dup_common fields.
4238 (som_section_data_struct): Use som_subspace_dictionary_record struct
4239 instead of subspace_dictionary_record.
4240 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
4241
3ba3bc8c
BW
42422004-04-27 Bob Wilson <bob.wilson@acm.org>
4243
4244 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
4245 if set. Check reloc_done flag before applying relocations. Use
4246 output addresses, both when applying relocations and when comparing
4247 against the specified section.
4248 (elf_xtensa_relocate_section): Use output address to check if dynamic
4249 reloc is in a literal pool. Set section's reloc_done flag.
4250
beb8df56
L
42512004-04-27 H.J. Lu <hongjiu.lu@intel.com>
4252
4253 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
4254 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
4255 section.
4256 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
4257 section.
4258
1829f4b2
AM
42592004-04-27 Alan Modra <amodra@bigpond.net.au>
4260
4261 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
4262 structure field removed in 2004-04-24 patch.
4263 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
4264
4265 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
4266 Constify hdr arg.
4267 * elf32-arm.h (elf32_arm_section_flags): Likewise.
4268 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
4269 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
4270 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
4271 field before calling elf_backend_section_flags.
4272
4030e8f6
CD
42732004-04-24 Chris Demetriou <cgd@broadcom.com>
4274
4275 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
4276 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
4277 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
4278 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
4279 and BFD_RELOC_32_PCREL.
4280 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
4281 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
4282 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4283 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
4284 (mips_elf_next_relocation): Move comment about matching HI/LO
4285 relocations to...
4286 (_bfd_mips_elf_relocate_section): Here. Remove handling for
4287 R_MIPS_GNU_REL_HI16.
4288
3e27568f
CD
42892004-04-23 Chris Demetriou <cgd@broadcom.com>
4290
4291 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
4292 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
4293 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
4294 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
4295 and update comments to reflect current usage.
4296 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
4297 and MIPS_R_SWITCH, as well as several empty entries. Update comment
4298 for MIPS_R_PCREL16.
4299 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
4300 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
4301 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
4302 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
4303 type number to be MIPS_R_PCREL16.
4304 (mips_relocate_section): Remove support for link-time relaxation
4305 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
4306 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
4307 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
4308 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
4309 relaxation of branches used by embedded-PIC.
4310 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
4311 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
4312 related members, update comment.
4313 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
4314 code related to embedded-PIC.
4315 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
4316 initialization of now-removed 'adjust' member of
4317 'struct ecoff_debug_info'.
4318
b32de0bc 43192004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
4320
4321 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
4322
955af222
PB
43232004-04-21 Philip Blundell <pb@nexus.co.uk>
4324
4325 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
4326 relocs for locally defined symbols during -shared final link.
4327 (elf32_arm_final_link_relocate): Likewise.
4328
47a9f7b3
JJ
43292004-04-22 Jakub Jelinek <jakub@redhat.com>
4330
4331 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
4332 ELF_LINK_POINTER_EQUALITY_NEEDED.
4333 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
4334 if r_type is not R_X86_64_PC32.
4335 (elf64_x86_64_finish_dynamic_symbol): If
4336 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
4337 SHN_UNDEF symbols.
4338
1f1799d5
KK
43392004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4340
4341 * elf32-sh.c (sh_elf_plt_sym_val): New function.
4342 (elf_backend_plt_sym_val): Define.
4343
0fdea5ce
AC
43442004-04-22 Andrew Cagney <cagney@redhat.com>
4345
4346 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
4347
5198ba8b
DA
43482004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4349
eb61d2d6 4350 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
4351 make_bfd_asection.
4352 * som.c (som_set_section_contents): Constantify second argument.
4353 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
4354 (som_object_setup): Rework to avoid warning.
4355 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
4356 Likewise.
4357
fe2e161a
AC
43582004-04-22 Andrew Cagney <cagney@redhat.com>
4359
4360 * cache.c (bfd_cache_close): Check for a previously closed file.
4361
4c45e5c9
JJ
43622004-04-22 Jakub Jelinek <jakub@redhat.com>
4363
4364 * bfd.c (bfd_get_synthetic_symtab): Define.
4365 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
4366 NAME##_get_synthetic_symtab.
4367 (struct bfd_target): Add _bfd_get_synthetic_symtab.
4368 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
4369 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
4370 relplt_name fields.
4371 (_bfd_elf_get_synthetic_symtab): New prototype.
4372 * elfcode.h (elf_get_synthetic_symtab): Define.
4373 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
4374 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
4375 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
4376 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
4377 * bfd-in2.h: Rebuilt.
4378 * libbfd.h: Rebuilt.
4379 * elf32-i386.c (elf_i386_plt_sym_val): New function.
4380 (elf_backend_plt_sym_val): Define.
4381 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
4382 (elf_backend_plt_sym_val): Define.
4383 * elf32-s390.c (elf_s390_plt_sym_val): New function.
4384 (elf_backend_plt_sym_val): Define.
4385 * elf64-s390.c (elf_s390_plt_sym_val): New function.
4386 (elf_backend_plt_sym_val): Define.
4387 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
4388 (elf_backend_plt_sym_val): Define.
4389 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
4390 (elf_backend_plt_sym_val): Define.
4391 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
4392 (elf_backend_plt_sym_val): Define.
4393 * aout-target.h (MY_get_synthetic_symtab): Define.
4394 * aout-tic30.c (MY_get_synthetic_symtab): Define.
4395 * coff-rs6000.c (rs6000coff_vec): Add
4396 _bfd_nodynamic_get_synthetic_symtab.
4397 (pmac_xcoff_vec): Likewise.
4398 * coff64-rs6000.c (rs6000coff64_vec): Add
4399 _bfd_nodynamic_get_synthetic_symtab.
4400 (aix5coff64_vec): Likewise.
4401 * sunos.c (MY_get_synthetic_symtab): Define.
4402 * vms.c (vms_get_synthetic_symtab): Define.
4403
d2f7ecac
NC
44042004-04-22 Nick Clifton <nickc@redhat.com>
4405
4406 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
4407
fd99574b
NC
44082004-04-22 Peter Barada <peter@the-baradas.com>
4409
4410 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
4411 * bfd2-in.h: Regenerate.
4412 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
4413
23867d67
CD
44142004-04-21 Chris Demetriou <cgd@broadcom.com>
4415
4416 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
4417 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
4418 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
4419 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
4420 * bfd-in2.h: Regenerate.
4421
2c8c90bc
BW
44222004-04-21 Bob Wilson <bob.wilson@acm.org>
4423
4424 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
4425 require relocations against a weak symbol to reference the same
4426 symbol hash entry if not a final, static link.
4427 (get_cached_value, add_value_map): Add final_static_link argument.
4428 (remove_literals): Pass final_static_link argument as needed.
4429
40838a72
AC
44302004-04-21 Andrew Cagney <cagney@redhat.com>
4431
4432 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
4433 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
4434 (opncls_bwrite, opncls_bclose, opncls_bflush)
4435 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
4436 bfd iovec that uses function callbacks.
4437 (bfd_close): Use the iovec's bclose.
4438 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
4439 (cache_bclose, cache_bflush, cache_bstat)
4440 (cache_iovec): New functions and global variable, implement a
4441 cache "iovec", where applicable set bfd_error.
4442 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
4443 * bfdio.c (struct bfd_iovec): Define.
4444 (real_read): Delete function.
4445 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
4446 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
4447 assume that bread and bwrite set bfd_error.
4448 * bfd.c (struct bfd): Add "iovec", update comments.
4449 * bfd-in2.h, libbfd.h: Re-generate.
4450
7f919c84
AC
44512004-04-21 Andrew Cagney <cagney@redhat.com>
4452
4453 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
4454
715df9b8
EB
44552004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
4456
4457 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
4458 (bfd_elf_gc_sections): Fail if a shared object is being created.
4459 Do not fail if dynamic sections have been created. Instead call
4460 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
4461 dynamically referenced symbols. Do not mark the whole graph
4462 rooted at .eh_frame, only the section proper.
4463
6482c264
NC
44642004-04-20 DJ Delorie <dj@redhat.com>
4465
4466 * reloc.c: Add BFD_RELOC_32_SECREL.
4467 * bfd-in2.h: Regenerate.
4468 * libbfd.h: Likewise.
4469 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
4470 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
4471 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
4472
4dc570c2
JJ
44732004-04-19 Jakub Jelinek <jakub@redhat.com>
4474
4475 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
4476 relocs against hidden/protected undefweak symbols properly.
4477 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4478
0b60d5d3
MK
44792004-04-18 Mark Kettenis <kettenis@gnu.org>
4480
4481 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
4482 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
4483 core files.
4484
d48bdb99
AM
44852004-04-17 Brian Ford <ford@vss.fsi.com>
4486
4487 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
4488 filepos for the SizeOfHeaders field.
4489 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
4490 overflow.
4491 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
4492
57a1784e
AM
44932004-04-16 Alan Modra <amodra@bigpond.net.au>
4494
4495 * simple.c (bfd_simple_get_relocated_section_contents): Don't
4496 change reloc_done. Set and restore _cooked_size.
4497 (RETURN): Delete.
4498
d1ad3f6f
MK
44992004-04-15 Mark Kettenis <kettenis@gnu.org>
4500
4501 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
4502 core files.
4503
3d1bca9d
NC
45042004-04-15 Nick Clifton <nickc@redhat.com>
4505
4506 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
4507
019b892f
AM
45082004-04-15 Alan Modra <amodra@bigpond.net.au>
4509
4510 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
4511
15b43f48
AM
45122004-04-15 H.J. Lu <hongjiu.lu@intel.com>
4513
4514 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
4515 when it is a definition.
4516
6de00a78
AM
45172004-04-14 Alan Modra <amodra@bigpond.net.au>
4518
4519 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
4520 when statically linking PIC code.
4521 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
4522
279500de
TS
45232004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4524
4525 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
4526 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
4527 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
4528 * configure: Regenerate.
4529
ccf2f652
RS
45302004-04-08 Richard Sandiford <rsandifo@redhat.com>
4531
4532 * elflink.c: Include libiberty.h.
4533 * Makefile.am (elflink.lo): Depend on libiberty.h.
4534 * Makefile.in: Regenerate.
4535
ca07892d
DJ
45362004-04-06 Daniel Jacobowitz <drow@mvista.com>
4537
4538 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
4539 ".MIPS.stubs".
4540
a5a58ba4
L
45412004-04-05 H.J. Lu <hongjiu.lu@intel.com>
4542
4543 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
4544 reserve the memory for dynamic linker
4545
24d18d30
MK
45462004-04-05 Mark Kettenis <kettenis@gnu.org>
4547
4548 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
4549 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
4550
a4d7b4b5
L
45512004-04-02 H.J. Lu <hongjiu.lu@intel.com>
4552
4553 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
4554 RELOC_FOR_GLOBAL_SYMBOL.
4555 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
4556
1f433d93
L
45572004-04-02 H.J. Lu <hongjiu.lu@intel.com>
4558
4559 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
4560 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
4561
e489d0ae
PB
45622004-04-01 Paul Brook <paul@codesourcery.com>
4563
4564 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
4565 * elf32-arm.h (struct elf32_elf_section_map): New.
4566 (struct _arm_elf_section_data): New.
4567 (elf32_arm_section_data): Define.
4568 (struct elf32_arm_link_hash_table): Add byteswap_code.
4569 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
4570 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
4571 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
4572 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
4573 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
4574 (bfd_elf32_new_section_hook, elf_backend_write_section,
4575 elf_backend_link_output_symbol_hook): Define.
4576
66a695f0
NC
45772004-04-01 Andy Chittenden <achittenden@bluearc.com>
4578
4579 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
4580 that keeps the characters in a B_INCL..B_EINCL range.
4581 (_bfd_link_section_stabs): When computing the sum of the
4582 characters in a B_INCL..B_EINCL range also keep a copy of those
4583 characters. Use this information to distinguish between
4584 include sections that have the same sum and the same length
4585 but which are nevertheless unique.
4586
8375c36b
PB
45872004-03-31 Paul Brook <paul@codesourcery.com>
4588
4589 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
4590 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
4591
a56b48eb
NC
45922004-03-31 Andy Chittenden <achittenden@bluearc.com>
4593
4594 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
4595 to 'sum_chars' and add field 'num_chars'.
4596 (_bfd_link_section_stabs): When computing the sum of the
4597 characters in a B_INCL..B_EINCL range also keep a count of the
4598 number of characters. Use this information to help distinguish
4599 between include sections when have the same sum but which
4600 nevertheless are still unique.
4601