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