*** empty log message ***
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
44444f50
NC
12005-10-19 Paul Brook <paul@codesourcery.com>
2
3 * elf32-arm.c (find_arm_elf_section_entry): New function.
4 (get_arm_elf_section_data): Use it.
5 (unrecord_section_with_arm_elf_section_data): Use it.
6
66b920dc
L
72005-10-15 H.J. Lu <hongjiu.lu@intel.com>
8
9 * coff-rs6000.c (rs6000coff_vec): Initialize
10 _bfd_match_sections_by_type with
11 _bfd_generic_match_sections_by_type.
12 (pmac_xcoff_vec): Likewise.
13 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
14 (aix5coff64_vec): Likewise.
15
ecca9871
L
162005-10-15 H.J. Lu <hongjiu.lu@intel.com>
17
18 PR ld/1467
19 * elf-bfd.h (_bfd_elf_match_sections_by_type): New.
20 (_bfd_generic_match_sections_by_type): New. Defined.
21
22 * elf.c (_bfd_elf_match_sections_by_type): New.
23
24 * libbfd-in.h (_bfd_generic_match_sections_by_type): New.
25
26 * bfd-in2.h: Regenerated.
27 * libbfd.h: Likewise.
28
29 * libbfd.c (_bfd_generic_match_sections_by_type): New.
30
31 * targets.c (BFD_JUMP_TABLE_LINK): Initialize
32 _bfd_match_sections_by_type with
33 _bfd_generic_match_sections_by_type.
34 (bfd_target): Add _bfd_match_sections_by_type.
35
ee065d83
PB
362005-10-08 Paul Brook <paul@codesourcery.com>
37
38 * elf32-arm.c: Move #include "elf/arm.h" after libbfd.h.
39 (NUM_KNOWN_ATTRIBUTES): Define.
40 (aeabi_attribute, aeabi_attribute_list): Define.
41 (elf32_arm_obj_tdata): Add known_eabi_attributes and
42 other_eabi_attributes.
43 (uleb128_size, is_default_attr, eabi_attr_size,
44 elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
45 elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
46 elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int,
47 elf32_arm_add_eabi_attr_compat, copy_eabi_attributes,
48 elf32_arm_merge_eabi_attributes): New functions.
49 (elf32_arm_copy_private_bfd_data): Copy EABI object attributes.
50 (elf32_arm_fake_sections): Handle .ARM.attributes.
51 (elf32_arm_parse_attributes): New function.
52 (elf32_arm_section_from_shdr): Use it.
53 (bfd_elf32_bfd_final_link): Define.
54
6edfbbad
DJ
552005-10-06 Daniel Jacobowitz <dan@codesourcery.com>
56
57 * elf32-arm.c (elf32_arm_check_relocs): Avoid aliasing warnings from
58 GCC.
59 (elf32_arm_size_dynamic_sections): Likewise.
60 * ecofflink.c (bfd_ecoff_debug_one_external): Likewise.
61 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
62 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
63 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
64 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
65 * elf32-s390.c (elf_s390_check_relocs): Likewise.
66 (elf_s390_size_dynamic_sections): Likewise.
67 * elf32-sh.c (sh_elf_check_relocs): Likewise.
68 * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count)
69 (ppc64_elf_size_dynamic_sections): Likewise.
70 * elf64-s390.c (elf_s390_check_relocs): Likewise.
71 (elf_s390_size_dynamic_sections): Likewise.
72 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
73 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
74 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
75 * ieee.c (ieee_slurp_section_data): Likewise.
76 * oasys.c (oasys_slurp_section_data): Likewise.
77
1b74d094
BW
782005-10-04 Bob Wilson <bob.wilson@acm.org>
79
80 * archive.c: Add missing SUBSECTION for documentation.
81 * bfd.c: Likewise.
82 * cache.c: Likewise.
83 * corefile.c: Likewise.
84 * format.c: Likewise.
85 * init.c: Likewise.
86 * libbfd.c: Likewise.
87 * opncls.c: Likewise.
88 * elf.c: Remove blank line after SECTION heading.
89 * reloc.c: Change "howto manager" SECTION to a SUBSECTION.
90
bd4aae00
NC
912005-10-04 Nick Clifton <nickc@redhat.com>
92
93 * elf32-arm.c (get_arm_elf_section_data): Cache the last pointer
94 matched so that the typical case of scanning for the previous
95 section to last one can be handled quickly.
96
d638e0ac
BW
972005-10-03 David Heine <dlheine@tensilica.com>
98
99 * elf32-xtensa.c (relocations_reach): Skip range check for
100 absolute literals.
101
65a7a66f
AM
1022005-10-03 Alan Modra <amodra@bigpond.net.au>
103
104 * elf.c (_bfd_elf_get_synthetic_symtab): Set BSF_GLOBAL on
105 synthetic syms.
106
5d038dee
L
1072005-09-30 H.J. Lu <hongjiu.lu@intel.com>
108
109 * Makefile.am: Run "make dep-am".
110 * Makefile.in: Regenerated.
111 * aclocal.m4: Likewise.
112
0f64bb02
CM
1132005-09-30 Catherine Moore <clm@cm00re.com>
114
115 * Makefile.am: Bfin support.
116 * Makefile.in: Regenerated.
117 * aclocal.m4: Regenerated.
118 * archures.c (bfd_mach_bfin): New.
119 (bfd_arch_bfin): New.
120 bfd-in.h (bfd_bfin_elf32_create_embedded_relocs): New.
121 * bfd-in2.h: Regenerated.
122 * config.bfd: Bfin support.
123 * configure: Regenerated.
124 * configure.in: Bfin support.
125 * libbfd.h: Regenerated.
126 * reloc.c: Add BFD relocations for Bfin.
127 * targets.c (bfd_elf32_bfin_vec): New.
128 * cpu-bfin.c: New file.
129 * elf32-bfin.c: New file.
130
7fe2b9a6
AM
1312005-09-30 Alan Modra <amodra@bigpond.net.au>
132
133 * elf64-ppc.c (ppc_type_of_stub): Check both func desc and func
134 entry sym before deciding no stub is needed.
135 (ppc64_elf_size_stubs): When calculating branch destination,
136 don't use func desc sym for old ABI objects unless func entry
137 is undefined.
138
dd863624
L
1392005-09-28 H.J. Lu <hongjiu.lu@intel.com>
140
141 PR binutils/1321
142 * elf-bfd.h (_bfd_elf_setup_group_pointers): Renamed to ...
143 (_bfd_elf_setup_sections): This.
144 * elf.c: Likewise.
145 * elfcode.h (elf_object_p): Likewise.
146
147 * elf.c (_bfd_elf_setup_sections): Process SHF_LINK_ORDER.
148 (_bfd_elf_copy_private_section_data): Likewise.
149
d33cdfe3
L
1502005-09-28 H.J. Lu <hongjiu.lu@intel.com>
151
152 * elflink.c (elf_fixup_link_order): Report locations for mixed
153 ordered and unordered input sections.
154
c955f9cd
JW
1552005-09-22 James E. Wilson <wilson@specifix.com>
156
157 * dwarf2.c (struct funcinfo): Delete nesting_level field.
158 (lookup_address_in_function_table): Delete code to set funcinfo
159 caller_func field. Delete local curr_func.
160 (scan_unit_for_symbols): New locals nested_funcs, nested_funcs_size.
161 Delete code setting funcinfo nesting_level field. Add code to set
162 funcinfo caller_func field.
163
d5cbaa15
JW
1642005-09-20 James E. Wilson <wilson@specifix.com>
165
166 * dwarf2.c (find_abstract_instance_name): Don't early exit when name
167 set. For DW_AT_name case, only set name if not already set. Handle
168 DW_AT_MIPS_linkage_name.
169
707bba77
AM
1702005-09-20 Alan Modra <amodra@bigpond.net.au>
171
172 * elflink.c (_bfd_elf_merge_symbol): Simplify.
173
5c3dead3
AM
1742005-09-19 Alan Modra <amodra@bigpond.net.au>
175
176 * elf64-ppc.c (ppc_build_one_stub): Replace assertion that long
177 branch offset is in range with an error. Print full stub name on
178 errors.
179 (ppc_size_one_stub): Print full stub name on errors.
180 (group_sections): Warn if section size exceeds group size.
181 (ppc64_elf_size_stubs): Continue relaxing when stub types change.
182
6cfda947
KB
1832005-09-09 Kevin Buettner <kevinb@redhat.com>
184
185 * elf32-am33lin.c (bfd.h, sysdep.h, elf-bfd.h, elf/mn10300.h):
186 Include.
187 (elf32_am33lin_grok_prstatus, elf32_am33lin_grok_psinfo): New
188 functions.
189 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
190
0951f019
RE
1912005-09-09 Richard Earnshaw <richard.earnshaw@arm.com>
192
193 * elf32-arm.c (elf32_arm_section_from_shdr): Accept SHT_ARM_PREEMPTMAP
194 and SHT_ARM_ATTRIBUTES.
195
e04bcc6d
L
1962005-09-08 H.J. Lu <hongjiu.lu@intel.com>
197
198 * elflink.c (elf_get_linked_section_vma): Fix a typo in comment.
199 * elfxx-ia64.c (elf_backend_link_order_error_handler): Likewise.
200
92fd189d
L
2012005-09-08 H.J. Lu <hongjiu.lu@intel.com>
202
203 PR ld/1263
204 * elflink.c (elf_link_add_object_symbols): Abort for
205 --just-symbols on DSO.
206
3eb17e6b
PB
2072005-09-08 Paul Brook <paul@codesourcery.com>
208
209 * reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC.
210 * bfd-in2.h: Regenerate.
211 * libbfd.h: Regenerate.
212
68f49ba3
L
2132005-09-06 H.J. Lu <hongjiu.lu@intel.com>
214
215 PR ld/1301
216 * elflink.c (_bfd_elf_merge_symbol): Don't check undefined
217 symbol introduced by "ld -u" for TLS.
218
8f06b2d8
PB
2192005-09-02 Paul Brook <paul@codesourcery.com>
220
221 * libbdf.h: Regenerate.
222 * bfd-in2.h: Regenerate.
223 * reloc.c: Add BFD_RELOC_ARM_T32_CP_OFF_IMM and
224 BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
225
046aeb74
DD
2262005-09-01 Dmitry Diky <diwil@spec.ru>
227
228 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Do not adjust
229 local symbols and move it to
230 (msp430_elf_relax_adjust_locals): New function - walk over the
231 sections in the bfd and adjust relocations as necessary.
232
e81d3500
DD
2332005-08-31 DJ Delorie <dj@redhat.com>
234
235 * elf32-i386.c (elf_i386_check_relocs): Don't cast a unary &
236 address operator, as that breaks GCC's strict aliasing rules.
237 (elf_i386_size_dynamic_sections): Avoid the need for type
238 punning.
239 * elf64-x86-64.c (elf_x86_64_check_relocs): Don't cast a unary
240 & address operator, as that breaks GCC's strict aliasing
241 rules.
242 (elf_x86_64_size_dynamic_sections): Avoid the need for type
243 punning.
244
e26f8bd9
NC
2452005-08-30 Phil Edwards <phil@codesourcery.com>
246
247 * config.bfd (i[3-7]86-*-vxworks): Match vxworks* instead.
248
1faab634
L
2492005-08-29 H.J. Lu <hongjiu.lu@intel.com>
250
251 PR ld/1247
252 * elfxx-ia64.c (allocate_fptr): Check undefined symbol.
253
c9adbffe
NC
2542005-08-29 Steven J. Hill <sjhill@realitydiluted.com>
255
256 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Initialise
257 'value' to avoid compile time warning message.
258
c0524131
NC
2592005-08-26 Christian Groessler <chris@groessler.org>
260
261 * coff-z8k.c: (r_jr, r_disp7, r_callr): Fix src_mask and dst_mask
262 of HOWTO.
263 (coff_z8k_select_reloc): Remove.
264 (SELECT_RELOC): Remove.
265 (coff_z8k_reloc_type_lookup): New function.
266 (coff_bfd_reloc_type_lookup): Define.
267 * configure.in: Add cofflink.lo to z8kcoff_vec.
268 * configure: Regenerate.
269 * reloc.c: (bfd_reloc_code_type): Add z8k relocations.
270 (bfd_install_relocation): Don't clear reloc_entry->addend for
271 coff-z8k target.
272 * bfd-in2.h: Regenerate.
273 * libbfd.h: Regenerate.
274
4195f552
KK
2752005-08-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
276
277 * elf32-sh.c (sh_elf_get_flags_from_mach): Fix off-by-one error.
278
843fe662
L
2792005-08-24 H.J. Lu <hongjiu.lu@intel.com>
280
281 PR ld/1208
282 * elf-hppa.h (elf_hppa_relocate_section): Print out the name
283 of unresolvable relocation.
284 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
285 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
286 * elf32-i386.c (elf_i386_relocate_section): Likewise.
287 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
288 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
289 * elf32-s390.c (elf_s390_relocate_section): Likewise.
290 * elf32-sh.c (sh_elf_relocate_section): Likewise.
291 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
292 * elf64-s390.c (elf_s390_relocate_section): Likewise.
293 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
294 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
295 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
296
1cddf136
KK
2972005-08-18 Kaz Kojima <kkojima@rr.iij4u.or.jp>
298
299 * config.bfd: Add bfd_elf32_shnbsd_vec and bfd_elf32_shlnbsd_vec
300 to targ_selvecs for sh5*-*-netbsd* and sh64*-*-netbsd*.
301
c17ae8a2
AM
3022005-08-18 Alan Modra <amodra@bigpond.net.au>
303
848cf006
AM
304 * coff-a29k.c: Delete.
305 * cpu-a29k.c: Delete.
c17ae8a2
AM
306 * Makefile.am: Remove mention of a29k files.
307 * aoutf1.h: Remove a29k support.
308 * aoutx.h: Likewise.
309 * archures.c: Likewise.
310 * coffcode.h: Likewise.
311 * config.bfd: Likewise.
312 * configure.in: Likewise.
313 * ieee.c: Likewise.
314 * mipsbsd.c: Likewise.
315 * pdp11.c: Likewise.
316 * sparclynx.c: Likewise.
317 * targets.c: Likewise.
318 * Makefile.in: Regenerate.
319 * configure: Regenerate.
320 * bfd-in2.h: Regenerate.
321 * po/SRC-POTFILES.in: Regenerate.
322
909272ee
AM
3232005-08-18 Alan Modra <amodra@bigpond.net.au>
324
325 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Warn on
326 zero size dynamic variables.
327 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
328 * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
329 * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
330 * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
331 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
332 * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
333 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
334 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
335 * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
336 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
337 * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
338 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
339 * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
340 * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
341 * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
342 * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
343
bc79cded
L
3442005-08-17 H.J. Lu <hongjiu.lu@intel.com>
345
346 PR binutils/1179
347 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma
348 instead of vma.
349 (_bfd_dwarf2_find_line): Likewise.
350
46fda84e
AM
3512005-08-17 Alan Modra <amodra@bigpond.net.au>
352
353 * elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section
354 SEC_LINKER_CREATED.
355 (mmix_elf_final_link): Check that section hasn't already been
356 removed before removing.
357 * mmo.c (mmo_scan): Mark reg contents section SEC_LINKER_CREATED.
358 (mmo_canonicalize_symtab): Likewise for reg section.
359
8d1d654f
AM
3602005-08-17 Alan Modra <amodra@bigpond.net.au>
361
362 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Move assert later.
363 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Cope with being called
364 without any got section.
365
27198fa9
DS
3662005-08-17 Danny Smith <dannysmith@users.sourceforge.net>
367
368 * cofflink.c (_bfd_coff_generic_relocate_section): Correct
369 comment.
370
ccabcbe5
AM
3712005-08-17 Alan Modra <amodra@bigpond.net.au>
372
373 * elflink.c (_bfd_elf_define_linkage_sym): Don't call
374 bfd_elf_link_record_dynamic_symbol. Call elf_backend_hide_symbol.
375 (_bfd_elf_link_renumber_dynsyms): Formatting.
376 (struct elf_gc_sweep_symbol_info): New.
377 (elf_gc_sweep_symbol): Rewrite.
378 (elf_gc_sweep): Adjust params and elf_gc_sweep_symbol call.
379 Call _bfd_elf_link_renumber_dynsyms.
380 (bfd_elf_gc_sections): Adjust elf_gc_sweep call.
381
18d944df
AM
3822005-08-16 Alan Modra <amodra@bigpond.net.au>
383
384 * elf64-ppc.c (ppc64_elf_edit_opd): Don't call dec_dynrel_count
385 when relocatable.
386
4af0a1d8
BW
3872005-08-15 Bob Wilson <bob.wilson@acm.org>
388
389 * elf32-xtensa.c (ELF_MACHINE_CODE, ELF_MACHINE_ALT1): Swap values
390 of EM_XTENSA and EM_XTENSA_OLD.
391
d98685ac
AM
3922005-08-16 Alan Modra <amodra@bigpond.net.au>
393
394 * elf-bfd.h (_bfd_elf_define_linkage_sym): Declare.
395 * elflink.c (_bfd_elf_define_linkage_sym): New function, extracted
396 from..
397 (_bfd_elf_create_got_section): ..here.
398 (_bfd_elf_link_create_dynamic_sections): Call it for _DYNAMIC.
399 (_bfd_elf_create_dynamic_sections): ..and _PROCEDURE_LINKAGE_TABLE_.
400 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Use
401 _bfd_elf_define_linkage_sym.
402 * elf32-frv.c (_frv_create_got_section): Likewise.
403 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
404
ce490eda
PB
4052005-08-15 Paul Brook <paul@codesourcery.com>
406
407 * elf32-arm.c (elf32_arm_howto_table_1): Make R_ARM_PLT32 the same as
408 R_ARM_PC24.
409
4fc35ca9
DA
4102005-08-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
411
412 PR ld/1135
413 * elf64-hppa.c (elf64_hppa_special_sections): Add flag definitions for
414 .plt, .dlt, .sdata, .sbss and .tbss.
415
fa9ee72b
DD
4162005-08-12 Dmitry Diky <diwil@spec.ru>
417
418 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust relocations
419 referenced by .section + DISPLACEMENT.
420
98b880f4
JW
4212005-08-10 James E. Wilson <wilson@specifix.com>
422
423 * dwarf2.c (scan_unit_for_symbols, case DT_AT_location): Verify that
424 DW_OP_addr is only opcode in location before using it.
425
a38a2e96
L
4262005-08-09 H.J. Lu <hongjiu.lu@intel.com>
427
428 * elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
429
fd6212e6
NC
4302005-08-09 Rodney Brown <rbrown@bravurasolutions.com.au>
431 Nick Clifton <nickc@redhat.com>
432
433 * aix5ppc-core.c (xcoff64_core_p): Constify return_value
434 variable. Also, do not use core_hdr macro as it evaluates to a
435 cast of an lvalue which is no longer supported by GCC 4.0.
436
44c86e8c
NC
4372005-08-08 Eric Dönges <Eric.Doenges@betty-tv.com>
438
439 * archures.c (bfd_mach_msp21): New MSP430 machine number.
440 * bfd-in2.h: Regenerate.
441 * cpu-msp430.c (arch_info_struct): Add support for msp430x21xx
442 variants.
443
957c6e41
NC
4442005-08-07 Nick Clifton <nickc@redhat.com>
445 Paul Brook <paul@codesourcery.com>
446
447 PR 1147
448 * elf32-arm.c (bfd_elf32_close_and_cleanup): Define.
449 (elf32_arm_close_and_cleanup): New function - walk over the
450 sections in the bfd that is being closed removing them from the
451 list of recorded sections.
452 (unrecord_section_via_map_over_sections): New helper function.
453 (record_section_with_arm_elf_section_data): Call bfd_malloc
454 instead of bfd_alloc. Remove unneeded abfd parameter.
455 (elf32_arm_new_section_hook): Do not pass bfd to
456 record_section_with_arm_elf_section_data.
457
458 * elfxx-target.h (bfd_elfNN_close_and_cleanup): Only define if not
459 already defined by the target.
460
a29b7e88
FF
4612005-08-05 Fred Fish <fnf@specifix.com>
462
463 * dwarf2.c (read_rangelist): Use addr_size instead of offset_size
464 to determine how many bytes to read from each rangelist entry.
465
7af8e998
L
4662005-08-05 H.J. Lu <hongjiu.lu@intel.com>
467
468 * bfd.c (bfd_hide_symbol): New.
469 * bfd-in2.h: Regenerated.
470
00492999
L
4712005-08-04 H.J. Lu <hongjiu.lu@intel.com>
472
473 * elf64-x86-64.c (elf64_x86_64_merge_symbol): When mixing a
474 large common symbol and a normal common symbol, always turn
475 the large common symbol into a normal one.
476
046183de
AM
4772005-08-04 Alan Modra <amodra@bigpond.net.au>
478
479 * elf32-ppc.c (struct elf_linker_section): Replace sym_val field
480 with sym.
481 (ppc_elf_relocate_section): Adjust for above.
482 (create_sdata_sym): New function.
483 (ppc_elf_create_linker_section): Call it.
484 (ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs.
485 Create sdata syms for all SDA relocs.
486 (ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_
487 and _SDA2_BASE_.
488 (ppc_elf_set_sdata_syms): Delete.
489 * elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT
490 and DT_FINI tags unless associated section has input.
491 (bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete.
492 (_bfd_elf_provide_section_bound_symbols): Delete.
493 * bfd-in.h (_bfd_elf_provide_symbol): Delete.
494 (_bfd_elf_provide_section_bound_symbols): Delete.
495 * bfd-in2.h: Regenerate.
496
1e035701
AM
4972005-08-04 Alan Modra <amodra@bigpond.net.au>
498
499 * elflink.c (fix_syms, _bfd_elf_fix_excluded_sec_syms): Move to..
500 * linker.c (fix_syms, _bfd_fix_excluded_sec_syms): ..here.
501 * bfd-in.h (_bfd_fix_excluded_sec_syms): Rename.
502 * bfd-in2.h: Regenerate.
503
90b263f3
L
5042005-08-03 H.J. Lu <hongjiu.lu@intel.com>
505
506 * elfxx-ia64.c (elfNN_ia64_relax_section): Resize .rela.got
507 only if it isn't NULL.
508
b0360d8c
L
5092005-08-03 H.J. Lu <hongjiu.lu@intel.com>
510
511 * elf32-i386.c (elf_howto_table): Undo the overflow change for
512 R_386_PC16 made on 2005-07-18.
513
514 * elf64-x86-64.c (x86_64_elf_howto_table): Undo the overflow
515 change for R_X86_64_PC16 made on 2005-07-18.
516
636ce3f5
AM
5172005-08-03 Alan Modra <amodra@bigpond.net.au>
518
519 * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove hgot. Use
520 elf.hgot throughout file.
521
4d962050
AM
5222005-08-03 Alan Modra <amodra@bigpond.net.au>
523
524 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Correct value of
525 _GLOBAL_OFFSET_TABLE_ for > 32k GOT.
526
4a78a1f4
AS
5272005-08-02 Andreas Schwab <schwab@suse.de>
528
529 * elfxx-ia64.c (struct elfNN_ia64_allocate_data): Add only_got.
530 (elfNN_ia64_relax_section): Reallocate .rela.got when .got has
531 changed.
532 (allocate_dynrel_entries): Look only at GOT relocations when
533 only_got is true.
534 (elfNN_ia64_size_dynamic_sections): Set only_got to false before
535 calling allocate_dynrel_entries.
536
8e3de13a
NC
5372005-08-02 Nick Clifton <nickc@redhat.com>
538
539 PR 1147
540 * elf32-arm.c (struct _arm_elf_section_data): Turn into a typedef
541 and make the mapcount field unsigned.
542 (struct section_list): New: Used to keep track of which sections
543 have an _arm_elf_section_data structure.
544 (record_section_with_arm_elf_section_data): New function.
545 (get_arm_elf_section_data): New function.
546 (unrecord_section_with_arm_elf_section_data): New function.
547 (elf32_arm_output_symbol_hook): Use get_arm_elf_section_data.
548 (elf32_arm_new_section_hook): Call
549 record_section_with_arm_elf_section_data.
550 (elf32_arm_write_section): Use get_arm_elf_section_data and
551 unrecord_section_with_arm_elf_section_data.
552
c5211a54
RS
5532005-08-01 Richard Sandiford <richard@codesourcery.com>
554
555 * elfxx-mips.c (mips_mach_extends_p): Treat MIPS64 as an extension
556 of MIPS32 and MIPS64r2 as an extension of MIPS32r2.
557
1b9ee6a2
DD
5582005-07-30 David Daney <ddaney@avtrex.com>
559
560 * elflink.c (elf_gc_sweep): Set dynsymcount to correct value.
561
eedecc07
DD
5622005-07-29 David Daney <ddaney@avtrex.com>
563
564 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Ignore _gp_disp
565 if it is in the *ABS* section.
566
e9f89963
PB
5672005-07-29 Paul Brook <paul@codesourcery.com>
568
569 * reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
570 * bfd-in2.h: Regenerate.
571 * libbfd.h: Regenerate.
572
92e90b6e
PB
5732005-07-29 Paul Brook <paul@codesourcery.com>
574
575 * reloc.c (BFD_RELOC_ARM_T32_IMM12): Add.
576 * bfd-in2.h: Regeenrate.
577 * libbfd.h: Regenerate.
578
0facbdf5
NC
5792005-07-29 Pavel Kankovsky <peak@argo.troja.mff.cuni.cz>
580
581 * peXXigen.c (pe_print_edata): Compute the size of the export
582 table from the size field in the DataDictionary and not the size
583 of the section. Some linkers embed the export table inside a
584 larger section.
585
8a696751
AM
5862005-07-29 Alan Modra <amodra@bigpond.net.au>
587
588 * elf-bfd.h (struct elf_backend_data): Add action_discarded.
589 (enum action_discarded): Move from..
590 * elflink.c (enum action_discarded): ..here.
591 (_bfd_elf_default_action_discarded): Rename from elf_action_discarded.
592 Remove target specific section checks.
593 (elf_link_input_bfd): Adjust.
594 * elfxx-target.h (elf_backend_action_discarded): Define.
595 (elfNN_bed): Init new field.
596 * bfd-in.h (_bfd_elf_default_action_discarded): Declare.
597 * bfd-in2.h: Regenerate.
598 * elf-hppa.h (elf_hppa_action_discarded): New function.
599 * elf32-hppa.c (elf_backend_action_discarded): Define.
600 * elf64-hppa.c (elf_backend_action_discarded): Define.
601 * elf32-ppc.c (ppc_elf_action_discarded): New function.
602 (elf_backend_action_discarded): Define.
603
2f5028a7
AM
6042005-07-27 Alan Modra <amodra@bigpond.net.au>
605
606 * elflink.c (fix_syms): Handle symbols defined in input sections.
607
a33d77bc
JB
6082005-07-27 Jan Beulich <jbeulich@novell.com>
609
610 * elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New.
611 (elf64_x86_64_info_to_howto): Use them.
612
f41d945b
AM
6132005-07-27 Alan Modra <amodra@bigpond.net.au>
614
615 * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition
616 regardless of strength of previous definition.
617
87538722
AM
6182005-07-26 Alan Modra <amodra@bigpond.net.au>
619
620 * elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared.
621 (bfd_elf_gc_sections): Allow -gc-sections when -shared.
622 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Correct for -shared.
623
9e8cc8b4
AM
6242005-07-26 Alan Modra <amodra@bigpond.net.au>
625
626 * elflink.c (elf_gc_sweep): Move gcc_except_table code..
627 (bfd_elf_gc_sections): ..to here.
628
fd54057a
DD
6292005-07-25 DJ Delorie <dj@redhat.com>
630
631 * reloc.c: Remove unused M32C relocs, add BFD_RELOC_M32C_HI8.
632 * libbfd.h: Regenerate.
633 * bfd-in2.h: Regenerate.
634
635 * elf32-m32c.c (m32c_elf_howto_table): Add R_M32C_8, R_M32C_LO16,
636 R_M32C_HI8, R_M32C_HI16.
637 (m32c_reloc_map): Likewise.
638 (m32c_elf_relocate_section): Add R_M32C_HI8 and R_M32C_HI16.
639
3b22753a
L
6402005-07-25 Jan Hubicka <jh@suse.cz>
641 H.J. Lu <hongjiu.lu@intel.com>
642
643 * elf-bfd.h (_bfd_elf_large_com_section): New.
644 * elf.c (_bfd_elf_large_com_section): New. Defined.
645
646 * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New.
647 (elf64_x86_64_elf_section_from_bfd_section): New.
648 (elf64_x86_64_symbol_processing): New.
649 (elf64_x86_64_common_definition): New.
650 (elf64_x86_64_common_section_index): New.
651 (elf64_x86_64_common_section): New.
652 (elf64_x86_64_merge_symbol): New.
653 (elf64_x86_64_additional_program_headers): New.
654 (elf64_x86_64_special_sections): New.
655 (elf_backend_section_from_bfd_section): New. Defined.
656 (elf_backend_add_symbol_hook): Likewise.
657 (elf_backend_common_section_index): Likewise.
658 (elf_backend_common_section): Likewise.
659 (elf_backend_common_definition): Likewise.
660 (elf_backend_merge_symbol): Likewise.
661 (elf_backend_special_sections): Likewise.
662 (elf_backend_additional_program_headers): Likewise.
663
a4d8e49b
L
6642005-07-25 H.J. Lu <hongjiu.lu@intel.com>
665
666 * elf-bfd.h (elf_backend_data): Add common_definition,
667 common_section_index, common_section, and merge_symbol.
668 (_bfd_elf_common_definition): New.
669 (_bfd_elf_common_section_index): New.
670 (_bfd_elf_common_section): New.
671
672 * elf.c (elf_fake_sections): Don't clear sh_flags.
673
674 * elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol
675 if it is available.
676 (is_global_data_symbol_definition): Call backend
677 common_definition instead of checking SHN_COMMON.
678 (elf_link_add_object_symbols): Likewise.
679 (elf_link_output_extsym): Call backend common_section_index
680 for common section index.
681 (_bfd_elf_common_definition): New.
682 (_bfd_elf_common_section_index): New.
683 (_bfd_elf_common_section): New.
684
685 * elfxx-target.h (elf_backend_common_definition): New.
686 (elf_backend_common_section_index): New.
687 (elf_backend_common_section): New.
688 (elf_backend_merge_symbol): New.
689 (elfNN_bed): Initialize common_definition, common_section_index,
690 common_section, and merge_symbol.
691
692 * section.c (BFD_FAKE_SECTION): New.
693 (STD_SECTION): Use it.
694 * bfd-in2.h: Regenerated.
695
58ac56d0
L
6962005-07-23 Olaf Hering <olh@suse.de>
697
698 * elflink.c (elf_link_input_bfd): Add '\n' for linker einfo
699 callback.
700
9f971fcb
NC
7012005-07-21 Ralf Corsepius <ralf.corsepius@rtems.org>
702
703 * config.bfd: Remove i[3-7]86-*-rtemself*.
704 Remove sparc-*-rtemself*.
705
a9b7b174
NC
7062005-07-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
707
708 * elf32-m32r.c (m32r_elf_check_relocs): Fix pc count for
709 R_M32R_REL32.
710
240a3425
BE
7112005-07-21 Ben Elliston <bje@gnu.org>
712
713 * Makefile.am (BFD32_BACKENDS): Remove cf-m68klynx.lo.
714 (BFD32_BACKENDS): Likewise, remove m68klynx.lo.
715 (BFD32_BACKENDS_CFILES): Remove cf-m68klynx.c, m68klynx.c.
716 (cf-m68klynx.lo, m68klynx.lo): Remove targets.
717 * Makefile.in: Regenerate.
718 * cf-m68klynx.c: Remove.
719 * m68klynx.c: Likewise.
720 * configure.in (m68klynx_aout_vec): Remove vector.
721 (m68klynx_coff_vec): Likewise.
722 * configure: Regenerate.
723 * targets.c (m68klynx_aout_vec): Remove extern.
724 (m68klynx_coff_vec): Likewise.
725 (_bfd_target_vector): Remove m68klynx_{aout,coff}_vec.
726 * po/SRC-POTFILES.in: Remove cf-m68klynx.c, m68klynx.c.
727
157e7bd1
NC
7282005-07-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
729
730 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_REL32.
731 (m32r_reloc_map): Likewise.
732 (m32r_elf_relocate_section): Likewise.
733 (m32r_elf_gc_sweep_hook): Likewise.
734 (m32r_elf_check_relocs): Likewise.
735
85da3a56
NC
7362005-07-18 Nick Clifton <nickc@redhat.com>
737
738 * reloc.c: Add M32C and MS1 relocs.
739 * bfd-in2.h: Regenerate.
740 * libbfd.h: Regenerate.
741
7422005-07-18 Nick Clifton <nickc@redhat.com>
743
744 * config.bfd: Move m32c entry to correct location.
9e8cc8b4
AM
745 * archures.c: Likewise.
746 * configure.in: Likewise.
747 * configure: Regenerate.
748 * targets.c: Move ms1 vector to correct location.
85da3a56 749
ac2aa337
JB
7502005-07-18 Jan Beulich <jbeulich@novell.com>
751
752 * elf32-i386.c (elf_howto_table): Adjust overflow complaint handler
753 for R_386_PC16.
754 * elf64-x86-64.c (x86_64_elf_howto_table): Adjust overflow complaint
755 handler for R_X86_64_PC16, R_X86_64_8, and R_X86_64_DTPOFF.
756
9a20ed6e 7572005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
cc86ff91
EB
758
759 PR ld/1021
760 PR ld/1031
761 * elflink.c (elf_link_add_object_symbols): Also append the version
762 name to non-hidden absolute symbols that are functions.
763
42fa7765
AM
7642005-07-16 Alan Modra <amodra@bigpond.net.au>
765
766 * elf32-ppc.c (ppc_elf_set_sdata_syms): Return void. Remove hack
767 for zero size sections. Don't set .sbss syms here.
768 * elf32-ppc.h (ppc_elf_set_sdata_syms): Adjust prototype.
769
0f82ff91
AM
7702005-07-16 Alan Modra <amodra@bigpond.net.au>
771
772 * Makefile.am: Run "make dep-am".
773 * Makefile.in: Regenerate.
774
2db662be
BW
7752005-07-15 Bob Wilson <bob.wilson@acm.org>
776
777 * elf32-xtensa.c (vsprint_msg): Add prototype.
778 (build_encoding_error_message): Delete. Code moved into....
779 (elf_xtensa_do_reloc): ....here, and changed to give better
780 error messages for out of range literals.
781
eaae8ded
AM
7822005-07-15 Alan Modra <amodra@bigpond.net.au>
783
784 * elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
785 (_bfd_elf_provide_symbol): Allow redefinition of weak syms and those
786 defined in output sections. Call bfd_elf_record_link_assignment.
787 * bfd-in.h (bfd_elf_record_link_assignment): Update prototype.
788 * bfd-in2.h: Regenerate.
789
49f58d10
JB
7902005-07-14 Jim Blandy <jimb@redhat.com>
791
792 Add support for m32c-*-elf (Renesas m32c and m16c).
793 * Makefile.am (ALL_MACHINES): Add cpu-m32c.lo.
794 (ALL_MACHINES_CFILES): Add cpu-m32c.c.
795 (BFD32_BACKENDS): Add elf32-m32c.lo.
796 (BFD32_BACKENDS_CFILES): Add elf32-m32c.c.
797 (cpu-m32c.lo, elf32-m32c.lo): New rules, generated by 'make dep-am'.
798 * Makefile.in: Regenerated.
799 * archures.c (bfd_arch_m32c, bfd_mach_m16c, bfd_mach_m32c): New
800 arch and mach codes.
801 (bfd_m32c_arch): New arch info object.
802 (bfd_archures_list): List bfd_m32c_arch.
803 * bfd-in2.h: Regenerated.
804 * config.bfd: Add case for the m32c.
805 * configure.in: Add case for the m32c.
806 * configure: Regenerated.
807 * cpu-m32c.c, elf32-m32c.c: New files.
808 * libbfd.h: Regenerated.
809 * targets.c (bfd_elf32_m32c_vec): Declare.
810 (_bfd_target_vector): List bfd_elf32_m32c_vec.
811
a3c2b96a
AM
8122005-07-14 Alan Modra <amodra@bigpond.net.au>
813
814 * bfd-in.h (_bfd_elf_fix_excluded_sec_syms): Declare.
815 (_bfd_elf_provide_section_bound_symbols): Remove param name.
816 Formatting.
817 * bfd-in2.h: Regenerate.
818 * elflink.c (bfd_elf_gc_sections): Don't call generic function.
819 (_bfd_elf_provide_symbol): Formatting.
820 (_bfd_elf_provide_section_bound_symbols): Remove all hacks, just
821 create section relative syms.
822 (fix_syms, _bfd_elf_fix_excluded_sec_syms): New functions.
823 * elf32-ppc.c (ppc_elf_set_sdata_syms): Use
824 _bfd_elf_provide_section_bound_symbols.
825 * reloc.c (bfd_mark_used_section): Delete.
826 (bfd_generic_gc_sections): Don't call the above.
827
1787c340
NC
8282005-07-14 Paul Woegerer <paul.woegerer@nsc.com>
829
cb4aa473 830 PR 1063
1787c340
NC
831 * cache.c (bfd_last_cache): Initialise to NULL.
832
15ac1d4f
NC
8332005-07-14 Daniel Marques <marques@cs.cornell.edu>
834 Nick Clifton <nickc@redhat.com>
835
836 * coff-alpha.c (alpha_ecoff_bad_format_hook): Detect compressed
837 Alpha binaries and issue a helpful error message.
838 (alpha_ecoff_swap_reloc_out): Increase maximum allowed internal
839 symbol index to 15 to allow for binaries produced by DEC
a3c2b96a 840 compilers.
15ac1d4f 841
d4909375
SE
8422005-07-13 Steve Ellcey <sje@cup.hp.com>
843
844 * bfd.m4 (BFD_NEED_DECLARATION): Remove.
845
15b552e9
AM
8462005-07-12 Alan Modra <amodra@bigpond.net.au>
847
848 * elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub
849 when !can_plt_call.
850
70961b9d
AM
8512005-07-12 Alan Modra <amodra@bigpond.net.au>
852
853 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix.
854
632a56fd
AM
8552005-07-12 Alan Modra <amodra@bigpond.net.au>
856
857 * elf32-ppc.c (ppc_elf_set_sdata_syms): Correct __sbss_start value.
858
49ff44d6
L
8592005-07-11 H.J. Lu <hongjiu.lu@intel.com>
860
861 * elflink.c (_bfd_elf_symbol_refs_local_p): Revert the last
862 change.
863
0af4cd7c
PK
8642005-07-08 Paul Koning <pkoning@equallogic.com>
865
866 * dwarf2.c (read_address): Check sign_extend_vma to handle targets
867 where addresses are sign extended.
868
7e4e2059
NC
8692005-07-08 Ralf Corsepius <ralf.corsepius@rtems.org>
870
871 * config.bfd: Mark i960-*-rtems*, or32-*-rtems* as obsolete.
a3c2b96a 872 Mark a29k-*rtems*, hppa*-*-rtems*, *-go32-rtems*,
7e4e2059
NC
873 i[3-7]86*-*-rtemscoff*, mips*el-*-rtems*, powerpcle-*-rtems*,
874 sparc*-*-rtemsaout* as removed
875
c456f082
AM
8762005-07-08 Alan Modra <amodra@bigpond.net.au>
877
878 * elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none
879 of the usual sections are found.
880 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy.
881 Strip .dynbss if it is zero size.
882 * elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise.
883 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
884 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
885 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and
886 .dynsbss.
887 (i370_elf_finish_dynamic_sections): Don't attempt to write .got
888 when it is zero size.
889 * elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling
890 of .dynbss and zero size sections.
891 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if
892 it is zero size.
893 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy. Strip
894 .dynbss if zero size.
895 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss
896 too.
897 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
898 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
899 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
900 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy. Strip
901 .plt.* and .got.plt.* if zero size.
902 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy. Strip
903 .got* and .dynbss if zero size.
904 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy. Strip
905 * elf64-ppc.c (create_linkage_sections): Create branch lookup table
906 in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated
907 reloc section.
908 (create_got_section): Always create new .got and .rela.got sections.
909 (ppc64_elf_size_dynamic_sections): Tidy. Strip .dynbss if zero size.
910 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
911 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
912 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle
913 dynamic bss sections correctly.
914 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy.
915 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy. Strip
916 .dynbss if zero size.
917
6c98dd1e
BE
9182005-07-08 Ben Elliston <bje@au.ibm.com>
919
920 * elf32-xtensa.c: Include <stdarg.h> unconditionally, not only
921 when ANSI_PROTOTYPES is defined. Remove #ifdef logic.
922
29ef7005
L
9232005-07-07 H.J. Lu <hongjiu.lu@intel.com>
924
925 * elf-bfd.h (elf_backend_data): Add special_sections.
926
927 * elf.c (_bfd_elf_get_sec_type_attr): Check special_sections
928 first.
929
930 * elf32-arm.c (elf_backend_get_sec_type_attr): Removed.
931 (elf_backend_special_sections): New. Defined.
932 * elf32-m32r.c: Likewise.
933 * elf32-m68hc11.c: Likewise.
934 * elf32-m68hc12.c: Likewise.
935 * elf32-mcore.c: Likewise.
936 * elf32-sh64.c: Likewise.
937 * elf32-v850.c: Likewise.
938 * elf32-xtensa.c: Likewise.
939 * elf64-alpha.c: Likewise.
940 * elf64-hppa.c: Likewise.
941 * elf64-ppc.c: Likewise.
942 * elf64-sh64.c: Likewise.
943 * elfxx-ia64.c: Likewise.
944 * elfxx-mips.c: Likewise.
945 * elfxx-mips.h: Likewise.
946
947 * elfxx-target.h (elf_backend_special_sections): New.
948 (elfNN_bed): Initialize special_sections.
949
074f5109
BW
9502005-07-07 Bob Wilson <bob.wilson@acm.org>
951
952 * xtensa-modules.c: Update tables with Xtensa MMU features.
953
0fd3a477
JW
9542005-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
955
956 * elf32-xtensa.c (vsprint_msg): Add format attribute. Fix
957 format bugs.
958 * vms.h (_bfd_vms_debug): Add format attribute.
959 (_bfd_vms_debug, _bfd_hexdump): Fix typos.
960
9968d831
L
9612005-07-07 H.J. Lu <hongjiu.lu@intel.com>
962
963 PR 975
964 * elflink.c (_bfd_elf_symbol_refs_local_p): Only undefined
965 symbol with default visibility is local.
966
3b1fcf96
BE
9672005-07-07 Ben Elliston <bje@gnu.org>
968
969 * config.bfd: Mark m68*-*-rtemscoff as obsolete.
970
5cf2e3f0
L
9712005-07-06 H.J. Lu <hongjiu.lu@intel.com>
972
973 * dwarf2.c (varinfo): Add addr.
974 (lookup_symbol_in_variable_table): Also check addr.
975 (scan_unit_for_symbols): Set addr for variable.
976 (comp_unit_find_line): Updated.
977
0adc9281
NC
9782005-07-06 Nick Clifton <nickc@redhat.com>
979
980 * coff-alpha.c (alpha_adjust_reloc_in): Issue an informative error
981 message if an unknown reloc is encountered.
982 (alpha_relocate_section): Likewise.
983
984 * ecoff.c (_bfd_ecoff_write_object_contents): Cope with a reloc
985 with a missing howto field.
986
cfbe541f
AM
9872005-07-06 Alan Modra <amodra@bigpond.net.au>
988
989 * po/SRC-POTFILES.in: Add cpu-ms1.c, elf32-ms1.c, elf-vxworks.c,
990 elfxx-sparc.c.
991
d5e3d971
PB
9922005-07-05 Paul Brook <paul@codesourcery.com>
993
994 * elf32-ppc.c (ppc_elf_vxworks_special_sections): Remove.
995 (ppc_elf_vxworks_get_sec_type_attr): New function.
996 (elf_backend_special_sections): Remove vxwords definition.
997 (elf_backend_get_sec_type_attr): Define for vxworks.
998
3ec2b351
NC
9992005-07-05 Nick Clifton <nickc@redhat.com>
1000
1001 * elf64-ppc.c (ppc64_elf_info_to_howto): Fix typo.
1002
d5e3d971 10032005-07-05 Paul Brook <paul@codesourcery.com>
9d8504b1
PB
1004
1005 * config.bfd: Add separate case for ppc-vxworks.
1006 * configure: Regenerate.
1007 * configure.in: Include elf-vxworks.lo on ppc targets.
1008 * elf-vxworks.c (elf_vxworks_final_write_processing): Handle
1009 .rela.plt.unloaded.
1010 * elf32-ppc.c: Add VxWorks target vec. Include elf-vxworks.h.
1011 (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove.
1012 (VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry,
1013 ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE,
1014 ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry,
1015 VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS,
1016 VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New.
1017 (ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt,
1018 is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size.
1019 (ppc_elf_link_hash_table_create): Initialize hadtab plt fields.
1020 (ppc_elf_create_got): Create .got.plt for VxWorks.
1021 (ppc_elf_create_dynamic_sections): Create unloaded plt relocation
1022 section for VxWorks.
1023 (ppc_elf_select_plt_layout): Handle VxWorks plt format.
1024 (allocate_got): VxWorks does not need a got header.
1025 (allocate_dynrelocs): Handle VxWorks plt format.
1026 (ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for
1027 VxWorks. Handle VxWorks plt/got.
1028 (ppc_elf_finish_dynamic_sections): Fill in VxWorks plt.
1029 (ppc_elf_vxworks_special_sections): New.
1030 (ppc_elf_vxworks_link_hash_table_create,
1031 ppc_elf_vxworks_add_symbol_hook,
1032 elf_i386_vxworks_link_output_symbol_hook,
1033 ppc_elf_vxworks_final_write_processing): New functions.
1034 * targets.c (bfd_elf32_powerpc_vxworks_vec): Declare.
1035 (_bfd_target_vector): Use it.
1036
c6c60d09
JJ
10372005-07-05 Jakub Jelinek <jakub@redhat.com>
1038
9e492e05
JJ
1039 * libbfd-in.h (struct artdata): Add extended_names_size field.
1040 * libbfd.h: Rebuilt.
1041 * coff-rs600.c (_bfd_xcoff_archive_p): Don't clear fields in freshly
1042 allocated object by bfd_zalloc.
1043 * coff64-rs6000.c (xcoff64_archive_p): Likewise.
1044 * ecoff.c (_bfd_ecoff_archive_p): Likewise.
1045 * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p): Likewise.
1046 (get_extended_arelt_filename): Fail if index is bigger or equal to
1047 extended_names_size.
1048 (_bfd_generic_read_ar_hdr_mag): Don't set bfd_error_malformed_archive,
1049 get_extended_arelt_filename already did that.
1050 (_bfd_slurp_extended_name_table): Initialize extended_names_size field.
1051 Allocate one extra byte and clear it, in case extended names table
1052 is not terminated.
1053
d0fb9a8d
JJ
1054 * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2, bfd_alloc2,
1055 bfd_zalloc2): New prototypes.
1056 * bfd-in.h (HALF_BFD_SIZE_TYPE): Define.
1057 * libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): New functions.
1058 * opncls.c (bfd_alloc2, bfd_zalloc2): New functions.
1059 * elf.c (bfd_elf_get_elf_syms, setup_group, assign_section_numbers,
1060 elf_map_symbols, map_sections_to_segments,
1061 assign_file_positions_for_segments, copy_private_bfd_data,
1062 swap_out_syms, _bfd_elf_slurp_version_tables): Use bfd_*alloc2
1063 where appropriate.
1064 * bfd-in2.h: Rebuilt.
1065 * libbfd.h: Rebuilt.
1066
1067 * elf.c (_bfd_elf_print_private_bfd_data): Don't crash on bogus
1068 verdef or verneed section.
1069 (_bfd_elf_slurp_version_tables): Handle corrupt verdef and/or
1070 verneed sections gracefully.
1071 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto_ptr): Don't crash on
1072 bogus relocation values.
1073 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
1074 * elf64-s390.c (elf_s390_info_to_howto): Likewise.
1075 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
1076 * elf64-x86-64.c (elf64_x86_64_info_to_howto): Likewise.
1077 * elfxx-ia64.c (lookup_howto): Likewise.
1078
c6c60d09
JJ
1079 * elf.c (bfd_elf_get_str_section): Allocate an extra byte after
1080 the end of strtab and clear it.
1081 (elf_read): Remove.
1082
dcd4b381
NC
10832005-07-05 Nick Clifton <nickc@redhat.com>
1084
1085 * po/vi.po: New Vietnamese translation.
1086 * configure.in (ALL_LINGUAS): Add vi.
1087 * configure: Regenerate.
1088
8532796c
NC
10892005-07-05 Peter S. Mazinger <ps.m@gmx.net>
1090
1091 * elf32-arm.c (elf32_arm_size_dynamic_sections): Fix a typo and
1092 touchup logic like i386/ppc.
1093
b35d266b
AM
10942005-07-05 Alan Modra <amodra@bigpond.net.au>
1095
1096 * elf.c (special_sections): Move const qualifier.
1097 (special_sections_b..special_sections_t): Likewise.
1098 * elf32-arm.c (elf32_arm_symbian_get_sec_type_attr): Remove duplicate
1099 const.
1100 (elf32_arm_symbian_special_sections): Move const qualifier.
1101 * elf32-m32r.c: Similarly.
1102 * elf32-m68hc11.c: Similarly.
1103 * elf32-m68hc12.c: Similarly.
1104 * elf32-mcore.c: Similarly.
1105 * elf32-ppc.c: Similarly.
1106 * elf32-sh64.c: Similarly.
1107 * elf32-v850.c: Similarly.
1108 * elf32-xtensa.c: Similarly.
1109 * elf64-alpha.c: Similarly.
1110 * elf64-hppa.c: Similarly.
1111 * elf64-ppc.c: Similarly.
1112 * elf64-sh64.c: Similarly.
1113 * elfxx-ia64.c: Similarly.
1114 * elfxx-mips.c: Similarly.
1115
80447b21
NC
11162005-07-04 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1117
1118 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Use
1119 info->executable instead of !info->shared where appropriate.
1120
540b09cb
AM
11212005-07-04 Alan Modra <amodra@bigpond.net.au>
1122
1123 PR 1042
1124 * elf.c (assign_file_positions_for_segments): Remove excluded
1125 sections from the segment map.
1126
551b43fd
AM
11272005-07-04 Alan Modra <amodra@bigpond.net.au>
1128
1129 PR 1004
1130 * elf-bfd.h (struct elf_backend_data): Add get_sec_type_attr. Delete
1131 special_sections.
1132 (_bfd_elf_get_special_section): Declare.
1133 (bfd_elf_special_section): Update prototype.
1134 * elf.c (special_sections): Remove unused outer entries.
1135 (get_special_section): Delete.
1136 (_bfd_elf_get_special_section): New function.
1137 (_bfd_elf_get_sec_type_attr): Replace "name" arg with "sec". Update
1138 special_sections indexing.
1139 (_bfd_elf_new_section_hook): Call backend get_sec_type_attr.
1140 * elf32-arm.c (symbian_special_sections_d): Delete.
1141 (symbian_special_sections_g, symbian_special_sections_h): Delete.
1142 (symbian_special_sections_i, symbian_special_sections_f): Delete.
1143 (symbian_special_sections_p): Delete.
1144 (elf32_arm_symbian_special_sections): Merge above to here.
1145 (elf32_arm_symbian_get_sec_type_attr): New function.
1146 (elf_backend_special_sections): Don't define.
1147 (elf_backend_get_sec_type_attr): Define.
1148 * elf32-m32r.c: Similarly to elf32-arm.c.
1149 * elf32-m68hc11.c: Likewise.
1150 * elf32-m68hc12.c: Likewise.
1151 * elf32-mcore.c: Likewise.
1152 * elf32-sh64.c: Likewise.
1153 * elf32-v850.c: Likewise.
1154 * elf32-xtensa.c: Likewise.
1155 * elf64-alpha.c: Likewise.
1156 * elf64-hppa.c: Likewise.
1157 * elf64-ppc.c: Likewise.
1158 * elf64-sh64.c: Likewise.
1159 * elfxx-ia64.c: Likewise.
1160 * elfxx-mips.c: Likewise.
1161 * elf32-ppc.c: Likewise.
1162 (bfd_elf_special_section ppc_alt_plt): New. Use it if .plt loadable.
1163 * elfxx-mips.h (_bfd_mips_elf_get_sec_type_attr): Declare.
1164 (_bfd_mips_elf_special_sections, elf_backend_special_sections): Delete.
1165 (elf_backend_get_sec_type_attr): Define.
1166 * elfxx-target.h (elf_backend_get_sec_type_attr): Define.
1167 (elf_backend_special_sections): Don't define.
1168 (elfNN_bed): Update.
1169
47b0e7ad
NC
11702005-07-01 Nick Clifton <nickc@redhat.com>
1171
1172 * cpu-d10v.c: Update to ISO C90 style function declarations and
1173 fix formatting.
1174 * cpu-d30v.c: Likewsie.
1175 * cpu-i370.c: Likewsie.
1176 * cpu-xstormy16.c: Likewsie.
1177 * elf32-arc.c: Likewsie.
1178 * elf32-d10v.c: Likewsie.
1179 * elf32-d30v.c: Likewsie.
1180 * elf32-dlx.c: Likewsie.
1181 * elf32-i370.c: Likewsie.
1182 * elf32-i960.c: Likewsie.
1183 * elf32-ip2k.c: Likewsie.
1184 * elf32-m32r.c: Likewsie.
1185 * elf32-mcore.c: Likewsie.
1186 * elf32-openrisc.c: Likewsie.
1187 * elf32-or32.c: Likewsie.
1188 * elf32-pj.c: Likewsie.
1189 * elf32-v850.c: Likewsie.
1190 * elf32-xstormy16.c: Likewsie.
1191
85d162e6
AM
11922005-07-01 Alan Modra <amodra@bigpond.net.au>
1193
1194 * elf64-alpha.c (elf64_alpha_create_got_section): Always create
1195 a new .got section.
1196 (elf64_alpha_create_dynamic_sections): Always make new sections
1197 by using bfd_make_section_anyway_with_flags. Check that .got not
1198 already created.
1199 (elf64_alpha_check_relocs): Delete "got_created". Use tdata->gotobj
1200 instead.
1201
b116d4a7
AM
12022005-06-30 Alan Modra <amodra@bigpond.net.au>
1203
1204 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Ignore dynamic
1205 _SDA_BASE_ and _SDA2_BASE_ symbols.
1206 * elflink.c (_bfd_elf_provide_symbol): Correct comment. Define
1207 sym if not def_regular.
1208 (_bfd_elf_provide_section_bound_symbols): Similarly.
1209
7f41b278
BE
12102005-06-30 Ben Elliston <bje@gnu.org>
1211
1212 * config.bfd: Mark as obsolete:
1213 m68*-apollo-*
1214 m68*-apple-aux*
1215 m68*-bull-sysv*
1216
39c2f51b
AM
12172005-06-29 Alan Modra <amodra@bigpond.net.au>
1218
1219 * elflink.c (_bfd_elf_gc_mark): Mark sections referenced by
1220 .eh_frame specially..
1221 (bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame.
1222 Don't recheck sections we have already marked.
1223 (elf_gc_sweep): Keep non-code sections referenced from .eh_frame.
1224 * section.c (struct bfd_section): Add gc_mark_from_eh.
1225 (STD_SECTION): Adjust.
1226 * ecoff.c (bfd_debug_section): Adjust.
1227 * bfd-in2.h: Regenerate.
1228
e8aaee2a
AM
12292005-06-29 Alan Modra <amodra@bigpond.net.au>
1230
1231 * elflink.c (elf_gc_sweep): Do not refcount on sections that have
1232 not been processed by check_relocs.
1233
3b2175db
PB
12342005-06-29 Paul Brook <paul@codesourcery.com>
1235
1236 * bfd-in.h (_bfd_elf_provide_symbol): Update prototype.
1237 * bfd-in2.h: Regenerate.
1238 * elf32-ppc.c (ppc_elf_set_sdata_syms): Make sdata symbols section
1239 relative.
1240 * elflink.c (bfd_elf_set_symbol): Add section argument.
1241 (_bfd_elf_provide_symbol): Ditto.
1242 (_bfd_elf_provide_section_bound_symbols): Pass NULL section argument.
1243
a63e02c7
DA
12442005-06-27 Carlos O'Donell <carlos@systemhalted.org>
1245
c456f082 1246 * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
a63e02c7
DA
1247 Use bh_root, and hh.
1248 (struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache.
1249 (struct elf32_hppa_dyn_reloc_entry): Use hdh_next.
1250 (struct elf32_hppa_link_hash_table): Use etab and bstab.
1251 (stub_hash_newfunc): Use hh.
1252 (hppa_link_hash_newfunc): Use hsh_cache.
1253 (elf32_hppa_link_hash_table_create): Use etab, and bstab.
1254 (elf32_hppa_link_hash_table_free): Use bstab.
1255 (hppa_stub_name): Use eh.
1256 (hppa_get_stub_entry): Use hh, hsh_entry, and hsh_cache.
1257 (hppa_add_stub): Use bstab.
1258 (hppa_type_of_stub): Use eh.
1259 (hppa_build_one_stub): Use hh and bh_root.
1260 (elf32_hppa_copy_indirect_symbol): Use hdh_next.
1261 (elf32_hppa_check_relocs): Use eh, etab, and hdh_next.
1262 (elf32_hppa_gc_sweep_hook): Use hdh_next.
1263 (elf32_hppa_adjust_dynamic_symbol): Use hdh_next, and etab.
1264 (allocate_plt_static): Use etab.
1265 (allocate_dynrelocs): Use etab, and hdh_next.
1266 (readonly_dynrelocs): Use hdh_next.
1267 (elf32_hppa_size_dynamic_sections): Use etab, and hdh_next.
1268 (get_local_syms): Use eh, bstab, and hh.
1269 (elf32_hppa_size_stubs): Use eh, bstab, and hh.
1270 (elf32_hppa_set_gp): Use etab.
1271 (elf32_hppa_build_stubs): Use bstab.
1272 (final_link_relocate): Use eh, bh_root.
1273 (elf32_hppa_relocate_section): Use elf, etab.
1274 (elf32_hppa_finish_dynamic_sections): Use etab.
1275
5f1cb353
L
12762005-06-27 H.J. Lu <hongjiu.lu@intel.com>
1277
1278 * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): Remove
1279 the extra `;'.
1280
875c0872
DA
12812005-06-21 Carlos O'Donell <carlos@systemhalted.org>
1282
1283 * bfd/elf32-hppa.c (hppa_elf_hash_entry): Define.
1284 (hppa_stub_hash_entry): Define.
1285 (stub_hash_newfunc): Rename variables.
1286 (hppa_link_hash_newfunc): Likewise.
1287 (elf32_hppa_link_hash_table_free): Likewise.
1288 (hppa_stub_name): Likewise.
1289 (hppa_get_stub_entry): Likewise.
1290 (hppa_add_stub): Likewise.
1291 (hppa_type_of_stub): Likewise.
1292 (hppa_build_one_stub): Likewise.
1293 (hppa_size_one_stub): Likewise.
1294 (elf32_hppa_create_dynamic_sections): Likewise.
1295 (elf32_hppa_copy_indirect_symbol): Likewise.
1296 (elf32_hppa_check_relocs): Likewise.
1297 (elf32_hppa_gc_mark_hook): Likewise.
1298 (elf32_hppa_gc_sweep_hook): Likewise.
1299 (elf32_hppa_grok_psinfo): Likewise.
1300 (elf32_hppa_hide_symbol): Likewise.
1301 (elf32_hppa_adjust_dynamic_symbol): Likewise.
1302 (allocate_dynrelocs): Likewise.
1303 (clobber_millicode_symbols): Likewise.
1304 (readonly_dynrelocs): Likewise.
1305 (elf32_hppa_size_dynamic_sections): Likewise.
1306 (get_local_syms): Likewise.
1307 (elf32_hppa_size_stubs): Likewise.
1308 (hppa_record_segment_addr): Likewise.
1309 (final_link_relocate): Likewise.
1310 (elf32_hppa_relocate_section): Likewise.
1311 (elf32_hppa_finish_dynamic_symbol): Likewise.
1312
973a3492
L
13132005-06-20 H.J. Lu <hongjiu.lu@intel.com>
1314
1315 PR 1025
1316 * elf-m10300.c (mn10300_elf_check_relocs): Handle indirect
1317 symbol.
1318 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1319 * elf32-avr.c (elf32_avr_check_relocs): Likewise.
1320 * elf32-cris.c (cris_elf_check_relocs): Likewise.
1321 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1322 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1323 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1324 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1325 * elf32-i370.c (i370_elf_check_relocs): Likewise.
1326 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1327 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1328 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1329 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1330 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1331 * elf32-ms1.c (ms1_elf_check_relocs): Likewise.
1332 * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
1333 * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
1334 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1335 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1336 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1337 * elf32-v850.c (v850_elf_check_relocs): Likewise.
1338 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1339 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1340 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1341 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1342 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
1343 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1344 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1345
71cb9464
L
13462005-06-20 H.J. Lu <hongjiu.lu@intel.com>
1347
f7c5057a
L
1348 PR 1022
1349 * elf32-hppa.c (elf32_hppa_check_relocs): Handle indirect
1350 symbol.
1351
13522005-06-20 H.J. Lu <hongjiu.lu@intel.com>
1353
1354 PR 1025
71cb9464
L
1355 * elf32-i386.c (elf_i386_check_relocs): Handle indirect symbol.
1356 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
1357
73d147dc
L
13582005-06-18 H.J. Lu <hongjiu.lu@intel.com>
1359
1360 * reloc.c: Add BFD_RELOC_X86_64_GOTOFF64 and
1361 BFD_RELOC_X86_64_GOTPC32.
1362 * bfd-in2.h: Regenerated.
1363
a50b2160
JJ
13642005-06-17 Jakub Jelinek <jakub@redhat.com>
1365
aa2ca951
JJ
1366 * elf.c (bfd_section_from_shdr): Kill bogus warning.
1367
a50b2160
JJ
1368 * elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for
1369 symbol, relocation, group or versym sections.
1370
1371 * coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs
1372 is NULL.
1373 * peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address
1374 doesn't point into the section.
1375
d6ab8113
JB
13762005-06-17 Jan Beulich <jbeulich@novell.com>
1377
1378 * bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64
1379 and BFD_RELOC_X86_64_GOTPC32.
1380 * libbfd.h (bfd_reloc_code_real_names): Likewise.
1381 * elf64-x86-64.c (x86_64_elf_howto_table): Add entries for
1382 R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
1383 (x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64,
1384 and R_X86_64_GOTPC32.
1385 (elf64_x86_64_info_to_howto): Adjust bounding relocation type.
1386 (elf64_x86_64_check_relocs): Also handle R_X86_64_PC64,
1387 R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
1388 (elf64_x86_64_relocate_section): Likewise.
1389 (elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64.
1390
b820f1e4
MK
13912005-06-15 Mark Kettenis <kettenis@gnu.org>
1392
1393 * archive.c: Include "libiberty.h".
1394
46767561
NC
13952005-06-15 Nick Clifton <nickc@redhat.com>
1396
1397 * elf32-v850.c (ELF_MACHINE_ALT2): Define so that binaries
1398 produced by the GreenHills toolchain can be assimilated.
1399
580a09db
DA
14002005-06-14 Steve Ellcey <sje@cup.hp.com>
1401
1402 * som.c (som_find_inliner_info): New.
1403
91134c82
L
14042005-06-14 H.J. Lu <hongjiu.lu@intel.com>
1405
1406 * elflink.c (_bfd_elf_merge_symbol): Fix a typo in comment.
1407
933d961a
JJ
14082005-06-14 Jakub Jelinek <jakub@redhat.com>
1409
1410 * elf.c (bfd_section_from_shdr): Fail if name is NULL.
1411 Prevent endless recursion on broken objects.
1412
1413 * archive.c (do_slurp_coff_armap): Check for overflows.
1414
9a44bbd9
DJ
14152005-06-10 Daniel Jacobowitz <dan@codesourcery.com>
1416
1417 * elfcode.h (elf_write_relocs): Do nothing if there are no
1418 relocations.
1419
75758e9d
AM
14202005-06-10 Alan Modra <amodra@bigpond.net.au>
1421
1422 * dwarf2.c (decode_line_info): Revert last change. Instead set
1423 initial low_pc to -1 to avoid need to test whether loc_pc has
1424 been set.
1425
2ae0844c
CF
14262005-06-09 Christopher Faylor <cgf@timesys.com>
1427
1428 * coffcode.h (sec_to_styp_flags): Set appropriate section flags when
1429 either SEC_ALLOC OR SEC_LOAD.
1430
3b137b9a
CF
14312005-06-09 Christopher Faylor <cgf@timesys.com>
1432
1433 * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload
1434 section header. Do not add STYP_NOLOAD since it does not appear to be
1435 a valid PE flag.
1436
6bd00c5d
L
14372005-06-09 H.J. Lu <hongjiu.lu@intel.com>
1438
1439 PR 1000
1440 * dwarf2.c (lookup_address_in_line_info_table): Restore code
1441 handling NULL function info, removed with 2005-04-03 change.
1442
a366f4ff
MM
14432005-06-08 Mark Mitchell <mark@codesourcery.com>
1444
1445 * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1.
1446
0e58fcf3
AM
14472005-06-09 Alan Modra <amodra@bigpond.net.au>
1448
1449 * elflink.c (elf_mark_used_section): Delete.
1450 (bfd_elf_gc_sections): Call bfd_generic_gc_sections.
1451 * reloc.c (bfd_mark_used_section): New function.
1452 (bfd_generic_gc_sections): Call bfd_mark_used_section.
1453
92a7c1b8
AM
14542005-06-08 Alan Modra <amodra@bigpond.net.au>
1455
1456 * opncls.c (bfd_fopen): Don't set bfd_error unconditionally.
d83747fa 1457 (bfd_fdopenr): Same.
92a7c1b8 1458
dfab97d6
MM
14592005-06-07 Mark Mitchell <mark@codesourcery.com>
1460
1461 * opncls.c (bfd_fdopenr): Add missing break statements.
1462
2d0123b7
MM
14632005-06-07 Mark Mitchell <mark@codesourcery.com>
1464
1465 * opncls.c (bfd_fopen): New API.
1466 (bfd_openr): Use it.
1467 (bfd_fdopenr): Likewise.
1468 * bfd-in2.h: Regenerated.
1469
de33e640
AH
14702005-06-07 Aldy Hernandez <aldyh@redhat.com>
1471 Michael Snyder <msnyder@redhat.com>
1472 Stan Cox <scox@redhat.com>
1473
1474 * Makefile.am (ALL_MACHINES): Add ms1 support.
1475 (ALL_MACHINES_CFILES): Same.
1476 (BFD32_BACKENDS): Same.
1477 (BFD32_BACKENDS_CFILES): Same.
1478
1479 * Makefile.in: Regenerate.
1480
1481 * archures.c (bfd_architecture): Add ms1 entries.
1482 Externalize bfd_ms1_arch.
1483 (bfd_archures_list): Add bfd_ms1_arch.
1484
1485 * bfd-in2.h: Regenerate.
1486
1487 * cpu-ms1.c: New file.
1488
1489 * elf32-ms1.c: New file.
1490
1491 * targets.c: Define extern of bfd_elf32_ms1_vec.
1492 Add bfd_elf32_ms1_vec to _bfd_target_vector.
1493
1494 * configure.in: Add bfd_elf32_ms1_vec case.
1495
1496 * configure: Regenerate.
1497
1498 * config.bfd: Add ms1-*-elf to table.
1499
55cf6793
ZW
15002005-06-07 Zack Weinberg <zack@codesourcery.com>
1501
1502 * coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment.
1503
4575b1b5
AM
15042005-06-07 Alan Modra <amodra@bigpond.net.au>
1505
1506 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line.
1507 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
1508
5420f73d
L
15092005-06-06 H.J. Lu <hongjiu.lu@intel.com>
1510
1511 PR 990
1512 * bfd.c (bfd_find_line): New.
1513
1514 * dwarf2.c (comp_unit): Add variable_table.
1515 (funcinfo): Add file, line, and sec.
1516 (varinfo): New.
1517 (lookup_symbol_in_function_table): New.
1518 (lookup_symbol_in_variable_table): New.
1519 (scan_unit_for_functions): Renamed to ...
1520 (scan_unit_for_symbols): This. Handle DW_TAG_entry_point and
1521 DW_TAG_variable.
1522 (comp_unit_find_nearest_line): Updated.
1523 (comp_unit_find_line): New.
1524 (_bfd_dwarf2_find_line): New.
1525
1526 * elf-bfd.h (_bfd_elf_find_line): New.
1527 (_bfd_generic_find_line): New. Defined.
1528
1529 * elf.c (_bfd_elf_find_line): New.
1530
1531 * libbfd-in.h (_bfd_dwarf2_find_line): New.
1532 (_bfd_generic_find_line): New.
1533
1534 * bfd-in2.h: Regenerated.
1535 * libbfd.h: Likewise.
1536
1537 * libbfd.c (_bfd_generic_find_line): New.
1538
1539 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line
1540 with _bfd_generic_find_line.
1541 (bfd_target): Add _bfd_find_line.
1542
b42f9a05
L
15432005-06-06 H.J. Lu <hongjiu.lu@intel.com>
1544
1545 * dwarf2.c (decode_line_info): Properly set low_pc.
1546
b4f4e59f
AM
15472005-06-06 Alan Modra <amodra@bigpond.net.au>
1548
1549 * elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd
1550 case, include addend when indexing .opd section map.
1551 (ppc64_elf_edit_opd): Add no_opd_opt param. Do nothing besides
1552 clear opd_adjust array if no_opd_opt set. Tidy code.
46de2a7c
AM
1553 Ignore zero size .opd. Check bfd_alloc return value.
1554 (ppc_stub_name): Return immediately on bfd_malloc fail.
b4f4e59f
AM
1555 * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
1556
2ae727ad
L
15572005-06-04 H.J. Lu <hongjiu.lu@intel.com>
1558
1559 * dwarf2.c (comp_unit): Fix a typo in comment.
1560
ce71b576
NC
15612005-06-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
1562
1563 * elf32-vax.c (rtype_to_howto): Remove PARAMS.
1564 (reloc_type_lookup): Dito.
1565 (elf_vax_discard_copies): Dito.
1566 (elf_vax_instantiate_got_entries): Dito.
1567 (elf_vax_link_hash_traverse): Dito.
1568 (elf_vax_link_hash_newfunc): Dito.
1569 (elf_vax_link_hash_table_create): Dito.
1570 (elf32_vax_set_private_flags): Dito.
1571 (elf32_vax_merge_private_bfd_data): Dito.
1572 (elf32_vax_print_private_bfd_data): Dito.
1573 (elf_vax_check_relocs): Dito.
1574 (elf_vax_gc_mark_hook): Dito.
1575 (elf_vax_gc_sweep_hook): Dito.
1576 (elf_vax_size_dynamic_sections): Dito.
1577 (elf_vax_discard_copies): Dito.
1578 (elf_vax_instantiate_got_entries): Dito.
1579 (elf_vax_relocate_section): Dito.
1580 (elf_vax_finish_dynamic_symbol): Dito.
1581 (elf_vax_finish_dynamic_sections): Dito.
1582 (elf_vax_hash_table): Break-up of line isn't needed.
1583 (elf_vax_check_relocs): Remove leading whitespace
1584 (elf_vax_relocate_section): Remove redundant whitespace
1585 (elf_vax_link_hash_newfunc): Don't cast NULL.
1586 (elf_vax_link_hash_table_create): Dito.
1587 * cpu-vax.c (bfd_vax_arch) Remove a trailing space.
1588
9635fe29
AM
15892005-06-03 Alan Modra <amodra@bigpond.net.au>
1590
e1fffbe6
AM
1591 PR 568
1592 * configure.in: Bump version
1593 * configure: Regenerate.
1594 * elflink.c (elf_link_input_bfd): Use einfo linker callback to print
1595 discarded section sym refs and kill linker output.
1596 * simple.c (simple_dummy_einfo): New function.
1597 (bfd_simple_get_relocated_section_contents): Init callbacks.einfo.
1598
9635fe29
AM
1599 * elf32-i386.c (elf_i386_relocate_section): Handle zero symndx
1600 for all reloc types.
1601
e87d886e
AM
16022005-06-02 Alan Modra <amodra@bigpond.net.au>
1603
1604 * elf64-ppc.c (add_symbol_adjust): Set sym visibility to most
1605 restrictive of func code and func descr for undefined syms as well
1606 as defined.
1607
b2b09913
JB
16082005-05-31 Jim Blandy <jimb@redhat.com>
1609
1610 * Makefile.am: Regenerate dependencies with 'make dep-am'.
1611 * Makefile.in: Regenerate.
1612
8288a39e
RH
16132005-05-31 Richard Henderson <rth@redhat.com>
1614
1615 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_JSRDIRECT): New.
1616 (ALPHA_ELF_LINK_HASH_TLS_IE): Renumber to 0x80.
1617 (ALPHA_ELF_LINK_HASH_LU_PLT): Rename from ALPHA_ELF_LINK_HASH_LU_FUNC.
1618 (elf64_alpha_want_plt): Update to match.
1619 (elf64_alpha_check_relocs): Collect JSRDIRECT in gotent_flags.
1620 (elf64_alpha_relax_with_lituse): Likewise. Handle JSRDIRECT.
1621
f1c71a59
ZW
16222005-05-31 Zack Weinberg <zack@codesourcery.com>
1623
1624 * elf32-arm.c (elf32_arm_reloc_type_lookup)
1625 (elf32_arm_nabi_grok_prstatus, elf32_arm_nabi_grok_psinfo):
1626 Use ISO C90 function declaration style.
1627
653bb2de
JW
16282005-05-31 James E Wilson <wilson@specifixinc.com>
1629
1630 * elfcode.h (NAME(bfd_elf,bfd_from_remote_memory)): Check for program
1631 header PF_R flag on PT_LOAD segments.
1632
f915360b
RH
16332005-05-30 Richard Henderson <rth@redhat.com>
1634
1635 * elf64-alpha.c (elf64_alpha_relocate_section): Use dtp_base for
1636 the zero index relocs produced by elf64_alpha_relax_tls_get_addr.
1637
6ec7057a
RH
16382005-05-29 Richard Henderson <rth@redhat.com>
1639
1640 * configure.in (--enable-secureplt): New.
1641 * elf64-alpha.c (INSN_LDA, INSN_LDAH, INSN_LDQ, INSN_BR): New.
1642 (INSN_SUBQ, INSN_S4SUBQ, INSN_JMP): New.
1643 (INSN_A, INSN_AB, INSN_ABC, INSN_ABO, INSN_AD): New.
1644 (elf64_alpha_use_secureplt): New.
1645 (OLD_PLT_HEADER_SIZE, OLD_PLT_ENTRY_SIZE): New.
1646 (NEW_PLT_HEADER_SIZE, NEW_PLT_ENTRY_SIZE): New.
1647 (PLT_HEADER_SIZE, PLT_ENTRY_SIZE): Conditionalize on secureplt.
1648 (ALPHA_ELF_LINK_HASH_PLT_LOC): Remove.
1649 (struct alpha_elf_link_hash_entry): Add plt_offset.
1650 (PLT_HEADER_WORD1, PLT_HEADER_WORD2, PLT_HEADER_WORD3): Remove.
1651 (PLT_HEADER_WORD4, PLT_ENTRY_WORD1, PLT_ENTRY_WORD2): Remove.
1652 (PLT_ENTRY_WORD3): Remove.
1653 (elf64_alpha_create_dynamic_sections): If secureplt, set SEC_READONLY
1654 on .plt and create .got.plt.
1655 (elf64_alpha_output_extsym): Remove .plt frobbing for symbol values.
1656 (get_got_entry): Initialize plt_offset.
1657 (elf64_alpha_want_plt): New.
1658 (elf64_alpha_check_relocs): Use it.
1659 (elf64_alpha_adjust_dynamic_symbol): Likewise. Don't allocate
1660 plt entries here.
1661 (elf64_alpha_calc_got_offsets_for_symbol): Don't report internal
1662 error as user error.
1663 (elf64_alpha_size_plt_section_1): Allocate one plt entry per
1664 got subsection.
1665 (elf64_alpha_size_plt_section): Size .got.plt section.
1666 (elf64_alpha_size_rela_got_1): Don't allocate relocations if
1667 plt entries used.
1668 (elf64_alpha_size_dynamic_sections): Call elf64_alpha_size_plt_section.
1669 Add PLTRO DYNAMIC entry.
1670 (elf64_alpha_finish_dynamic_symbol): Generate secureplt format.
1671 (elf64_alpha_finish_dynamic_sections): Likewise.
1672
3133ddbf
DJ
16732005-05-28 David Daney <ddaney@avtrex.com>
1674
1675 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Move
1676 calculation of DT_RELSZ to occur after all dynamic relocations
1677 are created.
1678
36527912
AJ
16792005-05-28 Eli Zaretskii <eliz@gnu.org>
1680
1681 * configure.in: Add snprintf and vsnprintf to AC_CHECK_DECLS.
1682 * config.in, configure: Regenerate.
1683
1bc8074d 16842005-05-26 Mark Kettenis <kettenis@gnu.org>
6ec7057a 1685 Maciej W. Rozycki <macro@linux-mips.org>
1bc8074d
MR
1686
1687 * elfxx-mips.c (_bfd_mips_elf_section_processing): Warn and
1688 stop processing of options if one of invalid size is
1689 encountered.
1690 (_bfd_mips_elf_section_from_shdr): Likewise.
1691 (_bfd_mips_elf_fake_sections): Reset the type of empty special
1692 sections.
1693
75fed80d
RH
16942005-05-26 Richard Henderson <rth@redhat.com>
1695
36527912 1696 * elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove
75fed80d
RH
1697 plt_old_section, plt_old_value.
1698 (elf64_alpha_adjust_dynamic_symbol): Don't set it.
1699 (elf64_alpha_size_plt_section_1): Don't use it.
1700
24639c7d
JJ
17012005-05-26 Jakub Jelinek <jakub@redhat.com>
1702
1703 * elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and
1704 first shdr has sh_size == 0. Fail if e_shnum is large to cause
1705 arithmetic overflow when allocating the i_shdr array.
1706 Sanity check sh_link and sh_info fields. Fix e_shstrndx sanity check.
1707
a7519a3c
RH
17082005-05-25 Richard Henderson <rth@redhat.com>
1709
1710 * elf64-alpha.c: Update all function definitions to ISO C. Remove
1711 all function prototypes; rearrange functions into def-use order.
1712
308da68f
RH
17132005-05-25 Richard Henderson <rth@redhat.com>
1714
1715 * elf64-alpha.c (elf64_alpha_merge_gots): Fix gotent iteration
1716 in the presence of deleting elements.
1717 (elf64_alpha_size_got_sections): Zero dead got section size.
1718
4ab527b0
FF
17192005-05-23 Fred Fish <fnf@specifixinc.com>
1720
1721 * dwarf2.c (struct dwarf2_debug): Add inliner_chain member.
1722 (struct funcinfo): Add caller_func, caller_file, caller_line.
1723 tag, and nesting_level members.
1724 (lookup_address_in_function_table): Change first passed parameter
1725 from "struct funcinfo *" to "struct comp_unit *".
1726 (lookup_address_in_function_table): Dereference unit to find function
1727 table.
1728 (lookup_address_in_function_table): Traverse the function list to
1729 create a chain of inlined functions back to the first non inlined
1730 function.
1731 (scan_unit_for_functions): Remember tag and nesting level. Handle
1732 DW_AT_call_file and DW_AT_call_line.
1733 (comp_unit_find_nearest_line): Adjust lookup_address_in_function_table
1734 call to pass unit pointer instead of function table pointer. For
1735 inlined functions, save pointer to the inliner chain.
1736 (_bfd_dwarf2_find_nearest_line): Initialize inliner_chain to NULL.
1737 (_bfd_dwarf2_find_inliner_info): New function that returns information
1738 from the inliner chain after a call to bfd_find_nearest_line.
1739
1740 * bfd.c (bfd_find_inliner_info): Define using BFD_SEND.
1741 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add entry for
1742 NAME##_find_inliner_info.
1743 (bfd_target): Add _bfd_find_inliner_info.
1744 * bfd-in2.h: Regenerate.
1745
1746 * libbfd-in.h (_bfd_nosymbols_find_inliner_info): Define as
1747 macro that always returns bfd_false.
1748 (_bfd_dwarf2_find_inliner_info): Declare.
1749 * libbfd.h: Regenerate.
36527912 1750
4ab527b0
FF
1751 * elf32-arm.c (elf32_arm_find_inliner_info): New function
1752 that calls _bfd_dwarf2_find_inliner_info.
1753 (bfd_elf32_find_inliner_info): Define to elf32_arm_find_inliner_info.
1754
1755 * elfxx-mips.c (_bfd_mips_elf_find_inliner_info): New function
1756 that calls _bfd_dwarf2_find_inliner_info.
1757 * elfxx-mips.h (_bfd_mips_elf_find_inliner_info): Declare.
1758 * elfn32-mips.c (bfd_elf32_find_inliner_info): Define to
1759 _bfd_mips_elf_find_inliner_info.
1760 * elf64-mips.c (bfd_elf64_find_inliner_info): Ditto.
1761 * elf32-mips.c (bfd_elf32_find_inliner_info): Ditto.
1762
1763 * elf.c (_bfd_elf_find_inliner_info): New function that calls
1764 _bfd_dwarf2_find_inliner_info.
1765 * elf-bfd.h (_bfd_elf_find_inliner_info): Declare.
1766 * elfxx-target.h (bfd_elfNN_find_inliner_info): Define to
1767 _bfd_elf_find_inliner_info.
1768
1769 * coffgen.c (coff_find_inliner_info): New function that
1770 calls _bfd_dwarf2_find_inliner_info.
1771 * libcoff-in.h (coff_find_inliner_info): Declare.
1772 * libcoff.h: Regenerate.
1773 * coff-rs6000.c (rs6000coff_vec): Add coff_find_inliner_info.
1774 (pmac_xcoff_vec) Ditto.
1775 * coff64-rs6000.c (rs6000coff64_vec): Ditto.
1776 (aix5coff64_vec): Ditto.
36527912 1777
4ab527b0
FF
1778 * aout-target.h (MY_find_inliner_info): Define as
1779 _bfd_nosymbols_find_inliner_info.
1780 * aout-tic30.c (MY_find_inliner_info): Ditto.
1781 * binary.c (binary_find_inliner_info): Ditto.
1782 * i386msdos.c (msdos_find_inliner_info): Ditto.
1783 * ihex.c (ihex_find_inliner_info): Ditto.
1784 * libaout.h (aout_32_find_inliner_info): Ditto.
1785 * libecoff.h (_bfd_ecoff_find_inliner_info): Ditto.
1786 * mach-o.c (bfd_mach_o_find_inliner_info): Ditto.
1787 * mmo.c (mmo_find_inliner_info): Ditto.
1788 * nlm-target.h (nlm_find_inliner_info): Ditto.
1789 * pef.c (bfd_pef_find_inliner_info): Ditto.
1790 * ppcboot.c (ppcboot_find_inliner_info): Ditto.
1791 * srec.c (srec_find_inliner_info): Ditto.
1792 * tekhex.c (tekhex_find_inliner_info): Ditto.
1793 * versados.c (versados_find_inliner_info): Ditto.
1794 * xsym.c (bfd_sym_find_inliner_info): Ditto.
1795
1796 * ieee.c (ieee_find_inliner_info): New function that always
1797 returns FALSE.
1798 * oasys.c (oasys_find_inliner_info): Ditto.
1799 * vms.c (vms_find_inliner_info): Ditto.
1800
9edfd1af
AM
18012005-05-24 Alan Modra <amodra@bigpond.net.au>
1802
1803 * elf32-ppc.c (ppc_elf_check_relocs): For old gcc -fPIC code
1804 force old plt layout.
1805
3241278a
RH
18062005-05-22 Richard Henderson <rth@redhat.com>
1807
1808 * elf64-alpha.c (elf64_alpha_relax_section): Ignore non-allocated
1809 sections.
1810 (elf64_alpha_check_relocs): Likewise.
1811 (elf64_alpha_relocate_section): Don't emit dynamic relocations to
1812 non-allocated sections.
1813
d6ad34f6
RH
18142005-05-22 Richard Henderson <rth@redhat.com>
1815
36527912 1816 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Relax jsr to
d6ad34f6
RH
1817 undefweak to use zero register. Call elf64_alpha_relax_got_load
1818 if not all uses removed.
1819 (elf64_alpha_relax_got_load): Relax undefweak to lda zero.
1820 (elf64_alpha_relax_section): Handle undefweak symbols.
1821 (elf64_alpha_calc_dynrel_sizes): Don't add relocs for undefweak.
1822 (elf64_alpha_size_rela_got_1): Likewise.
1823 (elf64_alpha_relocate_section): Likewise.
1824
487c4353
RH
18252005-05-22 Richard Henderson <rth@redhat.com>
1826
1827 * elf64-alpha.c (elf64_alpha_relax_section): Only operate
1828 on SEC_CODE sections.
1829
a96afa0f
DA
18302005-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1831
1832 * som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to
1833 unsigned int *.
1834 (som_write_space_strings): Change type of tmp_space and p to char *.
1835 (som_write_symbol_strings): Likewise. Also change type of comp to
1836 char *comp[4].
1837 (som_begin_writing): Change type of strings_size to unsigned int.
1838 (som_finish_writing): Likewise.
1839 (som_slurp_reloc_table): Change type of external_relocs to unsigned
1840 char *.
1841 * som.h (struct som_section_data_struct): Change type of reloc_stream
1842 field to unsigned char *.
1843
643796e3
DJ
18442005-05-20 Daniel Jacobowitz <dan@codesourcery.com>
1845
1846 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't eliminate
1847 copy relocations for VxWorks.
1848
4dc4a9a5
DJ
18492005-05-20 Daniel Jacobowitz <dan@codesourcery.com>
1850
1851 * bfd/elf32-ppc.c (struct ppc_elf_link_hash_entry): Add new field
1852 has_sda_refs.
1853 (ppc_elf_copy_indirect_symbol): Copy has_sda_refs.
1854 (ppc_elf_check_relocs): Set has_sda_refs.
1855 (ppc_elf_adjust_dynamic_symbol): Check has_sda_refs before eliminating
1856 copy relocations. Use has_sda_refs to place variables in .sbss.
1857 (ppc_elf_finish_dynamic_symbol): Use has_sda_refs to place variables in
1858 .sbss.
1859
dd1a320b
BW
18602005-05-20 Bob Wilson <bob.wilson@acm.org>
1861
1862 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Make sure that
1863 xtensa_default_isa is initialized.
1864
28e99bb6
AM
18652005-05-20 Alan Modra <amodra@bigpond.net.au>
1866
1867 * elf32-ppc.c (allocate_dynrelocs): Correct plt offset assigned
1868 for second and subsequent list entries. Only allocate multiple
1869 glink stubs when shared or pie.
1870 (ppc_elf_finish_dynamic_symbol): Break out early when only one
1871 glink stub is needed.
1872
e3e71e27
ZW
18732005-05-19 Zack Weinberg <zack@codesourcery.com>
1874
1875 * Makefile.am: Have 'all' depend on 'info'.
1876 * Makefile.in: Regenerate.
1877
a6aa5195
AM
18782005-05-19 Alan Modra <amodra@bigpond.net.au>
1879
1880 * elf-bfd.h (struct elf_link_hash_table): Delete init_refcount and
1881 init_offset. Add init_got_refcount, init_plt_refcount,
1882 init_got_offset and init_plt_offset.
1883 * elf.c (_bfd_elf_link_hash_newfunc): Adjust for above change.
1884 (_bfd_elf_link_hash_hide_symbol): Likewise.
1885 (_bfd_elf_link_hash_table_init): Likewise.
1886 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
1887 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
1888 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Likewise.
1889 (bfd_elf_size_dynamic_sections): Likewise.
1890 * elf32-ppc.c (GLINK_PLTRESOLVE): Now 16 insns.
1891 (LWZU_0_X_12, LWZ_0_4_30, LWZ_0_X_12, LWZ_11_X_11, LWZ_11_X_30,
1892 LWZ_12_4_12, LWZ_12_8_30, LWZ_12_X_12, SUB_11_11_30): Delete.
1893 (ADDIS_12_12, BCL_20_31, LWZU_0_12, LWZ_0_12, LWZ_11_11, LWZ_11_30,
1894 LWZ_12_12, MFLR_0, MFLR_12, MTLR_0, SUB_11_11_12): Define.
1895 (struct plt_entry): New.
1896 (ppc_elf_link_hash_table_create): Set new init_plt fields.
1897 (ppc_elf_copy_indirect_symbol): Handle merge of plt plist. Don't
1898 use _bfd_elf_link_hash_copy_indirect.
1899 (update_plt_info, find_plt_ent): New functions.
1900 (ppc_elf_check_relocs): Handle R_PPC_PLTREL24 with non-zero addend
1901 and adjust for use of plt list rather than refcount.
1902 (ppc_elf_gc_sweep_hook): Likewise.
1903 (ppc_elf_tls_optimize): Likewise.
1904 (ppc_elf_adjust_dynamic_symbol): Likewise.
1905 (allocate_dynrelocs): Likewise.
1906 (ppc_elf_relax_section): Likewise.
1907 (ppc_elf_relocate_section): Likewise. Adjust R_PPC_PLTREL24 addends
1908 when performing a relocatable link.
1909 (ppc_elf_finish_dynamic_symbol): Likewise. Write .glink stubs here..
1910 (ppc_elf_finish_dynamic_sections): ..rather than here. Use new
1911 pic resolver stub.
1912
a49e53ed
AM
19132005-05-19 Alan Modra <amodra@bigpond.net.au>
1914
1915 * elf.c (assign_file_positions_for_segments): Use maximum of
1916 maxpagesize and section alignment when adjusting initial
1917 segment offset and section offsets.
1918
cb1afa5c
ZW
19192005-05-18 Zack Weinberg <zack@codesourcery.com>
1920
1921 * elf32-arm.c: Make all #ifndef OLD_ARM_ABI blocks
1922 unconditional.
1923
13792e9d
L
19242005-05-18 H.J. Lu <hongjiu.lu@intel.com>
1925
1926 * elf.c (group_signature): Undo the last change. Check if the
1927 symbol table section is correct.
1928
c19d1205
ZW
19292005-05-17 Zack Weinberg <zack@codesourcery.com>
1930
1931 * elf32-arm.c: Wherever possible, use official reloc names
1932 from AAELF.
1933 (elf32_arm_howto_table, elf32_arm_tls_gd32_howto)
1934 (elf32_arm_tls_ldo32_howto, elf32_arm_tls_ldm32_howto)
1935 (elf32_arm_tls_le32_howto, elf32_arm_tls_ie32_howto)
1936 (elf32_arm_vtinherit_howto, elf32_arm_vtentry_howto)
1937 (elf32_arm_pc11_howto, elf32_arm_thm_pc9_howto, elf32_arm_got_prel)
1938 (elf32_arm_r_howto): Replace with elf32_arm_howto_table_1,
1939 elf32_arm_howto_table_2, and elf32_arm_howto_table_3.
1940 Add many new relocations from AAELF.
1941 (elf32_arm_howto_from_type): Update to match.
1942 (elf32_arm_reloc_map): Add entries for R_ARM_THM_JUMP24,
1943 R_ARM_THM_JUMP11, R_ARM_THM_JUMP19, R_ARM_THM_JUMP8,
1944 R_ARM_THM_JUMP6, R_ARM_GNU_VTINHERIT, and R_ARM_GNU_VTENTRY.
1945 (elf32_arm_reloc_type_lookup): Use elf32_arm_howto_from_type.
1946 (elf32_arm_final_link_relocate): Add support for
1947 R_ARM_THM_JUMP24, R_ARM_THM_JUMP19, R_ARM_THM_JUMP6. Remove
1948 case entries redundant with default.
1949
1950 * reloc.c: Reorganize ARM relocations. Add Thumb
1951 assembler-internal relocations BFD_RELOC_ARM_T32_OFFSET_U8,
1952 BFD_RELOC_ARM_T32_OFFSET_IMM, BFD_RELOC_ARM_T32_IMMEDIATE.
1953 Add visible relocations BFD_RELOC_THUMB_PCREL_BRANCH7,
1954 BFD_RELOC_THUMB_BRANCH20, BFD_RELOC_THUMB_BRANCH25.
1955 Delete unused relocations BFD_RELOC_ARM_GOT12, BFD_RELOC_ARM_COPY.
1956 * bfd-in2.h, libbfd.h: Regenerate.
1957
26ae6d5e
DJ
19582005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
1959
1960 * elf.c (_bfd_elf_write_object_contents): Check for non-NULL
1961 elf_shstrtab.
1962 * format.c (bfd_check_format_matches): Set output_has_begun
1963 for both_direction.
1964 * section.c (bfd_set_section_contents): Use bfd_write_p. Remove
1965 special case for both_direction.
1966
5982e3c7
NC
19672005-05-17 Nick Clifton <nickc@redhat.com>
1968
1969 * elf.c (group_signature): Check for a group section which is
1970 actually a (corrupt) symbol table section in disguise and prevent
1971 an infinite loop from occurring.
1972
fc3ab699
L
19732005-05-17 H.J. Lu <hongjiu.lu@intel.com>
1974
1975 * elfxx-ia64.c (elfNN_ia64_relax_brl): Undo the change made on
1976 2005-02-16.
1977
5e27d427
L
19782005-05-17 H.J. Lu <hongjiu.lu@intel.com>
1979
1980 * elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original
1981 predicate on slot 0 only if slot 0 isn't br.
1982
75ff4589
L
19832005-05-17 H.J. Lu <hongjiu.lu@intel.com>
1984
1985 PR 797
1986 * elf32-i386.c (elf_i386_size_dynamic_sections): Also remove
1987 empty sdynbss section.
1988 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
1989
8e0ed13f
NC
19902005-05-17 Tavis Ormandy <taviso@gentoo.org>
1991
1992 * elf.c (bfd_section_from_shdr): Add sanity check when parsing
1993 dynamic sections.
1994
7e8aeb9a
AM
19952005-05-17 Alan Modra <amodra@bigpond.net.au>
1996
1997 * elf32-ppc.c (LIS_11. LIS_12): Define.
1998 (LWZU_0_X_12, LWZ_0_X_12, LWZ_12_4_12, LWZ_12_X_12): Define.
1999 (ppc_elf_finish_dynamic_sections): Provide non-pic plt call stub
2000 for --data-plt when building non-pie executables.
2001
641bd093
NC
20022005-05-17 Nick Clifton <nickc@redhat.com>
2003
10dbd1f3
NC
2004 * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle
2005 the situation where a symbols's section is not known but a section
2006 relative R_ARM_RELATIVE reloc has to be generated for the Symbian
2007 OS.
2008
641bd093
NC
2009 * elf32-v850.c (v850_elf_relocate_section): Move code to test for
2010 the presence of a symbol table to just before the symbol table is
2011 actually used.
2012
83b6bd86
L
20132005-05-16 H.J. Lu <hongjiu.lu@intel.com>
2014
2015 PR 834
2016 * elfxx-ia64.c (elfNN_ia64_relax_br): New.
2017 (elfNN_ia64_relax_section): Use it.
2018
06084812
MK
20192005-05-14 Mark Kettenis <kettenis@gnu.org>
2020
2021 * elflink.c (bfd_elf_size_dynamic_sections): Use lbasename instead
2022 of basename.
2023
1fe44d79
AM
20242005-05-14 Alan Modra <amodra@bigpond.net.au>
2025
2026 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set DT_PPC_GOT,
2027 not DT_PPC_GLINK.
2028 (ppc_elf_finish_dynamic_sections): Likewise.
2029
2db3311b
FF
20302005-05-13 Fred Fish <fnf@specifixinc.com>
2031
2032 * libbfd-in.h: Fix a comment typo, 'neaderst' -> 'nearest'
2033 * libbfd.h: Rebuilt.
2034
7db48a12
BW
20352005-05-13 Bob Wilson <bob.wilson@acm.org>
2036
2037 * elf32-xtensa.c (xtensa_get_property_section_name): Add missing
2038 periods in linkonce_kind values.
2039
8fe76924
L
20402005-05-12 H.J. Lu <hongjiu.lu@intel.com>
2041
2042 * elf32-i386.c (elf_i386_relocate_section): Allow R_386_GOTOFF
2043 against protected function when building executable.
2044
86b9da88
AM
20452005-05-12 Alan Modra <amodra@bigpond.net.au>
2046
2047 * elf32-ppc.c (LWZU_0_X_11): Delete.
2048 (B, LWZ_11_X_11, LWZ_11_X_30, MTCTR_11): Define.
2049 (ppc_elf_select_plt_layout): Set .got flags too. Formatting.
2050 (ppc_elf_size_dynamic_sections): Allocate space for .glink branch
2051 table.
2052 (ppc_elf_finish_dynamic_symbol): Point .plt entries into the branch
2053 table.
2054 (ppc_elf_finish_dynamic_sections): Adjust DT_PPC_GLINK value.
2055 Generate .glink branch table and updated stubs.
2056
d7128ce4
AM
20572005-05-11 Alan Modra <amodra@bigpond.net.au>
2058
2059 * reloc.c (BFD_RELOC_HI16_PCREL): Define.
2060 (BFD_RELOC_HI16_S_PCREL, BFD_RELOC_LO16_PCREL): Define.
2061 * elf32-ppc.c (GLINK_PLTRESOLVE, GLINK_ENTRY_SIZE): Define.
2062 (CROR_151515, CROR_313131): Delete.
2063 (ADDIS_11_11, ADDI_11_11, SUB_11_11_30, ADD_0_11_11, ADD_11_0_11,
2064 LWZ_0_4_30, MTCTR_0, LWZ_12_8_30, BCTR, ADDIS_11_30,
2065 LWZU_0_X_11): Define.
2066 (ppc_elf_howto_raw): Add R_PPC_REL16, R_PPC_REL16_LO, R_PPC_REL16_HI
2067 and R_PPC_REL16_HA entries.
2068 (ppc_elf_reloc_type_lookup): Convert new bfd reloc types.
2069 (ppc_elf_addr16_ha_reloc): Also handle R_PPC_REL16_HA.
2070 (struct ppc_elf_link_hash_table): Add glink, glink_pltresolve,
2071 new_plt, and old_plt.
2072 (ppc_elf_create_dynamic_sections): Create .glink section.
2073 (ppc_elf_check_relocs): Set new_plt and old_plt.
2074 (ppc_elf_select_plt_layout): New function.
2075 (ppc_elf_tls_setup): Set plt output section elf type and flags.
2076 (allocate_got): Handle differences between old and new got layout.
2077 (allocate_dynrelocs): Likewise for plt.
2078 (ppc_elf_size_dynamic_sections): Likewise. Allocate memory for
2079 .glink. Don't allocate memory for old bss .plt. Emit DT_PPC_GLINK.
2080 (ppc_elf_relax_section): Rename ppc_info to htab. Handle .glink
2081 destination of R_PPC_PLTREL24 relocs.
2082 (ppc_elf_relocate_section): Handle new relocs and changed destination
2083 of R_PPC_PLTREL24.
2084 (ppc_elf_finish_dynamic_symbol): Init new style plt and handle
2085 differences in layout.
2086 (ppc_elf_finish_dynamic_sections): Set DT_PPC_GLINK value. Don't
2087 put a blrl in new got. Write glink contents.
2088 * elf32-ppc.h (ppc_elf_select_plt_layout): Declare.
2089 * libbfd.h: Regenerate.
2090 * bfd-in2.h: Regenerate.
2091
4c9b0de6
AS
20922005-05-11 Andreas Schwab <schwab@suse.de>
2093
2094 * elf32-i386.c (elf_i386_finish_dynamic_sections): Fix signedness
2095 warning.
2096
3d2b39cf
L
20972005-05-10 H.J. Lu <hongjiu.lu@intel.com>
2098
2099 * elf.c (_bfd_elf_make_section_from_shdr): Only check debug
2100 section if SEC_ALLOC isn't set.
2101
2ba49b59
KC
21022005-05-09 Kelley Cook <kcook@gcc.gnu.org>
2103
2104 * configure.in: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
2105 * acinclude.m4: Don't sinclude accross.m4.
2106 * config.in, configure, Makefile.in, doc/Makefile.in: Regenerate.
2107
433817dd
AM
21082005-05-09 Alan Modra <amodra@bigpond.net.au>
2109
2110 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_dotsym.
2111 (ppc64_elf_add_symbol_hook): Set has_dotsym.
2112 (ppc64_elf_check_directives): Only process syms when has_dotsym.
2113 (func_desc_adjust): Hide fake function descriptors when function
2114 code entry is defined.
2115 (adjust_opd_syms): Adjust for deleted_section becoming union field.
2116
0560d0f7
AM
21172005-05-09 Alan Modra <amodra@bigpond.net.au>
2118
2119 * elfcode.h (elf_object_p): Add more sanity checks on elf header.
2120
74cc7600
DK
21212005-05-08 Dave Korn <dave.korn@artimi.com>
2122
2123 * coff-tic80.c: Undefine _CONST after system headers to prevent
2124 clash with tic80-specific definition in include/coff/tic80.h
2125
cfca085c
L
21262005-05-08 H.J. Lu <hongjiu.lu@intel.com>
2127
2128 PR 939
2129 * elflink.c (elf_link_output_extsym): Use output_bfd if
2130 h->root.u.def.section is bfd_abs_section_ptr when reporting
2131 error.
2132
7f4d3958
L
21332005-05-07 H.J. Lu <hongjiu.lu@intel.com>
2134
2135 * elf-bfd.h (elf_backend_data): Update special_sections to
2136 array of pointer to bfd_elf_special_section.
2137 * elf.c (special_sections): Likewise.
2138 * elf32-arm.c (elf32_arm_symbian_special_sections): Likewise.
2139 * elf32-m32r.c (m32r_elf_special_sections): Likewise.
2140 * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
2141 * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
2142 * elf32-mcore.c (mcore_elf_special_sections): Likewise.
2143 * elf32-ppc.c (ppc_elf_special_sections): Likewise.
2144 * elf32-sh64.c (sh64_elf_special_sections): Likewise.
2145 * elf32-v850.c (v850_elf_special_sections): Likewise.
2146 * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
2147 * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
2148 * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
2149 * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
2150 * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
2151 * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
2152 * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
2153 * elfxx-mips.h (_bfd_mips_elf_special_sections): Likewise.
2154
2155 * elf.c (get_special_section): Updated.
2156
3b36f7e6
AM
21572005-05-07 Alan Modra <amodra@bigpond.net.au>
2158
2159 * elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset.
2160 * elfxx-target.h (elf_backend_got_symbol_offset): Delete.
2161 * elflink.c (_bfd_elf_create_got_section): Use zero in place of
2162 got_symbol_offset.
2163 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
2164 * elf32-frv.c (_frv_create_got_section): Likewise.
2165 * elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code.
2166 (elf_backend_got_symbol_offset): Don't define.
2167 * elf64-ppc.c (elf_backend_got_symbol_offset): Don't define.
2168 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size
2169 and got_gap.
2170 (ppc_elf_create_got): Tidy.
2171 (ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt.
2172 (ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot.
2173 (ppc_elf_gc_sweep_hook): Likewise.
2174 (ppc_elf_relocate_section): Likewise.
2175 (ppc_elf_finish_dynamic_symbol): Likewise.
2176 (allocate_got): New function.
2177 (allocate_dynrelocs): Use allocate_got.
2178 (ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation
2179 so that local got can refcount it. Set got_header_size.
2180 (ppc_elf_relocate_section): Use value of elf.hgot rather than hard-
2181 coded 4.
2182 (ppc_elf_finish_dynamic_sections): Likewise.
2183 (elf_backend_got_symbol_offset): Don't define.
2184 (elf_backend_got_header_size): Ditto.
2185
2e0fbf77
JW
21862005-05-05 Steve Ellcey <sje@cup.hp.com>
2187
2188 * configure.in (ACX_HEADER_STRING): New.
2189 * configure: Regenerate.
2190 * config.in: Regenerate.
2191 * sysdep.h (STRING_WITH_STRINGS): Use.
2192
6f140a15
L
21932005-05-05 H.J. Lu <hongjiu.lu@intel.com>
2194
2195 * elf.c (_bfd_elf_close_and_cleanup): Only call
2196 _bfd_dwarf2_cleanup_debug_info on bfd_object.
2197
01d9ad14
L
21982005-05-05 H.J. Lu <hongjiu.lu@intel.com>
2199
2200 * elflink.c (_bfd_elf_provide_section_bound_symbols): Use
2201 "__bss_start" instead of "_edata" as fallback.
2202
b36b76cb
L
22032005-05-05 H.J. Lu <hongjiu.lu@intel.com>
2204
2205 * bfd-in2.h: Regenerated.
2206
eac338cf
PB
22072005-05-05 Paul Brook <paul@codesourcery.com>
2208
2209 * config.bfd: Use bfd_elf32_i386_vxworks_vec for i?86-*-vxworks.
2210 * configure.in: Add bfd_elf32_i386_vxworks_vec. i386 targets need
2211 elf-vxworks.lo.
2212 * configure: Regenerate.
2213 * Makefile.am (BFD32_BACKENDS): Add elf-vxworks.lo.
2214 (BFD32_BACKENDS_CFILES): Add elf-vxworks.c.
2215 (elf32-i386.lo): Depend on elf-vxworks.h.
2216 (elf-vxworks.lo): New rule.
2217 * Makefile.in: Regenerate.
2218 * elf-bfd.h (elf_backend_data): Update type of
2219 elf_backend_emit_relocs.
2220 (_bfd_elf_link_output_relocs): Update prototype.
2221 * elflink.c (_bfd_elf_link_output_relocs): Always use
2222 bed->elf_backend_emit_relocs when outputting relocations.
2223 * elfxx-target.h (elf_backend_emit_relocs): Default to
2224 _bfd_elf_link_output_relocs.
2225 * targets.c (bfd_elf32_i386_vxworks_vec): Declare.
2226 (_bfd_target_vector): Add bfd_elf32_i386_vxworks_vec.
2227 * elf32-i386.c: Add elf32-i386-vxworks target BFD.
2228 (elf_i386_plt0_entry): Remove padding.
2229 (elf_i386_pic_plt0_entry): Ditto.
2230 (PLTRESOLVE_RELOCS_SHLIB, PLTRESOLVE_RELOCS): Define.
2231 (PLT_NON_JUMP_SLOT_RELOCS): Define.
2232 (elf_i386_link_hash_table): Add srelplt2, hgot, hplt, is_vxworks and
2233 plt0_pad_byte fields.
2234 (elf_i386_link_hash_table_create): Zero them.
2235 (elf_i386_create_dynamic_sections): Create static relocation section.
2236 (allocate_dynrelocs): Allocate space for static PLT relocations.
2237 (elf_i386_size_dynamic_sections): Save shortcuts to PLT and GOT
2238 symbols. Give PLT symbols function type. Don't strip PLT sections
d7128ce4 2239 if we have exported symbols from them.
eac338cf
PB
2240 (elf_i386_finish_dynamic_symbol): Fill in VxWorks PLT static
2241 relocation section. Don't mark _GLOBAL_OFFSET_TABLE_ as absolute on
2242 VxWorks.
2243 (elf_i386_finish_dynamic_sections): Allow different pad bytes.
2244 Add relocation for GOT location. Fill in PLT static relocations.
2245 (elf_i386_vxworks_link_hash_table_create): New function.
2246 (elf_i386_vxworks_link_output_symbol_hook): New function.
2247 * elf-vxworks.h: New file.
2248
3496cb2a
L
22492005-05-05 H.J. Lu <hongjiu.lu@intel.com>
2250
2251 * section.c (bfd_make_section_anyway_with_flags): New.
2252 (bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags,
2253 (bfd_make_section_with_flags): New.
2254 (bfd_make_section): Call bfd_make_section_with_flags.
2255
2256 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call
2257 bfd_make_section_with_flags/bfd_make_section_anyway_with_flags
2258 instead of bfd_make_section/bfd_make_section and don't call
2259 bfd_set_section_flags.
2260 (mn10300_elf_check_relocs): Likewise.
2261 (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
2262 * elf32-arm.c (create_got_section): Likewise.
2263 (bfd_elf32_arm_add_glue_sections_to_bfd): Likewise.
2264 (elf32_arm_check_relocs): Likewise.
2265 * elf32-cris.c (cris_elf_check_relocs): Likewise.
2266 * elf32-frv.c (elf32_frv_add_symbol_hook): Likewise.
2267 (_frv_create_got_section): Likewise.
2268 (elf32_frvfdpic_create_dynamic_sections): Likewise.
2269 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
2270 (elf32_hppa_check_relocs): Likewise.
2271 * elf32-i370.c (i370_elf_create_dynamic_sections): Likewise.
2272 (i370_elf_check_relocs): Likewise.
2273 * elf32-i386.c (create_got_section): Likewise.
2274 (elf_i386_check_relocs): Likewise.
2275 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
2276 (create_got_section): Likewise.
2277 (m32r_elf_create_dynamic_sections): Likewise.
2278 (m32r_elf_check_relocs): Likewise.
2279 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
2280 * elf32-ppc.c (ppc_elf_create_got): Likewise.
2281 (ppc_elf_create_dynamic_sections): Likewise.
2282 (ppc_elf_add_symbol_hook): Likewise.
2283 (ppc_elf_check_relocs): Likewise.
2284 * elf32-s390.c (create_got_section): Likewise.
2285 (elf_s390_check_relocs): Likewise.
2286 * elf32-sh.c (create_got_section): Likewise.
2287 (sh_elf_create_dynamic_sections): Likewise.
2288 (sh_elf_check_relocs): Likewise.
2289 * elf32-vax.c (elf_vax_check_relocs): Likewise.
2290 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
2291 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
2292 (add_extra_plt_sections): Likewise.
2293 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
2294 (elf64_alpha_create_got_section): Likewise.
2295 (elf64_alpha_create_dynamic_sections): Likewise.
2296 (elf64_alpha_check_relocs): Likewise.
2297 * elf64-hppa.c (get_reloc_section): Likewise.
2298 (get_opd): Likewise.
2299 (get_plt): Likewise.
2300 (get_dlt): Likewise.
2301 (get_stub): Likewise.
2302 (elf64_hppa_create_dynamic_sectionso): Likewise.
2303 * elf64-mmix.c (mmix_elf_check_common_relocs): Likewise.
2304 * elf64-ppc.c (create_linkage_sections): Likewise.
2305 (ppc64_elf_check_relocs): Likewise.
2306 * elf64-s390.c (create_got_section): Likewise.
2307 (elf_s390_check_relocs): Likewise.
2308 * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
2309 (sh64_elf64_create_dynamic_sections): Likewise.
2310 * elf64-x86-64.c (create_got_section): Likewise.
2311 (elf64_x86_64_check_relocs): Likewise.
2312 * elflink.c (_bfd_elf_create_got_section): Likewise.
2313 (_bfd_elf_link_create_dynamic_sections): Likewise.
2314 (elf_link_add_object_symbols): Likewise.
2315 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
2316 (elfNN_ia64_create_dynamic_sections): Likewise.
2317 (get_fptr): Likewise.
2318 (get_pltoff): Likewise.
2319 (get_reloc_section): Likewise.
2320 (elfNN_ia64_object_p): Likewise.
2321 * elfxx-mips.c (mips_elf_rel_dyn_section): Likewise.
2322 (mips_elf_create_compact_rel_section): Likewise.
2323 (mips_elf_create_got_section): Likewise.
2324 (_bfd_mips_elf_create_dynamic_sections): Likewise.
2325 * elfxx-sparc.c (create_got_section): Likewise.
2326 (_bfd_sparc_elf_check_relocs): Likewise.
2327
2328 * elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr
2329 on linker created sections.
2330
59fef9e7
L
23312005-05-05 H.J. Lu <hongjiu.lu@intel.com>
2332
2333 PR 882
2334 * elflink.c (_bfd_elf_link_assign_sym_version): Allow version
2335 script on executable.
2336
35330cce
NC
23372005-05-05 John Levon <levon@movementarian.org>
2338
2339 * dwarf2.c (read_abbrevs): If bfd_realloc fails, free currently
2340 allocated memory before returning.
2341 (decode_line_info): Likewise.
2342 (_bfd_dwarf2_cleanup_debug_info): New function: Frees memory
2343 allocated by functions in this file.
2344 * elf-bfd.h (_bfd_dwarf2_cleanup_debug_info): Prototype.
6f140a15 2345 * elf.c (_bfd_elf_close_and_cleanup): Call
35330cce
NC
2346 _bfd_dwarf2_cleanup_debug_info.
2347
4a2a2686
HPN
23482005-05-05 Hans-Peter Nilsson <hp@axis.com>
2349
2350 * Makefile.am (INCLUDES): Don't -D_GNU_SOURCE here.
2351 * configure.in: Call AC_GNU_SOURCE here, after AC_PROG_CC.
2352 * configure, config.in, Makefile.in: Regenerate.
2353 * sysdep.h (stpcpy): Revert last change.
2354
0baace35
HPN
23552005-05-05 Hans-Peter Nilsson <hp@axis.com>
2356
2357 * sysdep.h (stpcpy): Wrap declaration in parentheses.
2358
5a260b66
L
23592005-05-04 H.J. Lu <hongjiu.lu@intel.com>
2360
2361 * elfxx-ia64.c (ARCH_SIZE): New.
2362 (LOG_SECTION_ALIGN): Likewise.
2363 (elfNN_ia64_create_dynamic_sections): Use LOG_SECTION_ALIGN to
2364 align relocation sections.
2365 (get_fptr): Likewise.
2366 (get_reloc_section): Likewise.
2367 (elfNN_ia64_tprel_base): Likewise.
2368 (elfNN_ia64_check_relocs): Support 32bit relocations.
2369 (allocate_global_fptr_got): Likewise.
2370 (allocate_dynrel_entries): Likewise.
2371 (set_got_entry): Likewise.
2372 (set_pltoff_entry): Likewise.
2373 (elfNN_ia64_relocate_section): Likewise.
2374
23752005-05-04 H.J. Lu <hongjiu.lu@intel.com>
2376
2377 * configure.in: Add AC_CHECK_DECLS(stpcpy).
2378 * configure: Regenerate.
2379 * config.in: Likewise.
2380
2381 * sysdep.h (stpcpy): New.
2382
3e110533
NC
23832005-05-04 Nick Clifton <nickc@redhat.com>
2384
2385 * Update the address and phone number of the FSF organization in
2386 the GPL notices in the following files:
2387 aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c,
2388 aout-cris.c, aout-ns32k.c, aout-sparcle.c, aout-target.h,
2389 aout-tic30.c, aout0.c, aout32.c, aout64.c, aoutf1.h, aoutx.h,
2390 archive.c, archive64.c, archures.c, armnetbsd.c, bfd-in.h,
2391 bfd-in2.h, bfd.c, bfdio.c, bfdwin.c, binary.c, bout.c, cache.c,
2392 cf-i386lynx.c, cf-m68klynx.c, cf-sparclynx.c, cisco-core.c,
2393 coff-a29k.c, coff-alpha.c, coff-apollo.c, coff-arm.c, coff-aux.c,
2394 coff-go32.c, coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c,
2395 coff-i960.c, coff-ia64.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
2396 coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
2397 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
2398 coff-svm68k.c, coff-tic30.c, coff-tic4x.c, coff-tic54x.c,
2399 coff-tic80.c, coff-u68k.c, coff-w65.c, coff-we32k.c, coff-z8k.c,
2400 coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c, coffswap.h,
2401 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c,
2402 cpu-avr.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
2403 cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
2404 cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
2405 cpu-i960.c, cpu-ia64-opc.c, cpu-ia64.c, cpu-ip2k.c, cpu-iq2000.c,
2406 cpu-m10200.c, cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c,
2407 cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
2408 cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-ns32k.c, cpu-openrisc.c,
2409 cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c, cpu-rs6000.c,
2410 cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c, cpu-tic4x.c,
2411 cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c,
2412 cpu-we32k.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z8k.c, demo64.c,
2413 dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c, ecoffswap.h,
2414 efi-app-ia32.c, efi-app-ia64.c, elf-bfd.h, elf-eh-frame.c,
2415 elf-hppa.h, elf-m10200.c, elf-m10300.c, elf-strtab.c, elf.c,
2416 elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
2417 elf32-cr16c.c, elf32-cris.c, elf32-crx.c, elf32-d10v.c,
2418 elf32-d30v.c, elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
2419 elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
2420 elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
2421 elf32-iq2000.c, elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c,
2422 elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c, elf32-m88k.c,
2423 elf32-mcore.c, elf32-mips.c, elf32-msp430.c, elf32-openrisc.c,
2424 elf32-or32.c, elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c,
2425 elf32-sh-symbian.c, elf32-sh.c, elf32-sh64-com.c, elf32-sh64.c,
2426 elf32-sh64.h, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
2427 elf32-xstormy16.c, elf32-xtensa.c, elf32.c, elf64-alpha.c,
2428 elf64-gen.c, elf64-hppa.c, elf64-hppa.h, elf64-mips.c,
2429 elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
2430 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elf64.c, elfcode.h,
2431 elfcore.h, elflink.c, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c,
2432 elfxx-mips.h, elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h,
2433 epoc-pe-arm.c, epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c,
2434 genlink.h, hash.c, host-aout.c, hp300bsd.c, hp300hpux.c,
2435 hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
2436 i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
2437 i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
2438 libaout.h, libbfd-in.h, libbfd.c, libbfd.h, libcoff-in.h,
2439 libcoff.h, libecoff.h, libhppa.h, libieee.h, libnlm.h, liboasys.h,
2440 libpei.h, libxcoff.h, linker.c, lynx-core.c, m68k4knetbsd.c,
2441 m68klinux.c, m68klynx.c, m68knetbsd.c, m88kmach3.c, m88kopenbsd.c,
2442 mach-o-target.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c, mmo.c,
2443 netbsd-core.c, netbsd.h, newsos3.c, nlm-target.h, nlm.c,
2444 nlm32-alpha.c, nlm32-i386.c, nlm32-ppc.c, nlm32-sparc.c, nlm32.c,
2445 nlm64.c, nlmcode.h, nlmswap.h, ns32k.h, ns32knetbsd.c, oasys.c,
2446 opncls.c, osf-core.c, pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c,
2447 pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c, peXXigen.c,
2448 pef-traceback.h, pef.c, pef.h, pei-arm.c, pei-i386.c, pei-mcore.c,
2449 pei-mips.c, pei-ppc.c, pei-sh.c, peicode.h, ppcboot.c,
2450 ptrace-core.c, reloc.c, reloc16.c, riscix.c, rs6000-core.c,
2451 sco5-core.c, section.c, simple.c, som.c, som.h, sparclinux.c,
2452 sparclynx.c, sparcnetbsd.c, srec.c, stab-syms.c, stabs.c, sunos.c,
2453 syms.c, sysdep.h, targets.c, tekhex.c, ticoff.h, trad-core.c,
2454 vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c, vms-gsd.c,
2455 vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h, xcoff-target.h,
2456 xcofflink.c, xsym.c, xsym.h, xtensa-isa.c, xtensa-modules.c,
11d02c41 2457 hosts/alphavms.h
3e110533 2458
f652615e
L
24592005-05-04 H.J. Lu <hongjiu.lu@intel.com>
2460
2461 * bfd-in.h (_bfd_elf_provide_section_bound_symbols): New.
2462 * bfd-in2.h: Regenerated.
2463
2464 * elflink.c (bfd_elf_set_symbol): New.
2465 (_bfd_elf_provide_symbol): Call it.
2466 (_bfd_elf_provide_section_bound_symbols): New.
2467
c5e2cead
L
24682005-05-04 H.J. Lu <hongjiu.lu@intel.com>
2469
2470 * elflink.c (_bfd_elf_merge_symbol): Only skip weak definitions
2471 at the end, if a strong definition has already been seen.
2472
8423293d
AM
24732005-05-04 Alan Modra <amodra@bigpond.net.au>
2474
2475 * section.c (struct bfd_section): Replace link_order_head and
2476 link_order_tail with map_head and map_tail union.
2477 (STD_SECTION): Update.
2478 (_bfd_strip_section_from_output): Delete.
2479 * aoutx.h: Update throughout for above changes.
2480 * coff-ppc.c: Likewise.
2481 * cofflink.c: Likewise.
2482 * ecoff.c: Likewise.
2483 * elf-eh-frame.c: Likewise.
2484 * elf-m10300.c: Likewise.
2485 * elf.c: Likewise.
2486 * elf32-arm.c: Likewise.
2487 * elf32-cris.c: Likewise.
2488 * elf32-hppa.c: Likewise.
2489 * elf32-i386.c: Likewise.
2490 * elf32-m32r.c: Likewise.
2491 * elf32-m68hc1x.c: Likewise.
2492 * elf32-m68k.c: Likewise.
2493 * elf32-ppc.c: Likewise.
2494 * elf32-s390.c: Likewise.
2495 * elf32-sh.c: Likewise.
2496 * elf32-vax.c: Likewise.
2497 * elf32-xtensa.c: Likewise.
2498 * elf64-alpha.c: Likewise.
2499 * elf64-hppa.c: Likewise.
2500 * elf64-ppc.c: Likewise.
2501 * elf64-s390.c: Likewise.
2502 * elf64-sh64.c: Likewise.
2503 * elf64-x86-64.c: Likewise.
2504 * elflink.c: Likewise.
2505 * elfxx-ia64.c: Likewise.
2506 * elfxx-mips.c: Likewise.
2507 * elfxx-sparc.c: Likewise.
2508 * linker.c: Likewise.
2509 * merge.c: Likewise.
2510 * pdp11.c: Likewise.
2511 * xcofflink.c: Likewise.
2512 * elflink.c (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Split
2513 out from bfd_elf_size_dynamic_sections.
2514 * bfd-in.h (bfd_boolean bfd_elf_size_dynsym_hash_dynstr): Declare.
2515 * bfd-in2.h: Regenerate.
2516
04dd1667
AM
25172005-05-04 Alan Modra <amodra@bigpond.net.au>
2518
2519 * section.c (bfd_section_list_remove): Don't clear s->next.
2520 (bfd_section_list_append): Always init s->prev.
2521 (bfd_section_list_prepend): Define.
2522 (bfd_section_list_insert_after): Minor optimization.
2523 (bfd_section_removed_from_list): Rewrite.
2524 * elf.c (assign_section_numbers): Simplify list traversal now that
2525 bfd_section_list_remove doesn't destroy removed section next ptr.
2526 * sunos.c (sunos_add_dynamic_symbols): Likewise.
2527 * elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend.
2528 * xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal.
2529 * bfd-in2.h: Regenerate.
2530
5daa8fe7
L
25312005-05-02 H.J. Lu <hongjiu.lu@intel.com>
2532
2533 * bfd.c (bfd): Remove section_tail and add section_last.
2534 (bfd_preserve): Likewise.
2535 (bfd_preserve_save): Likewise.
2536 (bfd_preserve_restore): Likewise.
2537 * opncls.c (_bfd_new_bfd): Likewise.
2538
2539 * coffcode.h (coff_compute_section_file_positions): Updated.
2540 (coff_compute_section_file_positions): Likewise.
2541 * elf.c (assign_section_numbers): Likewise.
2542 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
2543 * elf64-mmix.c (mmix_elf_final_link): Likewise.
2544 * elfxx-ia64.c (elfNN_ia64_object_p): Likewise.
2545 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
2546 * sunos.c (sunos_add_dynamic_symbols): Likewise.
2547 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
2548
2549 * ecoff.c (bfd_debug_section): Initialize prev.
2550
2551 * section.c (bfd_section): Add prev.
2552 (bfd_section_list_remove): Updated.
2553 (bfd_section_list_append): New.
2554 (bfd_section_list_insert_after): New.
2555 (bfd_section_list_insert_before): New.
2556 (bfd_section_list_insert): Removed.
2557 (bfd_section_removed_from_list): Updated.
2558 (STD_SECTION): Initialize prev.
2559 (bfd_section_init): Updated.
2560 (bfd_section_list_clear): Updated.
2561
2562 * bfd-in2.h: Regenerated.
2563
a31501e9
L
25642005-05-02 H.J. Lu <hongjiu.lu@intel.com>
2565
2566 * elf.c (_bfd_elf_new_section_hook): Don't call
2567 _bfd_elf_get_sec_type_attr on sections from input files.
2568
d05da6a8
L
25692005-05-02 H.J. Lu <hongjiu.lu@intel.com>
2570
2571 * merge.c (sec_merge_init): Call bfd_hash_table_init_n with
2572 hash table size 16699 instead of bfd_hash_table_init.
2573
a67b080b
PB
25742005-05-01 Paul Brook <paul@codesourcery.com>
2575
2576 * elflink.c (_bfd_elf_merge_symbol): Skip weak definitions if a strong
2577 definition has already been seen.
2578
c6596c5e
PB
25792005-05-01 Paul Brook <paul@codesourcery.com>
2580
2581 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Treat
2582 R_ARM_PLT32 the same as R_ARM_PC24.
2583 (arm_add_to_rel): Ditto.
2584
9a813b7a
DJ
25852005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
2586
2587 * config.bfd: Add h8300*-*-rtemscoff.
2588 Switch h8300*-*-rtems* to elf.
2589
aa7eb06d
DJ
25902005-04-29 Daniel Jacobowitz <dan@codesourcery.com>
2591
2592 * aclocal.m4, Makefile.in: Regnerated.
2593
fa0d1cab
PB
25942005-04-28 Paul Brook <paul@codesourcery.com>
2595
2596 Merge changes only applied to Makefile.in.
2597 * Makefile.am (BFD32_BACKENDS): Add elfxx-sparc.lo
2598 (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
2599 (elfxx-sparc.lo): New rule.
2600 (elf32-sparc.lo): Add elfxx-sparc.h dependency.
2601 (elf64-sparc.lo): Likewise.
2602
0291d291
NC
26032005-04-28 Julian Brown <julian@codesourcery.com>
2604
2605 * elflink.c (_bfd_elf_provide_symbol): Provide symbol for weak
2606 import.
2607
26c61ae5
L
26082005-04-27 H.J. Lu <hongjiu.lu@intel.com>
2609
2610 * elf-bfd.h (bfd_elf_sym_name): Also take "asection *".
2611
2612 * elf.c (bfd_elf_sym_name): Updated.
2613 (group_signature): Likewise.
2614 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2615 * elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
2616 (ppc64_elf_edit_toc): Likewise.
2617 (ppc64_elf_relocate_section): Likewise.
2618 * elfcode.h (elf_slurp_symbol_table): Likewise.
2619 * elflink.c (elf_link_input_bfd): Likewise.
2620
2621 * elfxx-ia64.c (elfNN_ia64_relocate_section): Call
2622 bfd_elf_sym_name to get local symbol name when reporting errors.
2623
8c19749a
NC
26242005-04-27 Nick Clifton <nickc@redhat.com>
2625
2626 * elflink.c (elf_link_input_bfd): Handle the case where a badly
2627 formatted input file results in a reloc which has no associated
2628 global symbol.
2629
8e5b6e16
JG
26302005-04-26 Jerome Guitton <guitton@gnat.com>
2631
2632 * bfd.m4 (BFD_NEED_DECLARATION): Restore.
2633
e459dc7b
DM
26342005-04-25 David S. Miller <davem@davemloft.net>
2635
2636 * elfxx-sparc.c (sparc_elf_append_rela_64): Add BFD64 protection.
2637 (sparc_elf_r_info_64, _bfd_sparc_elf_finish_dynamic_symbol,
2638 sparc64_finish_dyn, _bfd_sparc_elf_finish_dynamic_sections):
2639 Likewise.
2640
6d633fd2
L
26412005-04-25 H.J. Lu <hongjiu.lu@intel.com>
2642
2643 PR 858
2644 * elflink.c (elf_link_input_bfd): Make non-debugging reference
2645 to discarded section an error.
2646
d34a2b1d
JG
26472005-04-21 Jerome Guitton <guitton@gnat.com>
2648
2649 * configure.in: Replace BFD_NEED_DECLARATION checks by the
2650 corresponding AC_CHECK_DECLS.
2651 * sysdep.h: Replace NEED_DECLARATION_* checks by the corresponding
2652 HAVE_DECL_*.
2653 * bfd.m4 (BFD_NEED_DECLARATION): Remove, obsolete.
2654 * configure: Regenerate.
2655 * config.in: Ditto.
2656
ff01938b
AS
26572005-04-21 Andreas Schwab <schwab@suse.de>
2658
c2e70a82
AS
2659 * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove
2660 unsigned from type of dynamic_interpreter.
2661 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create): Remove
2662 casts again.
2663
ff01938b
AS
2664 * elf.c (assign_section_numbers): Fix comment.
2665
0858d3ec
JG
26662005-04-21 Jerome Guitton <guitton@gnat.com>
2667
2668 * som.c (som_bfd_print_private_bfd_data): Add explicit cast to long
2669 for struct som_exec_auxhdr fields.
2670
7920ce38
NC
26712005-04-21 Nick Clifton <nickc@redhat.com>
2672
2673 * aout-adobe.c: Convert to ISO C and fix formatting.
2674 * aout-arm.c: Convert to ISO C and fix formatting.
2675 * aout-cris.c: Convert to ISO C and fix formatting.
2676 * aout-ns32k.c: Convert to ISO C and fix formatting.
2677 * aout-tic30.c: Convert to ISO C and fix formatting.
2678 * coffcode.h: Convert to ISO C and fix formatting.
2679 * coffswap.h: Convert to ISO C and fix formatting.
2680 * i386aout.c: Convert to ISO C and fix formatting.
2681 * libaout.h: Convert to ISO C and fix formatting.
2682 * libcoff-in.h: Convert to ISO C and fix formatting.
2683 * libcoff.h: Convert to ISO C and fix formatting.
2684 * libecoff.h: Convert to ISO C and fix formatting.
2685 * libnlm.h: Convert to ISO C and fix formatting.
2686 * libpei.h: Convert to ISO C and fix formatting.
2687 * libxcoff.h: Convert to ISO C and fix formatting.
2688 * nlm-target.h: Convert to ISO C and fix formatting.
2689 * nlm.c: Convert to ISO C and fix formatting.
2690 * nlm32-alpha.c: Convert to ISO C and fix formatting.
2691 * nlm32-i386.c: Convert to ISO C and fix formatting.
2692 * nlm32-ppc.c: Convert to ISO C and fix formatting.
2693 * nlm32-sparc.c: Convert to ISO C and fix formatting.
2694 * nlmcode.h: Convert to ISO C and fix formatting.
2695 * nlmswap.h: Convert to ISO C and fix formatting.
2696 * pe-mips.c: Convert to ISO C and fix formatting.
2697 * peXXigen.c: Convert to ISO C and fix formatting.
2698 * peicode.h: Convert to ISO C and fix formatting.
2699 * vms-gsd.c: Convert to ISO C and fix formatting.
2700 * vms-hdr.c: Convert to ISO C and fix formatting.
2701 * vms-misc.c: Convert to ISO C and fix formatting.
2702 * vms-tir.c: Convert to ISO C and fix formatting.
2703 * vms.c: Convert to ISO C and fix formatting.
2704 * vms.h: Convert to ISO C and fix formatting.
2705
2706 * coffgen.c (coff_print_symbol): Restore correct formatting of
2707 output.
2708
e8be8da4
DM
27092005-04-20 David S. Miller <davem@davemloft.net>
2710
2711 * elfxx-sparc.c (sparc_elf_r_symndx_64): Fix compiler warning.
2712 (_bfd_sparc_elf_link_hash_table_create): Likewise.
2713 (allocate_dynrelocs): Likewise.
2714
ec7b76fe
JG
27152005-04-20 Jerome Guitton <guitton@gnat.com>
2716
2717 * configure.in: Fix the check for basename declaration. Add check
2718 for declarations of ftello, ftello64, fseeko, fseeko64.
2719 * configure: Regenerate.
2720 * config.in: Ditto.
2721 * sysdep.h: If needed, declare ftello, ftello64, fseeko, fseeko64.
2722
22b75d0a
DM
27232005-04-19 David S. Miller <davem@davemloft.net>
2724
2725 * elfxx-sparc.c: New file.
2726 * elfxx-sparc.h: New file.
2727 * Makefile.in (BFD32_BACKENDS): Add elfxx-sparc.lo
2728 (BFD32_BACKENDS_CFILES): Add elfxx-sparc.c
2729 (elfxx-sparc.lo): New rule.
2730 (elf32-sparc.lo): Add elfxx-sparc.h dependency.
2731 (elf64-sparc.lo): Likewise.
2732 * configure.in (bfd_elf32_sparc_vec): Add elfxx-sparc.lo
2733 (bfd_elf64_sparc_vec): Likewise.
2734 * configure: Regenerate.
2735 * elf32-sparc.c: Remove common code now in elfxx-sparc.c
2736 * elf64-sparc.c: Likewise, also use elf64_sparc_*() naming
2737 which is more consistent with elf32-sparc.c
2738
a008ac03
DJ
27392005-04-19 Daniel Jacobowitz <dan@codesourcery.com>
2740
2741 * elfxx-mips.c (struct mips_elf_link_hash_entry): Update comment.
2742 (mips_elf_create_local_got_entry): Check h->root.forced_local.
2743
c87b5a93
AM
27442005-04-19 Alan Modra <amodra@bigpond.net.au>
2745
2746 * elf32-ppc.c (ppc_elf_check_relocs): Don't bother with
2747 dynamic relocs in non-SEC_ALLOC sections.
2748 (ppc_elf_gc_sweep_hook): Likewise.
2749 (ppc_elf_relax_section): Likewise.
2750 (ppc_elf_relocate_section): Likewise.
2751
7cefacd3
NC
27522005-04-18 Nick Clifton <nickc@redhat.com>
2753
2754 * aix5ppc-core.c (xcoff64_core_p): Fix compile time warning
2755 assigning a value to return_value.
2756
278d8f37
L
27572005-04-17 H.J. Lu <hongjiu.lu@intel.com>
2758
2759 PR 855
2760 * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
2761 created group data.
2762
20dbb49d
L
27632005-04-17 H.J. Lu <hongjiu.lu@intel.com>
2764
2765 PR 855
2766 * elf.c (setup_group): Properly handle zero group count.
2767
6a808a40
MK
27682005-04-17 Mark Kettenis <kettenis@gnu.org>
2769
2770 * som.c (hppa_som_reloc, som_mkobject, som_is_space)
2771 (som_is_subspace, compare_subspaces, som_compute_checksum)
2772 (som_build_and_write_symbol_table, som_slurp_symbol_table): New
2773 protoypes.
2774 (hppa_som_reloc, compare_syms, compare_subspaces)
2775 (som_print_symbol, som_get_section_contents)
2776 (som_set_section_contents): Remove space after 'void *'.
2777 (som_bfd_print_private_bfd_data): Use %lx to print longs.
2778 (som_bfd_merge_private_bfd_data)
2779 (som_bfd_copy_private_header_data, som_bfd_set_private_flags): New
2780 defines.
2781
33bfe774
JB
27822004-04-15 Julian Brown <julian@codesourcery.com>
2783
2784 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2785 * bfd-in2.h: Regenerate.
2786 * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
2787 (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
2788 (bfd_elf32_arm_set_target_relocs): Handle use_blx.
2789 (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
2790 relocations if requested to.
2791 (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
2792 use_blx rather than symbian_p.
2793 (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
2794 use_blx is in effect.
2795 (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
2796 for SymbianOS.
2797
745c12f8
NC
27982005-04-15 Nick Clifton <nickc@redhat.com>
2799
2800 * coffgen.c (coff_print_symbol): Use fprintf_vma to print vma
2801 values.
2802
2e8b3a61
AM
28032005-04-15 Alan Modra <amodra@bigpond.net.au>
2804
2805 PR ld/815
2806 * elflink.c (elf_smash_syms): Clear undef.next if it's not being
2807 used as a list pointer.
2808
9e9b66a9
AM
28092005-04-14 Alan Modra <amodra@bigpond.net.au>
2810
2811 * Makefile.am (NO_WERROR): Define.
2812 * warning.m4: New file
2813 * acinclude.m4: Include warning.m4.
2814 * configure.in: Invoke AM_BINUTILS_WARNINGS.
2815 * Makefile.in: Regenerate.
2816 * configure: Regenerate.
2817
8699aa54
AM
28182005-04-14 Alan Modra <amodra@bigpond.net.au>
2819
92ceba1e
AM
2820 * merge.c (sec_merge_emit): Tidy. Check for bfd_zmalloc errors.
2821 Write trailing padding.
2822
8699aa54
AM
2823 * merge.c (merge_strings): Round up section size for alignment.
2824
40937810
JJ
28252005-04-14 David S. Miller <davem@davemloft.net>
2826
2827 Add TLS support for 64-bit Sparc ELF.
2828 * elf64-sparc.c (sparc64_elf_dyn_relocs,
2829 sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
2830 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
2831 sparc64_elf_hash_entry, sparc64_elf_tdata,
2832 sparc64_elf_local_got_tls_type): New defines.
2833 (sparc64_elf_mkobject): New function.
2834 (sparc64_elf_link_hash_table): Add members for dynamic linker
2835 sections PLT, RELPLT, DYNBSS, and RELBSS. Add tls_ldm_got
2836 uion to track TLS GOT references. Add sym_sec to cache
2837 mappings from local sym to section.
2838 (link_hash_newfunc): New function.
2839 (sparc64_elf_bfd_link_hash_table_create): Rename to
2840 sparc64_elf_link_hash_table_create for consistency.
2841 Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
2842 (sparc64_elf_create_dynamic_sections): Initialize new section
2843 members of sparc64_elf_link_hash_table. Only init srelbss
2844 if not-shared.
2845 (sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
2846 New functions.
2847 (SPARC_NOP): Define.
2848 (sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
2849 sparc64_elf_plt_ptr_offset): Delete.
2850 (sparc64_plt_entry_build): New function to build PLT entries
2851 gradually instread of all at once at the end of linking.
2852 (sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
2853 local vars. Get them from sparc64_elf_hash_table instead.
2854 Check early on if r_symndx is in bounds. Handle TLS transitions.
2855 Account for TLS GOT references and DF_STATIC_TLS, as needed.
2856 For TLS relocs, record the tls_type in either
2857 sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
2858 appropriate. For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
2859 to the __tls_get_addr symbol. For PLT relocs, track references
2860 via h->plt.refcount. When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
2861 PC_LM22} and h not-NULL, set h->non_got_ref. For global data
2862 symbol references, count the number of relocations needed for
2863 that symbol. For default switch case, don't error, this lets
2864 the TLS relocs not explicitly handled by this function get
2865 accepted.
2866 (sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
2867 (sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
2868 it from sparc64_elf_hash_table. Store the real PLT offset
2869 in h->plt.offset, and build PLT entries one at a time. Also
2870 get .dynbss section pointer from htab.
2871 (allocate_dynrelocs, readonly_dynrelocs,
2872 sparc64_omit_section_dynsym): New functions.
2873 (sparc64_elf_omit_section_dynsym): Use these new functions as
2874 helpers.
2875 (dtpoff_base, tpoff): New functions.
2876 (sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
2877 locals, get them from sparc64_elf_hash_table. Handle TLS
2878 relocations and refcounting in main relocation loop.
2879 (sparc64_elf_finish_dynamic_symbol): Use
2880 sparc64_elf_link_hash_table. Build PLT entries as we see
2881 them. Handle TLS GOT relocations.
2882 (sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
2883 from sparc64_elf_hash_table. Initialize only PLT header
2884 not all entries since we not build PLT entries one by one.
2885 (elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
2886 elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
2887 elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
2888
e75a280b
L
28892005-04-13 Daniel Jacobowitz <dan@codesourcery.com>
2890
2891 * elflink.c (elf_link_input_bfd): Update check for removed
2892 sections.
2893
ceae3e33
AM
28942005-04-12 Alan Modra <amodra@bigpond.net.au>
2895
2896 * Makefile.am: Run "make dep-am".
2897 * Makefile.in: Regenerate.
2898 * aclocal.m4: Regenerate.
2899 * libcoff.h: Regenerate.
2900
ab82c5b9
L
29012005-04-11 H.J. Lu <hongjiu.lu@intel.com>
2902
2903 * linker.c (_bfd_generic_link_output_symbols): Also check if
2904 the output section of an input section has been removed from
2905 the output file.
2906
2907 * section.c (bfd_section_list_remove): Clear the next field
2908 of the removed section.
2909 (bfd_section_removed_from_list): New.
2910 * bfd-in2.h: Regenerated.
2911
bd695bcc
JJ
29122005-04-11 David S. Miller <davem@davemloft.net>
2913
2914 * elf32-sparc.c (elf32_sparc_relocate_section,
2915 R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
2916 R_SPARC_TLS_LE_{HIX22,LOX10}.
2917 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
2918 xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
2919 (elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
2920 or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.
2921
b5b2699c
L
29222005-04-11 H.J. Lu <hongjiu.lu@intel.com>
2923
2924 * coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
2925
116c20d2 29262005-04-11 Nick Clifton <nickc@redhat.com>
d7128ce4 2927
116c20d2
NC
2928 * aout-target.h: Convert to ISO C.
2929 * aoutf1.h: Convert to ISO C.
2930 * aoutx.h: Convert to ISO C.
2931 * bout.c: Convert to ISO C.
2932 * dwarf1.c: Convert to ISO C.
2933 * ecoffswap.h: Convert to ISO C.
2934 * freebsd.h: Convert to ISO C.
2935 * genlink.h: Convert to ISO C.
2936 * ieee.c: Convert to ISO C.
2937 * ihex.c: Convert to ISO C.
2938 * libcoff-in.h: Convert to ISO C.
2939 * mach-o.c: Convert to ISO C.
2940 * mach-o.h: Convert to ISO C.
2941 * netbsd.h: Convert to ISO C.
2942 * ns32k.h: Convert to ISO C.
2943 * ns32knetbsd.c: Convert to ISO C.
2944 * oasys.c: Convert to ISO C.
2945 * pdp11.c: Convert to ISO C.
2946 * pef-traceback.h: Convert to ISO C.
2947 * pef.c: Convert to ISO C.
2948 * pef.h: Convert to ISO C.
2949 * riscix.c: Convert to ISO C.
2950 * som.c: Convert to ISO C.
2951 * som.h: Convert to ISO C.
2952 * srec.c: Convert to ISO C.
2953 * stabs.c: Convert to ISO C.
2954 * sunos.c: Convert to ISO C.
2955 * tekhex.c: Convert to ISO C.
2956 * versados.c: Convert to ISO C.
2957 * version.h: Convert to ISO C.
2958 * xcoff-target.h: Convert to ISO C.
2959 * xcofflink.c: Convert to ISO C.
2960 * xsym.c: Convert to ISO C.
2961 * xsym.h: Convert to ISO C.
2962
8f6277f5
PB
29632005-04-08 Paul Brook <paul@codesourcery.com>
2964
2965 * elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
2966 (ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
2967 (ARM2THUMB_PIC_GLUE_SIZE): Define.
2968 (a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
2969 (elf32_arm_to_thumb_stub): Create PIC stubs.
2970 (record_arm_to_thumb_glue): Use different stub size for relocatable
2971 images.
2972
8c1d1bb8
AM
29732005-04-05 Alan Modra <amodra@bigpond.net.au>
2974
2975 * elf64-ppc.c (dec_dynrel_count): New function split out from
2976 ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
2977 (ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
2978 (ppc64_elf_tls_optimize): Likewise.
2979
8c101720
NC
29802005-04-05 Mark Kettenis <kettenis@gnu.org>
2981
2982 * netbsd-core.c (SPARC_WCOOKIE_OFFSET): Renamed from
2983 CORE_WCOOKIE_OFFSET.
2984 (SPARC64_WCOOKIE_OFFSET): New.
2985 (netbsd_core_file_p): Provide .wcookie section for OpenBSD/sparc64.
2986
429cc0ae
NC
29872005-04-05 Nick Clifton <nickc@redhat.com>
2988
2989 * po/rw.po: New translation: Kinyarwanda
2990 * configure.in (ALL_LINGUAS): Add rw
2991 * configure: Regenerate.
2992
cc2e31b9
RS
29932005-04-05 Richard Sandiford <rsandifo@redhat.com>
2994
2995 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
2996 (_bfd_mips_elf_section_from_shdr): Use it to check for recognized
2997 SHT_MIPS_OPTIONS names. Allow all sections with unrecognised
2998 section flags.
2999 (_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
3000 to check for SHT_MIPS_OPTIONS sections.
3001 (_bfd_mips_elf_set_section_contents): Likewise.
3002
8236346f
EC
30032005-04-04 Eric Christopher <echristo@redhat.com>
3004
3005 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
3006 Clean up gp handling code.
3007
7e4111ad
L
30082005-04-04 H.J. Lu <hongjiu.lu@intel.com>
3009
3010 * elf.c (bfd_elf_set_group_contents): Ignore linker created
d7128ce4 3011 group section.
da9f89d4
L
3012 (assign_section_numbers): Accept link_info. Check SHT_GROUP
3013 sections for relocatable files only. Remove the linker created
3014 group sections.
3015 (_bfd_elf_compute_section_file_positions): Pass link_info to
3016 assign_section_numbers.
3017
3018 * elfxx-ia64.c (elfNN_ia64_object_p): New.
3019 (elf_backend_object_p): Defined.
7e4111ad 3020
96982dc9
L
30212005-04-04 H.J. Lu <hongjiu.lu@intel.com>
3022
3023 * elf-bfd.h (elf_section_data): Use (sec) instead of sec.
3024
a13afe8e
FF
30252005-04-03 Fred Fish <fnf@specifixinc.com>
3026
3027 * dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
3028 dwarf_ranges_size members.
3029 (struct comp_unit): Add base_address member.
3030 (struct funcinfo): Replace low/high members with an arange.
3031 (arange_add): Replace incoming "unit" parameter with "abfd" and
3032 "first_arange" pointers. Reorganize/rewrite function body.
3033 (decode_line_info): Change arange_add call to pass bfd and arange
3034 pointers.
3035 (lookup_address_in_line_info_table): Use arange list instead of
3036 individual low/high members. Walk function's arange list to find
3037 lowest PC in list, to test for overlapping functions.
3038 (read_debug_ranges): New function, reads the debug_ranges section.
3039 (lookup_address_in_function_table): Use arange list instead of
3040 individual low/high members. Rewrite to find smallest range that
3041 matches.
3042 (read_rangelist): Read a given rangelist from debug_ranges.
3043 (scan_unit_for_functions): Use arange list instead of individual
3044 low/high members. Handle a DW_AT_ranges attribute.
3045 (parse_comp_unit): Use arange list instead of individual low/high
3046 members. Save comp unit base address. Handle a DW_AT_ranges
3047 attribute.
3048
2796fd96
L
30492005-04-01 H.J. Lu <hongjiu.lu@intel.com>
3050
3051 * elf.c (assign_section_numbers): Really use the kept section.
3052
01b3c8ab
L
30532005-03-31 H.J. Lu <hongjiu.lu@intel.com>
3054
3055 * elf-bfd.h (_bfd_elf_check_kept_section): New.
3056
3057 * elf.c (assign_section_numbers): When sh_link points to a
3058 discarded section, call _bfd_elf_check_kept_section to see if
3059 the kept section can be used. Otherwise reject sh_link
3060 pointing to discarded section.
3061
3062 * elflink.c (_bfd_elf_check_kept_section): New.
3063 (elf_link_input_bfd): Use it.
3064
35090471
AM
30652005-04-01 Alan Modra <amodra@bigpond.net.au>
3066
3067 * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
3068 that we no longer need.
3069
7356fed5
AM
30702005-04-01 Alan Modra <amodra@bigpond.net.au>
3071
3072 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
3073 rather than 0.
77623a34 3074 (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check.
7356fed5 3075
28b13744
L
30762005-03-31 H.J. Lu <hongjiu.lu@intel.com>
3077
3078 * elf.c (assign_section_numbers): Fix a typo.
3079
c93625e2
L
30802005-03-31 H.J. Lu <hongjiu.lu@intel.com>
3081
3082 * elflink.c (elf_link_input_bfd): Remove the extra `\n' in
3083 error message.
3084 (_bfd_elf_section_already_linked): Likewise.
3085
fddc4048
JG
30862005-03-31 Jerome Guitton <guitton@gnat.com>
3087
3088 * config.in: Regenerate.
3089
2e9ebff5
JG
30902005-03-31 Jerome Guitton <guitton@gnat.com>
3091
c93625e2
L
3092 * config.in (HAVE_DECL_BASENAME): New configure macro.
3093 * configure.in: Check for basename.
3094 * configure: Regenerate.
2e9ebff5 3095
05ea83ed
JB
30962005-03-30 Julian Brown <julian@codesourcery.com>
3097
3098 * bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
3099 bfd_elf32_is_arm_mapping_symbol_name.
3100 * bfd-in2.h: Regenerate.
3101 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
3102 bfd_elf32_is_arm_mapping_symbol_name.
3103 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
3104 bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
3105 (arm_elf_find_function): Likewise.
3106 (elf32_arm_output_symbol_hook): Likewise.
3107
9d2da7ca
JB
31082005-03-30 Julian Brown <julian@codesourcery.com>
3109
3110 * bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
3111 * bfd-in2.h: Regenerate.
3112 * elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
3113 bfd_elf32_is_arm_mapping_symbol_name.
3114 (elf32_arm_output_symbol_hook): Likewise.
3115 (arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
3116 mapping symbols.
3117 (is_arm_mapping_symbol_name): Function moved from here...
3118 * cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here, renamed
3119 and made global.
3120
efa9bda4
AL
31212005-03-29 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
3122
3123 * configure.in: Check for ffs decl and alphabetize.
3124 * config.in: Regenerate.
3125 * configure: Regenerate.
d7128ce4 3126 * sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and alphabetize.
efa9bda4 3127
09a9d560
FF
31282005-03-29 Fred Fish <fnf@specifixinc.com>
3129
3130 * dwarf2.c (struct comp_unit): Fix typo.
3131 (scan_unit_for_functions): Remove unused local variable "name"
3132 and dead code that set it.
3133
ba93b8ac
DJ
31342005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
3135 Phil Blundell <philb@gnu.org>
3136
3137 * bfd-in2.h, libbfd.h: Regenerated.
3138 * reloc.c: Add ARM TLS relocations.
3139 * elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
3140 relocations.
3141 (elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
3142 (elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
3143 (elf32_arm_tls_ie32_howto): New.
3144 (elf32_arm_howto_from_type): Support TLS relocations.
3145 (elf32_arm_reloc_map): Likewise.
3146 (elf32_arm_reloc_type_lookup): Likewise.
3147 (TCB_SIZE): Define.
3148 (struct elf32_arm_obj_tdata): New.
3149 (elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
3150 (elf32_arm_mkobject): New function.
3151 (struct elf32_arm_relocs_copied): Add pc_count.
3152 (elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
3153 (GOT_TLS_IE): Define.
3154 (struct elf32_arm_link_hash_table): Add tls_ldm_got.
3155 (elf32_arm_link_hash_newfunc): Initialize tls_type.
3156 (elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
3157 (elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
3158 (dtpoff_base, tpoff): New functions.
3159 (elf32_arm_final_link_relocate): Handle TLS relocations.
3160 (IS_ARM_TLS_RELOC): Define.
3161 (elf32_arm_relocate_section): Warn about TLS mismatches.
3162 (elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
3163 (elf32_arm_check_relocs): Detect invalid symbol indexes. Handle
3164 TLS relocations and pc_count.
3165 (elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
3166 (allocate_dynrelocs): Handle TLS. Bind REL32 relocs to local
3167 calls.
3168 (elf32_arm_size_dynamic_sections): Handle TLS.
3169 (elf32_arm_finish_dynamic_symbol): Likewise.
3170 (bfd_elf32_mkobject): Define.
3171
71a976dd
DJ
31722005-03-29 Daniel Jacobowitz <dan@codesourcery.com>
3173
3174 * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
3175 relocation types. Don't count relocations which will use a PLT.
3176
7e7353ed
JB
31772005-03-29 Joel Brobecker <brobecker@gnat.com>
3178
3179 * elf.c (elfcore_grok_nto_status): Print tid as long.
3180 (elfcore_grok_nto_regs): Likewise.
3181
166856d7
JB
31822005-03-29 Joel Brobecker <brobecker@gnat.com>
3183
40937810 3184 * irix-core.c: Remove some unnecessary prototypes.
166856d7 3185
40f85900
JB
31862005-03-28 Joel Brobecker <brobecker@adacore.com>
3187
3188 * irix-core.c: Convert to ISO C.
3189
aa2e06ba
JB
31902005-03-28 Joel Brobecker <brobecker@adacore.com>
3191
3192 * irix-core.c (do_sections): Replace + by | in expression.
3193 (irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
3194 to unused parameters to avoid a compiler warning.
3195
832bc186
MK
31962005-03-28 Mark Kettenis <kettenis@gnu.org>
3197
3198 * netbsd-core.c: Convert to ISO C. Fix formatting.
3199
82f0cfbd
EC
32002005-03-24 Eric Christopher <echristo@redhat.com>
3201
3202 * elfxx-mips.c: Revert previous patch.
3203
d7b9976f
NC
32042005-03-24 Nick Clifton <nickc@redhat.com>
3205
3206 * targets.c (_bfd_target_vector): Only include the
3207 bfd_elf32_ia64_hpux_big_vec vector when building a 64-bit BFD with
3208 all targets enabled.
3209
074d327a
NC
32102005-03-24 James E Wilson <wilson@specifixinc.com>
3211
3212 * Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
3213 (BFD64_BACKENDS): Add elf32-ia64.lo.
3214 * Makefile.in: Regenerate.
3215
cc27e1dc
EC
32162005-03-23 Eric Christopher <echristo@redhat.com>
3217
3218 * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
3219 (mips_elf_calculate_relocation): Use. Define DF_TEXTREL
3220 after emitting relocation.
3221 (_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
3222 (_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
3223 and readonly_reloc.
3224
ed84e695
NC
32252005-03-23 Mike Frysinger <vapier@gentoo.org>
3226 Nick Clifton <nickc@redhat.com>
3227
3228 * config.bfd: Accept any C library to accompany a GNU Linux
3229 implementation, not just the GNU C library.
3230 * configure.in: Likewise.
3231 * configure: Regenerate.
3232
81e1b023
L
32332005-03-22 H.J. Lu <hongjiu.lu@intel.com>
3234
3235 * bfd-in.h (_bfd_elf_provide_symbol): New.
3236 * bfd-in2.h: Regenerated.
3237
3238 * elf32-ppc.c (set_linker_sym): Moved to elflink.c.
3239 (ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
3240 of set_linker_sym.
3241
3242 * elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
3243 from elf32-ppc.c.
3244
672c2d7e
HPN
32452005-03-22 Hans-Peter Nilsson <hp@axis.com>
3246
3247 * hash.c (strtab_hash_newfunc): Fix typo in allocated size.
3248
1fbc7e7a
BW
32492005-03-22 Bob Wilson <bob.wilson@acm.org>
3250
3251 * xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
3252 xtensa_sysreg_lookup_name, xtensa_interface_lookup,
3253 xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
3254 (xtensa_opcode_decode): Rearrange code.
3255
c8e7bf0d
NC
32562005-03-22 Nick Clifton <nickc@redhat.com>
3257
3258 * binary.c: Convert to ISO C90 formatting.
3259 * coff-arm.c: Convert to ISO C90 formatting.
3260 * coffgen.c: Convert to ISO C90 formatting.
3261 * elf32-gen.c: Convert to ISO C90 formatting.
3262 * elf64-gen.c: Convert to ISO C90 formatting.
3263 * hash.c: Convert to ISO C90 formatting.
3264 * ieee.c: Convert to ISO C90 formatting.
3265
28a094c2
DJ
32662005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
3267
3268 * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
3269 unresolved symbols in R_ARM_NONE relocations.
3270
0945cdfd
DJ
32712005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
3272
3273 * elf32-arm.c (elf32_arm_final_link_relocate): Add
3274 UNRESOLVED_RELOC_P argument. Set it appropriately.
3275 (elf32_arm_relocate_section): Update call to
3276 elf32_arm_final_link_relocate. Don't clobber RELOCATION; use
3277 unresolved_reloc instead.
3278
11d2f718
AM
32792005-03-23 Alan Modra <amodra@bigpond.net.au>
3280
3281 * elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
3282 .gnu.warning.* sections.
3283
76750a2f
AM
32842005-03-22 Alan Modra <amodra@bigpond.net.au>
3285
3286 * elf32-ppc.c (elf_linker_section_pointers_t): Remove
3287 written_address_p.
3288 (ppc_elf_create_linker_section): Don't try to reuse existing section.
3289 (elf_create_pointer_linker_section): Delete info parm. Don't make
3290 h dynamic. Don't set written_address_p.
3291 (ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
3292 (bfd_put_ptr): Delete.
3293 (elf_finish_pointer_linker_section): Remove output_bfd and info parms.
3294 Always write section contents. Assert global sym is def_regular.
3295 Use offset bottom bit as a written flag.
3296 (ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
3297 calls.
3298
f85f57ad
AM
32992005-03-22 Alan Modra <amodra@bigpond.net.au>
3300
3301 * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
3302 (ppc_elf_set_sdata_syms): ..here. Expand comment. Set .sbss start
3303 and end syms.
3304
2dc773a0
NC
33052005-03-21 Nick Clifton <nickc@redhat.com>
3306
3307 * coff-arm.c (coff_link_hash_entry): Only define for non WINCE
3308 targets.
3309 (t2a1_bx_pc_insn): Likewise.
3310 (t2a2_noop_insn): Likewise.
3311 (t2a3_b_insn): Likewise.
3312 (t2a1_push_insn): Likewise.
3313 (t2a2_ldr_insn): Likewise.
3314 (t2a3_mov_insn): Likewise.
3315 (t2a4_bx_insn): Likewise.
3316 (t2a5_pop_insn): Likewise.
3317 (t2a6_bx_insn): Likewise.
3318 (coff_arm_relocate_section): Only declare the high_address
3319 variable for non WINCE targets.
3320
644285ef
AM
33212005-03-22 Alan Modra <amodra@bigpond.net.au>
3322
3323 * elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
3324 SEC_LINKER_CREATED. Attach to dynobj.
3325 (ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
3326
c9a2f333
AM
33272005-03-21 Alan Modra <amodra@bigpond.net.au>
3328
3329 * elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
3330 sym_offset. Add name, bss_name, sym_name, sym_val.
3331 (struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
3332 Add sdata array of elf_linker_section_t.
3333 (ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
3334 (enum elf_linker_section_enum): Delete.
3335 (ppc_elf_create_linker_section): Rewrite. Don't create syms here.
3336 (ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
3337 the special sections are needed. Adjust htab->sdata refs.
3338 Ensure dynobj is set in sreloc code.
3339 (ppc_elf_size_dynamic_sections): Strip sdata sections.
3340 (ppc_elf_set_sdata_syms): New function.
3341 (elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
3342 (ppc_elf_relocate_section): Adjust references to htab->sdata. Use
3343 sym_val instead of sym_hash.
3344 * elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
3345
8853c3d3
AM
33462005-03-21 Alan Modra <amodra@bigpond.net.au>
3347
3348 * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
3349 (ppc_elf_merge_private_bfd_data): Likewise.
3350
2bb04cf2
AM
33512005-03-21 Alan Modra <amodra@bigpond.net.au>
3352
3353 * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
3354 (ppc_elf_create_linker_section): Don't create rel_section.
3355 (elf_create_pointer_linker_section): Don't size relocs.
3356 (elf_finish_pointer_linker_section): Remove relative_reloc parm.
3357 Don't generate relocs.
3358 (ppc_elf_relocate_section): Adjust calls to
3359 elf_finish_pointer_linker_section.
3360
d2663f46
AM
33612005-03-21 Alan Modra <amodra@bigpond.net.au>
3362
3363 * elf32-ppc.c (is_ppc_elf_target): New function.
3364 (ppc_elf_merge_private_bfd_data): Use it rather than just testing
3365 for bfd_target_elf_flavour. Do this test before endian check.
3366 (ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
3367 (ppc_elf_size_dynamic_sections): Likewise.
3368
6dc132d9
L
33692005-03-20 H.J. Lu <hongjiu.lu@intel.com>
3370
3371 * elf-bfd.h (elf_backend_data): Add int to
3372 elf_backend_section_from_shdr.
3373 (bfd_elf_section_data): Update comment for this_idx.
3374 (_bfd_elf_make_section_from_shdr): Add int.
3375 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
3376
3377 * elf.c (_bfd_elf_make_section_from_shdr): Take section index
3378 and use it to set this_idx in bfd_elf_section_data.
3379 (bfd_section_from_shdr): Pass shindex to
3380 _bfd_elf_make_section_from_shdr.
3381 (_bfd_elf_section_from_bfd_section): Use this_idx in
3382 bfd_elf_section_data to find section index.
3383
3384 * elf32-arm.c (elf32_arm_section_from_shdr): Take section
3385 index and pass it to _bfd_elf_make_section_from_shdr.
3386 * elf32-i370.c(i370_elf_section_from_shdr): Likewise.
3387 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
3388 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
3389 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
3390 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
3391 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
3392 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
3393 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
3394 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
3395
cabd4ccc
DS
33962005-03-19 Danny Smith <dannysmith@users.sourceforge.net>
3397 Ross Ridge <rridge@csclub.uwaterloo.ca>
3398
3399 * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
3400 character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
3401 cases. Add comment.
3402
7451fd89
L
34032005-03-18 H.J. Lu <hongjiu.lu@intel.com>
3404
3405 * elflink.c (elf_mark_used_section): Remove check for special
3406 sections.
3407
b4677f03
AS
34082005-03-18 Andreas Schwab <schwab@suse.de>
3409
3410 * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
3411 from bfd_vma to ia64_insn, remove broken cast.
3412
238d258f
NC
34132005-03-18 C Jaiprakash <cjaiprakash@noida.hcltech.com>
3414
8853c3d3 3415 * elf32-m68k.c (elf_cfv4e_plt0_entry): plt entry for coldfire v4e.
238d258f
NC
3416 (elf_m68k_adjust_dynamic_symbol,elf_m68k_finish_dynamic_symbol,
3417 elf_m68k_finish_dynamic_sections): Use it.
3418
b294bdf8
MM
34192005-03-17 Paul Brook <paul@codesourcery.com>
3420 Dan Jacobowitz <dan@codesourcery.com>
3421 Mark Mitchell <mark@codesourcery.com>
3422
3423 * elf32-arm.c (elf32_arm_modify_segment_map): New function.
3424 (elf32_arm_additional_program_headers): Likewise.
3425 (elf_backend_modify_segment_map): Define.
3426 (elf_backend_additional_program_headers): Likewise.
3427 (elf32_arm_symbian_modify_segment_map): Use
3428 elf32_arm_modify_segment_map.
3429
257a4820
L
34302005-03-18 H.J. Lu <hongjiu.lu@intel.com>
3431
3432 * elflink.c (elf_mark_used_section): Check bfd_is_const_section
3433 for special sections.
3434
554220db
AM
34352005-03-18 Alan Modra <amodra@bigpond.net.au>
3436
3437 * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
3438 * elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
3439 section_sym_count param, and return number of section symbols.
3440 (bfd_elf_size_dynamic_sections): Clear section symbol area of
3441 .dynsym contents. Don't bother calling swap_symbol_out on the
3442 first all-zero dynsym.
3443 (elf_mark_used_section): Formatting. Avoid twiddling flags in
3444 special sections like bfd_abs_section.
3445 (bfd_elf_gc_sections): Spelling fix.
3446
36868d45
NC
34472005-03-16 Fred Fish <fnf@specifixinc.com>
3448
3449 PR binutils/790
3450 * dwarf2.c (read_indirect_string): Fix apparent typo, check
3451 dwarf_str_buffer allocation, not dwarf_abbrev_buffer.
3452
57316bff
L
34532005-03-16 H.J. Lu <hongjiu.lu@intel.com>
3454
3455 * elflink.c (elf_mark_used_section): New.
3456 (bfd_elf_gc_sections): Call elf_gc_mark_section for
3457 non-relocatable link if we don't do GC.
3458
1ad12f97
NC
34592005-03-16 Nick Clifton <nickc@redhat.com>
3460 Ben Elliston <bje@au.ibm.com>
3461
569acd2c 3462 * configure.in (werror): New switch: Add -Werror to the
1ad12f97 3463 compiler command line. Enabled by default. Disable via
569acd2c 3464 --disable-werror.
1ad12f97
NC
3465 * configure: Regenerate.
3466
3b5d3310
NC
34672005-03-16 Nick Clifton <nickc@redhat.com>
3468
3469 * ecoff.c: Convert to ISO C90 formatting.
3470
25dbc73a
AM
34712005-03-16 Alan Modra <amodra@bigpond.net.au>
3472
3473 * elf32-ppc.c: Divide file into general and linker specific
3474 functions. Sort linker functions into roughly the order in which
3475 they are called by the ELF linker code.
3476
cb2d1ef2
AM
34772005-03-16 Alan Modra <amodra@bigpond.net.au>
3478
3479 * elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
3480 on section. Correct comment, and add FIXME.
3481 (ppc_elf_additional_program_headers): Don't bump header count for
3482 interp. Test SEC_ALLOC, not SEC_LOAD, and don't test size.
3483 (ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
3484 do allocate memory if they need it.
3485
34723071
NC
34862005-03-15 Mikkel Krautz <krautz@gmail.com>
3487
3488 * config.bfd (x86_64-elf): Add target.
3489
729ae8d2
AM
34902005-03-15 Alan Modra <amodra@bigpond.net.au>
3491
3492 * po/es.po: Commit new Spanish translation.
3493
f0581930
L
34942005-03-14 H.J. Lu <hongjiu.lu@intel.com>
3495
3496 * elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
3497 for global symbol when reporting overflow.
3498
390c0e42
JJ
34992005-03-11 Jakub Jelinek <jakub@redhat.com>
3500
3501 * libbfd-in.h (_bfd_ar_spacepad): New prototype.
3502 * libbfd.h: Rebuilt.
3503 * archive.c (_bfd_ar_spacepad): New function.
3504 (_bfd_construct_extended_name_table, _bfd_write_archive_contents,
3505 bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
3506 coff_write_armap): Use it.
3507 (bfd_ar_hdr_from_filesystem): Likewise. Fix HP-UX large
3508 uid/gid support.
3509 * archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
3510
a2633f4e
MK
35112005-03-10 Mark Kettenis <kettenis@gnu.org>
3512
3513 * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
3514 has_table to the start of the function.
3515
109f7096
BE
35162005-03-10 Ben Elliston <bje@au.ibm.com>
3517
3518 * archive.c: Include hashtab.h.
3519 (struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
3520 (_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
3521 (hash_file_ptr): New function.
3522 (eq_file_ptr): Likewise.
3523 (_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
3524 * libbfd-in.h: Include hashtab.h.
3525 (struct artdata): Change `cache' member type to htab_t.
3526 * libbfd.h: Rebuild.
3527
664fe1be
DJ
35282005-03-08 Daniel Jacobowitz <dan@codesourcery.com>
3529
3530 * configure.in: Bump version to 2.16.90.
3531 * configure: Regenerated.
3532
0709bb22
JJ
35332005-03-07 Jakub Jelinek <jakub@redhat.com>
3534
3535 * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
3536 close is a function like macro in system headers.
3537
b18e2ae5
AM
35382005-03-07 Alan Modra <amodra@bigpond.net.au>
3539
3540 PR ld/778
3541 * elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
3542 _GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
3543
1f170678
AM
35442005-03-06 Alan Modra <amodra@bigpond.net.au>
3545
3546 * elf.c (elfcore_grok_win32pstatus): Warning fixes.
3547
06647dfd
AM
35482005-03-05 Alan Modra <amodra@bigpond.net.au>
3549
3550 * po/bfd.pot: Regenerate.
3551
93f3fa99
AM
35522005-03-05 Alan Modra <amodra@bigpond.net.au>
3553
3554 * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
3555 with is_func.
3556 (func_desc_adjust): Force dot-syms local in executables as well
3557 as shared libs.
3558
bbe506e8
TS
35592005-03-04 David Daney <ddaney@avtrex.com>
3560
3561 * elfxx-mips.c (mips_elf_calculate_relocation): Handle special
3562 '__gnu_local_gp' symbol used by gas -mno-shared.
3563
d27f5fa1
L
35642005-03-03 H.J. Lu <hongjiu.lu@intel.com>
3565
3566 * elf-bfd.h (elf_backend_data): Add "const char *" to
3567 elf_backend_section_from_phdr.
3568
3569 * elf.c (bfd_section_from_phdr): Pass "proc" to the
3570 elf_backend_section_from_phdr hook.
3571
0f20cc35
DJ
35722005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
3573 Joseph Myers <joseph@codesourcery.com>
3574
3575 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
3576 (struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
3577 and tls_ldm_offset.
3578 (struct mips_elf_got_per_bfd_arg): Add global_count.
3579 (struct mips_elf_count_tls_arg): New.
3580 (struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
3581 (struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
3582 (GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
3583 (GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
3584 (TLS_RELOC_P): Define.
3585 (TP_OFFSET, DTP_OFFSET): Define.
3586 (dtprel_base, tprel_base): New functions.
3587 (mips_elf_link_hash_newfunc): Initialize tls_type.
3588 (mips_elf_got_entry_hash, mips_elf_got_entry_eq)
3589 (mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
3590 TLS entries.
3591 (mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
3592 (mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
3593 (mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
3594 (mips_tls_got_index): New functions.
3595 (mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
3596 arguments. Pass them to mips_elf_create_local_got_entry. Use
3597 mips_tls_got_index.
3598 (mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
3599 Handle TLS entries.
3600 (mips_elf_got_page, mips_elf_got16_entry): Update calls to
3601 mips_elf_create_local_got_entry.
3602 (mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
3603 arguments. Handle TLS entries.
3604 (mips_elf_sort_hash_table_f): Add non-TLS assertions.
3605 (mips_elf_record_local_got_symbol): Add new TLS_FLAG argument. Handle
3606 TLS entries.
3607 (mips_elf_record_global_got_symbol): Likewise.
3608 (mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
3609 Count TLS entries.
3610 (mips_elf_merge_gots): Handle TLS entries when merging.
3611 (mips_elf_initialize_tls_index): New function.
3612 (mips_elf_set_global_got_offset): Handle TLS entries.
3613 (mips_elf_adjust_gp): Handle TLS.
3614 (mips_elf_multi_got): Remove redundant call to
3615 mips_elf_resolve_final_got_entries. Initialize global_count.
3616 Correct a comment. Initialize new TLS members of mips_got_info.
3617 Assign TLS GOT indexes for new GOTs.
3618 (mips_elf_create_got_section): Initialize new TLS members of
3619 mips_got_info.
3620 (mips_elf_calculate_relocation): Handle TLS relocs.
3621 (_bfd_mips_elf_check_relocs): Likewise. Update calls to changed
3622 functions.
3623 (_bfd_mips_elf_always_size_sections): Handle TLS.
3624 (_bfd_mips_elf_size_dynamic_sections): Likewise.
3625 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Update calls to
3626 changed functions.
3627 (_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
3628 (_bfd_mips_elf_hide_symbol): Handle TLS.
3629 * elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
3630 (mips_reloc_map): Add TLS relocs.
3631 * elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
3632 * elf64-mips.c (mips_elf64_howto_table_rel)
3633 (mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
3634 * reloc.c: Define new MIPS TLS relocations.
3635 * libbfd.h, bfd-in2.h: Regenerated.
3636
bb14f524
JB
36372005-03-02 Jan Beulich <jbeulich@novell.com>
3638
3639 * Makefile.am: Add dependency of cache.o on libiberty.h.
3640 * cache.c: Include libiberty.h.
3641 (bfd_open_file): Use unlink_if_ordinary instead of unlink.
3642
8c1acd09
ZW
36432005-03-01 Zack Weinberg <zack@codesourcery.com>
3644
3645 * elf.c (bfd_section_from_shdr <default case>): Call
3646 elf_backend_section_from_shdr hook unconditionally, and return
3647 what it returns.
3648 (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
3649 * elfxx-target.h (elf_backend_section_from_shdr)
3650 (elf_backend_section_from_phdr): Default to
3651 _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
3652 respectively.
3653
70bfecec
AM
36542005-03-01 Alan Modra <amodra@bigpond.net.au>
3655
a67a7b8b
AM
3656 * targets.h: Typo fix.
3657 * bfd-in2.h: Regenerate.
3658
70bfecec
AM
3659 * bout.c (b_out_write_object_contents): Don't use sizeof on host
3660 structs to size on-disk structures.
3661 (b_out_set_section_contents): Size the external struct, not the
3662 internal one for on-disk size.
3663 (b_out_sizeof_headers): Likewise.
3664
ceb1f1ef
AM
36652005-03-01 Alan Modra <amodra@bigpond.net.au>
3666
3667 * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
3668 entry points with the func descriptor as well as undefweak.
3669
f67e617a
NC
36702005-02-28 Ross Ridge <rridge@csclub.uwaterloo.ca>
3671
3672 * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
3673 present when IMPORT_NAME_UNDOECRATE is used.
3674
af44c138
L
36752005-02-28 H.J. Lu <hongjiu.lu@intel.com>
3676
3677 PR 757
3678 * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
3679 int.
3680
3681 * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
3682 to _bfd_elf_merge_symbol.
3683
3684 * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
3685 unsigned int to return the alignment of the old common symbol
3686 in the dynamic object.
3687 (_bfd_elf_add_default_symbol): Pass NULL to
3688 _bfd_elf_merge_symbol.
3689 (elf_link_add_object_symbols): Pass &old_alignment to
3690 _bfd_elf_merge_symbol. Get the alignment of the new common
3691 symbol in the dynamic object.
3692
10adf131
BE
36932005-02-24 Ben Elliston <bje@au.ibm.com>
3694
3695 * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
3696 * format.c (bfd_check_format_matches): Likewise.
3697 * archive.c (BFD_GNU960_ARMAG): Likewise.
3698 (bfd_generic_archive_p): Likewise.
3699 (_bfd_write_archive_contents): Likewise.
3700
60b779bf
L
37012005-02-24 H.J. Lu <hongjiu.lu@intel.com>
3702
3703 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
3704 * configure: Regenerate.
3705
1f02cbd9
JB
37062005-02-24 Julian Brown <julian@sirius.codesourcery.com>
3707
3708 * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
3709 COMDAT group sections to have default visibility.
3710
f60ca5e3
AM
37112005-02-24 Alan Modra <amodra@bigpond.net.au>
3712
3713 * coffcode.h (coff_print_aux): Warning fix.
3714 * elf-m10300.c (mn10300_elf_relax_section): Use section->id
3715 instead of section pointer to identify.
3716 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. Allocate
3717 the correct size buffer for local sym mangling too.
3718 (h8300_bfd_link_add_symbols): Likewise.
3719 * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
3720 warning.
3721 * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
3722 * elf32-xtensa.c (literal_value_hash): Warning fix.
3723 * versados.c (process_otr): Warning fix.
3724 (versados_canonicalize_reloc): Likewise.
3725 * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
3726 * vms.c (fill_section_ptr): Warning fix.
3727
9a5d8e72
L
37282005-02-23 H.J. Lu <hongjiu.lu@intel.com>
3729
3730 * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
3731 * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
3732
4b6c0f2f
NC
37332005-02-23 Nick Clifton <nickc@redhat.com>
3734
abc0f8d0
NC
3735 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise
3736 the relvaddr field of the Elf32_crinfo structure.
3737
9b69b847
NC
3738 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise
3739 variables that are passed by reference to
3740 m68hc11_get_relocation_value in case that function does not
3741 initialise them.
3742
90e868ac
NC
3743 * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated
3744 return statements and replace with a single return at the end of
3745 the function. This helps pacify the flow analysis code in gcc 4.0.
3746
4b6c0f2f
NC
3747 * elf.c (_bfd_elf_compute_section_file_positions): Initialise
3748 strtab to avoid compile time warning.
3749
c3e8c140
BE
37502005-02-23 Ben Elliston <bje@au.ibm.com>
3751
3752 * opncls.c (bfd_zalloc): Document this function.
3753
ebe372c1
L
37542005-02-21 H.J. Lu <hongjiu.lu@intel.com>
3755
3756 * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
3757 SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
3758 Replace SEC_SHARED with SEC_COFF_SHARED.
3759 (styp_to_sec_flags): Likewise.
3760
3761 * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
3762 (TARGET_LITTLE_SYM): Likewise.
3763
3764 * section.c (SEC_ARCH_BIT_0): Removed.
3765 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
3766 SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
3767 (SEC_SHARED): Renamed to ...
3768 (SEC_COFF_SHARED): This.
3769 (SEC_BLOCK): Renamed to ...
3770 (SEC_TIC54X_BLOCK): This.
3771 (SEC_CLINK): Renamed to ...
3772 (SEC_TIC54X_CLINK): This.
3773 (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
3774 SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
3775 end.
3776 * bfd-in2.h: Regenerated.
3777
26bf4e33
FF
37782005-02-21 Fred Fish <fnf@specifixinc.com>
3779
3780 * dwarf2.c (find_abstract_instance_name): Call recursively
3781 to handle a DW_AT_specification.
3782
e6daada3
TS
37832005-02-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3784
3785 * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
3786 mips_elf_create_dynamic_relocation,
3787 _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
3788 Remove #if 0'd code.
3789
d25604af
AM
37902005-02-21 Alan Modra <amodra@bigpond.net.au>
3791
3792 * Makefile.am: Run "make dep-am"
3793 * Makefile.in: Regenerate.
3794
fedf8d51
AM
37952005-02-21 Alan Modra <amodra@bigpond.net.au>
3796
3797 * coffgen.c (bfd_coff_get_comdat_section): Check that
3798 coff_section_data isn't NULL.
3799
f075ee0c
AM
38002005-02-21 Alan Modra <amodra@bigpond.net.au>
3801
3802 * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
3803 * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
3804 * coff-rs6000.c (xcoff_write_armap_big): Warning fixes. Remove
3805 useless assignments.
3806 (xcoff_write_archive_contents_big): Likewise.
3807 (_bfd_xcoff_put_ldsymbol_name): Likewise.
3808 * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
3809 * coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
3810 * cofflink.c (process_embedded_commands): Warning fixes.
3811 * cpu-arm.c: Delete unnecessary prototypes. Convert to C90.
3812 Warning fixes.
3813 * dwarf2.c: Warning fixes.
3814 * elf-bfd.h: Likewise.
3815 * elf-eh-frame.c: Likewise.
3816 * elf-strtab.c: Likewise.
3817 * elf.c: Likewise.
3818 * elf32-m68k.c: Likewise.
3819 * elf32-ppc.c: Likewise.
3820 * elf32-sh-symbian.c: Likewise.
3821 * elf32-sh.c: Delete unnecessary prototypes. Warning fixes.
3822 * elf64-sh64.c: Likewise.
3823 * peicode.h: Likewise.
3824 * elf64-mmix.c: Warning fixes.
3825 * elfcode.h: Likewise.
3826 * elfxx-mips.c: Likewise.
3827 * libbfd-in.h: Likewise.
3828 * libbfd.c: Likewise.
3829 * mach-o.c: Likewise.
3830 * merge.c: Likewise.
3831 * mmo.c: Likewise.
3832 * opncls.c: Likewise.
3833 * pef.c: Likewise.
3834 * srec.c: Likewise.
3835 * vms-hdr.c: Likewise.
3836 * vms-tir.c: Likewise.
3837 * xtensa-isa.c: Likewise.
3838 * xtensa-modules.c: Likewise.
3839 * xsym.c: Likewise.
3840 (pstrcmp): Use correct choice of string lengths. Fix return value.
3841 (bfd_sym_module_name): Correct string length.
3842 * bfd-in2.h: Regenerate.
3843 * libbfd.h: Regenerate.
3844
68320ddb
AO
38452005-02-17 Alexandre Oliva <aoliva@redhat.com>
3846
3847 * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
fedf8d51 3848 uninitialized check_segment[1] in TLSMOFF case.
68320ddb
AO
3849 Reported by Alan Modra.
3850 (elf32_frv_relocate_section): Improve errors and warnings.
3851
1808e341
AM
38522005-02-17 Alan Modra <amodra@bigpond.net.au>
3853
3854 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
3855
5ff625e9
AM
38562005-02-16 Alan Modra <amodra@bigpond.net.au>
3857
3858 * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
3859 * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
3860 * pef.c (bfd_pef_scan): Don't ignore return value of
3861 bfd_pef_scan_start_address.
7e3102a7
AM
3862 * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
3863 bfd_mach_o_scan_start_address.
3864 * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
3865 * elfxx-mips.c: Remove unnecessary prototypes.
3866 (sort_dynamic_relocs_64): Abort if not BFD64.
5ff625e9 3867
92b7a70f
AM
38682005-02-16 Alan Modra <amodra@bigpond.net.au>
3869
3870 * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
3871 Skip toc reloc adjust if reloc_count is zero.
3872
d6f16593 38732005-02-15 Nigel Stephens <nigel@mips.com>
fedf8d51 3874 Maciej W. Rozycki <macro@mips.com>
d6f16593
MR
3875
3876 * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
3877 reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
3878 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3879 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
3880 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3881 dst_mask.
3882 (mips16_gprel_reloc): Remove bit shuffling; call
3883 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3884 and _bfd_mips16_elf_reloc_shuffle() instead.
3885 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3886 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3887 relocs.
3888 (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
3889 elf_mips16_howto_table_rel.
3890 * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
3891 MIPS16 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16
3892 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3893 (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
3894 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3895 dst_mask.
3896 (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
3897 reloc howtos. Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
3898 R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
3899 placeholders.
3900 (mips16_gprel_reloc): Remove bit shuffling; call
3901 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3902 and _bfd_mips16_elf_reloc_shuffle() instead.
3903 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3904 (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3905 relocs.
3906 (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
3907 mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
3908 * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
3909 REL reloc howtos. Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
3910 R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
3911 (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
3912 (elf_mips16_gprel_howto): Likewise. Redefine src_mask and
3913 dst_mask.
3914 (mips16_gprel_reloc): Remove bit shuffling; call
3915 _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
3916 and _bfd_mips16_elf_reloc_shuffle() instead.
3917 (mips16_reloc_map): New reloc map for MIPS16 relocs.
3918 (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
3919 relocs.
3920 (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
3921 elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
3922 * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
3923 handle bit shuffling for MIPS16 relocs.
3924 (_bfd_mips16_elf_reloc_shuffle): Likewise.
3925 (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
3926 and _bfd_mips16_elf_reloc_shuffle().
3927 (_bfd_mips_elf_generic_reloc): Likewise.
3928 (mips_elf_calculate_relocation): Likewise. Handle R_MIPS16_HI16
3929 and R_MIPS16_LO16.
3930 (mips_elf_obtain_contents): Remove bit shuffling.
3931 (mips_elf_perform_relocation): Likewise; call
3932 _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
3933 instead.
3934 (_bfd_mips_elf_relocate_section): Likewise. Handle R_MIPS16_HI16
3935 and R_MIPS16_LO16.
3936 * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
3937 (_bfd_mips16_elf_reloc_shuffle): Likewise.
3938 * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
3939 (BFD_RELOC_MIPS16_HI16_S): Likewise.
3940 (BFD_RELOC_MIPS16_LO16): Likewise.
3941 * bfd-in2.h: Regenerate.
3942 * libbfd.h: Regenerate.
3943
0ca3e455
JB
39442005-02-15 Jan Beulich <jbeulich@novell.com>
3945
3946 * elfxx-ia64.c (ia64_howto_table): Correct strings for
3947 R_IA64_DTPMOD64[LM]SB.
3948
c5509b92
L
39492005-02-14 H.J. Lu <hongjiu.lu@intel.com>
3950
3951 * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
3952 backward branch in the same section.
3953 (elfNN_ia64_relocate_section): Inform users that the input
3954 section is too big to relax br instruction when overflow
3955 happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
3956 and R_IA64_PCREL21F.
3957
5cba516c
NC
39582005-02-14 Orjan Friberg <orjanf@axis.com>
3959
3960 * elfcore.h (elf_core_file_p): Move the call to
3961 elf_backend_object_p to allow the correct machine to be set before
3962 processing the program headers.
3963
b59a68e1
NC
39642005-02-14 Nick Clifton <nickc@redhat.com>
3965
3966 PR binutils/716
3967 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
3968 aware flag from the input bfd to the output bfd.
3969
254f0426
MR
39702005-02-11 Maciej W. Rozycki <macro@mips.com>
3971
3972 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
3973 R_MIPS_LITERAL relocations for external symbols.
3974 * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
3975 * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
3976
e91cdea7
L
39772005-02-11 H.J. Lu <hongjiu.lu@intel.com>
3978
3979 * bfd-in2.h: Rebuilt.
3980
67687978
PB
39812005-02-11 Paul Brook <paul@codesourcery.com>
3982
3983 * elf-bfd.h (struct elf_link_hash_table): Add
3984 is_relocatable_executable.
3985 * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
3986 * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
3987 symbols in relocatable executables.
3988 (bfd_elf_record_link_assignment): Create dynamic section symbols in
3989 relocatable executables.
3990 (_bfd_elf_link_renumber_dynsyms): Ditto.
3991 (bfd_elf_final_link): Ditto.
3992 * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
3993 relocations into relocatable executables.
3994 (elf32_arm_check_relocs): Crate dynamic sections for relocatable
3995 executables. Also copy absolute relocations.
3996 (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
3997 in relocatable executables.
3998 (allocate_dynrelocs): Copy relocations for relocatable executables.
3999 Output dynamic symbols for symbols defined in linker scripts.
4000
ca724bf2
NC
40012005-02-11 Nick Clifton <nickc@redhat.com>
4002
4b74b983
NC
4003 * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
4004 to avoid a compile time warning.
4005
ca724bf2
NC
4006 * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
4007 BFD_ASSERT.
4008
3e25964f
NC
4009 * coff-tic4x.c (coff_rtype_to_howto): Move definition before
4010 inclusion of coffcode.h so that it is actually picked up.
4011
cb7a88a4
NC
4012 * coffcode.h (coff_std_swap_table): Add an unused attribute in
4013 case it is not used.
4014
596c83ec
NC
4015 * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
4016 structure and macro.
4017
6c408f53
NC
4018 * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
4019 array.
4020
d5b2f13b
NC
4021 * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
4022 to protect the declaration of this array.
4023
169a6afd
NC
4024 * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
4025 Avoid call to memcpy with a size of 0.
4026
2917689a
AM
40272005-02-12 Alan Modra <amodra@bigpond.net.au>
4028
4029 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
4030 old-style branches to undefined dot-symbols which will be
4031 satisfied by a plt call.
4032
40d16e0b
AM
40332005-02-11 Alan Modra <amodra@bigpond.net.au>
4034
4035 * elf64-ppc.c (move_plt_plist): New function, extracted from..
4036 (ppc64_elf_copy_indirect_symbol): ..here.
4037 (func_desc_adjust): Use move_plt_plist.
4038
e37c699c
PB
40392005-02-10 Paul Brook <paul@codesourcery.com>
4040
4041 * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
4042
6fa3860b
PB
40432005-02-10 Paul Brook <paul@codesourcery.com>
4044
4045 * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
4046 symbols local.
4047 (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
4048 (elf_link_renumber_local_hash_table_dynsyms): New function.
4049 (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
4050
d457dcf6
JJ
40512005-02-10 Jakub Jelinek <jakub@redhat.com>
4052
4053 * bfd-in.h (BFD_LINKER_CREATED): Define.
4054 * bfd-in2.h: Rebuilt.
4055 * elflink.c (bfd_elf_size_dynamic_sections): Disregard
4056 BFD_LINKER_CREATED bfds when determining input bfds without
4057 .note.GNU-stack section.
4058
7f05722e
MR
40592005-02-10 Maciej W. Rozycki <macro@mips.com>
4060
4061 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
4062 * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
4063 relocations against external symbols unchanged.
4064
ccf5f610
PB
40652005-02-08 Paul Brook <paul@codesourcery.com>
4066
4067 * elflink.c (elf_link_input_bfd): Ignore symbols from null input
4068 sections.
4069
370a0e1b
HPN
40702005-02-08 Hans-Peter Nilsson <hp@axis.com>
4071
4072 * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
4073 prefix here.
4074
99277196
MR
40752005-02-07 Maciej W. Rozycki <macro@mips.com>
4076
4077 * elf64-mips.c: Fix formatting throughout.
4078
6422fbef
MR
40792005-02-07 Maciej W. Rozycki <macro@mips.com>
4080
4081 * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
4082
303e4c21
AO
40832005-02-07 Alexandre Oliva <aoliva@redhat.com>
4084
4085 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
4086 *ABS*/*UND* sections.
4087 (elf32_frv_relocate_section): Move zero-addend-required error...
4088 (_frv_emit_got_relocs_plt_entries): ... here. Report error for
4089 missing needed TLS section.
4090
c3864421
HPN
40912005-02-07 Hans-Peter Nilsson <hp@axis.com>
4092
4093 * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
4094 being the last symbol.
9f400ee9
HPN
4095 (aout_link_add_symbols): Just return TRUE if a warning
4096 symbol was last.
c3864421 4097
765f2ef6
MR
40982005-02-07 Maciej W. Rozycki <macro@mips.com>
4099
4100 * elf32-mips.c (mips_elf_gprel32_reloc): Reject
4101 R_MIPS_GPREL32 relocations against external symbols.
4102 * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
4103 comment.
4104
1b3a8575
AM
41052005-02-07 Alan Modra <amodra@bigpond.net.au>
4106
4107 * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
4108 * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
4109 elf_string_from_elf_strtab.
4110 (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
4111 (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
4112 if it exists. Don't do the reverse for SHT_SYMTAB_SHNDX. For
4113 SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
4114 looking at cached symtab info first, before iterating over headers.
4115 For SHT_REL and SHT_RELA, load dynsymtab if needed.
4116 * elfcode.h (elf_object_p): Don't load section header stringtab
4117 specially.
4118
90f487df
L
41192005-02-06 H.J. Lu <hongjiu.lu@intel.com>
4120
4121 * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
4122 against protected function when building shared library.
4123
4124 PR 584
4125 * elf64-x86-64.c (is_32bit_relative_branch): New.
4126 (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
4127 protected function symbol when building shared library for
4128 32bit relative branch instruction.
4129
c4f68ce3
AM
41302005-02-06 Alan Modra <amodra@bigpond.net.au>
4131
4132 * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
4133 syms when doing a relocatable link.
4134 (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
4135 at u.def.section.
4136 (ppc64_elf_tls_setup): Likewise.
4137 (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
4138
908b32fc
AM
41392005-02-04 Alan Modra <amodra@bigpond.net.au>
4140
4141 * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
4142 (link_hash_newfunc): Clear all locals using memset.
4143 (make_fdh): Remove flags param. Always create fake func desc
4144 weak. Link the descriptor with the code entry sym.
4145 (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
4146 (add_symbol_adjust): Adjust make_fdh call.
4147 (func_desc_adjust): Likewise. Twiddle any pre-existing fake
4148 descriptor to strong undefined if code entry is strong.
4149
4ea42fb7
AM
41502005-02-04 Alan Modra <amodra@bigpond.net.au>
4151
4152 * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
4153 lookup here. Set to new before calling bfd_link_repair_undef_list.
4154 (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
4155
10d86c8a
AM
41562005-02-03 Alan Modra <amodra@bigpond.net.au>
4157
4158 * linker.c (_bfd_link_hash_newfunc): Set all local fields.
4159
11f25ea6
AM
41602005-02-03 Alan Modra <amodra@bigpond.net.au>
4161
4162 * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
4163 * elflink.c (elf_smash_syms): Restore symbols that were undefweak
4164 before the as-needed lib was loaded. Abort on unexpected refs.
4165
4f40114d
AM
41662005-02-02 Alan Modra <amodra@bigpond.net.au>
4167
ec13b3bb
AM
4168 * elflink.c (elf_smash_syms): Expand comments.
4169 (elf_link_add_object_symbols): Only call elf_smash_syms for
4170 as-needed dynamic objects.
4171
4f40114d
AM
4172 * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
4173 everything, just the field specific to ia64.
336549c1 4174 * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
4f40114d 4175
bb700d78
AM
41762005-02-01 Alan Modra <amodra@bigpond.net.au>
4177
4178 * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
4179 (make_fdh): ..here. New function. Don't set BSF_OBJECT for
4180 undefined syms.
4181 (struct add_symbol_adjust_data): New.
4182 (add_symbol_adjust): Make an undefweak func desc for old ABI
4183 objects to link with --as-needed shared libs. Return fail status.
4184 Don't adjust old ABI func entry sym to weak if func desc syms
4185 isn't defined.
4186 (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
4187 and return status.
4188
1ffd1c2f
HPN
41892005-02-01 Hans-Peter Nilsson <hp@axis.com>
4190
4191 * cpu-cris.c (get_compatible): Rearrange disabled code and comment
4192 for clarity.
4193
77cfaee6
AM
41942005-02-01 Alan Modra <amodra@bigpond.net.au>
4195
4196 * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
4197 * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
4198 remove anything but new and undefweak.
4199 * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
4200 existing _DYNAMIC.
4201 (_bfd_elf_create_dynamic_sections): Formatting.
4202 (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
4203 (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
4204 (struct elf_smash_data): New.
4205 (elf_smash_syms): New function.
4206 (elf_link_add_object_symbols): Call elf_smash_syms. Don't add
4207 unneeded dynamic objects to loaded list.
4208 (elf_link_output_extsym): Don't handle as-needed here. Strip
4209 bfd_link_hash_new symbols.
4210 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
4211 delref when dynindx is already -1.
4212 * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
4213 symbols.
4214 * elfxx-mips.c (mips_elf_output_extsym): Likewise.
4215
b15c48d1
BE
42162005-02-01 Ben Elliston <bje@au.ibm.com>
4217
4218 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
4219
0983f4eb 42202005-02-01 Ben Elliston <bje@au.ibm.com>
0e71e495
BE
4221
4222 * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
4223 bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
4224 coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
4225 coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
4226 cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
4227 elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
4228 elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
4229 elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
4230 i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
4231 nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
4232 pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
11d02c41 4233 sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c,
0e71e495
BE
4234 hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
4235 throughout. Similarly, collapse #if 1'd code.
4236
42372005-02-01 Ben Elliston <bje@au.ibm.com>
4238
0983f4eb
BE
4239 * elf-bfd.h (bfd_elf_discard_group): Remove.
4240 * elf.c (bfd_elf_discard_group): Likewise.
4241 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
4242
8c946ed5
RS
42432005-01-31 Richard Sandiford <rsandifo@redhat.com>
4244
4245 * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
4246 (_bfd_elf_eh_frame_address_size): Declare.
4247 * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
4248 (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
4249 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
4250 (elf_backend_eh_frame_address_size): Define.
4251 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
4252 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
4253 size from the new backend hook.
4254 (_bfd_elf_write_section_eh_frame): Likewise.
4255 (_bfd_elf_eh_frame_address_size): New function.
4256
c46f8c51
AC
42572005-01-31 Andrew Cagney <cagney@gnu.org>
4258
4259 * configure: Regenerate to track ../gettext.m4.
4260
5cd3778d
MM
42612005-01-31 Mark Mitchell <mark@codesourcery.com>
4262
4263 * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
4264 SHF_WRITE for .init_array, .fini_array, and .preinit_array.
ec13b3bb 4265
d6486796
NC
42662005-01-31 Nick Clifton <nickc@redhat.com>
4267
4268 * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
4269 sparc-lynxos, vax-vms) be obsolete.
4270
b1342370
DJ
42712005-01-28 Daniel Jacobowitz <dan@codesourcery.com>
4272
4273 * elf-bfd.h (struct elf_backend_data): Add minpagesize.
4274 * elf32-arm.c (ELF_MINPAGESIZE): Define.
4275 * elf32-ppc.c (ELF_MINPAGESIZE): Define.
4276 * elfcode.h (elf_object_p): Use minpagesize instead of
4277 maxpagesize.
4278 * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
4279 (elfNN_bed): Include ELF_MINPAGESIZE.
4280
319850b4
JB
42812005-01-28 Julian Brown <julian@codesourcery.com>
4282
4283 * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
4284 * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
4285 * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
4286 (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
ec13b3bb 4287 passing flag value from ld. Set flag value in global hash table entry.
319850b4 4288 (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
ec13b3bb 4289 relocation.
319850b4 4290
a53bf506
AC
42912005-01-27 Andrew Cagney <cagney@gnu.org>
4292
4293 * configure: Regenerate to track ../gettext.m4 change.
4294
dc4c9c19
MM
42952005-01-25 Mark Mitchell <mark@codesourcery.com>
4296
4297 * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
ec13b3bb 4298 SymbianOS.
dc4c9c19 4299
90219bd0
AO
43002005-01-25 Alexandre Oliva <aoliva@redhat.com>
4301
4302 2004-12-10 Alexandre Oliva <aoliva@redhat.com>
4303 * elf32-frv.c (elf32_frv_relocate_section): Force local binding
4304 for TLSMOFF.
4305 * reloc.c: Add R_FRV_TLSMOFF.
4306 * elf32-frv.c (elf32_frv_howto_table): Likewise.
4307 (frv_reloc_map, frv_reloc_type_lookup): Map it.
4308 (elf32_frv_relocate_section): Handle it.
4309 (elf32_frv_check_relocs): Likewise.
4310 * libbfd.h, bfd-in2.h: Rebuilt.
4311 2004-11-26 Alexandre Oliva <aoliva@redhat.com>
4312 * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
4313 when given an undefweak TLS symbol. Fix constant TLS PLT entries
4314 such that they return the constant in gr9.
4315 (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
4316 symbols.
4317 (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
4318 too, such that they shrink on relaxation.
4319 (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
4320 marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
4321 (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
4322 if we can guarantee the use of 16-bit constants.
4323 2004-11-10 Alexandre Oliva <aoliva@redhat.com>
4324 Introduce TLS support for FR-V FDPIC.
4325 * reloc.c: Add TLS relocations.
4326 * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
4327 (elf32_frv_rel_tlsdesc_value_howto): New.
4328 (elf32_frv_rel_tlsoff_howto): New.
4329 (frv_reloc_map): Add new mappings.
4330 (struct frvfdpic_elf_link_hash_table): Add pointer to summary
4331 reloc information.
4332 (frvfdpic_dynamic_got_plt_info): New.
4333 (frvfdpic_plt_tls_ret_offset): New.
4334 (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
4335 (struct _frvfdpic_dynamic_got_info): Likewise. Add TLS members.
4336 (struct _frvfdpic_dynamic_got_plt_info): Likewise.
4337 (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
4338 section as local.
4339 (struct frvfdpic_relocs_info): Add TLS fields.
4340 (frvfdpic_relocs_info_hash): Warning clean up.
4341 (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
4342 (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
4343 (FRVFDPIC_TLS_BIAS): Define.
4344 (tls_biased_base): New.
4345 (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
4346 relocations.
4347 (frv_reloc_type_lookup): Likewise.
4348 (frvfdpic_info_to_howto_rel): Likewise.
4349 (elf32_frv_relocate_section): Likewise.
4350 (_frv_create_got_section): Create the PLT section here.
4351 (elf32_frvfdpic_create_dynamic_sections): Not here.
4352 (_frvfdpic_count_nontls_entries): Move out of...
4353 (_frvfdpic_count_got_plt_entries): ... here.
4354 (_frvfdpic_count_tls_entries): Likewise. Add TLS support.
4355 (_frvfdpic_count_relocs_fixups): Likewise. Add relaxation
4356 support.
4357 (_frvfdpic_relax_tls_entries): New.
4358 (_frvfdpic_compute_got_alloc_data): Add TLS support.
4359 (_frvfdpic_get_tlsdesc_entry): New.
4360 (_frvfdpic_assign_got_entries): Add TLS support.
4361 (_frvfdpic_assign_plt_entries): Likewise.
4362 (_frvfdpic_reset_got_plt_entries): New.
4363 (_frvfdpic_size_got_plt): Move out of...
4364 (elf32_frvfdpic_size_dynamic_sections): ... here.
4365 (_frvfdpic_relax_got_plt_entries): New.
4366 (elf32_frvfdpic_relax_section): New.
4367 (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
4368 (elf32_frv_check_relocs): Add TLS support.
4369 (bfd_elf32_bfd_relax_section): Define for FDPIC.
4370 * libbfd.h, bfd-in2.h: Rebuilt.
4371
8615f3f2
AM
43722005-01-25 Alan Modra <amodra@bigpond.net.au>
4373
4374 * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
4375 loadable reloc sections.
4376 (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
4377 (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
4378
7e9f0867
AM
43792005-01-25 Alan Modra <amodra@bigpond.net.au>
4380
4381 * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
4382 sections immediately when linking shared libs. Instead, wait until
4383 we know a lib is needed.
4384 (_bfd_elf_link_create_dynstrtab): Extract from..
4385 (_bfd_elf_link_create_dynamic_sections_): ..here.
4386 (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
4387 _bfd_elf_link_create_dynamic_sections. Add abfd param. Allow
4388 for non-existent .dynamic.
4389 (elf_link_output_extsym): Don't complain about undefined symbols
4390 in as-needed dynamic libs that aren't actually linked.
4391
45181ed1
AC
43922005-01-24 Andrew Cagney <cagney@gnu.org>
4393
4394 * configure: Regenerate, ../gettext.m4 was updated.
4395
753e3eb6
BE
43962005-01-21 Ben Elliston <bje@au.ibm.com>
4397
4398 * aout-encap.c: Remove unused file.
4399
1c16dfa5
L
44002005-01-19 H.J. Lu <hongjiu.lu@intel.com>
4401
4402 PR 679
4403 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
4404 non-function symbols are local.
4405 (_bfd_elf_symbol_refs_local_p): Likewise.
4406
1449d79b
AM
44072005-01-18 Alan Modra <amodra@bigpond.net.au>
4408
4409 * bfd.c (bfd_link_just_syms): Add abfd param.
4410 * bfd-in2.h: Regenerate.
4411
dcf507a6
RS
44122005-01-17 Richard Sandiford <rsandifo@redhat.com>
4413
4414 * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
4415 (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
4416 instructions. If the amount of padding is known, reduce the size
4417 of the CIE or FDE by that amount.
4418
2c42be65
RS
44192005-01-17 Richard Sandiford <rsandifo@redhat.com>
4420
4421 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
4422 augmentation_size. Use bfd_signed_vmas for data_align.
4423 * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
4424 (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
4425 functions. Don't read past the end of the enclosing CIE or FDE.
4426 (skip_bytes): New utility function.
4427 (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
4428 sanity checking.
4429 (_bfd_elf_write_section_eh_frame): Use new functions.
4430
acfe5567
RS
44312005-01-17 Richard Sandiford <rsandifo@redhat.com>
4432
4433 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
4434 assert-style REQUIRE() macro to handle sanity checks.
4435
c0c28ab8
L
44362005-01-17 H.J. Lu <hongjiu.lu@intel.com>
4437
4438 * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
4439 (comp_unit): Here.
4440 (read_unsigned_leb128): Removed.
4441 (read_signed_leb128): Removed.
4442 (find_abstract_instance_name): Updated.
4443 (parse_comp_unit): Accept info_ptr_unit.
4444 (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
4445 comp unit and pass it to parse_comp_unit.
4446
4447 * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
4448 (read_signed_leb128): Moved to ...
4449 * libbfd.c: Here.
4450
4451 * libbfd-in.h (read_unsigned_leb128): New prototype.
4452 (read_signed_leb128): Likewise.
4453 * libbfd.h: Regenerated.
4454
e38bc3b5
NC
44552005-01-17 Andrew Stubbs <andrew.stubbs@st.com>
4456 Nick Clifton <nickc@redhat.com>
4457
4458 * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
4459 arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
4460 arch_sh4a_nofpu_up in order to match the external names and make the
4461 testsuite's job easier.
4462 * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
4463 names.
4464 * bfd-in2.h: Regenerate.
4465
8fb84ecc
AC
44662005-01-15 Andrew Cagney <cagney@gnu.org>
4467
4468 * bfd.m4: New file.
4469 * acinclude.m4: Move BFD_NEED_DECLARATION,
4470 BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
4471 the new file bfd.m4. Include ../bfd/bfd.m4.
4472 * configure: Re-generate.
8615f3f2 4473
b4a38de6
AM
44742005-01-12 Alan Modra <amodra@bigpond.net.au>
4475
4476 * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
4477 (ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
4478 reaching PLT.
4479 (ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
4480 R_PPC_RELAX32PC_PLT.
4481
3eb128b2
AM
44822005-01-11 Alan Modra <amodra@bigpond.net.au>
4483
4484 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
4485 symbols.
4486 * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
4487 * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
4488 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
4489 * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
4490 * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
4491 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
4492 * elf32-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
4493 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
4494 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
4495 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
4496 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
4497 * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
4498 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
4499 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
4500
264a1fe0
AM
45012005-01-11 Alan Modra <amodra@bigpond.net.au>
4502
4503 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
4504 .dynsbss flags.
4505
5c4504f7
NC
45062005-01-10 Inderpreet Singh <inderpreetb@noida.hcltech.com>
4507
4508 * archures.c: Define bfd_mach_maxq10 and bfd_mach_maxq20.
4509 * bfd-in2.h: Regenerate.
4510 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Add code
4511 to support these new machine values.
4512 * cpu-maxq.c (bfd_maxq10_arch): New architecture definition for
4513 the maxq10.
4514 (bfd_maxq_arch): Update values for the maxq20.
4515
669460c7
EB
45162005-01-10 Eric Botcazou <ebotcazou@libertysurf.fr>
4517
4518 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
4519 non-shared object, do not reserve space in .plt and .rela.plt for
4520 regular symbols neither defined nor referenced in shared objects.
4521
a51a7930
EB
45222005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4523
01aac484
EB
4524 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
4525 to zero the structure.
4526 (create_got_section): Use BFD_ASSERT instead of abort.
a51a7930
EB
4527 * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
4528 'srelgot' fields.
4529 (create_got_section): New function.
4530 (sparc64_elf_create_dynamic_sections): Likewise.
4531 (sparc64_elf_check_relocs): Invoke create_got_section instead of
4532 _bfd_elf_create_got_section. Use the sgot and srelgot shortcuts.
4533 (sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
4534 (sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
4535 (sparc64_elf_finish_dynamic_symbol): Likewise.
4536 (sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
4537 (elf_backend_create_dynamic_sections): Define to
4538 sparc64_elf_create_dynamic_sections.
4539
151e5294
EB
45402005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
4541
4542 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
4543 (elf_backend_omit_section_dynsym): Define to it.
4544 * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
4545 (elf_backend_omit_section_dynsym): Define to it.
4546
6f79b219
JJ
45472005-01-07 Jakub Jelinek <jakub@redhat.com>
4548
4549 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
4550 PT_DYNAMIC segment, unless .dynamic.
4551
4e7fd91e
PB
45522005-01-06 Paul Brook <paul@codesourcery.com>
4553
4554 * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
4555 * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
4556 * configure: Regenerate.
4557 * elf32-arm.c: Add VxWorks target bfd.
4558 (USE_REL): Remove.
4559 (elf32_arm_link_hash_table): Add use_rel.
4560 (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
4561 elf32_arm_relocate_section): Replace USE_REL with runtime check.
4562 Correct offset calculation for RELA case.
4563 (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
4564 elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
4565 (elf32_arm_vxworks_link_hash_table_create): New function.
4566 * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
4567 (bfd_elf32_littlearm_vxworks_vec): Ditto.
4568 (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
4569
4c52953f
AM
45702005-01-06 Alan Modra <amodra@bigpond.net.au>
4571
4572 * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
4573 multi_toc_needed.
4574 (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
4575 (ppc64_elf_check_relocs): Update references to has_gp_reloc.
4576 (ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
4577 (ppc64_elf_next_toc_section): Heed no_multi_toc.
4578 (ppc64_elf_reinit_toc): Set multi_toc_needed.
4579 (toc_adjusting_stub_needed): Rewrite.
4580 (ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
4581 toc tests. Adjust for toc_adjusting_stub_needed changes.
4582 (ppc64_elf_size_stubs): Update references to has_gp_reloc.
4583 * elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
4584 * section.c: Expand comment on backend bits.
4585 * bfd-in2.h: Regenerate.
4586 * libbfd.h: Regenerate.
4587
f03d65b4
AM
45882005-01-06 Alan Modra <amodra@bigpond.net.au>
4589
4590 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
4591 toc adjusting stub, do not test source section flags.
4592
8af139b3
EB
45932005-01-05 Eric Botcazou <ebotcazou@libertysurf.fr>
4594
4595 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4596 from STABS debugging sections again.
4597
06f22d7e
FF
45982005-01-05 Fred Fish <fnf@specifixinc.com>
4599
4600 * dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
4601 (find_abstract_instance_name): New function.
4602 (scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
4603 (scan_unit_for_functions): Handle DW_AT_abstract_origin.
4604 (_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
4605
83a358aa
PB
46062004-12-31 Paul Brook <paul@copdesourcery.com>
4607
4608 * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo.
4609
b996922c
AM
46102004-12-31 Alan Modra <amodra@bigpond.net.au>
4611
4612 * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW):
4613 Commit missing changes from 2004-12-22.
4614 * bfd-in2.h: Regenerate.
4615
17a83432
TL
46162004-12-23 Tomer Levi <Tomer.Levi@nsc.com>
4617
4618 * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation.
4619
d69f560c
KW
46202004-12-21 Kris Warkentin <kewarken@qnx.com>
4621
4622 * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
4623 Add 'base' argument for constructing register sections. Reformat.
4624 (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both
4625 gp and fp regs. Reformat.
4c52953f 4626
750bce0e
NC
46272004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
4628
4629 * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
4630 * bfd-in2.h: Regenerate.
4631 * elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
4632 (avr_reloc_map): Likewise.
4633 (avr_final_link_relocate): Likewise.
4634
a5db907e
AM
46352004-12-22 Alan Modra <amodra@bigpond.net.au>
4636
4637 * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from
4638 as-needed dynamic libs as undefined.
4639 (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed
4640 libs when finding they are needed.
4641
8860955f
AM
46422004-12-20 Alan Modra <amodra@bigpond.net.au>
4643
4644 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs.
4645 (opd_entry_value): Use opd_relocs if available.
4646 (ppc64_elf_relocate_section): Don't set reloc_done. Instead
4647 copy .opd relocations to opd_relocs.
4648 (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs.
4649
1e50d24d
RS
46502004-12-16 Richard Sandiford <rsandifo@redhat.com>
4651
4652 * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
4653 * elf32-v850.c (v850_elf_howto_table): Add entry for
4654 R_V850_LO16_SPLIT_OFFSET.
4655 (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
4656 (v850_elf_perform_lo16_relocation): New function, extracted from...
4657 (v850_elf_perform_relocation): ...here. Use it to handle
4658 R_V850_LO16_SPLIT_OFFSET.
4659 (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
4660 R_V850_LO16_SPLIT_OFFSET.
4661 * libbfd.h, bfd-in2.h: Regenerate.
4662
2fbd2a87
NC
46632004-12-14 P.J. Darcy <darcypj@us.ibm.com>
4664
4665 * config.bfd: Add s390x-ibm-tpf support.
4666
06302770
TL
46672004-12-14 Tomer Levi <Tomer.Levi@nsc.com>
4668
8860955f 4669 * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *'
06302770
TL
4670 to prototype, to make hash info available.
4671 Prevent wrapped symbols from being adjusted twice.
4672
c314987d
RS
46732004-12-14 Richard Sandiford <rsandifo@redhat.com>
4674
4675 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
4676 overflow for calls to undefined weak symbols.
4677
5c799c07
AM
46782004-12-11 Alan Modra <amodra@bigpond.net.au>
4679
4680 * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
4681 canonical sections syms have a name.
4682
645ea6a9
AM
46832004-12-11 Alan Modra <amodra@bigpond.net.au>
4684
4685 * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they
4686 have been adjusted for output.
4687 (ppc64_elf_relocate_section): Mark sections with reloc_done.
4688
0e2cfdce
AM
46892004-12-10 Alan Modra <amodra@bigpond.net.au>
4690
be8dd2ca
AM
4691 * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and
4692 add symtab_hdr param.
0e2cfdce
AM
4693 (group_signature): Update calls.
4694 * elf-bfd.h (bfd_elf_sym_name): Update.
4695 * elf32-ppc.c (ppc_elf_relocate_section): Update.
8860955f
AM
4696 * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update.
4697 (ppc64_elf_relocate_section): Update.
0e2cfdce
AM
4698 * elflink.c (elf_link_input_bfd): Update.
4699
138f35cc
JJ
47002004-12-10 Jakub Jelinek <jakub@redhat.com>
4701
4702 * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid
4703 st_shndx on STT_SECTION sections.
4704
f9cfae62
DJ
47052004-12-09 Daniel Jacobowitz <dan@codesourcery.com>
4706
4707 * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize
4708 ELF section symbols.
4709
0d2e43ed
ILT
47102004-12-09 Ian Lance Taylor <ian@wasabisystems.com>
4711
1367d393
ILT
4712 * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR,
4713 return a real value, unless it is a PLT symbol.
4714 (mips_elf_perform_relocation): On the RM9000, turn a jal into a
4715 bal if possible.
4716
74f79d8d
ILT
4717 * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of
4718 R_MIPS_JALR entry to 0.
4719
0d2e43ed
ILT
4720 * archures.c: Define bfd_mach_mips9000.
4721 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000.
4722 (mips_set_isa_flags): Handle bfd_mach_mips9000.
4723 * cpu-mips.c (I_mips9000): Define.
4724 (arch_info_struct): Add case for bfd_mach_mips9000.
4725 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000.
4726 * bfd-in2.h: Regenerate.
4727
728b2f21
ILT
47282004-12-08 Ian Lance Taylor <ian@wasabisystems.com>
4729
4730 * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26
4731 overflow.
4732
45ab555d
BE
47332004-12-07 Ben Elliston <bje@gnu.org>
4734
4735 * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned.
4736
1511ddaf
DJ
47372004-12-06 Daniel Jacobowitz <dan@debian.org>
4738
4739 Suggested by Fergal Daly <fergal@esatclear.ie>:
4740 * simple.c (simple_dummy_multiple_definition): New function.
4741 (bfd_simple_get_relocated_section_contents): Use it.
4742
47432004-12-03 Jan Beulich <jbeulich@novell.com>
57426232
JB
4744
4745 * elf.c (elf_find_function): Don't use the last file symbol ever,
4746 seen, but the last one seen prior to the symbol being reported.
4747 Don't report a filename at all for global symbols when that might
4748 be ambiguous/wrong.
4749
94a3258f
PB
47502004-12-01 Paul Brook <paul@codesourcery.com>
4751
4752 * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI.
4753 (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI
4754 version.
4755
529fcb95
PB
47562004-12-01 Paul Brook <paul@codesourcery.com>
4757
4758 * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
4759 sections undefined.
4760
dea514f5
PB
47612004-11-30 Paul Brook <paul@codesourcery.com>
4762
4763 * elf32-arm.c (struct elf32_arm_link_hash_table): Remove
4764 no_pipeline_knowledge
4765 (elf32_arm_link_hash_table_create): Ditto.
4766 (bfd_elf32_arm_process_before_allocation): Ditto.
4767 (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation
4768 handling.
4769 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
4770 prototype.
4771 * bfd-in2.h: Regenerate.
4772
edfc032f
AM
47732004-11-30 Randolph Chung <tausq@debian.org>
4774
4775 * elf32-hppa.c (elf32_hppa_grok_prstatus): New function.
4776 (elf32_hppa_grok_psinfo): New function.
4777 (elf_backend_grok_prstatus): Define.
4778 (elf_backend_grok_psinfo): Define.
4779
0be9069d
L
47802004-11-24 H.J. Lu <hongjiu.lu@intel.com>
4781
4782 PR 574:
4783 * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS.
4784
47cc2cf5
PB
47852004-11-24 Paul Brook <paul@codesourcery.com>
4786
4787 * elf.c (assign_section_numbers): Number SHT_GROUP sections first.
4788
0beaef2b
PB
47892004-11-24 Paul Brook <paul@codesourcery.com>
4790
4791 * elf32-arm.c (elf32_arm_swap_symbol_in): New function.
4792 (elf32_arm_swap_symbol_out): New function.
4793 (elf32_arm_size_info): Add.
4794 (elf_backend_size_info): Define.
4795
3dd2fcf0
DA
47962004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4797
4798 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
4799 make_bfd_asection.
4800
de52dba4
AM
48012004-11-19 Alan Modra <amodra@bigpond.net.au>
4802
4803 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
4804 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
4805 * nlmcode.h (nlm_write_object_contents): Warning fix.
4806
288f74fa
BW
48072004-11-18 Bob Wilson <bob.wilson@acm.org>
4808
4809 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
4810
b7693d02
DJ
48112004-11-17 Daniel Jacobowitz <dan@codesourcery.com>
4812
4813 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
4814 (elf32_arm_plt_thumb_stub): New.
4815 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
4816 and plt_got_offset.
4817 (elf32_arm_link_hash_traverse): Fix typo.
4818 (elf32_arm_link_hash_table): Add obfd.
4819 (elf32_arm_link_hash_newfunc): Initialize new fields.
4820 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
4821 (elf32_arm_link_hash_table_create): Initialize obfd.
4822 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
4823 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
4824 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
4825 interworking BFD is not dynamic.
4826 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
4827 not emit glue for PLT references.
4828 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
4829 emit glue for PLT references. Support the Thumb PLT prefix.
4830 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
4831 plt_thumb_refcount.
4832 (elf32_arm_check_relocs): Likewise.
4833 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
4834 plt_thumb_refcount.
4835 (allocate_dynrelocs): Handle Thumb PLT references.
4836 (elf32_arm_finish_dynamic_symbol): Likewise.
4837 (elf32_arm_symbol_processing): New function.
4838 (elf_backend_symbol_processing): Define.
4839
353057a5
RS
48402004-11-16 Richard Sandiford <rsandifo@redhat.com>
4841
4842 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
4843 add_fde_encoding. Remove need_relative.
4844 * elf-eh-frame.c (extra_augmentation_string_bytes)
4845 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
4846 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
4847 in cases where the CIE has no existing 'R' augmentation. Use
4848 size_of_output_cie_fde when assigning offsets. Use the final offset
4849 as the new section size.
4850 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
4851 Account for any extra augmentation bytes in the returned offset.
4852 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
4853 moved before being modified. Pad growing entries with DW_CFA_nops.
4854 Add 'z' and 'R' augmentations as directed by add_augmentation_size
4855 and add_fde_encoding.
4856
b32d3aa2
MM
48572004-11-15 Mark Mitchell <mark@codesourcery.com>
4858
4859 * elf32-arm.c (elf32_arm_relocate_section): Use
4860 arm_real_reloc_type.
4861
5d41f0b6
RS
48622004-11-16 Richard Sandiford <rsandifo@redhat.com>
4863
4864 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
4865 for discard relocations; don't add an R_MIPS_NONE to the main body
4866 of .rel.dyn.
4867
fc0e6df6
PB
48682004-11-04 Paul Brook <paul@codesourcery.com>
4869
4870 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
4871 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
4872 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
4873 default version definition for unversioned symbols.
4874 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
4875 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
4876 _bfd_elf_slurp_version_tables. Set default version for unversioned
4877 imported symbols.
4878
b23e50e2
PB
48792004-11-15 Paul Brook <paul@codesourcery.com>
4880
4881 * elflink.c (elf_link_add_object_symbols): Don't assume version
4882 indices are consecutive.
4883
f4a6705c
RS
48842004-11-14 Richard Sandiford <rsandifo@redhat.com>
4885
4886 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
4887 composite relocations against the personality data.
4888
ee06dc07
PB
48892004-11-13 Paul Brook <paul@codesourcery.com>
4890
4891 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
4892 R_ARM_PREL31 relocations to PLT entries.
4893 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
4894 (elf32_arm_check_relocs): Ditto.
4895
a1ace8d8
BW
48962004-11-12 Bob Wilson <bob.wilson@acm.org>
4897
4898 * xtensa-isa.c (xtensa_interface_class_id): New.
4899
e4115460
BW
49002004-11-11 Bob Wilson <bob.wilson@acm.org>
4901
4902 * elf32-xtensa.c (property_table_compare): Remove assertion about
4903 entries with the same address and non-zero size.
4904 (xtensa_read_table_entries): Report such entries as errors.
4905
6366ff1e
MM
49062004-11-11 Mark Mitchell <mark@codesourcery.com>
4907
4908 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
4909 R_ARM_RELATIVE on Symbian OS.
4910
b34af79c
MM
49112004-11-09 Mark Mitchell <mark@codesourcery.com>
4912
e6dc21b6
MM
4913 * som.c (som_bfd_print_private_bfd_data): New function.
4914 (som_object_setup): Save the auxiliary header. Don't assume that
4915 zero is an invalid entry point for a shared library.
4916 (som_object_p): Allocate the auxiliary header on the heap.
4917
b34af79c
MM
4918 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
4919 declaration.
4920 (elf32_arm_symbian_modify_segment_map): Likewise.
4921
08d1f311
DJ
49222004-11-09 Daniel Jacobowitz <dan@debian.org>
4923
4924 From David Poole <daveml@mbuf.com>:
4925 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
4926 (elf32_arm_size_dynamic_sections): Call it.
4927
0306b3bf
AM
49282004-11-09 Alan Modra <amodra@bigpond.net.au>
4929
4930 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
4931 (ALL_MACHINES_CFILES): Fix typo.
4932 * Makefile.in: Regenerate.
4933 * po/SRC-POTFILES.in: Regenerate.
4934
a16385dc
MM
49352004-11-08 Mark Mitchell <mark@codesourcery.com>
4936
4937 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
4938 R_ARM_RELATIVE relocation for Symbian OS, mention the section
4939 symbol in the relocation.
4940
0306b3bf
AM
49412004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
4942 Vineet Sharma <vineets@noida.hcltech.com>
7499d566
NC
4943
4944 * coff-maxq.c: New File.
0306b3bf
AM
4945 * cpu-maxq.c: New File.
4946 * coffcode.h: Likewise.
4947 * config.bfd: Likewise.
4948 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
4949 * Makefile.am: Add support for maxq target.
4950 * configure.in: Likewise.
0306b3bf
AM
4951 * archures.c:. Likewise.
4952 * targets.c: Likewise.
4953 * bfd_in2.h : Regenerated.
7499d566
NC
4954 * Makefile.in: Regenerated.
4955 * configure: Regenerated.
4956 * doc/Makefile.in: Regenerated.
4957
977cdf5a
NC
49582004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
4959
4960 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
4961 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
4962 C_NT_WEAK aux entries.
4963 (_bfd_coff_generic_relocate_section): Handle undefined
4964 aliases.
4965
9dfe8738
AS
49662004-11-07 Andreas Schwab <schwab@suse.de>
4967
4968 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
4969 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
4970 non-default visibility.
4971
c3c76620
MM
49722004-11-01 Mark Mitchell <mark@codesourcery.com>
4973
4974 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 4975 D_PAGED.
c3c76620
MM
4976 (elf32_arm_symbian_modify_segment_map): Don't
4977 reset includes_filehdr and includes_phdrs here.
4978
7f266840
DJ
49792004-11-04 Daniel Jacobowitz <dan@debian.org>
4980
4981 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
4982 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
4983 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
4984 dependency.
4985 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
4986 to a new removed list. Remove normal configuration stanzas.
4987 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
4988 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
4989 elfarm-nabi.lo with elf32-arm.lo.
4990 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
4991 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
4992 * elf32-arm.h: Remove.
4993 * elfarm-oabi.c: Remove.
4994 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
4995 and bfd_elf32_littlearm_oabi_vec.
4996 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
4997
bac23f82
HPN
49982004-11-04 Hans-Peter Nilsson <hp@axis.com>
4999
5000 * config.bfd: Support crisv32-*-* like cris-*-*.
5001 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
5002 (bfd_mach_cris_v10_v32): New macros.
5003 * cpu-cris.c: Tweak formatting.
5004 (get_compatible): New function.
5005 (N): New macro.
5006 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
5007 bfd_arch_info_type:s.
5008 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
5009 get_compatible for member compatible and link bfd_cris_arch_v32 as
5010 next.
5011 * elf32-cris.c (cris_elf_pcrel_reloc)
5012 (cris_elf_set_mach_from_flags): New functions.
5013 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
5014 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
5015 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
5016 numbers for bfd_mach_cris_v32.
5017 (PLT_ENTRY_SIZE_V32): New macro.
5018 (elf_cris_plt0_entry): Drop last comma in initializer.
5019 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
5020 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
5021 PLT initializers.
5022 (cris_elf_relocate_section): Change all "%B(%A)" messages to
5023 "%B, section %A".
5024 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
5025 (elf_cris_finish_dynamic_sections): Similar.
5026 (elf_cris_adjust_dynamic_symbol): Similar.
5027 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
5028 section %A".
5029 <switch with PIC relocs>: Emit error and return FALSE for
5030 bfd_mach_cris_v10_v32.
5031 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
5032 Emit warning when generating textrel reloc.
5033 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
5034 (cris_elf_final_write_processing): Set flags according to mach.
5035 (cris_elf_print_private_bfd_data): Display
5036 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
5037 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
5038 new_flags. Don't call cris_elf_final_write_processing. Don't
5039 look at the actual elf header flags at all; use
5040 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
5041 in bfd_get_mach for ibfd and obfd and handle merging of compatible
5042 objects.
5043 (bfd_elf32_bfd_copy_private_bfd_data): Define.
5044 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
5045 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
5046 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
5047 * bfd-in2.h, libbfd.h: Regenerate.
5048
c5614fa4
AM
50492004-11-04 Alan Modra <amodra@bigpond.net.au>
5050
5051 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
5052 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
5053 comment.
5054 (struct adjust_toc_info): New.
5055 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
5056
0ebdbb83
BW
50572004-11-03 Bob Wilson <bob.wilson@acm.org>
5058
5059 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
5060 if there are no segments.
5061
675b2ace
DJ
50622004-11-02 Daniel Jacobowitz <dan@debian.org>
5063
5064 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
5065
58852c27
NC
50662004-11-02 Nick Clifton <nickc@redhat.com>
5067
5068 * elf32-iq2000.c: Convert to ISO C90 formatting.
5069
e6857c0c
HPN
50702004-11-02 Hans-Peter Nilsson <hp@axis.com>
5071
20288ed6 5072 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 5073
bf718458
L
50742004-10-28 H.J. Lu <hongjiu.lu@intel.com>
5075
5076 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
5077 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
5078 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
5079
044ad7e3
KK
50802004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5081
5082 * elf32-sh.c (tpoff): Take alignment into account.
5083
d5cb4bb8
NC
50842004-10-28 Nick Clifton <nickc@redhat.com>
5085
5086 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 5087 performing a relocatable link.
d5cb4bb8
NC
5088 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
5089 for MIPS ports under Irix.
5090
5b5bb741
PB
50912004-10-27 Richard Earnshaw <rearnsha@arm.com>
5092
5093 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
5094 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
5095 (elf32_arm_final_link_relocate): Ditto.
5096 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
5097 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
5098 (elf32_arm_adjust_dynamic_symbol): Ditto.
5099 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
5100 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
5101 (elf32_arm_r_howto): ... To here.
5102 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
5103
97ecf322
L
51042004-10-26 H.J. Lu <hongjiu.lu@intel.com>
5105
5106 PR 475
5107 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
5108 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
5109 and R_IA64_SECREL64LSB.
5110
3e3b46e5
PB
51112004-10-26 Paul Brook <paul@codesourcery.com>
5112
5113 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
5114 (bfd_elf_size_dynamic_sections): Create default version definition.
5115 (elf_link_output_extsym): Adjust for default symbol version.
5116
aa69fe43
HPN
51172004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
5118
278b4623
HPN
5119 * mmo.c: Adjust to ISO C.
5120
aa69fe43
HPN
5121 * mmo.c (mmo_write_section_description): New function broken out
5122 of mmo_internal_write_section.
5123 (mmo_internal_write_section): For each of .text and .data, call
5124 mmo_write_section_description before outputting contents if it has
5125 nontrivially deducible vma or contents.
5126 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
5127 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
5128 symbols if found within the .data address range.
5129
ed040321
DJ
51302004-10-24 Daniel Jacobowitz <dan@debian.org>
5131
5132 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
5133
830866af
HPN
51342004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
5135
5136 * mmo.c (File Layout): Correct place of misplaced blurb about
5137 special data.
5138
5f417ca3
MK
51392004-10-22 Mark Kettenis <kettenis@gnu.org>
5140
5141 * config.bfd: Add mips64*-*-openbsd.
5142
823fc61f
BW
51432004-10-21 Bob Wilson <bob.wilson@acm.org>
5144
5145 * elf32-xtensa.c (ebb_propose_action): Put declarations before
5146 statements.
5147
8697aafb
L
51482004-10-21 H.J. Lu <hongjiu.lu@intel.com>
5149
5150 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
5151 * configure: Regenerate.
5152
dfeffb9f
L
51532004-10-21 H.J. Lu <hongjiu.lu@intel.com>
5154
5155 PR 463
5156 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
5157 to linker reloc_overflow callback.
5158 (aout_link_input_section_ext): Likewise.
5159 (aout_link_reloc_link_order): Likewise.
5160 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
5161 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
5162 Likewise.
5163 (alpha_relocate_section): Likewise.
5164 * coff-arm.c (coff_arm_relocate_section): Likewise.
5165 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
5166 * coff-h8500.c (extra_case): Likewise.
5167 * coff-i960.c (coff_i960_relocate_section): Likewise.
5168 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
5169 * coff-mips.c (mips_relocate_section): Likewise.
5170 * coff-or32.c (coff_or32_relocate_section): Likewise.
5171 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
5172 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
5173 * coff-sh.c (sh_relocate_section): Likewise.
5174 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
5175 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
5176 * coff-z8k.c (extra_case): Likewise.
5177 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
5178 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
5179 (_bfd_coff_generic_relocate_section): Likewise.
5180 * ecoff.c (ecoff_reloc_link_order): Likewise.
5181 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
5182 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
5183 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
5184 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
5185 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
5186 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
5187 * elf32-cris.c (cris_elf_relocate_section): Likewise.
5188 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
5189 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
5190 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
5191 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
5192 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
5193 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
5194 * elf32-i370.c (i370_elf_relocate_section): Likewise.
5195 * elf32-i386.c (elf_i386_relocate_section): Likewise.
5196 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
5197 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
5198 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
5199 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
5200 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
5201 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5202 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
5203 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
5204 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
5205 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5206 * elf32-s390.c (elf_s390_relocate_section): Likewise.
5207 * elf32-sh.c (sh_elf_relocate_section): Likewise.
5208 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5209 * elf32-v850.c (v850_elf_relocate_section): Likewise.
5210 * elf32-vax.c (elf_vax_relocate_section): Likewise.
5211 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
5212 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
5213 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
5214 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
5215 * elf64-s390.c (elf_s390_relocate_section): Likewise.
5216 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5217 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5218 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5219 * elflink.c (elf_reloc_link_order): Likewise.
5220 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
5221 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
5222 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
5223 * linker.c (_bfd_generic_reloc_link_order): Likewise.
5224 * pdp11.c (pdp11_aout_link_input_section): Likewise.
5225 (aout_link_reloc_link_order): Likewise.
5226 * reloc.c (bfd_generic_get_relocated_section_contents):
5227 Likewise.
5228 * xcofflink.c (xcoff_reloc_link_order): Likewise.
5229 * simple.c (simple_dummy_reloc_overflow): Updated.
5230
1715e0e3
AS
52312004-10-20 Andreas Schwab <schwab@suse.de>
5232
5233 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
5234 (elf_backend_plt_sym_val): Define.
5235
db3d41a8
DS
52362004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
5237
5238 * config.bfd: Set targ_underscore=yes for PE COFF targets
5239
4b85d634
AM
52402004-10-19 Alan Modra <amodra@bigpond.net.au>
5241
5242 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
5243 (ppc64_elf_edit_opd): Likewise.
5244
6df4d94c
MM
52452004-10-18 Mark Mitchell <mark@codesourcery.com>
5246
5247 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
5248 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
5249 set SEC_ALLOC and SEC_LOAD.
5250
00d962d1
NC
52512004-10-18 Nick Clifton <nickc@redhat.com>
5252
5253 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
5254 'name' for relocs against both local and global symbols.
5255
b58f81ae
DJ
52562004-10-16 Daniel Jacobowitz <dan@debian.org>
5257
5258 * bfd-in2.h: Regenerate.
5259 * bfd.c (struct bfd): Add no_export.
5260 * elflink.c (elf_link_add_object_symbols): Handle no_export.
5261
7d3f158f
AM
52622004-10-15 Alan Modra <amodra@bigpond.net.au>
5263
5264 * config.bfd: Whitespace cleanup.
5265 * Makefile.am: Run "make dep-am"
5266 * Makefile.in: Regenerate.
5267
6d2cd210
JJ
52682004-10-15 Jakub Jelinek <jakub@redhat.com>
5269
5270 * elflink.c (struct already_linked_section): Removed.
5271 (try_match_symbols_in_sections, already_linked): Removed.
5272 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
5273 prefix of section names when finding already_linked_table
5274 chain. Compare section names. Instead of calling already_linked,
5275 do it inline and only for sections in the same already_linked_list.
5276
92e4ec35
AM
52772004-10-15 Alan Modra <amodra@bigpond.net.au>
5278
5279 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
5280 parameter. If called after _bfd_elf_write_section_eh_frame,
5281 don't allow a -2 return unless need_* bit is already set, and
5282 handle offsets adjusted for output_offset.
5283 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
5284 * elf.c (_bfd_elf_section_offset): Update call.
5285
7bf6dede
L
52862004-10-13 H.J. Lu <hongjiu.lu@intel.com>
5287
5288 PR 440
5289 * coffcode.h (coff_compute_section_file_positions): Cast to
5290 bfd_vma when computing page alignment.
5291
c0042f5d
MM
52922004-10-13 Mark Mitchell <mark@codesourcery.com>
5293
5294 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
5295 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
5296
2a1b9a48
MM
52972004-10-12 Mark Mitchell <mark@codesourcery.com>
5298
5299 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
5300 relocations use a virtual address, not a section offset.
5301
b08b5071
BW
53022004-10-12 Bob Wilson <bob.wilson@acm.org>
5303
5304 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
5305 (narrow_instruction, widen_instruction): Remove unnecessary calls to
5306 xtensa_format_encode.
5307 (ebb_propose_action): Inline call to ebb_add_proposed_action.
5308 (ebb_add_proposed_action): Delete.
5309
7fa3d080
BW
53102004-10-12 Bob Wilson <bob.wilson@acm.org>
5311
5312 * elf32-xtensa.c: Use ISO C90 formatting.
5313
3656d5e3
PB
53142004-10-12 Paul Brook <paul@codesourcery.com>
5315
5316 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
5317 message.
5318
8cb51566
PB
53192004-10-12 Paul Brook <paul@codesourcery.com>
5320
5321 * elf32-arm.h: Support EABI version 4 objects.
5322
1abc8597
AM
53232004-10-12 Alan Modra <amodra@bigpond.net.au>
5324
5325 PR 325
5326 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
5327 Don't mark as default.
5328 (bfd_x86_64_arch): Don't mark as default.
5329
9e66c942
AM
53302004-10-12 Alan Modra <amodra@bigpond.net.au>
5331
5332 * elflink.c (enum action_discarded): New.
5333 (elf_section_complain_discarded): Delete.
5334 (elf_action_discarded): New function subsuming the above and also
5335 controlling reloc behaviour.
1abc8597 5336 (elf_link_input_bfd): Use it.
9e66c942 5337
7f1204bb
JJ
53382004-10-11 Jakub Jelinek <jakub@redhat.com>
5339
5340 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
5341 (special_sections): Add .gnu.liblist and .gnu.conflict.
5342 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
5343
87e5235d
AM
53442004-10-11 Alan Modra <amodra@bigpond.net.au>
5345
5346 PR 233
5347 * elflink.c (elf_link_input_bfd): Try harder to support
5348 relocations against symbols in removed linkonce sections.
5349
2ad770c3
AM
53502004-10-11 Alan Modra <amodra@bigpond.net.au>
5351
029446c4
AM
5352 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
5353
2ad770c3
AM
5354 PR 354
5355 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
5356 sections do not reference symbols in non-SEC_ALLOC sections.
5357
1da212d6
AM
53582004-10-11 Alan Modra <amodra@bigpond.net.au>
5359
5360 PR 437
5361 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
5362 (_bfd_elf_link_omit_section_dynsym): Formatting.
5363
f12123c0
AM
53642004-10-10 Alan Modra <amodra@bigpond.net.au>
5365
5366 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
5367 * libbfd.h: Regnerate.
5368 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
5369 * elf32-frv.c: Likewise.
5370 * elf32-m32r.c: Likewise.
5371 * elf32-ppc.c: Likewise.
5372 * elf64-hppa.c: Likewise.
5373 * elfxx-ia64.c: Likewise.
5374 * opncls.c: Likewise.
5375
fda3ecf2
AM
53762004-10-10 Alan Modra <amodra@bigpond.net.au>
5377
3472e2e9
AM
5378 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
5379 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
5380 offsets stored in struct eh_cie_fde entries before doing other
5381 work.
5382
fda3ecf2
AM
5383 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
5384 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
5385 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
5386 setting offsets for removed CIEs. Don't set "sec", instead set
5387 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
5388 CIE in hdr_info. Only set make_relative and make_lsda_relative
5389 for CIEs. Use pointers rather than array indices.
5390 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
5391 make_lsda_relative, need_* on cie_inf for FDEs.
5392 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
5393 section output_offset. Delete cie_offset, instead use cie_inf
5394 pointer to CIE entry. Use need_relative and need_lsda_relative on
5395 CIE entry for FDEs. Use pointers rather than array indices.
5396
7db6994f
AM
53972004-10-09 Alan Modra <amodra@bigpond.net.au>
5398
5399 * coff-rs6000.c (rs6000coff_vec): Add initializer for
5400 bfd_is_target_special_symbol.
5401 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5402 * som.c (som_bfd_is_target_special_symbol): Define.
5403
3c9458e9
NC
54042004-10-08 Nick Clifton <nickc@redhat.com>
5405
5406 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
5407 * configure: Regenerate.
5408 * bfd-in2.h: Regenerate.
5409 * syms.c (bfd_is_target_special_symbol): New interface function.
5410 Returns true when a symbol should be considered to be special.
7db6994f 5411 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
5412 the symbol jump table.
5413 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
5414 Return true iff the symbol is a mapping symbol.
5415 (bfd_elf32_bfd_is_target_special_symbol): Define.
5416 * elfxx-target.h: Provide a default definition for
5417 bfd_is_target_special_symbol.
5418 * aout-target.h: Likewise.
5419 * aout-tic30.c: Likewise.
873d03ee 5420 * binary.c: Likewise.
3c9458e9
NC
5421 * coffcode.h: Likewise.
5422 * i386msdos.c: Likewise.
5423 * ieee.c: Likewise.
873d03ee 5424 * ihex.c: Likewise.
3c9458e9
NC
5425 * libaout.h: Likewise.
5426 * libbfd-in.h: Likewise
5427 * libecoff.h: Likewise.
5428 * mach-o.c: Likewise.
5429 * mmo.c: Likewise.
5430 * nlm-target.h: Likewise.
5431 * oasys.c: Likewise.
5432 * pef.c: Likewise.
5433 * ppcboot.c: Likewise.
5434 * srec.c: Likewise.
5435 * tekhex.c: Likewise.
5436 * versados.c: Likewise.
5437 * vms.c: Likewise.
5438 * xcoff-target.h: Likewise.
5439 * xsym.c: Likewise.
5440 * libbfd.h: Regenerate.
5441
d2b2c203
DJ
54422004-10-08 Daniel Jacobowitz <dan@debian.org>
5443
5444 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
5445 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
5446 (elf_backend_section_from_shdr): Define.
5447
864274b0
AM
54482004-10-08 Alan Modra <amodra@bigpond.net.au>
5449
5450 * syms.c (bfd_is_local_label): Return false for file symbols.
5451
43cd72b9 54522004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 5453 David Heine <dlheine@tensilica.com>
43cd72b9
BW
5454
5455 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
5456 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
5457 (elf32xtensa_no_literal_movement): New global variable.
5458 (elf_howto_table): Add entries for new relocations.
5459 (elf_xtensa_reloc_type_lookup): Handle new relocations.
5460 (property_table_compare): When addresses are equal, compare sizes and
5461 various property flags.
5462 (property_table_matches): New.
5463 (xtensa_read_table_entries): Extend to read new property tables. Add
5464 output_addr parameter to indicate that output addresses should be used.
5465 Use bfd_get_section_limit.
5466 (elf_xtensa_find_property_entry): New.
5467 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
5468 (elf_xtensa_check_relocs): Handle new relocations.
5469 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
5470 relocations. Use new xtensa-isa.h functions.
5471 (build_encoding_error_message): Remove encode_result parameter. Add
5472 new target_address parameter used to detect alignment errors.
5473 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
5474 error handling. Use new is_operand_relocation function.
5475 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
5476 Use underbar macro for error messages. Formatting.
5477 (get_const16_opcode): New.
5478 (get_l32r_opcode): Add a separate flag for initialization.
5479 (get_relocation_opnd): Operand number is no longer explicit in the
5480 relocation. Change to decode the opcode and analyze its operands.
5481 (get_relocation_slot): New.
5482 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
5483 Use new xtensa-isa.h functions to handle multislot instructions.
5484 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
5485 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
5486 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
5487 check_loop_aligned, check_branch_target_aligned_address, narrowable,
5488 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
5489 get_single_format, init_op_single_format_table): New.
5490 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
5491 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
5492 (contract_asm_expansion): Add error_message parameter and pass it to
5493 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
5494 with R_XTENSA_SLOT0_OP.
5495 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
5496 instructions. Use new xtensa-isa.h functions.
5497 (r_reloc struct): Add new virtual_offset field.
5498 (r_reloc_init): Add contents and content_length parameters. Set
5499 virtual_offset field to zero. Add contents to target_offset field for
5500 partial_inplace relocations.
5501 (r_reloc_is_defined): Check for null.
5502 (print_r_reloc): New debug function.
5503 (source_reloc struct): Replace xtensa_operand field with pair of the
5504 opcode and the operand position. Add is_abs_literal field.
5505 (init_source_reloc): Specify operand by opcode/position pair. Set
5506 is_abs_literal field.
5507 (source_reloc_compare): When target_offsets are equal, compare other
5508 fields to make sorting predictable.
5509 (literal_value struct): Add is_abs_literal field.
5510 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
5511 (init_literal_value): New.
5512 (is_same_value): Replace with ...
5513 (literal_value_equal): ... this function. Add comparisons of
5514 virtual_offset and is_abs_literal fields.
5515 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
5516 failure. Initialize has_last_loc field.
5517 (value_map_hash_table_delete): New.
5518 (hash_literal_value): Rename to ...
5519 (literal_value_hash): ... this. Include is_abs_literal flag and
5520 virtual_offset field in the hash value.
5521 (get_cached_value): Rename to ...
5522 (value_map_get_cached_value): ... this. Update calls to
5523 literal_value_hash and literal_value_equal.
5524 (add_value_map): Check for allocation failure. Update calls to
5525 value_map_get_cached_value and literal_value_hash.
5526 (text_action, text_action_list, text_action_t): New types.
5527 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
5528 text_action_add, text_action_add_literal, offset_with_removed_text,
5529 offset_with_removed_text_before_fill, find_insn_action,
5530 print_action_list, print_removed_literals): New.
5531 (offset_with_removed_literals): Delete.
5532 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
5533 fix_array, fix_array_count, allocated_relocs, relocs_count, and
5534 allocated_relocs_count fields.
5535 (init_xtensa_relax_info): Initialize new fields.
5536 (reloc_bfd_fix struct): Add new translated field.
5537 (reloc_bfd_fix_init): Add translated parameter and use it to set the
5538 translated field.
5539 (fix_compare, cache_fix_array): New.
5540 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
5541 section via get_xtensa_relax_info. Use cache_fix_array to set up
5542 sorted fix_array and use bsearch instead of linear search.
5543 (section_cache_t): New struct.
5544 (init_section_cache, section_cache_section, clear_section_cache): New.
5545 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
5546 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
5547 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
5548 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
5549 New.
5550 (retrieve_contents): Use bfd_get_section_limit.
5551 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
5552 to compute_removed_literals. Free value_map_hash_table when no longer
5553 needed.
5554 (analyze_relocations): Check is_relaxable_asm_section flag. Call
5555 compute_text_actions for all sections.
5556 (find_relaxable_sections): Mark sections as relaxable if they contain
5557 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
5558 call. Increment relax_info src_count field only for appropriate
5559 relocation types. Remove is_literal_section check.
5560 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
5561 r_reloc_init and find_associated_l32r_irel. Check
5562 is_relaxable_asm_section flag. Handle L32R instructions with absolute
5563 literals. Pass is_abs_literal flag to init_source_reloc.
5564 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
5565 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 5566 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
5567 (find_associated_l32r_irel): Add bfd parameter and pass it to
5568 is_l32r_relocation.
5569 (compute_text_actions, compute_ebb_proposed_actions,
5570 compute_ebb_actions, check_section_ebb_pcrels_fit,
5571 check_section_ebb_reduces, text_action_add_proposed,
5572 compute_fill_extra_space): New.
5573 (remove_literals): Replace with ...
5574 (compute_removed_literals): ... this function. Call
5575 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
5576 Call xtensa_read_table_entries to get the property table. Skip
5577 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
5578 is_removable_literal, remove_dead_literal, and
fda3ecf2 5579 identify_literal_placement functions.
43cd72b9
BW
5580 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
5581 instead of linear search.
5582 (is_removable_literal, remove_dead_literal,
5583 identify_literal_placement): New.
5584 (relocations_reach): Update check for literal not referenced by any
5585 PC-relative relocations. Adjust call to pcrel_reloc_fits.
5586 (coalesce_shared_literal, move_shared_literal): New.
5587 (relax_section): Use bfd_get_section_limit. Call
5588 translate_section_fixes. Update calls to r_reloc_init and
5589 offset_with_removed_text. Check new is_relaxable_asm_section flag.
5590 Add call to pin_internal_relocs. Add special handling for
5591 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
5592 info to calculate new addend_displacement variable. Replace code for
5593 deleting literals with more general code to perform the actions
5594 determined by the action_list for the section.
5595 (translate_section_fixes, translate_reloc_bfd_fix): New.
5596 (translate_reloc): Check new is_relaxable_asm_section flag. Call
5597 find_removed_literal only if is_operand_relocation. Update call to
5598 offset_with_removed_text. Use new target_offset and removed_bytes
5599 variables.
5600 (move_literal): New.
5601 (relax_property_section): Use bfd_get_section_limit. Set new
5602 is_full_prop_section flag and handle new property tables. Update calls
5603 to r_reloc_init and offset_with_removed_text. Check
5604 is_relaxable_asm_section flag. Handle expansion of zero-sized
5605 unreachable entries, with use of offset_with_removed_text_before_fill.
5606 For relocatable links, combine entries only for literal tables.
5607 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
5608 calls to offset_with_removed_text. Translate st_size field for
5609 function symbols.
5610 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
5611 failure. Add contents parameter. Update call to get_bfd_fix. Update
5612 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
5613 R_XTENSA_ASM_EXPAND relocs.
5614 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
5615 call to get_bfd_fix. Include offset from contents for partial_inplace
5616 relocations.
5617 (is_reloc_sym_weak): New.
5618 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
5619 (prop_sec_len): New.
5620 (xtensa_is_property_section): Handle new property sections.
5621 (is_literal_section): Delete.
5622 (internal_reloc_compare): When r_offset matches, compare r_info and
5623 r_addend to make sorting predictable.
5624 (internal_reloc_matches): New.
5625 (xtensa_get_property_section_name): Handle new property sections.
5626 (xtensa_get_property_predef_flags): New.
5627 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
5628 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
5629 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
5630 (xtisa_errno, xtisa_error_msg): New variables.
5631 (xtensa_isa_errno, xtensa_isa_error_msg): New.
5632 (xtensa_insnbuf_alloc): Add error handling.
5633 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
5634 use xtensa_format_decode. Add error handling.
5635 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
5636 instruction length to find the number of bytes to copy.
5637 (xtensa_isa_init): Add error handling. Replace calls to
5638 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
5639 tables in the xtensa_modules structure.
5640 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
5641 xtensa_extend_isa): Delete.
5642 (xtensa_isa_free): Change to only free lookup tables.
5643 (opname_lookup_compare): Replace with ...
5644 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
5645 (xtensa_insn_maxlength): Rename to ...
5646 (xtensa_isa_maxlength): ... this.
5647 (xtensa_insn_length): Delete.
5648 (xtensa_insn_length_from_first_byte): Replace with ...
5649 (xtensa_isa_length_from_chars): ... this function.
5650 (xtensa_num_opcodes): Rename to ...
5651 (xtensa_isa_num_opcodes): ... this.
5652 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
5653 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
5654 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
5655 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
5656 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
5657 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
5658 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
5659 (xtensa_opcode_lookup): Add error handling.
5660 (xtensa_decode_insn): Replace with ...
5661 (xtensa_opcode_decode): ... this function, with new format and
5662 slot parameters. Add error handling.
5663 (xtensa_encode_insn): Replace with ...
5664 (xtensa_opcode_encode): ... this function, which does the encoding via
5665 one of the entries in the "encode_fns" array. Add error handling.
5666 (xtensa_opcode_name): Add error handling.
5667 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
5668 xtensa_opcode_is_call): New.
5669 (xtensa_num_operands): Replace with ...
5670 (xtensa_opcode_num_operands): ... this function. Add error handling.
5671 (xtensa_opcode_num_stateOperands,
5672 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
5673 xtensa_opcode_funcUnit_use, xtensa_operand_name,
5674 xtensa_operand_is_visible): New.
5675 (xtensa_get_operand, xtensa_operand_kind): Delete.
5676 (xtensa_operand_inout): Add error handling and special-case for
5677 "sout" operands.
5678 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
5679 operate on one slot of an instruction. Added error handling.
5680 (xtensa_operand_encode): Handle default operands with no encoding
5681 functions. Check for success by comparing against decoded value.
5682 Add error handling.
5683 (xtensa_operand_decode): Handle default operands. Return decoded value
5684 through argument pointer. Add error handling.
5685 (xtensa_operand_is_register, xtensa_operand_regfile,
5686 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
5687 (xtensa_operand_isPCRelative): Rename to ...
5688 (xtensa_operand_is_PCrelative): ... this. Add error handling.
5689 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
5690 through argument pointer. Add error handling.
5691 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
5692 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
5693 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
5694 xtensa_regfile_shortname, xtensa_regfile_view_parent,
5695 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
5696 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
5697 xtensa_state_is_exported, xtensa_sysreg_lookup,
5698 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
5699 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
5700 xtensa_interface_num_bits, xtensa_interface_inout,
5701 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
5702 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
5703 * xtensa-modules.c: Rewrite to use new data structures.
5704 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
5705 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
5706 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
5707 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
5708 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
5709 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
5710 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
5711 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
5712 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
5713 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
5714 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
5715 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
5716 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
5717 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
5718 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
5719 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
5720 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
5721 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
5722 * Makefile.in: Regenerate.
5723 * bfd-in2.h: Likewise.
5724 * libbfd.h: Likewise.
5725
99022dfb
RS
57262004-10-07 Richard Sandiford <rsandifo@redhat.com>
5727
5728 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
5729 against the absolute section.
5730 (mips_elf64_write_rela): Likewise.
5731
b67ae299
NC
57322004-10-07 Jan Beulich <jbeulich@novell.com>
5733
5734 * elf.c (elf_find_function): Don't generally check for matching
5735 section, just for non-file symbols. Remove redunant comparison
5736 for the latter.
5737 * elf32-arm.h (arm_elf_find_function): Likewise.
5738
8fdd7217
NC
57392004-10-07 Jeff Baker <jbaker@qnx.com>
5740
5741 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
5742 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
5743 was specified.
5744
073a2dc3
RM
57452004-10-04 Roland McGrath <roland@redhat.com>
5746
5747 * hash.c (bfd_hash_set_default_size): Use const for table.
5748 Use size_t instead of int for variable compared to sizeof results.
5749
7785be14
AM
57502004-10-05 Alan Modra <amodra@bigpond.net.au>
5751
5752 PR 425
5753 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
5754
40a18ebd
NC
57552004-10-01 Paul Brook <paul@codesourcery.com>
5756
5757 * elf32-arm.h (elf32_arm_fake_sections,
5758 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
5759 functions.
5760 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
5761
8935b81f
AM
57622004-10-01 Alan Modra <amodra@bigpond.net.au>
5763
5764 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
5765 need_lsda_relative.
5766 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
5767 need_relative or need_lsda_relative if we are processing an
5768 offset for a reloc on a FDE initial loc or LSDA field
5769 respectively.
5770 (_bfd_elf_write_section_eh_frame): Test need_relative and
5771 need_lsda_relative in place of corresponding make_* field
5772 when deciding to use pc-relative encodings.
5773
eeac373a
PB
57742004-09-30 Paul Brook <paul@codesourcery.com>
5775
5776 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
5777 target2 relocation type.
5778
7479dfd4
L
57792004-09-30 H.J. Lu <hongjiu.lu@intel.com>
5780
5781 PR 414
5782 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
5783
0dd132b6
NC
57842004-09-30 Paul Brook <paul@codesourcery.com>
5785
5786 * reloc.c: Add BFD_RELOC_ARM_SMI.
5787 * bfd-in2.h: Regenerate.
5788 * libbfd.h: Ditto.
5789
1ba54ee0
AM
57902004-09-24 Alan Modra <amodra@bigpond.net.au>
5791
5792 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
5793 vma and output offset to address.
5794 * simple.c (simple_save_output_info): Only set output section
5795 and offset for debug sections, or those not already set up by
5796 the linker.
5797 (bfd_simple_get_relocated_section_contents): Update comment.
5798
5efb6261
AM
57992004-09-24 Alan Modra <amodra@bigpond.net.au>
5800
5801 * elf.c (IS_LOADED): Delete.
5802 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
5803 Restore SEC_HAS_CONTENTS test to the one place it was used prior
5804 to 2004-09-22.
5805
fca870e4
AM
58062004-09-23 Alan Modra <amodra@bigpond.net.au>
5807
5808 PR gas/396
5809 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
5810 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
5811 redundant assignment of EM_SPARC.
5812
c86696a3
BF
58132004-09-22 Brian Ford <ford@vss.fsi.com>
5814
5815 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
5816 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
5817 constants.
5818 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
5819
73adb214
AM
58202004-09-22 Alan Modra <amodra@bigpond.net.au>
5821
5822 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
5823 (elf_backend_modify_segment_map): Don't define.
5824
b301b248
AM
58252004-09-22 Alan Modra <amodra@bigpond.net.au>
5826
5827 * elf.c (IS_LOADED): Define.
5828 (assign_file_positions_for_segments): Don't round up file offset of
5829 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
5830 Delete code handling link script adjustment of lma. Do the adjust
5831 in later code handling similar ajustments. Remove dead code error
5832 check. Warn if section lma would require a negative offset
5833 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
5834 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
5835 update voff in section loop. Change voff in segment loop to be an
5836 adjustment on top of "off". Set sec->filepos and update "off" later.
5837 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 5838 test for alloc-only sections other than .tbss consistently.
b301b248
AM
5839 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
5840 Tidy PT_NOTE handling. Use %B and %A in error messages.
5841 (assign_file_positions_except_relocs): Use %B in error message.
5842
3f85e526
L
58432004-09-17 H.J. Lu <hongjiu.lu@intel.com>
5844
5845 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
5846 (CONFIG_STATUS_DEPENDENCIES): New.
5847 (Makefile): Removed.
5848 (config.status): Likewise.
5849 * Makefile.in: Regenerated.
5850
eb043451
PB
58512004-09-17 Paul Brook <paul@codesourcery.com>
5852
5853 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
5854 (bfd_elf32_arm_process_before_allocation): Update prototype.
5855 * bfd-in2.h: Regenerate.
5856 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
5857 (elf32_arm_link_hash_table_create): Set it.
5858 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
5859 (bfd_elf32_arm_set_target_relocs): New function.
5860 (arm_real_reloc_type): New function.
5861 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
5862 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
5863 (elf32_arm_gc_sweep_hook): Ditto.
5864 (elf32_arm_check_relocs): Ditto.
5865 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
5866 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
5867 R_ARM_GOT_TARGET2.
5868 (elf32_arm_got_prel): New variable.
5869 (elf32_arm_howto_from_type): New function.
5870 (elf32_arm_info_to_howto): Use it.
5871 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
5872 BFD_RELOC_ARM_TARGET2.
5873 * libbfd.h: Regenerate.
5874 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
5875
f6e332e6
AM
58762004-09-17 Alan Modra <amodra@bigpond.net.au>
5877
5878 * ecoff.c: Update u.undef.next refs.
5879 * elf64-ppc.c: Likewise.
5880 * elflink.c: Likewise.
5881 * linker.c: Likewise.
5882 * xcofflink.c: Likewise.
5883
5884 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
5885 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
5886 fields to indirect struct.
5887 * elf-m10300.c: Update u.weakdef refs.
5888 * elf32-arm.h: Likewise.
5889 * elf32-cris.c: Likewise.
5890 * elf32-frv.c: Likewise.
5891 * elf32-hppa.c: Likewise.
5892 * elf32-i370.c: Likewise.
5893 * elf32-i386.c: Likewise.
5894 * elf32-m32r.c: Likewise.
5895 * elf32-m68k.c: Likewise.
5896 * elf32-ppc.c: Likewise.
5897 * elf32-s390.c: Likewise.
5898 * elf32-sh.c: Likewise.
5899 * elf32-sparc.c: Likewise.
5900 * elf32-vax.c: Likewise.
5901 * elf32-xtensa.c: Likewise.
5902 * elf64-alpha.c: Likewise.
5903 * elf64-hppa.c: Likewise.
5904 * elf64-ppc.c: Likewise.
5905 * elf64-s390.c: Likewise.
5906 * elf64-sh64.c: Likewise.
5907 * elf64-sparc.c: Likewise.
5908 * elf64-x86-64.c: Likewise.
5909 * elfxx-ia64.c: Likewise.
5910 * elfxx-mips.c: Likewise.
5911 * elflink.c: Likewise. Also u.elf_hash_value.
5912 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
5913 indirection.
5914 (elf_gc_smash_unused_vtentry_relocs): Likewise.
5915 (bfd_elf_gc_record_vtinherit): Alloc vtable.
5916 (bfd_elf_gc_record_vtentry): Likewise.
5917 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
5918
90c0a373
AM
59192004-09-17 Alan Modra <amodra@bigpond.net.au>
5920
5921 * Makefile.am: Run "make dep-am".
5922 * Makefile.in: Regenerate.
5923 * bfd-in2.h: Regenerate.
5924 * po/SRC-POTFILES.in: Regenerate.
5925 * po/bfd.pot: Regenerate.
5926
f5385ebf
AM
59272004-09-16 Alan Modra <amodra@bigpond.net.au>
5928
5929 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
5930 with bitfields. Make "type" and "other" bitfields too.
5931 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
5932 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
5933 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
5934 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
5935 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
5936 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
5937 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
5938 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
5939 * elf-hppa.h: Update all uses of elf_link_hash_flags.
5940 * elf-m10300.c: Likewise.
5941 * elf.c: Likewise.
5942 * elf32-arm.h: Likewise.
5943 * elf32-cris.c: Likewise.
5944 * elf32-frv.c: Likewise.
5945 * elf32-hppa.c: Likewise.
5946 * elf32-i370.c: Likewise.
5947 * elf32-i386.c: Likewise.
5948 * elf32-m32r.c: Likewise.
5949 * elf32-m68k.c: Likewise.
5950 * elf32-ppc.c: Likewise.
5951 * elf32-s390.c: Likewise.
5952 * elf32-sh-symbian.c: Likewise.
5953 * elf32-sh.c: Likewise.
5954 * elf32-sh64.c: Likewise.
5955 * elf32-sparc.c: Likewise.
5956 * elf32-vax.c: Likewise.
5957 * elf32-xtensa.c: Likewise.
5958 * elf64-alpha.c: Likewise.
5959 * elf64-hppa.c: Likewise.
5960 * elf64-ppc.c: Likewise.
5961 * elf64-s390.c: Likewise.
5962 * elf64-sh64.c: Likewise.
5963 * elf64-sparc.c: Likewise.
5964 * elf64-x86-64.c: Likewise.
5965 * elflink.c: Likewise.
5966 * elfxx-ia64.c: Likewise.
5967 * elfxx-mips.c: Likewise.
5968 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
5969 * configure: Regenerate.
5970 * aclocal.m4: Regenerate.
5971
b6ee372a
AM
59722004-09-16 Alan Modra <amodra@bigpond.net.au>
5973
5974 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
5975 around uses of R_ARM_TARGET1.
5976 (elf32_arm_check_relocs): Likewise.
5977
9c504268
PB
59782004-09-13 Paul Brook <paul@codesourcery.com>
5979
5980 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
5981 prototype.
5982 * bfd-in2.h: Regenerate.
5983 * libbfd.h: Regenerate.
5984 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
5985 (elf32_arm_link_hash_table_create): Set target1_is_rel.
5986 (bfd_elf32_arm_process_before_allocation): Ditto.
5987 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
5988 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
5989 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
5990 * reloc.c: Ditto.
5991
94ea025a
JB
59922004-09-10 Joel Brobecker <brobecker@gnat.com>
5993
5994 * hpux-core.c (thread_section_p): New function.
5995 (hpux_core_core_file_p): Fix computation of offset in call
5996 to bfd_seek. Create a ".reg" section from an arbitrary
5997 ".reg/<id>" section if none was created after having read
5998 all sections.
5999
24443139
AS
60002004-09-11 Andreas Schwab <schwab@suse.de>
6001
6002 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
6003 * aclocal.m4: Rebuild.
6004 * configure: Rebuild.
6005
f4eae89c
JB
60062004-09-10 Joel Brobecker <brobecker@gnat.com>
6007
6008 * section.c (bfd_sections_find_if): Fix parameter name in
6009 comment to match code.
6010
e0638f70
AM
60112004-09-10 Alan Modra <amodra@bigpond.net.au>
6012
6013 * elf.c (assign_file_positions_except_relocs): Assign relocs
6014 stored in a bfd section.
6015
5e0f5ae3
HPN
60162004-09-08 Hans-Peter Nilsson <hp@axis.com>
6017
6018 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
6019 h->gotplt_refcount to 0, not -1.
6020
ada1953e
HPN
60212004-09-07 Hans-Peter Nilsson <hp@axis.com>
6022
6023 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
6024 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
6025 symname.
6026 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
6027 handle symbol visibility here.
6028
ee75fd95
AM
60292004-09-07 Alan Modra <amodra@bigpond.net.au>
6030
6031 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
6032 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
6033 callers.
6034 (ppc_stub_name): Remove trailing "+0" on stub name.
6035 (create_linkage_sections): Create relocations for
6036 branch lookup table when --emit-relocs as well as when --shared.
6037 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
6038 relbrlt test. For --emit-stub-syms, always output a sym even when
6039 one already exists on a plt call stub. Put stub type in the stub
6040 symbol name.
6041 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
6042 test.
6043 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
6044 reloc_count in stub sections. Adjust relbrlt test.
6045 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
6046 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
6047 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
6048 for relocs against discarded symbols. Fix comments.
6049
229fcec5
MM
60502004-09-06 Mark Mitchell <mark@codesourcery.com>
6051
6052 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
6053 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
6054 from ...
6055 (map_sections_to_segments): ... here. Use it. Assign a file
6056 position to the .dynamic section if it is not loadable, but part
6057 of the PT_DYNAMIC segment.
6058 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
6059 offsets, not VMAs, for the BPABI. Do not fill in the header in
6060 the .got.plt section for the BPABI.
6061 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
6062 PT_DYNAMIC segment.
6063 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 6064
9a0789ec
NC
60652004-09-06 Nick Clifton <nickc@redhat.com>
6066
6067 * elflink.c (elf_link_add_object_symbols): Set the error code to
6068 bfd_error_wrong_format when the input format does not match the
6069 output format.
6070
7b53ace3
AM
60712004-09-06 Alan Modra <amodra@bigpond.net.au>
6072
6073 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
6074 (ppc64_elf_check_directives): ..here.
6075 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
6076 before accessing ppc64_elf_tdata.
6077 (ppc64_elf_finish_dynamic_sections): And here too.
6078
3e540f25
AM
60792004-09-04 Alan Modra <amodra@bigpond.net.au>
6080
6081 * bfd.c (_bfd_default_error_handler): Correct loop exit.
6082
e5a52504
MM
60832004-09-03 Mark Mitchell <mark@codesourcery.com>
6084
6085 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
6086 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
6087 (bfd_elf32_littlearm_symbian_vec): Likewise.
6088 * configure: Regenerated.
6089 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
6090 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
6091 (PLT_ENTRY_SIZE): Likewise.
6092 (bfd_vma_elf32_arm_symbian_plt_entry): New
6093 variable.
6094 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
6095 and symbian_p.
6096 (create_got_section): Don't create sections when generating BPABI
6097 objects.
6098 (elf32_arm_create_dynamic_sections): Tidy.
6099 (elf32_arm_link_hash_table_create): Set plt_header_size,
6100 plt_entry_size, and symbian_p.
6101 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
6102 generating BPABI objects.
6103 (allocate_dynrelocs): Use htab->plt_header_size, not
6104 PLT_HEADER_SIZE. Do not add to .got.plt when
6105 generating BPABI objects.
6106 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
6107 * elfarm-nabi.c: Add SymbianOS target vectors.
6108 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
6109 (_bfd_elf_link_create_dynamic_sections): Likewise.
6110 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
6111 (elfNN_bed): Use it.
6112 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
6113 (bfd_elf32_littlearm_symbian_vec): Likewise.
6114 (_bfd_target_vector): Add them.
6115
6e3b6835
NC
61162004-09-03 Nick Clifton <nickc@redhat.com>
6117
6118 PR 360
6119 * coffcode.h (handle_COMDAT): Replace abort with an warning
6120 message and allow the scan to continue.
6121
595da8c5
AM
61222004-09-02 Alan Modra <amodra@bigpond.net.au>
6123
6124 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
6125 in when reading relocs, not our sorted syms. Remove unnecessary
6126 var.
6127
6723a9f4
EB
61282004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
6129
6130 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
6131
5464f5a1
NN
61322004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
6133
6134 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
6135 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
6136 replace uses of *_alias with *_noncanonical.
6137 * aclocal.m4: Rebuild with aclocal 1.4p6.
6138 * Makefile.in: Rebuild with automake 1.4p6.
6139 * doc/Makefile.in: Rebuild with automake 1.4p6.
6140 * configure.in: Autoupdate with autoupdate 2.59.
6141 * config.in: Regenerate with autoheader 2.59.
6142 * configure: Regnerate with autoconf 2.59.
6143
a7535cf3
AM
61442004-08-28 Alan Modra <amodra@bigpond.net.au>
6145
6146 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
6147 symbol pointer arrays before modifying.
6148
c9727e01
AM
61492004-08-28 Alan Modra <amodra@bigpond.net.au>
6150
b91e2ae2 6151 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
6152 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
6153 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
6154 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
6155 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
6156 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
6157 Use both symbol tables on non-relocatable objects. Use a common
6158 error exit. Fix "mid" warning.
c9727e01
AM
6159 * libbfd.h: Regenerate.
6160 * bfd-in2.h: Regenerate.
6161
699733f6
AM
61622004-08-28 Alan Modra <amodra@bigpond.net.au>
6163
6164 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
6165 object file.
6166 (struct sfpr_def_parms): Save some space.
6167 (sfpr_define): Here too.
6168
6169 * elf64-ppc.c (compare_symbols): Put section syms first.
6170 (sym_exists_at): New function.
6171 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
6172 points only for relocatable files. Use .opd section contents
6173 otherwise. Generally clean up the code.
6174
deb0e272
AM
61752004-08-27 Alan Modra <amodra@bigpond.net.au>
6176
6177 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
6178 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
6179 (struct sfpr_def_parms): New.
6180 (sfpr_define): New function.
6181 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
6182 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
6183 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
6184 (savefpr1_tail, restfpr1_tail): New functions.
6185 (savevr, savevr_tail, restvr, restvr_tail): New functions.
6186 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
6187 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
6188 code. Define all ABI mandated _save and _rest functions.
6189
85a84e7a
PB
61902004-08-26 Paul Brook <paul@codesourcery.com>
6191
deb0e272 6192 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 6193
688c58f3
AM
61942004-08-26 Alan Modra <amodra@bigpond.net.au>
6195
6196 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
6197 TRUE or FALSE.
6198
3e95eabc
AM
61992004-08-26 Alan Modra <amodra@bigpond.net.au>
6200
6201 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
6202 that pcrel correction is applied for R_386_PC32.
6203
f855931b
AM
62042004-08-25 Alan Modra <amodra@bigpond.net.au>
6205
6206 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
6207 for R_386_32 and R_386_PC32 relocs against symbols defined in
6208 discarded sections.
6209
b18c562e
NC
62102004-08-25 Dmitry Diky <diwil@spec.ru>
6211
6212 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
6213 Add new relocations.
6214 * bfd-in2.h: Regenerate.
f855931b 6215 * libbfd.h: Regenerate.
b18c562e
NC
6216 * elf32-msp430.c: Clean-up code.
6217 (elf_msp430_howto_table): Add new relocation entries.
6218 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
6219 (msp430_elf_relax_section): New function.
6220 (msp430_elf_relax_delete_bytes): New function.
6221 (msp430_elf_symbol_address_p): New function.
6222
af705ba8
NC
62232004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
6224
6225 * elf32-m32r.c (m32r_elf_relocate_section): Handle
6226 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
6227
ea5158d8
DJ
62282004-08-20 Daniel Jacobowitz <dan@debian.org>
6229
6230 * elflink.c (_bfd_elf_section_already_linked): Handle
6231 SEC_LINK_DUPLICATES_SAME_CONTENTS.
6232
49d934f1
MM
62332004-08-19 Mark Mitchell <mark@codesourcery.com>
6234
6235 * config.bfd (arm*-*-symbianelf*): New target.
6236 (arm*-*-eabi*): Likewise.
6237
039b3fef
AM
62382004-08-19 Alan Modra <amodra@bigpond.net.au>
6239
6240 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
6241 "struct ppc_link_hash_entry *".
6242 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
6243 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
6244
3f764659
JJ
62452004-08-19 Jakub Jelinek <jakub@redhat.com>
6246
6247 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
6248 entries (where fd_aux overlaps next entry's fd_func).
6249 Add non_overlapping argument, use it.
6250 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
6251 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
6252 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
6253 as indexes into opd_sym_map/opd_adjust array.
6254 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
6255
c09bdfe5
AM
62562004-08-18 Alan Modra <amodra@bigpond.net.au>
6257
6258 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
6259 if we can look up their function descriptor in a regular file.
6260
271d0fc3
NC
62612004-08-18 Nick Clifton <nickc@redhat.com>
6262
6263 PR 324
6264 * cofflink.c (coff_link_add_symbols): Check that the comdat
6265 pointer in the coff_section_data structure has been initialised
6266 before using it.
6267
a010d60f
AM
62682004-08-18 Alan Modra <amodra@bigpond.net.au>
6269
6270 PR 338
6271 * elflink.c (bfd_elf_record_link_assignment): Add comment about
6272 changing bfd_link_hash_undefined to bfd_link_hash_new.
6273
90e3cdf2
JJ
62742004-08-17 Jakub Jelinek <jakub@redhat.com>
6275
6276 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
6277 if not yet defined.
6278 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
6279 (synthetic_opd, synthetic_relocatable): New variables.
6280 (compare_symbols, compare_relocs): New helper routines.
6281 (ppc64_elf_get_synthetic_symtab): New function.
6282 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
6283 to relsyms.
6284 * bfd-in2.h: Regenerated.
6285 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
6286 to relsyms. Return 0 if abfd is relocatable.
6287
7c2c8505
AM
62882004-08-17 Alan Modra <amodra@bigpond.net.au>
6289
6290 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
6291
0367ecfb
NC
62922004-08-17 Nick Clifton <nickc@redhat.com>
6293
6294 * (is_arm_mapping_symbol_name): New function - return true
6295 when a symbol name matches the requirements for an ARM mapping
6296 symbol name.
6297 (arm_elf_find_function): New function based on
6298 elf_find_function in elf.c but skipping ARM mapping symbols
6299 and including thumb function symbols.
6300 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
6301 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
6302
2441e016
AM
63032004-08-17 Alan Modra <amodra@bigpond.net.au>
6304
6305 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
6306 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
6307 (ppc64_elf_brtaken_reloc): Here too.
6308
35b0ce59
AM
63092004-08-17 Alan Modra <amodra@bigpond.net.au>
6310
6311 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
6312 symbol visibility.
6313 (ppc64_elf_check_directives): Check that we have the right hash
6314 table before proceeding.
6315
81688140
AM
63162004-08-17 Alan Modra <amodra@bigpond.net.au>
6317
6318 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
6319 (adjust_opd_syms): Attach opd syms for deleted entries to one of
6320 the sections that will be discarded.
6321
327c1315
AM
63222004-08-16 Alan Modra <amodra@bigpond.net.au>
6323
6324 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
6325
45fc9e4a
AM
63262004-08-16 Alan Modra <amodra@bigpond.net.au>
6327
6328 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
6329 free space available.
6330
9dadfa79
AM
63312004-08-16 Alan Modra <amodra@bigpond.net.au>
6332
6333 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 6334 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
6335
6336 * coff-rs6000.c (do_shared_object_padding): Warning fix.
6337 (xcoff_write_armap_big): Likewise.
6338 (xcoff_write_archive_contents_old): Likewise.
6339 (xcoff_write_archive_contents_big): Likewise.
6340
6341 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
6342
57e8b36a
NC
63432004-08-13 Nick Clifton <nickc@redhat.com>
6344
6345 * elf32-arm.h: Convert to ISO C90.
6346
a005f94e
AM
63472004-08-13 Alan Modra <amodra@bigpond.net.au>
6348
6349 PR 293
6350 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
6351 zero the plt field.
6352
d003868e
AM
63532004-08-13 Alan Modra <amodra@bigpond.net.au>
6354
6355 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
6356 (bfd_archive_filename, bfd_get_section_ident): Delete.
6357 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
6358 bfd_archive_filename.
6359 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
6360 to warn about symbols in discarded sections. Use _bfd_error_handler.
6361 * aout-adobe.c (aout_adobe_callback): See below.
6362 * aout-cris.c (swap_ext_reloc_in): ..
6363 * coff-arm.c (find_thumb_glue, find_arm_glue,
6364 coff_arm_relocate_section, bfd_arm_process_before_allocation,
6365 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
6366 coff_arm_copy_private_bfd_data): ..
6367 * coff-i860.c (i860_reloc_processing): ..
6368 * coff-mcore.c (mcore_coff_unsupported_reloc,
6369 coff_mcore_relocate_section): ..
6370 * coff-ppc.c (coff_ppc_relocate_section): ..
6371 * coff-rs6000.c (xcoff_create_csect_from_smclas
6372 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
6373 sh_swap_insns, sh_relocate_section): ..
6374 * coff-tic54x.c (tic54x_reloc_processing): ..
6375 * coff-tic80.c (coff_tic80_relocate_section): ..
6376 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
6377 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
6378 coff_slurp_symbol_table, coff_classify_symbol,
6379 coff_slurp_reloc_table): ..
6380 * coffgen.c (_bfd_coff_read_string_table): ..
6381 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
6382 _bfd_coff_generic_relocate_section): ..
6383 * cpu-arm.c (bfd_arm_merge_machines): ..
6384 * cpu-sh.c (sh_merge_bfd_arch): ..
6385 * elf-hppa.h (elf_hppa_relocate_section): ..
6386 * elf.c (bfd_elf_string_from_elf_section, setup_group,
6387 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
6388 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
6389 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
6390 * elf32-arm.h (find_thumb_glue, find_arm_glue,
6391 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
6392 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
6393 elf32_arm_relocate_section, elf32_arm_set_private_flags,
6394 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
6395 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
6396 cris_elf_merge_private_bfd_data
6397 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
6398 * elf32-gen.c (elf32_generic_link_add_symbols): ..
6399 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
6400 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
6401 elf32_hppa_relocate_section): ..
6402 * elf32-i370.c (i370_elf_merge_private_bfd_data,
6403 i370_elf_check_relocs, i370_elf_relocate_section): ..
6404 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
6405 elf_i386_relocate_section): ..
6406 * elf32-m32r.c (m32r_elf_relocate_section,
6407 m32r_elf_merge_private_bfd_data): ..
6408 * elf32-m68hc1x.c (m68hc12_add_stub,
6409 _bfd_m68hc11_elf_merge_private_bfd_data): ..
6410 * elf32-m68k.c (elf_m68k_relocate_section): ..
6411 * elf32-mcore.c (mcore_elf_unsupported_reloc,
6412 mcore_elf_relocate_section): ..
6413 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
6414 ppc_elf_check_relocs, ppc_elf_relocate_section,
6415 ppc_elf_begin_write_processing): ..
6416 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
6417 elf_s390_relocate_section): ..
6418 * elf32-sh-symbian.c (sh_symbian_import_as,
6419 sh_symbian_process_embedded_commands,
6420 sh_symbian_relocate_section): ..
6421 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
6422 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
6423 sh_elf_merge_private_data): ..
6424 * elf32-sparc.c (elf32_sparc_check_relocs,
6425 elf32_sparc_relocate_section,
6426 elf32_sparc_merge_private_bfd_data): ..
6427 * elf32-v850.c (v850_elf_check_relocs,
6428 v850_elf_merge_private_bfd_data): ..
6429 * elf32-xtensa.c (elf_xtensa_check_relocs,
6430 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
6431 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
6432 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
6433 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
6434 * elf64-gen.c (elf64_generic_link_add_symbols): ..
6435 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
6436 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
6437 ppc64_elf_relocate_section): ..
6438 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
6439 elf_s390_relocate_section): ..
6440 * elf64-sh64.c (sh_elf64_relocate_section): ..
6441 * elf64-sparc.c (sparc64_elf_check_relocs,
6442 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
6443 sparc64_elf_merge_private_bfd_data): ..
6444 * elf64-x86-64.c (elf64_x86_64_check_relocs,
6445 elf64_x86_64_relocate_section): ..
6446 * elflink.c (_bfd_elf_add_default_symbol,
6447 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
6448 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
6449 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
6450 elf_get_linked_section_vma, elf_fixup_link_order,
6451 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
6452 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
6453 * elfxx-ia64.c (elfNN_ia64_relax_section,
6454 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
6455 * elfxx-mips.c (mips_elf_perform_relocation,
6456 _bfd_mips_elf_check_relocs,
6457 _bfd_mips_elf_merge_private_bfd_data): ..
6458 * ieee.c (ieee_slurp_external_symbols): ..
6459 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
6460 * libbfd.c (_bfd_generic_verify_endian_match): ..
6461 * linker.c (_bfd_generic_link_add_one_symbol,
6462 _bfd_generic_section_already_linked): ..
6463 * pdp11.c (translate_to_native_sym_flags): ..
6464 * pe-mips.c (coff_pe_mips_relocate_section): ..
6465 * peicode.h (pe_ILF_build_a_bfd): ..
6466 * srec.c (srec_bad_byte): ..
6467 * stabs.c (_bfd_link_section_stabs): ..
6468 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
6469 Replace all uses of bfd_archive_filename and bfd_get_section_ident
6470 with corresponding %B and %A in _bfd_error_handler format string.
6471 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
6472 calls to use %A and %B. Fix "against symbol .. from section" and
6473 similar error messages. Combine multiple _bfd_error_handler calls
6474 where they were separated due to bfd_archive_filename deficiencies.
6475 * bfd-in2.h: Regenerate.
6476
6ba842b6
L
64772004-08-12 H.J. Lu <hongjiu.lu@intel.com>
6478
6479 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
6480 relocation.
6481
99877b66
AM
64822004-08-10 Alan Modra <amodra@bigpond.net.au>
6483
6484 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
6485 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
6486 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
6487 Add twiddled_syms.
6488 (link_hash_newfunc): Init was_undefined.
6489 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
6490 Use undefweak instead.
6491 (ppc64_elf_check_directives): Fix undefs chain.
6492 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
6493 references.
6494 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
6495 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
6496 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
6497
ba3bee0b
JJ
64982004-08-09 Jakub Jelinek <jakub@redhat.com>
6499
6500 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
6501 error, test input_section flags rather than sec.
6502
8387904d
AM
65032004-08-09 Alan Modra <amodra@bigpond.net.au>
6504
6505 * elf-bfd.h (struct elf_backend_data): Add
6506 elf_backend_archive_symbol_lookup.
6507 (_bfd_elf_archive_symbol_lookup): Declare.
6508 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
6509 (elf_link_add_archive_symbols): ..extracted from here. Call the
6510 backend version.
6511 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
6512 (elfNN_bed): Init new field.
6513 * elf64-ppc.c (elf_backend_check_directives): Define.
6514 (elf_backend_archive_symbol_lookup): Define.
6515 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
6516 a ppc_link_hash_entry pointer.
6517 (get_fdh): Move.
6518 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
6519 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
6520 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
6521 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
6522 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
6523 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
6524 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
6525 descriptor symbols.
6526
b25116a9
AM
65272004-08-09 Alan Modra <amodra@bigpond.net.au>
6528
8843416a
AM
6529 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
6530 (ppc64_elf_add_symbol_hook): Test for NULL section.
6531 (get_sym_h): Formatting.
6532 (ppc64_elf_size_stubs): Include reloc addend in value stored as
6533 stub target_value.
6534
b25116a9
AM
6535 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
6536 long branch stubs with code handling plt and r2off branch stubs.
6537
ccfa59ea
AM
65382004-08-09 Alan Modra <amodra@bigpond.net.au>
6539
6540 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
6541 * elflink.c (elf_link_input_bfd): Formatting.
6542 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
6543 all callers.
6544 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
6545 (link_hash_newfunc): Don't set it.
6546 (ppc64_elf_copy_indirect_symbol): Nor copy it.
6547 (ppc64_elf_mark_entry_syms): Delete.
6548 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
6549 sections. Use get_opd_info.
6550 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
6551
4025353c
AM
65522004-08-09 Alan Modra <amodra@bigpond.net.au>
6553
4f800a42
AM
6554 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
6555
06da1e8e
AM
6556 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
6557 (func_desc_adjust): Don't set have_undefweak.
6558 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
6559 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
6560
34814b9f
AM
6561 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
6562 "struct ppc_link_hash_entry *". Adjust all references.
6563 (ppc64_elf_hide_symbol): Correct a comment.
6564
4025353c
AM
6565 * elf64-ppc.c (get_opd_info): New function.
6566 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
6567 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
6568 before calling get_fdh. Test fdh rather than h before dereferencing
6569 fdh. Mark removed symbols in opd_adjust.
6570 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
6571 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
6572 opd symbols.
6573 (ppc64_elf_output_symbol_hook): Likewise.
6574
db6579d4
PB
65752004-08-06 Paul Brook <paul@codesourcery.com>
6576
6577 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
6578 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
6579 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
6580 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
6581 and BFD_RELOC_ARM_SBREL32.
6582 * bfd-in2.h, bbfd.h: Regenerate.
6583
a4d0f181
TS
65842004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6585
6586 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
6587 the dynamic link symbol actually in use.
6588
83774818
SC
65892004-08-01 Stephane Carrez <stcarrez@nerim.fr>
6590
6591 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
6592
a4d0f181 65932004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
6594 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6595
6596 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
6597 SHN_MIPS_TEXT and SHN_MIPS_DATA.
6598
185d09ad
L
65992004-07-30 H.J. Lu <hongjiu.lu@intel.com>
6600 Nick Clifton <nickc@redhat.com>
6601
6602 PR 290
6603 * bfd.c (_bfd_default_error_handler): Make it global.
6604
6605 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
6606
6607 * elf.c (assign_section_numbers): Cope gracefully with sections
6608 which have SHF_LINK_ORDER set but no sh_link set up.
6609 * elflink.c (elf_get_linked_section_vma): Likewise.
6610
6611 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
6612 it to NULL.
6613
6614 * elfxx-target.h (elf_backend_link_order_error_handler): New.
6615 Set it to _bfd_default_error_handler.
6616 (elfNN_bed): Add elf_backend_link_order_error_handler.
6617
6618 * libbfd-in.h (_bfd_default_error_handler): New.
6619
6620 * libbfd.h: Regenerated.
6621
7946e94a
JJ
66222004-07-30 Jakub Jelinek <jakub@redhat.com>
6623
6624 * archures.c (bfd_mach_sparc_64bit_p): Define.
6625 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
6626 * bfd-in2.h: Rebuilt.
6627
1d70c7fb
AO
66282004-07-29 Alexandre Oliva <aoliva@redhat.com>
6629
6630 Introduce SH2a support.
6631 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
6632 * archures.c (bfd_mach_sh2a_nofpu): New.
6633 * bfd-in2.h: Rebuilt.
6634 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
6635 (arch_info_struct): Add sh2a_nofpu.
6636 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
6637 2003-12-29 DJ Delorie <dj@redhat.com>
6638 * reloc.c: Add relocs for sh2a.
6639 * bfd-in2.h: Regenerate.
6640 * libbfd.hh: Regenerate.
6641 2003-12-01 Michael Snyder <msnyder@redhat.com>
6642 * archures.c (bfd_mach_sh2a): New.
6643 * bfd-in2.h: Rebuilt.
6644 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
6645 (SH2A_NEXT): New.
6646 (arch_info_struct): Add sh2a.
6647 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
6648
404ed0cf
DA
66492004-07-28 Nick Clifton <nickc@redhat.com>
6650 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6651
6652 PR 273
6653 * som.c (setup_sections): Improve estimation of space sizes in
6654 relocatable objects.
6655
225247f0
JT
66562004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
6657 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
6658 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
6659 to targ_selvecs.
6660 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
6661 * configure: Regenerate.
6662 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
6663 case that accepts OSABI=NetBSD and OSABI=SysV.
6664 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
6665 the base of .got or .data (if .got does not exist).
6666 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
6667 set OSABI=NetBSD.
6668 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
6669 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
6670 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
6671 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
6672
3d7f7666
L
66732004-07-27 H.J. Lu <hongjiu.lu@intel.com>
6674
6675 PR 161/251
6676 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
6677 (elf_sec_group): Defined.
6678 (bfd_elf_match_symbols_in_sections): New prototype.
6679 (_bfd_elf_setup_group_pointers): Likewise.
6680
6681 * elf.c (bfd_elf_discard_group): Abort.
6682 (bfd_elf_set_group_contents): Also include relocation sections.
6683 Remove zero-fill for ld -r.
6684 (_bfd_elf_setup_group_pointers): New function.
6685 (elf_sort_elf_symbol): Likewise.
6686 (elf_sym_name_compare): Likewise.
6687 (bfd_elf_match_symbols_in_sections): Likewise.
6688
6689 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
6690
6691 * elflink.c (match_group_member): New.
6692 (elf_link_input_bfd): Check group member for discarded section.
6693 (try_match_symbols_in_sections): New function.
6694 (already_linked): Likewise.
6695 (_bfd_elf_section_already_linked): Support mixing comdat group
6696 and linkonce section.
6697
6698 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
6699 * linker.c (bfd_section_already_linked_table_traverse): New.
6700
6701 * libbfd.h: Regenerated.
6702
670ec21d
NC
67032004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
6704
6705 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
6706 BFD_RELOC_CRX_SWITCH32.
6707 * bfd-in2.h: Regenerate.
6cd7f07e 6708 * libbfd.h: Regenerate.
670ec21d
NC
6709 * elf32-crx.c: Support relocation/relaxation of
6710 BFD_RELOC_CRX_SWITCH* types.
6711
2c66dc6c
AM
67122004-07-27 Alan Modra <amodra@bigpond.net.au>
6713
6714 * elf64-ppc.c: Correct "Linker stubs" comment.
6715
38ce5b11
L
67162004-07-26 H.J. Lu <hongjiu.lu@intel.com>
6717
6718 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
6719 linked-to section.
6720 (elf_linked_to_section): New.
6721
6722 * elf.c (assign_section_numbers): Set up sh_link for
6723 SHF_LINK_ORDER.
6724
6725 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
6726 to sh_link for SHT_IA_64_UNWIND sections.
6727
65da361f
L
67282004-07-22 H.J. Lu <hongjiu.lu@intel.com>
6729
6730 * elflink.c (elf_fixup_link_order): Add _() to error message.
6731
08ccf96b
L
67322004-07-22 H.J. Lu <hongjiu.lu@intel.com>
6733
6734 * elflink.c (elf_fixup_link_order): Issue a warning and flag
6735 an error if failed.
6736
082b7297
L
67372004-07-21 H.J. Lu <hongjiu.lu@intel.com>
6738
6739 * aout-adobe.c (aout_32_section_already_linked): Defined.
6740 * aout-target.h (MY_section_already_linked): Likewise.
6741 * aout-tic30.c (MY_section_already_linked): Likewise.
6742 * binary.c (binary_section_already_linked): Likewise.
6743 * bout.c (b_out_section_already_linked): Likewise.
6744 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
6745 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
6746 * coffcode.h (coff_section_already_linked): Likewise.
6747 * i386msdos.c (msdos_section_already_linked): Likewise.
6748 * i386os9k.c (os9k_section_already_linked): Likewise.
6749 * ieee.c (ieee_section_already_linked): Likewise.
6750 * ihex.c (ihex_section_already_linked): Likewise.
6751 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
6752 * mmo.c (mmo_section_already_linked): Likewise.
6753 * nlm-target.h (nlm_section_already_linked): Likewise.
6754 * oasys.c (oasys_section_already_linked): Likewise.
6755 * pef.c (bfd_pef_section_already_linked): Likewise.
6756 * ppcboot.c (ppcboot_section_already_linked): Likewise.
6757 * som.c (som_bfd_discard_group): Likewise.
6758 * srec.c (srec_section_already_linked): Likewise.
6759 * tekhex.c (tekhex_section_already_linked): Likewise.
6760 * versados.c (versados_section_already_linked): Likewise.
6761 * vms.c (vms_section_already_linked): Likewise.
6762 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
6763 * xsym.c (bfd_sym_section_already_linked): Likewise.
6764
6765 * bfd-in.h (bfd_section_already_linked_table_init): New.
6766 (bfd_section_already_linked_table_free): Likewise.
6767
6768 * coff-rs6000.c (rs6000coff_vec): Add
6769 _bfd_generic_section_already_linked.
6770 (pmac_xcoff_vec): Likewise.
6771 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
6772 (aix5coff64_vec): Likewise.
6773
6774 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
6775 * elflink.c (_bfd_elf_section_already_linked): New function.
6776
6777 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
6778
6779 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
6780 (_bfd_generic_section_already_linked): New.
6781 (bfd_section_already_linked_hash_entry): Likewise.
6782 (bfd_section_already_linked): Likewise.
6783 (bfd_section_already_linked_table_lookup): Likewise.
6784 (bfd_section_already_linked_table_insert): Likewise.
6785
6786 * linker.c (bfd_section_already_linked): New.
6787 (_bfd_section_already_linked_table): Likewise.
6788 (bfd_section_already_linked_table_lookup): Likewise.
6789 (bfd_section_already_linked_table_insert): Likewise.
6790 (already_linked_newfunc): Likewise.
6791 (bfd_section_already_linked_table_init): Likewise.
6792 (bfd_section_already_linked_table_free): Likewise.
6793 (_bfd_generic_section_already_linked): Likewise.
6794
6795 * section.c (bfd_section): Remove comdat.
6796 (bfd_comdat_info): Moved to ...
6797 * bfd-in.h (coff_comdat_info): Here.
6798 (bfd_coff_get_comdat_section): New.
6799 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
6800 * libcoff-in.h (coff_section_tdata): Add comdat.
6801 * coffcode.h (handle_COMDAT): Updated.
6802 * cofflink.c (coff_link_add_symbols): Likewise.
6803 * ecoff.c (bfd_debug_section): Likewise.
6804
6805 * targets.c (bfd_target): Add _section_already_linked.
6806 (BFD_JUMP_TABLE_LINK): Updated.
6807
6808 * bfd-in2.h: Regenerated.
6809 * libbfd.h: Likewise.
6810 * libcoff.h: Likewise.
6811
0b52efa6
PB
68122003-07-21 Paul Brook <paul@codesourcery.com>
6813
6814 * elflink.c (elf_get_linked_section_vma, compare_link_order,
6815 elf_fixup_link_order): New functions.
6816 (bfd_elf_final_link): Call elf_fixup_link_order.
6817
7e2294f9
AO
68182004-07-21 Alexandre Oliva <aoliva@redhat.com>
6819
6820 * elf-bfd.h (ELF_COMMON_DEF_P): New.
6821 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
6822 common definitions.
6823 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
6824 _bfd_elf_symbol_refs_local_p.
6825 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
6826 symbols.
6827
e56f61be
L
68282004-07-19 H.J. Lu <hongjiu.lu@intel.com>
6829
6830 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
6831 DYN_NO_NEEDED.
6832 (bfd_elf_get_dyn_lib_class): New prototype.
6833 * elf.c (bfd_elf_get_dyn_lib_class): New function.
6834
6835 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
6836 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
6837 entry is needed. Issue an error if a DT_NEEDED entry is needed
6838 for a file marked DYN_NO_NEEDED.
6839 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
6840 for DT_NEEDED tags.
6841
6842 * bfd-in2.h: Regenerated.
6843
27b56da8
DA
68442004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6845
6846 * elflink.c (elf_section_complain_discarded): Don't complain in
6847 .PARISC.unwind.
6848
bbb268c3
JW
68492004-07-10 James E Wilson <wilson@specifixinc.com>
6850
6851 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
6852 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
6853 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
6854 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
6855 Fix callers.
6856 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
6857 bfd_put_64 to bfd_putl64.
6858 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 6859
e525914f
L
68602004-07-09 H.J. Lu <hongjiu.lu@intel.com>
6861
6862 PR 240
6863 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
6864 .init/.fini sections when trying to relax it.
6865
b1a6d0b1
NC
68662004-07-09 Jie Zhang <zhangjie@magima.com.cn>
6867
6868 * elf.c (assign_file_positions_for_segments): Make sure the
6869 .dynamic section is the first section in the PT_DYNAMIC segment.
6870
1a320fbb
NC
68712004-07-09 Nick Clifton <nickc@redhat.com>
6872
6873 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
6874 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
6875 sh_elf_get_flags_from_mach functions so that they do not conflict
6876 when this target is built with other sh-elf targets.
6877 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
6878 suppression of this function.
6879 (sh_elf_find_flags): Likewise.
6880
1fe1f39c
NC
68812004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
6882
6883 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
6884 (ALL_MACHINES_CFILES): Add cpu-crx.c.
6885 (BFD32_BACKENDS): Add elf32-crx.lo.
6886 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
6887 (cpu-crx.lo): New target.
6888 (elf32-crx.lo): New target.
6889 * Makefile.in: Regenerate.
6890 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
6891 (bfd_archures_list): Add bfd_crx_arch.
6892 * bfd-in2.h: Regenerate.
6893 * config.bfd: Handle crx-*-elf*, crx*.
6894 * configure.in: Handle bfd_elf32_crx_vec.
6895 * configure: Regenerate.
6896 * cpu-crx.c: New file.
6897 * elf32-crx.c: Likewise.
6898 * libbfd.h: Regenerate.
6899 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
6900 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
6901 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
6902 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
6903 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
6904 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
6905 * targets.c (bfd_elf32_crx_vec): Declare.
6906 (bfd_target_vector): Add bfd_elf32_crx_vec.
6907
85fbca6a
NC
69082004-07-06 Nick Clifton <nickc@redhat.com>
6909
6910 * config.bfd: Add sh-symbian-elf target.
6911 * configure.in: Add bfd_elf32_shl_symbian_vec.
6912 * configure: Regenerate.
6913 * elf-bfd.h (struct elf_backend_data): Add new field
6914 'check_directives'.
1fe1f39c 6915 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 6916 check_directives function, if defined.
1fe1f39c 6917 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 6918 check_directives.
1fe1f39c
NC
6919 * targets.c: Add bfd_elf32_shl_symbian_vec.
6920 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 6921 definition.
1fe1f39c 6922 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 6923 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 6924 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 6925 not already been defined.
1fe1f39c
NC
6926 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
6927 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
6928 * sh-symbian-elf target.
6929 * Makefile.am: Add elf32-sh-symbian.c
6930 * Makefile.in: Regenerate.
1fe1f39c 6931
871ec896
JR
69322004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
6933
1fe1f39c
NC
6934 * elf32-sh.c: Include ../opcodes/sh-opc.h.
6935 * Makefile.am: Ran make dep-am.
6936 * Makefile.in: Ran make dep-in.
871ec896 6937
c87db184
CF
69382004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
6939
6940 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
6941 externals properly.
6942
06f2f6af
MS
69432004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
6944
6945 * config.bfd: Add want64 to configuration target s390-*-linux*.
6946
b602c853
L
69472004-07-01 H.J. Lu <hongjiu.lu@intel.com>
6948
6949 * bfd.c (bfd_get_section_ident): New.
6950
6951 * elflink.c (elf_link_read_relocs_from_section): Call
6952 bfd_get_section_ident to identify the section when reporting
6953 error.
6954 (_bfd_elf_link_output_relocs): Likewise.
6955 (elf_link_output_extsym): Likewise.
6956 (elf_link_input_bfd): Likewise.
6957 (bfd_elf_gc_record_vtinherit): Likewise.
6958
6959 * bfd-in2.h: Regenerated.
6960
7a2a6943
NC
69612004-07-01 Jie Zhang <zhangjie@magima.com.cn>
6962 Nick Clifton <nickc@redhat.com>
6963
6964 PR 204
6965 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
6966 of section symbols to mips_elf_sort_hash_table ().
6967
cdd3575c
AM
69682004-07-01 Alan Modra <amodra@bigpond.net.au>
6969
6970 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
6971 change. Comment.
6972 (elf_section_complain_discarded): New function. Handle
6973 .gcc_except_table too.
6974 (elf_link_input_bfd): Rewrite handling of relocs against symbols
6975 in discarded sections.
6976 * elf-bfd.h (elf_discarded_section): Protect macro arg.
6977
21a8f7fa
JW
69782004-06-30 James E Wilson <wilson@specifixinc.com>
6979
6980 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
6981 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
6982
2de26f35
L
69832004-06-30 H.J. Lu <hongjiu.lu@intel.com>
6984
6985 PR 233
6986 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
6987 local references to discarded sections and report their
6988 locations.
6989
72d7a15c
AM
69902004-06-30 Alan Modra <amodra@bigpond.net.au>
6991
6992 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
6993 sec_info_type, test section name instead.
6994
e7f0a167
L
69952004-06-29 H.J. Lu <hongjiu.lu@intel.com>
6996
6997 PR 240
6998 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
6999 in .init/.fini sections.
7000
bff5f93a
BW
70012004-06-29 Bob Wilson <bob.wilson@acm.org>
7002
7003 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
7004 bfd_get_section_limit.
7005
b54d4b07
BW
70062004-06-29 Bob Wilson <bob.wilson@acm.org>
7007
7008 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
7009 output section size.
7010
e87a64e1
AM
70112004-06-29 Alan Modra <amodra@bigpond.net.au>
7012
1a23a9e6
AM
7013 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
7014 rawsize.
7015 (mmix_elf_perform_relocation): Adjust for above change.
7016 (mmix_elf_relocate_section): Likewise.
7017 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
7018 (mmix_elf_get_section_contents): Delete.
7019 (bfd_elf64_get_section_contents): Delete.
7020 (mmix_elf_relocate_section): Zero stub area.
7021 * linker.c (default_indirect_link_order): Alloc max of section size
7022 and rawsize.
7023 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
7024 * section.c (bfd_malloc_and_get_section): Likewise.
7025 (struct bfd_section): Update rawsize comment.
7026 * bfd-in2.h: Regenerate.
7027
e87a64e1
AM
7028 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
7029
07515404
AM
70302004-06-29 Alan Modra <amodra@bigpond.net.au>
7031
7032 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 7033 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
7034 (_bfd_final_link_relocate): Use bfd_get_section_limit.
7035 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
7036 * coff-arm.c (coff_arm_relocate_section): Likewise.
7037 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
7038 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
7039 (bfd_ns32k_final_link_relocate): Likewise.
7040 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
7041 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 7042 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 7043 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 7044 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
7045 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
7046 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
7047 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
7048 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
7049 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
7050 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
7051 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
7052 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
7053 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
7054 * elf32-v850.c (v850_elf_reloc): Likewise.
7055 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
7056 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
7057 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
7058 * elf64-mips.c (mips_elf64_gprel32_reloc)
7059 (mips16_gprel_reloc): Likewise.
7060 * elf64-mmix.c (mmix_elf_reloc): Likewise.
7061 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
7062 * elf64-sparc.c (init_insn_reloc): Likewise.
7063 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
7064 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
7065 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
7066 (_bfd_mips_elf_generic_reloc): Likewise.
7067 * bfd-in2.h: Regenerate.
7068
3722b82f
AM
70692004-06-28 Alan Modra <amodra@bigpond.net.au>
7070
7071 * bfd-in.h (struct stab_info): Move from stabs.c.
7072 * stabs.c (struct stab_link_includes_table): Delete.
7073 (stab_link_includes_lookup): Delete.
7074 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
7075 level of indirection from sinfo parm.
7076 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
7077 stabstr section. Adjust hash table accesses.
7078 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
7079 alloc. Adjust stab_info test.
7080 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
7081 (_bfd_coff_final_link): Adjust stab_info test.
7082 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
7083 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
7084 in place.
7085 * libcoff-in.h (struct coff_link_hash_table): Likewise.
7086 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
7087 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
7088 stabstr section. Adjust stab_info test.
7089 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
7090 (_bfd_write_stab_strings): Adjust prototypes.
7091 * libbfd.h: Regenerate.
7092 * libcoff.h: Regenerate.
7093 * bfd-in2.h: Regenerate.
7094
727e493d
MK
70952004-06-27 Mark Kettenis <kettenis@gnu.org>
7096
7097 From Miod Vallat <miod@online.fr>:
7098 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
7099
146ccdbb
AO
71002004-06-26 Alexandre Oliva <aoliva@redhat.com>
7101
7102 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
7103 (struct elf32_mn10300_link_hash_entry): Remove
7104 pcrel_relocs_copied.
7105 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
7106 R_MN10300_32. Don't adjust pcrel_relocs_copied.
7107 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
7108 and gotoff relocations if the symbol doesn't bind locally. Use
7109 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
7110 relocation for PCREL32.
7111 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
7112 to test whether a symbol binds locally.
7113 (elf32_mn10300_link_hash_newfunc): Don't initialize
7114 pcrel_relocs_copied.
7115 (_bfd_mn10300_elf_discard_copies): Delete.
7116 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
7117
a5fd0812
MK
71182004-06-26 Mark Kettenis <kettenis@gnu.org>
7119
7120 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
7121
22bfad37
JB
71222004-06-25 Joel Brobecker <brobecker@gnat.com>
7123
7124 * som.c (som_set_reloc_info): Correct small typo.
7125
097f809a
NC
71262004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7127
7128 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
7129 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
7130 (m32r_elf_gcsweep_hook): Likewise.
7131 (m32r_elf_check_relocs): Likewise.
7132 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
7133 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
7134 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
7135 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
7136 * bfd-in2.h: Regenerated.
7137 * libbfd.h: Regenerated.
097f809a 7138
6610a52d
L
71392004-06-24 H.J. Lu <hongjiu.lu@intel.com>
7140
7141 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
7142 relocation symbol.
7143 (elf64_x86_64_relocate_section): Issue an error for
7144 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
7145 against global symbols when building shared library.
7146
eea6121a
AM
71472004-06-24 Alan Modra <amodra@bigpond.net.au>
7148
7149 * section.c (struct sec): Rename "_cooked_size" to "size".
7150 Rename "_raw_size" to "rawsize".
7151 (STD_SECTION): Adjust comments.
7152 (bfd_set_section_size, bfd_get_section_contents): Use size.
7153 (bfd_malloc_and_get_section): New function.
7154 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
7155 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
7156 Correctly free reloc and contents memory.
7157 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
7158 and fake CIE now that we can shink section size to zero.
7159 (_bfd_elf_write_section_eh_frame): Likewise..
7160 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
7161 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
7162 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
7163 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
7164 unneeded indirection.
7165 * elf.c (_bfd_elf_section_offset): .. and update call.
7166 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
7167 * libbfd.h: Regenerate.
7168 * bfd-in2.h: Regenerate.
7169
7170 Replace occurrences of "_raw_size" and "_cooked_size" in most places
7171 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
7172 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
7173 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
7174 Similarly use "rawsize", if non-zero, in reloc functions to validate
7175 reloc addresses. Use new bfd_malloc_and_get_section in most places
7176 where bfd_get_section_contents was called. Expand all occurrences of
7177 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
7178 grok_prstatus and similar functions to "size".
7179 * aix386-core.c (aix386_core_file_p): ..
7180 * aix5ppc-core.c (xcoff64_core_p): ..
7181 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
7182 aout_adobe_set_section_contents): ..
7183 * aout-target.h (callback): ..
7184 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
7185 MY_bfd_final_link): ..
7186 * aoutf1.h (sunos4_core_file_p): ..
7187 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
7188 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
7189 final_link, aout_link_input_section): ..
7190 * binary.c (binary_object_p, binary_canonicalize_symtab,
7191 binary_set_section_contents): ..
7192 * bout.c (b_out_callback, b_out_write_object_contents,
7193 b_out_set_section_contents, b_out_bfd_relax_section,
7194 b_out_bfd_get_relocated_section_contents): ..
7195 * cisco-core.c (cisco_core_file_validate): ..
7196 * coff-alpha.c (alpha_ecoff_object_p,
7197 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
7198 * coff-arm.c (coff_arm_relocate_section,
7199 bfd_arm_allocate_interworking_sections): ..
7200 * coff-h8300.c (h8300_reloc16_extra_cases,
7201 h8300_bfd_link_add_symbols): ..
7202 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
7203 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
7204 ppc_bfd_coff_final_link): ..
7205 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
7206 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
7207 sh_align_loads, sh_coff_get_relocated_section_contents): ..
7208 * coff64-rs6000.c (xcoff64_write_object_contents,
7209 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
7210 * coffcode.h (coff_compute_section_file_positions,
7211 coff_write_object_contents): ..
7212 * coffgen.c (make_a_section_from_file, coff_write_symbols,
7213 coff_section_symbol, build_debug_section): ..
7214 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
7215 process_embedded_commands, _bfd_coff_link_input_bfd,
7216 _bfd_coff_write_global_sym): ..
7217 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
7218 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
7219 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
7220 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
7221 _bfd_dwarf2_find_nearest_line): ..
7222 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
7223 ecoff_compute_section_file_positions,
7224 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
7225 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
7226 _bfd_elf_discard_section_eh_frame_hdr,
7227 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
7228 _bfd_elf_write_section_eh_frame,
7229 _bfd_elf_write_section_eh_frame_hdr): ..
7230 * elf-hppa.h (elf_hppa_sort_unwind): ..
7231 * elf-m10200.c (mn10200_elf_relax_section,
7232 mn10200_elf_relax_delete_bytes,
7233 mn10200_elf_get_relocated_section_contents): ..
7234 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
7235 mn10300_elf_check_relocs, mn10300_elf_relax_section,
7236 mn10300_elf_relax_delete_bytes,
7237 mn10300_elf_get_relocated_section_contents,
7238 _bfd_mn10300_elf_adjust_dynamic_symbol,
7239 _bfd_mn10300_elf_discard_copies,
7240 _bfd_mn10300_elf_size_dynamic_sections,
7241 _bfd_mn10300_elf_finish_dynamic_sections): ..
7242 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
7243 _bfd_elf_make_section_from_phdr, elf_fake_sections,
7244 bfd_elf_set_group_contents, map_sections_to_segments,
7245 elf_sort_sections, assign_file_positions_for_segments,
7246 SECTION_SIZE, copy_private_bfd_data,
7247 _bfd_elf_get_dynamic_reloc_upper_bound,
7248 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
7249 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
7250 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
7251 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
7252 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
7253 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
7254 bfd_elf32_arm_process_before_allocation,
7255 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
7256 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
7257 elf32_arm_write_section): ..
7258 * elf32-cris.c (cris_elf_grok_prstatus,
7259 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
7260 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
7261 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
7262 elf_cris_discard_excess_dso_dynamics,
7263 elf_cris_discard_excess_program_dynamics): ..
7264 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
7265 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
7266 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
7267 _frv_create_got_section, _frvfdpic_assign_plt_entries,
7268 elf32_frvfdpic_size_dynamic_sections,
7269 elf32_frvfdpic_modify_segment_map,
7270 elf32_frvfdpic_finish_dynamic_sections): ..
7271 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
7272 elf32_h8_get_relocated_section_contents): ..
7273 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
7274 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
7275 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
7276 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
7277 elf32_hppa_finish_dynamic_sections): ..
7278 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
7279 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
7280 i370_elf_finish_dynamic_sections): ..
7281 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
7282 allocate_dynrelocs, elf_i386_size_dynamic_sections,
7283 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
7284 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
7285 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
7286 * elf32-ip2k.c (ip2k_is_switch_table_128,
7287 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
7288 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
7289 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
7290 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
7291 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
7292 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
7293 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
7294 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
7295 m32r_elf_get_relocated_section_contents): ..
7296 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
7297 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
7298 m68hc11_elf_relax_delete_bytes): ..
7299 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
7300 m68hc12_elf_size_one_stub): ..
7301 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
7302 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
7303 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
7304 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
7305 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
7306 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
7307 elf32_mips_grok_prstatus): ..
7308 * elf32-or32.c (or32_elf_consth_reloc): ..
7309 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
7310 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
7311 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
7312 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
7313 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
7314 ppc_elf_final_write_processing): ..
7315 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
7316 allocate_dynrelocs, elf_s390_size_dynamic_sections,
7317 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
7318 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
7319 sh_elf_relax_delete_bytes, sh_elf_align_loads,
7320 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
7321 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
7322 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
7323 * elf32-sh64-com.c (sh64_address_in_cranges,
7324 sh64_get_contents_type): ..
7325 * elf32-sh64.c (sh64_find_section_for_address,
7326 sh64_elf_final_write_processing): ..
7327 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
7328 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
7329 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
7330 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
7331 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
7332 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
7333 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
7334 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
7335 elf_vax_finish_dynamic_sections): ..
7336 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
7337 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
7338 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
7339 xstormy16_elf_finish_dynamic_sections): ..
7340 * elf32-xtensa.c (xtensa_read_table_entries,
7341 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
7342 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
7343 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
7344 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
7345 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
7346 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
7347 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
7348 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
7349 xtensa_callback_required_dependence): ..
7350 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
7351 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
7352 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
7353 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
7354 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
7355 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
7356 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
7357 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
7358 * elf64-hppa.c (allocate_dynrel_entries,
7359 elf64_hppa_size_dynamic_sections,
7360 elf64_hppa_finish_dynamic_sections): ..
7361 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
7362 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
7363 elf64_mips_grok_prstatus): ..
7364 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
7365 mmix_elf_relocate_section, mmix_elf_final_link,
7366 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
7367 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
7368 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
7369 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
7370 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
7371 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
7372 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
7373 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
7374 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
7375 ppc64_elf_finish_dynamic_sections): ..
7376 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
7377 allocate_dynrelocs, elf_s390_size_dynamic_sections,
7378 elf_s390_finish_dynamic_sections): ..
7379 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
7380 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
7381 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
7382 sh64_elf64_finish_dynamic_sections): ..
7383 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
7384 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
7385 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
7386 sparc64_elf_finish_dynamic_symbol,
7387 sparc64_elf_finish_dynamic_sections): ..
7388 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
7389 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
7390 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
7391 elf64_x86_64_finish_dynamic_sections): ..
7392 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
7393 * elfcode.h (elf_slurp_reloc_table): ..
7394 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
7395 elf_finalize_dynstr, elf_link_add_object_symbols,
7396 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
7397 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
7398 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
7399 elf32_mips_grok_prstatus): ..
7400 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
7401 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
7402 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
7403 elfNN_ia64_finish_dynamic_sections): ..
7404 * elfxx-mips.c (mips_elf_create_procedure_table,
7405 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
7406 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
7407 mips_elf_global_got_index, mips_elf_multi_got,
7408 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
7409 mips_elf_allocate_dynamic_relocations,
7410 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
7411 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
7412 _bfd_mips_elf_always_size_sections,
7413 _bfd_mips_elf_size_dynamic_sections,
7414 _bfd_mips_elf_finish_dynamic_symbol,
7415 _bfd_mips_elf_finish_dynamic_sections,
7416 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
7417 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
7418 _bfd_elf_mips_get_relocated_section_contents,
7419 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
7420 * hp300hpux.c (callback): ..
7421 * hppabsd-core.c (make_bfd_asection): ..
7422 * hpux-core.c (make_bfd_asection): ..
7423 * i386linux.c (linux_link_create_dynamic_sections,
7424 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
7425 * i386msdos.c (msdos_write_object_contents): ..
7426 * i386os9k.c (os9k_callback, os9k_write_object_contents,
7427 os9k_set_section_contents): ..
7428 * ieee.c (parse_expression, ieee_slurp_external_symbols,
7429 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
7430 ieee_write_section_part, do_with_relocs, do_as_repeat,
7431 do_without_relocs, ieee_write_debug_part, init_for_output,
7432 ieee_set_section_contents): ..
7433 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
7434 * irix-core.c (do_sections, make_bfd_asection): ..
7435 * libaout.h (aout_section_merge_with_text_p): ..
7436 * libbfd.c (_bfd_generic_get_section_contents,
7437 _bfd_generic_get_section_contents_in_window): ..
7438 * linker.c (default_indirect_link_order): ..
7439 * lynx-core.c (make_bfd_asection): ..
7440 * m68klinux.c (linux_link_create_dynamic_sections,
7441 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
7442 * mach-o.c (bfd_mach_o_make_bfd_section,
7443 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
7444 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
7445 bfd_mach_o_scan_read_segment): ..
7446 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
7447 _bfd_merge_sections): ..
7448 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
7449 mmo_map_set_sizes, mmo_canonicalize_symtab,
7450 mmo_internal_write_section, mmo_write_object_contents): ..
7451 * netbsd-core.c (netbsd_core_file_p): ..
7452 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
7453 nlm_alpha_set_public_section): ..
7454 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
7455 * nlm32-sparc.c (nlm_sparc_write_import): ..
7456 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
7457 nlm_compute_section_file_positions): ..
7458 * oasys.c (oasys_object_p, oasys_slurp_section_data,
7459 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
7460 * opncls.c (get_debug_link_info): ..
7461 * osf-core.c (make_bfd_asection): ..
7462 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
7463 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
7464 final_link, aout_link_input_section): ..
7465 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
7466 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
7467 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
7468 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
7469 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
7470 * ptrace-core.c (ptrace_unix_core_file_p): ..
7471 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
7472 _bfd_final_link_relocate, bfd_generic_relax_section,
7473 bfd_generic_get_relocated_section_contents): ..
7474 * reloc16.c (bfd_coff_reloc16_relax_section,
7475 bfd_coff_reloc16_get_relocated_section_c): ..
7476 * riscix.c (riscix_some_aout_object_p): ..
7477 * rs6000-core.c (read_hdr, make_bfd_asection): ..
7478 * sco5-core.c (make_bfd_asection): ..
7479 * simple.c (bfd_simple_get_relocated_section_contents): ..
7480 * som.c (som_object_setup, setup_sections, som_prep_headers,
7481 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
7482 som_set_reloc_info, som_get_section_contents,
7483 som_bfd_link_split_section): ..
7484 * sparclinux.c (linux_link_create_dynamic_sections,
7485 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
7486 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
7487 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
7488 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
7489 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
7490 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
7491 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
7492 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
7493 sunos_finish_dynamic_link): ..
7494 * syms.c (_bfd_stab_section_find_nearest_line): ..
7495 * tekhex.c (first_phase, tekhex_set_section_contents,
7496 tekhex_write_object_contents): ..
7497 * trad-core.c (trad_unix_core_file_p): ..
7498 * versados.c (process_esd, process_otr, process_otr): ..
7499 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
7500 * vms-misc.c (add_new_contents): ..
7501 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
7502 * vms.c (vms_set_section_contents): ..
7503 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
7504 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
7505 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
7506 * xsym.c (bfd_sym_scan): .. See above.
7507
bf8b15af
L
75082004-06-21 H.J. Lu <hongjiu.lu@intel.com>
7509
7510 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
7511 calling _bfd_merged_section_offset only for section symbols.
7512
d1c6de6f
AM
75132004-06-22 Alan Modra <amodra@bigpond.net.au>
7514
7515 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
7516 for handling SEC_MERGE symbols in relax_section.
7517
aa02cc63
AO
75182004-06-21 Alexandre Oliva <aoliva@redhat.com>
7519
7520 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
7521 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
7522 linked together. Mark the result as h8300sx code.
7523
aee6f5b4
AO
75242004-06-21 Alexandre Oliva <aoliva@redhat.com>
7525
7526 * elf-bfd.h (struct elf_backend_data): Added
7527 elf_backend_omit_section_dynsym.
7528 (_bfd_elf_link_omit_section_dynsym): Declare.
7529 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
7530 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
7531 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
7532 (_bfd_elf_link_renumber_dynsyms): ... this function.
7533 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
7534 _bfd_elf_link_omit_section_dynsym).
7535 (elfNN_bed): Added elf_backend_omit_section_dynsym.
7536
05576f10
NC
75372004-06-21 Nick Clifton <nickc@redhat.com>
7538
7539 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
7540 flags.
7541
02d5a37b
JG
75422004-06-17 Jerome Guitton <guitton@gnat.com>
7543
7544 * bfd-in.h (bfd_cache_close_all): New function declaration.
7545 * bfd-in2.h: Regenerate.
7546 * cache.c (bfd_cache_close_all): New function definition.
7547
d2bef492
MK
75482004-06-16 Mark Kettenis <kettenis@gnu.org>
7549
7550 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
7551 4.10 and beyond.
7552 * configure: Regenerate.
7553
8528d62e
DJ
75542004-06-16 Daniel Jacobowitz <dan@debian.org>
7555
7556 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
7557 the pre-existing section.
7558
911d08a7
AM
75592004-06-15 Alan Modra <amodra@bigpond.net.au>
7560
7561 * section.c (struct sec): Remove usused flags. Reorganize a little.
7562 (bfd_get_section_size_before_reloc): Delete.
7563 (bfd_get_section_size_after_reloc): Delete.
7564 (STD_SECTION): Update.
7565 (bfd_get_section_size_now): Delete.
7566 (bfd_set_section_contents): Don't referece reloc_done.
7567 (bfd_get_section_contents): Remove reloc_done comment.
7568 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
7569 reloc_done.
7570 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
7571 * ecoff.c (bfd_debug_section): Update initializer.
7572 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
7573 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
7574 * bfd-in.h (bfd_section_size): Expand.
7575 (bfd_get_section_size): New macro.
7576 * bfd-in2.h: Regenerate.
7577 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
7578 bfd_get_section_size_before_reloc with bfd_get_section_size.
7579 * coffcode.h (coff_write_object_contents): Likewise.
7580 * coffgen.c (build_debug_section): Likewise.
7581 * dwarf1.c (parse_line_table): Likewise.
7582 (_bfd_dwarf1_find_nearest_line): Likewise.
7583 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
7584 * i386msdos.c (msdos_write_object_contents): Likewise.
7585 * pdp11.c (squirt_out_relocs): Likewise.
7586 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
7587 * elf64-mmix.c (mmix_elf_final_link): Update comment.
7588
092dcd75
CD
75892004-06-14 Chris Demetriou <cgd@broadcom.com>
7590
7591 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
7592 removal) with updated comment.
7593 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
7594 BFD_RELOC_32_PCREL.
7595 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
7596 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
7597
3ffa5234
AM
75982004-06-12 Alan Modra <amodra@bigpond.net.au>
7599
7600 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
7601 overflow on branches to undefweaks.
7602
e9edc808
MR
76032004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7604
7605 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
7606 as ecoff_section_data() does not return a valid lvalue.
7607
a873f25a
AO
76082004-06-09 Alexandre Oliva <aoliva@redhat.com>
7609
a9b881be
AO
7610 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
7611 (elf_link_add_object_symbols): Likewise.
7612
a873f25a
AO
7613 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
7614 (elf_backend_reloc_type_class): New.
7615
eef0f186
MK
76162004-06-08 Mark Kettenis <kettenis@gnu.org>
7617
7618 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
7619 netbsd-core.lo.
7620 * configure: Regenerate.
7621
822392ce
DJ
76222004-06-07 Daniel Jacobowitz <dan@debian.org>
7623
7624 From: Albert Chin-A-Young <china@thewrittenword.com>
7625 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
7626 to unsigned int.
7627
9f2e92c5
L
76282004-05-29 H.J. Lu <hongjiu.lu@intel.com>
7629
7630 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
7631 change.
7632
dd90f1b2
DD
76332004-05-28 DJ Delorie <dj@redhat.com>
7634
7635 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
7636 for linking, but otherwise adjust reloc for merged sections.
7637
5dd23ec1
L
76382004-05-28 H.J. Lu <hongjiu.lu@intel.com>
7639
7640 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
7641 _bfd_merged_section_offset for local symbols.
7642
f6f9408f
JR
76432004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
7644
7645 * Makefile.am: Regenerate dependencies.
7646 * Makefile.in: Regenerate.
7647 * archures.c: Add bfd_mach_sh3_nommu .
7648 * bfd-in2.h: Regenerate.
7649 * cpu-sh.c: Add sh3-nommu architecture.
7650 (bfd_to_arch_table): Create new table.
7651 (sh_get_arch_from_bfd_mach): Create new function.
7652 (sh_get_arch_up_from_bfd_mach): Create new function.
7653 (sh_merge_bfd_arch): Create new function.
7654 * elf32-sh.c (sh_ef_bfd_table): Add table.
7655 (sh_elf_check_relocs): Replace switch statement with
7656 use of sh_ef_bfd_table .
7657 (sh_elf_get_flags_from_mach): Add new function.
7658 (sh_find_elf_flags): Likewise.
7659 (sh_elf_copy_private_data): Replace most of non-elf contents
7660 with a call to sh_merge_bfd_arch() .
7661
d866f350
MC
76622004-05-27 Michael Chastain <mec.gnu@mindspring.com>
7663
7664 * Makefile.am (bfdver.h): Use explicit filename, not $< .
7665 * Makefile.in: Regenerate.
7666
1055df0f
AO
76672004-05-27 Alexandre Oliva <aoliva@redhat.com>
7668
7669 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
7670 custom calling conventions for dynamic symbols.
7671 (mn10300_elf_relax_section): Avoid relaxing a function as a local
7672 symbol if it's an alias to a global one.
7673
b3096250
L
76742004-05-26 H.J. Lu <hongjiu.lu@intel.com>
7675
7676 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
7677 change.
7678
9bb351fd
AO
76792004-05-27 Alexandre Oliva <aoliva@redhat.com>
7680
7681 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
7682 loop over hashes.
7683
e49f5022
AM
76842004-05-26 Alan Modra <amodra@bigpond.net.au>
7685
7686 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
7687 for SHT_GROUP sections.
7688
57ceae94
AM
76892004-05-25 Alan Modra <amodra@bigpond.net.au>
7690
7691 * elflink.c (elf_link_add_object_symbols): Don't set up merge
7692 section data here..
7693 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
7694 * merge.c: Formatting. Remove unnecessary casts. Expand
7695 bfd_get_section_alignment macro.
7696 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
7697 use throughout file.
7698 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
7699 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
7700 section name to determine sinfo group, instead test output section
7701 and alignment.
7702 (_bfd_merge_sections): Add struct bfd_link_info param. Call
7703 _bfd_strip_section_from_output rather than just twiddling flags.
7704 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
7705 (_bfd_merge_sections): Update prototype.
7706 * libbfd.h: Regenerate.
7707
c6f8758f 77082004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
7709
7710 * netbsd-core.c: Correctly indent section that sets architecture
7711 from machine ID.
7712
c6f8758f
NC
7713 From Miod Vallat <miod@online.fr>:
7714 * m88kopenbsd.c: New file.
7715 * targets.c (m88k_openbsd_vec): New.
7716 * config.bfd: Add m88k-*-openbsd*.
7717 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
7718 (m88kopenbsd_vec): New.
7719 * configure: Regenerate.
7720 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
7721 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
7722 Run "make dep-am".
7723 * Makefile.in: Regenerate.
7724 * po/SRC-POTFILES.in: Regenerate.
7725
7d7e6bc4
NC
77262004-05-24 Nick Clifton <nickc@redhat.com>
7727
7728 * hash.c: Remove bogus node "Changing the default Hash Table Size"
7729 introduced by hash table size patch.
7730
bc286f95
BE
77312004-05-22 Ben Elliston <bje@au.ibm.com>
7732
7733 * configure.in (is_release): Remove.
7734 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
7735 (AC_OUTPUT): Don't output bfdver.h from version.h.
7736 * configure: Regenerate.
7737 * Makefile.am (RELEASE): New variable.
7738 (bfdver.h): New target.
7739 * Makefile.in: Regenerate.
7740 * doc/Makefile.in: Likewise.
7741
8b89a4eb
BE
77422004-05-22 Ben Elliston <bje@au.ibm.com>
7743
7744 * Makefile.am (config.status): Don't depend on version.h.
7745 * Makefile.in: Regenerate.
7746
753731ee
AM
77472004-05-22 Alan Modra <amodra@bigpond.net.au>
7748
7749 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
7750 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
7751 * libbfd.h: Regenerate.
7752 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
7753 (_bfd_elf_rel_local_sym): Likewise.
7754 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
7755 (elf_link_input_bfd): Likewise.
7756 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
7757 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
7758 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7759 (elfNN_ia64_relocate_section): Likewise.
7760
2d643429
NC
77612004-05-21 Andy Chittenden <achittenden@bluearc.com>
7762
7763 * hash.c (bfd_default_hash_table_size): New variable.
7764 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
7765 (bfd_hash_set_default_size): New function. Set the default size
7766 to a selected prime number close to the argument. Document new
7767 function.
7768 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
7769 * bfd-in2.h: Regenerate.
7770 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
7771 * Makefile.in: Regenerate.
7772
8377c19c
MK
77732004-05-21 Mark Kettenis <kettenis@gnu.org>
7774
7775 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
7776 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
7777 arm, m68k, m88k and hppa core files.
7778
69fd4758
NC
77792004-05-21 Nick Clifton <nickc@redhat.com>
7780
7781 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
7782 (bfd_bwrite): Likewise.
7783 (bfd_tell): Likewise.
7784 (bfd_flush): Likewise.
7785 (bfd_stat): Likewise.
7786 (bfd_seek): Likewise.
7787 (bfd_get_mtime): Likewise.
7788 (bfd_get_size): Likewise.
7789
cd917290
BE
77902004-05-19 Ben Elliston <bje@au.ibm.com>
7791
7792 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
7793
1b09e940
NC
77942004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
7795
7796 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
7797 (bfd_generic_openr_next_archived_file): Likewise.
7798
096c35a7
BW
77992004-05-17 Bob Wilson <bob.wilson@acm.org>
7800
7801 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
7802 section names by inserting a new substring after .gnu.linkonce, except
7803 for .gnu.linkonce.t.* where the "t." is replaced.
7804
eea6121a 78052004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
7806
7807 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
7808 (m68-*-lynxos* case): Likewise.
7809 (powerpc-*-lyxnos* case): New case.
7810 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
7811
80fccad2
BW
78122004-05-17 David Heine <dlheine@tensilica.com>
7813
7814 * aout-target.h (MY_bfd_copy_private_header_data): Define.
7815 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
7816 * bfd.c (bfd_copy_private_header_data): Define.
7817 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
7818 interface.
7819 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
7820 * coffcode.h (coff_bfd_copy_private_header_data): Define.
7821 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
7822 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
7823 segments by calling copy_private_bfd_data.
7824 (_bfd_elf_copy_private_header_data): Define.
7825 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
7826 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
7827 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
7828 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
7829 * mmo.c (mmo_bfd_copy_private_header_data): Define.
7830 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
7831 * som.c (som_bfd_copy_private_header_data): Define.
7832 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
7833 * vms.c (vms_bfd_copy_private_header_data): Define.
7834 * bfd-in2.h: Regenerate.
7835 * libbfd.h: Regenerate.
7836
c5ae1840
TS
78372004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7838
7839 * elfxx-mips.c (MINUS_TWO): Define.
7840 (mips_elf_higher, mips_elf_highest,
7841 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
7842 some bfd_vma values.
7843 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
7844
a99cf92b
DA
78452004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7846
7847 * som.c (log2): Rename to exact_log2. Adjust all callers.
7848
0da76f83
NC
78492004-05-13 Paul Brook <paul@codesourcery.com>
7850
c273895f 7851 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
7852 dwarf3 format CIE entries. Remove comment about the size of the
7853 ra_column field. It is now correctly deduced.
0da76f83 7854
4b363073
NC
78552004-05-13 Joel Sherrill <joel@oarcorp.com>
7856
7857 * config.bfd (or32-*-rtems*): Switch to elf.
7858
9598fbe5
NC
78592004-05-13 Nick Clifton <nickc@redhat.com>
7860
7861 * po/fr.po: Updated French translation.
7862
8c37241b
JJ
78632004-05-11 Jakub Jelinek <jakub@redhat.com>
7864
0306b3bf 7865 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
7866 into .dynsym if elf_section_data (sec)->dynindx <= 0.
7867 Adjust counting of last_local.
7868 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
7869 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
7870 created by the linker nor !SHF_ALLOC.
7871
7872 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
7873 DT_PLTGOT to the start of the .got.plt section instead of the
7874 .got output section. Set sh_entsize for .got section in addition
7875 to .got.plt.
7876 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
7877 is at sgot->output_section->vma.
7878 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
7879 DT_PLTGOT to the start of the .got.plt section instead of the
7880 .got output section.
7881 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
7882 is at sgot->output_section->vma. Set sh_entsize for .got section
7883 in addition to .got.plt.
7884 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
7885 (bfd_section_from_phdr): Likewise.
7886 (map_sections_to_segments): Likewise.
7887 (assign_file_positions_for_segments): Likewise.
7888 (get_program_header_size): Likewise.
7889 * elflink.c (bfd_elf_size_dynamic_sections): Set
7890 elf_tdata (output_bfd)->relro from info->relro.
7891 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
7892
3f980e41
AO
78932004-05-08 Alexandre Oliva <aoliva@redhat.com>
7894
7895 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
7896 a zero symndx for which we hadn't accounted a dynamic relocation.
7897 (_frvfdpic_add_rofixup): Likewise.
7898
d70270c5 78992004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 7900 DJ Delorie <dj@redhat.com>
d70270c5
BF
7901
7902 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
7903 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
7904 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
7905 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
7906
7e9f3bd6
AO
79072004-05-07 Alexandre Oliva <aoliva@redhat.com>
7908
7909 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
7910 immediately if there's no link info.
7911 (elf32_frvfdpic_copy_private_bfd_data): New.
7912 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
7913
eb61d2d6
ZW
79142004-05-06 Zack Weinberg <zack@codesourcery.com>
7915
7916 * dwarf2.c (add_line_info): Also set info->filename to NULL if
7917 filename argument is null; do not call strlen on a null pointer.
7918
ecb2d096
DJ
79192004-05-06 Daniel Jacobowitz <drow@mvista.com>
7920
7921 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
7922 special case.
7923
43850d5b
AO
79242004-05-05 Alexandre Oliva <aoliva@redhat.com>
7925
7926 * configure.in (bfd_elf32_frvfdpic_vec): New.
7927 * configure: Rebuilt.
7928 * targets.c (bfd_elf32_frvfdpic_vec): New.
7929 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
7930 on the latter.
7931 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
7932 frvfdpic instead of frv. Rearrange elf-target macros such that
7933 the FDPIC-specific ones are only defined for this new target
7934 vector.
7935 (bfd_elf32_frvfdpic_vec): Declare.
7936 (IS_FDPIC): New.
7937 (elf32_frv_relocate_section): Use it to enable segment checking
7938 and to control rofixup emission. Add output section vma to
7939 applied relocation in non-LOAD non-ALLOC sections. Use
7940 _bfd_error_handler for errors.
7941 (_frv_create_got_section): Create .rel.got and .rofixup only in
7942 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
7943 linker script.
7944 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
7945 (elf32_frvfdpic_modify_segment_map): Likewise.
7946 (elf32_frv_finish_dynamic_sections): New, do-nothing.
7947 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
7948 error message if we miscompute the rofixup size.
7949 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
7950 (frvfdpic_elf_encode_eh_address): Likewise.
7951 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
7952 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
7953 relocs. Reject unknown relocation types.
7954 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
7955 (frv_elf_merge_private_bfd_data): Likewise.
7956 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
7957 0x4000 for newly-added elf32-frvfdpic.
7958
06fc8a8c
NC
79592004-05-05 Nick Clifton <nickc@redhat.com>
7960
7961 PR/136
7962 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
7963 returning NULL as most users of this function do not check its
7964 return value.
33216455
NC
7965 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
7966 of bfd_cache_lookup().
7967 * sco5-core.c (sco5_core_file_p): Likewise.
7968 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
7969
79702004-05-05 Nick Clifton <nickc@redhat.com>
7971
7972 * cache.c (bfd_cache_lookup): Improve formatting.
7973 * archive.c: Fix formatting.
7974
6b6e92f4
NC
79752004-05-05 Peter Barada <peter@the-baradas.com>
7976
7977 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
7978 * cpu-m68k.c(bfd_m68k_arch): Likewise.
7979 * bfd-in2.h(bfd_architecture): Regenerate.
7980
6a8d1586
AM
79812004-05-03 Alan Modra <amodra@bigpond.net.au>
7982
7983 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
7984 SEC_MERGE sections.
7985 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
7986 those against discarded link-once and SEC_MERGE section symbols.
7987
fafe6678
L
79882004-05-02 H.J. Lu <hongjiu.lu@intel.com>
7989
7990 * section.c (bfd_get_section_by_name_if): New.
7991 * bfd-in2.h: Regenerated.
7992
ad7b9a36
AM
79932004-05-02 Alan Modra <amodra@bigpond.net.au>
7994
7995 * som.c (som_bfd_is_group_section): Define.
7996
73499ab8
AM
79972004-05-01 Alan Modra <amodra@bigpond.net.au>
7998
7999 * section.c (bfd_make_section_anyway): Copy the whole
8000 bfd_hash_entry, not just "next" from existing entry.
8001
45c5e9ed
L
80022004-04-30 H.J. Lu <hongjiu.lu@intel.com>
8003
8004 * elf.c (bfd_section_from_shdr): Maintain the section order in
8005 a section group.
8006 (special_sections): Add ".note.GNU-stack".
8007 (elf_fake_sections): Handle section group for relocatable
8008 link..
8009
bc87dd2e
L
80102004-04-30 H.J. Lu <hongjiu.lu@intel.com>
8011
8012 * section.c (bfd_sections_find_if): New.
8013 * bfd-in2.h: Regenerated.
8014
72adc230
AM
80152004-04-30 Alan Modra <amodra@bigpond.net.au>
8016
8017 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
8018
8019 * elf-bfd.h (bfd_elf_is_group_section): Declare.
8020 * elf.c (bfd_elf_is_group_section): New function.
8021 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
8022 * section.c (bfd_generic_is_group_section): New function.
8023 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
8024 (BFD_JUMP_TABLE_LINK): Adjust.
8025 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
8026 * aout-target.h (MY_bfd_is_group_section): Define.
8027 * aout-tic30.c (MY_bfd_is_group_section): Define.
8028 * bfd.c (bfd_is_group_section): Define.
8029 * binary.c (binary_bfd_is_group_section): Define.
8030 * bout.c (b_out_bfd_is_group_section): Define.
8031 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
8032 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
8033 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
8034 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
8035 * coffcode.h (coff_bfd_is_group_section): Define.
8036 * i386msdos.c (msdos_bfd_is_group_section): Define.
8037 * i386os9k.c (os9k_bfd_is_group_section): Define.
8038 * ieee.c (ieee_bfd_is_group_section): Define.
8039 * ihex.c (ihex_bfd_is_group_section): Define.
8040 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
8041 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
8042 * mmo.c (mmo_bfd_is_group_section): Define.
8043 * nlm-target.h (nlm_bfd_is_group_section): Define.
8044 * oasys.c (oasys_bfd_is_group_section): Define.
8045 * pef.c (bfd_pef_bfd_is_group_section): Define.
8046 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
8047 * srec.c (srec_bfd_is_group_section): Define.
8048 * tekhex.c (tekhex_bfd_is_group_section): Define.
8049 * versados.c (versados_bfd_is_group_section): Define.
8050 * vms.c (vms_bfd_is_group_section): Define.
8051 * xsym.c (bfd_sym_bfd_is_group_section): Define.
8052 * bfd-in2.h: Regenerate.
8053 * libbfd.h: Regenerate.
8054
20f0a1ad
AM
80552004-04-30 Alan Modra <amodra@bigpond.net.au>
8056
8057 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
8058
f7458fc9 80592004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
8060
8061 * configure.in: Update version to 2.15.91.
8062 * configure: Regenerate.
8063
8a7140c3
NC
80642004-04-29 Brian Ford <ford@vss.fsi.com>
8065
8066 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
8067 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
8068 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
8069 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
8070 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
8071 .gnu.linkonce.wi. sections.
8072 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
8073 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
8074 .gnu.linkonce.wi..
8075 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
8076 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
8077
3e722fb5
CD
80782004-04-28 Chris Demetriou <cgd@broadcom.com>
8079
8080 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
8081 * bfd-in2.h: Regenerate.
8082 * libbfd.h: Likewise.
8083
351e2b5a
DA
80842004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8085
8086 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
8087 dup_common fields.
8088 (setup_sections): Use som_subspace_dictionary_record struct instead
8089 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
8090 is_comdat, is_common or dup_common.
8091 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
8092 is_comdat, is_common and dup_common in section subspace_dict from
8093 copy_data.
8094 (som_begin_writing): Use som_subspace_dictionary_record struct.
8095 (som_finish_writing): Likewise.
8096 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
8097 is_common and dup_common flags in info for symbol. Add comment
8098 regarding linker support for these fields. Slightly reorganize
8099 function.
8100 (som_build_and_write_symbol_table): Set is_comdat, is_common and
8101 dup_common fields in symbol table from symbol info.
8102 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
8103 arguments. Set corresponding fields in copy_data. Change all callers.
8104 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
8105 symbol table.
8106 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
8107 * som.h (som_subspace_dictionary_record): Define.
8108 (som_copyable_section_data_struct): Add is_comdat, is_common and
8109 dup_common fields.
8110 (som_section_data_struct): Use som_subspace_dictionary_record struct
8111 instead of subspace_dictionary_record.
8112 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
8113
3ba3bc8c
BW
81142004-04-27 Bob Wilson <bob.wilson@acm.org>
8115
8116 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
8117 if set. Check reloc_done flag before applying relocations. Use
8118 output addresses, both when applying relocations and when comparing
8119 against the specified section.
8120 (elf_xtensa_relocate_section): Use output address to check if dynamic
8121 reloc is in a literal pool. Set section's reloc_done flag.
8122
beb8df56
L
81232004-04-27 H.J. Lu <hongjiu.lu@intel.com>
8124
8125 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
8126 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
8127 section.
8128 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
8129 section.
8130
1829f4b2
AM
81312004-04-27 Alan Modra <amodra@bigpond.net.au>
8132
8133 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
8134 structure field removed in 2004-04-24 patch.
8135 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
8136
8137 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
8138 Constify hdr arg.
8139 * elf32-arm.h (elf32_arm_section_flags): Likewise.
8140 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
8141 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
8142 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
8143 field before calling elf_backend_section_flags.
8144
4030e8f6
CD
81452004-04-24 Chris Demetriou <cgd@broadcom.com>
8146
8147 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
8148 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
8149 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
8150 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
8151 and BFD_RELOC_32_PCREL.
8152 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
8153 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
8154 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
8155 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
8156 (mips_elf_next_relocation): Move comment about matching HI/LO
8157 relocations to...
8158 (_bfd_mips_elf_relocate_section): Here. Remove handling for
8159 R_MIPS_GNU_REL_HI16.
8160
3e27568f
CD
81612004-04-23 Chris Demetriou <cgd@broadcom.com>
8162
8163 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
8164 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
8165 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
8166 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
8167 and update comments to reflect current usage.
8168 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
8169 and MIPS_R_SWITCH, as well as several empty entries. Update comment
8170 for MIPS_R_PCREL16.
8171 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
8172 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
8173 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
8174 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
8175 type number to be MIPS_R_PCREL16.
8176 (mips_relocate_section): Remove support for link-time relaxation
8177 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
8178 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
8179 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
8180 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
8181 relaxation of branches used by embedded-PIC.
8182 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
8183 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
8184 related members, update comment.
8185 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
8186 code related to embedded-PIC.
8187 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
8188 initialization of now-removed 'adjust' member of
8189 'struct ecoff_debug_info'.
8190
b32de0bc 81912004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
8192
8193 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
8194
955af222
PB
81952004-04-21 Philip Blundell <pb@nexus.co.uk>
8196
8197 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
8198 relocs for locally defined symbols during -shared final link.
8199 (elf32_arm_final_link_relocate): Likewise.
8200
47a9f7b3
JJ
82012004-04-22 Jakub Jelinek <jakub@redhat.com>
8202
8203 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
8204 ELF_LINK_POINTER_EQUALITY_NEEDED.
8205 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
8206 if r_type is not R_X86_64_PC32.
8207 (elf64_x86_64_finish_dynamic_symbol): If
8208 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
8209 SHN_UNDEF symbols.
8210
1f1799d5
KK
82112004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
8212
8213 * elf32-sh.c (sh_elf_plt_sym_val): New function.
8214 (elf_backend_plt_sym_val): Define.
8215
0fdea5ce
AC
82162004-04-22 Andrew Cagney <cagney@redhat.com>
8217
8218 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
8219
5198ba8b
DA
82202004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8221
eb61d2d6 8222 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
8223 make_bfd_asection.
8224 * som.c (som_set_section_contents): Constantify second argument.
8225 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
8226 (som_object_setup): Rework to avoid warning.
8227 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
8228 Likewise.
8229
fe2e161a
AC
82302004-04-22 Andrew Cagney <cagney@redhat.com>
8231
8232 * cache.c (bfd_cache_close): Check for a previously closed file.
8233
4c45e5c9
JJ
82342004-04-22 Jakub Jelinek <jakub@redhat.com>
8235
8236 * bfd.c (bfd_get_synthetic_symtab): Define.
8237 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
8238 NAME##_get_synthetic_symtab.
8239 (struct bfd_target): Add _bfd_get_synthetic_symtab.
8240 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
8241 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
8242 relplt_name fields.
8243 (_bfd_elf_get_synthetic_symtab): New prototype.
8244 * elfcode.h (elf_get_synthetic_symtab): Define.
8245 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
8246 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
8247 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
8248 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
8249 * bfd-in2.h: Rebuilt.
8250 * libbfd.h: Rebuilt.
8251 * elf32-i386.c (elf_i386_plt_sym_val): New function.
8252 (elf_backend_plt_sym_val): Define.
8253 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
8254 (elf_backend_plt_sym_val): Define.
8255 * elf32-s390.c (elf_s390_plt_sym_val): New function.
8256 (elf_backend_plt_sym_val): Define.
8257 * elf64-s390.c (elf_s390_plt_sym_val): New function.
8258 (elf_backend_plt_sym_val): Define.
8259 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
8260 (elf_backend_plt_sym_val): Define.
8261 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
8262 (elf_backend_plt_sym_val): Define.
8263 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
8264 (elf_backend_plt_sym_val): Define.
8265 * aout-target.h (MY_get_synthetic_symtab): Define.
8266 * aout-tic30.c (MY_get_synthetic_symtab): Define.
8267 * coff-rs6000.c (rs6000coff_vec): Add
8268 _bfd_nodynamic_get_synthetic_symtab.
8269 (pmac_xcoff_vec): Likewise.
8270 * coff64-rs6000.c (rs6000coff64_vec): Add
8271 _bfd_nodynamic_get_synthetic_symtab.
8272 (aix5coff64_vec): Likewise.
8273 * sunos.c (MY_get_synthetic_symtab): Define.
8274 * vms.c (vms_get_synthetic_symtab): Define.
8275
d2f7ecac
NC
82762004-04-22 Nick Clifton <nickc@redhat.com>
8277
8278 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
8279
fd99574b
NC
82802004-04-22 Peter Barada <peter@the-baradas.com>
8281
8282 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
8283 * bfd2-in.h: Regenerate.
8284 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
8285
23867d67
CD
82862004-04-21 Chris Demetriou <cgd@broadcom.com>
8287
8288 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
8289 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
8290 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
8291 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
8292 * bfd-in2.h: Regenerate.
8293
2c8c90bc
BW
82942004-04-21 Bob Wilson <bob.wilson@acm.org>
8295
8296 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
8297 require relocations against a weak symbol to reference the same
8298 symbol hash entry if not a final, static link.
8299 (get_cached_value, add_value_map): Add final_static_link argument.
8300 (remove_literals): Pass final_static_link argument as needed.
8301
40838a72
AC
83022004-04-21 Andrew Cagney <cagney@redhat.com>
8303
8304 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
8305 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
8306 (opncls_bwrite, opncls_bclose, opncls_bflush)
8307 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
8308 bfd iovec that uses function callbacks.
8309 (bfd_close): Use the iovec's bclose.
8310 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
8311 (cache_bclose, cache_bflush, cache_bstat)
8312 (cache_iovec): New functions and global variable, implement a
8313 cache "iovec", where applicable set bfd_error.
8314 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
8315 * bfdio.c (struct bfd_iovec): Define.
8316 (real_read): Delete function.
8317 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
8318 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
8319 assume that bread and bwrite set bfd_error.
8320 * bfd.c (struct bfd): Add "iovec", update comments.
8321 * bfd-in2.h, libbfd.h: Re-generate.
8322
7f919c84
AC
83232004-04-21 Andrew Cagney <cagney@redhat.com>
8324
8325 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
8326
715df9b8
EB
83272004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
8328
8329 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
8330 (bfd_elf_gc_sections): Fail if a shared object is being created.
8331 Do not fail if dynamic sections have been created. Instead call
8332 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
8333 dynamically referenced symbols. Do not mark the whole graph
8334 rooted at .eh_frame, only the section proper.
8335
6482c264
NC
83362004-04-20 DJ Delorie <dj@redhat.com>
8337
8338 * reloc.c: Add BFD_RELOC_32_SECREL.
8339 * bfd-in2.h: Regenerate.
8340 * libbfd.h: Likewise.
8341 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
8342 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
8343 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
8344
4dc570c2
JJ
83452004-04-19 Jakub Jelinek <jakub@redhat.com>
8346
8347 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
8348 relocs against hidden/protected undefweak symbols properly.
8349 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8350
0b60d5d3
MK
83512004-04-18 Mark Kettenis <kettenis@gnu.org>
8352
8353 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
8354 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
8355 core files.
8356
d48bdb99
AM
83572004-04-17 Brian Ford <ford@vss.fsi.com>
8358
8359 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
8360 filepos for the SizeOfHeaders field.
8361 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
8362 overflow.
8363 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
8364
57a1784e
AM
83652004-04-16 Alan Modra <amodra@bigpond.net.au>
8366
8367 * simple.c (bfd_simple_get_relocated_section_contents): Don't
8368 change reloc_done. Set and restore _cooked_size.
8369 (RETURN): Delete.
8370
d1ad3f6f
MK
83712004-04-15 Mark Kettenis <kettenis@gnu.org>
8372
8373 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
8374 core files.
8375
3d1bca9d
NC
83762004-04-15 Nick Clifton <nickc@redhat.com>
8377
8378 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
8379
019b892f
AM
83802004-04-15 Alan Modra <amodra@bigpond.net.au>
8381
8382 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
8383
15b43f48
AM
83842004-04-15 H.J. Lu <hongjiu.lu@intel.com>
8385
8386 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
8387 when it is a definition.
8388
6de00a78
AM
83892004-04-14 Alan Modra <amodra@bigpond.net.au>
8390
8391 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
8392 when statically linking PIC code.
8393 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8394
279500de
TS
83952004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8396
8397 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
8398 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
8399 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
8400 * configure: Regenerate.
8401
ccf2f652
RS
84022004-04-08 Richard Sandiford <rsandifo@redhat.com>
8403
8404 * elflink.c: Include libiberty.h.
8405 * Makefile.am (elflink.lo): Depend on libiberty.h.
8406 * Makefile.in: Regenerate.
8407
ca07892d
DJ
84082004-04-06 Daniel Jacobowitz <drow@mvista.com>
8409
8410 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
8411 ".MIPS.stubs".
8412
a5a58ba4
L
84132004-04-05 H.J. Lu <hongjiu.lu@intel.com>
8414
8415 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
8416 reserve the memory for dynamic linker
8417
24d18d30
MK
84182004-04-05 Mark Kettenis <kettenis@gnu.org>
8419
8420 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
8421 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
8422
a4d7b4b5
L
84232004-04-02 H.J. Lu <hongjiu.lu@intel.com>
8424
8425 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
8426 RELOC_FOR_GLOBAL_SYMBOL.
8427 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
8428
1f433d93
L
84292004-04-02 H.J. Lu <hongjiu.lu@intel.com>
8430
8431 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
8432 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
8433
e489d0ae
PB
84342004-04-01 Paul Brook <paul@codesourcery.com>
8435
8436 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
8437 * elf32-arm.h (struct elf32_elf_section_map): New.
8438 (struct _arm_elf_section_data): New.
8439 (elf32_arm_section_data): Define.
8440 (struct elf32_arm_link_hash_table): Add byteswap_code.
8441 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
8442 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
8443 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
8444 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
8445 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
8446 (bfd_elf32_new_section_hook, elf_backend_write_section,
8447 elf_backend_link_output_symbol_hook): Define.
8448
66a695f0
NC
84492004-04-01 Andy Chittenden <achittenden@bluearc.com>
8450
8451 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
8452 that keeps the characters in a B_INCL..B_EINCL range.
8453 (_bfd_link_section_stabs): When computing the sum of the
8454 characters in a B_INCL..B_EINCL range also keep a copy of those
8455 characters. Use this information to distinguish between
8456 include sections that have the same sum and the same length
8457 but which are nevertheless unique.
8458
8375c36b
PB
84592004-03-31 Paul Brook <paul@codesourcery.com>
8460
8461 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
8462 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
8463
a56b48eb
NC
84642004-03-31 Andy Chittenden <achittenden@bluearc.com>
8465
8466 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
8467 to 'sum_chars' and add field 'num_chars'.
8468 (_bfd_link_section_stabs): When computing the sum of the
8469 characters in a B_INCL..B_EINCL range also keep a count of the
8470 number of characters. Use this information to help distinguish
8471 between include sections when have the same sum but which
8472 nevertheless are still unique.
8473
1fbc7e7a 84742004-03-31 Mattias Engdegård <mattias@virtutech.se>
3d456464
NC
8475
8476 * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
8477
0949843d 84782004-03-30 Galit Heller <Galit.Heller@nsc.com>
eb61d2d6 8479 Tomer Levi <Tomer.Levi@nsc.com>
0949843d
NC
8480
8481 * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
8482 (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
8483 (BFD32_BACKENDS): Add elf32-cr16c.lo.
8484 (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
8485 (cpu-cr16c.lo): New target.
8486 (elf32-cr16c.lo): Likewise.
8487 * Makefile.in: Regenerate.
8488 * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
8489 (bfd_archures_list): Add bfd_cr16c_arch.
8490 * config.bfd: Handle cr16c-*-elf*.
8491 * configure.in: Handle bfd_elf32_cr16c_vec.
8492 * configure: Regenerate.
8493 * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
8494 BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
8495 BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
8496 BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
8497 BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
8498 BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
8499 BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
8500 BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
8501 BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
8502 BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
8503 BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
8504 BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
8505 BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
8506 BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
8507 BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
8508 BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
8509 BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
8510 BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
8511 BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
8512 BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
8513 * targets.c (bfd_elf32_cr16c_vec): Declare.
8514 (bfd_target_vector): Add bfd_elf32_cr16c_vec.
8515 * cpu-cr16c.c: New file.
8516 * elf32-cr16c.c: Likewise.
8517 * libbfd.h: Regenerate.
8518 * bfd-in2.h: Likewise.
8519
baaff79e
JJ
85202004-03-30 Jakub Jelinek <jakub@redhat.com>
8521
8522 * elf.c (map_sections_to_segments): Fix handling of .tbss.
8523
c152c796
AM
85242004-03-27 Alan Modra <amodra@bigpond.net.au>
8525
8526 * Makefile.am: Remove all mention of elflink.h.
8527 * Makefile.in: Regenerate.
8528 * bfd-in.h (bfd_elf_discard_info): Declare.
8529 (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
8530 * bfd-in2.h: Regenerate.
8531 * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
8532 bfd_elf32_link_record_dynamic_symbol,
8533 bfd_elf64_link_record_dynamic_symbol,
8534 _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
8535 bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
8536 _bfd_elf32_link_record_local_dynamic_symbol,
8537 _bfd_elf64_link_record_local_dynamic_symbol,
8538 _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
8539 _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
8540 _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
8541 _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
8542 _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
8543 _bfd_elf32_reloc_symbol_deleted_p,
8544 _bfd_elf64_reloc_symbol_deleted_p): Delete.
8545 (bfd_elf_link_record_dynamic_symbol,
8546 bfd_elf_link_record_local_dynamic_symbol,
8547 bfd_elf_final_link, bfd_elf_gc_sections,
8548 bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
8549 bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
8550 bfd_elf_reloc_symbol_deleted_p): Declare.
8551 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
8552 * elf32-arm.h: Update for changed function names. Remove local
8553 WILL_CALL_FINISH_DYNAMIC_SECTION define.
8554 * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
8555 * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
8556 * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
8557 * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
8558 * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
8559 * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
8560 * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
8561 * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
8562 * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
8563 (bfd_elfNN_print_symbol): Define.
8564 * elfcode.h: Don't include elflink.h.
8565 (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
8566 elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
8567 elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
8568 elf_gc_record_vtinherit, elf_gc_record_vtentry,
8569 elf_link_record_local_dynamic_symbol): Don't define.
8570 * elflink.c: Update for changed function names. Move elflink.h
8571 code here.
8572 * elflink.h: Delete file.
8573 * po/SRC-POTFILES.in: Regenerate.
8574 * po/bfd.pot: Regenerate.
8575
6a9cae7f
AM
85762004-03-27 Alan Modra <amodra@bigpond.net.au>
8577
8578 * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
8579 "name" for global syms accidentally removed in 2004-03-20 change.
8580
140f6c8e
AM
85812004-03-27 Alan Modra <amodra@bigpond.net.au>
8582
8583 * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
8584 * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
8585 where Elf_External_* is different for 64 and 32 bit, with
8586 corresponding elf_size_info field.
8587 (struct elf_final_link_info): Use "bfd_byte *" instead
8588 of "Elf_External_Sym *" for external_syms and symbuf.
8589 (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
8590 vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
8591 (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
8592 (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
8593 (elf_link_sort_cmp2): Adjust.
8594 (elf_link_sort_relocs): Set up r_sym_mask local var instead of
8595 using ELF_R_SYM macro. Set u.sym_mask.
8596 (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
8597 version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
8598 vs. section_from_elf_index. Adjust Elf_External_Sym pointer
8599 arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
8600 Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
8601 swap_syn_out functions. Rearrange dyn swap in/out switch.
8602 (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
8603 Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
8604 (elf_link_flush_output_syms): Add elf_backend_data arg.
8605 (elf_link_check_versioned_symbol): Likewise.
8606 (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
8607 Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
8608 (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
8609 r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
8610 ELF_R_TYPE and ELF_R_INFO macros.
8611 (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
8612 based on size rather than using ELF_R_INFO.
8613 (elf_gc_mark): Set up r_sym_shift local var and use instead of
8614 ELF_R_SYM macro.
8615 (struct alloc_got_off_arg): New.
8616 (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
8617 ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
8618 (elf_gc_allocate_got_offsets): Adjust.
8619 (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
8620 ELF_R_SYM. Use bfd_section_from_elf_index.
8621 (elf_bfd_discard_info): Set cookie.r_sym_shift.
8622 * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
8623 (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
8624
14bde378
SS
86252004-03-26 Stan Shebs <shebs@apple.com>
8626
8627 Remove MPW support, no longer used.
8628 * config.bfd (powerpc-*-mpw*): Remove configuration.
8629 * mpw-config.in, mpw-make.sed: Remove files.
8630 * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
8631
555cd476
AM
86322004-03-26 Alan Modra <amodra@bigpond.net.au>
8633
8634 * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
8635 (ppc64_elf_add_symbol_hook): New function.
8636 * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
8637 const from Elf_Internal_Sym param.
8638 * elflink.c (elf_link_add_object_symbols): Adjust.
8639 * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
8640 * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
8641 * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
8642 * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
8643 * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
8644 * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
8645 * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
8646 * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
8647 * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
8648 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
8649 * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
8650 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
8651 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
8652 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
8653 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
8654 * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
8655
4ad4eba5
AM
86562004-03-26 Alan Modra <amodra@bigpond.net.au>
8657
8658 * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
8659 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
8660 (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
8661 (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
8662 (bfd_elf64_bfd_link_add_symbols): Delete.
8663 (bfd_elf_link_add_symbols): Declare.
8664 * elfcode.h (elf_bfd_link_add_symbols): Delete.
8665 * elflink.c: Include safe-ctype.h.
8666 (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
8667 make static.
8668 (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
8669 (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
8670 static.
8671 (elf_link_add_archive_symbols): Rename from
8672 _bfd_elf_link_add_archive_symbols, make static.
8673 (elf_link_add_object_symbols): New function. Corresponding
8674 elflink.h function converted to use elf_size_info.
8675 (bfd_elf_link_add_symbols): Likewise.
8676 (bfd_elf_size_dynamic_sections): Adjust.
8677 * elflink.h (elf_bfd_link_add_symbols): Delete.
8678 (elf_link_add_object_symbols): Delete.
8679 * elf32-gen.c (elf32_generic_link_add_symbols): Call
8680 bfd_elf_link_add_symbols.
8681 * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
8682
5a580b3a
AM
86832004-03-25 Alan Modra <amodra@bigpond.net.au>
8684
8685 * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
8686 and chained shared libs only if dynsym. Clear dynsym on forced-local.
c152c796 8687
5a580b3a
AM
8688 * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
8689 (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
8690 (_bfd_elf_add_dt_needed_tag): Declare.
8691 (_bfd_elf_sort_symbol): Declare.
8692 (_bfd_elf_finalize_dynstr): Declare.
8693 (RELOC_FOR_GLOBAL_SYM): Formatting.
8694 * elfcode.h (elf_add_dynamic_entry): Delete.
8695 * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
8696 elflink.h function converted to use elf_size_info.
8697 (_bfd_elf_add_dt_needed_tag): Likewise.
8698 (_bfd_elf_sort_symbol): Likewise.
8699 (_bfd_elf_finalize_dynstr): Likewise.
8700 (compute_bucket_count): Likewise.
8701 (bfd_elf_size_dynamic_sections): Likewise. Check result of
8702 _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
8703 (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
8704 * elflink.h: ..here.
8705 (sort_symbol, add_dt_needed_tag): Delete.
8706 (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
8707 (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
8708 Update all users.
8709 * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
8710 * elf32-cris.c (add_dynamic_entry): Likewise.
8711 * elf32-hppa.c (add_dynamic_entry): Likewise.
8712 * elf32-i370.c (add_dynamic_entry): Likewise.
8713 * elf32-i386.c (add_dynamic_entry): Likewise.
8714 * elf32-m32r.c (add_dynamic_entry): Likewise.
8715 * elf32-m68k.c (add_dynamic_entry): Likewise.
8716 * elf32-ppc.c (add_dynamic_entry): Likewise.
8717 * elf32-s390.c (add_dynamic_entry): Likewise.
8718 * elf32-sh.c (add_dynamic_entry): Likewise.
8719 * elf32-sparc.c (add_dynamic_entry): Likewise.
8720 * elf32-vax.c (add_dynamic_entry): Likewise.
8721 * elf32-xtensa.c (add_dynamic_entry): Likewise.
8722 * elf64-alpha.c (add_dynamic_entry): Likewise.
8723 * elf64-hppa.c (add_dynamic_entry): Likewise.
8724 * elf64-ppc.c (add_dynamic_entry): Likewise.
8725 * elf64-s390.c (add_dynamic_entry): Likewise.
8726 * elf64-sparc.c (add_dynamic_entry): Likewise.
8727 * elf64-x86-64.c (add_dynamic_entry): Likewise.
8728 * elfxx-ia64.c (add_dynamic_entry): Likewise.
8729 * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
8730 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
8731 * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
8732 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
8733
d507cf36
PB
87342004-03-23 Paul Brook <paul@codesourcery.com>
8735
8736 * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
8737
88d65ad6
BW
87382004-03-22 Bob Wilson <bob.wilson@acm.org>
8739
8740 * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
8741 literal tables and check for relocs outside of literal pools.
8742 (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
8743 (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
8744 set DF_TEXTREL.
8745 (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
8746 (elf_xtensa_relocate_section): Read literal tables and check for
8747 dynamic relocations in read-only sections and not in literal pools.
c152c796 8748
b9cf773d
AM
87492004-03-23 Alan Modra <amodra@bigpond.net.au>
8750
8751 PR 51.
8752 * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
8753
e4a2175c
HPN
87542004-03-22 Hans-Peter Nilsson <hp@axis.com>
8755
8756 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
8757 R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
8758 not defined by the executable, or defined in a DSO.
8759 <eliding run-time relocation of .got>: Initialize GOT entry for a
8760 function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
8761 executable.
8762 (cris_elf_gc_sweep_hook): Improve fallthrough marking.
8763 (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
8764 a PLT reloc to GOT for an executable.
8765 (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
b9cf773d 8766 .got for a DSO and explain why.
e4a2175c
HPN
8767 (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
8768 and unreferenced symbols for which a PLT is defined. Adjust
8769 dynamic-symbol pruning correspondingly, to make sure we don't lose
8770 a dynamic symbol also defined by a DSO.
8771
b2a8e766
AM
87722004-03-22 Alan Modra <amodra@bigpond.net.au>
8773
8774 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
8775 and rel args. Group input and output args. Wrap to 80 columns.
8776 * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
8777 elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
8778 elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
8779 elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
8780 elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
8781 elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
8782 elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
8783 elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
8784 RELOC_FOR_GLOBAL_SYMBOL invocation.
8785
59c2e50f
L
87862004-03-20 H.J. Lu <hongjiu.lu@intel.com>
8787
8788 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
8789 unresolved symbols in objects aren't allowed.
8790
8791 * elf-hppa.h (elf_hppa_relocate_section): Properly handle
8792 unresolved symbols.
8793 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8794 (elf_hppa_unmark_useless_dynamic_symbols):
8795 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
8796 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
8797 (elf32_hppa_relocate_section): Likewise.
8798 * elf32-i370.c (i370_elf_relocate_section): Likewise.
8799 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
8800 * elf32-sh.c (sh_elf_relocate_section): Likewise.
8801 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
8802 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
8803
8804 * elf-m10200.c (mn10200_elf_relocate_section): Use
8805 RELOC_FOR_GLOBAL_SYMBOL.
8806 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
8807 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
8808 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
8809 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
8810 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
8811 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
8812 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
8813 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
8814 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
8815 * elf32-v850.c (v850_elf_relocate_section): Likewise.
8816 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
8817 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
8818
9992270f
DA
88192004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8820
36751eee
DA
8821 * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
8822 (final_link_relocate): Likewise.
9992270f
DA
8823 * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
8824 R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
8825
05864e2a
AM
88262004-03-19 Alan Modra <amodra@bigpond.net.au>
8827
8828 * Makefile.am: Run "make dep-am".
8829 * Makefile.in: Regenerate.
8830 * aclocal.m4: Regenerate.
8831 * config.in: Regenerate.
8832 * po/bfd.pot: Regenerate.
8833
f218a464 88342004-03-19 Alan Modra <amodra@bigpond.net.au>
0f8a2703
AM
8835 H.J. Lu <hongjiu.lu@intel.com>
8836
8837 * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
8838 type and size change code to where it was previously. Remove
8839 dt_needed param. Treat old weak syms as strong if new sym is
8840 from a shared lib, even when old sym is from another shared
8841 lib. Remove unnecessary tests of oldweak and newweak. Correct
8842 comments.
8843 (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
8844 _bfd_elf_merge_symbol calls.
8845 * elflink.h (elf_link_add_object_symbols): Update calls. Remove
8846 dt_needed local var. Update comments.
8847 * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
8848 (_bfd_elf_add_default_symbol): Likewise.
f218a464
AM
8849
8850 * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
8851 strong syms in one shared object overriding weak syms in another.
8852
79349b09
AM
88532004-03-18 Alan Modra <amodra@bigpond.net.au>
8854
4a43e768
AM
8855 * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
8856 dyn_lib_class field. Rearrange for better packing.
8857 (elf_dt_soname): Delete.
8858 (elf_dyn_lib_class): Define.
8859 * elf.c (bfd_elf_set_dt_needed_name): Update comment.
8860 (bfd_elf_set_dt_needed_soname): Delete.
8861 (bfd_elf_set_dyn_lib_class): New function.
8862 * elflink.h (add_dt_needed_tag): New function. Split out from..
8863 (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
8864 Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
8865 initialization of soname.
8866 (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
8867 elf_dt_soname.
8868 * bfd-in.h (enum dynamic_lib_link_class): New.
8869 (bfd_elf_set_dt_needed_soname): Delete.
8870 (bfd_elf_set_dyn_lib_class): Declare.
8871 * bfd-in2.h: Regenerate.
8872
79349b09
AM
8873 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
8874 (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
8875 * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
8876 symbol loop. Instead use add_needed to flag tag as written.
8877
d13d89fa
NS
88782004-03-17 Nathan Sidwell <nathan@codesourcery.com>
8879
8880 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
8881 logic for null_input_bfd detection.
8882
9183ed4b
AM
88832004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8884
8885 * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
8886
021d7868
MK
88872004-03-16 Mark Kettenis <kettenis@gnu.org>
8888
8889 * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
8890 code.
8891
51992aec
AM
88922004-03-16 Alan Modra <amodra@bigpond.net.au>
8893
8894 * elflink.c (elf_link_read_relocs_from_section): Don't use
8895 NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
8896 (_bfd_elf_link_read_relocs): ..to here.
8897 * elf32-ppc.c (ppc_elf_relax_section): Formatting.
8898
ccba357f
AM
88992004-03-16 Alan Modra <amodra@bigpond.net.au>
8900
8901 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
8902 values selected in configure.host. Require both to be defined
8903 before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
8904 corresponding BFD_HOST vars with quotes.
8905 <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
8906 Always require BFD_HOST_64_BIT_DEFINED.
8907 <file_ptr type>: Find off_t size before emitting message. Combine
8908 off_t and ftello64 conditional.
8909 * configure: Regenerate.
8910
41978308
AM
89112004-03-16 Alan Modra <amodra@bigpond.net.au>
8912
8913 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
8914 aliasing warning. Remove trailing whitespace throughout file.
8915
d63b5ed9
DA
89162004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8917
8918 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
8919 input_section in calls to get_dyn_name.
8920 * 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
8921 local symbols.
8922 (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
8923
8ce8c090
AM
89242004-03-15 Alan Modra <amodra@bigpond.net.au>
8925
8926 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
8927 (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
8928 (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
8929 (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
8930 (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
8931 * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
8932 (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
8933 when using long.
8934 * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
8935 (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
8936 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
8937 (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
8938 (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
8939 * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
8940 (read_8_bytes, read_indirect_string, read_address): Likewise.
8941 (read_abbrevs, parse_comp_unit): Likewise.
8942 * targets.c (struct bfd_target): Likewise.
8943 * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
8944 * hppabsd-core.c: Likewise. Formatting.
8945 * hpux-core.c: Likewise.
8946 * irix-core.c: Likewise.
8947 * netbsd-core.c: Likewise.
8948 * osf-core.c: Likewise.
8949 * ptrace-core.c: Likewise.
8950 * sco5-core.c: Likewise.
8951 * trad-core.c: Likewise.
8952 * configure: Regenerate.
8953 * bfd-in2.h: Regenerate.
8954
edeb6e24
AM
89552004-03-15 Alan Modra <amodra@bigpond.net.au>
8956
8957 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
8958 (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
8959 (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
8960 (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
8961 (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
8962 (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
8963 (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
8964 * libbfd.c: Likewise in function definitions.
8965 (bfd_put_8): Mask with 0xff rather than casting to char.
8966 (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
8967 (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
8968 (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
8969 (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
8970 (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
8971 (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
8972 * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
8973 (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
8974 (H_GET_64, H_GET_32, H_GET_16): Likewise.
8975 (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
8976 * archive.c (do_slurp_coff_armap): Update swap prototype.
8977 * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
8978 (tic54x_getl_signed_32): Likewise.
8979 (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
8980 * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
8981 * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
8982 (bfd_getp_signed_32, bfd_putp32): Likewise.
8983 * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
8984 bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
8985 bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
8986 bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
8987 bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
8988 bfd_h_getx_signed_16, bfd_h_putx16.
8989 * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
8990 * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
8991 * hpux-core.c: Likewise.
8992 * irix-core.c: Likewise.
8993 * netbsd-core.c: Likewise.
8994 * osf-core.c: Likewise.
8995 * ptrace-core.c: Likewise.
8996 * sco5-core.c: Likewise.
8997 * trad-core.c: Likewise.
8998 * bfd-in2.h: Regenerate.
8999
c1b954e2
AM
90002004-03-15 Matt Thomas <matt@3am-software.com>
9001
9002 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
9003 selected.
9004
85cfd8d3
MK
90052004-03-13 Mark Kettenis <kettenis@gnu.org>
9006
9007 * config.bfd: Add x86_64-*-openbsd*.
9008 * configure.in (x86_64-*-openbsd*): Set COREFILE to
9009 netbsd-core.lo.
9010 * configure: Regenerate.
9011
d1f161ea
NC
90122004-03-12 Nick Clifton <nickc@redhat.com>
9013 Dave Murphy <wintermute2k4@ntlworld.com>
c1b954e2 9014
d1f161ea
NC
9015 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
9016 if the input bfd does not contain any code.
9017
8b6f2683
JW
90182004-03-09 Steve Ellcey <sje@cup.hp.com>
9019
9020 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
9021
79cda7cf
FF
90222004-03-05 Fred Fish <fnf@redhat.com>
9023
9024 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
9025 mips16 symbols to be even rather than testing first for even/odd.
9026 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
9027
e5caec89
NS
90282004-03-05 Nathan Sidwell <nathan@codesourcery.com>
9029
9030 * elf.c (map_sections_to_segments): Ignore .tbss sections for
9031 layout purposes.
9032
02bb6eae
AO
90332004-03-03 Alexandre Oliva <aoliva@redhat.com>
9034
9035 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
9036 undefined symbols as hash_new.
9037
ae51a426
JR
90382003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
9039
9040 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
9041 * cpu-sh.c: Ditto.
9042 * elf32-sh.c: Ditto.
9043 * bfd-in2.h: Regenerate.
9044
3b712a1a
AO
90452004-03-02 Alexandre Oliva <aoliva@redhat.com>
9046
9047 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
9048 dynrelocs.
9049 (_frv_count_got_plt_entries): Initialize them.
9050 (frv_pic_relocs_info_find): Add insert argument. Adjust all
9051 callers.
9052 (frv_pic_relocs_info_for_global): Likewise.
9053 (frv_pic_relocs_info_for_local): Likewise.
9054 (frv_pic_merge_early_relocs_info): New.
9055 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
9056 another.
9057 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
9058 Check that we don't exceed the allocated count for entry.
9059 (_frv_add_rofixup): Likewise.
9060 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
9061 (elf32_frv_finish_dynamic_sections): Improve error message in case
9062 we emit too few rofixup entries.
9063
676a64f4
RS
90642004-03-01 Richard Sandiford <rsandifo@redhat.com>
9065
9066 * archures.c (bfd_mach_fr450): New.
9067 * bfd-in2.h: Regenerate.
9068 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
9069 (arch_info_500): Link to it.
9070 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
9071 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
9072 (frv_elf_arch_extension_p): New function.
9073 (frv_elf_merge_private_bfd_data): Use it.
9074
0ad989f9
L
90752004-02-28 H.J. Lu <hongjiu.lu@intel.com>
9076
9077 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
9078
9079 * elflink.h (is_global_data_symbol_definition): Moved to
9080 elflink.c.
9081 (elf_link_is_defined_archive_symbol): Likewise.
9082 (elf_link_add_archive_symbols): Likewise. Renamed to
9083 _bfd_elf_link_add_archive_symbols.
9084
9085 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
9086 of ELF symbol table entry from backend.
9087 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
9088 instead of elf_link_add_object_symbols.
9089
ec3391e7
AO
90902004-02-27 Alexandre Oliva <aoliva@redhat.com>
9091
9092 * elf-bfd.h (struct elf_backend_data): Added
9093 elf_backend_can_make_relative_eh_frame,
9094 elf_backend_can_make_lsda_relative_eh_frame and
9095 elf_backend_encode_eh_address.
9096 (_bfd_elf_encode_eh_address): Declare.
9097 (_bfd_elf_can_make_relative): Declare.
9098 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
9099 hooks to decide whether to attempt to make_relative and
9100 make_lsda_relative.
9101 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
9102 (_bfd_elf_can_make_relative): New.
9103 (_bfd_elf_encode_eh_address): New.
9104 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
9105 (frv_elf_encode_eh_address): New.
9106 (elf_backend_can_make_relative_eh_frame): Define.
9107 (elf_backend_can_make_lsda_relative_eh_frame): Define.
9108 (elf_backend_encode_eh_address): Define.
9109 * elfxx-target.h
9110 (elf_backend_can_make_relative_eh_frame): Define.
9111 (elf_backend_can_make_lsda_relative_eh_frame): Define.
9112 (elf_backend_encode_eh_address): Define.
9113 (elfNN_bed): Add them.
9114
e6deed0a
AO
91152004-02-27 Alexandre Oliva <aoliva@redhat.com>
9116
9117 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
9118 complain_on_overflow to signed.
9119
b60d7a1a
L
91202004-02-27 H.J. Lu <hongjiu.lu@intel.com>
9121
9122 * elflink.h (sort_symbol): New.
9123 (elf_link_add_object_symbols): Use a sorted symbol array for
9124 weakdef.
9125
1c3ff0f2
MS
91262004-02-27 Jakub Jelinek <jakub@redhat.com>
9127
9128 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
9129 for pc relative relocs.
9130 (elf_s390_relocate_section): Likewise.
9131 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
9132 for pc relative relocs.
9133 (elf_s390_relocate_section): Likewise.
9134
de9811af
L
91352004-02-26 H.J. Lu <hongjiu.lu@intel.com>
9136
9137 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
9138 count_dyn_reloc.
9139
ac33696c
L
91402004-02-25 H.J. Lu <hongjiu.lu@intel.com>
9141
9142 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
9143 field to track if a relocation is against readonly section.
9144 (count_dyn_reloc): Take a new argument for rent->reltext.
9145 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
9146 (get_reloc_section): Don't set ia64_info->reltext here.
9147 (allocate_dynrel_entries): Set ia64_info->reltext here.
9148
072c8903
AO
91492004-02-24 Alexandre Oliva <aoliva@redhat.com>
9150
9151 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
9152 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
9153 function's descriptor to symbol+offset, and map local undefweak
9154 symbol to NULL function descriptor.
9155 (elf32_frv_relocate_section): Likewise.
9156
aca305d9
NC
91572004-02-23 Mark Kettenis <kettenis@gnu.org>
9158
9159 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
9160 M_X86_64_NETBSD.
9161 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
9162 (netbsd_core_file_p): Set architecture from machine ID for
9163 selected machines.
9164
646411fb
JJ
91652004-02-23 Jakub Jelinek <jakub@redhat.com>
9166
9167 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
9168 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
9169
1de1a317
L
91702004-02-21 H.J. Lu <hongjiu.lu@intel.com>
9171
9172 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
9173 symbols with non-default visibility.
9174
3c9d0484
DS
91752004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
9176
9177 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
9178 IMAGE_SCN_MEM_WRITE on known sections only.
9179
a876ecf9
JJ
91802004-02-20 Jakub Jelinek <jakub@redhat.com>
9181
9182 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
9183 symbols used in PIE relocs.
9184
a8a6d7ce
JJ
91852004-02-19 Jakub Jelinek <jakub@redhat.com>
9186
9187 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
9188 .plt sh_entsize.
9189
d080fcd2
DJ
91902004-02-18 Daniel Jacobowitz <drow@mvista.com>
9191
9192 * configure.in: Update version to 2.15.90.
9193 * configure: Regenerate.
9194
d25aed71 91952004-02-17 Daniel Jacobowitz <drow@mvista.com>
c1b954e2 9196 Richard Sandiford <rsandifo@redhat.com>
d25aed71
RS
9197
9198 * elfxx-mips.c (mips_elf_calculate_relocation): Use
9199 _bfd_elf_symbol_refs_local_p to decide whether to decay
9200 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
9201 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
9202 relocs if the symbol wasn't defined by a regular object file.
9203 Don't check the symbol's dynindx.
9204
d7ce59e3
AC
92052004-02-16 Andrew Cagney <cagney@redhat.com>
9206
9207 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
9208 @bfd_file_ptr@.
9209 * bfd-in2.h: Re-generate.
9210
ca0b7686
AC
92112004-02-14 Andrew Cagney <cagney@redhat.com>
9212
9213 * configure.host (HDEFINES): When hppa*-*-hpux*, define
9214 _LARGEFILE64_SOURCE.
9215
340b6d91
AC
92162004-02-13 Andrew Cagney <cagney@redhat.com>
9217
9218 * elf.c (vma_page_aligned_bias): New function.
9219 (assign_file_positions_except_relocs)
9220 (assign_file_positions_for_segments): Replace broken modulo
9221 arithmetic with call to vma_page_aligned_bias.
9222
1012372a
AC
92232004-02-11 Andrew Cagney <cagney@redhat.com>
9224
7c192733
AC
9225 * bfd-in.h: Update copyright.
9226 (bfd_tell): Change return type to file_ptr.
9227 * bfd-in2.h: Re-generate.
9228 * cache.c: Update copyright.
9229 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
9230 parameter.
9231 (close_one): Use real_ftell.
9232 * bfdio.c: Update copyright.
9233 (real_ftell, real_fseek): New functions.
9234 (bfd_tell): Use real_fseek and real_ftell, change return type to
9235 file_ptr.
9236 (bfd_seek): Use real_ftell and real_fseek, change type of
9237 file_position to a file_ptr.
9238 * libbfd-in.h: Update copyright.
9239 (real_ftell, real_fseek): Declare.
9240 * libbfd.h: Re-generate.
9241
1012372a
AC
9242 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
9243 fseeko and fseeko64. Determine bfd_file_ptr.
9244 * configure: Re-generate.
c1ea0c09 9245 * config.in: Re-generate.
c1b954e2 9246
3255318a
NC
92472004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
9248
9249 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
9250 * elf32-h8300.c: Likewise.
9251
0d5f9994
NC
92522004-02-09 Christian Vogel <vogelchr@vogel.cx>
9253 Nick Clifton <nickc@redhat.com>
9254
9255 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
9256 GOT entries with no associated GOT subsection.
9257
174fd7f9
RS
92582004-02-09 Richard Sandiford <rsandifo@redhat.com>
9259
9260 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
9261 * elf.c (swap_out_syms): Use it to decide whether local section
9262 symbols should be named.
9263 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
9264 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
9265 (elf_backend_name_local_section_symbols): Define.
9266 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
9267
03609792
L
92682004-01-30 H.J. Lu <hongjiu.lu@intel.com>
9269
9270 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
9271 (elfNN_ia64_relax_section): Optimize brl to br during the relax
9272 finalize pass.
9273
ea01195e
AO
92742004-01-30 Alexandre Oliva <aoliva@redhat.com>
9275
9276 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
9277 to bfd_link_hash_entry passed by reference to
9278 _bfd_generic_link_add_one_symbol.
9279
838e70c5
L
92802004-01-25 H.J. Lu <hongjiu.lu@intel.com>
9281
9282 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
9283 relocations against dynamic symbols.
9284
4f199be3
DJ
92852004-01-23 Daniel Jacobowitz <drow@mvista.com>
9286
9287 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
9288 change.
9289
28d39d1a
NC
92902004-01-21 Tom Rix <tcrix@worldnet.att.net>
9291
9292 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
9293 * bfd-in2.h, libbfd.h: Rebuilt.
9294
66bed356
DS
92952004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
9296
9297 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
9298 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
9299 flag has been cleared.
9300
7e89635a
KH
93012004-01-19 Kazu Hirata <kazu@cs.umass.edu>
9302
9303 * coff-h8300.c: Add and adjust comments about relaxation.
9304 * elf32-h8300.c: Likewise.
9305
e804e836
KH
93062004-01-16 Kazu Hirata <kazu@cs.umass.edu>
9307
9308 * coff-h8300.c: Fix comment typos.
9309 * elf32-h8300.c: Likewise.
9310
630a7b0a
KH
93112004-01-16 Kazu Hirata <kazu@cs.umass.edu>
9312
9313 * coff-h8300.c: Add comments about relaxation.
9314 * elf32-h8300.c: Likewise.
9315
f8b73030
MR
93162004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
9317
9318 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
9319 throughout.
9320 * aclocal.m4: Regenerate.
9321 * configure: Regenerate.
9322
32159579
ILT
93232004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
9324
9325 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
9326 mips_elf64_rtype_to_howto instead of using howto_table.
9327
c84cd8ee
DJ
93282004-01-13 Daniel Jacobowitz <drow@mvista.com>
9329
9330 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
9331 the .plt section.
9332 (elf32_arm_check_relocs): Don't increment the PLT refcount for
9333 relocs which would not use the PLT.
9334
680a3378
AM
93352004-01-13 Alan Modra <amodra@bigpond.net.au>
9336
9337 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
9338 (ppc64_elf_gc_sweep_hook): Likewise.
9339 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
9340
faca21e5
NC
93412004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
9342
9343 Adds linker relaxation support for bit manipulation insns like
680a3378 9344 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
faca21e5 9345 bst, btst, bxor.
680a3378 9346 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5 9347 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
680a3378 9348 * coff-h8300.c: Opcode for bit manipulation insn is checked in
faca21e5
NC
9349 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
9350
818a27ac
AM
93512004-01-12 Alan Modra <amodra@bigpond.net.au>
9352
9353 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
9354
96ef1419
KH
93552004-01-11 Kazu Hirata <kazu@cs.umass.edu>
9356
9357 * elf32-h8300.c: Fix formatting.
9358
babfd660
KH
93592004-01-11 Kazu Hirata <kazu@cs.umass.edu>
9360
9361 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
9362 dynamic object is present. Declare r_symndx and h in an inner
9363 scope.
9364 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
9365
7359ea65
DJ
93662004-01-09 Daniel Jacobowitz <drow@mvista.com>
9367
9368 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
9369 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
9370 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
9371 identically. Do not emit PC24 relocations for shared libraries.
9372 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
9373 identically. Don't adjust pc_count.
9374 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
9375 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
9376 adjust count for branch relocations.
9377 (allocate_dynrelocs): Correct typo in call to
9378 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
9379 PC24 or PLT32 relocs when linking.
9380
44e88952
NC
93812004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
9382
9383 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
9384 relocation howto with ARM_26 one for consistency.
9385 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
9386 that will be converted to ARM_26D ones, since we always want 'done'
9387 relocations to be reflected in section's data.
9388 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
9389 offset.
9390 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
9391 requested.
9392
1e7fef1d
NC
93932004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
9394
9395 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
9396 are not partial_inplace during a relocatable link.
9397
4f075348
KH
93982004-01-08 Kazu Hirata <kazu@cs.umass.edu>
9399
babfd660 9400 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4f075348
KH
9401 if no dynamic object is present. Declare r_symndx and h in an
9402 inner scope.
9403
de0d9f33
L
94042004-01-07 H.J. Lu <hongjiu.lu@intel.com>
9405
9406 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
9407 trampoline if it is known out of range.
9408
51532845
AO
94092004-01-06 Alexandre Oliva <aoliva@redhat.com>
9410
9411 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
9412 * elf32-frv.c (_frv_osec_readonly_p): New.
9413 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
9414 undefweak symbol.
9415 (_frv_count_got_plt_entries): Adjust expected count accordingly.
9416 (elf32_frv_relocate_section): Likewise. Error out if attempting
9417 to emit rofixups or dynamic relocs in read-only segments. Use
9418 _bfd_elf_section_offset to adjust r_offsets in rofixups and
9419 dynamic relocations.
9420 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
9421 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
9422 relocations or fixups involving merged sections correctly. Avoid
9423 crash when undefined symbol is referenced by R_FRV_32 or
9424 R_FRV_FUNCDESC_VALUE.
9425 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
9426 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
9427 input section holding local symbol to addend of R_FRV_32 or
9428 R_FRV_FUNCDESC_VALUE dynamic relocation.
9429 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
9430 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
9431 (elf32_frv_always_size_sections): Don't store pointer to
9432 __stacksize symbol in sec_info.
9433 (elf32_frv_modify_segment_map): Look it up here.
9434 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
9435 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
9436 of the lazy PLT entry, not only its offset, as the low word of a
9437 function descriptor.
9438 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
9439 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
9440 if a hash table entry already exists but is not a definition.
9441 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
9442 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
9443 (_frv_add_rofixup): Don't inline.
9444 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
9445 for undefweak symbols.
9446 (elf32_frv_relocate_section): Avoid crash while computing
9447 relocation when linking with shared library. Only emit rofixups
9448 and dynamic relocations for alloc&load sections. Mark binaries
9449 with inter-segment relocations for relocation as a unit.
9450 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
9451 (DEFAULT_STACK_SIZE): New.
9452 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
9453 emit rofixups or dynamic relocs when linking dynamic non-PIE
9454 executables.
9455 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
9456 shared libs too. Reserve the last entry for the GOT pointer.
9457 (elf32_frv_finish_dynamic_sections): Emit it.
9458 (elf32_frv_always_size_sections): New.
9459 (elf32_frv_modify_segment_map): New.
9460 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
9461 sections.
9462 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
9463 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
9464 (elf_backend_always_size_sections): New.
9465 (elf_backend_modify_segment_map): New.
9466 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
9467 * config.bfd: Added frv-*-*linux*.
9468 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
9469 ABS section, instead of crashing.
9470 (elf32_frv_relocate_section): Don't crash before warning about
9471 different segments in non-PIC relocation.
9472 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
9473 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
9474 relocs to undefweak symbols.
9475 (elf32_frv_relocate_section): Ditto for undefined symbols.
9476 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
9477 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
9478 gotfixup section was created.
9479 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
9480 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
9481 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
9482 complain_overflow_signed.
9483 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
9484 have not been allocated.
9485 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
9486 privfd only if dynamic sections were created.
9487 (elf32_frv_relocate_section): Compute gprel_segment, and use it
9488 for GPREL relocs. When linking relocatable FDPIC executables,
9489 emit warnings for relocations that would be illegal on PIE or
9490 shared libraries. Emit rofixup for R_FRV_32 only if input object
9491 is not FDPIC.
9492 (_frv_create_got_section): Define _gp symbol in the rofixup
9493 section.
9494 (elf32_frv_finish_dynamic_sections): If rofixups needed but
9495 dynamic sections missing, error out requesting -melf32frvfd.
9496 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
9497 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
9498 computation of addends from section and global or local symbol
9499 value. Change return type to bfd_boolean, and return a failure if
9500 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
9501 nonzero addend is required.
9502 (elf32_frv_relocate_section): Likewise. Print error for
9503 unsupported nonzero addends.
9504 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
9505 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
9506 force everything local.
9507 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
9508 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
9509 (frv_gotfixup_section): New.
9510 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
9511 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
9512 and relocsfdv.
9513 (_frv_add_rofixup): New.
9514 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
9515 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
9516 improve some ugly conditions.
9517 (elf32_frv_relocate_section): Likewise. Reject inter-segment
9518 relocations in fdpic.
9519 (_frv_create_got_section): Create .rofixup.got section.
9520 (struct _frv_dynamic_got_info): Added fixups.
9521 (_frv_count_got_plt_entries): Account in-GOT relocations into
9522 relocs32, relocsfd and relocsfdv. Account them into relocs or
9523 fixups, as appropriate.
9524 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
9525 sizing of gotrel.
9526 (elf32_frv_finish_dynamic_sections): Verify that the right number
9527 of relocations and fixups was generated.
9528 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
9529 relocsfdv.
9530 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
9531 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
9532 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
9533 descriptor of a (formerly-)global symbol is local.
9534 (struct frv_pic_relocs_info): Adjust comments.
9535 (_frv_emit_got_relocs_plt_entries): Adjust.
9536 (elf32_frv_relocate_section): Likewise.
9537 (_frv_count_got_plt_entries): Likewise.
9538 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
9539 symbol's value to addend in the common preamble. Decay dynamic
9540 symbols to section+offset if they bind or call locally, for GOT
9541 and FUNCDESC_VALUE, respectively.
9542 (elf32_frv_relocate_section): Likewise.
9543 (elf32_frv_check_relocs): Don't register as dynamic symbols of
9544 internal or hidden visibility.
9545 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
9546 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
9547 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
9548 (elf32_frv_relocate_section): Pass relocation addend in. Use
9549 original relocation addend to look up the got relocs/plt entries
9550 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
9551 processing relocations that reference .scommon symbols.
9552 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
9553 Introduce support for dynamic linking.
9554 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
9555 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
9556 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
9557 (frv_reloc_type_lookup): Return REL howtos for executables and
9558 dynamic libraries.
9559 (frv_info_to_howto_rel): New.
9560 (struct frv_elf_link_hash_table): New.
9561 (frv_hash_table, frv_got_section, frv_gotrel_section,
9562 frv_plt_section, frv_pltrel_section, frv_relocs_info,
9563 frv_got_initial_offset, frv_plt_initial_offset): New macros.
9564 (frv_elf_link_hash_table_create): New.
9565 (struct frv_pic_relocs_info): New.
9566 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
9567 (frv_pic_relocs_info_find): New.
9568 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
9569 New.
9570 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
9571 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
9572 (_frv_emit_got_relocs_plt_entries): New.
9573 (elf32_frv_relocate_section): Add support for dynamic linking.
9574 Handle new relocations.
9575 (_frv_create_got_section): New.
9576 (elf32_frv_create_dynamic_sections): New.
9577 (ELF_DYNAMIC_INTERPRETER): New.
9578 (struct _frv_dynamic_got_info): New.
9579 (_frv_count_got_plt_entries): New.
9580 (struct _frv_dynamic_got_plt_info): New.
9581 (_frv_compute_got_alloc_data): New.
9582 (_frv_get_got_entry, _frv_get_fd_entry): New.
9583 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
9584 (_frv_resolve_final_relocs_info): New.
9585 (elf32_frv_size_dynamic_sections): New.
9586 (elf32_frv_finish_dynamic_sections): New.
9587 (elf32_frv_adjust_dynamic_symbol): New.
9588 (elf32_frv_finish_dynamic_symbol): New.
9589 (elf32_frv_check_relocs): Handle new relocs. Explain how the
9590 whole thing works.
9591 (elf_info_to_howto_rel): Define.
9592 (bfd_elf32_bfd_link_hash_table_create): Define.
9593 (elf_backend_create_dynamic_sections): Define.
9594 (elf_backend_adjust_dynamic_symbol): Define.
9595 (elf_backend_size_dynamic_sections): Define.
9596 (elf_backend_finish_dynamic_symbol): Define.
9597 (elf_backend_finish_dynamic_sections): Define.
9598 (elf_backend_want_got_sym): Define.
9599 (elf_backend_got_header_size): Define.
9600 (elf_backend_want_got_plt): Define.
9601 (elf_backend_plt_readonly): Define.
9602 (elf_backend_want_plt_sym): Define.
9603 (elf_backend_plt_header_size): Define.
9604 (elf_backend_may_use_rel_p): Define.
9605 (elf_backend_may_use_rela_p): Define.
9606 (elf_backend_default_use_rela_p): Define.
9607 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
9608 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
9609 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
9610 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
9611 (frv_reloc_map): Map the corresponding BFD relocs to them.
9612 (frv_reloc_type_lookup): ... and back to BFD relocs.
9613 * reloc.c: New relocs.
9614 * bfd-in2.h, libbfd.h: Rebuilt.
9615 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
9616 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
9617 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
9618 R_FRV_FUNCDESC_GOTLO): New.
9619 (frv_reloc_map): Map the corresponding BFD relocs to them.
9620 (frv_reloc_type_lookup): ... and back to BFD relocs.
9621 * reloc.c: New relocs.
9622 * bfd-in2.h, libbfd.h: Rebuilt.
9623
4301eeb1
MR
96242004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
9625
9626 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9627 targets to support pages of up to 64kB.
9628 (elf32_bed): Redefine to get a separate backend data structure for
9629 traditional targets.
9630 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9631 targets to support pages of up to 64kB.
9632 (elf64_bed): Redefine to get a separate backend data structure for
9633 traditional targets.
9634 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
9635 targets to support pages of up to 64kB.
9636 (elf32_bed): Redefine to get a separate backend data structure for
9637 traditional targets.
9638
0647ed71
MK
96392004-01-04 Mark Kettenis <kettenis@gnu.org>
9640
9641 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
9642
61adc1a4
NC
96432004-01-02 Mark Kettenis <kettenis@gnu.org>
9644
9645 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
9646 (elf_i386_grok_psinfo): Likewise.
9647
b50c15dc
NC
96482004-01-02 Bernardo Innocenti <bernie@develer.com>
9649
9650 * config.bfd: Add m68k-uClinux target.
9651
2627de83
AM
96522004-01-01 Grant Edwards <grante@visi.com>
9653
9654 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
9655 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
9656 (elf32_h8_gc_sweep_hook): New function.
9657 (elf_backend_gc_mark_hook): Define.
9658 (elf_backend_gc_sweep_hook): Define.
9659 (elf_backend_can_gc_sections): Define.
9660
c9e214e5 9661For older changes see ChangeLog-0203
56882138
AM
9662\f
9663Local Variables:
9664mode: change-log
9665left-margin: 8
9666fill-column: 74
9667version-control: never
9668End:
This page took 0.828555 seconds and 4 git commands to generate.