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